(57)【特許請求の範囲】
【請求項１】
１以上のコンピューティングデバイスが、第１のユーザに関連するイメージファイルにアクセスする工程と、
１以上のコンピューティングデバイスが、前記イメージファイルに対応するイメージ内の顔を検出する顔検出工程と、
１以上のコンピューティングデバイスが、前記第１のユーザおよび複数の第２のユーザに関連付けられているソーシャルネットワーキングシステムにアクセスする工程であって、
前記ソーシャルネットワーキングシステムは、複数のノードと前記ノード同士を接続するエッジとを備えるグラフを備え、
前記ノードのうちの少なくとも１つは、前記第１のユーザに対応しており、
前記第２のユーザの各々について、前記ノードのうちの少なくとも１つは、前記第２のユーザに対応している、工程と、
１以上のコンピューティングデバイスが、前記第２のユーザの中から前記顔とのマッチングが行われるべき１人または複数の候補者を決定する工程であって、前記決定は、少なくとも部分的に、
前記ソーシャルネットワーキングシステムによって示された、前記イメージに関連付けられている時間および場所に対する前記第２のユーザの時間的および空間的な近接性と、時間的および空間的な近接性の閾値との比較と、
前記ソーシャルネットワーキングシステムによって示された、前記第１のユーザと前記第２のユーザとの間の分離度と、分離度の閾値との比較とに基づく、一致決定工程と、を含む方法。
【請求項２】
第１のユーザが前記顔とのマッチングを行うための前記候補者を前記第１のユーザに提示する提示工程をさらに備える、請求項１に記載の方法。
【請求項３】
前記一致決定工程はさらに、前記顔への顔認識アルゴリズムの適用にさらに基づく、請求項１に記載の方法。
【請求項４】
前記提示工程は、
前記１人または複数候補者に関連する情報について１つまたは複数のデータストアへアクセスする工程と、
前記１人または複数の候補者に関連する情報を含む１つまたは複数のフレームを生成する工程と、
少なくとも部分的に前記イメージに重なる前記１つまたは複数のフレームを表示する工程と、を含む、請求項２に記載の方法。
【請求項５】
前記１つまたは複数のフレームは１つまたは複数の選択可能アイコンを含む、請求項４に記載の方法。
【請求項６】
前記イメージファイルはデジタル形式の写真および関連するメタデータ、または、デジタル形式の動画および関連するメタデータを含む、請求項１に記載の方法。
【請求項７】
前記一致決定工程は、
前記ソーシャルネットワーキングシステムによって示された、前記第２のユーザの前記イメージに関連付けられている時間および場所への時間的および空間的な近接性と、時間的および空間的な近接性の閾値との比較と、
前記ソーシャルネットワーキングシステムによって示された、前記第１のユーザと前記第２のユーザとの間の分離度と、分離度の閾値との比較と、
に基づいて、前記第２のユーザのサブセットを識別する工程と、
前記顔認識アルゴリズムによって、前記イメージ内の前記顔を前記サブセットの中の前記第２のユーザの顔と比較する工程とを含む、請求項３に記載の方法。
【請求項８】
１つまたは複数のプロセッサと、
前記プロセッサに結合されており、前記プロセッサによって実行可能な命令を備えるメモリとを備え、
前記命令は、実行されるとき前記プロセッサに、
第１のユーザに関連するイメージファイルにアクセスする工程と、
前記イメージファイルに対応するイメージ内の顔を決定する工程と、
前記第１のユーザおよび複数の第２のユーザに関連付けられているソーシャルネットワーキングシステムにアクセスする工程であって、
前記ソーシャルネットワーキングシステムは、複数のノードと前記ノード同士を接続するエッジとを備えるグラフを備え、
前記ノードのうちの少なくとも１つは、前記第１のユーザに対応しており、
前記第２のユーザの各々について、前記ノードのうちの少なくとも１つは、前記第２のユーザに対応している、工程と、
前記第２のユーザの中から前記顔とのマッチングが行われるべき１人または複数の候補者を決定する工程であって、前記決定は、少なくとも部分的に、
前記ソーシャルネットワーキングシステムによって示された、前記イメージに関連付けられている時間および場所に対する前記第２のユーザの時間的および空間的な近接性と、時間的および空間的な近接性の閾値との比較と、
前記ソーシャルネットワーキングシステムによって示された、前記第１のユーザと前記第２のユーザとの間の分離度と、分離度の閾値との比較とに基づく、一致決定工程と、を行わせるように動作する、システム。
【請求項９】
前記命令は、実行されるとき前記プロセッサに、
前記第１のユーザが前記顔とのマッチングを行うための前記候補者を前記第１のユーザに提示する提示工程をさらに行わせるように動作する、請求項８に記載のシステム。
【請求項１０】
前記一致決定工程はさらに、前記顔への顔認識アルゴリズムの適用に基づく、請求項８に記載のシステム。
【請求項１１】
前記提示工程は
前記１人または複数の候補者に関連する情報の１つまたは複数のデータストアへアクセスする工程と、
前記１人または複数の候補者に関連する情報を含む１つまたは複数のフレームを生成する工程と、
少なくとも部分的に前記イメージに重なる前記１つまたは複数のフレームを表示する工程と、を含む、請求項９に記載のシステム。
【請求項１２】
前記１つまたは複数のフレームは１つまたは複数の選択可能アイコンを含む、請求項１１に記載のシステム。
【請求項１３】
前記イメージファイルはデジタル形式の写真および関連するメタデータ、または、デジタル形式の動画および関連するメタデータを含む、請求項８に記載のシステム。
【請求項１４】
前記一致決定工程は、
前記ソーシャルネットワーキングシステムによって示された、前記第２のユーザの前記イメージに関連付けられている時間および場所への時間的および空間的な近接性と、時間的および空間的な近接性の閾値との比較と、
前記ソーシャルネットワーキングシステムによって示された、前記第１のユーザと前記第２のユーザとの間の分離度と、分離度の閾値との比較と、
に基づいて、前記第２のユーザのサブセットを識別する工程と、
前記顔認識アルゴリズムによって、前記イメージ内の前記顔を前記サブセットの中の前記第２のユーザの顔と比較する工程とを含む、請求項１０に記載のシステム。
【請求項１５】
ソフトウェアを具現化した１つまたは複数の非一時的コンピュータ可読記憶媒体であって、前記ソフトウェアは、実行されるとき、
第１のユーザに関連するイメージファイルにアクセスする工程と、
前記イメージファイルに対応するイメージ内の顔を検出する工程と、
前記第１のユーザおよび複数の第２のユーザに関連付けられているソーシャルネットワーキングシステムにアクセスする工程であって、
前記ソーシャルネットワーキングシステムは、複数のノードと前記ノード同士を接続するエッジとを備えるグラフを備え、
前記ノードのうちの少なくとも１つは、前記第１のユーザに対応しており、
前記第２のユーザの各々について、前記ノードのうちの少なくとも１つは、前記第２のユーザに対応している、工程と、
前記第２のユーザの中から前記顔とのマッチングが行われるべき１人または複数の候補者を決定する工程であって、前記決定は、少なくとも部分的に、
前記ソーシャルネットワーキングシステムによって示された、前記イメージに関連付けられている時間および場所に対する前記第２のユーザの時間的および空間的な近接性と、時間的および空間的な近接性の閾値との比較と、
前記ソーシャルネットワーキングシステムによって示された、前記第１のユーザと前記第２のユーザとの間の分離度と、分離度の閾値との比較とに基づく、一致決定工程と、が行われるように構成される、媒体。
【請求項１６】
前記ソフトウェアが実行されるとき、第１のユーザが前記顔とのマッチングを行うための前記候補者を前記第１のユーザに提示する提示工程がさらに行われるように構成される、請求項１５に記載の媒体。
【請求項１７】
前記一致決定工程は、
前記顔への顔認識アルゴリズムの適用にさらに基づく、請求項１５に記載の媒体。
【請求項１８】
前記提示工程はさらに、
前記１人または複数の候補者に関連する情報の１つまたは複数のデータストアへアクセスする工程と、
前記１人または複数の候補者に関連する情報を含む１つまたは複数のフレームを生成する工程と、
少なくとも部分的に前記イメージに重なる前記１つまたは複数のフレームを表示する工程と、を含む、請求項１６に記載の媒体。
【請求項１９】
前記１つまたは複数のフレームは、１つまたは複数の選択可能アイコンを含む、請求項１８に記載の媒体。
【請求項２０】
前記一致決定工程は、
前記ソーシャルネットワーキングシステムによって示された、前記第２のユーザの前記イメージに関連付けられている時間および場所への時間的および空間的な近接性と、時間的および空間的な近接性の閾値との比較と、
前記ソーシャルネットワーキングシステムによって示された、前記第１のユーザと前記第２のユーザとの間の分離度と、分離度の閾値との比較と、
に基づいて、前記第２のユーザのサブセットを識別する工程と、
前記顔認識アルゴリズムによって、前記イメージ内の前記顔を前記サブセットの中の前記第２のユーザの顔と比較する工程とを含む、請求項１７に記載の媒体。
【請求項２１】
前記イメージファイルはデジタル形式の写真および関連するメタデータ、または、デジタル形式の動画および関連するメタデータを含む、請求項１５に記載の媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は一般的には、顔認識とソーシャルネットワーク情報の解析とに基づく人物識別に関する。
【背景技術】
【０００２】
ソーシャルネットワーキングウェブサイトなどのソーシャルネットワーキングシステムは、そのユーザがシステムと相互作用（対話）し、システムを通じてユーザ同士が互いに相互作用できるようにする。ソーシャルネットワーキングシステムは、ユーザに関連して記録（ユーザプロファイルとしばしば呼ばれる）を生成し格納し得る。ユーザプロファイルは、ユーザの人口学的情報、通信チャネル情報、個人的関心を含み得る。ソーシャルネットワーキングシステムはまた、ソーシャルネットワーキングシステム内のユーザ間のソーシャル相互作用を容易にするサービス（例えばウォールポスト、写真共有、またはインスタントメッセージング）を提供するだけでなく、ユーザのソーシャルネットワーキングシステム内の他のユーザとユーザとの関係の記録（例えばソーシャルグラフ）を生成し格納し得る。例えば、ソーシャルネットワーキングウェブサイトのユーザは、ソーシャルネットワーキングウェブサイトに格納されたアドレス帳にアクセスし、アドレス帳内のコンタクトを調べ、電子メールを通じて同コンタクトに接続することができる。
【図面の簡単な説明】
【０００３】
【図１】例示的なソーシャルネットワーキングシステムを示す図。
【図２】空間的および時間的近接性に基づく顔認識に関わる人物識別処理の例を示す図。
【図３】携帯電話によって表示された一組の個人を含むイメージの例を示す。
【図４】イメージファイルにおける一致したユーザを提示するユーザインターフェースの例を示す図。
【図４Ａ】イメージファイルにおける一致した２つ以上の識別された顔を提示するユーザインターフェースの例を示す図。
【図５】例示的なネットワーク環境を示す図。
【図６】例示的なコンピュータシステムを示す図。
【図７】例示的な携帯機器プラットフォームを示す図。
【発明を実施するための形態】
【０００４】
特定の実施形態は、１人または複数の個人の空間的および時間的近接性に基づき、第１のユーザに関連する静止イメージまたはビデオシーケンスのイメージファイル内の１つまたは複数の顔に一致する１人または複数の個人を決定するソーシャルネットワーキングシステムに関する。本開示のこれらおよび他の特徴、態様、利点については、以下の詳細な説明においておよび以下の図と併せてさらに詳細に説明する。
【０００５】
次に、本発明について、添付図面に示すような本発明のいくつかの実施形態を参照して詳細に説明する。以下の明細書では、本開示を十分に理解するために多くの具体的な詳細が説明される。しかし、本開示はこれらの特定の詳細のいくつかまたはすべてが無くても実行され得るということが当業者には明らかである。他の場合では、本開示を不必要に不明確にすることを避けるため、周知の処理工程および／または構造について詳細には説明されない。加えて、本開示は特定の実施形態と併せて説明されるが、この説明は、記載された実施形態に本開示を制限するように意図するものではないということを理解すべきである。逆に、本明細書は、添付の特許請求範囲により定義されるような本開示の精神と範囲に含まれ得る代替物、修正物、等価物をカバーするように意図されている。
【０００６】
ソーシャルネットワーキングウェブサイトなどのソーシャルネットワーキングシステムはそのユーザがシステムと相互作用し、システムを通じてユーザ同士が互いに相互作用できるようにする。通常、ソーシャルネットワーキングシステムの登録利用者になるために、人間または人間以外のいずれかのエンティティは、ソーシャルネットワーキングシステムにアカウントの登録をする。その後、登録利用者は、例えば正しいログインＩＤまたはユーザ名とパスワードを与えることによりアカウントを通じてソーシャルネットワーキングシステムにログインし得る。本明細書で使用されるように、「ユーザ」は、このようなソーシャルネットワーク環境と相互作用するまたは環境上で通信する個人（人であるユーザ）、エンティティ（例えば企業、ビジネスまたは第三者アプリケーション）、またはグループ（例えば個人またはエンティティの）であり得る。
【０００７】
ユーザがソーシャルネットワーキングシステムにアカウントの登録をすると、ソーシャルネットワーキングシステムは、ユーザに関連する記録（「ユーザプロファイル」としばしば呼ばれる）を生成し格納し得る。ユーザプロファイルは、ユーザにより提供される情報と、ユーザのアクティビティまたはアクションに関係する、ソーシャルネットワーキングシステムを含む様々なシステムにより収集される情報と、を含み得る。例えば、ユーザは、該ユーザの名前、プロファイル写真、コンタクト情報、生年月日、性別、配偶関係、家族状況、雇用情報、学歴、嗜好、関心、および該ユーザのユーザプロファイルに含まれる他の人口統計的な情報を提供し得る。ユーザは、友達であると考えるソーシャルネットワーキングシステムの他のユーザを特定し得る。ユーザの友達または一次コンタクトのリストがユーザのプロファイルに含まれ得る。ソーシャルネットワーキングシステム内の接続は両方向または単に一方向であり得る。例えば、ボブとジョーが両方ともユーザであり互いに接続すれば、ボブとジョーはそれぞれ他方の接続先である。一方、ボブがサムの投稿したコンテンツ項目を閲覧するためにサムに接続したいが、サムはボブに接続したくない場合、サムはボブの接続先であるがボブはサムの接続先ではないという一方向接続が形成され得る。ソーシャルネットワーキングシステムのいくつかの実施形態は、接続が１つまたは複数のレベルの接続（例えば友達の友達）を通じて間接的となるようにすることができる。接続は、ユーザにより明示的に追加され得る（例えば、友達となる特定の他のユーザをユーザが選択する）、またはユーザの共通特徴（例えば同じ教育機関の卒業生であるユーザ）に基づきソーシャルネットワーキングシステムにより自動的に生成され得る。ユーザは、該ユーザが頻繁に訪れるウェブサイトまたはウェブページを特定してもよく、またはそのウェブサイト等にブックマークを付けてもよく、これらのウェブサイトまたはウェブページはユーザのプロファイルに含まれてもよい。
【０００８】
ユーザは、アカウントの登録手続きをする時またはそのしばらく後にユーザの様々な態様に関係する情報（コンタクト情報と関心など）を提供し得る。ユーザはまた、いつでも自身のプロファイル情報を更新し得る。例えば、ユーザが引っ越したり電話番号を変更したりするとき、該ユーザはコンタクト情報を更新し得る。加えて、ユーザの関心は時間の経過と共に変化してもよく、ユーザは時々、該ユーザのプロファイル内の該ユーザの関心を更新し得る。システム上の特定の情報にアクセスする頻度などのソーシャルネットワーキングシステム上のユーザのアクティビティもまた、ユーザのプロファイルに含まれ得る情報を提供し得る。また、このような情報はユーザの直近のアクティビティを反映するように時々更新され得る。さらに、他のユーザまたはユーザの、いわゆる友達またはコンタクトも、ユーザのプロファイルに影響を与えるか、またはその更新を引き起こすアクティビティを行い得る。例えば、コンタクトはユーザを友達として追加（またはユーザを友達から除く）し得る。コンタクトはまた、ユーザのプロファイルページ（通常、ウォールポストとして知られる）にメッセージを書き込み得る。ユーザはまた、ユーザのプロファイルページに投稿されるステータスメッセージを入力し得る。
【０００９】
ソーシャルネットワーキングシステムは、ソーシャルグラフ情報（通常、個人のグループ間の関係をモデル化することができる）を維持してもよく、単なる知り合いから親密な家族的結び付きまでの範囲の関係を含んでもよい。ソーシャルネットワークはグラフ構造を使用して表され得る。グラフの各ノードはソーシャルネットワークのメンバーに対応する。２つのノードを接続するエッジは、二人のユーザ間の関係を表す。加えて、任意の２つのノード間の分離度が、１つのノードから他のノードへグラフをたどるのに必要なホップの最小数として定義される。二人のユーザ間の分離度は、グラフ内のノードにより表される２人のユーザ間の関連性の尺度と考えることができる。
【００１０】
ソーシャルネットワーキングシステムは、写真共有、オンラインカレンダ、イベントなどの様々なアプリケーションをサポートし得る。例えば、ソーシャルネットワーキングシステムはまた、媒体共有能力を含み得る。例えば、ソーシャルネットワーキングシステムは、ユーザのウォールポストまたはアルバム（それらの両方はソーシャルネットワーキングシステムの他のユーザにアクセス可能であり得る）内などのユーザのプロファイルにユーザが写真および他のマルチメディアファイルを投稿できるようにし得る。ソーシャルネットワーキングシステムはまた、ユーザがイベントを構成できるようにし得る。例えば、第１のユーザは、イベントの日時、イベントの場所、イベントに招待される他のユーザの位置を含む属性によりイベントを構成し得る。招待されたユーザは、イベントへの招待状を受け取り、応答し得る（招待を受諾することまたは断ることなどにより）。さらに、ソーシャルネットワーキングシステムはユーザが個人的カレンダーを維持できるようにし得る。イベントと同様に、カレンダーエントリは、時間、日付、位置、他のユーザの識別子を含み得る。
【００１１】
ソーシャルネットワーキングシステムはまた、プライバシーモデルをサポートし得る。ユーザが自身の情報を他のユーザまたは第三者アプリケーションと共有を望む場合と望まない場合とがあり、ユーザが自身の情報を特定ユーザまたは第三者アプリケーションとのみ共有を望む場合もある。ユーザは、自身の情報が、自身のユーザプロファイルに関連付けられるプライバシー設定を通じて他のユーザまたは第三者アプリケーションと共有されるか否かを管理し得る。例えば、ユーザは、ユーザに関連付けられたユーザデータごとにプライバシー設定を選択、および／またはユーザプロファイル情報のカテゴリまたはタイプにグローバルに適用する設定を選択し得る。プライバシー設定は、ユーザデータにアクセスし得る一組のエンティティ（例えば、他のユーザ、ユーザの接続、友達の友達、または第三者アプリケーション）を定義または特定する。プライバシー設定は、様々なレベルの粒度で特定されることができ、たとえば、ソーシャルネットワーク内の特定のエンティティ（例えば他のユーザ）、所定グループのユーザの接続、特定タイプの接続、ユーザの接続のすべて、ユーザの接続のすべての一次接続、ソーシャルネットワーク全体、または（例えば、投稿されたコンテンツ項目をインターネット上でインデックス化可能かつ検索可能にするために）全インターネットを特定することによる。ユーザは投稿されるすべてのユーザデータのデフォルトプライバシー設定を選択し得る。加えて、ユーザは特に、あるエンティティについて、ユーザデータまたは特定タイプのユーザデータを閲覧することから除外することができる。
【００１２】
ソーシャルネットワーキングシステムは、地理的位置または場所に関係する情報のデータベースを維持し得る。場所は、レストラン、バー、鉄道駅、空港などの様々な物理的位置に対応し得る。いくつかの場所は、それ自体が空港内のレストランまたはゲート位置などの場所を含む、より大きな領域に対応し得る。一実施形態では、各場所は、あらゆる目的のためにその全体が本明細書に参照により援用される米国特許出願第１２／７６３，１７１号明細書に記載されるようにソーシャルネットワーキングシステムにより維持されるソーシャルグラフまたは他のデータ構造内のハブノードとして維持されることができる。ソーシャルネットワーキングシステムは、ラップトップ、デスクトップ、または携帯機器
などの有線または無線局によりホストされるクライアントアプリケーション（例えばブラウザ）を使用することによりユーザが各場所に関する情報にアクセスできるようにし得る。例えば、ソーシャルネットワーキングシステムは、場所についての情報を要求するユーザへウェブページ（または他の構造化文書）を提供し得る。
【００１３】
ユーザプロファイルと場所情報に加えて、ソーシャルネットワーキングシステムはユーザについての他の情報を追跡または維持し得る。例えば、ソーシャルネットワーキングシステムは、ユーザの位置を記録する１つまたは複数の位置ベースサービスを含むジオソーシャルネットワーキングシステム機能をサポートし得る。例えば、ユーザは、ユーザの携帯機器（または、ブラウザクライアントを使用するウェブまたはネットワークベースアプリケーション）によりホストされる専用クライアントアプリケーションを使用してジオソーシャルネットワーキングシステムにアクセスし得る。クライアントアプリケーションは、携帯機器によりサポートされる全地球測位システム（ＧＰＳ）または他のジオロケーション（ｇｅｏ−ｌｏｃａｔｉｏｎ）機能に自動的にアクセスし、ユーザの現在位置をジオソーシャルネットワーキングシステムに報告し得る。加えて、クライアントアプリケーションは、ユーザが様々な位置においてチェックインしてこの位置を他のユーザへ伝達できるようにするジオソーシャルネットワーキング機能をサポートし得る。所与の場所へのチェックインは、ユーザが所与の場所に物理的に位置し、携帯機器を使用し、ジオソーシャルネットワーキングシステムにアクセスして同場所におけるユーザの存在を登録すると発生し得る。ユーザは、ユーザの現在位置近傍の既存の場所のリストから所与の場所を選択し、または新しい場所を生成し得る。ユーザはまた、所与の場所にチェックインする際にテキスト文字列でコメントを与え得る。ユーザはまた、チェックインに関連して１または複数の他のユーザ（ユーザの友達など）を特定し、そのユーザらもチェックインに関連付けし得る。あらゆる目的のために本明細書に参照により援用される米国特許出願第１２／５７４，６１４号明細書は、第１のユーザが所与の場所において他のユーザにチェックインできるようにするシステムについて記載している。コメントとユーザがチェックインした時間に対応するタイムスタンプとを含むエントリが他のユーザに表示され得る。例えば、ユーザのチェックインアクティビティの記録はデータベース内に格納され得る。ソーシャルネットワーキングシステムは、所与の場所におけるユーザのチェックインアクティビティに関連付けられた１つまたは複数の記録を選択し、所与の場所に対応するウェブページ（または他の構造化文書）内にこのようなチェックインアクティビティを含み得る。例えば、ソーシャルネットワーキングシステムは、所与の場所に対応するページを要求するユーザの友達または他のソーシャルコンタクトに関連付けられたチェックインアクティビティを選択し得る。あらゆる目的のためにその全体が参照により援用される米国特許出願第１２／８５８，７１８号明細書は、本発明の様々な実施形態に関連して使用することができる例示的ジオソーシャルネットワーキングシステムについて記載している。チェックインアクティビティはまた、ユーザプロファイルページ上に、およびソーシャルネットワーキングシステムのユーザに提供されるニュースフィード内に表示され得る。
【００１４】
図１に、例示的なソーシャルネットワーキングシステムを示す。特定の実施形態では、ソーシャルネットワーキングシステムはユーザプロファイルデータとソーシャルグラフィック情報とをユーザプロファイルデータベース１０１内に格納し得る。特定の実施形態では、ソーシャルネットワーキングシステムはユーザイベントデータとカレンダデータをイベントデータベース１０２内に格納し得る。特定の実施形態では、ソーシャルネットワーキングシステムはユーザプライバシーポリシーデータをプライバシーポリシーデータベース１０３内に格納し得る。特定の実施形態では、ソーシャルネットワーキングシステムは地理的位置データを位置データベース１０４内に格納し得る。特定の実施形態では、ソーシャルネットワーキングシステムはメディアデータ（例えば写真、またはビデオクリップ）をメディアデータベース１０５内に格納し得る。特定の実施形態では、データベース１０１、１０２、１０３、１０４、１０５はソーシャルネットワーキングシステムのフロン
トエンド１２０に動作可能に接続され得る。特定の実施形態では、フロントエンド１２０はネットワーククラウド１２１を通じてクライアントデバイス１２２と相互作用し得る。クライアントデバイス１２２は通常、コンピュータネットワーク上で（例えば遠隔的に）通信するための機能を含むコンピュータまたはコンピューティングデバイスである。クライアントデバイス１２２は、いくつかある好適なコンピューティングデバイスの中で特に、デスクトップコンピュータ、ラップトップコンピュータ、携帯情報端末（ＰＤＡ）、車内または車外ナビゲーションシステム、スマートフォンまたは他のセルラまたは携帯電話、または携帯ゲーム機であり得る。クライアントデバイス１２２は、コンピュータネットワーク上のコンテンツにアクセスし閲覧するために、ウェブブラウザ（例えばマイクロソフトウィンドウズ（登録商標）インターネットエクスプローラ、モジラファイアフォックス、モバイル用モジラファイアフォックス、アップルサファリ、グーグルクローム、オペラ（Ｏｐｅｒａ）、オペラミニ（Ｏｐｅｒａ  Ｍｉｎｉ）、ボルト（ＢＯＬＴ）など）などの１つまたは複数のクライアントアプリケーションを実行し得る。フロントエンド１２０は、ユーザがソーシャルネットワーキングシステムにアクセスできるようにするためにウェブまたはＨＴＴＰサーバ機能および他の機能を含み得る。ネットワーククラウド１２１は通常、クライアントデバイス１２２がソーシャルネットワーキングシステムにアクセスし得るネットワークまたはネットワークの集合（インターネットまたは企業イントラネットまたはその両方の組合せなど）を表す。
【００１５】
特定の実施形態では、位置データベース１０４は、チェックインに関連付けられたユーザの現実世界の地理的位置を識別するジオロケーションデータを格納し得る。例えば、インターネットに接続されたコンピュータの地理的位置はコンピュータのＩＰアドレスにより特定されることができる。例えば、Ｗｉ−ＦｉおよびＧＰＳ機能を備えたセルラ電話の地理的位置は、セルタワーによる三角測量、Ｗｉ−Ｆｉ測位、および／またはＧＰＳ測位により識別することができる。
【００１６】
特定の実施形態では、位置データベース１０４は、それぞれが名称、地理的位置、メタ情報を含む場所の情報ベースを格納し得る。例えば、場所は、地域ビジネス、関心の地点（例えばカリフォルニア州サンフランシスコ市内のユニオンスクエア、大学、町、または国立公園であり得る。例えば、場所（例えば地域のコーヒーショップ）の地理的位置は、住所、一組の地理的座標（緯度と経度）、または他の場所（例えば「鉄道駅の隣のコーヒーショップ」）への参照であり得る。例えば、大きな面積を有する場所（例えばヨセミテ国立公園の地理的位置は、その場所の境界を近似する形（例えば円、または多角形）および／またはその形の重心（すなわち幾何学的中心）であり得る。例えば、場所のメタ情報は、その場所、レビュー、採点、コメント、チェックインアクティビティデータなどを当初生成したユーザを識別する情報を含むことができる。場所はシステムの管理者により生成されてもよく、および／またはシステムのユーザにより生成されてもよい。例えば、ユーザは、クライアントアプリケーションにアクセスすることによって、場所の名前を定義し、および地理的位置を提供して新しい場所を登録し、新たに生成された場所が位置データベース１０４に登録されるようにし得る。この作成したユーザまたは他のユーザは、このページに向けられたウェブページにアクセスし、その場所のレビュー、コメント、採点などの追加情報を加え得る。特定の実施形態では、位置データベース１０４はユーザの位置データを格納し得る。例えば、位置データベース１０４はユーザのチェックインアクティビティを格納し得る。例えば、ユーザは場所（例えば新しいレストランまたはコーヒーショップ）を生成し、ソーシャルネットワーキングシステムに、生成された場所を位置データベース１０４内に格納させることができる。例えば、ユーザは、場所のコメント、レビュー、または採点を生成し、ソーシャルネットワーキングシステムによって、位置データベース１０４内にその場所のユーザのコメント、レビュー、採点が格納される。例えば、専用クライアントアプリケーションは、ユーザのＧＰＳ付き携帯機器のＧＰＳ座標を位置データベース１０４に報告し格納することができる。
【００１７】
特定の実施形態では、ソーシャルネットワーキングシステムのユーザは１つまたは複数のメディアファイルをメディアデータベース１０５へアップロードし得る。例えば、ユーザは、写真または一組の写真（しばしばアルバムと呼ばれる）またはビデオクリップをクライアントデバイス１２２（例えばコンピュータ、またはカメラ付き携帯電話）からメディアデータベース１０５へアップロードすることができる。特定の実施形態では、１つまたは複数のメディアファイルは、各メディアファイルに関連するメタデータ（しばしば「タグ」と呼ばれる）を含み得る。例えば、デジタルカメラにより撮影された写真は、ファイルサイズ、解像度、タイムスタンプ、カメラメーカの名称、および／または位置（例えばＧＰＳ）座標に関連するメタデータを含み得る。ユーザは、アップロード処理中に、写真に追加メタデータ値を加えるまたは写真をタグ付けすることができる。メディアファイルのタグのいくつかの例は、著作者、タイトル、コメント、イベント名、時間、位置、メディアファイル内に現れる人々の名前、またはユーザコメントである。特定の実施形態では、ユーザは、クライアントアプリケーション（例えば写真エディタまたはビデオエディタ）を使用することにより、またはユーザの１つまたは複数のメディアファイルをクライアントデバイス１２２からソーシャルネットワーキングシステムへアップロードするメディアアップロードツールのグラフィックユーザインターフェースにおいて１つまたは複数のタグを入力することにより、メディアファイルをタグ付けし得る。ユーザはまた、ソーシャルネットワーキングシステムのウェブサイトにおいてアップロードした後にしばらくたってメディアファイルをタグ付けし得る。特定の実施形態では、ソーシャルネットワーキングシステムはまた、メディアファイルからメタデータを抽出し、同メタデータをメディアデータベース１０５内に格納し得る。ユーザまたは機械装置は、顔イメージに基づきメディアファイル内の１人または複数の個人を識別しタグ付けするために顔認識コンピュータソフトウェアを使用することができる。本明細書に記載の特定の実施形態は、空間的および時間的近接性に基づく顔認識を向上するとともに、メディアファイル内の１人または複数の個人を識別する際のユーザ経験を向上する方法について記載する。他の特定の実施形態は、個人の識別と、ユーザと個人との潜在的社会的関係の識別とをサポートするために使用することができるリアルタイム顔認識および人物識別システムを提供する。
【００１８】
図２に、空間的および時間的近接性に基づく顔認識に関わる例示的な人物識別処理を示す。図２は、ソーシャルネットワーキングシステム内の１つまたは複数のコンピューティングデバイスにより、および／または携帯電話またはラップトップなどのユーザのデバイスによりホストされる人物識別処理によって実装され得る。例えば、本明細書に記載のすべてのデータセットは、処理のためにソーシャルネットワーキングシステムのサーバへアップロードされ、その結果はクライアントデバイスに送信されることができる。他の実施形態では、クライアントデバイスはデータを受信し、本明細書に記載の動作を実行し得る。他の実施形態では、処理はクライアントとサーバ間において分散され得る。１つの特定の実施形態では、第１のユーザが、イメージをキャプチャして、このイメージをソーシャルネットワーキングシステムによりホストされる遠隔の人物識別処理へ送信できるようにするクライアントアプリケーションにアクセスすると、本明細書に記載の処理が開始され得る。人物識別処理は、要求を処理し、第１のユーザがイメージにおいてほぼリアルタイムでキャプチャされる１人または複数の個人を場合によっては識別（または識別子を確認）できるようにその結果を戻し得る。特定の実施形態では、人物識別処理は、第１のユーザに関連するイメージファイルにアクセスし得る（２０１）。特定の実施形態では、イメージファイルは関連するメタデータを有する写真であり得る。特定の実施形態では、イメージファイルは関連するメタデータを有するビデオクリップであり得る。例えば、イメージファイルは、第１のユーザのクライアントデバイス１２２により撮影された写真またはビデオクリップであることができる。例えば、イメージファイルは、第１のユーザのカメラに装備された携帯機器のファインダまたはファインダユーザインターフェースに表示された静止画または動画であることができる。例えば、イメージファイルは、第１のユーザ
のクライアントデバイス１２２、セットトップボックス、またはデジタルビデオレコーダにより記録されたテレビ番組のビデオクリップであり得る。
【００１９】
特定の実施形態では、人物識別処理は、イメージファイル内の１つまたは複数の顔を識別し得る（２０２）。特定の実施形態では、人物識別処理は、一致得点（マッチングスコア）を返しこの得点と閾値とを比較する顔認識のアプリケーションまたは一致アルゴリズムのアプリケーションに基づき顔と人物との一致を決定し得る。例えば、顔認識コンピュータソフトウェアは潜在的に一致する顔と識別された顔との間の相関係数（０．０（完全に無相関）〜１．０（完全一致）の範囲）を計算し、相関係数が０．８より大きければ識別された顔に一致したと決定することができる。好適な認識アルゴリズムとしては、主成分分析（Ｐｒｉｎｃｉｐａｌ  Ｃｏｍｐｏｎｅｎｔ  Ａｎａｌｙｓｉｓ）、線形判別分析（Ｌｉｎｅａｒ  Ｄｉｓｃｒｉｍｉｎａｔｅ  Ａｎａｌｙｓｉｓ）、エラスティックバンチグラフマッチング（Ｅｌａｓｔｉｃ  Ｂｕｎｃｈ  Ｇｒａｐｈ  Ｍａｔｃｈｉｎｇ）、隠れマルコフモデル（Ｈｉｄｄｅｎ  Ｍａｒｋｏｖ  ｍｏｄｅｌ）、ニューロン動機ダイナミックリンクマッチング（Ｎｅｕｒｏｎａｌ  Ｍｏｔｉｖａｔｅｄ  Ｄｙｎａｍｉｃ  Ｌｉｎｋ  Ｍａｔｃｈｉｎｇ）が挙げられる。一実施形態では、人物識別処理は、イメージファイル内の識別された顔と、ソーシャルネットワーキングシステムによって格納された複数のイメージにおいて識別された顔とを比較する。
【００２０】
特定の実施形態では、イメージファイル内の識別された顔毎に、人物識別処理は潜在的一致、すなわち候補者のリストを生成し得る。人物識別処理は、候補者のリストのサイズを低減することによって顔を一致させる確度および／または速度を向上することができる。例えば、人物識別処理は、第１のユーザがイメージファイルを生成した時と同じ時間に、同一の位置に存在する候補者だけを含むことにより候補者のリストのサイズを低減することができる。例えば、候補者のリストと第１のユーザは同一のイベント（例えば「クリスマスパーティ２００９」）に招待された人であることができる。いくつかの実施形態では、候補者のリストはまた、イメージをアップロードするユーザ間の分離度に基づき制限され得る。例えば、人物識別処理は、候補者のリストを、ユーザに対し分離度２以下だけ離されたユーザに制限することができる。特定の実施形態では、識別された顔毎に、人物識別処理は、イメージファイルに対する空間的および時間的近接性に基づき１つまたは複数の一致を決定し得る（２０３）。
【００２１】
特定の実施形態では、人物識別処理は、イメージに関連する時間および位置データを決定し得る。特定の実施形態では、人物識別処理は、イメージファイルのメタデータからイメージファイルのタイムスタンプを決定し得る。特定の実施形態では、人物識別処理は、イメージファイルのメタデータ（例えばＧＰＳまたは他の位置座標）からイメージファイルの位置データを決定し得る。リアルタイムアプリケーションに関し、人物識別処理は、いくつかの実施形態では、イメージアップロード要求に関連する地理的位置データ（例えばＧＰＳ座標）、ユーザのチェックインアクティビティデータ、および／または第１のユーザのイベントデータにアクセスすることにより、イメージファイルの位置データを決定し得る。これはイメージファイルのアップロードと同時であるか、および／またはイメージファイルのメタデータに時間的に近い（すなわち、イメージファイルのタイムスタンプに近い、またはタイムスタンプの時間に重なる）。例えば、アップロード要求は、ソーシャルネットワーキングシステムが要求しているユーザの地理的位置を決定するＧＰＳデータを含み得る。いくつかの実施形態では、人物識別処理は、イメージファイルに関連する時間的情報と同時に起きた第１のユーザの位置データまたはチェックインアクティビティデータを決定するように位置データベース１０４にアクセスし得る。例えば、人物識別処理はイベントデータベース１０２にアクセスして、イメージファイルと同時の第１のユーザのイベント（すなわち、位置データ）を決定することができる。特定の実施形態において、人物識別処理は、イメージファイルに関連するイベントデータを決定し、このイベン
トデータに基づきイメージファイルの位置データを決定するようにイメージファイルのメタデータにアクセスし得る。
【００２２】
特定の実施形態において、人物識別処理は、イメージファイルに関連する時空間的情報に対して空間的および時間的に近いユーザを含む候補者のリストを生成するように１つまたは複数のデータストアにアクセスし得る。いくつかの実施形態において、イメージファイルがイベント（例えば、「クリスマスパーティ２００９」）中に第１のユーザによって撮影されたことを人物識別処理が決定する場合、人物識別処理はイベントデータベース１０２にアクセスし、イベントの主催者と参加者（招待者、または返事をした人）を含む候補者のリストを生成することができる。例えば、人物識別処理はイベントデータベース１０２と位置データベース１０４にアクセスし、イベントの期間中にイベントの位置の１５２．４メートル（５００フィート）以内にいたユーザを含む候補者のリストを生成することができる。例えば、第１のユーザのイメージファイルが（３７°４９’０９．１５”Ｎ，１２２°２８’４５  １１”Ｗ）のＧＰＳ座標と２０１０年１０月９日太平洋標準時刻（ＰＴ）午後３時のタイムスタンプを有する場合、顔認識は位置データベース１０４にアクセスし、２０１０年１０月９日午後２：５５〜午後３：０５の上記ＧＰＳ座標の１５２．４メートル（５００フィート）以内に存在するユーザを含む候補者のリストを生成することができる。候補者またはユーザの位置は、ユーザのチェックインアクティビティによって、および／またはユーザのＧＰＳ付き携帯機器によってキャプチャされ位置データベース１０４に格納されたユーザの位置データによって決定されることができる（本明細書において前述したように）。
【００２３】
加えて、人物識別処理は、第１のユーザに対する社会的近接性閾値内にいる候補者だけを含むことによって候補者のリストのサイズをさらに低減することができる。一実施形態では、識別された顔毎に、候補者のリストが、第１のユーザの一次コンタクトである一組のユーザに制限される。他の実施形態では、識別された顔毎に、候補者のリストが第１のユーザの一次及び二次コンタクトである一組のユーザに制限される。例えば、第１のユーザのイメージファイルが（３７°４９’０９．１５”Ｎ，１２２°２８’４５  １１”Ｗ）のＧＰＳ座標と２０１０年１０月９日太平洋標準時刻（ＰＴ）午後３時のタイムスタンプを有すれば、顔認識はユーザプロファイルデータベース１０１と位置データベース１０４にアクセスし、第１のユーザの一次および二次コンタクトを含む候補者であって、２０１０年１０月９日午後２：５５〜午後３：０５の上記ＧＰＳ座標から１５２．４メートル（５００フィート）以内に存在する候補者のリストを生成することができる。前述したように、方針は、ソーシャルグラフが一次コンタクトを越えるので、時空間的近接性などの追加の一致する属性を必要とするように構成されることができる。
【００２４】
特定の実施形態では、識別された顔毎に、人物識別処理は、イメージファイルに関連するメタデータに対する空間的および時間的近接性閾値内に存在するユーザを含む候補者のリストに基づき１つまたは複数の一致を決定し得る。他の実施形態では、識別された顔毎に、人物識別処理は、イメージファイルに関連するメタデータに対して空間的および時間的に近接しており、イメージファイルをアップロードした第１のユーザに対して社会的に近接しているユーザを含む候補者のリストに基づき１つまたは複数の一致を決定し得る。例えば、識別された顔毎に、人物識別処理は、識別された顔と、イメージファイルに対して空間的および時間的に近接しているユーザを含む候補者のリストのそれぞれとの間の相関係数を計算するように顔認識コンピュータソフトウェアを使用することができる。一実施形態では、顔認識コンピュータソフトウェアは、１つまたは複数のプロファイル画像または比較のための候補者ユーザに関連する他の画像にアクセスし得る。一実施形態では、人物識別処理は、相関係数が０．８を越える場合、候補者は識別された顔に一致していると決定する。一致が２つ以上の潜在的な一致を生じるいくつかの実施形態では、人物識別処理は最も高い得点の一致を選択するか、または両方の一致をユーザに提示し得る。特定
の実施形態では、人物識別処理は、イメージファイル内の１つまたは複数の一致を第１のユーザに提示し得る（２０４）。
【００２５】
図３に、携帯電話によって表示された一組の個人を含むイメージの例を示す。例えば、イメージ３０２は、イベント「クリスマスパーティ２００９」において第１のユーザの携帯電話３０１を用いて第１のユーザによって撮影された画像であり得る。例えば、イメージ３０２は、第１のユーザがイベント「クリスマスパーティ２００９」において携帯電話のカメラ機能を起動したときに第１のユーザの携帯電話によってホストされるファインダユーザインターフェース内に表示された静止画または動画であり得る。人物識別処理は、図２に例示されるように、携帯電話３０１内またはメディアデータベース１０５（イメージがメディアデータベース１０５にアップロードされている場合）内に格納されたイメージ３０２にアクセスし、イメージ３０２内の１つまたは複数の顔を識別し、空間的および時間的近接性に基づき、１つまたは複数の識別された顔のそれぞれに一致する１人または複数のユーザを決定することができる。一実施形態では、ユーザは、イメージ内にキャプチャされた対象となる人々のうちの１人または複数に関する情報を受け取るためのリアルタイム要求をソーシャルネットワーキングシステムへ送信し得る。
【００２６】
図４に、イメージファイル内の一致するユーザを提示する例示的なユーザインターフェースを示す。ユーザは例えば、リアルタイム識別要求に関連してキャプチャされたイメージをソーシャルネットワーキングシステムへアップロードする携帯機器上にホストされたクライアントアプリケーションを使用し得る。応答は、ユーザがイメージ内のキャプチャされた対象ユーザの名前を思い出すのに苦労している場合、ユーザが１人または複数のユーザの名前（および、可能性として関係状況の情報などの他の情報）を見られるようにする。他の実施形態では、第１のユーザはチェックイン処理フローの一部としてイメージをキャプチャし、イメージ内にキャプチャされ識別された他のユーザにチェックインする人物識別機能を使用し得る。特定の実施形態では、人物識別処理は１つまたは複数のデータストアにアクセスし、一致するユーザに関連する情報、または識別された顔に一致するユーザを提示し得る。特定の実施形態において、人物識別処理は、イメージファイルに重なるフレーム内の一致するユーザに関連する情報を提示し得る。例えば図４において、人物識別処理は、一致した顔を識別するボックス（４０１）を提示し、画像に重なるフレーム（４０２）内の一致したユーザに関連する情報を提示することができる。例えば、人物識別処理は、ユーザプロファイルデータベース１０１にアクセスし、ユーザプロファイル情報（例えば名前、プロファイル画像）、ソーシャルグラフ情報（例えば「共通の友達  ５人」）、および／または一致したユーザの関係情報（例えば「ＵＳＣ’０５」）を提示することができる。特定の実施形態では、一致したユーザに関連する情報を表示するフレームは１つまたは複数の選択可能アイコンを含み得る。例えば、アイコンはテキスト文字列、画像、またはグラフィックアイコンであり得る。例えば、第１のユーザは、人物識別処理に、一致するユーザを画像にタグ付けさせるか、または友達としての招待を一致するユーザへ送信するアイコンを選択することができる。特定の実施形態では、人物識別処理は、ソーシャルネットワーキングシステム内にイメージファイルを格納する選択肢を提示し得る。例えば、人物識別処理は、選択された場合には選択可能テキスト文字列「この画像を公開」を提示し、人物識別処理に、イメージファイルをメディアデータベース１０５内に格納させ、このイメージファイルを第１のユーザのプロファイルページへ公開させることができる。図４Ａに、イメージファイル内の識別された顔の２つ以上の一致を提示する例示的なユーザインターフェースを示す。図４Ａの例では、人物識別処理は、識別された顔のボックス（４０３）と、２人の一致したユーザと、関係するユーザプロファイル情報（例えば名前、プロファイル画像）およびソーシャルグラフ情報（例えば「共通の友人  ７人」）とを含むフレーム（４０４）とを表示することができる。例えば、第１のユーザは、一致を確認するために２つの一致のうちの１つを選択することができる（例えば名前またはプロファイル画像をタップすることにより）。
【００２７】
様々な実施形態が可能である。第１のユーザのクライアントデバイス１２２、セットトップボックス、またはデジタルビデオレコーダによって記録されたテレビ番組のビデオクリップの例に関しては、人物識別処理は、ビデオクリップに対して時間的および／または空間的に近接する１つまたは複数のテレビ番組における俳優に考察を制限することによって候補者のリストのサイズを縮小することができる。特定の実施形態では、人物識別処理は、ビデオクリップの時間および位置データを決定し得る。例えば、人物識別処理は、ビデオクリップのメタデータからビデオクリップの時間および／または位置データを決定することができる。例えば、人物識別処理は、ビデオクリップのタイムスタンプを決定することができる。例えば、人物識別処理は、クライアントデバイス１２２（例えばＧＰＳ付き携帯電話）またはセットトップボックス（例えば特定のケーブルテレビまたは衛星テレビ番組プロバイダによる特定のテレビ市場用のセットトップボックス）の位置データに基づきビデオクリップの位置データを決定することができる。特定の実施形態では、人物識別処理は、テレビ番組のデータストア（例えばゲムスタテレビガイド（Ｇｅｍｓｔａｒ  ＴＶ  Ｇｕｉｄｅ））にアクセスし、ビデオクリップと同一の地理的位置（例えばニューヨーク市）における視聴者に同時に送信される１つまたは複数のテレビ番組を識別し得る。他の実施形態では、人物識別処理は、ビデオクリップの音声部分に基づきビデオクリップに関連する１つまたは複数のテレビ番組を識別するために音声一致プログラムを適用し得る。特定の実施形態では、人物識別処理は、１つまたは複数のデータストアにアクセスし、１つまたは複数のテレビ番組における俳優を含む候補者のリストを生成し得る。特定の実施形態では、ビデオクリップ内の識別された顔毎に、人物識別処理は候補者のリストに基づきイメージファイル内の１つまたは複数の顔の一致を決定し得る。特定の実施形態では、人物識別処理はイメージファイル内の１つまたは複数の一致を第１のユーザに提示し得る。例えば、人物識別処理は、第１のユーザに、ビデオクリップに重なるフレーム内の一致した俳優のファンページの名前およびそのページへのリンクを提示することができる。他の実施形態では、人物識別処理は、ソーシャルネットワーキングシステムの第１のユーザのウォールポスト上に公開し、第１のユーザが視聴する１つまたは複数のテレビ番組を示し得る。いくつかの実施形態では、人物識別処理は、第１のユーザが視聴する１つまたは複数のテレビ番組に基づきターゲット広告を第１のユーザへ配信し得る。
【００２８】
前述の実施形態は様々なネットワーク構成において実施され得るが、以下では、教示目的であって制限目的でない目的のための例示的なネットワーク環境を示す。図５に、例示的なネットワーク環境５００を示す。ネットワーク環境５００は、１つまたは複数のサーバ５２０と１つまたは複数のクライアント５３０を互いに結合するネットワーク５１０を含む。ネットワーク環境５００はまた、１つまたは複数のサーバ５２０にリンクされた１つまたは複数のデータストア５４０を含む。特定の実施形態はネットワーク環境５００において実施され得る。例えば、ソーシャルネットワーキングシステムフロントエンド１２０は、１つまたは複数のサーバ５２０によりホストされるソフトウエアプログラムに書き込まれ得る。例えば、イベントデータベース１０２は１つまたは複数のデータストア５４０内に格納され得る。特定の実施形態では、ネットワーク５１０は、イントラネット、エクストラネット、仮想プライベートネットワーク（ＶＰＮ：ｖｉｒｔｕａｌ  ｐｒｉｖａｔｅ  ｎｅｔｗｏｒｋ）、ローカルエリアネットワーク（ＬＡＮ）、無線ＬＡＮ（ＷＬＡＮ）、広域ネットワーク（ＷＡＮ）、メトロポリタンエリアネットワーク（ＭＡＮ）、インターネットの一部、他のネットワーク５１０、または２つ以上のネットワーク５１０などの組み合わせである。本開示は任意の好適なネットワーク５１０を企図する。
【００２９】
１つまたは複数のリンク５５０はサーバ５２０またはクライアント５３０をネットワーク５１０へ結合する。特定の実施形態では、１つまたは複数のリンク５５０はそれぞれ１つまたは複数の有線、無線、または光リンク５５０を含む。特定の実施形態では、１つまたは複数のリンク５５０はそれぞれ、イントラネット、エクストラネット、ＶＰＮ、ＬＡ
Ｎ、ＷＬＡＮ、ＷＡＮ、ＭＡＮ、インターネットの一部、他のリンク５５０、または２つ以上のリンク５５０などの組み合わせを含む。本開示は、サーバ５２０とクライアント５３０をネットワーク５１０へ結合する任意の好適なリンク５５０を企図する。
【００３０】
特定の実施形態では、各サーバ５２０は単一のサーバであってもよく、または複数のコンピュータまたは複数のデータセンタに広がる分散型サーバであってもよい。サーバ５２０は、限定されるものではないが例えばウェブサーバ、ニュースサーバ、メールサーバ、メッセージサーバ、広告サーバ、ファイルサーバ、アプリケーションサーバ、交換サーバ、データベースサーバ、またはプロシキサーバなどの様々なタイプのサーバであり得る。特定の実施形態では、各サーバ５２０は、ハードウェア、ソフトウェア、組み込み論理部品、またはサーバ５２０により実施またはサポートされる適切な機能を実行するための２つ以上のこのような部品の組み合わせを含み得る。例えば、ウェブサーバは通常、ウェブページまたはウェブページの特定の要素を含むウェブサイトをホストすることができる。より具体的には、ウェブサーバはＨＴＭＬファイルまたは他のファイルタイプをホストしてもよく、または要求があり次第ファイルを動的に生成または構成し、クライアント５３０からのＨＴＴＰまたは他の要求に応じてそれらをクライアント５３０へ伝達してもよい。メールサーバは通常、電子メールサービスを様々なクライアント５３０へ提供することができる。データベースサーバは通常、１つまたは複数のデータストア内に格納されたデータを管理するためのインターフェースを提供することができる。
【００３１】
特定の実施形態では、１つまたは複数のデータストア５４０は、１つまたは複数のリンク５５０を通じて１つまたは複数のサーバ５２０に通信可能にリンクされ得る。特定の実施形態では、データストア５４０は様々な種類の情報を格納するために使用され得る。特定の実施形態では、データストア５４０内に格納された情報は特定のデータ構造に応じて組織化され得る。特定の実施形態では、各データストア５４０は関係データベースであり得る。特定の実施形態は、データストア５４０内に格納された情報をサーバ５２０またはクライアント５３０が管理（例えば、検索、修正、追加、削除）できるようにするインターフェースを提供し得る。
【００３２】
特定の実施形態では、各クライアント５３０は、ハードウェア、ソフトウェア、組み込み論理部品、または２つ以上のこのような部品の組み合わせを含む電子装置であってもよく、クライアント５３０により実施またはサポートされる適切な機能を行うことができる。例えば、限定されるものではないが、クライアント５３０は、デスクトップコンピュータシステム、ノートブックコンピュータシステム、ネットブックコンピュータシステム、携帯型電子装置、または携帯電話であり得る。本開示は任意の好適なクライアント５３０を企図する。クライアント５３０は、クライアント５３０におけるネットワークユーザがネットワーク５３０にアクセスできるようにし得る。クライアント５３０はそのユーザが他のクライアント５３０における他のユーザと通信できるようにし得る。
【００３３】
クライアント５３０は、マイクロソフトインターネットエクスプローラ（ＭＩＣＲＯＳＯＦＴ  ＩＮＴＥＲＮＥＴ  ＥＸＰＬＯＲＥＲ）、グーグルクローム（ＧＯＯＧＬＥ  ＣＨＲＯＭＥ）またはモジラファイアフォックス（ＭＯＺＩＬＬＡ  ＦＩＲＥＦＯＸ）などのウェブブラウザ５３２を有してもよく、アドオン、プラグイン、またはツールバー（ＴＯＯＬＢＡＲ）またはヤフーツールバー（ＹＡＨＯＯ  ＴＯＯＬＢＡＲ）などの１つまたは複数の他の拡張を有してもよい。クライアント５３０におけるユーザは、ウェブブラウザ５３２をサーバ５２０へ向けるユニフォームリソースロケータ（ＵＲＬ：Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ）または他のアドレスを入力してもよく、ウェブブラウザ５３２はハイパーテキスト転送プロトコル（ＨＴＴＰ：Ｈｙｐｅｒ  Ｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）要求を生成し、同ＨＴＴＰ要求をサーバ５２０へ伝達してもよい。サーバ５２０はＨＴＴＰ要求を受諾し、ＨＴＴＰ要求に応じて１つまた
は複数のハイパーテキストマークアップ言語（ＨＴＭＬ：Ｈｙｐｅｒ  Ｔｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）ファイルをクライアント５３０へ伝達し得る。クライアント５３０は、ユーザへの提示のために、サーバ５２０からのＨＴＭＬファイルに基づきウェブページをレンダリングし得る。本開示は任意の好適なウェブページファイルを企図する。制約条件としてではなく一例として、ウェブページは、特殊なニーズに応じて、ＨＴＭＬファイル、拡張可能ハイパーテキストマークアップ言語（ＸＨＴＭＬ：Ｅｘｔｅｎｓｉｂｌｅ  Ｈｙｐｅｒ  Ｔｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇ）ファイル、または拡張可能マークアップ言語（ＸＭＬ：Ｅｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）ファイルをレンダリングし得る。このようなページはまた、限定されるものではないが、例えばジャバスクリプト（ＪＡＶＡＳＣＲＩＰＴ（登録商標））、ジャバ（ＪＡＶＡ（登録商標））、マイクロソフトシルバーライト（ＭＩＣＲＯＳＯＦＴ  ＳＩＬＶＥＲＬＩＧＨＴ）、ＡＪＡＸ（非同期ジャバスクリプトとＸＭＬ：Ａｓｙｎｃｈｒｏｎｏｕｓ  ＪＡＶＡＳＣＲＩＰＴ（登録商標）  ａｎｄ  ＸＭＬ）などのマークアップ言語とスクリプトの組み合わせなどで書かれたものなどのスクリプトを実行し得る。本明細書において、ウェブページへの参照は、１つまたは複数の対応するウェブページファイル（ウェブページをレンダリングするためにブラウザが使用し得る）を包含し、適切な場合は逆もまた同様である。
【００３４】
図６に、本発明のいくつかの実施形態と共に使用され得る例示的コンピュータシステム６００を示す。本開示は、任意の好適な数のコンピュータシステム６００を企図する。本開示は、任意の好適な物理的形式をとるコンピュータシステム６００を企図する。制約条件としてではなく一例として、コンピュータシステム６００は、組み込み式コンピュータシステム、システムオンチップ（ＳＯＣ）、シングルボードコンピュータシステム（ＳＢＣ）（例えばコンピュータオンモジュール（ＣＯＭ：ｃｏｍｐｕｔｅｒ−ｏｎ−ｍｏｄｕｌｅ）またはシステムオンモジュール（ＳＯＭ：ｓｙｓｔｅｍ−ｏｎ−ｍｏｄｕｌｅ）など）、デスクトップコンピュータシステム、ラップトップまたはノートブックコンピュータシステム、対話型キオスク、メインフレーム、コンピュータシステムのメッシュ、携帯電話、携帯情報端末（ＰＤＡ）、サーバ、またはこれらの２つ以上の組み合わせであり得る。適切な場合には、コンピュータシステム６００は１つまたは複数のコンピュータシステム６００を含み、単一または分散型であり、複数の場所に広がり、複数の機械装置に広がり、または１つまたは複数のネットワーク内に１つまたは複数のクラウドコンポーネントを含み得るクラウド内に存在し得る。適切な場合には、１つまたは複数のコンピュータシステム６００は、ほぼ空間的または時間的制限無しに、本明細書に記載または図示された１つまたは複数の方法の１つまたは複数の工程を行い得る。制約条件としてではなく一例として、１つまたは複数のコンピュータシステム６００は、リアルタイムでまたはバッチモードで、本明細書に記載または図示された１つまたは複数の方法の１つまたは複数の工程を行い得る。１つまたは複数のコンピュータシステム６００は、適切な場合、本明細書に記載または図示された１つまたは複数の方法の１つまたは複数の工程を様々な時間にまたは様々な場所で行い得る。
【００３５】
特定の実施形態では、コンピュータシステム６００は、プロセッサ６０２、メモリ６０４、記憶装置６０６、入力／出力（Ｉ／Ｏ）インターフェース６０８、通信インターフェース６１０、バス６１２を含む。本開示は特定の配置における特定の数の特定部品を有する特定のコンピュータシステムについて説明し図示するが、本開示は任意の好適な配置における任意の好適な数の任意の好適な部品を有する任意の好適なコンピュータシステムを企図する。
【００３６】
特定の実施形態では、プロセッサ６０２は、コンピュータプログラムを構成するなどの命令を実行するためのハードウェアを含む。制約条件としてではなく一例として、命令を実行するために、プロセッサ６０２は、内部レジスタ、内部キャッシュ、メモリ６０４、
または記憶装置６０６から命令を取り出し（またはフェッチし）、それらを復号化し実行し、次いで、１つまたは複数の結果を内部レジスタ、内部キャッシュ、メモリ６０４、または記憶装置６０６へ書き込み得る。特定の実施形態では、プロセッサ６０２は、データ、命令、またはアドレス用の１つまたは複数の内部キャッシュを含み得る。本開示は、適切な場合、任意の好適な数の任意の好適な内部キャッシュを含むプロセッサ６０２を企図する。制約条件としてではなく一例として、プロセッサ６０２は、１つまたは複数の命令キャッシュ、１つまたは複数のデータキャッシュ、１つまたは複数の変換索引バッファ（ＴＬＢ：ｔｒａｎｓｌａｔｉｏｎ  ｌｏｏｋ−ａｓｉｄｅ  ｂｕｆｆｅｒ）を含み得る。命令キャッシュ内の命令はメモリ６０４または記憶装置６０６内の命令の複製であってもよく、命令キャッシュはプロセッサ６０２によるそれらの命令の取り出しを速めてもよい。データキャッシュ内のデータは、プロセッサ６０２において実行する命令であって、プロセッサ６０２において実行するその後の命令によるアクセスのためにまたはメモリ６０４または記憶装置６０６に書き込むためにプロセッサ６０２において実行された以前の命令の結果に動作する命令用のメモリ６０４またはストレージ６０６内のデータの複製、または他の好適なデータの複製であり得る。データキャッシュはプロセッサ６０２による読み取りまたは書き込み動作を速め得る。ＴＬＢは、プロセッサ６０２の仮想アドレス変換を速め得る。特定の実施形態では、プロセッサ６０２は、データ、命令、またはアドレス用の１つまたは複数の内部レジスタを含み得る。本開示は、適切な場合、任意の好適な数の任意の好適な内部レジスタを含むプロセッサ６０２を企図する。適切な場合、プロセッサ６０２は１つまたは複数の演算装置（ＡＬＵ）を含み、マルチコアプロセッサであるか、または１つまたは複数のプロセッサ６０２を含み得る。本開示は特定のプロセッサについて説明し図示するが、本開示は任意の好適なプロセッサを企図する。
【００３７】
特定の実施形態では、メモリ６０４は、プロセッサ６０２が実行する命令またはプロセッサ６０２が動作するデータ用のメインメモリを含む。制約条件としてではなく一例として、コンピュータシステム６００は、命令をストレージ６０６または他のソース（例えば他のコンピュータシステム６００など）からメモリ６０４へロードし得る。次いで、プロセッサ６０２は命令をメモリ６０４から内部レジスタまたは内部キャッシュへロードし得る。命令を実行するために、プロセッサ６０２は内部レジスタまたは内部キャッシュから命令を取り出し、それらを復号し得る。命令の実行中または実行後、プロセッサ６０２は１つまたは複数の結果（中間または最終結果であり得る）を内部レジスタまたは内部キャッシュへ書き込み得る。次いで、プロセッサ６０２はそれらの結果の１つまたは複数をメモリ６０４に書き込み得る。特定の実施形態では、プロセッサ６０２は、１つまたは複数の内部レジスタまたは内部キャッシュ内またはメモリ６０４内の命令だけを実行し、１つまたは複数の内部レジスタまたは内部キャッシュ内またはメモリ６０４内のデータだけ（ストレージ６０６または他の場所ではなく）に動作する。１つまたは複数のメモリバス（それぞれアドレスバスとデータバスを含み得る）はプロセッサ６０２をメモリ６０４に結合し得る。バス６１２は以下に述べるように１つまたは複数のメモリバスを含み得る。特定の実施形態では、１つまたは複数のメモリ管理ユニット（ＭＭＵ：ｍｅｍｏｒｙ  ｍａｎａｇｅｍｅｎｔ  ｕｎｉｔ）はプロセッサ６０２とメモリ６０４との間に存在し、プロセッサ６０２により要求されるメモリ６０４へのアクセスを容易にする。特定の実施形態では、メモリ６０４はランダムアクセスメモリ（ＲＡＭ）を含む。このＲＡＭは、適切な場合、揮発性メモリであり得る。適切な場合、このＲＡＭはダイナミックＲＡＭ（ＤＲＡＭ）またはスタティックＲＡＭ（ＳＲＡＭ）であり得る。さらに、適切な場合、このＲＡＭはシングルポートまたはマルチポートＲＡＭであり得る。本開示は任意の好適なＲＡＭを企図する。メモリ６０４は、適切な場合、１つまたは複数のメモリ６０２を含み得る。本開示は特定のメモリについて説明し図示するが、本開示は任意の好適なメモリを企図する。
【００３８】
特定の実施形態では、ストレージ６０６はデータまたは命令用の大容量ストレージを含
む。制約条件としてではなく一例として、ストレージ６０６は、ハードディスクドライブ（ＨＤＤ）、フロッピー（登録商標）ディスクドライブ、フラッシュメモリ、光ディスク、光磁気ディスク、磁気テープ、ユニバーサルシリアルバス（ＵＳＢ）ドライブ、またはこれらの２つ以上の組み合わせを含み得る。ストレージ６０６は、適切な場合、着脱可能または着脱不能（すなわち固定）媒体を含み得る。ストレージ６０６は、適切な場合、コンピュータシステム６００内にまたはコンピュータシステム６００外に存在し得る。特定の実施形態では、ストレージ６０６は不揮発性ソリッドステートメモリである。特定の実施形態では、ストレージ６０６は読み出し専用メモリ（ＲＯＭ）を含む。適切な場合、このＲＯＭは、マスクプログラムＲＯＭ、プログラマブルＲＯＭ（ＰＲＯＭ）、消去可能ＰＲＯＭ（ＥＰＲＯＭ）、電気的消去可能ＰＲＯＭ（ＥＥＰＲＯＭ）、電気的消去再書き込み可能ＲＯＭ（ＥＡＲＯＭ：ｅｌｅｃｔｒｉｃａｌｌｙ  ａｌｔｅｒａｂｌｅ  ＲＯＭ），またはフラッシュメモリ、またはこれらの２つ以上の組み合わせであり得る。本開示は、任意の好適な物理的形式である大容量ストレージ６０６を企図する。ストレージ６０６は、適切な場合、プロセッサ６０２とストレージ６０６間の通信を容易にする１つまたは複数の記憶制御機構を含み得る。適切な場合、ストレージ６０６は１つまたは複数のストレージ６０６を含み得る。本開示は特定のストレージについて説明し図示するが、本開示は任意の好適なストレージを企図する。
【００３９】
特定の実施形態では、Ｉ／Ｏインターフェース６０８は、コンピュータシステム６００と１つまたは複数のＩ／Ｏ装置間の通信のための１つまたは複数のインターフェースを提供するハードウェア、ソフトウェア、またはその両方を含む。コンピュータシステム６００は、適切な場合、これらのＩ／Ｏ装置の１つまたは複数を含み得る。これらのＩ／Ｏ装置の１つまたは複数は、人とコンピュータシステム６００との間の通信を可能にし得る。制約条件としてではなく一例として、Ｉ／Ｏ装置は、キーボード、キーパッド、マイクロホン、モニタ、マウス、プリンタ、スキャナ、スピーカ、スチールカメラ、スタイラス、タブレット、タッチスクリーン、トラックボール、ビデオカメラ、他の好適なＩ／Ｏ装置、またはこれらの２つ以上の組み合わせを含み得る。Ｉ／Ｏ装置は１つまたは複数のセンサを含み得る。本開示は任意の好適なＩ／Ｏ装置と任意の好適なＩ／Ｏインターフェース６０８を企図する。適切な場合、Ｉ／Ｏインターフェース６０８は、プロセッサ６０２がこれらのＩ／Ｏ装置の１つまたは複数を駆動できるようにする１つまたは複数の装置またはソフトウェアドライバを含み得る。Ｉ／Ｏインターフェース６０８は、適切な場合、１つまたは複数のＩ／Ｏインターフェース６０８を含み得る。本開示において特定のＩ／Ｏインターフェースについて説明し図示するが、本開示では任意の好適なＩ／Ｏインターフェースを企図する。
【００４０】
特定の実施形態では、通信インターフェース６１０は、コンピュータシステム６００と１つまたは複数の他のコンピュータシステム６００または１つまたは複数のネットワークとの間の通信（例えばパケットベースの通信など）のための１つまたは複数のインターフェースを提供するハードウェア、ソフトウェアまたはその両方を含む。制約条件としてではなく一例として、通信インターフェース６１０は、イーサネット（登録商標）または他の有線ベースのネットワークと通信するためのネットワークインターフェース制御装置（ＮＩＣ）またはネットワークアダプタ、またはＷＩ−ＦＩネットワークなどの無線ネットワークと通信するための無線ＮＩＣ（ＷＮＩＣ）または無線アダプタを含み得る。本開示は、任意の好適なネットワークと任意の好適な通信インターフェース６１０を企図する。制約条件としてではなく一例として、コンピュータシステム６００は、アドホックネットワーク、パーソナルエリアネットワーク（ＰＡＮ）、ローカルエリアネットワーク（ＬＡＮ）、広域ネットワーク（ＷＡＮ）、メトロポリタンエリアネットワーク（ＭＡＮ）、インターネットの１つまたは複数の部分、またはこれらの２つ以上の組み合わせと通信し得る。これらのネットワークの１つまたは複数のネットワークの１つまたは複数の部分は有線または無線であり得る。一例として、コンピュータシステム６００は、無線ＰＡＮ（Ｗ
ＰＡＮ）（例えばブルートゥース（ＢＬＵＥＴＯＯＴＨ（登録商標））ＷＰＡＮなど）、ＷＩ−ＦＩネットワーク（例えば、８０２．１  ｌａ／ｂ／ｇ／ｎ  ＷＩ−ＦＩネットワーク、ａ  ８０２．１１ｓメッシュネットワークなど）、ＷＩ−ＭＡＸネットワーク、セルラ電話ネットワーク（例えばグローバル移動体通信システム（ＧＳＭ（登録商標）：Ｇｌｏｂａｌ  Ｓｙｓｔｅｍ  ｆｏｒ  Ｍｏｂｉｌｅ  Ｃｏｍｍｕｎｉｃａｔｉｏｎｓ）ネットワークなど）、ＧＳＭ（登録商標）進化型高速データレート（ＥＤＧＥ：Ｅｎｈａｎｃｅｄ  Ｄａｔａ  Ｒａｔｅｓ  ｆｏｒ  ＧＳＭ  Ｅｖｏｌｕｔｉｏｎ）ネットワーク、ユニバーサル移動体電話システム（ＵＭＴＳ：Ｕｎｉｖｅｒｓａｌ  Ｍｏｂｉｌｅ  Ｔｅｌｅｃｏｍｍｕｎｉｃａｔｉｏｎｓ  Ｓｙｓｔｅｍ）ネットワーク、ロングタームエボリューション（ＬＴＥ：Ｌｏｎｇ  Ｔｅｒｍ  Ｅｖｏｌｕｔｉｏｎ）ネットワーク、他の好適な無線ネットワーク、またはこれらの２つ以上の組合せと通信し得る。コンピュータシステム６００は、適切な場合、これらのネットワークのうちの任意のネットワークの任意の好適な通信インターフェース６１０を含み得る。通信インターフェース６１０は、適切な場合、１つまたは複数の通信インターフェース６１０を含み得る。本開示において特定の通信インターフェースについて説明し図示するが、本開示では任意の好適な通信インターフェースを企図する。
【００４１】
特定の実施形態では、バス６１２は、コンピュータシステム６００の要素と互いに結合するハードウェア、ソフトウェア、またはその両方を含む。制約条件としてではなく一例として、バス６１２は、アクセラレイテッドグラフィックポート（ＡＧＰ：Ａｃｃｅｌｅｒａｔｅｄ  Ｇｒａｐｈｉｃｓ  Ｐｏｒｔ）または他のグラフィックバス、強化型業界標準アーキテクチャ（ＥＩＳＡ：Ｅｎｈａｎｃｅｄ  Ｉｎｄｕｓｔｒｙ  Ｓｔａｎｄａｒｄ
Ａｒｃｈｉｔｅｃｔｕｒｅ）バス、フロントサイドバス（ＦＳＢ）、ハイパートランスポート（ＨＴ：ＨＹＰＥＲＴＲＡＮＳＰＯＲＴ）相互接続、業界標準アーキテクチャ（ＩＳＡ：Ｉｎｄｕｓｔｒｙ  Ｓｔａｎｄａｒｄ  Ａｒｃｈｉｔｅｃｔｕｒｅ）バス、インフィニバンド（ＩＮＦＩＮＩＢＡＮＤ）相互接続、ローピンカウント（ＬＰＣ：ｌｏｗ−ｐｉｎ−ｃｏｕｎｔ）バス、メモリバス、マイクロチャネルアーキテクチャ（ＭＣＡ：Ｍｉｃｒｏ  Ｃｈａｎｎｅｌ  Ａｒｃｈｉｔｅｃｔｕｒｅ）バス、周辺部品相互接続（ＰＣＩ：Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）バス、ＰＣＩエクスプレス（ＰＣＩ−Ｘ：ＰＣＩ−Ｅｘｐｒｅｓｓ）バス、シリアルアドバンストテクノロジアタッチメント（ＳＡＴＡ：ｓｅｒｉａｌ  ａｄｖａｎｃｅｄ  ｔｅｃｈｎｏｌｏｇｙ  ａｔｔａｃｈｍｅｎｔ）バス、ビデオ電子装置規格化協会ローカル（ＶＬＢ：Ｖｉｄｅｏ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｓｔａｎｄａｒｄｓ  Ａｓｓｏｃｉａｔｉｏｎ  ｌｏｃａｌ）バス、ユニバーサル非同期受信器／送信器（ＵＡＲＴ：Ｕｎｉｖｅｒｓａｌ  Ａｓｙｎｃｈｒｏｎｏｕｓ  Ｒｅｃｅｉｖｅｒ／Ｔｒａｎｓｍｉｔｔｅｒ）インターフェース、ＩＣ間（Ｉ２Ｃ：Ｉｎｔｅｒ−Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）バス、シリアル周辺インターフェース（ＳＰＩ：Ｓｅｒｉａｌ  Ｐｅｒｉｐｈｅｒａｌ  Ｉｎｔｅｒｆａｃｅ）バス、セキュアデジタル（ＳＤ：Ｓｅｃｕｒｅ  Ｄｅｇｉｔａｌ）メモリインタフェース、マルチメディアカード（ＭＭＣ：ＭｕｌｔｉＭｅｄｉａＣａｒｄ）メモリインタフェース、メモリスティック（ＭＳ：Ｍｅｍｏｒｙ  Ｓｔｉｃｋ）メモリインタフェース、セキュアデジタル入出力（ＳＤＩＯ：Ｓｅｃｕｒｅ  Ｄｉｇｉｔａｌ  Ｉｎｐｕｔ  Ｏｕｔｐｕｔ）インターフェース、多重チャネルバッファシリアルポート（ＭｃＢＳＰ：Ｍｕｌｔｉ−ｃｈａｎｎｅｌ  Ｂｕｆｆｅｒｅｄ  Ｓｅｒｉａｌ  Ｐｏｒｔ）バス、ユニバーサルシリアルバス（ＵＳＢ：Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）バス、汎用メモリコントローラ（ＧＰＭＣ：Ｇｅｎｅｒａｌ  Ｐｕｒｐｏｓｅ  Ｍｅｍｏｒｙ
Ｃｏｎｔｒｏｌｌｅｒ）バス、ＳＤＲＡＭコントローラ（ＳＤＲＣ：ＳＤＲＡＭ  Ｃｏｎｔｒｏｌｌｅｒ）バス、汎用入出力（ＧＰＩＯ：Ｇｅｎｅｒａｌ  Ｐｕｒｐｏｓｅ  Ｉｎｐｕｔ／Ｏｕｔｐｕｔ）バス、分離ビデオ（Ｓ−Ｖｉｄｅｏ：Ｓｅｐａｒａｔｅ  Ｖｉｄｅｏ）バス、表示シリアルインターフェース（ＤＳＩ：Ｄｉｓｐｌａｙ  Ｓｅｒｉａｌ
Ｉｎｔｅｒｆａｃｅ）バス、拡張マイクロコントローラバスアーキテクチャ（ＡＭＢＡ
：Ａｄｖａｎｃｅｄ  Ｍｉｃｒｏｃｏｎｔｒｏｌｌｅｒ  Ｂｕｓ  Ａｒｃｈｉｔｅｃｔｕｒｅ）バス、他の好適なバス、またはこれらの２つ以上の組合せを含み得る。バス６１２は、適切な場合、１つまたは複数のバス６１２を含み得る。本開示において特定のバスについて説明し図示するが、本開示では任意の好適なバスまたは相互接続を企図する。
【００４２】
上述のクライアント側機能は、実行されるとプログラム可能プロセッサに上述の動作を実施させるコンピュータ可読記憶媒体上に格納される一連の命令として実装することができる。クライアントデバイス１２２は様々なハードウェアと計算システムにおいて実装され得るが、図７に、様々な特定の実施形態に応じた、クライアントまたは携帯機器の例示的な計算プラットフォームの主要構成要素の概略図を示す。特定の実施形態では、計算プラットフォーム７０２は、制御部７０４、メモリ７０６、入力／出力サブシステム７１０を含み得る。特定の実施形態では、制御部７０４は、１つまたは複数のプロセッサおよび／または命令を実行するとともに計算プラットフォームに関連する動作を行うように構成された１つまたは複数のマイクロコントローラを含み得る。様々な実施形態では、制御部７０４は、シングルチップ、マルチチップ、および／または１つまたは複数の集積回路とプリント回路基板を含む他の電気部品として実装され得る。制御部７０４は、任意選択的に、命令、データ、またはコンピュータアドレスの一時的ローカル記憶のためのキャッシュメモリユニットを含み得る。一例として、メモリから取り出される命令を使用して、制御部７０４は、計算プラットフォーム７０２の要素間の入力および出力データの受信と操作を制御し得る。一例として、制御部７０４は、１つまたは複数のプロセッサ、または、計算プラットフォーム７０２のいくつかの処理タスク（例えば２Ｄ／３Ｄグラフィックス処理、イメージ処理、またはビデオ処理）に専用化された１つまたは複数の制御装置を含み得る。
【００４３】
好適なオペレーティングシステムと共に制御部７０４は、コンピュータコードの形式の命令を実行してデータを生成し使用するように動作し得る。一例としてそして限定目的では無く、オペレーティングシステムは、好適なオペレーティングシステムの中でも特に、ウィンドウズ（登録商標）（Ｗｉｎｄｏｗｓ（登録商標））ベース、マック（Ｍａｃ）ベース、ユニックス（ＵＮＩＸ（登録商標））またはリナックス（登録商標）（ＬＩＮＵＸ（登録商標））ベース、またはシンビアン（Ｓｙｍｂｉａｎ）ベースであり得る。オペレーティングシステム、他のコンピュータコード、および／またはデータは、制御部７０４に動作可能に結合されるメモリ７０６内に物理的に格納され得る。
【００４４】
メモリ７０６は１つまたは複数の記憶媒体を包含し、通常、計算プラットフォーム７０２により使用されるコンピュータコード（例えば、ソフトウェアおよび／またはファームウェア）とデータを格納する場所を提供し得る。一例として、メモリ７０６は、読み取り専用メモリ（ＲＯＭ）および／またはランダムアクセスメモリ（ＲＡＭ）を含む様々な有形のコンピュータ可読記憶媒体を含み得る。当該技術分野で周知のように、ＲＯＭはデータと命令を制御部７０４に対し一方向に転送するように働き、ＲＡＭは通常、データと命令を双方向に転送するために使用される。メモリ７０６はまた、一例として、制御部７０４に双方向に結合される他の好適な形式のメモリの中でも特に、ハードディスクドライブ（ＨＤＤ）、ソリッドステートドライブ（ＳＳＤ：ｓｏｌｉｄ−ｓｔａｔｅ  ｄｒｉｖｅ）、フラッシュメモリカード（例えばセキュアデジタル、ＳＤカード、埋め込みマルチメディアカード（ＭｕｌｔｉＭｅｄｉａＣａｒｄ）、またはｅＭＭＤカード）の形式の１つまたは複数の固定ストレージを含み得る。情報はまた、必要な場合は計算プラットフォーム内に実装または設置される１つまたは複数の着脱可能記憶媒体上に存在し得る。一例として、多くの好適なメモリカードの任意のもの（例えばＳＤカード）が一時的または恒久的ベースで計算プラットフォーム７０２に実装され得る。
【００４５】
入力／出力サブシステム７１０は、制御部７０４に動作可能に接続された１つまたは複
数の入力デバイスおよび出力デバイスを含み得る。例えば、入力／出力サブシステムは、キーボード、マウス、１つまたは複数のボタン、サムホイール、および／またはディスプレイ（例えば液晶ディスプレイ（ＬＣＤ）、発光ダイオード（ＬＥＤ）、干渉変調器ディスプレイ（ＩＭＯＤ：Ｉｎｔｅｒｆｅｒｏｍｅｔｒｉｃ  ｍｏｄｕｌａｔｏｒ  ｄｉｓｐｌａｙ）、または任意の他の好適なディスプレイ技術）を含み得る。通常、入力デバイスは、外部世界からのデータ、命令、応答を計算プラットフォーム７０２へ転送するように構成される。ディスプレイは通常、計算プラットフォーム７０２のユーザとモバイル機器上で走るオペレーティングシステムまたはアプリケーションとの間の簡単ビジュアルインターフェースを提供するグラフィックユーザインターフェース（ＧＵＩ）を表示するように構成される。通常、ＧＵＩは、プログラムと、ファイルと、グラフィックイメージを伴う操作選択肢とを提示する。操作中、ユーザは、関連する機能とタスクとを開始するためにディスプレイ上に表示される様々なグラフィックイメージを選択し起動し得る。入力／出力サブシステム７１０はまた、タッチパッドとタッチスクリーンなどの接触ベースデバイスを含み得る。タッチパッドは、ユーザの接触ベース入力を検出する表面を含む入力デバイスである。同様に、タッチスクリーンは、ユーザ接触入力の有無と位置を検出するディスプレイである。入力／出力システム７１０はまた、２回または３回の指の接触などの２つ以上の接触入力の有無、位置、動きを識別することができるデュアルタッチまたはマルチタッチディスプレイまたはタッチパッドを含み得る。
【００４６】
特定の実施形態では、計算プラットフォーム７０２は、計算プラットフォーム７０２の様々な機能を容易にするように制御部７０４に動作可能に接続された音声サブシステム７１２、カメラサブシステム７１２、無線通信サブシステム７１６、センササブシステム７１８、および／または有線通信サブシステム７２０を追加的に含み得る。例えば、スピーカ、マイクロホン、および音声信号を処理するように構成されたコーデックモジュールを含む音声サブシステム７１２は、音声認識、音声複製、デジタル記録、電話機能などの音声有効化（ｖｏｉｃｅ−ｅｎａｂｌｅｄ）機能を容易にするために利用することができる。例えば、光センサ（例えば電荷結合装置（ＣＣＤ：ｃｈａｒｇｅｄ  ｃｏｕｐｌｅｄ  ｄｅｖｉｃｅ）、または相補性金属酸化膜半導体（ＣＭＯＳ）イメージセンサ）を含むカメラサブシステム７１２は、写真とビデオクリップを記録するなどのカメラ機能を容易にするために利用することができる。例えば、有線通信サブシステム７２０は、ファイル転送のためのユニバーサルシリアルバス（ＵＳＢ）ポート、またはローカルエリアネットワーク（ＬＡＮ）への接続のためのイーサネット（登録商標）ポート（ＥＴＨＥＲＮＥＴ（登録商標）  ｐｏｒｔ）を含むことができる。
【００４７】
無線通信サブシステム７１６は、１つまたは複数の無線ネットワーク、例えば無線ＰＡＮ（ＷＰＡＮ）（例えばブルートゥース（ＢＬＵＥＴＯＯＴＨ（登録商標））ＷＰＡＮ、赤外線ＰＡＮなど）、ＷＩ−ＦＩネットワーク（例えば８０２．１１ａ／ｂ／ｇ／ｎ  ＷＩ−ＦＩネットワーク、８０２．１１ｓメッシュネットワークなど）、ＷＩ−ＭＡＸネットワーク、セルラ電話ネットワーク（例えばグローバル移動体通信システム（ＧＳＭ（登録商標）：Ｇｌｏｂａｌ  Ｓｙｓｔｅｍ  ｆｏｒ  Ｍｏｂｉｌｅ  Ｃｏｍｍｕｎｉｃａｔｉｏｎｓ）ネットワーク、ＧＳＭ（登録商標）進化型高速データレート（ＥＤＧＥ：Ｅｎｈａｎｃｅｄ  Ｄａｔａ  Ｒａｔｅｓ  ｆｏｒ  ＧＳＭ  Ｅｖｏｌｕｔｉｏｎ）ネットワーク、ユニバーサル移動体電話システム（ＵＭＴＳ：Ｕｎｉｖｅｒｓａｌ  Ｍｏｂｉｌｅ
Ｔｅｌｅｃｏｍｍｕｎｉｃａｔｉｏｎｓ  Ｓｙｓｔｅｍ）ネットワーク、および／またはロングタームエボリューション（ＬＴＥ：Ｌｏｎｇ  Ｔｅｒｍ  Ｅｖｏｌｕｔｉｏｎ）ネットワークなど）上で動作するように設計することができる。加えて、無線通信サブシステム７１６は、計算プラットフォーム７０２が他の無線装置のための基地局として構成され得るようにプロトコルをホストすることを含み得る。
【００４８】
センササブシステム７１８は、追加入力を提供するとともに計算プラットフォーム７０
２の多数の機能を容易にするように１つまたは複数のセンサ装置を含み得る。例えば、センササブシステム７１８は、測位用ＧＰＳセンサ、高度測位用高度計、携帯機器の配向を決定するための運動センサ、カメラサブシステム７１４を含む撮影機能用光センサ、周囲温度を測定するための温度センサ、および／またはセキュリティ応用のための生体測定センサ（例えば指紋読み取り装置）を含み得る。
【００４９】
特定の実施形態では、計算プラットフォーム７０２の様々な要素は、１つまたは複数のバス（ハードウェアおよび／またはソフトウェアを含む）によって一緒に動作可能に接続され得る。制約条件としてではなく一例として、１つまたは複数のバスは、アクセラレイテッドグラフィックポート（ＡＧＰ：Ａｃｃｅｌｅｒａｔｅｄ  Ｇｒａｐｈｉｃｓ  Ｐｏｒｔ）または他のグラフィックバス、強化型業界標準アーキテクチャ（ＥＩＳＡ：Ｅｎｈａｎｃｅｄ  Ｉｎｄｕｓｔｒｙ  Ｓｔａｎｄａｒｄ  Ａｒｃｈｉｔｅｃｔｕｒｅ）バス、フロントサイドバス（ＦＳＢ：ｆｒｏｎｔ−ｓｉｄｅ  ｂｕｓ）、ハイパートランスポート（ＨＴ：ＨＹＰＥＲＴＲＡＮＳＰＯＲＴ）相互接続、業界標準アーキテクチャ（ＩＳＡ：Ｉｎｄｕｓｔｒｙ  Ｓｔａｎｄａｒｄ  Ａｒｃｈｉｔｅｃｔｕｒｅ）バス、インフィニバンド（ＩＮＦＩＮＩＢＡＮＤ）相互接続、ローピンカウント（ＬＰＣ：ｌｏｗ−ｐｉｎ−ｃｏｕｎｔ）バス、メモリバス、マイクロチャネルアーキテクチャ（ＭＣＡ：Ｍｉｃｒｏ  Ｃｈａｎｎｅｌ  Ａｒｃｈｉｔｅｃｔｕｒｅ）バス、周辺部品相互接続（ＰＣＩ：Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）、ＰＣＩエックス：ＰＣＩエクスプレス（ＰＣＩ−Ｘ：ＰＣＩ−Ｅｘｐｒｅｓｓ）バス、シリアルアドバンストテクノロジアタッチメント（ＳＡＴＡ：ｓｅｒｉａｌ  ａｄｖａｎｃｅｄ  ｔｅｃｈｎｏｌｏｇｙ  ａｔｔａｃｈｍｅｎｔ）バス、ビデオ電子装置規格化協会ローカル（ＶＬＢ：Ｖｉｄｅｏ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｓｔａｎｄａｒｄｓ  Ａｓｓｏｃｉａｔｉｏｎ  ｌｏｃａｌ）バス、ユニバーサル非同期受信器／送信器（ＵＡＲＴ：Ｕｎｉｖｅｒｓａｌ  Ａｓｙｎｃｈｒｏｎｏｕｓ  Ｒｅｃｅｉｖｅｒ／Ｔｒａｎｓｍｉｔｔｅｒ）インターフェース、ＩＣ間（Ｉ２Ｃ：Ｉｎｔｅｒ−Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）バス、シリアル周辺インターフェース（ＳＰＩ：Ｓｅｒｉａｌ  Ｐｅｒｉｐｈｅｒａｌ  Ｉｎｔｅｒｆａｃｅ）バス、セキュアデジタル（ＳＤ：Ｓｅｃｕｒｅ  Ｄｅｇｉｔａｌ）メモリインタフェース、マルチメディアカード（ＭＭＣ：ＭｕｌｔｉＭｅｄｉａＣａｒｄ）メモリインタフェース、メモリスティック（ＭＳ：Ｍｅｍｏｒｙ  Ｓｔｉｃｋ）メモリインタフェース、セキュアデジタル入出力（ＳＤＩＯ：Ｓｅｃｕｒｅ  Ｄｉｇｉｔａｌ  Ｉｎｐｕｔ  Ｏｕｔｐｕｔ）インターフェース、多重チャネルバッファシリアルポート（ＭｃＢＳＰ：Ｍｕｌｔｉ−ｃｈａｎｎｅｌ  Ｂｕｆｆｅｒｅｄ  Ｓｅｒｉａｌ  Ｐｏｒｔ）バス、ユニバーサルシリアルバス（ＵＳＢ：Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）バス、汎用メモリコントローラ（ＧＰＭＣ：Ｇｅｎｅｒａｌ  Ｐｕｒｐｏｓｅ  Ｍｅｍｏｒｙ  Ｃｏｎｔｒｏｌｌｅｒ）バス、ＳＤＲＡＭコントローラ（ＳＤＲＣ：ＳＤＲＡＭ  Ｃｏｎｔｒｏｌｌｅｒ）バス、汎用入出力（ＧＰＩＯ：Ｇｅｎｅｒａｌ  Ｐｕｒｐｏｓｅ  Ｉｎｐｕｔ／Ｏｕｔｐｕｔ）バス、分離ビデオ（Ｓ−Ｖｉｄｅｏ：Ｓｅｐａｒａｔｅ  Ｖｉｄｅｏ）バス、表示シリアルインターフェース（ＤＳＩ：Ｄｉｓｐｌａｙ  Ｓｅｒｉａｌ  Ｉｎｔｅｒｆａｃｅ）バス、拡張マイクロコントローラバスアーキテクチャ（ＡＭＢＡ：Ａｄｖａｎｃｅｄ  Ｍｉｃｒｏｃ��ｎｔｒｏｌｌｅｒ  Ｂｕｓ  Ａｒｃｈｉｔｅｃｔｕｒｅ）バス、他の好適なバス、またはこれらの２つ以上の組合せを含み得る。加えて、計算プラットフォーム７０２は電源７３２により給電され得る。  本明細書では、コンピュータ可読記憶媒体への参照は、１つまたは複数の非一時的、有形、コンピュータ可読記憶媒体処理構造を包含する。制約条件としてではなく一例として、コンピュータ可読記憶媒体は、適切な場合、半導体ベースまたは他の集積化回路（ＩＣ）（例えば、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）または特定用途ＩＣ（ＡＳＩＣ）など）、ハードディスク、ＨＤＤ、ハイブリッドハードドライブ（ＨＨＤ：ｈｙｂｒｉｄ  ｈａｒｄ  ｄｒｉｖｅ）、光ディスク、光ディスクドライブ（ＯＤＤ）、光磁気ディスク、光磁気ドライブ、フロッピー（登録商標）ディスク、フロッピー（登録商標）ディスクドラ
イブ（ＦＤＤ）、磁気テープ、ホログラフィック記憶媒体、ソリッドステートドライブ（ＳＳＤ：ｓｏｌｉｄ−ｓｔａｔｅ  ｄｒｉｖｅ）、ＲＡＭ駆動装置、セキュアデジタル（ＳＥＣＵＲＥ  ＤＩＧＩＴＡＬ）カード、セキュアデジタル駆動装置、他の好適なコンピュータ可読記憶媒体、またはこれらの２つ以上の組み合わせを含み得る。本明細書では、コンピュータ可読記憶媒体への参照は、合衆国法典第３５巻第１０１条下の特許権保護を受ける資格が無いいかなる媒体も除外する。本明細書では、コンピュータ可読記憶媒体への参照は、合衆国法典第３５巻第１０１条下の特許権保護を受ける資格が無い限り、信号送信の一時的形式（電気的または電磁気的伝播信号自体など）を除外する。
【００５０】
本開示は、任意の好適なストレージを実施する１つまたは複数のコンピュータ可読記憶媒体を企図する。特定の実施形態では、コンピュータ可読記憶媒体は、適切な場合、プロセッサ６０２の１つまたは複数の部分（例えば１つまたは複数の内部レジスタまたはキャッシュなど）、メモリ６０４の１つまたは複数の部分、ストレージ６０６の１つまたは複数の部分、またはこれらの組み合わせを実装する。特定の実施形態では、コンピュータ可読記憶媒体はＲＡＭまたはＲＯＭを実装する。特定の実施形態では、コンピュータ可読記憶媒体は揮発性または持続性メモリを実装する。特定の実施形態では、１つまたは複数のコンピュータ可読記憶媒体はソフトウェアを具現する。本明細書では、ソフトウェアへの参照は、適切な場合、１つまたは複数のアプリケーション、バイトコード、１つまたは複数のコンピュータプログラム、１つまたは複数の実行ファイル、１つまたは複数の命令、論理、マシンコード、１つまたは複数のスクリプト、またはソースコードを包含してもよく、逆もまた同様である。特定の実施形態では、ソフトウェアは１つまたは複数のアプリケーションプログラムインターフェイス（ＡＰＩ）を含む。本開示は、任意の好適なプログラミング言語またはプログラミング言語の組み合わせで記述されるか、または表現される任意の好適なソフトウェアを企図する。特定の実施形態では、ソフトウェアはソースコードまたはオブジェクトコードとして表現される。特定の実施形態では、ソフトウェアは、例えばＣ、Ｐｅｒｌ、または好適なその拡張版などのハイレベルプログラミング言語で表現される。特定の実施形態では、ソフトウェアは、アセンブリ言語（またはマシンコード）などのローレベルプログラミング言語で表現される。特定の実施形態では、ソフトウェアはジャバ（ＪＡＶＡ（登録商標））で表現される。特定の実施形態では、ソフトウェアは、ハイパーテキストマークアップ言語（ＨＴＭＬ：Ｈｙｐｅｒ  Ｔｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）、拡張可能マークアップ言語（ＸＭＬ：Ｅｘｔｅｎｓｉｂｌｅ
Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）、または他の好適なマークアップ言語で表現される。
【００５１】
本開示は、当業者であれば理解されるであろう本明細書の例示的実施形態に対するすべての変更、置換、変形、代替、修正を包含する。同様に、適切な場合には、添付の特許請求の範囲は、当業者であれば理解されるであろう本明細書の例示的な実施形態に対するすべての変更、置換、変形、代替、修正を包含する。
【図３】
0006030117.tif 000002
【図１】
0006030117.tif 000003
【図２】
0006030117.tif 000004
【図４】
0006030117.tif 000005
【図４Ａ】
0006030117.tif 000006
【図５】
0006030117.tif 000007
【図６】
0006030117.tif 000008
【図７】
0006030117.tif 000009