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

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

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

特許6030117空間的および時間的近接性に基づく顔認識
<>
  • 特許6030117-空間的および時間的近接性に基づく顔認識 図000002
  • 特許6030117-空間的および時間的近接性に基づく顔認識 図000003
  • 特許6030117-空間的および時間的近接性に基づく顔認識 図000004
  • 特許6030117-空間的および時間的近接性に基づく顔認識 図000005
  • 特許6030117-空間的および時間的近接性に基づく顔認識 図000006
  • 特許6030117-空間的および時間的近接性に基づく顔認識 図000007
  • 特許6030117-空間的および時間的近接性に基づく顔認識 図000008
  • 特許6030117-空間的および時間的近接性に基づく顔認識 図000009
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6030117
(24)【登録日】2016年10月28日
(45)【発行日】2016年11月24日
(54)【発明の名称】空間的および時間的近接性に基づく顔認識
(51)【国際特許分類】
   G06F 17/30 20060101AFI20161114BHJP
   G06T 7/00 20060101ALI20161114BHJP
   H04N 21/431 20110101ALI20161114BHJP
   H04N 21/258 20110101ALI20161114BHJP
【FI】
   G06F17/30 170B
   G06F17/30 419B
   G06F17/30 310Z
   G06T7/00 300Z
   H04N21/431
   H04N21/258
【請求項の数】21
【全頁数】25
(21)【出願番号】特願2014-502595(P2014-502595)
(86)(22)【出願日】2012年3月8日
(65)【公表番号】特表2014-518573(P2014-518573A)
(43)【公表日】2014年7月31日
(86)【国際出願番号】US2012028225
(87)【国際公開番号】WO2012134756
(87)【国際公開日】20121004
【審査請求日】2015年2月12日
(31)【優先権主張番号】13/074,743
(32)【優先日】2011年3月29日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】508178054
【氏名又は名称】フェイスブック,インク.
(74)【代理人】
【識別番号】100105957
【弁理士】
【氏名又は名称】恩田 誠
(74)【代理人】
【識別番号】100068755
【弁理士】
【氏名又は名称】恩田 博宣
(74)【代理人】
【識別番号】100142907
【弁理士】
【氏名又は名称】本田 淳
(72)【発明者】
【氏名】パパキポス、パイドラ
(72)【発明者】
【氏名】パパキポス、マシュー ニコラス
【審査官】 齊藤 貴孝
(56)【参考文献】
【文献】 国際公開第2009/116049(WO,A1)
【文献】 国際公開第2010/078553(WO,A1)
【文献】 米国特許出願公開第2006/0018522(US,A1)
【文献】 国際公開第2011/017653(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 17/30
G06T 7/00
H04N 21/258
H04N 21/431
(57)【特許請求の範囲】
【請求項1】
1以上のコンピューティングデバイスが、第1のユーザに関連するイメージファイルにアクセスする工程と、
1以上のコンピューティングデバイスが、前記イメージファイルに対応するイメージ内の顔検出する顔検出工程と、
1以上のコンピューティングデバイスが、前記第1のユーザおよび複数の第2のユーザに関連付けられているソーシャルネットワーキングシステムにアクセスする工程であって、
前記ソーシャルネットワーキングシステムは、複数のノードと前記ノード同士を接続するエッジとを備えるグラフを備え、
前記ノードのうちの少なくとも1つは、前記第1のユーザに対応しており、
前記第2のユーザの各々について、前記ノードのうちの少なくとも1つは、前記第2のユーザに対応している、工程と、
1以上のコンピューティングデバイスが、前記第2のユーザの中から前記顔とのマッチングが行われるべき1人または複数の候補者を決定する工であって、前記決定は、少なくとも部分的に、
前記ソーシャルネットワーキングシステムによって示された、前記イメージに関連付けられている時間および場所に対する前記第2のユーザの時間的および空間的な近接性と、時間的および空間的な近接性の閾値との比較と、
前記ソーシャルネットワーキングシステムによって示された、前記第1のユーザと前記第2のユーザとの間の分離度と、分離度の閾値との比較とに基づく、一致決定工程と、を含む方法。
【請求項2】
第1のユーザが前記顔とのマッチングを行うための前記候補者を前記第1のユーザに提示する提示工程をさらに備える、請求項1に記載の方法。
【請求項3】
前記一致決定工程はさらに、前記顔への顔認識アルゴリズムの適用にさらに基づく、請求項1に記載の方法。
【請求項4】
前記提示工程は、
記1人または複数候補者に関連する情報について1つまたは複数のデータストアへアクセスする工程と
記1人または複数の候補者に関連する情報を含む1つまたは複数のフレームを生成する工程と、
少なくとも部分的に前記イメージに重なる前記1つまたは複数のフレームを表示する工程と、を含む、請求項に記載の方法。
【請求項5】
前記1つまたは複数のフレームは1つまたは複数の選択可能アイコンを含む、請求項4に記載の方法。
【請求項6】
前記イメージファイルはデジタル形式の真および関連するメタデータ、または、デジタル形式の動画および関連するメタデータを含む、請求項1に記載の方法。
【請求項7】
前記一致決定工程は、
前記ソーシャルネットワーキングシステムによって示された、前記第2のユーザの前記イメージに関連付けられている時間および場所への時間的および空間的な近接性と、時間的および空間的な近接性の閾値との比較と、
前記ソーシャルネットワーキングシステムによって示された、前記第1のユーザと前記第2のユーザとの間の分離度と、分離度の閾値との比較と、
に基づいて、前記第2のユーザのサブセットを識別する工程と、
前記顔認識アルゴリズムによって、前記イメージ内の前記顔を前記サブセットの中の前記第2のユーザの顔と比較する工程とを含む、請求項に記載の方法。
【請求項8】
つまたは複数のプロセッサと、
前記プロセッサに結合されており、前記プロセッサによって実行可能な命令を備えるメモリとを備え、
記命令は、実行されるとき前記プロセッサに、
第1のユーザに関連するイメージファイルにアクセスする工程と、
前記イメージファイルに対応するイメージ内の顔決定する工程と、
前記第1のユーザおよび複数の第2のユーザに関連付けられているソーシャルネットワーキングシステムにアクセスする工程であって、
前記ソーシャルネットワーキングシステムは、複数のノードと前記ノード同士を接続するエッジとを備えるグラフを備え、
前記ノードのうちの少なくとも1つは、前記第1のユーザに対応しており、
前記第2のユーザの各々について、前記ノードのうちの少なくとも1つは、前記第2のユーザに対応している、工程と、
前記第2のユーザの中から前記顔とのマッチングが行われるべき1人または複数の候補者を決定する工程であって、前記決定は、少なくとも部分的に、
前記ソーシャルネットワーキングシステムによって示された、前記イメージに関連付けられている時間および場所に対する前記第2のユーザの時間的および空間的な近接性と、時間的および空間的な近接性の閾値との比較と、
前記ソーシャルネットワーキングシステムによって示された、前記第1のユーザと前記第2のユーザとの間の分離度と、分離度の閾値との比較とに基づく、一致決定工程と、を行わせるように動作する、システム。
【請求項9】
前記命令は、実行されるとき前記プロセッサに、
前記第1のユーザが前記顔とのマッチングを行うための前記候補者を前記第1のユーザに提示する提示工程をさらに行わせるように動作する、請求項8に記載のシステム。
【請求項10】
前記一致決定工程はさらに、前記顔への顔認識アルゴリズム適用に基づく、請求項8に記載のシステム。
【請求項11】
前記提示工程
記1人または複数の候補者に関連する情報の1つまたは複数のデータストアへアクセスする工程と
記1人または複数の候補者に関連する情報を含む1つまたは複数のフレームを生成する工程と
少なくとも部分的に前記イメージに重なる前記1つまたは複数のフレームを表示する工程と、を含む、請求項に記載のシステム。
【請求項12】
前記1つまたは複数のフレームは1つまたは複数の選択可能アイコンを含む、請求項11に記載のシステム。
【請求項13】
前記イメージファイルはデジタル形式の真および関連するメタデータ、または、デジタル形式の動画および関連するメタデータを含む、請求項8に記載のシステム。
【請求項14】
前記一致決定工程は、
前記ソーシャルネットワーキングシステムによって示された、前記第2のユーザの前記イメージに関連付けられている時間および場所への時間的および空間的な近接性と、時間的および空間的な近接性の閾値との比較と、
前記ソーシャルネットワーキングシステムによって示された、前記第1のユーザと前記第2のユーザとの間の分離度と、分離度の閾値との比較と、
に基づいて、前記第2のユーザのサブセットを識別する工程と、
前記顔認識アルゴリズムによって、前記イメージ内の前記顔を前記サブセットの中の前記第2のユーザの顔と比較する工程とを含む、請求項10に記載のシステム。
【請求項15】
ソフトウェアを具現化した1つまたは複数の非一時的コンピュータ可読記憶媒体であって、前記ソフトウェアは、実行されるとき、
第1のユーザに関連するイメージファイルにアクセスする工程と、
前記イメージファイルに対応するイメージ内の顔検出する工程と、
前記第1のユーザおよび複数の第2のユーザに関連付けられているソーシャルネットワーキングシステムにアクセスする工程であって、
前記ソーシャルネットワーキングシステムは、複数のノードと前記ノード同士を接続するエッジとを備えるグラフを備え、
前記ノードのうちの少なくとも1つは、前記第1のユーザに対応しており、
前記第2のユーザの各々について、前記ノードのうちの少なくとも1つは、前記第2のユーザに対応している、工程と、
前記第2のユーザの中から前記顔とのマッチングが行われるべき1人または複数の候補者を決定する工程であって、前記決定は、少なくとも部分的に、
前記ソーシャルネットワーキングシステムによって示された、前記イメージに関連付けられている時間および場所に対する前記第2のユーザの時間的および空間的な近接性と、時間的および空間的な近接性の閾値との比較と、
前記ソーシャルネットワーキングシステムによって示された、前記第1のユーザと前記第2のユーザとの間の分離度と、分離度の閾値との比較とに基づく、一致決定工程と、が行われるように構成される、媒体。
【請求項16】
前記ソフトウェアが実行されるとき、第1のユーザが前記顔とのマッチングを行うための前記候補者を前記第1のユーザに提示する提示工程がさらに行われるように構成される、請求項15に記載の媒体。
【請求項17】
前記一致決定工程は
前記顔への顔認識アルゴリズム適用にさらに基づく、請求項15に記載の媒体。
【請求項18】
前記提示工程はさらに、
記1人または複数の候補者に関連する情報の1つまたは複数のデータストアへアクセスする工程と
記1人または複数の候補者に関連する情報を含む1つまたは複数のフレームを生成する工程と
少なくとも部分的に前記イメージに重なる前記1つまたは複数のフレームを表示する工程と、を含む、請求項16に記載の媒体。
【請求項19】
前記1つまたは複数のフレームは、1つまたは複数の選択可能アイコンを含む、請求項18に記載の媒体。
【請求項20】
前記一致決定工程は、
前記ソーシャルネットワーキングシステムによって示された、前記第2のユーザの前記イメージに関連付けられている時間および場所への時間的および空間的な近接性と、時間的および空間的な近接性の閾値との比較と、
前記ソーシャルネットワーキングシステムによって示された、前記第1のユーザと前記第2のユーザとの間の分離度と、分離度の閾値との比較と、
に基づいて、前記第2のユーザのサブセットを識別する工程と、
前記顔認識アルゴリズムによって、前記イメージ内の前記顔を前記サブセットの中の前記第2のユーザの顔と比較する工程とを含む、請求項17に記載の媒体。
【請求項21】
前記イメージファイルはデジタル形式の写真および関連するメタデータ、または、デジタル形式の動画および関連するメタデータを含む、請求項15に記載の媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は一般的には、顔認識とソーシャルネットワーク情報の解析とに基づく人物識別に関する。
【背景技術】
【0002】
ソーシャルネットワーキングウェブサイトなどのソーシャルネットワーキングシステムは、そのユーザがシステムと相互作用(対話)し、システムを通じてユーザ同士が互いに相互作用できるようにする。ソーシャルネットワーキングシステムは、ユーザに関連して記録(ユーザプロファイルとしばしば呼ばれる)を生成し格納し得る。ユーザプロファイルは、ユーザの人口学的情報、通信チャネル情報、個人的関心を含み得る。ソーシャルネットワーキングシステムはまた、ソーシャルネットワーキングシステム内のユーザ間のソーシャル相互作用を容易にするサービス(例えばウォールポスト、写真共有、またはインスタントメッセージング)を提供するだけでなく、ユーザのソーシャルネットワーキングシステム内の他のユーザとユーザとの関係の記録(例えばソーシャルグラフ)を生成し格納し得る。例えば、ソーシャルネットワーキングウェブサイトのユーザは、ソーシャルネットワーキングウェブサイトに格納されたアドレス帳にアクセスし、アドレス帳内のコンタクトを調べ、電子メールを通じて同コンタクトに接続することができる。
【図面の簡単な説明】
【0003】
図1】例示的なソーシャルネットワーキングシステムを示す図。
図2】空間的および時間的近接性に基づく顔認識に関わる人物識別処理の例を示す図。
図3】携帯電話によって表示された一組の個人を含むイメージの例を示す。
図4】イメージファイルにおける一致したユーザを提示するユーザインターフェースの例を示す図。
図4A】イメージファイルにおける一致した2つ以上の識別された顔を提示するユーザインターフェースの例を示す図。
図5】例示的なネットワーク環境を示す図。
図6】例示的なコンピュータシステムを示す図。
図7】例示的な携帯機器プラットフォームを示す図。
【発明を実施するための形態】
【0004】
特定の実施形態は、1人または複数の個人の空間的および時間的近接性に基づき、第1のユーザに関連する静止イメージまたはビデオシーケンスのイメージファイル内の1つまたは複数の顔に一致する1人または複数の個人を決定するソーシャルネットワーキングシステムに関する。本開示のこれらおよび他の特徴、態様、利点については、以下の詳細な説明においておよび以下の図と併せてさらに詳細に説明する。
【0005】
次に、本発明について、添付図面に示すような本発明のいくつかの実施形態を参照して詳細に説明する。以下の明細書では、本開示を十分に理解するために多くの具体的な詳細が説明される。しかし、本開示はこれらの特定の詳細のいくつかまたはすべてが無くても実行され得るということが当業者には明らかである。他の場合では、本開示を不必要に不明確にすることを避けるため、周知の処理工程および/または構造について詳細には説明されない。加えて、本開示は特定の実施形態と併せて説明されるが、この説明は、記載された実施形態に本開示を制限するように意図するものではないということを理解すべきである。逆に、本明細書は、添付の特許請求範囲により定義されるような本開示の精神と範囲に含まれ得る代替物、修正物、等価物をカバーするように意図されている。
【0006】
ソーシャルネットワーキングウェブサイトなどのソーシャルネットワーキングシステムはそのユーザがシステムと相互作用し、システムを通じてユーザ同士が互いに相互作用できるようにする。通常、ソーシャルネットワーキングシステムの登録利用者になるために、人間または人間以外のいずれかのエンティティは、ソーシャルネットワーキングシステムにアカウントの登録をする。その後、登録利用者は、例えば正しいログインIDまたはユーザ名とパスワードを与えることによりアカウントを通じてソーシャルネットワーキングシステムにログインし得る。本明細書で使用されるように、「ユーザ」は、このようなソーシャルネットワーク環境と相互作用するまたは環境上で通信する個人(人であるユーザ)、エンティティ(例えば企業、ビジネスまたは第三者アプリケーション)、またはグループ(例えば個人またはエンティティの)であり得る。
【0007】
ユーザがソーシャルネットワーキングシステムにアカウントの登録をすると、ソーシャルネットワーキングシステムは、ユーザに関連する記録(「ユーザプロファイル」としばしば呼ばれる)を生成し格納し得る。ユーザプロファイルは、ユーザにより提供される情報と、ユーザのアクティビティまたはアクションに関係する、ソーシャルネットワーキングシステムを含む様々なシステムにより収集される情報と、を含み得る。例えば、ユーザは、該ユーザの名前、プロファイル写真、コンタクト情報、生年月日、性別、配偶関係、家族状況、雇用情報、学歴、嗜好、関心、および該ユーザのユーザプロファイルに含まれる他の人口統計的な情報を提供し得る。ユーザは、友達であると考えるソーシャルネットワーキングシステムの他のユーザを特定し得る。ユーザの友達または一次コンタクトのリストがユーザのプロファイルに含まれ得る。ソーシャルネットワーキングシステム内の接続は両方向または単に一方向であり得る。例えば、ボブとジョーが両方ともユーザであり互いに接続すれば、ボブとジョーはそれぞれ他方の接続先である。一方、ボブがサムの投稿したコンテンツ項目を閲覧するためにサムに接続したいが、サムはボブに接続したくない場合、サムはボブの接続先であるがボブはサムの接続先ではないという一方向接続が形成され得る。ソーシャルネットワーキングシステムのいくつかの実施形態は、接続が1つまたは複数のレベルの接続(例えば友達の友達)を通じて間接的となるようにすることができる。接続は、ユーザにより明示的に追加され得る(例えば、友達となる特定の他のユーザをユーザが選択する)、またはユーザの共通特徴(例えば同じ教育機関の卒業生であるユーザ)に基づきソーシャルネットワーキングシステムにより自動的に生成され得る。ユーザは、該ユーザが頻繁に訪れるウェブサイトまたはウェブページを特定してもよく、またはそのウェブサイト等にブックマークを付けてもよく、これらのウェブサイトまたはウェブページはユーザのプロファイルに含まれてもよい。
【0008】
ユーザは、アカウントの登録手続きをする時またはそのしばらく後にユーザの様々な態様に関係する情報(コンタクト情報と関心など)を提供し得る。ユーザはまた、いつでも自身のプロファイル情報を更新し得る。例えば、ユーザが引っ越したり電話番号を変更したりするとき、該ユーザはコンタクト情報を更新し得る。加えて、ユーザの関心は時間の経過と共に変化してもよく、ユーザは時々、該ユーザのプロファイル内の該ユーザの関心を更新し得る。システム上の特定の情報にアクセスする頻度などのソーシャルネットワーキングシステム上のユーザのアクティビティもまた、ユーザのプロファイルに含まれ得る情報を提供し得る。また、このような情報はユーザの直近のアクティビティを反映するように時々更新され得る。さらに、他のユーザまたはユーザの、いわゆる友達またはコンタクトも、ユーザのプロファイルに影響を与えるか、またはその更新を引き起こすアクティビティを行い得る。例えば、コンタクトはユーザを友達として追加(またはユーザを友達から除く)し得る。コンタクトはまた、ユーザのプロファイルページ(通常、ウォールポストとして知られる)にメッセージを書き込み得る。ユーザはまた、ユーザのプロファイルページに投稿されるステータスメッセージを入力し得る。
【0009】
ソーシャルネットワーキングシステムは、ソーシャルグラフ情報(通常、個人のグループ間の関係をモデル化することができる)を維持してもよく、単なる知り合いから親密な家族的結び付きまでの範囲の関係を含んでもよい。ソーシャルネットワークはグラフ構造を使用して表され得る。グラフの各ノードはソーシャルネットワークのメンバーに対応する。2つのノードを接続するエッジは、二人のユーザ間の関係を表す。加えて、任意の2つのノード間の分離度が、1つのノードから他のノードへグラフをたどるのに必要なホップの最小数として定義される。二人のユーザ間の分離度は、グラフ内のノードにより表される2人のユーザ間の関連性の尺度と考えることができる。
【0010】
ソーシャルネットワーキングシステムは、写真共有、オンラインカレンダ、イベントなどの様々なアプリケーションをサポートし得る。例えば、ソーシャルネットワーキングシステムはまた、媒体共有能力を含み得る。例えば、ソーシャルネットワーキングシステムは、ユーザのウォールポストまたはアルバム(それらの両方はソーシャルネットワーキングシステムの他のユーザにアクセス可能であり得る)内などのユーザのプロファイルにユーザが写真および他のマルチメディアファイルを投稿できるようにし得る。ソーシャルネットワーキングシステムはまた、ユーザがイベントを構成できるようにし得る。例えば、第1のユーザは、イベントの日時、イベントの場所、イベントに招待される他のユーザの位置を含む属性によりイベントを構成し得る。招待されたユーザは、イベントへの招待状を受け取り、応答し得る(招待を受諾することまたは断ることなどにより)。さらに、ソーシャルネットワーキングシステムはユーザが個人的カレンダーを維持できるようにし得る。イベントと同様に、カレンダーエントリは、時間、日付、位置、他のユーザの識別子を含み得る。
【0011】
ソーシャルネットワーキングシステムはまた、プライバシーモデルをサポートし得る。ユーザが自身の情報を他のユーザまたは第三者アプリケーションと共有を望む場合と望まない場合とがあり、ユーザが自身の情報を特定ユーザまたは第三者アプリケーションとのみ共有を望む場合もある。ユーザは、自身の情報が、自身のユーザプロファイルに関連付けられるプライバシー設定を通じて他のユーザまたは第三者アプリケーションと共有されるか否かを管理し得る。例えば、ユーザは、ユーザに関連付けられたユーザデータごとにプライバシー設定を選択、および/またはユーザプロファイル情報のカテゴリまたはタイプにグローバルに適用する設定を選択し得る。プライバシー設定は、ユーザデータにアクセスし得る一組のエンティティ(例えば、他のユーザ、ユーザの接続、友達の友達、または第三者アプリケーション)を定義または特定する。プライバシー設定は、様々なレベルの粒度で特定されることができ、たとえば、ソーシャルネットワーク内の特定のエンティティ(例えば他のユーザ)、所定グループのユーザの接続、特定タイプの接続、ユーザの接続のすべて、ユーザの接続のすべての一次接続、ソーシャルネットワーク全体、または(例えば、投稿されたコンテンツ項目をインターネット上でインデックス化可能かつ検索可能にするために)全インターネットを特定することによる。ユーザは投稿されるすべてのユーザデータのデフォルトプライバシー設定を選択し得る。加えて、ユーザは特に、あるエンティティについて、ユーザデータまたは特定タイプのユーザデータを閲覧することから除外することができる。
【0012】
ソーシャルネットワーキングシステムは、地理的位置または場所に関係する情報のデータベースを維持し得る。場所は、レストラン、バー、鉄道駅、空港などの様々な物理的位置に対応し得る。いくつかの場所は、それ自体が空港内のレストランまたはゲート位置などの場所を含む、より大きな領域に対応し得る。一実施形態では、各場所は、あらゆる目的のためにその全体が本明細書に参照により援用される米国特許出願第12/763,171号明細書に記載されるようにソーシャルネットワーキングシステムにより維持されるソーシャルグラフまたは他のデータ構造内のハブノードとして維持されることができる。ソーシャルネットワーキングシステムは、ラップトップ、デスクトップ、または携帯機器
などの有線または無線局によりホストされるクライアントアプリケーション(例えばブラウザ)を使用することによりユーザが各場所に関する情報にアクセスできるようにし得る。例えば、ソーシャルネットワーキングシステムは、場所についての情報を要求するユーザへウェブページ(または他の構造化文書)を提供し得る。
【0013】
ユーザプロファイルと場所情報に加えて、ソーシャルネットワーキングシステムはユーザについての他の情報を追跡または維持し得る。例えば、ソーシャルネットワーキングシステムは、ユーザの位置を記録する1つまたは複数の位置ベースサービスを含むジオソーシャルネットワーキングシステム機能をサポートし得る。例えば、ユーザは、ユーザの携帯機器(または、ブラウザクライアントを使用するウェブまたはネットワークベースアプリケーション)によりホストされる専用クライアントアプリケーションを使用してジオソーシャルネットワーキングシステムにアクセスし得る。クライアントアプリケーションは、携帯機器によりサポートされる全地球測位システム(GPS)または他のジオロケーション(geo−location)機能に自動的にアクセスし、ユーザの現在位置をジオソーシャルネットワーキングシステムに報告し得る。加えて、クライアントアプリケーションは、ユーザが様々な位置においてチェックインしてこの位置を他のユーザへ伝達できるようにするジオソーシャルネットワーキング機能をサポートし得る。所与の場所へのチェックインは、ユーザが所与の場所に物理的に位置し、携帯機器を使用し、ジオソーシャルネットワーキングシステムにアクセスして同場所におけるユーザの存在を登録すると発生し得る。ユーザは、ユーザの現在位置近傍の既存の場所のリストから所与の場所を選択し、または新しい場所を生成し得る。ユーザはまた、所与の場所にチェックインする際にテキスト文字列でコメントを与え得る。ユーザはまた、チェックインに関連して1または複数の他のユーザ(ユーザの友達など)を特定し、そのユーザらもチェックインに関連付けし得る。あらゆる目的のために本明細書に参照により援用される米国特許出願第12/574,614号明細書は、第1のユーザが所与の場所において他のユーザにチェックインできるようにするシステムについて記載している。コメントとユーザがチェックインした時間に対応するタイムスタンプとを含むエントリが他のユーザに表示され得る。例えば、ユーザのチェックインアクティビティの記録はデータベース内に格納され得る。ソーシャルネットワーキングシステムは、所与の場所におけるユーザのチェックインアクティビティに関連付けられた1つまたは複数の記録を選択し、所与の場所に対応するウェブページ(または他の構造化文書)内にこのようなチェックインアクティビティを含み得る。例えば、ソーシャルネットワーキングシステムは、所与の場所に対応するページを要求するユーザの友達または他のソーシャルコンタクトに関連付けられたチェックインアクティビティを選択し得る。あらゆる目的のためにその全体が参照により援用される米国特許出願第12/858,718号明細書は、本発明の様々な実施形態に関連して使用することができる例示的ジオソーシャルネットワーキングシステムについて記載している。チェックインアクティビティはまた、ユーザプロファイルページ上に、およびソーシャルネットワーキングシステムのユーザに提供されるニュースフィード内に表示され得る。
【0014】
図1に、例示的なソーシャルネットワーキングシステムを示す。特定の実施形態では、ソーシャルネットワーキングシステムはユーザプロファイルデータとソーシャルグラフィック情報とをユーザプロファイルデータベース101内に格納し得る。特定の実施形態では、ソーシャルネットワーキングシステムはユーザイベントデータとカレンダデータをイベントデータベース102内に格納し得る。特定の実施形態では、ソーシャルネットワーキングシステムはユーザプライバシーポリシーデータをプライバシーポリシーデータベース103内に格納し得る。特定の実施形態では、ソーシャルネットワーキングシステムは地理的位置データを位置データベース104内に格納し得る。特定の実施形態では、ソーシャルネットワーキングシステムはメディアデータ(例えば写真、またはビデオクリップ)をメディアデータベース105内に格納し得る。特定の実施形態では、データベース101、102、103、104、105はソーシャルネットワーキングシステムのフロン
トエンド120に動作可能に接続され得る。特定の実施形態では、フロントエンド120はネットワーククラウド121を通じてクライアントデバイス122と相互作用し得る。クライアントデバイス122は通常、コンピュータネットワーク上で(例えば遠隔的に)通信するための機能を含むコンピュータまたはコンピューティングデバイスである。クライアントデバイス122は、いくつかある好適なコンピューティングデバイスの中で特に、デスクトップコンピュータ、ラップトップコンピュータ、携帯情報端末(PDA)、車内または車外ナビゲーションシステム、スマートフォンまたは他のセルラまたは携帯電話、または携帯ゲーム機であり得る。クライアントデバイス122は、コンピュータネットワーク上のコンテンツにアクセスし閲覧するために、ウェブブラウザ(例えばマイクロソフトウィンドウズ(登録商標)インターネットエクスプローラ、モジラファイアフォックス、モバイル用モジラファイアフォックス、アップルサファリ、グーグルクローム、オペラ(Opera)、オペラミニ(Opera Mini)、ボルト(BOLT)など)などの1つまたは複数のクライアントアプリケーションを実行し得る。フロントエンド120は、ユーザがソーシャルネットワーキングシステムにアクセスできるようにするためにウェブまたはHTTPサーバ機能および他の機能を含み得る。ネットワーククラウド121は通常、クライアントデバイス122がソーシャルネットワーキングシステムにアクセスし得るネットワークまたはネットワークの集合(インターネットまたは企業イントラネットまたはその両方の組合せなど)を表す。
【0015】
特定の実施形態では、位置データベース104は、チェックインに関連付けられたユーザの現実世界の地理的位置を識別するジオロケーションデータを格納し得る。例えば、インターネットに接続されたコンピュータの地理的位置はコンピュータのIPアドレスにより特定されることができる。例えば、Wi−FiおよびGPS機能を備えたセルラ電話の地理的位置は、セルタワーによる三角測量、Wi−Fi測位、および/またはGPS測位により識別することができる。
【0016】
特定の実施形態では、位置データベース104は、それぞれが名称、地理的位置、メタ情報を含む場所の情報ベースを格納し得る。例えば、場所は、地域ビジネス、関心の地点(例えばカリフォルニア州サンフランシスコ市内のユニオンスクエア、大学、町、または国立公園であり得る。例えば、場所(例えば地域のコーヒーショップ)の地理的位置は、住所、一組の地理的座標(緯度と経度)、または他の場所(例えば「鉄道駅の隣のコーヒーショップ」)への参照であり得る。例えば、大きな面積を有する場所(例えばヨセミテ国立公園の地理的位置は、その場所の境界を近似する形(例えば円、または多角形)および/またはその形の重心(すなわち幾何学的中心)であり得る。例えば、場所のメタ情報は、その場所、レビュー、採点、コメント、チェックインアクティビティデータなどを当初生成したユーザを識別する情報を含むことができる。場所はシステムの管理者により生成されてもよく、および/またはシステムのユーザにより生成されてもよい。例えば、ユーザは、クライアントアプリケーションにアクセスすることによって、場所の名前を定義し、および地理的位置を提供して新しい場所を登録し、新たに生成された場所が位置データベース104に登録されるようにし得る。この作成したユーザまたは他のユーザは、このページに向けられたウェブページにアクセスし、その場所のレビュー、コメント、採点などの追加情報を加え得る。特定の実施形態では、位置データベース104はユーザの位置データを格納し得る。例えば、位置データベース104はユーザのチェックインアクティビティを格納し得る。例えば、ユーザは場所(例えば新しいレストランまたはコーヒーショップ)を生成し、ソーシャルネットワーキングシステムに、生成された場所を位置データベース104内に格納させることができる。例えば、ユーザは、場所のコメント、レビュー、または採点を生成し、ソーシャルネットワーキングシステムによって、位置データベース104内にその場所のユーザのコメント、レビュー、採点が格納される。例えば、専用クライアントアプリケーションは、ユーザのGPS付き携帯機器のGPS座標を位置データベース104に報告し格納することができる。
【0017】
特定の実施形態では、ソーシャルネットワーキングシステムのユーザは1つまたは複数のメディアファイルをメディアデータベース105へアップロードし得る。例えば、ユーザは、写真または一組の写真(しばしばアルバムと呼ばれる)またはビデオクリップをクライアントデバイス122(例えばコンピュータ、またはカメラ付き携帯電話)からメディアデータベース105へアップロードすることができる。特定の実施形態では、1つまたは複数のメディアファイルは、各メディアファイルに関連するメタデータ(しばしば「タグ」と呼ばれる)を含み得る。例えば、デジタルカメラにより撮影された写真は、ファイルサイズ、解像度、タイムスタンプ、カメラメーカの名称、および/または位置(例えばGPS)座標に関連するメタデータを含み得る。ユーザは、アップロード処理中に、写真に追加メタデータ値を加えるまたは写真をタグ付けすることができる。メディアファイルのタグのいくつかの例は、著作者、タイトル、コメント、イベント名、時間、位置、メディアファイル内に現れる人々の名前、またはユーザコメントである。特定の実施形態では、ユーザは、クライアントアプリケーション(例えば写真エディタまたはビデオエディタ)を使用することにより、またはユーザの1つまたは複数のメディアファイルをクライアントデバイス122からソーシャルネットワーキングシステムへアップロードするメディアアップロードツールのグラフィックユーザインターフェースにおいて1つまたは複数のタグを入力することにより、メディアファイルをタグ付けし得る。ユーザはまた、ソーシャルネットワーキングシステムのウェブサイトにおいてアップロードした後にしばらくたってメディアファイルをタグ付けし得る。特定の実施形態では、ソーシャルネットワーキングシステムはまた、メディアファイルからメタデータを抽出し、同メタデータをメディアデータベース105内に格納し得る。ユーザまたは機械装置は、顔イメージに基づきメディアファイル内の1人または複数の個人を識別しタグ付けするために顔認識コンピュータソフトウェアを使用することができる。本明細書に記載の特定の実施形態は、空間的および時間的近接性に基づく顔認識を向上するとともに、メディアファイル内の1人または複数の個人を識別する際のユーザ経験を向上する方法について記載する。他の特定の実施形態は、個人の識別と、ユーザと個人との潜在的社会的関係の識別とをサポートするために使用することができるリアルタイム顔認識および人物識別システムを提供する。
【0018】
図2に、空間的および時間的近接性に基づく顔認識に関わる例示的な人物識別処理を示す。図2は、ソーシャルネットワーキングシステム内の1つまたは複数のコンピューティングデバイスにより、および/または携帯電話またはラップトップなどのユーザのデバイスによりホストされる人物識別処理によって実装され得る。例えば、本明細書に記載のすべてのデータセットは、処理のためにソーシャルネットワーキングシステムのサーバへアップロードされ、その結果はクライアントデバイスに送信されることができる。他の実施形態では、クライアントデバイスはデータを受信し、本明細書に記載の動作を実行し得る。他の実施形態では、処理はクライアントとサーバ間において分散され得る。1つの特定の実施形態では、第1のユーザが、イメージをキャプチャして、このイメージをソーシャルネットワーキングシステムによりホストされる遠隔の人物識別処理へ送信できるようにするクライアントアプリケーションにアクセスすると、本明細書に記載の処理が開始され得る。人物識別処理は、要求を処理し、第1のユーザがイメージにおいてほぼリアルタイムでキャプチャされる1人または複数の個人を場合によっては識別(または識別子を確認)できるようにその結果を戻し得る。特定の実施形態では、人物識別処理は、第1のユーザに関連するイメージファイルにアクセスし得る(201)。特定の実施形態では、イメージファイルは関連するメタデータを有する写真であり得る。特定の実施形態では、イメージファイルは関連するメタデータを有するビデオクリップであり得る。例えば、イメージファイルは、第1のユーザのクライアントデバイス122により撮影された写真またはビデオクリップであることができる。例えば、イメージファイルは、第1のユーザのカメラに装備された携帯機器のファインダまたはファインダユーザインターフェースに表示された静止画または動画であることができる。例えば、イメージファイルは、第1のユーザ
のクライアントデバイス122、セットトップボックス、またはデジタルビデオレコーダにより記録されたテレビ番組のビデオクリップであり得る。
【0019】
特定の実施形態では、人物識別処理は、イメージファイル内の1つまたは複数の顔を識別し得る(202)。特定の実施形態では、人物識別処理は、一致得点(マッチングスコア)を返しこの得点と閾値とを比較する顔認識のアプリケーションまたは一致アルゴリズムのアプリケーションに基づき顔と人物との一致を決定し得る。例えば、顔認識コンピュータソフトウェアは潜在的に一致する顔と識別された顔との間の相関係数(0.0(完全に無相関)〜1.0(完全一致)の範囲)を計算し、相関係数が0.8より大きければ識別された顔に一致したと決定することができる。好適な認識アルゴリズムとしては、主成分分析(Principal Component Analysis)、線形判別分析(Linear Discriminate Analysis)、エラスティックバンチグラフマッチング(Elastic Bunch Graph Matching)、隠れマルコフモデル(Hidden Markov model)、ニューロン動機ダイナミックリンクマッチング(Neuronal Motivated Dynamic Link Matching)が挙げられる。一実施形態では、人物識別処理は、イメージファイル内の識別された顔と、ソーシャルネットワーキングシステムによって格納された複数のイメージにおいて識別された顔とを比較する。
【0020】
特定の実施形態では、イメージファイル内の識別された顔毎に、人物識別処理は潜在的一致、すなわち候補者のリストを生成し得る。人物識別処理は、候補者のリストのサイズを低減することによって顔を一致させる確度および/または速度を向上することができる。例えば、人物識別処理は、第1のユーザがイメージファイルを生成した時と同じ時間に、同一の位置に存在する候補者だけを含むことにより候補者のリストのサイズを低減することができる。例えば、候補者のリストと第1のユーザは同一のイベント(例えば「クリスマスパーティ2009」)に招待された人であることができる。いくつかの実施形態では、候補者のリストはまた、イメージをアップロードするユーザ間の分離度に基づき制限され得る。例えば、人物識別処理は、候補者のリストを、ユーザに対し分離度2以下だけ離されたユーザに制限することができる。特定の実施形態では、識別された顔毎に、人物識別処理は、イメージファイルに対する空間的および時間的近接性に基づき1つまたは複数の一致を決定し得る(203)。
【0021】
特定の実施形態では、人物識別処理は、イメージに関連する時間および位置データを決定し得る。特定の実施形態では、人物識別処理は、イメージファイルのメタデータからイメージファイルのタイムスタンプを決定し得る。特定の実施形態では、人物識別処理は、イメージファイルのメタデータ(例えばGPSまたは他の位置座標)からイメージファイルの位置データを決定し得る。リアルタイムアプリケーションに関し、人物識別処理は、いくつかの実施形態では、イメージアップロード要求に関連する地理的位置データ(例えばGPS座標)、ユーザのチェックインアクティビティデータ、および/または第1のユーザのイベントデータにアクセスすることにより、イメージファイルの位置データを決定し得る。これはイメージファイルのアップロードと同時であるか、および/またはイメージファイルのメタデータに時間的に近い(すなわち、イメージファイルのタイムスタンプに近い、またはタイムスタンプの時間に重なる)。例えば、アップロード要求は、ソーシャルネットワーキングシステムが要求しているユーザの地理的位置を決定するGPSデータを含み得る。いくつかの実施形態では、人物識別処理は、イメージファイルに関連する時間的情報と同時に起きた第1のユーザの位置データまたはチェックインアクティビティデータを決定するように位置データベース104にアクセスし得る。例えば、人物識別処理はイベントデータベース102にアクセスして、イメージファイルと同時の第1のユーザのイベント(すなわち、位置データ)を決定することができる。特定の実施形態において、人物識別処理は、イメージファイルに関連するイベントデータを決定し、このイベン
トデータに基づきイメージファイルの位置データを決定するようにイメージファイルのメタデータにアクセスし得る。
【0022】
特定の実施形態において、人物識別処理は、イメージファイルに関連する時空間的情報に対して空間的および時間的に近いユーザを含む候補者のリストを生成するように1つまたは複数のデータストアにアクセスし得る。いくつかの実施形態において、イメージファイルがイベント(例えば、「クリスマスパーティ2009」)中に第1のユーザによって撮影されたことを人物識別処理が決定する場合、人物識別処理はイベントデータベース102にアクセスし、イベントの主催者と参加者(招待者、または返事をした人)を含む候補者のリストを生成することができる。例えば、人物識別処理はイベントデータベース102と位置データベース104にアクセスし、イベントの期間中にイベントの位置の152.4メートル(500フィート)以内にいたユーザを含む候補者のリストを生成することができる。例えば、第1のユーザのイメージファイルが(37°49’09.15”N,122°28’45 11”W)のGPS座標と2010年10月9日太平洋標準時刻(PT)午後3時のタイムスタンプを有する場合、顔認識は位置データベース104にアクセスし、2010年10月9日午後2:55〜午後3:05の上記GPS座標の152.4メートル(500フィート)以内に存在するユーザを含む候補者のリストを生成することができる。候補者またはユーザの位置は、ユーザのチェックインアクティビティによって、および/またはユーザのGPS付き携帯機器によってキャプチャされ位置データベース104に格納されたユーザの位置データによって決定されることができる(本明細書において前述したように)。
【0023】
加えて、人物識別処理は、第1のユーザに対する社会的近接性閾値内にいる候補者だけを含むことによって候補者のリストのサイズをさらに低減することができる。一実施形態では、識別された顔毎に、候補者のリストが、第1のユーザの一次コンタクトである一組のユーザに制限される。他の実施形態では、識別された顔毎に、候補者のリストが第1のユーザの一次及び二次コンタクトである一組のユーザに制限される。例えば、第1のユーザのイメージファイルが(37°49’09.15”N,122°28’45 11”W)のGPS座標と2010年10月9日太平洋標準時刻(PT)午後3時のタイムスタンプを有すれば、顔認識はユーザプロファイルデータベース101と位置データベース104にアクセスし、第1のユーザの一次および二次コンタクトを含む候補者であって、2010年10月9日午後2:55〜午後3:05の上記GPS座標から152.4メートル(500フィート)以内に存在する候補者のリストを生成することができる。前述したように、方針は、ソーシャルグラフが一次コンタクトを越えるので、時空間的近接性などの追加の一致する属性を必要とするように構成されることができる。
【0024】
特定の実施形態では、識別された顔毎に、人物識別処理は、イメージファイルに関連するメタデータに対する空間的および時間的近接性閾値内に存在するユーザを含む候補者のリストに基づき1つまたは複数の一致を決定し得る。他の実施形態では、識別された顔毎に、人物識別処理は、イメージファイルに関連するメタデータに対して空間的および時間的に近接しており、イメージファイルをアップロードした第1のユーザに対して社会的に近接しているユーザを含む候補者のリストに基づき1つまたは複数の一致を決定し得る。例えば、識別された顔毎に、人物識別処理は、識別された顔と、イメージファイルに対して空間的および時間的に近接しているユーザを含む候補者のリストのそれぞれとの間の相関係数を計算するように顔認識コンピュータソフトウェアを使用することができる。一実施形態では、顔認識コンピュータソフトウェアは、1つまたは複数のプロファイル画像または比較のための候補者ユーザに関連する他の画像にアクセスし得る。一実施形態では、人物識別処理は、相関係数が0.8を越える場合、候補者は識別された顔に一致していると決定する。一致が2つ以上の潜在的な一致を生じるいくつかの実施形態では、人物識別処理は最も高い得点の一致を選択するか、または両方の一致をユーザに提示し得る。特定
の実施形態では、人物識別処理は、イメージファイル内の1つまたは複数の一致を第1のユーザに提示し得る(204)。
【0025】
図3に、携帯電話によって表示された一組の個人を含むイメージの例を示す。例えば、イメージ302は、イベント「クリスマスパーティ2009」において第1のユーザの携帯電話301を用いて第1のユーザによって撮影された画像であり得る。例えば、イメージ302は、第1のユーザがイベント「クリスマスパーティ2009」において携帯電話のカメラ機能を起動したときに第1のユーザの携帯電話によってホストされるファインダユーザインターフェース内に表示された静止画または動画であり得る。人物識別処理は、図2に例示されるように、携帯電話301内またはメディアデータベース105(イメージがメディアデータベース105にアップロードされている場合)内に格納されたイメージ302にアクセスし、イメージ302内の1つまたは複数の顔を識別し、空間的および時間的近接性に基づき、1つまたは複数の識別された顔のそれぞれに一致する1人または複数のユーザを決定することができる。一実施形態では、ユーザは、イメージ内にキャプチャされた対象となる人々のうちの1人または複数に関する情報を受け取るためのリアルタイム要求をソーシャルネットワーキングシステムへ送信し得る。
【0026】
図4に、イメージファイル内の一致するユーザを提示する例示的なユーザインターフェースを示す。ユーザは例えば、リアルタイム識別要求に関連してキャプチャされたイメージをソーシャルネットワーキングシステムへアップロードする携帯機器上にホストされたクライアントアプリケーションを使用し得る。応答は、ユーザがイメージ内のキャプチャされた対象ユーザの名前を思い出すのに苦労している場合、ユーザが1人または複数のユーザの名前(および、可能性として関係状況の情報などの他の情報)を見られるようにする。他の実施形態では、第1のユーザはチェックイン処理フローの一部としてイメージをキャプチャし、イメージ内にキャプチャされ識別された他のユーザにチェックインする人物識別機能を使用し得る。特定の実施形態では、人物識別処理は1つまたは複数のデータストアにアクセスし、一致するユーザに関連する情報、または識別された顔に一致するユーザを提示し得る。特定の実施形態において、人物識別処理は、イメージファイルに重なるフレーム内の一致するユーザに関連する情報を提示し得る。例えば図4において、人物識別処理は、一致した顔を識別するボックス(401)を提示し、画像に重なるフレーム(402)内の一致したユーザに関連する情報を提示することができる。例えば、人物識別処理は、ユーザプロファイルデータベース101にアクセスし、ユーザプロファイル情報(例えば名前、プロファイル画像)、ソーシャルグラフ情報(例えば「共通の友達 5人」)、および/または一致したユーザの関係情報(例えば「USC’05」)を提示することができる。特定の実施形態では、一致したユーザに関連する情報を表示するフレームは1つまたは複数の選択可能アイコンを含み得る。例えば、アイコンはテキスト文字列、画像、またはグラフィックアイコンであり得る。例えば、第1のユーザは、人物識別処理に、一致するユーザを画像にタグ付けさせるか、または友達としての招待を一致するユーザへ送信するアイコンを選択することができる。特定の実施形態では、人物識別処理は、ソーシャルネットワーキングシステム内にイメージファイルを格納する選択肢を提示し得る。例えば、人物識別処理は、選択された場合には選択可能テキスト文字列「この画像を公開」を提示し、人物識別処理に、イメージファイルをメディアデータベース105内に格納させ、このイメージファイルを第1のユーザのプロファイルページへ公開させることができる。図4Aに、イメージファイル内の識別された顔の2つ以上の一致を提示する例示的なユーザインターフェースを示す。図4Aの例では、人物識別処理は、識別された顔のボックス(403)と、2人の一致したユーザと、関係するユーザプロファイル情報(例えば名前、プロファイル画像)およびソーシャルグラフ情報(例えば「共通の友人 7人」)とを含むフレーム(404)とを表示することができる。例えば、第1のユーザは、一致を確認するために2つの一致のうちの1つを選択することができる(例えば名前またはプロファイル画像をタップすることにより)。
【0027】
様々な実施形態が可能である。第1のユーザのクライアントデバイス122、セットトップボックス、またはデジタルビデオレコーダによって記録されたテレビ番組のビデオクリップの例に関しては、人物識別処理は、ビデオクリップに対して時間的および/または空間的に近接する1つまたは複数のテレビ番組における俳優に考察を制限することによって候補者のリストのサイズを縮小することができる。特定の実施形態では、人物識別処理は、ビデオクリップの時間および位置データを決定し得る。例えば、人物識別処理は、ビデオクリップのメタデータからビデオクリップの時間および/または位置データを決定することができる。例えば、人物識別処理は、ビデオクリップのタイムスタンプを決定することができる。例えば、人物識別処理は、クライアントデバイス122(例えばGPS付き携帯電話)またはセットトップボックス(例えば特定のケーブルテレビまたは衛星テレビ番組プロバイダによる特定のテレビ市場用のセットトップボックス)の位置データに基づきビデオクリップの位置データを決定することができる。特定の実施形態では、人物識別処理は、テレビ番組のデータストア(例えばゲムスタテレビガイド(Gemstar TV Guide))にアクセスし、ビデオクリップと同一の地理的位置(例えばニューヨーク市)における視聴者に同時に送信される1つまたは複数のテレビ番組を識別し得る。他の実施形態では、人物識別処理は、ビデオクリップの音声部分に基づきビデオクリップに関連する1つまたは複数のテレビ番組を識別するために音声一致プログラムを適用し得る。特定の実施形態では、人物識別処理は、1つまたは複数のデータストアにアクセスし、1つまたは複数のテレビ番組における俳優を含む候補者のリストを生成し得る。特定の実施形態では、ビデオクリップ内の識別された顔毎に、人物識別処理は候補者のリストに基づきイメージファイル内の1つまたは複数の顔の一致を決定し得る。特定の実施形態では、人物識別処理はイメージファイル内の1つまたは複数の一致を第1のユーザに提示し得る。例えば、人物識別処理は、第1のユーザに、ビデオクリップに重なるフレーム内の一致した俳優のファンページの名前およびそのページへのリンクを提示することができる。他の実施形態では、人物識別処理は、ソーシャルネットワーキングシステムの第1のユーザのウォールポスト上に公開し、第1のユーザが視聴する1つまたは複数のテレビ番組を示し得る。いくつかの実施形態では、人物識別処理は、第1のユーザが視聴する1つまたは複数のテレビ番組に基づきターゲット広告を第1のユーザへ配信し得る。
【0028】
前述の実施形態は様々なネットワーク構成において実施され得るが、以下では、教示目的であって制限目的でない目的のための例示的なネットワーク環境を示す。図5に、例示的なネットワーク環境500を示す。ネットワーク環境500は、1つまたは複数のサーバ520と1つまたは複数のクライアント530を互いに結合するネットワーク510を含む。ネットワーク環境500はまた、1つまたは複数のサーバ520にリンクされた1つまたは複数のデータストア540を含む。特定の実施形態はネットワーク環境500において実施され得る。例えば、ソーシャルネットワーキングシステムフロントエンド120は、1つまたは複数のサーバ520によりホストされるソフトウエアプログラムに書き込まれ得る。例えば、イベントデータベース102は1つまたは複数のデータストア540内に格納され得る。特定の実施形態では、ネットワーク510は、イントラネット、エクストラネット、仮想プライベートネットワーク(VPN:virtual private network)、ローカルエリアネットワーク(LAN)、無線LAN(WLAN)、広域ネットワーク(WAN)、メトロポリタンエリアネットワーク(MAN)、インターネットの一部、他のネットワーク510、または2つ以上のネットワーク510などの組み合わせである。本開示は任意の好適なネットワーク510を企図する。
【0029】
1つまたは複数のリンク550はサーバ520またはクライアント530をネットワーク510へ結合する。特定の実施形態では、1つまたは複数のリンク550はそれぞれ1つまたは複数の有線、無線、または光リンク550を含む。特定の実施形態では、1つまたは複数のリンク550はそれぞれ、イントラネット、エクストラネット、VPN、LA
N、WLAN、WAN、MAN、インターネットの一部、他のリンク550、または2つ以上のリンク550などの組み合わせを含む。本開示は、サーバ520とクライアント530をネットワーク510へ結合する任意の好適なリンク550を企図する。
【0030】
特定の実施形態では、各サーバ520は単一のサーバであってもよく、または複数のコンピュータまたは複数のデータセンタに広がる分散型サーバであってもよい。サーバ520は、限定されるものではないが例えばウェブサーバ、ニュースサーバ、メールサーバ、メッセージサーバ、広告サーバ、ファイルサーバ、アプリケーションサーバ、交換サーバ、データベースサーバ、またはプロシキサーバなどの様々なタイプのサーバであり得る。特定の実施形態では、各サーバ520は、ハードウェア、ソフトウェア、組み込み論理部品、またはサーバ520により実施またはサポートされる適切な機能を実行するための2つ以上のこのような部品の組み合わせを含み得る。例えば、ウェブサーバは通常、ウェブページまたはウェブページの特定の要素を含むウェブサイトをホストすることができる。より具体的には、ウェブサーバはHTMLファイルまたは他のファイルタイプをホストしてもよく、または要求があり次第ファイルを動的に生成または構成し、クライアント530からのHTTPまたは他の要求に応じてそれらをクライアント530へ伝達してもよい。メールサーバは通常、電子メールサービスを様々なクライアント530へ提供することができる。データベースサーバは通常、1つまたは複数のデータストア内に格納されたデータを管理するためのインターフェースを提供することができる。
【0031】
特定の実施形態では、1つまたは複数のデータストア540は、1つまたは複数のリンク550を通じて1つまたは複数のサーバ520に通信可能にリンクされ得る。特定の実施形態では、データストア540は様々な種類の情報を格納するために使用され得る。特定の実施形態では、データストア540内に格納された情報は特定のデータ構造に応じて組織化され得る。特定の実施形態では、各データストア540は関係データベースであり得る。特定の実施形態は、データストア540内に格納された情報をサーバ520またはクライアント530が管理(例えば、検索、修正、追加、削除)できるようにするインターフェースを提供し得る。
【0032】
特定の実施形態では、各クライアント530は、ハードウェア、ソフトウェア、組み込み論理部品、または2つ以上のこのような部品の組み合わせを含む電子装置であってもよく、クライアント530により実施またはサポートされる適切な機能を行うことができる。例えば、限定されるものではないが、クライアント530は、デスクトップコンピュータシステム、ノートブックコンピュータシステム、ネットブックコンピュータシステム、携帯型電子装置、または携帯電話であり得る。本開示は任意の好適なクライアント530を企図する。クライアント530は、クライアント530におけるネットワークユーザがネットワーク530にアクセスできるようにし得る。クライアント530はそのユーザが他のクライアント530における他のユーザと通信できるようにし得る。
【0033】
クライアント530は、マイクロソフトインターネットエクスプローラ(MICROSOFT INTERNET EXPLORER)、グーグルクローム(GOOGLE CHROME)またはモジラファイアフォックス(MOZILLA FIREFOX)などのウェブブラウザ532を有してもよく、アドオン、プラグイン、またはツールバー(TOOLBAR)またはヤフーツールバー(YAHOO TOOLBAR)などの1つまたは複数の他の拡張を有してもよい。クライアント530におけるユーザは、ウェブブラウザ532をサーバ520へ向けるユニフォームリソースロケータ(URL:Uniform Resource Locator)または他のアドレスを入力してもよく、ウェブブラウザ532はハイパーテキスト転送プロトコル(HTTP:Hyper Text Transfer Protocol)要求を生成し、同HTTP要求をサーバ520へ伝達してもよい。サーバ520はHTTP要求を受諾し、HTTP要求に応じて1つまた
は複数のハイパーテキストマークアップ言語(HTML:Hyper Text Markup Language)ファイルをクライアント530へ伝達し得る。クライアント530は、ユーザへの提示のために、サーバ520からのHTMLファイルに基づきウェブページをレンダリングし得る。本開示は任意の好適なウェブページファイルを企図する。制約条件としてではなく一例として、ウェブページは、特殊なニーズに応じて、HTMLファイル、拡張可能ハイパーテキストマークアップ言語(XHTML:Extensible Hyper Text Markup Languag)ファイル、または拡張可能マークアップ言語(XML:Extensible Markup Language)ファイルをレンダリングし得る。このようなページはまた、限定されるものではないが、例えばジャバスクリプト(JAVASCRIPT(登録商標))、ジャバ(JAVA(登録商標))、マイクロソフトシルバーライト(MICROSOFT SILVERLIGHT)、AJAX(非同期ジャバスクリプトとXML:Asynchronous JAVASCRIPT(登録商標) and XML)などのマークアップ言語とスクリプトの組み合わせなどで書かれたものなどのスクリプトを実行し得る。本明細書において、ウェブページへの参照は、1つまたは複数の対応するウェブページファイル(ウェブページをレンダリングするためにブラウザが使用し得る)を包含し、適切な場合は逆もまた同様である。
【0034】
図6に、本発明のいくつかの実施形態と共に使用され得る例示的コンピュータシステム600を示す。本開示は、任意の好適な数のコンピュータシステム600を企図する。本開示は、任意の好適な物理的形式をとるコンピュータシステム600を企図する。制約条件としてではなく一例として、コンピュータシステム600は、組み込み式コンピュータシステム、システムオンチップ(SOC)、シングルボードコンピュータシステム(SBC)(例えばコンピュータオンモジュール(COM:computer−on−module)またはシステムオンモジュール(SOM:system−on−module)など)、デスクトップコンピュータシステム、ラップトップまたはノートブックコンピュータシステム、対話型キオスク、メインフレーム、コンピュータシステムのメッシュ、携帯電話、携帯情報端末(PDA)、サーバ、またはこれらの2つ以上の組み合わせであり得る。適切な場合には、コンピュータシステム600は1つまたは複数のコンピュータシステム600を含み、単一または分散型であり、複数の場所に広がり、複数の機械装置に広がり、または1つまたは複数のネットワーク内に1つまたは複数のクラウドコンポーネントを含み得るクラウド内に存在し得る。適切な場合には、1つまたは複数のコンピュータシステム600は、ほぼ空間的または時間的制限無しに、本明細書に記載または図示された1つまたは複数の方法の1つまたは複数の工程を行い得る。制約条件としてではなく一例として、1つまたは複数のコンピュータシステム600は、リアルタイムでまたはバッチモードで、本明細書に記載または図示された1つまたは複数の方法の1つまたは複数の工程を行い得る。1つまたは複数のコンピュータシステム600は、適切な場合、本明細書に記載または図示された1つまたは複数の方法の1つまたは複数の工程を様々な時間にまたは様々な場所で行い得る。
【0035】
特定の実施形態では、コンピュータシステム600は、プロセッサ602、メモリ604、記憶装置606、入力/出力(I/O)インターフェース608、通信インターフェース610、バス612を含む。本開示は特定の配置における特定の数の特定部品を有する特定のコンピュータシステムについて説明し図示するが、本開示は任意の好適な配置における任意の好適な数の任意の好適な部品を有する任意の好適なコンピュータシステムを企図する。
【0036】
特定の実施形態では、プロセッサ602は、コンピュータプログラムを構成するなどの命令を実行するためのハードウェアを含む。制約条件としてではなく一例として、命令を実行するために、プロセッサ602は、内部レジスタ、内部キャッシュ、メモリ604、
または記憶装置606から命令を取り出し(またはフェッチし)、それらを復号化し実行し、次いで、1つまたは複数の結果を内部レジスタ、内部キャッシュ、メモリ604、または記憶装置606へ書き込み得る。特定の実施形態では、プロセッサ602は、データ、命令、またはアドレス用の1つまたは複数の内部キャッシュを含み得る。本開示は、適切な場合、任意の好適な数の任意の好適な内部キャッシュを含むプロセッサ602を企図する。制約条件としてではなく一例として、プロセッサ602は、1つまたは複数の命令キャッシュ、1つまたは複数のデータキャッシュ、1つまたは複数の変換索引バッファ(TLB:translation look−aside buffer)を含み得る。命令キャッシュ内の命令はメモリ604または記憶装置606内の命令の複製であってもよく、命令キャッシュはプロセッサ602によるそれらの命令の取り出しを速めてもよい。データキャッシュ内のデータは、プロセッサ602において実行する命令であって、プロセッサ602において実行するその後の命令によるアクセスのためにまたはメモリ604または記憶装置606に書き込むためにプロセッサ602において実行された以前の命令の結果に動作する命令用のメモリ604またはストレージ606内のデータの複製、または他の好適なデータの複製であり得る。データキャッシュはプロセッサ602による読み取りまたは書き込み動作を速め得る。TLBは、プロセッサ602の仮想アドレス変換を速め得る。特定の実施形態では、プロセッサ602は、データ、命令、またはアドレス用の1つまたは複数の内部レジスタを含み得る。本開示は、適切な場合、任意の好適な数の任意の好適な内部レジスタを含むプロセッサ602を企図する。適切な場合、プロセッサ602は1つまたは複数の演算装置(ALU)を含み、マルチコアプロセッサであるか、または1つまたは複数のプロセッサ602を含み得る。本開示は特定のプロセッサについて説明し図示するが、本開示は任意の好適なプロセッサを企図する。
【0037】
特定の実施形態では、メモリ604は、プロセッサ602が実行する命令またはプロセッサ602が動作するデータ用のメインメモリを含む。制約条件としてではなく一例として、コンピュータシステム600は、命令をストレージ606または他のソース(例えば他のコンピュータシステム600など)からメモリ604へロードし得る。次いで、プロセッサ602は命令をメモリ604から内部レジスタまたは内部キャッシュへロードし得る。命令を実行するために、プロセッサ602は内部レジスタまたは内部キャッシュから命令を取り出し、それらを復号し得る。命令の実行中または実行後、プロセッサ602は1つまたは複数の結果(中間または最終結果であり得る)を内部レジスタまたは内部キャッシュへ書き込み得る。次いで、プロセッサ602はそれらの結果の1つまたは複数をメモリ604に書き込み得る。特定の実施形態では、プロセッサ602は、1つまたは複数の内部レジスタまたは内部キャッシュ内またはメモリ604内の命令だけを実行し、1つまたは複数の内部レジスタまたは内部キャッシュ内またはメモリ604内のデータだけ(ストレージ606または他の場所ではなく)に動作する。1つまたは複数のメモリバス(それぞれアドレスバスとデータバスを含み得る)はプロセッサ602をメモリ604に結合し得る。バス612は以下に述べるように1つまたは複数のメモリバスを含み得る。特定の実施形態では、1つまたは複数のメモリ管理ユニット(MMU:memory management unit)はプロセッサ602とメモリ604との間に存在し、プロセッサ602により要求されるメモリ604へのアクセスを容易にする。特定の実施形態では、メモリ604はランダムアクセスメモリ(RAM)を含む。このRAMは、適切な場合、揮発性メモリであり得る。適切な場合、このRAMはダイナミックRAM(DRAM)またはスタティックRAM(SRAM)であり得る。さらに、適切な場合、このRAMはシングルポートまたはマルチポートRAMであり得る。本開示は任意の好適なRAMを企図する。メモリ604は、適切な場合、1つまたは複数のメモリ602を含み得る。本開示は特定のメモリについて説明し図示するが、本開示は任意の好適なメモリを企図する。
【0038】
特定の実施形態では、ストレージ606はデータまたは命令用の大容量ストレージを含
む。制約条件としてではなく一例として、ストレージ606は、ハードディスクドライブ(HDD)、フロッピー(登録商標)ディスクドライブ、フラッシュメモリ、光ディスク、光磁気ディスク、磁気テープ、ユニバーサルシリアルバス(USB)ドライブ、またはこれらの2つ以上の組み合わせを含み得る。ストレージ606は、適切な場合、着脱可能または着脱不能(すなわち固定)媒体を含み得る。ストレージ606は、適切な場合、コンピュータシステム600内にまたはコンピュータシステム600外に存在し得る。特定の実施形態では、ストレージ606は不揮発性ソリッドステートメモリである。特定の実施形態では、ストレージ606は読み出し専用メモリ(ROM)を含む。適切な場合、このROMは、マスクプログラムROM、プログラマブルROM(PROM)、消去可能PROM(EPROM)、電気的消去可能PROM(EEPROM)、電気的消去再書き込み可能ROM(EAROM:electrically alterable ROM),またはフラッシュメモリ、またはこれらの2つ以上の組み合わせであり得る。本開示は、任意の好適な物理的形式である大容量ストレージ606を企図する。ストレージ606は、適切な場合、プロセッサ602とストレージ606間の通信を容易にする1つまたは複数の記憶制御機構を含み得る。適切な場合、ストレージ606は1つまたは複数のストレージ606を含み得る。本開示は特定のストレージについて説明し図示するが、本開示は任意の好適なストレージを企図する。
【0039】
特定の実施形態では、I/Oインターフェース608は、コンピュータシステム600と1つまたは複数のI/O装置間の通信のための1つまたは複数のインターフェースを提供するハードウェア、ソフトウェア、またはその両方を含む。コンピュータシステム600は、適切な場合、これらのI/O装置の1つまたは複数を含み得る。これらのI/O装置の1つまたは複数は、人とコンピュータシステム600との間の通信を可能にし得る。制約条件としてではなく一例として、I/O装置は、キーボード、キーパッド、マイクロホン、モニタ、マウス、プリンタ、スキャナ、スピーカ、スチールカメラ、スタイラス、タブレット、タッチスクリーン、トラックボール、ビデオカメラ、他の好適なI/O装置、またはこれらの2つ以上の組み合わせを含み得る。I/O装置は1つまたは複数のセンサを含み得る。本開示は任意の好適なI/O装置と任意の好適なI/Oインターフェース608を企図する。適切な場合、I/Oインターフェース608は、プロセッサ602がこれらのI/O装置の1つまたは複数を駆動できるようにする1つまたは複数の装置またはソフトウェアドライバを含み得る。I/Oインターフェース608は、適切な場合、1つまたは複数のI/Oインターフェース608を含み得る。本開示において特定のI/Oインターフェースについて説明し図示するが、本開示では任意の好適なI/Oインターフェースを企図する。
【0040】
特定の実施形態では、通信インターフェース610は、コンピュータシステム600と1つまたは複数の他のコンピュータシステム600または1つまたは複数のネットワークとの間の通信(例えばパケットベースの通信など)のための1つまたは複数のインターフェースを提供するハードウェア、ソフトウェアまたはその両方を含む。制約条件としてではなく一例として、通信インターフェース610は、イーサネット(登録商標)または他の有線ベースのネットワークと通信するためのネットワークインターフェース制御装置(NIC)またはネットワークアダプタ、またはWI−FIネットワークなどの無線ネットワークと通信するための無線NIC(WNIC)または無線アダプタを含み得る。本開示は、任意の好適なネットワークと任意の好適な通信インターフェース610を企図する。制約条件としてではなく一例として、コンピュータシステム600は、アドホックネットワーク、パーソナルエリアネットワーク(PAN)、ローカルエリアネットワーク(LAN)、広域ネットワーク(WAN)、メトロポリタンエリアネットワーク(MAN)、インターネットの1つまたは複数の部分、またはこれらの2つ以上の組み合わせと通信し得る。これらのネットワークの1つまたは複数のネットワークの1つまたは複数の部分は有線または無線であり得る。一例として、コンピュータシステム600は、無線PAN(W
PAN)(例えばブルートゥース(BLUETOOTH(登録商標))WPANなど)、WI−FIネットワーク(例えば、802.1 la/b/g/n WI−FIネットワーク、a 802.11sメッシュネットワークなど)、WI−MAXネットワーク、セルラ電話ネットワーク(例えばグローバル移動体通信システム(GSM(登録商標):Global System for Mobile Communications)ネットワークなど)、GSM(登録商標)進化型高速データレート(EDGE:Enhanced Data Rates for GSM Evolution)ネットワーク、ユニバーサル移動体電話システム(UMTS:Universal Mobile Telecommunications System)ネットワーク、ロングタームエボリューション(LTE:Long Term Evolution)ネットワーク、他の好適な無線ネットワーク、またはこれらの2つ以上の組合せと通信し得る。コンピュータシステム600は、適切な場合、これらのネットワークのうちの任意のネットワークの任意の好適な通信インターフェース610を含み得る。通信インターフェース610は、適切な場合、1つまたは複数の通信インターフェース610を含み得る。本開示において特定の通信インターフェースについて説明し図示するが、本開示では任意の好適な通信インターフェースを企図する。
【0041】
特定の実施形態では、バス612は、コンピュータシステム600の要素と互いに結合するハードウェア、ソフトウェア、またはその両方を含む。制約条件としてではなく一例として、バス612は、アクセラレイテッドグラフィックポート(AGP:Accelerated Graphics Port)または他のグラフィックバス、強化型業界標準アーキテクチャ(EISA:Enhanced Industry Standard
Architecture)バス、フロントサイドバス(FSB)、ハイパートランスポート(HT:HYPERTRANSPORT)相互接続、業界標準アーキテクチャ(ISA:Industry Standard Architecture)バス、インフィニバンド(INFINIBAND)相互接続、ローピンカウント(LPC:low−pin−count)バス、メモリバス、マイクロチャネルアーキテクチャ(MCA:Micro Channel Architecture)バス、周辺部品相互接続(PCI:Peripheral Component Interconnect)バス、PCIエクスプレス(PCI−X:PCI−Express)バス、シリアルアドバンストテクノロジアタッチメント(SATA:serial advanced technology attachment)バス、ビデオ電子装置規格化協会ローカル(VLB:Video Electronics Standards Association local)バス、ユニバーサル非同期受信器/送信器(UART:Universal Asynchronous Receiver/Transmitter)インターフェース、IC間(I2C:Inter−Integrated Circuit)バス、シリアル周辺インターフェース(SPI:Serial Peripheral Interface)バス、セキュアデジタル(SD:Secure Degital)メモリインタフェース、マルチメディアカード(MMC:MultiMediaCard)メモリインタフェース、メモリスティック(MS:Memory Stick)メモリインタフェース、セキュアデジタル入出力(SDIO:Secure Digital Input Output)インターフェース、多重チャネルバッファシリアルポート(McBSP:Multi−channel Buffered Serial Port)バス、ユニバーサルシリアルバス(USB:Universal Serial Bus)バス、汎用メモリコントローラ(GPMC:General Purpose Memory
Controller)バス、SDRAMコントローラ(SDRC:SDRAM Controller)バス、汎用入出力(GPIO:General Purpose Input/Output)バス、分離ビデオ(S−Video:Separate Video)バス、表示シリアルインターフェース(DSI:Display Serial
Interface)バス、拡張マイクロコントローラバスアーキテクチャ(AMBA
:Advanced Microcontroller Bus Architecture)バス、他の好適なバス、またはこれらの2つ以上の組合せを含み得る。バス612は、適切な場合、1つまたは複数のバス612を含み得る。本開示において特定のバスについて説明し図示するが、本開示では任意の好適なバスまたは相互接続を企図する。
【0042】
上述のクライアント側機能は、実行されるとプログラム可能プロセッサに上述の動作を実施させるコンピュータ可読記憶媒体上に格納される一連の命令として実装することができる。クライアントデバイス122は様々なハードウェアと計算システムにおいて実装され得るが、図7に、様々な特定の実施形態に応じた、クライアントまたは携帯機器の例示的な計算プラットフォームの主要構成要素の概略図を示す。特定の実施形態では、計算プラットフォーム702は、制御部704、メモリ706、入力/出力サブシステム710を含み得る。特定の実施形態では、制御部704は、1つまたは複数のプロセッサおよび/または命令を実行するとともに計算プラットフォームに関連する動作を行うように構成された1つまたは複数のマイクロコントローラを含み得る。様々な実施形態では、制御部704は、シングルチップ、マルチチップ、および/または1つまたは複数の集積回路とプリント回路基板を含む他の電気部品として実装され得る。制御部704は、任意選択的に、命令、データ、またはコンピュータアドレスの一時的ローカル記憶のためのキャッシュメモリユニットを含み得る。一例として、メモリから取り出される命令を使用して、制御部704は、計算プラットフォーム702の要素間の入力および出力データの受信と操作を制御し得る。一例として、制御部704は、1つまたは複数のプロセッサ、または、計算プラットフォーム702のいくつかの処理タスク(例えば2D/3Dグラフィックス処理、イメージ処理、またはビデオ処理)に専用化された1つまたは複数の制御装置を含み得る。
【0043】
好適なオペレーティングシステムと共に制御部704は、コンピュータコードの形式の命令を実行してデータを生成し使用するように動作し得る。一例としてそして限定目的では無く、オペレーティングシステムは、好適なオペレーティングシステムの中でも特に、ウィンドウズ(登録商標)(Windows(登録商標))ベース、マック(Mac)ベース、ユニックス(UNIX(登録商標))またはリナックス(登録商標)(LINUX(登録商標))ベース、またはシンビアン(Symbian)ベースであり得る。オペレーティングシステム、他のコンピュータコード、および/またはデータは、制御部704に動作可能に結合されるメモリ706内に物理的に格納され得る。
【0044】
メモリ706は1つまたは複数の記憶媒体を包含し、通常、計算プラットフォーム702により使用されるコンピュータコード(例えば、ソフトウェアおよび/またはファームウェア)とデータを格納する場所を提供し得る。一例として、メモリ706は、読み取り専用メモリ(ROM)および/またはランダムアクセスメモリ(RAM)を含む様々な有形のコンピュータ可読記憶媒体を含み得る。当該技術分野で周知のように、ROMはデータと命令を制御部704に対し一方向に転送するように働き、RAMは通常、データと命令を双方向に転送するために使用される。メモリ706はまた、一例として、制御部704に双方向に結合される他の好適な形式のメモリの中でも特に、ハードディスクドライブ(HDD)、ソリッドステートドライブ(SSD:solid−state drive)、フラッシュメモリカード(例えばセキュアデジタル、SDカード、埋め込みマルチメディアカード(MultiMediaCard)、またはeMMDカード)の形式の1つまたは複数の固定ストレージを含み得る。情報はまた、必要な場合は計算プラットフォーム内に実装または設置される1つまたは複数の着脱可能記憶媒体上に存在し得る。一例として、多くの好適なメモリカードの任意のもの(例えばSDカード)が一時的または恒久的ベースで計算プラットフォーム702に実装され得る。
【0045】
入力/出力サブシステム710は、制御部704に動作可能に接続された1つまたは複
数の入力デバイスおよび出力デバイスを含み得る。例えば、入力/出力サブシステムは、キーボード、マウス、1つまたは複数のボタン、サムホイール、および/またはディスプレイ(例えば液晶ディスプレイ(LCD)、発光ダイオード(LED)、干渉変調器ディスプレイ(IMOD:Interferometric modulator display)、または任意の他の好適なディスプレイ技術)を含み得る。通常、入力デバイスは、外部世界からのデータ、命令、応答を計算プラットフォーム702へ転送するように構成される。ディスプレイは通常、計算プラットフォーム702のユーザとモバイル機器上で走るオペレーティングシステムまたはアプリケーションとの間の簡単ビジュアルインターフェースを提供するグラフィックユーザインターフェース(GUI)を表示するように構成される。通常、GUIは、プログラムと、ファイルと、グラフィックイメージを伴う操作選択肢とを提示する。操作中、ユーザは、関連する機能とタスクとを開始するためにディスプレイ上に表示される様々なグラフィックイメージを選択し起動し得る。入力/出力サブシステム710はまた、タッチパッドとタッチスクリーンなどの接触ベースデバイスを含み得る。タッチパッドは、ユーザの接触ベース入力を検出する表面を含む入力デバイスである。同様に、タッチスクリーンは、ユーザ接触入力の有無と位置を検出するディスプレイである。入力/出力システム710はまた、2回または3回の指の接触などの2つ以上の接触入力の有無、位置、動きを識別することができるデュアルタッチまたはマルチタッチディスプレイまたはタッチパッドを含み得る。
【0046】
特定の実施形態では、計算プラットフォーム702は、計算プラットフォーム702の様々な機能を容易にするように制御部704に動作可能に接続された音声サブシステム712、カメラサブシステム712、無線通信サブシステム716、センササブシステム718、および/または有線通信サブシステム720を追加的に含み得る。例えば、スピーカ、マイクロホン、および音声信号を処理するように構成されたコーデックモジュールを含む音声サブシステム712は、音声認識、音声複製、デジタル記録、電話機能などの音声有効化(voice−enabled)機能を容易にするために利用することができる。例えば、光センサ(例えば電荷結合装置(CCD:charged coupled device)、または相補性金属酸化膜半導体(CMOS)イメージセンサ)を含むカメラサブシステム712は、写真とビデオクリップを記録するなどのカメラ機能を容易にするために利用することができる。例えば、有線通信サブシステム720は、ファイル転送のためのユニバーサルシリアルバス(USB)ポート、またはローカルエリアネットワーク(LAN)への接続のためのイーサネット(登録商標)ポート(ETHERNET(登録商標) port)を含むことができる。
【0047】
無線通信サブシステム716は、1つまたは複数の無線ネットワーク、例えば無線PAN(WPAN)(例えばブルートゥース(BLUETOOTH(登録商標))WPAN、赤外線PANなど)、WI−FIネットワーク(例えば802.11a/b/g/n WI−FIネットワーク、802.11sメッシュネットワークなど)、WI−MAXネットワーク、セルラ電話ネットワーク(例えばグローバル移動体通信システム(GSM(登録商標):Global System for Mobile Communications)ネットワーク、GSM(登録商標)進化型高速データレート(EDGE:Enhanced Data Rates for GSM Evolution)ネットワーク、ユニバーサル移動体電話システム(UMTS:Universal Mobile
Telecommunications System)ネットワーク、および/またはロングタームエボリューション(LTE:Long Term Evolution)ネットワークなど)上で動作するように設計することができる。加えて、無線通信サブシステム716は、計算プラットフォーム702が他の無線装置のための基地局として構成され得るようにプロトコルをホストすることを含み得る。
【0048】
センササブシステム718は、追加入力を提供するとともに計算プラットフォーム70
2の多数の機能を容易にするように1つまたは複数のセンサ装置を含み得る。例えば、センササブシステム718は、測位用GPSセンサ、高度測位用高度計、携帯機器の配向を決定するための運動センサ、カメラサブシステム714を含む撮影機能用光センサ、周囲温度を測定するための温度センサ、および/またはセキュリティ応用のための生体測定センサ(例えば指紋読み取り装置)を含み得る。
【0049】
特定の実施形態では、計算プラットフォーム702の様々な要素は、1つまたは複数のバス(ハードウェアおよび/またはソフトウェアを含む)によって一緒に動作可能に接続され得る。制約条件としてではなく一例として、1つまたは複数のバスは、アクセラレイテッドグラフィックポート(AGP:Accelerated Graphics Port)または他のグラフィックバス、強化型業界標準アーキテクチャ(EISA:Enhanced Industry Standard Architecture)バス、フロントサイドバス(FSB:front−side bus)、ハイパートランスポート(HT:HYPERTRANSPORT)相互接続、業界標準アーキテクチャ(ISA:Industry Standard Architecture)バス、インフィニバンド(INFINIBAND)相互接続、ローピンカウント(LPC:low−pin−count)バス、メモリバス、マイクロチャネルアーキテクチャ(MCA:Micro Channel Architecture)バス、周辺部品相互接続(PCI:Peripheral Component Interconnect)、PCIエックス:PCIエクスプレス(PCI−X:PCI−Express)バス、シリアルアドバンストテクノロジアタッチメント(SATA:serial advanced technology attachment)バス、ビデオ電子装置規格化協会ローカル(VLB:Video Electronics Standards Association local)バス、ユニバーサル非同期受信器/送信器(UART:Universal Asynchronous Receiver/Transmitter)インターフェース、IC間(I2C:Inter−Integrated Circuit)バス、シリアル周辺インターフェース(SPI:Serial Peripheral Interface)バス、セキュアデジタル(SD:Secure Degital)メモリインタフェース、マルチメディアカード(MMC:MultiMediaCard)メモリインタフェース、メモリスティック(MS:Memory Stick)メモリインタフェース、セキュアデジタル入出力(SDIO:Secure Digital Input Output)インターフェース、多重チャネルバッファシリアルポート(McBSP:Multi−channel Buffered Serial Port)バス、ユニバーサルシリアルバス(USB:Universal Serial Bus)バス、汎用メモリコントローラ(GPMC:General Purpose Memory Controller)バス、SDRAMコントローラ(SDRC:SDRAM Controller)バス、汎用入出力(GPIO:General Purpose Input/Output)バス、分離ビデオ(S−Video:Separate Video)バス、表示シリアルインターフェース(DSI:Display Serial Interface)バス、拡張マイクロコントローラバスアーキテクチャ(AMBA:Advanced Microcontroller Bus Architecture)バス、他の好適なバス、またはこれらの2つ以上の組合せを含み得る。加えて、計算プラットフォーム702は電源732により給電され得る。 本明細書では、コンピュータ可読記憶媒体への参照は、1つまたは複数の非一時的、有形、コンピュータ可読記憶媒体処理構造を包含する。制約条件としてではなく一例として、コンピュータ可読記憶媒体は、適切な場合、半導体ベースまたは他の集積化回路(IC)(例えば、フィールドプログラマブルゲートアレイ(FPGA)または特定用途IC(ASIC)など)、ハードディスク、HDD、ハイブリッドハードドライブ(HHD:hybrid hard drive)、光ディスク、光ディスクドライブ(ODD)、光磁気ディスク、光磁気ドライブ、フロッピー(登録商標)ディスク、フロッピー(登録商標)ディスクドラ
イブ(FDD)、磁気テープ、ホログラフィック記憶媒体、ソリッドステートドライブ(SSD:solid−state drive)、RAM駆動装置、セキュアデジタル(SECURE DIGITAL)カード、セキュアデジタル駆動装置、他の好適なコンピュータ可読記憶媒体、またはこれらの2つ以上の組み合わせを含み得る。本明細書では、コンピュータ可読記憶媒体への参照は、合衆国法典第35巻第101条下の特許権保護を受ける資格が無いいかなる媒体も除外する。本明細書では、コンピュータ可読記憶媒体への参照は、合衆国法典第35巻第101条下の特許権保護を受ける資格が無い限り、信号送信の一時的形式(電気的または電磁気的伝播信号自体など)を除外する。
【0050】
本開示は、任意の好適なストレージを実施する1つまたは複数のコンピュータ可読記憶媒体を企図する。特定の実施形態では、コンピュータ可読記憶媒体は、適切な場合、プロセッサ602の1つまたは複数の部分(例えば1つまたは複数の内部レジスタまたはキャッシュなど)、メモリ604の1つまたは複数の部分、ストレージ606の1つまたは複数の部分、またはこれらの組み合わせを実装する。特定の実施形態では、コンピュータ可読記憶媒体はRAMまたはROMを実装する。特定の実施形態では、コンピュータ可読記憶媒体は揮発性または持続性メモリを実装する。特定の実施形態では、1つまたは複数のコンピュータ可読記憶媒体はソフトウェアを具現する。本明細書では、ソフトウェアへの参照は、適切な場合、1つまたは複数のアプリケーション、バイトコード、1つまたは複数のコンピュータプログラム、1つまたは複数の実行ファイル、1つまたは複数の命令、論理、マシンコード、1つまたは複数のスクリプト、またはソースコードを包含してもよく、逆もまた同様である。特定の実施形態では、ソフトウェアは1つまたは複数のアプリケーションプログラムインターフェイス(API)を含む。本開示は、任意の好適なプログラミング言語またはプログラミング言語の組み合わせで記述されるか、または表現される任意の好適なソフトウェアを企図する。特定の実施形態では、ソフトウェアはソースコードまたはオブジェクトコードとして表現される。特定の実施形態では、ソフトウェアは、例えばC、Perl、または好適なその拡張版などのハイレベルプログラミング言語で表現される。特定の実施形態では、ソフトウェアは、アセンブリ言語(またはマシンコード)などのローレベルプログラミング言語で表現される。特定の実施形態では、ソフトウェアはジャバ(JAVA(登録商標))で表現される。特定の実施形態では、ソフトウェアは、ハイパーテキストマークアップ言語(HTML:Hyper Text Markup Language)、拡張可能マークアップ言語(XML:Extensible
Markup Language)、または他の好適なマークアップ言語で表現される。
【0051】
本開示は、当業者であれば理解されるであろう本明細書の例示的実施形態に対するすべての変更、置換、変形、代替、修正を包含する。同様に、適切な場合には、添付の特許請求の範囲は、当業者であれば理解されるであろう本明細書の例示的な実施形態に対するすべての変更、置換、変形、代替、修正を包含する。
図3
図1
図2
図4
図4A
図5
図6
図7