(57)【特許請求の範囲】
【請求項１】
アプリケーションに関連付けられている１以上のコンピューティングデバイスによる方法であって、
前記アプリケーションに関連付けられている前記１以上のコンピューティングデバイスが、特定のコンテンツについて第１のユーザに関連付けられている第１の親和性の度合いを求める要求をコンピュータサーバマシンに送信する工程であって、前記第１の親和性の度合いは、前記特定のコンテンツについて前記第１のユーザが有する関心のレベルを示し、前記特定のコンテンツは、第２のユーザに関連付けられており、前記第１の親和性の度合いは、以前に実行された前記第１のユーザのアクションの種類に応じて決定され、以前に実行された前記アクションは、電話機能を伴うアクションを含む、工程と、
前記アプリケーションに関連付けられている前記１以上のコンピューティングデバイスが、前記第１の親和性の度合いを算出するために使用される第１の重み情報をコンピュータサーバマシンに送信する工程であって、前記第１の重み情報は、
前記第２のユーザによって投稿されたコンテンツを閲覧するに際し前記第１のユーザが有する関心のレベルを算出する第１の予測関数に対する第１の重みと、
前記特定のコンテンツに関連付けられている１以上のコンセプトについて前記第１のユーザが有する関心のレベルを算出する第２の予測関数に対する第２の重みと、を指定する情報を含む、工程と、
前記アプリケーションに関連付けられている前記１以上のコンピューティングデバイスが、第２の親和性の度合いを算出するために用いられる第２の重み情報を前記コンピュータサーバマシンに送信する工程であって、前記第２の重み情報は、
前記第１のユーザの１以上の属性に関連する前記特定のコンテンツに対する親和性の度合いを算出する第３の予測関数に対する第３の重みを指定する情報を含む、工程と、 
前記アプリケーションに関連付けられている前記コンピューティングデバイスの１以上が、前記第１の親和性の度合いを受信する工程と、
前記アプリケーションに関連付けられている前記コンピューティングデバイスの１以上が、前記第２の親和性の度合いを受信する工程と、
前記アプリケーションに関連付けられている前記コンピューティングデバイスの１以上が、受信された前記第１の親和性の度合いおよび前記第２の親和性の度合いがそれぞれ所定の第１の親和性の度合いおよび所定の第２の親和性の度合いよりも大きいことを決定する工程と、
前記アプリケーションに関連付けられている前記コンピューティングデバイスの１以上が、受信された前記第１の親和性の度合いおよび前記第２の親和性の度合いがそれぞれ所定の第１の親和性の度合いおよび所定の第２の親和性の度合いよりも大きいという決定に応答して、前記特定のコンテンツを前記第１のユーザに送信する工程と、を備える方法。
【請求項２】
前記第１のユーザに前記特定のコンテンツを送信する工程に関する前記第１の親和性の度合いに対するそれぞれの予測関数の相対的な重要度に基づいて、前記第１の重みおよび前記第２の重みを決定する工程をさらに備え、
前記相対的な重要度は、前記特定のコンテンツについて第１のユーザに関連付けられている第１の親和性の度合いを求める要求に含まれる、請求項１に記載の方法。
【請求項３】
前記第１の重み情報は、前記第１のユーザの１以上の属性に関連する前記特定のコンテンツに対する親和性の度合いを算出する第３の予測関数に対する第３の重みを指定する情報をさらに含む、請求項１に記載の方法。
【請求項４】
前記第２の重み情報は、
第４の予測関数に対する第４の重みと、
第５の予測関数に対する第５の重みと、
第６の予測関数に対する第６の重みと、を指定する情報を含み、
前記第４の予測関数は、前記第１のユーザの１以上の属性に関連する前記特定のコンテンツに対する親和性の度合いを算出し、
前記第５の予測関数は、前記第１のユーザに関連付けられている特定のクライアントシステムにおいて前記第１のユーザによって実行されたアクションの履歴に基づいて前記第１のユーザが前記アクションについて有する関心のレベルを算出し、
前記第６の予測関数は、前記第２のユーザについて前記第１のユーザが有する関心のレベルを前記第１のユーザと前記第２のユーザとの間の過去の対話の頻度に基づいて算出する、請求項１に記載の方法。
【請求項５】
前記特定のコンテンツは、特定のアイテムについてのソーシャル推奨を備える、請求項１に記載の方法。
【請求項６】
前記特定のコンテンツは、特定のアプリケーションに加入する要求を備える、
請求項１に記載の方法。
【請求項７】
前記特定のコンテンツとともに前記第１のユーザに提供されるアクションを決定する工程と、
前記第１のユーザに送信された特定のコンテンツをフィルタリングする工程とをさらに備える、請求項１に記載の方法。
【請求項８】
前記第１の親和性の度合いは、前記第１のユーザに関連付けられているクライアントシステムに対して前記第１のユーザによって行われた１以上のアクションの種類にさらに基づいて算出される、請求項１に記載の方法。
【請求項９】
電話機能を伴う前記アクションの１以上は、電話呼を発信すること、電話呼を受信すること、電話呼を拒否すること、電話呼をボイスメールに直接送ること、ボイスメールを聞かずに削除すること、特定の電話番号からの電話呼をブロックすること、または特定のタイプの電話番号への電話呼を制限することを含む、請求項１に記載の方法。
【請求項１０】
前記コンピュータサーバマシンは、ソーシャルネットワーキングシステムに関連付けられており、前記第１のユーザは、前記ソーシャルネットワーキングシステムのユーザである、請求項１に記載の方法。
【請求項１１】
ソフトウェアを具現化した１以上の非一時的なコンピュータ可読記憶媒体であって、前記ソフトウェアが実行されると、
特定のコンテンツについて第１のユーザに関連付けられている第１の親和性の度合いを求める要求を送信する工程であって、前記第１の親和性の度合いは、前記特定のコンテンツについて前記第１のユーザが有する関心のレベルを示し、前記特定のコンテンツは、第２のユーザに関連付けられており、前記第１の親和性の度合いは、以前に実行された前記第１のユーザのアクションの種類に応じて決定され、以前に実行された前記アクションは、電話機能を伴うアクションを含む、工程と、
前記第１の親和性の度合いを算出するために使用される重み情報を送信する工程であって、前記重み情報は、
前記第２のユーザによって投稿されたコンテンツを閲覧するに際し前記第１のユーザが有する関心のレベルを算出する第１の予測関数に対する第１の重みと、
前記特定のコンテンツに関連付けられている１以上のコンセプトについて前記第１のユーザが有する関心のレベルを算出する第２の予測関数に対する第２の重みと、を指定する情報を含む、工程と、
第２の親和性の度合いを算出するために用いられる第２の重み情報を送信する工程であって、前記第２の重み情報は、
前記第１のユーザの１以上の属性に関連する前記特定のコンテンツに対する親和性の度合いを算出する第３の予測関数に対する第３の重みを指定する情報を含む、工程と、 
前記第１の親和性の度合いを受信する工程と、
前記第２の親和性の度合いを受信する工程と、
受信された前記第１の親和性の度合いおよび前記第２の親和性の度合いがそれぞれ所定の第１の親和性の度合いおよび所定の第２の親和性の度合いよりも大きいことを決定する工程と、
受信された前記親和性の度合いおよび前記第２の親和性の度合いがそれぞれ所定の第１の親和性の度合いおよび所定の第２の親和性の度合いよりも大きいという決定に応答して、前記特定のコンテンツを前記第１のユーザに送信する工程と、が行われるように構成される、媒体。
【請求項１２】
前記ソフトウェアが実行されると、
前記第１のユーザに前記特定のコンテンツを送信する工程に関する前記親和性の度合いに対するそれぞれの予測関数の相対的な重要度に基づいて、前記第１の重みおよび前記第２の重みを決定する工程が行われるようにさらに構成され、
前記相対的な重要度は、前記特定のコンテンツについて第１のユーザに関連付けられている第１の親和性の度合いを求める要求に含まれる、請求項１１に記載の媒体。
【請求項１３】
前記第１の重み情報は、前記第１のユーザの１以上の属性に関連する前記特定のコンテンツに対する親和性の度合いを算出する第３の予測関数に対する第３の重みを指定する情報をさらに含む、請求項１１に記載の媒体。
【請求項１４】
ソーシャルネットワーキングシステムに関連付けられている１以上のコンピュータサーバに関連付けられている１以上のプロセッサと、
前記プロセッサに結合され、前記プロセッサによって実行可能な命令を備えるメモリと、を備える、システムであって、前記命令が実行されると、
特定のコンテンツについて第１のユーザに関連付けられている第１の親和性の度合いを求める要求を送信する工程であって、前記第１の親和性の度合いは、前記特定のコンテンツについて前記第１のユーザが有する関心のレベルを示し、前記特定のコンテンツは、第２のユーザに関連付けられており、前記第１の親和性の度合いは、以前に実行された前記第１のユーザのアクションの種類に応じて決定され、以前に実行された前記アクションは、電話機能を伴うアクションを含む、工程と、
前記第１の親和性の度合いを算出するために使用される重み情報を送信する工程であって、前記重み情報は、
前記第２のユーザによって投稿されたコンテンツを閲覧するに際し前記第１のユーザが有する関心のレベルを算出する第１の予測関数に対する第１の重みと、
前記特定のコンテンツに関連付けられている１以上のコンセプトについて前記第１のユーザが有する関心のレベルを算出する第２の予測関数に対する第２の重みと、を指定する情報を含む、工程と、
第２の親和性の度合いを算出するために用いられる第２の重み情報を送信する工程であって、前記第２の重み情報は、
前記第１のユーザの１以上の属性に関連する前記特定のコンテンツに対する親和性の度合いを算出する第３の予測関数に対する第３の重みを指定する情報を含む、工程と、
前記第１の親和性の度合いを受信する工程と、
前記第２の親和性の度合いを受信する工程と、
受信された前記第１の親和性の度合いおよび前記第２の親和性の度合いがそれぞれ所定の第１の親和性の度合いおよび所定の第２の親和性の度合いよりも大きいことを決定する工程と、
受信された前記親和性の度合いおよび前記第２の親和性の度合いがそれぞれ所定の第１の親和性の度合いおよび所定の第２の親和性の度合いよりも大きいという決定に応答して、前記特定のコンテンツを前記第１のユーザに送信する工程と、が行われるように構成される、システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、一般にはモバイルデバイスに関し、より詳細には、モバイルデバイスの使用に基づいて親和性の度合いを決定することに関する。
【背景技術】
【０００２】
携帯電話、携帯情報端末（ＰＤＡ）、タブレットコンピュータ、およびミニラップトップなどのモバイルコンピューティング／通信デバイスが、近年、普及してきている。そのようなモバイルデバイスはしばしば、特定の個人に結び付いており、したがって、アカウント情報、ユーザプロフィール情報、またはその他のユーザに関連付けられている情報を含む個人情報を含んでいる。加えて、モバイルデバイスは、コンテンツアイテムまたはその他のユーザとの対話を提供する、インターネットに接続されたアプリケーションを有する。
【図面の簡単な説明】
【０００３】
【図１】例示的なネットワーク環境を示す図。
【図２Ａ】例示的なモバイルコンピューティングデバイスを示す図。
【図２Ｂ】例示的なモバイルコンピューティングデバイスの外装を示す図。
【図３】例示的なモバイルコンピューティングデバイス上の情報およびアプリケーションに関する例示的なソフトウェアアーキテクチャを示す図。
【図４】例示的なモバイルコンピューティングデバイスの例示的なホームスクリーンの例示的なワイヤフレームを示す図。
【図５】親和性の大きさを算出するための例示的な方法を示す図。
【図６】例示的なコンピュータシステムを示す図。
【発明を実施するための形態】
【０００４】
次いで、添付の図面において示されている本開示のいくつかの実施形態を参照しながら、本開示について詳細に説明する。以降の説明において、本開示の徹底的な理解を提供するために多くの具体的な詳細が示されている。しかしながら、これらの具体的な詳細のうちのいくつかまたはすべてを伴わずに本開示を実施する。その他の場合において、本開示を不必要にわかりにくくしないように、周知の処理工程および／または構造は、詳細に説明されていない。加えて、本開示は、特定の実施形態に関連して説明されているが、この説明は、本開示を、説明されている実施形態に限定することを意図するものではないということを理解されたい。逆に、この説明は、添付の特許請求の範囲によって定義されている本開示の趣旨および範囲内に含まれる代替形態、修正形態、および均等形態を包含することを意図されている。
【０００５】
図１は、例示的なネットワーク環境１００を示している。ネットワーク環境１００は、１つまたは複数のサーバ１２０および１つまたは複数のクライアント１３０を互いに結合するネットワーク１１０を含む。特定の実施形態において、ネットワーク１１０は、イントラネット、エクストラネット、仮想プライベートネットワーク（ＶＰＮ）、ローカルエリアネットワーク（ＬＡＮ）、無線ＬＡＮ（ＷＬＡＮ）、ワイドエリアネットワーク（ＷＡＮ）、メトロポリタンエリアネットワーク（ＭＡＮ）、インターネットの一部分、セルラ技術ベースのネットワーク、衛星通信技術のネットワーク、または別のネットワーク１１０、または複数のそのようなネットワーク１１０の組合せである。本開示は、任意の適切なネットワーク１１０を想定している。
【０００６】
１つまたは複数のリンク１５０が、サーバ１２０またはクライアント１３０をネットワ
ーク１１０に結合している。特定の実施形態において、１つまたは複数のリンク１５０はそれぞれ、１つまたは複数の有線リンク、無線リンク、または光リンク１５０を含む。特定の実施形態において、１つまたは複数のリンク１５０はそれぞれ、イントラネット、エクストラネット、ＶＰＮ、ＬＡＮ、ＷＬＡＮ、ＷＡＮ、ＭＡＮ、インターネットの一部分、セルラ技術ベースのネットワーク、衛星通信技術ベースのネットワーク、または別のリンク１５０、または複数のそのようなリンク１５０の組合せを含む。本開示は、サーバ１２０およびクライアント１３０をネットワーク１１０に結合する任意の適切なリンク１５０を想定している。
【０００７】
特定の実施形態において、それぞれのサーバ１２０は、単一のサーバ、または複数のコンピュータもしくは複数のデータセンタに亘る分散サーバである。サーバ１２０は、限定ではなく、例として、ウェブサーバ、ニュースサーバ、メールサーバ、メッセージサーバ、広告サーバ、ファイルサーバ、アプリケーションサーバ、エクスチェンジサーバ、データベースサーバ、プロキシサーバ、本明細書において説明されている機能および／もしくはプロセスを実行するのに適している別のサーバ、またはそれらの任意の組合せなど、さまざまなタイプのものである。特定の実施形態において、それぞれのサーバ１２０は、サーバ１２０によって実装またはサポートされる適切な機能を実行するためのハードウェア要素、ソフトウェア要素、または組込論理要素、または複数のそのような要素の組合せを含む。たとえば、ウェブサーバは一般に、ウェブページ、またはウェブページの特定の要素を含むウェブサイトをホストする。より具体的には、ウェブサーバは、ハイパーテキストマークアップ言語（ＨＴＭＬ）ファイルもしくはその他のファイルタイプをホストすることができ、または要求に応じてファイルを動的に作成もしくは構成して、それらのファイルを、クライアント１３０からのハイパーテキスト転送プロトコル（ＨＴＴＰ）もしくはその他の要求に応答してクライアント１３０に通信する。メールサーバは一般に、さまざまなクライアント１３０に電子メールサービスを提供する。データベースサーバは一般に、１つまたは複数のデータストア内に記憶されているデータを管理するためのインタフェースを提供する。特定の実施形態において、ソーシャルネットワーキングシステム１２２が、サーバ１２０上でホストされる。本開示は、特定の要素の特定の構成を有する特定のソーシャルネットワーキングシステムについて説明して示しているが、本開示は、任意の適切な要素の任意の適切な構成を有するソーシャルネットワーキングシステムを想定している。
【０００８】
特定の実施形態において、１つまたは複数のデータストレージ１４０が、１つまたは複数のリンク１５０を通じて１つまたは複数のサーバ１２０に通信可能にリンクされる。特定の実施形態において、データストレージ１４０を使用して、さまざまなタイプの情報を記憶する。特定の実施形態において、データストレージ１４０内に記憶されている情報を、特定のデータ構造に従って編成する。特定の実施形態において、それぞれのデータストレージ１４０は、リレーショナルデータベースである。特定の実施形態は、サーバ１２０またはクライアント１３０が、データストレージ１４０内に記憶されている情報を管理すること、たとえば、取り出すこと、修正すること、追加すること、または削除するインタフェースを提供する。
【０００９】
ソーシャルネットワーキングシステム１２２は、ソーシャルネットワーキング環境において表されている自分のユーザおよびオブジェクト、ならびにそれらのユーザおよびオブジェクトの間における関係に関する情報を記憶するために使用される複数の要素（すなわち、データストレージ１４０）を含む。ソーシャルネットワーキングシステム１２２は、以降で説明するように、ソーシャルネットワーキングシステムのユーザデバイスに対するいくつかのアクションを可能にするための要素をさらに含む。ソーシャルグラフは、それぞれのユーザがソーシャルネットワーキングシステム１２２のその他のユーザとの間で有しているつながりを記憶する。特定の実施形態において、ソーシャルグラフは、２次つ
ながりを記憶することもできる。したがって、それらのつながりは、直接的または間接的である。たとえば、ユーザＡがユーザＢの１次つながりであるが、ユーザＣの１次つながりではなく、ＢがＣの１次つながりである場合には、Ｃは、ソーシャルグラフ上ではＡの２次つながりである。アクションストアは、ソーシャルネットワーキングシステム１２２のユーザによって実行されたアクションを、それらのアクションに関連付けられている時間の表示、およびそれらのアクションに関連している任意のオブジェクトへの参照とともに記憶する。加えて、アクションストアは、指定されたカテゴリのアクションに関する統計値を記憶する。アクションストア内に記録されるアクションは、委託されたアクションであることが可能であり、それらのアクションは、ソーシャルネットワーキングシステム１２２が、提案するアクションの選択肢をユーザに提供することに応答してユーザによって実行される。
【００１０】
予測モジュールは、１組の対応するアクションをユーザが実行するか否かを予測する１組の予測関数を算出することを担当する。以降で論じるように、それぞれの予測関数は、その予測関数に関連付けられている特定のアクションに対するユーザの関心を表す。認証マネージャは、クライアントデバイス１３０のユーザを、ソーシャルネットワーキングシステム１２２の登録されているユーザであるとして認証する。認証マネージャは、ユーザが、ソーシャルネットワーキングシステム１２２に対応しているアプリケーションを有している任意のクライアントデバイス１３０からソーシャルネットワーキングシステムにログインする。ＡＰＩは、認証マネージャと連携して、外部アプリケーションを通じてユーザの正当性を確認する。親和性モジュールは、特定のアクションについての、その他のアクションに関する予測関数の組合せから導出された親和性または関連性の度合いを提供する。さまざまなプロセスは、親和性の度合いを親和性モジュールに要求する。限定ではなく、例として、それらのプロセスは、ソーシャルネットワーキングシステム１２２の機能、たとえば、ニュースフィードアルゴリズム、広告ターゲティングアルゴリズム、または友達提案アルゴリズムなどを含む。親和性の度合いを要求するその他のプロセスは、１つまたは複数のプラットフォームアプリケーションによって実行されることが可能であり、それらのプラットフォームアプリケーションは、ソーシャルネットワーキングシステム１２２内で機能するが、ソーシャルネットワーキングシステム１２２のオペレータ以外のサードパーティによって提供されるアプリケーションである。プラットフォームアプリケーションは、ソーシャルゲーム、メッセージングサービス、または、ソーシャルネットワーキングシステム１２２によって提供されるソーシャルプラットフォームを使用する任意の適切なアプリケーションを含む。親和性の度合いの特定および使用については、２００６年８月１１日に出願された「ソーシャルネットワークのメンバのためにパーソナライズされたストーリのフィードを生成する（Ｇｅｎｅｒａｔｉｎｇ  ａ  Ｆｅｅｄ  ｏｆ  Ｓｔｏｒｉｅｓ  Ｐｅｒｓｏｎａｌｉｚｅｄ  ｆｏｒ  Ｍｅｍｂｅｒｓ  ｏｆ  ａ  Ｓｏｃｉａｌ  Ｎｅｔｗｏｒｋ）」という名称の米国特許出願第１１／５０２，７５７号（米国特許第７，８２７，２０８号として発行された）、２００９年１２月２３日に出願された「関連するソーシャルネットワーキングシステムのコンテンツおよび広告の選択および提示（Ｓｅｌｅｃｔｉｏｎ  ａｎｄ  Ｐｒｅｓｅｎｔａｔｉｏｎ  ｏｆ  Ｒｅｌａｔｅｄ  Ｓｏｃｉａｌ  Ｎｅｔｗｏｒｋｉｎｇ  Ｓｙｓｔｅｍ  Ｃｏｎｔｅｎｔ  ａｎｄ  Ａｄｖｅｒｔｉｓｅｍｅｎｔｓ）」という名称の米国特許出願第１２／６４５，４８１号、２０１１年９月２８日に出願された「ソーシャルネットワーキングシステムにおけるソーシャル対話の即時的な推奨（Ｉｎｓｔａｎｔａｎｅｏｕｓ  Ｒｅｃｏｍｍｅｎｄａｔｉｏｎ  ｏｆ  Ｓｏｃｉａｌ  Ｉｎｔｅｒａｃｔｉｏｎｓ  ｉｎ  ａ  Ｓｏｃｉａｌ  Ｎｅｔｗｏｒｋｉｎｇ  Ｓｙｓｔｅｍ）」という名称の米国特許出願第１３／２４７，８２５号、２０１０年１２月２２日に出願された「位置およびソーシャル情報に基づいてユーザに提供される関連する通知に値を付ける（Ｐｒｉｃｉｎｇ  Ｒｅｌｅｖａｎｔ  Ｎｏｔｉｆｉｃａｔｉｏｎｓ  Ｐｒｏｖｉｄｅｄ  ｔｏ  ａ  Ｕｓｅｒ  Ｂａｓｅｄ  ｏｎ  Ｌｏｃａｔｉｏｎ  ａｎｄ  Ｓｏｃｉａｌ  ｉｎｆｏｒｍａｔｉｏｎ）」という名称の米国特許出願第
１２／９７６，７５５号、および２０１０年１２月２３日に出願された「ソーシャルネットワーキングシステムにおけるコンテキスト的に関連する親和性の予測（Ｃｏｎｔｅｘｔｕａｌｌｙ  Ｒｅｌｅｖａｎｔ  Ａｆｆｉｎｉｔｙ  Ｐｒｅｄｉｃｔｉｏｎ  ｉｎ  ａ  Ｓｏｃｉａｌ  Ｎｅｔｗｏｒｋｉｎｇ  Ｓｙｓｔｅｍ）」という名称の米国特許出願第１２／９７８，２６５号という米国特許出願においてさらに詳細に論じられており、それらの米国特許出願はすべて、本願明細書に援用される。
【００１１】
いくつかの実施形態において、ユーザに関する親和性の度合いを要求するプロセスは、外部サーバ１２０上で動作する１つまたは複数の外部アプリケーションを含む。それらの外部アプリケーションは、ＡＰＩを通じてソーシャルネットワーキングシステム１２２と対話する。それらの外部アプリケーションは、ユーザ同士がソーシャルネットワーキングシステムを通じて互いにメッセージを送信すること、またはソーシャルネットワーキングシステム１２２を通じて回送される広告を示すことなど、ＡＰＩによってサポートされるさまざまなオペレーションを実行する。ソーシャルネットワーキングシステム１２２の認証マネージャは、クライアントデバイス１３０のユーザを、ソーシャルネットワーキングシステム１２２の登録されているユーザであるとして認証する。認証マネージャは、ユーザが、ソーシャルネットワーキングシステム１２２に対応しているアプリケーションを有している任意のクライアントデバイス１３０からソーシャルネットワーキングシステム１２２にログインする。
【００１２】
ソーシャルネットワーキングシステム１２２は、その他のユーザと対話することによってなど、より積極的に参加するようユーザに促す。ソーシャルネットワーキングシステム１２２が特定のユーザの関心を知りたいと望む可能性がある多くのコンテキストがある。一般に、ソーシャルネットワーキングシステム１２２は、ソーシャルネットワーキングシステム１２２内でユーザにアクションを起こさせる可能性が高いオプションをユーザに提示できるように、ユーザにとって何が最も関心を引くかに関して判断できることを望む。たとえば、ソーシャルネットワーキングシステム１２２は、どのようなコンテンツもしくはストーリをニュースフィード内に入れるかを決めるとき、ユーザにとって何が関心を引くかを、供給する広告を選択する際には、どのような広告をユーザが「クリックスルーする」可能性が高いかを、またはユーザにアプリケーションを提案する際には、どのアプリケーションをユーザが使用する可能性が高いかを知りたいと望む場合がある。ソーシャルネットワーキングシステム１２２は、ユーザが、自分自身をソーシャルネットワーキングシステム１２２のその他のユーザと関連付けて、それらのその他のユーザとのつながりを確立する。２つのユーザがつながった場合には、それらの２つのユーザは、ソーシャルネットワーキングシステム１２２のコンテキスト内では、「つながり」、「友達」、「連絡先」、または「仲間」であると言われる。一般に、ソーシャルネットワーキングシステム１２２に接続されることは、接続されているユーザに、接続されていないユーザにとって利用可能であるよりも多くの互いに関する情報へのアクセスを許可する。同様に、ソーシャルネットワーキングシステム１２２内で接続されるようになることは、（ソーシャルネットワーキングシステムの内部および外部の）Ｅメール、インスタントメッセージ、テキストメッセージ、電話、またはその他の任意の通信インタフェースによってなど、別のユーザと通信するためのより多くのアクセスをユーザに許可する。最後に、接続されることは、別のユーザのアップロードされたコンテンツアイテムに対して、閲覧、コメント、ダウンロード、または推奨を行うためのアクセスをユーザに許可する。コンテンツアイテムの例としては、メッセージ、キューに入れられたメッセージ（たとえば、Ｅメール）、テキストおよびＳＭＳ（ショートメッセージサービス）メッセージ、コメントメッセージ、その他の任意の適切なメッセージング技術を使用して送信されるメッセージ、ＨＴＴＰリンク、ＨＴＭＬファイル、イメージ、ビデオ、オーディオクリップ、ドキュメント、ドキュメントエディット、カレンダエントリまたはイベント、およびその他のコンピュータ関連ファイルが含まれるが、それらには限定されない。
【００１３】
特定の実施形態において、それぞれのクライアント１３０は、ハードウェア、ソフトウェア、または組込論理要素、または複数のそのような要素の組合せを含む電子デバイスであること、およびクライアント１３０によって実装またはサポートされる適切な機能を実行できる。限定ではなく、例として、クライアント１３０は、デスクトップコンピュータ、ノートもしくはラップトップ、ネットブック、タブレット、ｅブックリーダ、グローバルポジショニングシステム（ＧＰＳ）デバイス、カメラ、携帯情報端末（ＰＤＡ）、ハンドヘルド電子デバイス、モバイル電話、または別の類似のプロセッサベースの電子デバイスなどのコンピュータシステムを備える。本開示は、任意の適切なクライアント１３０を想定している。クライアント１３０は、クライアント１３０のネットワークユーザがネットワーク１１０にアクセスする。クライアント１３０は、自分のユーザがその他のクライアント１３０のその他のユーザと通信する。特定の実施形態において、クライアントデバイス１３０は、図２Ａおよび図２Ｂにおいて説明されているようなモバイルコンピューティングデバイス２００を備える。
【００１４】
クライアント１３０は、ＭＩＣＲＯＳＯＦＴ  ＩＮＴＥＲＮＥＴ  ＥＸＰＬＯＲＥＲ、ＧＯＯＧＬＥ  ＣＨＲＯＭＥ、またはＭＯＺＩＬＬＡ  ＦＩＲＥＦＯＸなどのウェブブラウザ１３２を有することができ、１つまたは複数のアドオン、プラグイン、またはＴＯＯＬＢＡＲもしくはＹＡＨＯＯ  ＴＯＯＬＢＡＲなどのその他の拡張を有する。クライアント１３０のユーザは、ウェブブラウザ１３２をサーバ１２０へ導くユニフォームリソースロケータ（ＵＲＬ）またはその他のアドレスを入力することができ、ウェブブラウザ１３２は、ＨＴＴＰ要求を生成して、そのＨＴＴＰ要求をサーバ１２０に通信する。サーバ１２０は、そのＨＴＴＰ要求を受け入れて、そのＨＴＴＰ要求に応答して１つまたは複数のＨＴＭＬファイルをクライアント１３０に通信する。クライアント１３０は、ユーザに提示するためにサーバ１２０からのＨＴＭＬファイルに基づいてウェブページをレンダリングする。本開示は、任意の適切なウェブページファイルを想定している。限定ではなく、例として、ウェブページは、特定のニーズに従って、ＨＴＭＬファイル、拡張可能ハイパーテキストマークアップ言語（ＸＨＴＭＬ）ファイル、または拡張マークアップ言語（ＸＭＬ）ファイルからレンダリングする。そのようなページは、限定ではなく、例として、ＪＡＶＡＳＣＲＩＰＴ（登録商標）、ＪＡＶＡ（登録商標）、ＭＩＣＲＯＳＯＦＴ  ＳＩＬＶＥＲＬＩＧＨＴで書かれたスクリプトなどのスクリプト、ＡＪＡＸ（Ａｓｙｎｃｈｒｏｎｏｕｓ  ＪＡＶＡＳＣＲＩＰＴおよびＸＭＬ）などのマークアップ言語とスクリプトの組合せなどを実行することもできる。本明細書において、ウェブページへの参照は、適切な場合には、（そのウェブページをレンダリングするためにブラウザが使用する）１つまたは複数の対応するウェブページファイルを含み、その逆もまた同様である。
【００１５】
図２Ａは、例示的なモバイルコンピューティングデバイス２００を示している。特定の実施形態において、モバイルコンピューティングデバイス２００は、プロセッサ２１０と、メモリ２２０と、通信要素２３０（たとえば、無線通信用のアンテナおよび通信インタフェース）と、１つまたは複数の入力および／または出力（Ｉ／Ｏ）要素および／またはインタフェース２４０と、１つまたは複数のセンサ２５０とを備える。特定の実施形態において、１つまたは複数のＩ／Ｏ要素および／またはインタフェース２４０は、１つまたは複数のセンサ２５０を組み込む。特定の実施形態において、モバイルコンピューティングデバイス２００は、図６および関連付けられている説明において説明されているように、コンピュータシステムおよびまたはその要素を備える。
【００１６】
特定の実施形態において、モバイルコンピューティングデバイス２００は、限定ではなく、例として、ユーザが（たとえば、１つまたは複数の指を使用して）モバイルコンピューティングデバイス２００の表面に触れていることを検知するための（たとえば、デバイスのディスプレイ、デバイスの裏面、および／またはデバイスの１つもしくは複数の水平
な縁に配置されている）タッチセンサ、モバイルコンピューティングデバイス２００が移動しているか否か、およびその移動の速度を検知するための加速度計、モバイルコンピューティングデバイス２００の付近での温度変化を測定するための温度計、別のオブジェクト（たとえば、手、机、またはその他のオブジェクト）に対するモバイルコンピューティングデバイス２００の近接度を検知するための近接センサ、モバイルコンピューティングデバイス２００の周囲の周辺光を測定するための光センサ、パーソナルコンピューティングデバイス２００の付近のオブジェクト（たとえば、光景、人間、バーコード、ＱＲコード（登録商標）など）のデジタル静止画像および／またはビデオを取り込むための撮像センサ（たとえば、カメラ）、モバイル電子デバイスの位置を（たとえば、緯度および経度の点から）決定するための位置センサ（たとえばＧＰＳ）、すぐ近くの通信ネットワークを検知するためのセンサ（たとえば、近距離無線通信（ＮＦＣ）、ブルートゥース、ＲＦＩＤ、赤外線）、化学センサ、モバイルコンピューティングデバイス２００のユーザのバイオメトリックベースの（たとえば、指紋、手のひらの静脈パターン、手の形状、虹彩／網膜、ＤＮＡ、顔、音声、嗅覚の）認証のためのバイオメトリックセンサ等など、さまざまなタイプのセンサ２５０を含む。本開示は、任意の適用可能なタイプのセンサを含むモバイル電子デバイスを想定している。
【００１７】
特定の実施形態において、センサハブ２６０を任意選択でモバイルコンピューティングデバイス２００内に含める。センサ２５０はセンサハブ２６０に接続されてもよく、センサハブ２６０は、センサ２５０を制御し、センサ２５０のための電力を管理し、センサ入力を処理し、センサデータを集約し、特定のセンサ機能を実行する低電力消費プロセッサである。加えて、特定の実施形態において、いくつかのタイプのセンサ２５０は制御部２７０に接続される。この入れ物において、センサハブ２６０は制御部２７０に接続されてもよく、そして制御部２７０は、センサ２５０に接続される。あるいは、特定の実施形態において、センサ２５０を管理するためにセンサハブ２６０に替えてセンサモニタが存在する。
【００１８】
特定の実施形態において、前面に加えて、パーソナルコンピューティングデバイス２００は、バイオメトリック認証を実行するために１つまたは複数のセンサを有する。そのようなセンサは、モバイルコンピューティングデバイス２００の任意の表面上に配置する。例示的な実施形態において、ユーザの手がモバイルコンピューティングデバイス２００を掴むためにモバイルコンピューティングデバイス２００に触れた際に、タッチセンサが、ユーザの指紋または手のひらの静脈パターンを取り込む。例示的な実施形態において、ユーザがモバイルコンピューティングデバイス２００のディスプレイを見ている間に、カメラが、ユーザの顔のイメージを取り込んで、顔認識を実行する。例示的な実施形態において、ユーザがモバイルコンピューティングデバイス２００のディスプレイを見ている間に、赤外線スキャナが、ユーザの虹彩および／または網膜をスキャンする。例示的な実施形態において、ユーザがモバイルコンピューティングデバイス２００と接触している間に、またはモバイルコンピューティングデバイス２００のすぐ近くにいる間に、化学センサおよび／または嗅覚センサが、ユーザに関する関連データを取り込む。特定の実施形態において、モバイルコンピューティングデバイス２００を利用しているユーザの識別に関する状態に変化があることを、それ自体によって、またはその他のタイプのセンサ表示と組み合わせて検知すると、モバイルコンピューティングデバイス２００は、それ自体が共用されていることを決定する。
【００１９】
特定の実施形態において、前面に加えて、モバイルコンピューティングデバイス２００は、左面および右面上にタッチセンサを有する。任意選択で、モバイルコンピューティングデバイス２００は、裏面、上面、または底面上にタッチセンサを有することもできる。したがって、ユーザの手がモバイルコンピューティングデバイス２００を掴むためにモバイルコンピューティングデバイス２００に触れた際に、タッチセンサは、ユーザの指また
は手のひらがモバイルコンピューティングデバイス２００に触れていることを検知する。特定の実施形態において、モバイルコンピューティングデバイス２００に触れているユーザに関する状態に変化があることを、それ自体によって、またはその他のタイプのセンサ表示と組み合わせて検知すると、モバイルコンピューティングデバイス２００は、それ自体が共用されていることを決定する。
【００２０】
特定の実施形態において、モバイルコンピューティングデバイス２００は、左面および右面上に、タッチセンサに加えて、またはタッチセンサに替えて加速度計を有する。加速度計によって提供されるセンサデータを使用して、新たなユーザがモバイルコンピューティングデバイス２００を静止位置から、たとえば、テーブルもしくは机、飾り棚の上から、または誰かの手から、または誰かのバッグの中から手に取ったか否かを推定することもできる。ユーザが、モバイルコンピューティングデバイス２００を手に取って、自分の顔の前に持ってくるときには、パーソナルコンピューティングデバイス２００の移動速度が比較的急に増大する場合がある。モバイルコンピューティングデバイス２００の速度におけるこの変化は、加速度計によって供給されるセンサデータに基づいて検知される。特定の実施形態において、モバイルデバイス２００の速度が有意に増大したことを、それ自体によって、またはその他のタイプのセンサ表示と組み合わせて検知すると、モバイルコンピューティングデバイス２００は、それ自体が共用されていることを決定する。
【００２１】
特定の実施形態において、モバイルコンピューティングデバイス２００は、左面および右面上に、タッチセンサに加えて、またはタッチセンサに替えてジャイロメータを有する。ジャイロメータ（ジャイロスコープとしても知られている）とは、１つまたは複数の軸に沿って向きを測定するためのデバイスである。特定の実施形態において、ジャイロメータを使用して、モバイルコンピューティングデバイス２００の向きを測定する。モバイルコンピューティングデバイス２００は、棚の上に、またはユーザのバッグの中に収められているときには、ほとんど１つの向きのままである可能性がある。しかしながら、ユーザが、モバイルコンピューティングデバイス２００を掴み、持ち上げておよび／または近くに寄せて、自分の顔の前に持ってくるときには、モバイルコンピューティングデバイス２００の向きが比較的急に変化する場合がある。モバイルコンピューティングデバイス２００の向きは、ジャイロメータによって検知および測定される。モバイルコンピューティングデバイス２００の向きが有意に変化した場合には、特定の実施形態において、モバイルコンピューティングデバイス２００の向きが有意に変化したことを、それ自体によって、またはその他のタイプのセンサ表示と組み合わせて検知すると、モバイルコンピューティングデバイス２００は、それ自体が共用されていることを決定する。
【００２２】
特定の実施形態において、モバイルコンピューティングデバイス２００は、光センサを有する。モバイルコンピューティングデバイス２００がユーザのポケットまたは入れ物の中に収められているときには、モバイルコンピューティングデバイス２００の周囲は、比較的暗い。その一方で、ユーザが自分のポケットからモバイルコンピューティングデバイス２００を出すときには、特に日中は、または十分な照明のある領域では、モバイルコンピューティングデバイス２００の周囲は、比較的明るい可能性がある。光センサによって供給されるセンサデータを分析して、モバイルコンピューティングデバイス２００の周囲の周辺光レベルにおける有意な変化が生じたときを検知する。特定の実施形態において、モバイルコンピューティングデバイス２００の周囲の周辺光レベルが有意に増大したことを、それ自体によって、またはその他のタイプのセンサ表示と組み合わせて検知すると、モバイルコンピューティングデバイス２００は、それ自体が共用されていることを決定する。
【００２３】
特定の実施形態において、モバイルコンピューティングデバイス２００は、近接センサを有する。近接センサによって供給されるセンサデータを分析して、モバイルコンピュー
ティングデバイス２００がユーザの手などの特定のオブジェクトのすぐ近くにあるときを検知する。たとえば、モバイルコンピューティングデバイス２００は、自分の裏面に赤外線発光ダイオード（ＬＥＤ）２９０（すなわち、近接センサ）を配置される。ユーザがそのようなモバイルデバイスを自分の手で握るときには、ユーザの手のひらは、赤外線ＬＥＤ２９０を覆う。結果として、赤外線ＬＥＤ２９０は、ユーザの手がモバイルコンピューティングデバイス２００のすぐ近くにあるときを検知する。特定の実施形態において、モバイルコンピューティングデバイス２００がユーザの手のすぐ近くにあることを、それ自体によって、またはその他のタイプのセンサ表示と組み合わせて検知すると、モバイルコンピューティングデバイス２００は、それ自体が共用されていることを決定する。
【００２４】
モバイルコンピューティングデバイス２００は、多様なタイプの任意の数のセンサを有することができ、これらのセンサは、さまざまなタイプのセンサデータを供給する。個々のタイプのセンサデータのさまざまな組合せをともに使用して、モバイルコンピューティングデバイス２００に関するユーザの現在の意図（たとえば、そのユーザが本当に自分のポケットからモバイルコンピューティングデバイス２００を取り出して使用するつもりか否か）を検知および推定する。複数のタイプのセンサデータを組み合わせて使用することは、単一のタイプのセンサデータのみを使用することに比べて、所与の時点におけるモバイルコンピューティングデバイス２００に関するユーザの意図についてのさらに正確な、すなわちより適切な推定を生じさせる場合がある。それでもなお、単一のタイプのセンサデータ（たとえば、タッチセンサデータ）を使用してユーザの意図を推定することは可能である。
【００２５】
図２Ｂは、例示的なモバイルコンピューティングデバイス２００の外装を示している。モバイルコンピューティングデバイス２００は、前面、裏面、上面、底面、左面、および右面という概して６つの面を有する。タッチセンサは、モバイルコンピューティングデバイス２００の６つの面のうちの任意の面上の任意の場所に配置される。図２Ｂの例において、タッチセンサ２８０Ａを組み込んでいるタッチスクリーンが、モバイルコンピューティングデバイス２００の前面に配置されている。このタッチスクリーンは、モバイルコンピューティングデバイス２００のための入力／出力（Ｉ／Ｏ）要素として機能する。加えて、タッチセンサ２８０Ｂおよび２８０Ｃが、それぞれモバイルコンピューティングデバイス２００の左面および右面上に配置されている。タッチセンサ２８０Ｂおよび２８０Ｃは、ユーザの手がモバイルコンピューティングデバイス２００のそれらの面に触れていることを検知する。特定の実施形態において、タッチセンサ２８０Ａ、２８０Ｂ、２８０Ｃは、抵抗タッチセンサ、静電容量タッチセンサ、および／または誘導タッチセンサを使用して実装される。タッチセンサ２８０Ａ、２８０Ｂ、２８０Ｃの電極は、材料の薄い固体片または薄いワイヤメッシュ上に配置される。静電容量タッチセンサの場合、送信および受信という２つのタイプの電極が存在する。これらの電極を制御部（たとえば、図２Ａにおいて示されている制御部２７０）に接続することができ、その制御部は、タッチ入力の位置を検知するために、電気パルスを用いて送信電極を駆動し、タッチ入力によって引き起こされる受信電極からの静電容量における変化を測定するように設計されているマイクロチップである。
【００２６】
モバイルコンピューティングデバイス２００は、一例にすぎない。実際には、デバイスは、任意の数の面を有することができ、本開示は、任意の数の面を有するデバイスを想定している。タッチセンサは、デバイスの任意の面上に配置する。
【００２７】
特定の実施形態において、モバイルコンピューティングデバイス２００は、その裏面に近接センサ２９０（たとえば、赤外線ＬＥＤ）が配置される。近接センサ２９０は、その近接度、すなわちモバイルコンピューティングデバイス２００の別のオブジェクトに対する近接度を決定するためのセンサデータを供給できる。
【００２８】
図３は、例示的なモバイルコンピューティングデバイス２００上の情報およびアプリケーションに関する例示的なソフトウェアアーキテクチャ３００を示している。特定の実施形態において、ソフトウェアアーキテクチャ３００は、ソフトウェア３１０およびデータストア３２０を備える。特定の実施形態において、個人情報をアプリケーションデータキャッシュ３２０、および／またはプロフィールデータストア３２０、および／または別のデータストア３２０内に記憶する。特定の実施形態において、１つまたは複数のソフトウェアアプリケーションをモバイルコンピューティングデバイス２００上で実行する。特定の実施形態において、それらのソフトウェアアプリケーションは、サーバ上でホストされるウェブベースのアプリケーションである。たとえば、ウェブベースのアプリケーションは、ＵＲＩ（ユニフォームリソース識別子）またはＵＲＬに関連付けられる。パーソナルコンピューティングデバイス２００から、ユーザは、ウェブベースのアプリケーションに、そのアプリケーションの関連付けられているＵＲＩまたはＵＲＬを通じて（たとえば、ウェブブラウザを使用することによって）アクセスする。あるいは、その他の実施形態において、それらのソフトウェアアプリケーションは、モバイルコンピューティングデバイス２００上にインストールされて常駐しているネイティブアプリケーションである。したがって、ソフトウェア３１０は、任意の数のアプリケーションユーザインタフェース３３０およびアプリケーション機能３４０を含むこともできる。たとえば、１つのアプリケーション（たとえば、ＧＯＯＧＬＥ  ＭＡＰ）によって、デバイスユーザは地図を見ること、住所および企業を検索すること、ならびに道案内を受けることができ、第２のアプリケーションによって、デバイスユーザはＥメールを読むこと、送信すること、および受信することができ、第３のアプリケーション（たとえば、ウェブブラウザ）によって、モバイルコンピューティングデバイス２００のユーザはインターネットをブラウズおよび検索することができ、第４のアプリケーションによって、デバイスユーザはモバイルコンピューティングデバイス２００を使用して写真を撮ることまたはビデオを録画することができ、第５のアプリケーションによって、デバイスユーザはボイスオーバーインターネットプロトコル（ＶｏＩＰ）および／またはセルラネットワークコールを受信および開始するなどである。それぞれのアプリケーションは、１つまたは複数の特定の機能を有し、これらの機能を実装するソフトウェア（たとえば、１つまたは複数のソフトウェアモジュール）が、アプリケーション機能３４０内に含まれる。それぞれのアプリケーションは、デバイスユーザがそのアプリケーションと対話するユーザインタフェースを有することもでき、そのアプリケーションユーザインタフェースを実装するソフトウェアが、アプリケーションユーザインタフェース３３０内に含まれる。特定の実施形態において、アプリケーションの機能は、ＪＡＶＡＳＣＲＩＰＴ、ＪＡＶＡ、Ｃ、またはその他の適切なプログラミング言語を使用して実装される。特定の実施形態において、アプリケーションのユーザインタフェースは、���ＴＭＬ、ＪＡＶＡＳＣＲＩＰＴ、ＪＡＶＡ、またはその他の適切なプログラミング言語を使用して実装される。
【００２９】
特定の実施形態において、アプリケーションのユーザインタフェースは、任意の数のスクリーンまたはディスプレイを含む。特定の実施形態において、ユーザインタフェースのそれぞれのスクリーンまたはディスプレイは、ウェブページとして実装される。したがって、デバイスユーザは、一連のスクリーンまたはディスプレイ（すなわち、一連のウェブページ）を通じてアプリケーションと対話する。特定の実施形態において、オペレーティングシステム３５０は、ＡＮＤＲＯＩＤ（登録商標）モバイル技術プラットフォームである。ＡＮＤＲＯＩＤの場合、ウェブをブラウズするためのさまざまなツールを提供する「ａｎｄｒｏｉｄ．ｗｅｂｋｉｔ」と呼ばれるＪＡＶＡパッケージがある。「ａｎｄｒｏｉｄ．ｗｅｂｋｉｔ」パッケージの中には、ウェブページを表示するためのビューを実装する「ａｎｄｒｏｉｄ．ｗｅｂｋｉｔ．ＷｅｂＶｉｅｗ」と呼ばれるＪＡＶＡクラスがある。このクラスは、ＷｅｂＫｉｔレンダリングエンジンを使用してウェブページを表示し、履歴の中を前後にナビゲートすること、拡大すること、縮小すること、テキスト検索を実
行することなどを行うためのメソッドを含む。特定の実施形態において、アプリケーションユーザインタフェース３３０は、ＡＮＤＲＯＩＤのＷｅｂＶｉｅｗアプリケーションプログラミングインタフェース（ＡＰＩ）を利用して、「ａｎｄｒｏｉｄ．ｗｅｂｋｉｔ．ＷｅｂＶｉｅｗ」クラスによって実装されるビュー内にユーザインタフェースのそれぞれのウェブページを表示する。したがって、特定の実施形態において、ソフトウェア３１０は、任意の数のウェブビュー３６０を含むことができ、それぞれのウェブビュー３６０は、アプリケーションのユーザインタフェースを実装する１つまたは複数のウェブページを表示する。
【００３０】
アプリケーションの実行中に、デバイスユーザは、アプリケーションと、そのユーザインタフェースを通じて対話する。たとえば、ユーザは、さまざまなディスプレイ（たとえば、ウェブページ）においてアプリケーションに入力を提供する。アプリケーションの出力も、さまざまなディスプレイ（たとえば、ウェブページ）においてユーザに提示される。特定の実施形態において、ユーザが、特定のディスプレイ（たとえば、特定のウェブページ）を通じてアプリケーションに入力を提供した場合には、イベント（たとえば、入力イベント）が、たとえばウェブビュー３６０またはアプリケーションユーザインタフェース３３０によって生成される。それぞれの入力イベントが、アプリケーション機能３４０に転送されることが可能であり、またはアプリケーション機能３４０が、そのようにして生成された入力イベントを待ち受ける。アプリケーション機能３４０が入力イベントを受け取った場合には、そのイベントを処理するためにアプリケーション機能３４０内の適切なソフトウェアモジュールを呼び出す。加えて、オペレーティングシステム３５０ならびに／または（たとえば、図１および図２Ａ〜図２Ｂにおいて説明されているような）ハードウェアによって提供される特定の機能を呼び出すこともできる。たとえば、ユーザがモバイルコンピューティングデバイス２００を用いて写真を撮るためにボタンを押した結果としてイベントが生成された場合には、対応するイメージ処理モジュールを呼び出して、未処理のイメージデータをイメージファイル（たとえば、ＪＰＧまたはＧＩＦ）へと変換し、そのイメージファイルをモバイルコンピューティングデバイス２００のストレージ３２０内に記憶する。別の例として、ユーザがインスタントメッセージを作成するためにアイコンを選択した結果としてイベントが生成された場合には、対応するショートメッセージサービス（ＳＭＳ）モジュールを呼び出して、ユーザがメッセージを作成および送信する。
【００３１】
特定の実施形態において、アプリケーションの出力がユーザに提示される用意ができた場合には、イベント（たとえば、出力イベント）が、たとえばアプリケーション機能３４０内のソフトウェアモジュールまたはオペレーティングシステム３５０によって生成される。それぞれの出力イベントが、アプリケーションユーザインタフェース３３０に転送されることが可能であり、またはアプリケーションユーザインタフェース３３０が、そのようにして生成された出力イベントを待ち受ける。アプリケーションユーザインタフェース３３０は、出力イベントを受け取った場合には、その出力を表すまたは含むウェブページを表示するためにウェブビュー３６０を構築する。たとえば、ユーザがインスタントメッセージを作成するためにアイコンを選択することに応答して、ユーザがそのメッセージを入力するテキストフィールドを含む出力が構築される。この出力は、ウェブページとしてユーザに提示されて、ウェブビュー３６０においてユーザに表示されることが可能であり、それによってユーザは、送信するメッセージをテキストフィールド内にタイプ入力する。
【００３２】
アプリケーションのユーザインタフェースは、適切なプログラミング言語（たとえば、ＨＴＭＬ、ＪＡＶＡＳＣＲＩＰＴ、またはＪＡＶＡ）を使用して実装される。より具体的には、特定の実施形態において、ユーザインタフェースのスクリーンまたはディスプレイを実装するそれぞれのウェブページは、適切なプログラミング言語を使用して実装される
。特定の実施形態において、（たとえば、出力イベントに応答してアプリケーションユーザインタフェース３３０によって）ウェブページを表示するためにウェブビュー３６０が構築された場合には、そのウェブページを実装するコードがウェブビュー３６０内にロードされる。
【００３３】
図４は、例示的なモバイルコンピューティングデバイス２００の例示的なホームスクリーン４１０の例示的なワイヤフレームを示している。図４の例において、例示的なホームスクリーン４１０は、１つまたは複数のアイコン４６０を表示しており、各アイコン４６０は、モバイルコンピューティングデバイス２００上で実行する特定のアプリケーションに対応している。上述したように、アイコン４６０上でのタッチ入力は、モバイルコンピューティングデバイス２００の機能を実行すること、またはネットワーク接続を通じてその他のユーザと対話することもしくはコンテンツにアクセスすることが可能なアプリケーションを起動する。限定ではなく、例として、アプリケーションは、ユーザが地図を見ること（「地図」）、情報を検索すること（「検索」）、Ｅメールを読むこと、送信すること、もしくは受信すること（「Ｅメール」）、インターネットをブラウズすること（「ブラウザ」）、ゲームをプレイすること（「ゲーム」）、ＶｏＩＰ接続もしくはその他のプロトコルを通じて別のユーザと通信すること（「通信」）、または写真を撮ることもしくはビデオを録画すること（「カメラ」）を可能にする。たとえば、「連絡先」、「通信」、または「カレンダ」などのアプリケーションは、モバイルコンピューティングデバイス２００のユーザのデータ、またはその他のユーザに関連付けられているデータを記憶する。特定の実施形態において、アプリケーションのうちの１つまたは複数は、別のモバイルコンピューティングデバイスのユーザとの対話を提供する。
【００３４】
特定の実施形態において、アイコン４６０のサブセットに関連付けられているアプリケーションは、その他のユーザに関連付けられているデータを記憶する。限定ではなく、例として、「連絡先」、「Ｅメール」、「カレンダ」、「通信」、または「ゲーム」というアプリケーションは、たとえば、オンラインゲーム上でのユーザ識別情報、Ｅメールアドレス、電話番号、または物理的な住所など、その他のユーザに関連付けられているデータを記憶する。特定の実施形態において、１つまたは複数のアプリケーションは、モバイルコンピューティングデバイス２００のユーザのソーシャルグラフの一部であるユーザに関連付けられているデータを記憶する。特定の実施形態において、１つまたは複数のアプリケーションは、モバイルコンピューティングデバイス２００のユーザのソーシャルグラフの一部ではないユーザに関連付けられているデータを記憶する。
【００３５】
ソーシャルネットワーキングシステムは、１つまたは複数の予測関数に入力を提供する履歴データを伴うそれぞれのユーザに関するプロフィールを維持する。予測関数は、ユーザが特定のアクションを実行するか否かを、そのアクションに対するそのユーザの関心に基づいて予測する。モバイルコンピューティングデバイス２００上で特定のユーザによって実行されたアクションは、データベースまたはその他のデータリポジトリ、たとえば、ソーシャルネットワーキングシステムのアクションストアなどおいて維持される。特定の実施形態において、モバイルコンピューティングデバイス２００上でのユーザのアクションの履歴の少なくとも一部は、ソーシャルネットワーキングシステムに関連して行われたのではないアクションを含む。モバイルコンピューティングデバイス２００を使用して行われたアクションは、モバイルコンピューティングデバイス２００内に記憶されているデータ、ならびにソーシャルネットワーキングシステムに送信されてソーシャルネットワーキングシステム上に記憶されているアクションに関するデータおよび情報に相関付けられる。限定ではなく、例として、モバイルコンピューティングデバイス２００を使用して特定のユーザに対して発信した電話呼の回数は、モバイルコンピューティングデバイス２００上に記憶されている電話番号に関連付けられているその他の連絡用情報（たとえば、物理的な住所）に相関付けられる。
【００３６】
モバイルコンピューティングデバイス２００上でのユーザのアクションの履歴は、同じアクションに対するユーザのその後の関心のシグナルとして使用する。いくつかの実施形態において、アクションに関連付けられているモバイルコンピューティングデバイス２００上でのユーザのアクションの履歴を用いて訓練される機械学習アルゴリズムを使用して予測関数が生成される。上述したように、予測モジュールは、１組のアクションのそれぞれに関して予測関数を提供し、予測関数は、ユーザのアクションの履歴を入力として受け取り、次いで、対応するアクションにユーザが携わるであろう蓋然性の度合いを出力する。特定の実施形態において、モバイルコンピューティングデバイス２００上でのアクションは、たとえば、モバイルコンピューティングデバイス２００の電話機能を使用するアクション、ネットワーク接続を通じてコンテンツにアクセスすることに関するアクション、モバイルコンピューティングデバイス２００上に記憶されている連絡用情報に関するアクション、またはモバイルコンピューティングデバイス２００上のアプリケーションに関するアクションを含む。限定ではなく、例として、電話機能を使用するアクションは、電話呼を発信すること、電話呼を着信すること、電話呼を拒否すること、電話呼をボイスメールに直接送ること、ボイスメールを聞くこと、ボイスメールを聞かずに削除すること、特定の電話番号からの電話呼をブロックすること、または特定のタイプの電話番号への電話呼を制限することを含む。別の例として、ネットワーク接続を通じてコンテンツにアクセスすることに関するアクションは、コンテンツを送ること、コンテンツを受信すること、コンテンツを拒否すること、受信されたコンテンツがスパムであると示すこと、コンテンツアイテムに関してコメントすること、または特定の送信者からのコンテンツをブロックすることを含む。別の例として、モバイルコンピューティングデバイス２００上に記憶されている連絡用情報に関するアクションは、着信した電話呼に関する電話番号を連絡先のリストに加えること、連絡先のリストからエントリを削除すること、または連絡先のリストの中で検索を行うことを含む。別の例として、モバイルコンピューティングデバイス２００上のアプリケーションに関するアクションは、モバイルコンピューティングデバイス２００上にアプリケーションをインストールすること、アプリケーションを削除すること、アプリケーションを使用すること、アプリケーションを通じてアクションを実行するようつながりを招待すること、またはゲームをプレイすることを含む。モバイルコンピューティングデバイス２００の使用というコンテキスト内での上述のアクションおよびその他の適切な対話は、ソーシャルネットワーキングシステムによって記録されること、およびモバイルコンピューティングデバイス２００のユーザに対する特定のコンテンツの関連性を予測するデバイス関連の親和性の度合いを生成するために使用される。モバイルコンピューティングデバイス２００を使用して行われる特定のアクションは、予測関数への入力の一部として使用されるさらなる情報を有する。限定ではなく、例として、モバイルコンピューティングデバイス２００上でのアクションに関連付けられているプロパティは、そのアクションに関連付けられている時間の長さ、そのアクションが実行される頻度、またはそのアクションに関連付けられているその他の統計値を含む。
【００３７】
いくつかの実施形態において、予測関数のうちの１つまたは複数は、モバイルコンピューティングデバイス２００上でのユーザのアクションの履歴からのシグナルの強度が時間とともに減衰する減衰係数を使用する。さらに、さまざまな予測関数は、モバイルコンピューティングデバイス２００上でのユーザのアクションの履歴をさまざまな比率で減衰させる。したがって、それらの予測関数は、モバイルコンピューティングデバイス２００上でのユーザのアクションの履歴の影響を、それらのアクションが時間の経過に伴ってどれぐらい関連性を失っていく可能性があるかということに関する理解に基づいて減衰させる。この目的のために、さまざまな減衰メカニズムを使用する。限定ではなく、例として、予測関数は、ユーザのアクションの履歴の統計値を入力として使用する分子のアフィン関数および分母のアフィン関数を用いて２つのアフィン関数の比率として実装される。分母のアフィン関数は、分子のアフィン関数の正規化を表す。たとえば、ユーザによって特定
の人に対して発信した電話呼の回数は、数ある統計値の中でも、そのユーザがモバイルコンピューティングデバイス２００の電話機能を使用した回数によって正規化される。
【００３８】
予測関数は、ソーシャルネットワーキングシステムの内部または外部に存在する可能性があるモバイルコンピューティングデバイス２００上での任意の数のアクションまたはアクティビティを予測する。たとえば、予測関数によって予測されるアクションまたはアクティビティは、メッセージ、コンテンツの投稿、およびコンテンツに関してコメントすることなど、モバイルコンピューティングデバイス２００を通じたユーザによるさまざまなタイプの通信、他のつながりのプロフィールを見ること、および他のつながりによって投稿された写真およびコンテンツを見ることなど、ユーザによるさまざまなタイプの観察アクション、ならびに、同じ写真においてタグ付けされていること、同じ位置においてチェックインされていること、および同じイベントに出席していることなど、複数のユーザに関するさまざまなタイプの偶然に一致する情報を含む。予測関数は、モバイルコンピューティングデバイス２００上でのユーザのアクションの履歴および過去のユーザの応答、またはデータをさまざまな選択肢にさらして応答を測定することによってユーザから委託されたデータ上で訓練される機械学習アルゴリズムを使用して決定される。
【００３９】
特定の実施形態において、ソーシャルネットワーキングシステム上のユーザのソーシャルグラフは、モバイルコンピューティングデバイス２００上に記憶されているデータまたはモバイルコンピューティングデバイス２００上で行われたアクションから得られる情報に応答して修正される。限定ではなく、例として、モバイルコンピューティングデバイス２００上に記憶されている連絡用情報は、ユーザのソーシャルグラフに関連付けられていない別のユーザの連絡用情報を含む。ソーシャルネットワーキングシステムは、モバイルコンピューティングデバイス２００からメンバ以外のユーザの連絡用情報を受信することに応答して、メンバ以外のユーザに関する新たなノードを追加することによって、ユーザのソーシャルグラフを修正する。別の例として、ソーシャルネットワーキングシステムは、ソーシャルネットワーキングシステムのユーザと、メンバ以外のユーザとの間においてソーシャルグラフにおけるエッジを作成することによって、ユーザのソーシャルグラフを修正する。特定の実施形態において、モバイルコンピューティングデバイス２００上でのアクションに関連付けられているさらなる情報をソーシャルグラフのノードまたはエッジに追加する。限定ではなく、例として、ユーザと別のユーザとの間における電話呼の頻度を、ユーザとその別のユーザとをつないでいるエッジに追加する。
【００４０】
ソーシャルネットワーキングシステム内で動作しているプロセスは、特定のユーザに関する親和性の度合いを、親和性機能を実装するソーシャルネットワーキングシステムの親和性モジュールに要求する。さまざまなプロセスが、親和性の度合いを親和性モジュールに要求する。たとえば、それらのプロセスは、たとえばニュースフィードアルゴリズム、広告ターゲティングアルゴリズム、または友達提案アルゴリズムなど、ソーシャルネットワーキング機能を実装するプロセスを含む。親和性の度合いを要求するその他のプロセスは、１つまたは複数のプラットフォームアプリケーションによって実行されることが可能であり、それらのプラットフォームアプリケーションは、ソーシャルネットワーキングシステム内で機能するが、ソーシャルネットワーキングシステムのオペレータ以外のサードパーティによって提供されるアプリケーションである。プラットフォームアプリケーションは、ソーシャルゲーム、メッセージングサービス、および、ソーシャルネットワーキングシステムによって提供されるソーシャルプラットフォームを使用するその他の任意のアプリケーションを含む。
【００４１】
上述したように、親和性機能は、特定のアクションについての親和性または関連性の度合いを、その他のアクションに関する予測関数の組合せに基づいて決定する。特定の実施形態において、親和性機能は、重み付けされた１組の予測関数を組合せすることによって
、要求された親和性の度合いを算出し、それぞれの予測関数は、ユーザが特定のアクションを実行するか否かを予測する。限定ではなく、例として、重み付けされた予測関数同士は、線形に合計される。別の例として、予測関数同士を結合するその他の方法、たとえば、調和平均、二乗平均、および幾何平均などを使用する。親和性の度合いを計算するために使用される予測関数の重み付けは、親和性の度合いを要求するプロセスによって提供される。それぞれのプロセスは、予測関数同士を別々に重み付けして、特定のアクションに関する親和性の度合いを計算することができ、それにより、親和性機能はプロセスによって調整可能である。
【００４２】
加えて、さまざまな目的でソーシャルネットワーキングシステム環境においてさまざまなプロセスによって使用するために、さまざまな重み付けを伴う複数の親和性の度合いを算出する。たとえば、ユーザの「友達」からのソーシャル推奨を伴う広告を提供するプロセスにおいて、広告アルゴリズムが、親和性の度合い機能を使用して、ソーシャル推奨においてユーザの「友達」のうちの誰に言及するか、またはその推奨においてどのようなタイプのアクションに言及するかを決定する。特定の実施形態において、親和性の度合いを使用して、ソーシャルネットワーキングシステムとのさらに多くのユーザ対話を促すこと、およびユーザ体験を高める。ソーシャルネットワーキングシステムは、ネットワーク上の未処理のコンテンツをフィルタリングするためのアルゴリズムを採用することによって、モバイルコンピューティングデバイス２００上で特定のアプリケーションを実行する閲覧ユーザへの情報の配信をカスタマイズする。地理的位置、雇用主、職業タイプ、年齢、音楽の好み、関心、もしくはその他の属性など、ユーザのプロフィールに関連した親和性の度合い、もしくは上述のようなデバイス関連の親和性の度合いに基づいて、または、生成されたコンテンツに関連している別のユーザ（たとえば、そのコンテンツまたは情報をもたらしたアクションを実行したユーザ）に対するユーザの関心に基づいて、コンテンツをフィルタリングする。モバイルコンピューティングデバイス２００上で実行される特定のアプリケーション、またはソーシャルネットワーキングシステムにとってネイティブではないアプリケーションを使用する際に特定のユーザに提示される広告にソーシャルコンテキストを提供するために、ソーシャル推奨情報を使用する。そして親和性の度合いは、別のユーザによって投稿されたコンテンツを見る際にユーザが有する可能性がある関心のレベルを示す予測関数、ならびに、ソーシャル推奨において言及される可能性があるさまざまなアクションに対してユーザが有する関心のレベルを示す１つまたは複数の予測関数に基づく。
【００４３】
限定ではなく、例として、広告アルゴリズムは、結果として生じる親和性の度合いが、どのソーシャル推奨がユーザにとってさらに関心を引くかを正確に決定するように、これらの予測関数に相対的に大きな重み付けを提供する。広告アルゴリズムは、結果として生じる親和性の度合いを使用してソーシャル推奨を選択し、それによって広告のクリックスルーの蓋然性を高める。別の例として、ユーザのつながりを招待すること、またはユーザの代わりにメッセージを送信することを試みるソーシャルゲームアプリケーションのためのプロセスにおいて、ソーシャルアルゴリズムが、親和性の度合い機能を使用して、ユーザのつながりのうちの誰にゲームへの招待を示すか、またはどのようなタイプのメッセージをユーザの代わりに送信するかを決定する。この目的での親和性の度合いは、ユーザのつながりによって投稿されたコンテンツを見ることに対してユーザがどれぐらい関心を有するか、および／またはユーザが自分のつながり全体とどれぐらい頻繁にゲームをプレイするかを示す予測関数、ならびに、さまざまなタイプのメッセージを投稿することに対してユーザがどれぐらい関心を有するかを示す１つまたは複数の予測関数に基づく。したがって、ソーシャルアルゴリズムは、結果として生じる親和性の度合いが、ユーザが招待していることをどのつながりに示すか、およびどの招待またはメッセージが閲覧ユーザにとってさらに関心を引くかを正確に決定するように、これらの予測関数に相対的に高い重み付けを行い、次いで、結果として生じる親和性の度合いを使用して、招待またはメッセー
ジを選択する。重み付けされた予測関数によって可能にされる、親和性機能が高度に調整可能な性質を有するので、親和性機能は、複数の異なる目的で使用される。
【００４４】
図５は、前にさらに詳細に上述したような、親和性の大きさを算出するための例示的な方法５００を示している。方法５００は、工程５１０において開始され、工程５１０では、ソーシャルネットワーキングシステムは、ソーシャルネットワーキングシステムのユーザに関連付けられている特定のアクションに関する親和性の度合いを求める要求を受信する。特定の実施形態において、親和性の度合いは、ユーザに対する特定のアクションの関連性を示す。工程５２０において、１つまたは複数の予測関数のそれぞれに関する結果が、モバイルコンピューティングデバイスに関してユーザによって以前に実行されたアクションに少なくとも部分的に基づいて決定される。特定の実施形態において、それぞれの予測関数は、ユーザがモバイルコンピューティングデバイスに関して特定のアクションを実行するであろう蓋然性を計算する。工程５３０において、予測関数のうちの１つまたは複数に関する結果に基づいて、ユーザに関連付けられている親和性の度合いが算出される。特定の実施形態において、親和性の度合いは、予測関数の結果の組合せを使用して算出される。工程５４０において、算出された親和性の度合いが、アプリケーションまたはその他の機能によって使用するために提供される。前述したように、親和性の度合いは、ソーシャルネットワーキングシステムの内部機能のために使用されることが可能であり、または任意の形態（たとえば、ＡＰＩ）で外部システムに提供される。特定の実施形態において、工程５５０において、任意のアクション、たとえば、どのようなコンテンツをユーザに提供するかを決定すること、ユーザが特定の関心を有する可能性があるか否かを決定すること、任意の特定のアクション（たとえば、グループに参加すること、またはその他の任意のウェブページもしくはプロフィールに対して「いいね」と表明すること）をユーザが行うよう提案すること、ユーザに配信される広告または通知を選択することを行うための基準として、算出された親和性の度合いが使用される。本開示は、図５の方法の特定の工程を、特定の順序で生じるものとして説明し示しているが、本開示は、図５の方法の任意の適切な工程が任意の適切な順序で生じると想定している。さらに、本開示は、図５の方法の特定の工程を実行する特定の要素を説明し示しているが、本開示は、任意の適切な要素の任意の適切な組合せが図５の方法の任意の適切な工程を実行すると想定している。
【００４５】
図６は、例示的なコンピュータシステム６００を示している。特定の実施形態において、１つまたは複数のコンピュータシステム６００は、本明細書において説明されているまたは示されている１つまたは複数の方法の１つまたは複数の工程を実行する。特定の実施形態において、１つまたは複数のコンピュータシステム６００は、本明細書において説明されているまたは示されている機能を提供する。特定の実施形態において、１つまたは複数のコンピュータシステム６００上で動作するソフトウェアは、本明細書において説明されているもしくは示されている１つもしくは複数の方法の１つもしくは複数の工程を実行し、または本明細書において説明されているもしくは示されている機能を提供する。特定の実施形態は、１つまたは複数のコンピュータシステム７００の１つまたは複数の部分を含む。
【００４６】
本開示は、任意の適切な数のコンピュータシステム６００を想定している。本開示は、任意の適切な物理的な形態を取るコンピュータシステム６００を想定している。限定ではなく、例として、コンピュータシステム６００は、組込コンピュータシステム、システムオンチップ（ＳＯＣ）、シングルボードコンピュータシステム（ＳＢＣ）（たとえば、コンピュータオンモジュール（ＣＯＭ）もしくはシステムオンモジュール（ＳＯＭ）など）、デスクトップコンピュータシステム、ラップトップもしくはノートブックコンピュータシステム、対話型キオスク、メインフレーム、コンピュータシステムのメッシュ、モバイル電話、携帯情報端末（ＰＤＡ）、サーバ、タブレットコンピュータシステム、またはこれらのうちの複数の組合せである。適切な場合には、コンピュータシステム６００は、１
つもしくは複数のコンピュータシステム６００を含み、単一型もしくは分散型であり、複数の位置に亘り、複数のマシンに亘り、複数のデータセンタに亘り、または、クラウド（１つもしくは複数のネットワーク内の１つもしくは複数のクラウドコンポーネントを含む）内に常駐する。適切な場合には、１つまたは複数のコンピュータシステム６００は、本明細書において説明されているまたは示されている１つまたは複数の方法の１つまたは複数の工程を、実質的な空間上のまたは時間上の制限を伴わずに実行する。限定ではなく、例として、１つまたは複数のコンピュータシステム６００は、本明細書において説明されているまたは示されている１つまたは複数の方法の１つまたは複数の工程をリアルタイムで、またはバッチモードで実行する。１つまたは複数のコンピュータシステム６００は、適切な場合には、本明細書において説明されているまたは示されている１つまたは複数の方法の１つまたは複数の工程を別々の時点で、または別々の位置で実行する。
【００４７】
特定の実施形態において、コンピュータシステム６００は、プロセッサ６０２、メモリ６０４、ストレージ６０６、入力／出力（Ｉ／Ｏ）インタフェース６０８、通信インタフェース６１０、およびバス６１２を含む。本開示は、特定の数の特定の要素を特定の構成で有する特定のコンピュータシステムを説明し示しているが、本開示は、任意の適切な数の任意の適切な要素を任意の適切な構成で有する任意の適切なコンピュータシステムを想定している。
【００４８】
特定の実施形態において、プロセッサ６０２は、コンピュータプログラムを構成している命令などの命令を実行するためのハードウェアを含む。限定ではなく、例として、命令を実行するために、プロセッサ６０２は、内部レジスタ、内部キャッシュ、メモリ６０４、またはストレージ６０６から命令を取り出し（またはフェッチし）、それらの命令をデコードして実行し、次いで、１つまたは複数の結果を内部レジスタ、内部キャッシュ、メモリ６０４、またはストレージ６０６に書き込む。特定の実施形態において、プロセッサ６０２は、データ、命令、またはアドレスのための１つまたは複数の内部キャッシュを含む。本開示は、特定のプロセッサを説明し示しているが、本開示は、任意の適切なプロセッサを想定している。
【００４９】
特定の実施形態において、メモリ６０４は、プロセッサ６０２が実行するための命令、またはプロセッサ６０２が操作するためのデータを記憶するためのメインメモリを含む。限定ではなく、例として、コンピュータシステム６００は、命令をストレージ６０６または別のソース（たとえば、別のコンピュータシステム６００など）からメモリ６０４にロードする。次いでプロセッサ６０２は、命令をメモリ６０４から内部レジスタまたは内部キャッシュにロードする。命令を実行するために、プロセッサ６０２は、命令を内部レジスタまたは内部キャッシュから取り出し、それらの命令をデコードする。命令の実行中または実行後に、プロセッサ６０２は、１つまたは複数の結果（それらは、中間の結果または最終的な結果である場合がある）を内部レジスタまたは内部キャッシュに書き込む。次いでプロセッサ６０２は、それらの結果のうちの１つまたは複数をメモリ６０４に書き込む。特定の実施形態において、プロセッサ６０２は、（ストレージ６０６またはその他の場所ではなく）１つもしくは複数の内部レジスタもしくは内部キャッシュ内の、またはメモリ６０４内の命令のみを実行し、（ストレージ６０６またはその他の場所ではなく）１つもしくは複数の内部レジスタもしくは内部キャッシュ内の、またはメモリ６０４内のデータ上でのみ操作を行う。１つまたは複数のメモリバス（それぞれは、アドレスバスおよびデータバスを含む）は、プロセッサ６０２をメモリ６０４に結合する。バス６１２は、以降で説明するような１つまたは複数のメモリバスを含む。特定の実施形態において、１つまたは複数のメモリ管理ユニット（ＭＭＵ）は、プロセッサ６０２とメモリ６０４との間に常駐し、プロセッサ６０２によって要求されるメモリ６０４へのアクセスを容易にする。本開示は、特定のメモリを説明し示しているが、本開示は、任意の適切なメモリを想定している。
【００５０】
特定の実施形態において、ストレージ６０６は、データまたは命令のためのマスストレージを含む。ストレージ６０６は、適切な場合には、取り外し可能なまたは取り外し不能な（すなわち、固定された）媒体を含む。ストレージ６０６は、適切な場合には、コンピュータシステム６００の内部または外部に存在する。特定の実施形態において、ストレージ６０６は、不揮発性のソリッドステートメモリである。適切な場合には、ストレージ６０６は、１つまたは複数のストレージ６０６を含む。本開示は、特定のストレージを説明し示しているが、本開示は、任意の適切なストレージを想定している。
【００５１】
特定の実施形態において、Ｉ／Ｏインタフェース６０８は、コンピュータシステム６００と１つまたは複数のＩ／Ｏデバイスとの間における通信のための１つまたは複数のインタフェースを提供するハードウェア、ソフトウェア、またはその両方を含む。コンピュータシステム６００は、適切な場合には、これらのＩ／Ｏデバイスのうちの１つまたは複数を含む。これらのＩ／Ｏデバイスのうちの１つまたは複数は、人とコンピュータシステム６００との間における通信を可能にする。限定ではなく、例として、Ｉ／Ｏデバイスは、キーボード、キーパッド、マイクロフォン、モニタ、マウス、プリンタ、スキャナ、スピーカ、スチルカメラ、スタイラス、タブレット、タッチスクリーン、トラックボール、ビデオカメラ、別の適切なＩ／Ｏデバイス、またはこれらのうちの複数の組合せを含む。Ｉ／Ｏデバイスは、１つまたは複数のセンサを含む。本開示は、任意の適切なＩ／Ｏデバイス、およびそれらのＩ／Ｏデバイスのための任意の適切なＩ／Ｏインタフェース６０８を想定している。適切な場合には、Ｉ／Ｏインタフェース６０８は、プロセッサ６０２がこれらのＩ／Ｏデバイスのうちの１つまたは複数を駆動する１つまたは複数のデバイスドライバまたはソフトウェアドライバを含む。Ｉ／Ｏインタフェース６０８は、適切な場合には、１つまたは複数のＩ／Ｏインタフェース６０８を含む。本開示は、特定のＩ／Ｏインタフェースを説明し示しているが、本開示は、任意の適切なＩ／Ｏインタフェースを想定している。
【００５２】
特定の実施形態において、通信インタフェース６１０は、コンピュータシステム６００と、１つもしくは複数のその他のコンピュータシステム６００または１つもしくは複数のネットワークとの間における通信（たとえば、パケットベースの通信など）のための１つまたは複数のインタフェースを提供するハードウェア、ソフトウェア、またはその両方を含む。限定ではなく、例として、通信インタフェース６１０は、イーサネット（登録商標）もしくはその他の有線ベースのネットワークと通信するためのネットワークインタフェース制御部（ＮＩＣ）もしくはネットワークアダプタ、またはＷＩ−ＦＩネットワークなどの無線ネットワークと通信するための無線ＮＩＣ（ＷＮＩＣ）もしくは無線アダプタを含む。本開示は、任意の適切なネットワーク、およびそのネットワークのための任意の適切な通信インタフェース６１０を想定している。本開示は、特定の通信インタフェースを説明し示しているが、本開示は、任意の適切な通信インタフェースを想定している。
【００５３】
特定の実施形態において、バス６１２は、コンピュータシステム６００の要素同士を互いに結合するハードウェア、ソフトウェア、またはその両方を含む。本開示は、特定のバスを説明し示しているが、本開示は、任意の適切なバスまたは相互接続を想定している。
【００５４】
本明細書において、コンピュータ可読記憶媒体への言及は、１つまたは複数の非一時的な有形のコンピュータ可読記憶媒体処理構造を含む。限定ではなく、例として、コンピュータ可読記憶媒体は、適切な場合には、半導体ベースのもしくはその他の集積回路（ＩＣ）（たとえば、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）もしくは特定用途向け集積回路（ＡＳＩＣ）など）、ハードディスク、ＨＤＤ、ハイブリッドハードドライブ（ＨＨＤ）、光ディスク、光ディスクドライブ（ＯＤＤ）、光磁気ディスク、光磁気ドライブ、フロッピー（登録商標）ディスク、フロッピーディスクドライブ（ＦＤＤ）、磁気
テープ、ホログラフィック記憶媒体、ソリッドステートドライブ（ＳＳＤ）、ＲＡＭドライブ、セキュアデジタル（ＳＤ）カード、ＳＤドライブ、または別の適切なコンピュータ可読記憶媒体、またはこれらのうちの複数の組合せを含む。非一時的コンピュータ可読記憶媒体は、適切な場合には、揮発性、不揮発性、または揮発性と不揮発性の組合せである。
【００５５】
本明細書において、「または（もしくは）」は、包含的であり、排他的ではない（ただし、そうではないことが明示されている場合、または、そうではないことが文脈によって示されている場合は除く）。したがって、本明細書において、「ＡまたはＢ」は、「Ａ、Ｂ、またはその両方」を意味する（ただし、そうではないことが明示されている場合、または、そうではないことが文脈によって示されている場合は除く）。さらに、「および（ならびに）」は、包括的および個別的の両方である（ただし、そうではないことが明示されている場合、または、そうではないことが文脈によって示されている場合は除く）。したがって、本明細書において、「ＡおよびＢ」は、「まとめて、または個別に、ＡおよびＢ」を意味する（ただし、そうではないことが明示されている場合、または、そうではないことが文脈によって示されている場合は除く）。
【００５６】
本開示は、当業者であれば理解されるであろう、本明細書における例示的な実施形態に対するすべての変更、置換、変形、改変、および修正を包含する。同様に、適切な場合には、添付の特許請求の範囲は、当業者であれば理解されるであろう、本明細書における例示的な実施形態に対するすべての変更、置換、変形、改変、および修正を包含する。さらに、特定の機能を実行するように適合されている、実行するように配置されている、実行する、実行するように構成されている、実行することを可能にされている、実行するように機能できる、または実行するように機能する装置もしくはシステム、または装置もしくはシステムの要素への添付の特許請求の範囲における言及は、その装置、システム、要素、またはその特定の機能が、有効化されているか否か、オンにされているか否か、またはロック解除されているか否かを問わず、その装置、システム、または要素が、そうするように適合されている、そうするように配置されている、そうする、そうするように構成されている、そうすることを可能にされている、そうするように機能できる、またはそうするように機能する限り、その装置、システム、要素を包含する。
【図１】
0006445073.tif 000002
【図２Ａ】
0006445073.tif 000003
【図２Ｂ】
0006445073.tif 000004
【図３】
0006445073.tif 000005
【図４】
0006445073.tif 000006
【図５】
0006445073.tif 000007
【図６】
0006445073.tif 000008