(58)【調査した分野】(Int.Cl.,DB名)
1以上のサーバ・コンピューティング・デバイスが、1以上のクライアント・コンピューティング・デバイスのユーザによって最近実施され、または現在実施されているアクティビティに関連付けられている第1のデータを収集する工程と、
1以上のサーバ・コンピューティング・デバイスが、少なくとも部分的には少なくとも前記第1のデータを解析することによって、前記ユーザの現在の状態を推測する工程と、
1以上のサーバ・コンピューティング・デバイスが、推測された前記現在の状態に関連付けられている1以上の継続時間履歴から生成された第2のデータにアクセスする工程であって、前記第2のデータは、ソーシャルネットワーキング・システムのソーシャル・グラフに関連付けられているデータを含み、前記ソーシャル・グラフは、複数のノードと、前記ノード同士を接続している複数のエッジとを含み、前記ソーシャル・グラフの少なくとも1つのノードは前記ユーザに対応している、工程と、
1以上のサーバ・コンピューティング・デバイスが、少なくとも部分的に前記第2のデータに基づいて、推測された前記現在の状態に関連付けられている終了時刻を推定する工程と、を備える方法。
1以上のサーバ・コンピューティング・デバイスが、推測された前記ユーザの現在の状態および推定された関連付けられている終了時刻に少なくとも部分的に基づいて、1以上の他のユーザに対して提示するために第3のデータを提供する工程をさらに備え、
前記他のユーザの各々は、前記ソーシャル・グラフ内に少なくとも1つの前記他のユーザに対応しているノードを有し、前記少なくとも1つのノードは、現在の状態が推測され
た前記ユーザに対応しているノードのうちの少なくとも1つに1以上のエッジによって接続されている、請求項1に記載の方法。
1以上のサーバ・コンピューティング・デバイスが、推測された前記現在の状態の確度に関する前記ユーザからのフィードバックを含む第4のデータを収集する工程をさらに備える、請求項1に記載の方法。
前記ソフトウェアは、実行されたとき、推測された前記ユーザの現在の状態および推定された関連付けられている終了時刻に少なくとも部分的に基づいて、1以上の他のユーザに対して提示するために第3のデータを提供する工程をさらに行うように構成され、
前記他のユーザの各々は、前記ソーシャル・グラフ内に少なくとも1つの前記他のユーザに対応しているノードを有し、前記少なくとも1つのノードは、現在の状態が推測された前記ユーザに対応しているノードのうちの少なくとも1つに1以上のエッジによって接続されている、請求項8に記載の媒体。
前記ソフトウェアは、実行されたとき、推測された前記現在の状態の確度に関する前記ユーザからのフィードバックを含む第4のデータを収集する工程を行うようにさらに構成される、請求項8に記載の媒体。
前記プロセッサは、前記命令を実行したとき、推測された前記ユーザの現在の状態および推定された関連付けられている終了時刻に少なくとも部分的に基づいて、1以上の他のユーザに対して提示するために第3のデータを提供する工程をさらに行うように構成され、前記他のユーザの各々は、前記ソーシャル・グラフ内に少なくとも1つの前記他のユーザに対応しているノードを有し、前記少なくとも1つのノードは、現在の状態が推測された前記ユーザに対応しているノードのうちの少なくとも1つに1以上のエッジによって接続されている、請求項15に記載のシステム。
【発明を実施するための形態】
【0005】
特定の実施形態は、コンピューティング・システムはユーザの電子デバイスによって収集された信号に基づいてそのユーザの現在の状態を推測し、次いで推測された状態に関連付けられている履歴データに基づいて、推測されたユーザの状態の推定継続時間を計算する。一実施形態では、収集された信号は、電子デバイスのタイプ(たとえば、ウェブ・ブラウザ、モバイル・コンピューティング・デバイス、デスクトップ・コンピューティング・デバイス)、電子デバイスのIPアドレス、サードパーティ・サービス(たとえば、SPOTIFY、Netflix)から収集されたデータ、または電子デバイスに取り付けられたセンサ(たとえば、全世界測位システム(GPS)センサ、無線周波数識別(RFID)センサ)から収集されたデータを含んでもよい。いくつかの実施形態では、収集された信号は、ユーザの状態を推測するために、ユーザに関連付けられている履歴データと
組み合わされてもよい。いくつかの実施形態では、ユーザ状態は、ユーザが、映画を見ている、ラジオ局を聴いている、TVショーを見ている、ビデオ・ゲームをプレイしている、またはエクササイズを行うことであってよい。
【0006】
特定の実施形態では、コンピューティング・システムは、記憶されている、推測された状態に関連付けられている履歴データに基づいて、推測されたユーザの状態の推定継続時間をさらに計算する。いくつかの実施形態では、コンピューティング・システムは、同じ推測されたユーザ状態に関連付けられている他のユーザの平均継続時間に関連付けられているソーシャルネットワーキング・システムのソーシャル・グラフ内に記憶されたデータにアクセスすることになる。いくつかの実施形態では、コンピューティング・システムは、第1のユーザの過去の、推測された状態の継続時間に関連付けられているデータにさらにアクセスすることになる。次いで、コンピューティング・システムは、その継続時間に基づいて推測されたそのユーザの状態の推定終了時刻を計算することができる。したがって、いくつかの実施形態では、ユーザの現在の状態を、推定完了時刻と共に、ソーシャルネットワーキング・システムの他のユーザに通信することができる。
【0007】
本発明による実施形態は、方法、記憶媒体、およびシステムを対象とする添付の特許請求の範囲に特に開示されており、請求項の1つのカテゴリ、たとえば方法に述べられている特徴は、請求項の別のカテゴリ、たとえばシステムでも特許請求することができる。
【0008】
本発明による一実施形態では、方法は、1以上のサーバ・コンピューティング・デバイスが、1以上のクライアント・コンピューティング・デバイスのユーザによって最近実施され、または現在実施されているアクティビティに関連付けられている第1のデータを収集する工程と、1以上のサーバ・コンピューティング・デバイスが、少なくとも部分的には少なくとも第1のデータを解析することによって、ユーザの現在の状態を推測する工程と、1以上のサーバ・コンピューティング・デバイスが、推測された現在の状態に関連付けられている1以上の継続時間履歴に関連付けられている第2のデータにアクセスする工程と、1以上のサーバ・コンピューティング・デバイスが、少なくとも部分的に第2のデータに基づいて、推測された現在の状態に関連付けられている終了時刻を推定する工程と、を備える。
【0009】
特に、ユーザはソーシャルネットワーキング・システムのユーザであり、ソーシャルネットワーキング・システムは、ユーザに関連付けられている履歴データを備え、ユーザの現在の状態は、少なくとも部分的には、第1のデータに加えてユーザに関連付けられている履歴データを解析することによって推測される。
【0010】
特に、ソーシャルネットワーキング・システムは、複数のノードと、ノード同士を接続している複数のエッジとを含むソーシャル・グラフを備え、グラフ内の少なくとも1つのノードはユーザに対応しており、第2のデータは、1以上のノードまたはエッジに関連付けられているグラフからのソーシャルネットワーキング情報を含み、履歴データは、ユーザのノードに接続されている1以上のノードまたはエッジに関連付けられている情報を含む。好ましくは、1以上のサーバ・コンピューティング・デバイスが、推測されたユーザの現在の状態および推定された関連付けられている終了時刻に少なくとも部分的に基づいて、1以上の他のユーザに対して提示するために第3のデータを提供する工程をさらに備え、他のユーザの各々は、グラフ内に少なくとも1つの他のユーザに対応しているノードを有し、少なくとも1つのノードは、現在の状態が推測されたユーザに対応しているノードのうちの少なくとも1つに1以上のエッジによって接続されている。
【0011】
第1のデータは、1以上のクライアント・コンピューティング・デバイスのうちの1つの識別子、1以上のクライアント・コンピューティング・デバイスのうちの1つのインタ
ーネット・プロトコル(IP)アドレス、1以上のクライアント・コンピューティング・デバイスのうちの1つのロケーション、1以上のクライアント・コンピューティング・デバイスのうちの1つにおいて実行されているソフトウェア・アプリケーションから受信されたメタデータ、および、1以上のクライアント・コンピューティング・デバイスのうちの1つに取り付けられた無線周波数識別(RFID)リーダから受信されたデータのうちの1以上を含む。
【0012】
解析することは、回帰解析、決定木解析、ニューラルネットワーク解析、またはエキスパートシステム解析を使用することによって解析することを含む。好ましくは、1以上のサーバ・コンピューティング・デバイスが、推測された現在の状態の確度に関するユーザからのフィードバックを含む第4のデータを収集する工程をさらに備える。
【0013】
特許請求することができる他の実施形態では、1以上の非一時的コンピュータ可読記憶媒体はソフトウェアを具現化しており、ソフトウェアは、実行されたとき、1以上のクライアント・コンピューティング・デバイスのユーザによって最近実施され、または現在実施されているアクティビティに関連付けられている第1のデータを収集する工程と、少なくとも部分的には、少なくとも第1のデータを解析することによって、ユーザの現在の状態を推測する工程と、推測された現在の状態に関連付けられている1以上の継続時間履歴に関連付けられている第2のデータにアクセスする工程と、少なくとも部分的に第2のデータに基づいて、推測された現在の状態に関連付けられている終了時刻を推定する工程と、が行われるように構成される。
【0014】
特許請求することができる他の実施形態では、システムは、1以上のプロセッサと、プロセッサによって実行可能な命令を備える、プロセッサに結合されているメモリとを備え、プロセッサは、命令を実行したとき、1以上のクライアント・コンピューティング・デバイスのユーザによって最近実施され、または現在実施されているアクティビティに関連付けられている第1のデータを収集する工程と、少なくとも部分的には少なくとも第1のデータを解析することによって、ユーザの現在の状態を推測する工程と、推測された現在の状態に関連付けられている1以上の継続時間履歴に関連付けられている第2のデータにアクセスする工程であって、少なくとも部分的に第2のデータに基づいて、推測された現在の状態に関連付けられている終了時刻を推定する工程と、が行われるように構成される。
【0015】
本発明の他の実施形態では、1以上の非一時的コンピュータ可読記憶媒体が、実行されたとき本発明による方法または上述の実施形態のいずれかを実施するように構成されるソフトウェアを具現化する。
【0016】
本発明の他の実施形態では、1以上のプロセッサと、プロセッサによって実行可能な命令を備え、プロセッサに結合されているメモリとを備え、プロセッサは、命令を実行したとき本発明による方法または上述の実施形態のいずれかを実施するように構成される。
【0017】
図1は、ソーシャルネットワーキング・システムに関連付けられている例示的なネットワーク環境100を示す。ネットワーク環境100は、ネットワーク110によって互いに接続されたクライアント・システム130、ソーシャルネットワーキング・システム160、およびサードパーティ・システム170を含む。
図1は、クライアント・システム130、ソーシャルネットワーキング・システム160、サードパーティ・システム170、およびネットワーク110の特定の構成を示すが、この開示は、クライアント・システム130、ソーシャルネットワーキング・システム160、サードパーティ・システム170、およびネットワーク110の任意の好適な構成を企図する。限定するものとしてではなく一例として、クライアント・システム130、ソーシャルネットワーキング・シ
ステム160、およびサードパーティ・システム170の2以上が互いに直接的に接続され、ネットワーク110をバイパスしてもよい。別の例として、クライアント・システム130、ソーシャルネットワーキング・システム160、およびサードパーティ・システム170の2以上が、全体として、または部分的に互いに物理的に、または論理的に同じ場所にあってもよい。さらに、
図1は、特定の数のクライアント・システム130、ソーシャルネットワーキング・システム160、サードパーティ・システム170、およびネットワーク110を示すが、この開示は、任意の好適な数のクライアント・システム130、ソーシャルネットワーキング・システム160、サードパーティ・システム170、およびネットワーク110を企図する。限定するものとしてではなく一例として、ネットワーク環境100は、複数のクライアント・システム130、ソーシャルネットワーキング・システム160、サードパーティ・システム170、およびネットワーク110を含んでもよい。
【0018】
この開示は、任意の好適なネットワーク110を企図する。限定するものとしてではなく一例として、ネットワーク110の1または複数の部分は、アドホック・ネットワーク、イントラネット、エクストラネット、仮想プライベート・ネットワーク(VPN)、ローカル・エリア・ネットワーク(LAN)、無線LAN(WLAN)、ワイド・エリア・ネットワーク(WAN)、無線WAN(WWAN)、メトロポリタン・エリア・ネットワーク(MAN)、インターネットの一部分、公衆交換電話網(PSTN)の一部分、携帯電話ネットワーク、またはこれらの2以上の組合せを含んでもよい。ネットワーク110は、1または複数のネットワーク110を含んでもよい。
【0019】
リンク150は、クライアント・システム130、ソーシャルネットワーキング・システム160、およびサードパーティ・システム170を通信ネットワーク110に、または互いに接続することができる。この開示は、任意の好適なリンク150を企図する。特定の実施形態では、1または複数のリンク150は、1または複数の有線(たとえば、デジタル加入者線(DSL)またはDOCSIS(Data Over Cable Service Interface Specification)など)、無線(たとえば、WiMAX(Wi−FiまたはWorldwide interoperability for Microwave Access)など)、または光(たとえば、同期光ネットワーク(SONET)または同期デジタル・ハイアラーキ(SDH)など)によるリンクを含む。特定の実施形態では、1または複数のリンク150は、それぞれ、アドホック・ネットワーク、イントラネット、エクストラネット、VPN、LAN、WLAN、WAN、WWAN、MAN、インターネットの一部分、PSTNの一部分、セルラ技術ベースのネットワーク、衛星通信技術ベースのネットワーク、別のリンク150、または2以上のそのようなリンク150の組合せを含む。リンク150は、必ずしもネットワーク環境100全体を通じて同じであることを必要としない。1または複数の第1のリンク150は、1または複数の点で1または複数の第2のリンク150と異なってもよい。
【0020】
特定の実施形態では、クライアント・システム130は、ハードウェア、ソフトウェア、もしくは組込みロジック構成要素、または2以上のそのような構成要素の組合せを含み、クライアント・システム130によって実装またはサポートされる適切な機能を実施することが可能な電子デバイスであってよい。限定するものとしてではなく一例として、クライアント・システム130は、デスクトップ・コンピュータ、ノートブックもしくはラップトップ・コンピュータなどコンピュータ・システム、ネットブック、タブレット・コンピュータ、電子ブック・リーダ、GPSデバイス、カメラ、携帯情報端末(PDA)、ハンドヘルド電子デバイス、携帯電話、スマートフォン、他の好適な電子デバイス、またはそれらの任意の好適な組合せを含んでもよい。この開示は、任意の好適なクライアント・システム130を企図する。クライアント・システム130は、クライアント・システム130におけるネットワーク・ユーザがネットワーク110にアクセスすることを可能
にする。クライアント・システム130は、そのユーザが他のクライアント・システム130における他のユーザと通信することを可能にする。
【0021】
特定の実施形態では、クライアント・システム130は、マイクロソフト・インターネット・エクスプローラ(MICROSOFT INTERNET EXPLORER)、グーグル・クローム(GOOGLE CHROME)、またはモジラ・ファイアフォックス(MOZILLA FIREFOX)などウェブ・ブラウザ132を含んでもよく、ツールバー(TOOLBAR)またはヤフー・ツールバー(YAHOO TOOLBAR)など1または複数のアドオン、プラグイン、または他の拡張機能を有してもよい。クライアント・システム130におけるユーザは、ユニフォーム・リソース・ロケータ(URL)、またはウェブ・ブラウザ132を特定のサーバ(サーバ162、またはサードパーティ・システム170に関連付けられているサーバなど)に導く他のアドレスを入力することができ、ウェブ・ブラウザ132は、ハイパー・テキスト転送プロトコル(HTTP)要求を生成し、そのHTTP要求をサーバに通信することができる。サーバは、HTTP要求を受け入れ、HTTP要求に応答してクライアント・システム130に1または複数のハイパー・テキスト・マークアップ言語(HTML)ファイルを通信することができる。クライアント・システム130は、サーバからのHTMLファイルに基づいて、ユーザに提示するためにウェブページをレンダリングすることができる。この開示は、任意の好適なウェブページ・ファイルを企図する。限定するものとしてではなく一例として、ウェブページは、特定のニーズに応じて、HTMLファイル、拡張可能ハイパー・テキスト・マークアップ言語(XHTML)ファイル、または拡張可能マークアップ言語(XML)ファイルからレンダリングされる。そのようなページでは、たとえば限定することなしに、JAVASCRIPT(登録商標)、JAVA(登録商標)、マイクロソフト・シルバーライト(MICROSOFT SILVERLIGHT)で書かれたものなどスクリプト、AJAX(Asynchronous JAVASCRIPT and XML)などマークアップ言語とスクリプトの組合せなどが実行される。本明細書では、ウェブページに言及することは、適切な場合、1または複数の対応するウェブページ・ファイル(ブラウザがウェブページをレンダリングするために使用される)、およびその逆を含む。
【0022】
特定の実施形態では、ソーシャルネットワーキング・システム160は、オンライン・ソーシャル・ネットワークをホストすることができるネットワークアドレス可能なコンピューティング・システムであってもよい。ソーシャルネットワーキング・システム160は、たとえばユーザプロフィール・データ、コンセプトプロフィール・データ、ソーシャル・グラフ情報、またはオンライン・ソーシャル・ネットワークに関係する他の好適なデータなど、ソーシャルネットワーキング・データを生成し、記憶し、受信し、送ることができる。ソーシャルネットワーキング・システム160は、ネットワーク環境100の他の構成要素によって、直接的に、またはネットワーク110を通じてアクセスされてもよい。特定の実施形態では、ソーシャルネットワーキング・システム160は、1または複数のサーバ162を含んでもよい。各サーバ162は、一元的なものであっても、複数のコンピュータまたは複数のデータセンタに跨る分散型であってもよい。サーバ162は、たとえば限定することなしに、ウェブ・サーバ、ニュース・サーバ、メール・サーバ、メッセージ・サーバ、広告サーバ、ファイル・サーバ、アプリケーション・サーバ、エクスチェンジ・サーバ、データベース・サーバ、プロキシ・サーバ、本明細書に記載の機能もしくはプロセスを実施するのに適した別のサーバ、またはそれらの任意の組合せなど、様々なタイプのものであってよい。特定の実施形態では、各サーバ162は、サーバ162によって実装またはサポートされる適切な機能を実施するために、ハードウェア、ソフトウェア、もしくは組込みロジック構成要素、または2以上のそのような構成要素の組合せを含んでもよい。特定の実施形態では、ソーシャルネットワーキング・システム164は、1または複数のデータ・ストア164を含んでもよい。データ・ストア164は、様々なタイプの情報を記憶するために使用されてよい。特定の実施形態では、データ・ストア
164内に記憶される情報は、特定のデータ構造に従って編成されてよい。特定の実施形態では、各データ・ストア164は、リレーショナル・データベース、列指向データベース、相関データベース、または他の好適なデータベースであってよい。この開示は特定のタイプのデータベースについて記載し示しているが、この開示は、任意の好適なタイプのデータベースを企図する。特定の実施形態は、クライアント・システム130、ソーシャルネットワーキング・システム160、またはサードパーティ・システム170がデータ・ストア164内に記憶されている情報を管理し、取り出し、修正し、追加し、または削除することを可能にするインターフェースを提供してもよい。
【0023】
特定の実施形態では、ソーシャルネットワーキング・システム160は、1または複数のソーシャル・グラフを1または複数のデータ・ストア164内に記憶してもよい。特定の実施形態では、ソーシャル・グラフは、複数のユーザノード(それぞれが特定のユーザに対応する)または複数のコンセプト・ノード(それぞれが特定のコンセプトに対応する)を含み得る複数のノードと、それらのノードを接続する複数のエッジとを含んでもよい。ソーシャルネットワーキング・システム160は、オンライン・ソーシャル・ネットワークのユーザに、他のユーザと通信および対話をするための能力を提供することができる。特定の実施形態では、ユーザは、ソーシャルネットワーキング・システム160を通じてオンライン・ソーシャル・ネットワークに参加し、次いで接続されたいと望むソーシャルネットワーキング・システム160のいくつかの他のユーザにつながり(たとえば、関係)を追加することができる。本明細書では、「友達」という用語は、あるユーザがソーシャルネットワーキング・システム160を通じてつながり、関連付け、または関係を形成したソーシャルネットワーキング・システム160の任意の他のユーザに及ぶ。
【0024】
特定の実施形態では、ソーシャルネットワーキング・システム160は、ソーシャルネットワーキング・システム160によってサポートされる様々なタイプのアイテムまたはオブジェクトに対してアクションを起こすための能力をユーザに提供することができる。限定するものとしてではなく一例として、アイテムおよびオブジェクトは、ソーシャルネットワーキング・システム160のユーザが属することができるグループもしくはソーシャル・ネットワーク、ユーザが関心をもつ可能性があるイベントもしくはカレンダ・エントリ、ユーザが使用することができるコンピュータベースのアプリケーション、ユーザがサービスを通じてアイテムを購入もしくは販売することを可能にする取引、ユーザが実施することができる広告との対話、または他の好適なアイテムもしくはオブジェクトを含んでもよい。ユーザは、ソーシャルネットワーキング・システム160内で、またはソーシャルネットワーキング・システム160から分離されネットワーク110を通じてソーシャルネットワーキング・システム160に結合されるサードパーティ・システム170の外部システムによって表されることが可能ないずれのものとも対話することができる。
【0025】
特定の実施形態では、ソーシャルネットワーキング・システム160は、様々なエンティティをリンクすることが可能である。限定するものとしてではなく一例として、ソーシャルネットワーキング・システム160は、ユーザが互いに対話すること、またサードパーティ・システム170もしくは他のエンティティからコンテンツを受信することを可能にし、またはユーザがこれらのエンティティとアプリケーション・プログラミング・インターフェース(API)もしくは他の通信チャネルを通じて対話することを可能にする。
【0026】
特定の実施形態では、サードパーティ・システム170は、1もしくは複数のタイプのサーバ、1もしくは複数のデータ・ストア、それだけには限らないがAPIを含む1もしくは複数のインターフェース、1もしくは複数のウェブ・サーバ、1もしくは複数のコンテンツ・ソース、1もしくは複数のネットワーク、または、たとえばサーバが通信する任意の他の好適な構成要素を含んでもよい。サードパーティ・システム170は、ソーシャルネットワーキング・システム160を運営するエンティティとは異なるエンティティに
よって運営されてもよい。しかし、特定の実施形態では、ソーシャルネットワーキング・システム160とサードパーティ・システム170は、互いに共に動作し、ソーシャルネットワーキング・システム160またはサードパーティ・システム170のユーザにソーシャルネットワーキング・サービスを提供してもよい。この意味では、ソーシャルネットワーキング・システム160は、サードパーティ・システム170など他のシステムがインターネット中にわたってユーザにソーシャルネットワーキング・サービスおよび機能を提供するために使用することができるプラットフォームまたはバックボーンを提供することができる。
【0027】
特定の実施形態では、サードパーティ・システム170は、サードパーティ・コンテンツ・オブジェクト・プロバイダを含んでもよい。サードパーティ・コンテンツ・オブジェクト・プロバイダは、クライアント・システム130に通信され得るコンテンツ・オブジェクトの1または複数のソースを含んでもよい。限定するものとしてではなく一例として、コンテンツ・オブジェクトは、たとえば、映画の上演時間、映画評論、レストラン評論、レストランのメニュー、製品情報および評論、または他の好適な情報など、ユーザにとって関心のある物またはアクティビティに関する情報を含んでよい。限定するものとしてではなく別の例として、コンテンツ・オブジェクトは、クーポン、割引チケット、ギフト券、または他の好適なインセンティブ・オブジェクトなど、インセンティブ・コンテンツ・オブジェクトを含んでもよい。
【0028】
特定の実施形態では、サードパーティ・システム170は、エクササイズ・ルーチン情報(たとえば、Nike+)、ストリーミング事前記録媒体(たとえば、Hulu、Netflix、SPOTIFY)、またはビデオ・ゲームのホスティングをホストすることができるネットワークアドレス可能なコンピューティング・システムであってもよい。サードパーティ・システム170は、たとえば進行中のランニングの継続時間、閲覧した映画の現在の再生時間、現在プレイしているゲームの名前など、状態に関するデータを生成し、記憶し、受信し、送ることができる。サードパーティ・システム170は、ネットワーク環境100の他の構成要素によって、直接的に、またはネットワーク110を通じてアクセスされてもよい。特定の実施形態では、1または複数のユーザ101が1または複数のクライアント・システム130を使用し、ソーシャルネットワーキング・システム160またはサードパーティ・システム170にアクセスし、データを送り、それらからデータを受信してもよい。クライアント・システム130は、ソーシャルネットワーキング・システム160またはサードパーティ・システム170に直接的に、ネットワーク110を通じて、またはサードパーティ・システムを通じてアクセスしてもよい。限定するものとしてではなく一例として、クライアント・システム130は、サードパーティ・システム170にソーシャルネットワーキング・システム160を通じてアクセスしてもよい。クライアント・システム130は、たとえばパーソナル・コンピュータ、ラップトップ・コンピュータ、携帯電話、スマートフォン、またはタブレット・コンピュータなど、任意の好適なコンピューティング・デバイスであってよい。
【0029】
特定の実施形態では、ソーシャルネットワーキング・システム160は、ソーシャルネットワーキング・システム160とのユーザの対話を向上させることができるユーザ生成のコンテンツ・オブジェクトをも含む。ユーザ生成のコンテンツは、ユーザがソーシャルネットワーキング・システム160に追加する、アップロードする、送る、または「投稿する」ことができるいずれのものも含んでよい。限定するものとしてではなく一例として、ユーザは、クライアント・システム130からソーシャルネットワーキング・システム160に投稿を通信する。投稿は、状態更新もしくは他のテキスト・データ、ロケーション情報、写真、映像、リンク、音楽、または他の同様のデータもしくは媒体を含んでもよい。また、ニュースフィードまたはストリームなど「通信チャネル」を通じて、サードパーティによってソーシャルネットワーキング・システム160にコンテンツが追加されて
もよい。
【0030】
特定の実施形態では、ソーシャルネットワーキング・システム160は、様々なサーバ、サブシステム、プログラム、モジュール、ログ、およびデータ・ストアを含んでもよい。特定の実施形態では、ソーシャルネットワーキング・システム160は、ウェブ・サーバ、アクション・ロガー、API要求サーバ、関連性およびランキング(relevance−and−ranking)・エンジン、コンテンツ・オブジェクト・クラシファイア、通知コントローラ、アクション・ログ、サードパーティ・コンテンツ・オブジェクト公開ログ、インターフェース・モジュール、認可/プライバシ・サーバ、検索モジュール、広告ターゲティング・モジュール、ユーザインターフェース・モジュール、ユーザプロフィール・ストア、コネクション・ストア、サードパーティ・コンテンツ・ストア、またはロケーション・ストアのうちの1または複数を含んでよい。また、ソーシャルネットワーキング・システム160は、ネットワーク・インターフェース、セキュリティ機構、ロード・バランサ、フェイルオーバ・サーバ、管理およびネットワーク運営コンソール、他の好適な構成要素、またはそれらの任意の組合せなど、好適な構成要素を含んでもよい。特定の実施形態では、ソーシャルネットワーキング・システム160は、ユーザ・プロフィールを記憶するために1または複数のユーザプロフィール・ストアを含んでもよい。ユーザ・プロフィールは、たとえば経歴情報、人口統計情報、挙動情報、ソーシャル情報、あるいは、職歴、学歴、趣味もしくは好み、関心、姻族関係、またはロケーションなど他のタイプの説明情報を含んでもよい。関心情報は、1または複数のカテゴリに関係する関心を含んでもよい。カテゴリは、一般的なものでも特定のものでもよい。限定するものとしてではなく一例として、ユーザが靴のブランドに関する記事に対して「いいね」と表明した場合、そのカテゴリは、そのブランドであっても、「靴」または「衣服」という一般的なカテゴリであってもよい。コネクション・ストアは、ユーザについてのつながり情報を記憶するために使用され得る。つながり情報は、同様もしくは共通の職歴、グループ・メンバーシップ、趣味、学歴を有する、または何らかの形で関係がある、もしくは共通の属性を共有するユーザを示すことができる。また、つながり情報は、様々なユーザとコンテンツ(内部および外部)との間のユーザ定義のつながりを含んでもよい。ウェブ・サーバは、ネットワーク110を通じてソーシャルネットワーキング・システム160を1または複数のクライアント・システム130または1または複数のサードパーティ・システム170にリンクするために使用され得る。ウェブ・サーバは、メール・サーバ、またはソーシャルネットワーキング・システム160と1もしくは複数のクライアント・システム130との間でメッセージを受信およびルーティングするための他のメッセージング機能を含んでもよい。API要求サーバは、サードパーティ・システム170が1または複数のAPIを呼び出すことによってソーシャルネットワーキング・システム160からの情報にアクセスすることを可能にする。アクション・ロガーは、ソーシャルネットワーキング・システム160上またはその外でのユーザのアクションについてウェブ・サーバから通信を受信するために使用され得る。アクション・ログと共に、サードパーティ・コンテンツ・オブジェクトにユーザが接したことについてサードパーティ・コンテンツ・オブジェクト・ログを維持してもよい。通知コントローラは、コンテンツ・オブジェクトに関する情報をクライアント・システム130に提供することができる。情報は、通知としてクライアント・システム130にプッシュしてもよく、または情報は、クライアント・システム130から受信された要求に応答してクライアント・システム130からプルされてもよい。認可サーバは、ソーシャルネットワーキング・システム160のユーザの1または複数のプライバシ設定を施行するために使用され得る。ユーザのプライバシ設定は、ユーザに関連付けられている特定の情報をどのように共有することができるか決定する。認可サーバは、たとえば適切なプライバシ設定を設定することによってなど、ユーザが自らのアクションをソーシャルネットワーキング・システム160によって記録させる、または他のシステム(たとえば、サードパーティ・システム170)と共有させることについてオプトインまたはオプトアウトすることを可能にする。サードパーティ・コンテンツ
・オブジェクト・ストアは、サードパーティ・システム170などサードパーティから受信されたコンテンツ・オブジェクトを記憶するために使用され得る。ロケーション・ストアは、ユーザに関連付けられているクライアント・システム130から受信されたロケーション情報を記憶するために使用され得る。広告価格決定モジュールは、ソーシャル情報、現在時刻、ロケーション情報、または他の好適な情報を組み合わせ、関連の広告を通知の形態でユーザに提供することができる。
【0031】
図2は、例示的なソーシャル・グラフ200を示す。特定の実施形態では、ソーシャルネットワーキング・システム160は、1または複数のソーシャル・グラフ200を1または複数のデータ・ストア内に記憶する。特定の実施形態では、ソーシャル・グラフ200は、複数のノード(複数のユーザノード202または複数のコンセプトノード204を含んでもよい)と、それらのノードを接続する複数のエッジ206とを含んでもよい。
図2に示されている例示的なソーシャル・グラフ200は、説明のために、2次元の視覚マップ表現で示されている。特定の実施形態では、ソーシャルネットワーキング・システム160、クライアント・システム130、またはサードパーティ・システム170は、適切な用途のためにソーシャル・グラフ200および関連するソーシャル・グラフ情報にアクセスする。ソーシャル・グラフ200のノードおよびエッジは、データオブジェクトとして、たとえばデータ・ストア(ソーシャルグラフデータベースなど)内に記憶されてもよい。そのようなデータ・ストアは、ソーシャル・グラフ200のノードまたはエッジの、1または複数の検索可能または照会可能なインデックスを含んでもよい。
【0032】
特定の実施形態では、ユーザノード202は、ソーシャルネットワーキング・システム160のユーザに対応する。限定するものとしてではなく一例として、ユーザは、ソーシャルネットワーキング・システム160と、またはソーシャルネットワーキング・システム160を通じて対話または通信する個人(人間のユーザ)、エンティティ(たとえば、企業、事業者、またはサードパーティアプリケーション)、または(たとえば、個人またはエンティティの)グループであってよい。特定の実施形態では、ユーザがアカウントをソーシャルネットワーキング・システム160に登録するとき、ソーシャルネットワーキング・システム160は、そのユーザに対応するユーザノード202を作成し、そのユーザノード202を1または複数のデータ・ストア内に記憶する。本明細書に記載のユーザおよびユーザノード202は、適切な場合、登録されたユーザ、および登録されたユーザに関連付けられているユーザノード202に及ぶ。それに加えて、または代替として、本明細書に記載のユーザおよびユーザノード202は、適切な場合、ソーシャルネットワーキング・システム160に登録しなかったユーザに及ぶ。特定の実施形態では、ユーザノード202は、ユーザによって提供された情報、またはソーシャルネットワーキング・システム160を含む様々なシステムによって収集された情報に関連付けられてもよい。限定するものとしてではなく一例として、ユーザは、自分の名前、プロフィール写真、連絡先情報、誕生日、性別、婚姻状態、家族状態、雇用、学歴、好み、関心、または他の人口統計情報を提供してもよい。特定の実施形態では、ユーザノード202は、ユーザに関連付けられている情報に対応する1または複数のデータオブジェクトに関連付けられてもよい。特定の実施形態では、ユーザノード202は、1または複数のウェブページに対応してもよい。
【0033】
特定の実施形態では、コンセプトノード204は、コンセプトに対応する。限定するものとしてではなく一例として、コンセプトは、場所(たとえば、映画館、レストラン、目印、または都市など)、ウェブサイト(たとえば、ソーシャルネットワーキング・システム160に関連付けられているウェブサイト、またはウェブアプリケーションサーバに関連付けられているサードパーティウェブサイトなど)、エンティティ(たとえば、人、事業者、グループ、スポーツチーム、または有名人など)、ソーシャルネットワーキング・システム160内、またはウェブアプリケーションサーバなど外部サーバ上に位置するリ
ソース(たとえば、オーディオファイル、映像ファイル、デジタル写真、テキストファイル、構造化文書、またはアプリケーションなど)、実際の財産または知的財産(たとえば、彫刻、絵画、映画、ゲーム、楽曲、着想、写真、または書物など)、ゲーム、アクティビティ、着想もしくは理論、別の好適なコンセプト、または2以上のそのようなコンセプトに対応してもよい。コンセプトノード204は、ユーザによって提供されたコンセプトの情報、またはソーシャルネットワーキング・システム160を含む様々なシステムによって収集された情報に関連付けられてもよい。限定するものとしてではなく一例として、コンセプトの情報は、名前もしくはタイトル、1または複数の画像(たとえば、本の表紙の画像)、ロケーション(たとえば、住所または地理的ロケーション)、(URLに関連付けられる)ウェブサイト、連絡先情報(たとえば、電話番号または電子メールアドレス)、他の好適なコンセプト情報、またはそのような情報の任意の好適な組合せを含んでもよい。特定の実施形態では、コンセプトノード204は、コンセプトノード204に関連付けられている情報に対応する1または複数のデータオブジェクトに関連付けられてもよい。特定の実施形態では、コンセプトノード204は、1または複数のウェブページに対応してもよい。
【0034】
特定の実施形態では、ソーシャル・グラフ200内のノードは、ウェブページを表しても、ウェブページによって表されてもよい(「プロフィールページ」と呼ばれる)。プロフィールページは、ソーシャルネットワーキング・システム160によってホストされ、またはそこからアクセス可能であってもよい。また、プロフィールページは、サードパーティ・システム170に関連付けられているサードパーティウェブサイト上でホストされてもよい。限定するものとしてではなく一例として、特定の外部ウェブページに対応するプロフィールページは、その特定の外部ウェブページであってもよく、プロフィールページが、特定のコンセプトノード204に対応してもよい。プロフィールページは、他のユーザのすべてまたは選択されたサブセットによって閲覧可能であってもよい。限定するものとしてではなく一例として、ユーザノード202は、対応するユーザがコンテンツを追加し、宣言をし、または他の方法で自分を表現する、対応するユーザプロフィールページを有してもよい。限定するものとしてではなく別の例として、コンセプトノード204は、1または複数のユーザがコンセプトノード204に対応するコンセプトに特に関連してコンテンツを追加し、宣言をし、またはユーザ自身を表現する、対応するコンセプトプロフィールページを有してもよい。
【0035】
特定の実施形態では、コンセプトノード204は、サードパーティ・システム170によってホストされるサードパーティウェブページまたはリソースを表す。サードパーティウェブページまたはリソースは、要素の中でもとりわけ、コンテンツ、選択可能なアイコンもしくは他のアイコン、またはアクションもしくはアクティビティを表す(たとえば、JavaScript(登録商標)、AJAX、またはPHPコードで実装される)他の対話可能なオブジェクトを含んでもよい。限定するものとしてではなく一例として、サードパーティウェブページは、「いいね」、「チェック・イン」、「食べる」、「推奨する」、または別の好適なアクションまたはアクティビティなど、選択可能なアイコンを含んでもよい。サードパーティウェブページを閲覧するユーザは、アイコンの1つ(たとえば、「食べる」)を選択することによって、アクションを行う。これによって、クライアント・システム130は、ユーザのアクションを示すメッセージをソーシャルネットワーキング・システム160へ送信する。ソーシャルネットワーキング・システム160は、メッセージに応答して、ユーザに対応するユーザノード202とサードパーティウェブページまたはリソースに対応するコンセプトノード204との間にエッジ(たとえば、「食べる」エッジ)を作成し、エッジ206を1または複数のデータ・ストア内に記憶する。
【0036】
特定の実施形態では、ソーシャル・グラフ200内の1対のノードが、1または複数のエッジ206によって互いに接続されてもよい。1対のノードを接続するエッジ206は
、その対のノード間の関係を表す。特定の実施形態では、エッジ206は、1対のノード間の関係に対応する1または複数のデータオブジェクトまたは属性を含み、または表してもよい。限定するものとしてではなく一例として、第1のユーザは、第2のユーザが第1のユーザの「友達」であることを示してもよい。この示したことに応答して、ソーシャルネットワーキング・システム160は、「友達要求」を第2のユーザに送信してもよい。第2のユーザが「友達要求」を確認した場合、ソーシャルネットワーキング・システム160は、ソーシャル・グラフ200内で第1のユーザのユーザノード202を第2のユーザのユーザノード202に接続するエッジ206を作成し、エッジ206をソーシャル・グラフ情報としてデータ・ストア24の1または複数に記憶してもよい。
図2の例では、ソーシャル・グラフ200は、ユーザ「A」とユーザ「B」とのユーザノード202間の友達関係を示すエッジ206と、ユーザ「C」とユーザ「B」とのユーザノード202間の友達関係を示すエッジとを含む。本開示は特定のユーザノード202を接続する特定の属性を有する特定のエッジ206について記載し示しているが、本開示は、ユーザノード202を接続する任意の好適な属性を有する任意の好適なエッジ206を企図する。限定するものとしてではなく一例として、エッジ206は、友達関係、家族関係、仕事関係もしくは雇用関係、ファン関係、フォロワ関係、ビジタ関係、加入者関係、主従関係、相互的関係、非相互的関係、別の好適なタイプの関係、または2以上のそのような関係を表してもよい。さらに、本開示は一般にノードを接続されているものとして記載しているが、本開示は、ユーザまたはコンセプトも接続されているものとして記載している。本明細書では、接続されているユーザまたはコンセプトへの言及は、適切な場合、ソーシャル・グラフ200内で1または複数のエッジ206によって接続されているユーザまたはコンセプトに対応するノードに及ぶ。
【0037】
特定の実施形態では、ユーザノード202とコンセプトノード204との間のエッジ206は、コンセプトノード204に関連付けられているコンセプトに向かってユーザノード202に関連付けられているユーザによって行われる特定のアクションまたはアクティビティを表してもよい。限定するものとしてではなく一例として、
図2に示されているように、ユーザは、コンセプトに対して「いいね」と表明することができ、コンセプトに「通った」、コンセプトを「プレイした」、「聴いた」、「調理した」、コンセプトに「勤務した」、またはコンセプトを「見た」のであり、コンセプトのそれぞれは、エッジタイプまたはサブタイプに対応する。コンセプトノード204に対応するコンセプトプロフィールページは、たとえば、選択可能な「チェック・イン」アイコン(たとえば、クリッカ可能な「チェック・イン」アイコン)または選択可能な「お気に入りに追加」アイコンを含んでもよい。同様に、ユーザがこれらのアイコンをクリックした後、ソーシャルネットワーキング・システム160は、それぞれのアクションに対応するユーザのアクションに応答して「お気に入り」エッジ、または「チェック・イン」エッジを作成する。限定するものとしてではなく別の例として、ユーザ(ユーザ「C」)は、特定のアプリケーション(オンラインミュージックアプリケーションであるSPOTIFY)を使用して特定の楽曲(ランブル・オン)を聴く。この場合には、ソーシャルネットワーキング・システム160は、ユーザに対応するユーザノード202と楽曲およびアプリケーションに対応するコンセプトノード204との間に「聴いた」エッジ206および「使用した」エッジ(
図2に図示)を作成し、ユーザがその楽曲を聞き、そのアプリケーションを使用したことを示す。さらに、ソーシャルネットワーキング・システム160は、楽曲およびアプリケーションに対応するコンセプトノード204間に「プレイした」エッジ206(
図2に図示)を作成し、特定の楽曲が特定のアプリケーションによってプレイされたことを示す。この場合には、「プレイした」エッジ206は、外部アプリケーション(SPOTIFY)によって外部オーディオファイル(楽曲「イマジン」)に対して行われたアクションに対応する。本開示は、ユーザノード202とコンセプトノード204とを接続する特定の属性を有する特定のエッジ206について記載しているが、本開示は、ユーザノード202とコンセプトノード204とを接続する任意の好適な属性を有する任意の好適なエッジ2
06を企図する。さらに、本開示は、ユーザノード202とコンセプトノード204の間の単一の関係を表すエッジについて記載しているが、本開示は、ユーザノード202とコンセプトノード204との間の1または複数の関係を表すエッジを企図する。限定するものとしてではなく一例として、エッジ206は、ユーザが「いいね」と表明したこと、および特定のコンセプトを使用したことの両方を表してもよい。あるいは、別のエッジ206が、ユーザノード202とコンセプトノード204(
図2に示されているように、ユーザ「E」に関するユーザノード202と「SPOTIFY」に関するコンセプトノード204)との間の関係の各タイプ(または単一の関係の複数)を表してもよい。
【0038】
特定の実施形態では、ソーシャルネットワーキング・システム160は、ソーシャル・グラフ200内でユーザノード202とコンセプトノード204との間にエッジ206を作成する。限定するものとしてではなく一例として、(たとえば、ウェブ・ブラウザまたはユーザのクライアント・システム130によってホストされる専用アプリケーションを使用することによってなど)コンセプトプロフィールページを閲覧するユーザは、「いいね」アイコンをクリックまたは選択することによって、ユーザがコンセプトノード204によって表されたコンセプトに対して「いいね」と表明することを示す。これによって、ユーザのクライアント・システム130は、コンセプトプロフィールページに関連付けられているコンセプトに対してユーザが「いいね」と表明することを示すメッセージをソーシャルネットワーキング・システム160へ送信する。ソーシャルネットワーキング・システム160は、そのメッセージに応答して、ユーザとコンセプトノード204との間の「いいね」エッジ206によって示されているように、ユーザに関連付けられているユーザノード202とコンセプトノード204との間にエッジ206を作成してもよい。特定の実施形態では、ソーシャルネットワーキング・システム160は、エッジ206を1または複数のデータ・ストア内に記憶してもよい。特定の実施形態では、エッジ206は、特定のユーザアクションに応答してソーシャルネットワーキング・システム160によって自動的に形成されてもよい。限定するものとしてではなく一例として、第1のユーザが写真をアップロードし、映画を見たか、または楽曲を聴いた場合、エッジ206は、第1のユーザに対応するユーザノード202とそれらのコンセプトに対応するコンセプトノード204との間に形成されてもよい。本開示は、特定のエッジ206を特定の方法で形成することについて記載しているが、本開示は、任意の好適なエッジ206を任意の好適な方法で形成することを企図する。
【0039】
図3は、コンテキスト上のユーザ状態および継続時間を推測するための例示的な方法300を示す。この方法は、1または複数のコンピューティング・デバイスが、電子デバイスのユーザによって実施された最近のアクティビティに関連付けられている第1のデータを収集するステップ310で始まる。本明細書では、データを収集することは、データを集めること、データを受信すること、または両方を含む。第1のデータは、最近のアクティビティに関連付けられており、したがって時間制限される。第1のデータが収集されるサンプリング・ウィンドウは、推測されることになるユーザ状態のタイプに合わせて適切にサイズ設定されてよい。特定の実施形態では、第1のデータ収集のためのウィンドウは、収集されるデータすべてについて固定のサイズに事前設定されてもよい(たとえば、過去10分の間に収集された入力のみ)。他の実施形態では、ウィンドウは、収集されるデータのタイプに応じて可変であってもよい。一部のデータ・タイプがより時間の影響を受けてもよい。たとえば、電子デバイスの識別子は、過去20分以内でいつ収集されてもよく、一方、電子デバイスのロケーションは、過去5分以内に収集されなければならない。他の実施形態では、ウィンドウは、データ・タイプと収集された以前のデータとの両方に基づいて可変であってもよい。一例として、システムは、電子デバイスの識別子を表すデータを20分のウィンドウ内において収集してもよい。電子デバイスがデスクトップ・コンピュータまたはテレビであることをデバイス識別データが示すとき、電子デバイスのロケーションは、24時間のウィンドウ内において収集されてもよい。しかし、電子デバイ
スがラップトップ・コンピュータまたはスマートフォンであることをデバイス識別データが示すとき、電子デバイスのロケーションは、5分のウィンドウ内において収集されなければならない。これは、より安定したものであると知られている入力のカテゴリに基づいて、データのより効率的な収集を可能にする。
【0040】
特定の実施形態では、第1のデータは、電子デバイスによって直接的に収集されてもよい。たとえば、第1のデータは、電子デバイスの識別子であってもよい。特定の実施形態では、識別子は、スマートフォン、ラップトップ・コンピュータ、デスクトップ・コンピュータ、タブレット、ネットトップ・コンピュータ、テレビ、または他のデバイスなど、電子デバイスのタイプを指定することができる。他の実施形態では、識別子は、広いカテゴリではなく、ユーザによって所有されている特定のテレビまたはコンピュータなど、特定の電子デバイスを示すことができる。いくつかの実施形態では、識別子は、電子デバイスによって記憶または提供された特定の識別子コードまたは信号であってもよい。他の実施形態では、識別子は、既知の信号のデータベースに照らして比較されたときデバイスを一意に識別する、別の目的のための信号の組合せ(たとえば、MACアドレス)であってもよい。
【0041】
特定の実施形態では、第1のデータは、電子デバイスのインターネット・プロトコル(IP)アドレス、または他のネットワーキング・プロトコル・アドレスであってもよい。電子デバイスのIPアドレスは、電子デバイスに関する他の情報を推測または決定するために使用され得る。特定の実施形態では、IPアドレスは、電子デバイスのおおよそのロケーションを決定するために使用され得る。他の実施形態では、IPアドレスは、そのデバイスが位置する特定のネットワークを決定するために使用され得る(たとえば、電子デバイスはユーザのワーク・ネットワークにある、電子デバイスは、ユーザの職場のメンロー・パーク・キャンパスにあるものを構築することに関連付けられているネットワーク・ユーザにある)。他の実施形態では、電子デバイスは、静的なIPアドレスを使用していてもよく、そのIPアドレスが特定のデバイスを識別するために使用されてもよい。他の実施形態では、IPアドレスは、ネットワーク接続のタイプ(たとえば、GSM(登録商標)、LTE、地上通信回線、公衆ホットスポット)を識別するために使用されてもよい。IPアドレスは、論理ブロックにおいてネットワーク・アクセス・プロバイダに割り当てられ、特定のネットワーク・アクセス・プロバイダおよびネットワーク・タイプの識別を可能にしてもよい。
【0042】
特定の実施形態では、第1のデータは、電子デバイスのロケーションであってもよい。いくつかの実施形態では、電子デバイスのロケーションは、電子デバイスに一体化されたGPSデバイス、アシスト型GPS(AGPS)、セルラ・タワー三角測量を通じて提供されてもよい。特定の実施形態では、電子デバイスのロケーションは、上述のようにIPアドレスから計算されてもよい。いくつかの実施形態では、ロケーションは、ユーザから明示的に提供されてもよい。特定の実施形態では、ロケーションは、ユーザのアクションから推測されてもよい。たとえば、ユーザがコーヒー・ショップで「チェック・イン」したばかりである場合、そのユーザのスマートフォンは同じロケーションに存在すると想定される。いくつかの実施形態では、第1のデータは、ロケーション・データに加えて速度ベクトルを含んでもよい。速度ベクトルは、ロケーション・データを収集するための適切なウィンドウを決定するために使用されてもよい。たとえば、高速で移動している電子デバイスは、静止している電子デバイスより小さいサンプリング・ウィンドウを使用しなければならない。
【0043】
特定の実施形態では、第1のデータは、電子デバイス上で実行されるソフトウェア・アプリケーションから受信されたメタデータであってもよい。たとえば、電子デバイスは、ストリーミング・ビデオ・アプリケーションを実行中であってもよく、そのアプリケーシ
ョンは、閲覧されている媒体を識別する情報を提供する。特定の実施形態では、第1のデータは、媒体の現在の再生時間、媒体の残り時間、または任意の他の好適な情報など、映画についての追加の、アプリケーションによってレポートされる情報を含む。特定の実施形態では、この追加の情報は、第1のデータと共に含まれるのではなく、たとえばソーシャルネットワーキング・システムに関連付けられているサーバなど、第1のデータを受信するコンピューティング・デバイスによってアクセスされてもよい。いくつかの実施形態では、ソフトウェア・アプリケーションは、エクササイズ・アプリケーションであってもよい。一例として、エクササイズ・アプリケーションは、エクササイズ・ルーチンの開始時間、実施予定のエクササイズによる摂生、および心拍数またはユーザの他の生体計測測定値を含むメタデータを提供してもよい。特定の実施形態では、ソフトウェア・アプリケーションは、ボイスオーバーIP(VoIP)またはセルラ通信を制御してもよい。たとえば、このアプリケーションによって提供されるメタデータは、通信する当事者、通信のタイプ(たとえば、電話、ビデオ会議、SMS、MMS)、および通信の所用時間を含んでもよい。
【0044】
特定の実施形態では、第1のデータは、無線周波数識別(RFID)リーダなど電子デバイスのセンサから受信されてもよい。たとえば、RFIDのI/Oデバイスがユーザのスマートフォン内に含まれてもよい。ユーザのスマートフォンが、既知のRFIDタグのすぐ近くを通過したとき、ユーザのスマートフォンのロケーションが知られることになる。特定の実施形態では、ユーザは、電子財布プログラムとRFIDのI/Oデバイスを通じて購入を行ってもよい。たとえば、ユーザがRFIDリーダを通じてレストランで昼食を購入した場合、取引のロケーションおよび内容をシステムによって収集することができる。
【0045】
特定の実施形態では、ステップ320で、システムは、ユーザに関連付けられている履歴データにアクセスする。特定の実施形態では、ユーザに関連付けられている履歴データは、ユーザの現在の状態を推測するために、または現在のユーザ状態について推定終了時刻を計算するために使用され得る。いくつかの実施形態では、履歴データは、電子デバイス上で記憶される。一例として、電子デバイスは、後でアクセスするために、セルラ通信を制御するソフトウェアに関連付けられているデータを記録してもよい。いくつかの実施形態では、デバイス上の通話記録およびデバイス上に記憶されている電話帳を使用し、誰が接触を受けているか決定し、通信の頻度に基づいてその連絡先の重要性を推測することができる。このログは、ユーザが特定の電話番号とセルラ通信を開始したとき、その通信が平均35分間の継続時間であることを示してもよい。他の実施形態では、ユーザは、特定のIPアドレスまたはあるIPアドレス範囲がそのユーザのアパートのネットワークであることを前もって示しておいてもよい。特定の実施形態では、ユーザに関連付けられている履歴データにアクセスするステップは、ユーザの現在の状態を決定するため、現在のユーザ状態について推定終了時刻を計算するため、またはその両方のために実施または使用されなくてもよい。
【0046】
他の実施形態では、ユーザはソーシャルネットワーキング・システムのユーザであり、ユーザに関連付けられている履歴データは、ソーシャルネットワーキング・システム160のソーシャル・グラフ200内で記憶される。たとえば、履歴データは、ソーシャル・グラフ200の1または複数のユーザノード202、コンセプトノード204、またはエッジ206に関連付けられ得る。たとえば、システムは、ソーシャル・グラフ200にアクセスし、ユーザ「G」のためのノード202が「勤務した」エッジ206によって会社「Acme」のためのコンセプトノード204に接続されていると決定する。それによりシステムは、履歴データに基づいて、ユーザ「G」が「Acme」に勤務していると決定する。別の例として、ソーシャル・グラフ200は、ユーザが以前、特定のラジオショー・ホストに対して「いいね」と表明したことを示し、それにより、電子デバイス上で動作
するインターネット・ラジオ・アプリケーションに関連付けられているメタデータが、対応するラジオ局をユーザが聴いていることを示しているとき、追加の関連入力を提供してもよい。いくつかの実施形態では、ソーシャル・グラフ200は、ユーザに関連付けられている履歴データを記憶し、ユーザのアクティビティに関連付けられている平均継続時間を示してもよい。
【0047】
ステップ330では、システムは、1または複数のコンピュータに実装されたアルゴリズムを使用して、少なくとも第1のデータおよび履歴データを解析することによって、ユーザの現在の状態を推測する。特定の実施形態では、システムは、使用可能な入力すべてを解析し、より有用な情報を伝える、より豊富な推測されたユーザ状態を構築することになる。一例として、ユーザ状態を推測するための最小限の情報は、電子デバイスがSPOTIFYアプリケーションを実行中ということである。しかし、システムは、1または複数のコンピュータに実装されたアルゴリズムを使用して、より多くの入力を解析することが可能であるため、推測される状態を、より完全なものにすることができる。たとえば、より多くの入力が提供されるにつれて、推測され得るユーザ状態は、ユーザがSPOTIFYを聴いている、ユーザがSPOTIFYでイマジンを聴いている、ユーザがジョギングしながらSPOTIFYでイマジンを聴いている、またはユーザがセントラル・パークでジョギングしながらSPOTIFYでイマジンを聴いている、である。特定の実施形態では、システムは、少なくとも第1のデータを解析することによってユーザの現在の状態を推測してもよい。
【0048】
特定の実施形態では、システムは、ステップ310で収集されステップ320でアクセスされたデータの一部または全部に対して回帰解析を使用し、現在のユーザ状態を推測することができる。特定の実施形態では、システムは、複数の独立変数の線形回帰を使用し、いくつかの可能な状態に確率を割り当てることができる。例示的な線形回帰は、
y
i=β
1X
i1+β
2X
i2+...+β
pX
ip
とすることができ、式中、y
iは、可能なユーザ状態のセットから選択された可能な現在のユーザ状態を表し、x
inは、独立変数を表し、β
inは、各変数に割り当てられる重み係数を表し、nは値1からpまでに及ぶ。特定の実施形態では、独立変数は、ステップ310またはステップ320に関連して上記で論じたデータのタイプのいずれでもよい。
【0049】
特定の実施形態では、システムは、ステップ310で収集されステップ320でアクセスされたデータの一部または全部に対して決定木解析を使用し、現在のユーザ状態を推測することができる。システムは、ユーザによって提供されるデータを使用し、決定木の決定ノードおよび確率ノードを発達させ、現在のユーザ状態を推測することができる。たとえば、ある組合せの入力によって、現在のユーザ状態が予測される。特定の実施形態では、システムは、その予測関数を改善するために、ユーザからのフィードバックを求めてもよい。たとえば、システムは、現在のユーザ状態を推測するとき、推測の確度を確認するようにユーザに照会してもよい。特定の実施形態では、システムは、ユーザ検証を使用し、決定ノードおよび確率ノードを発達させてもよい。特定の実施形態では、決定木解析は、潜在的な現在のユーザ状態の数が少ないシステムにおいて望ましいものとなり得る。特定の実施形態では、決定木解析は、他の予測技法と組み合わされてもよい。
【0050】
特定の実施形態では、システムは、ステップ310で収集されステップ320でアクセスされたデータの一部または全部に対してニューラルネットワーク解析を使用し、現在のユーザ状態を推測することができる。たとえば、システムは、ステップ310で収集されステップ320でアクセスされたデータから引き出された入力変数を既知の現在のユーザ状態にマッピングする機能を見出すために、教師付き学習ニューラルネットワークを実装してもよい。ニューラルネットワーキング解析は、ネットワークの推測された現在のユーザ状態と既知の過去のユーザ状態との二乗平均誤差を最小限に抑えようと試みてもよい。
この誤差を最小限に抑えることにより、ネットワークは、推測された現在のユーザ状態を予測するための近似された関数を創出することが可能である。
【0051】
特定の実施形態では、システムは、ステップ310で収集されステップ320でアクセスされたデータの一部または全部に対してエキスパートシステム解析を使用し、現在のユーザ状態を推測することができる。システムは、履歴データに基づいてエキスパートシステムの知識ベースを構築することができる。たとえば、システムは、「もし(IF)、電子デバイスがインターネット・ラジオ・アプリケーションを実行中であり、かつ(AND)ユーザがそのラジオショー・ホストに対して“いいね”と表明しているならば(THEN)、ユーザは、そのホストのショー全体を聴いている」という規則を創出してもよい。別の例として、システムは、「もし(IF)、現在のロケーションが映画館であり、かつ(AND)ユーザが特定の映画を見たいという願望を示しており、かつ(AND)その映画がユーザのロケーションで上映されているならば(THEN)、ユーザは、既知の継続時間、その映画を見ている」という規則を創出してもよい。別の例として、システムは、「もし(IF)、電子デバイスがユーザの仕事用ネットワークに存在し、かつ(AND)電子デバイスがユーザの仕事用ラップトップであり、かつ(AND)電子デバイスがコンピュータ・プログラミング・アプリケーションを現在実行しているならば(THEN)、ユーザは仕事で忙しい」という規則を創出してもよい。上記の知識ベースを創出することにより、次いでシステムは、バッチにより、またはシリアル処理により入力変数をエキスパートシステム推測エンジンに通し、現在のユーザ状態を推測することができる。
【0052】
この開示は、現在のユーザ状態を推測する任意の好適な手法、およびステップ310で収集されステップ320でアクセスされたデータまたは予測される将来のユーザ状態を計算する際の係数の重み付けの任意の組合せを使用することを企図する。
【0053】
ステップ340では、システムは、推測された現在の状態に関連付けられている1または複数の継続時間履歴に関連付けられている第2のデータにアクセスする。特定の実施形態では、第2のデータは、個人が任意の所与のユーザ状態で費やす時間の平均量に関する情報を提供する。いくつかの実施形態では、システムは、グローバルにユーザについて、またはユーザの任意の適用可能なサブセットに基づいて、平均継続時間履歴にアクセスすることができる。たとえば、システムは、ユーザと同じ地理的領域内の個人すべて、ユーザと同じ年齢層の個人すべて、およびユーザと同じ職業の個人すべてについて平均継続時間履歴にアクセスしてもよい。ユーザに対する様々なつながりの入力の範囲を利用することにより、システムは、ユーザによって費やされる時間をよりよく推定することが可能である。
【0054】
特定の実施形態では、ソーシャルネットワーキング・システム160は、ユーザが任意の所与のユーザ状態で費やす平均継続時間に関するデータを維持する。特定の実施形態では、システムは、ソーシャル・グラフ200のすべて、またはソーシャル・グラフ200の適用可能なサブセットについて、継続時間履歴にアクセスしてもよい。特定の実施形態では、システムは、エッジ206を通じてユーザのノードに接続されたノードについてだけ継続時間履歴にアクセスしてもよい。いくつかの実施形態では、システムは、ユーザのノードからの特定の分離度内におけるノードについてだけ継続時間履歴にアクセスしてもよく、各エッジは単一の分離度を表す。ソーシャル・グラフ上のユーザに密接に関係する継続時間履歴データを使用することにより、システムは、ユーザの好みに密接に相関されるデータにアクセスすることが可能となり得る。
【0055】
ステップ350では、システムは、少なくとも部分的に第2のデータに基づいて、推測された現在の状態に関連付けられている推定終了時刻を計算する。特定の実施形態では、推定終了時刻は、第1のデータ、および/または履歴データに基づいてもよい。いくつか
の実施形態では、システムは、ステップ320およびステップ340でアクセスされたデータを組み合わせ、推測された現在のユーザ状態についての推定継続時間を計算することが可能である。いくつかの実施形態では、下記の
図4に記載の関数を使用し、推測された現在のユーザ状態に関連付けられている推定継続時間を計算することができる。また、システムは、ステップ310で収集されたデータを使用し、推測された現在のユーザ状態についての経過時間を計算することができる。特定の実施形態では、システムは、このデータのすべてを組み合わせ、推測された現在のユーザ状態についての推定終了時刻をさらに計算することができる。
【0056】
特定の実施形態では、推測された現在のユーザ状態は、ネットワーク動作を修正するために使用されてもよく、推定終了時刻は、修正されたネットワーク動作を終了するために使用されてもよい。いくつかの実施形態では、ソーシャルネットワーキング・システム160上のユーザの状態は、推測された現在のユーザ状態で自動的に更新されてもよい。この実施形態では、推定終了時刻を提供することにより、ユーザについてより豊富なオンライン上のプレゼンスが、またユーザの連絡先に対してより多くの情報がもたらされる。特定の実施形態では、ユーザは、プライバシ設定を使用し、ソーシャルネットワーキング・システム160が推測された現在のユーザ状態を共有することを制限することができる。
【0057】
特定の実施形態は、適切な場合、
図3の方法の1または複数のステップを繰り返してもよい。この開示は、
図3の方法の特定のステップを、特定の順番で発生するものとして記載し示しているが、この開示は、任意の好適な順番で発生する
図3の方法の任意の好適なステップを企図する。さらに、この開示は、
図3の方法の特定のステップを実施する特定の構成要素、デバイス、またはシステムについて記載し示しているが、この開示は、
図3の方法の任意の好適なステップを実施する任意の好適な構成要素、デバイス、またはシステムの任意の好適な組合せを企図する。
【0058】
図4は、推測された現在のユーザ状態の推定継続時間を計算するための例示的な関数のブロック図である。推定継続時間415を計算するために、重み405が継続時間履歴データ410に適用され、次いで組み合わされ、推定継続時間415を得る。
図4は、継続時間履歴データ410の3つのグループを示すが、本発明の他の実施形態では、継続時間履歴データの任意の数のグループを使用することができる。さらに、
図4の実施形態では、継続時間履歴データ410のグループは、線形に組み合わされる。様々な実施形態では、調和平均、二乗平均、および幾何平均を含めて、他の形態の組合せが使用されてもよい。さらに、方法ステップ340に記載の推定終了時刻の計算を完了する前に、重み405を変化させた複数の推定継続時間が計算されてもよい。
【0059】
システムは、継続時間履歴データの1または複数のグループを備えてもよい。上記で論じたように、継続時間履歴データの各グループは、継続時間履歴データの任意の好適なセットまたはサブセットであってよい。いくつかの実施形態では、継続時間履歴データのセットまたはサブセットは、特定の推測された現在のユーザ状態に関連付けられているユーザの検証データを使用して訓練される機械学習アルゴリズムを使用して生成されてもよい。機械学習は、コンピュータがデータに基づいて学習することを可能にするアルゴリズムの設計および開発に関係する科学的訓練法である。機械学習アルゴリズム、およびその性能についてのコンピュータ解析は、コンピュータ学習理論として知られる理論コンピュータ科学から分岐したものである。望ましい目標は、(たとえば、アルゴリズムを「訓練」するためにデータをアルゴリズムに適用することによって)経験を通じてアルゴリズムを改善することである。したがって、データはしばしば「訓練データ」と呼ばれる。継続時間履歴データの各セットまたはサブセットは、所与の推定継続時間を生成することができ、ここで予測関数は、方法ステップ320、340でアクセスされたデータの一部またはすべてを入力としてとることができ、次いで、推測された現在のユーザ状態が推定継続時
間を有することになる蓋然性の尺度を出力する。
【0060】
いくつかの実施形態では、継続時間履歴データのセットまたはサブセットの1または複数は、セットの履歴アクティビティからの信号の強度がセットの多様性またはユーザに対する相違点に基づいて減衰する減衰係数を使用してもよい。さらに、継続時間履歴データの異なるセットは、異なる速度で減衰してもよい。たとえば、継続時間履歴データのいくつかのセットは、推測された現在のユーザの状態に緩く相関する。一例として、携帯電話通話の継続時間についてのグローバル継続時間履歴データは、ユーザの現在の状態についての推定継続時間とほとんど相関を有していなくてもよい。様々な減衰機構がこの目的のために使用されてよい。たとえば、予測関数は、指数関数的減衰など数学的関数を使用し、推定継続時間についての統計を減衰させることができる。
【0061】
図5は、例示的なコンピュータ・システム500を示す。特定の実施形態では、1または複数のコンピュータ・システム500は、本明細書に記載され、または示されている1または複数の方法の1または複数のステップを実施する。特定の実施形態では、1または複数のコンピュータ・システム500は、本明細書に記載され、または示されている機能を提供する。特定の実施形態では、1または複数のコンピュータ・システム500上で動作するソフトウェアは、本明細書に記載され、または示されている1または複数の方法の1または複数のステップを実施し、または本明細書に記載され、または示されている機能を提供する。特定の実施形態は、1または複数のコンピュータ・システム500の1または複数の部分を含む。本明細書では、コンピュータ・システムに言及することは、適切な場合、コンピューティング・デバイスを含んでもよく、逆も同様である。さらに、コンピュータ・システムに言及することは、適切な場合、1または複数のコンピュータ・システムを含んでもよい。
【0062】
この開示は、任意の好適な数のコンピュータ・システム500を企図する。この開示は、任意の好適な物理形態をとるコンピュータ・システム500を企図する。限定するものとしてではなく一例として、コンピュータ・システム500は、組込みコンピュータ・システム、システム・オン・チップ(SOC)、シングルボード・コンピュータ・システム(SBC)(たとえば、コンピュータ・オン・モジュール(COM)またはシステム・オン・モジュール(SOM)など)、デスクトップ・コンピュータ・システム、ラップトップもしくはノートブック・コンピュータ・システム、対話キオスク、メインフレーム、コンピュータ・システムのメッシュ、移動電話、携帯情報端末(PDA)、サーバ、タブレット・コンピュータ・システム、またはこれらの2以上の組合せであってよい。適切な場合、コンピュータ・システム500は、1または複数のコンピュータ・システム500を含んでもよく、一元的なものであっても分散型であってもよく、複数のロケーションに跨ってもよく、複数のマシンに跨ってもよく、複数のデータセンタに跨ってもよく、クラウド内にあってもよく、クラウドは、1または複数のネットワーク内で1または複数のクラウド構成要素を含んでもよい。適切な場合、1または複数のコンピュータ・システム500は、実質的な空間的または時間的制限なしに、本明細書に記載され、または示されている1または複数の方法の1または複数のステップを実施してもよい。限定するものとしてではなく一例として、1つまたは複数のコンピュータ・システム500は、リアルタイムで、またはバッチ・モードで、本明細書に記載され、または示されている1または複数の方法の1または複数のステップを実施してもよい。1または複数のコンピュータ・システム500は、適切な場合、異なる時に、または異なるロケーションで、本明細書に記載され、または示されている1または複数の方法の1または複数のステップを実施してもよい。
【0063】
特定の実施形態では、コンピュータ・システム500は、プロセッサ502、メモリ504、ストレージ506、入力/出力(I/O)インターフェース508、通信インター
フェース510、およびバス512を含む。この開示は、特定の数の特定の構成要素を特定の構成で有する特定のコンピュータ・システムについて記載し示しているが、この開示は、任意の好適な数の任意の好適な構成要素を任意の好適な構成で有する任意の好適なコンピュータ・システムを企図する。
【0064】
特定の実施形態では、プロセッサ502は、コンピュータ・プログラムを構成するものなど命令を実行するためのハードウェアを含む。限定するものとしてではなく一例として、命令を実行するために、プロセッサ502は、内部レジスタ、内部キャッシュ、メモリ504、またはストレージ506から命令を取り出し(またはフェッチし)、それらをデコードおよび実行し、次いで、1または複数の結果を内部レジスタ、内部キャッシュ、メモリ504、またはストレージ506に書き込むことができる。特定の実施形態では、プロセッサ502は、データ、命令、またはアドレス用に1または複数の内部キャッシュを含んでもよい。この開示は、適切な場合、任意の好適な数の任意の好適な内部キャッシュを含むプロセッサ502を企図する。限定するものとしてではなく一例として、プロセッサ502は、1または複数の命令キャッシュ、1または複数のデータ・キャッシュ、および1または複数の変換索引バッファ(TLB)を含んでもよい。命令キャッシュ内の命令は、メモリ504またはストレージ506内の命令のコピーであってもよく、命令キャッシュは、プロセッサ502によるこれらの命令の取り出しを高速化することができる。データ・キャッシュ内のデータは、プロセッサ502にて実行される命令が操作するための、メモリ504またはストレージ506内のデータのコピー、プロセッサ502で実行される後続の命令によるアクセスための、またはメモリ504もしくはストレージ506に書き込むための、プロセッサ502で実行された以前の命令の結果、あるいは他の好適なデータであってもよい。データ・キャッシュは、プロセッサ502による読出しまたは書込み動作を高速化することができる。TLBは、プロセッサ502のために仮想アドレス変換を高速化することができる。特定の実施形態では、プロセッサ502は、データ、命令、またはアドレス用に1または複数の内部レジスタを含むことができる。この開示は、適切な場合、任意の好適な数の任意の好適な内部レジスタを含むプロセッサ502を企図する。適切な場合、プロセッサ502は、1または複数の算術論理演算ユニット(ALU)を含むことができ、マルチコア・プロセッサであってもよく、1または複数のプロセッサ502を含んでもよい。この開示は、特定のプロセッサについて記載し示しているが、この開示は、任意の好適なプロセッサを企図する。
【0065】
特定の実施形態では、メモリ504は、プロセッサ502が実行するための命令、またはプロセッサ502が操作するためのデータを記憶するための主記憶装置を含む。限定するものとしてではなく一例として、コンピュータ・システム500は、ストレージ506または別のソース(たとえば、別のコンピュータ・システム500など)からメモリ504に命令をロードすることができる。次いで、プロセッサ502は、メモリ504から内部レジスタまたは内部キャッシュに命令をロードすることができる。命令を実行するために、プロセッサ502は、内部レジスタまたは内部キャッシュから命令を取り出し、それらをデコードすることができる。命令の実行中、または実行後、プロセッサ502は、1または複数の結果(中間結果であることも最終結果であることもある)を内部レジスタまたは内部キャッシュに書き込むことができる。次いで、プロセッサ502は、それらの結果の1または複数をメモリ504に書き込むことができる。特定の実施形態では、プロセッサ502は、1もしくは複数の内部レジスタもしくは内部キャッシュ内、または(ストレージ506もしくは他の場所ではなく)メモリ504内の命令だけを実行し、1もしくは複数の内部レジスタもしくは内部キャッシュ内、または(ストレージ506もしくは他の場所ではなく)メモリ504内のデータだけを操作する。1または複数のメモリ・バス(それぞれがアドレス・バスとデータ・バスを含むことがある)がプロセッサ502をメモリ504に結合してもよい。バス512は、下記に記載されているように、1または複数のメモリ・バスを含んでもよい。特定の実施形態では、1または複数のメモリ管理ユニ
ット(MMU)が、プロセッサ502とメモリ504の間にあり、プロセッサ502によって要求されるメモリ504へのアクセスを容易にする。特定の実施形態では、メモリ504は、ランダム・アクセス・メモリ(RAM)を含む。このRAMは、適切な場合、揮発性メモリであり得る。適切な場合、このRAMは、ダイナミックRAM(DRAM)またはスタティックRAM(SRAM)であってよい。さらに、適切な場合、このRAMは、シングルポート型またはマルチポート型RAMであってよい。この開示は、任意の好適なRAMを企図する。メモリ504は、適切な場合、1または複数のメモリ504を含んでもよい。この開示は、特定のメモリについて記載し示しているが、この開示は、任意の好適なメモリを企図する。
【0066】
特定の実施形態では、ストレージ506は、データまたは命令用のマス・ストレージを含む。限定するものとしてではなく一例として、ストレージ506は、ハード・ディスク・ドライブ(HDD)、フロッピー(登録商標)ディスク・ドライブ、フラッシュ・メモリ、光ディスク、光磁気ディスク、磁気テープ、もしくはユニバーサル・シリアル・バス(USB)ドライブ、またはこれらの2以上の組合せを含んでもよい。ストレージ506は、適切な場合、取外し式または非取外し式(または固定)媒体を含んでもよい。ストレージ506は、適切な場合、コンピュータ・システム500に内蔵されていても外部にあってもよい。特定の実施形態では、ストレージ506は、不揮発性のソリッドステート・メモリである。特定の実施形態では、ストレージ506は、読出し専用メモリ(ROM)を含む。適切な場合、このROMは、マスクプログラムされたROM、プログラム可能ROM(PROM)、消去可能PROM(EPROM)、電気的消去可能PROM(EEPROM)、電気的書き換え可能ROM(EAROM)、もしくはフラッシュ・メモリ、またはこれらの2以上の組合せであってよい。この開示は、任意の好適な物理形態をとるマス・ストレージ506を企図する。ストレージ506は、適切な場合、プロセッサ502とストレージ506の間の通信を容易にする1または複数のストレージ制御ユニットを含んでもよい。適切な場合、ストレージ506は、1または複数のストレージ506を含んでもよい。この開示は、特定のストレージについて記載し示しているが、この開示は、任意の好適なストレージを企図する。
【0067】
特定の実施形態では、I/Oインターフェース508は、コンピュータ・システム500と1または複数のI/Oデバイスとの間の通信のために1または複数のインターフェースを提供するハードウェア、ソフトウェア、またはその両方を含む。コンピュータ・システム500は、適切な場合、これらのI/Oデバイスの1または複数を含んでもよい。これらのI/Oデバイスの1または複数は、人とコンピュータ・システム500の間の通信を可能にすることができる。限定するものとしてではなく一例として、I/Oデバイスは、キーボード、キーパッド、マイクロフォン、モニタ、マウス、プリンタ、スキャナ、スピーカ、スチル・カメラ、スタイラス、タブレット、タッチ・スクリーン、トラックボール、ビデオ・カメラ、別の好適なI/Oデバイス、またはこれらの2以上の組合せを含んでもよい。I/Oデバイスは、1または複数のセンサを含んでもよい。特定の実施形態では、限定するものとしてではなく一例として、I/Oデバイスは、無線周波数識別(RFID)受信機およびリーダを含んでもよい。この開示は、任意の好適なI/Oデバイス、およびそれらのための任意の好適なI/Oインターフェース508を企図する。適切な場合、I/Oインターフェース508は、プロセッサ502がこれらのI/Oデバイスの1または複数を駆動することを可能にする1または複数のデバイスまたはソフトウェア・ドライバを含むことができる。I/Oインターフェース508は、適切な場合、1または複数のI/Oインターフェース508を含んでもよい。この開示は、特定のI/Oインターフェースについて記載し示しているが、この開示は、任意の好適なI/Oインターフェースを企図する。
【0068】
特定の実施形態では、通信インターフェース510は、コンピュータ・システム500
と1もしくは複数の他のコンピュータ・システム500または1もしくは複数のネットワークとの間の通信(たとえば、パケットベースの通信など)のために1または複数のインターフェースを提供するハードウェア、ソフトウェア、またはその両方を含む。限定するものとしてではなく一例として、通信インターフェース510は、イーサーネット(登録商標)もしくは他の有線ベースのネットワークとの通信のためのインターフェース・コントローラ(NIC)もしくはネットワーク・アダプタ、またはWI−FIネットワークなど無線ネットワークとの通信のための無線NIC(WNIC)もしくは無線アダプタを含んでもよい。この開示は、任意の好適なネットワーク、およびそのための任意の好適な通信インターフェース510を企図する。限定するものとしてではなく一例として、コンピュータ・システム500は、アドホック・ネットワーク、パーソナル・エリア・ネットワーク(PAN)、ローカル・エリア・ネットワーク(LAN)、ワイド・エリア・ネットワーク(WAN)、メトロポリタン・エリア・ネットワーク(MAN)、またはインターネットの1もしくは複数の部分、あるいはこれらの2以上の組合せと通信することができる。これらのネットワークの1または複数のうちの1または複数の部分は、有線であっても無線であってもよい。一例として、コンピュータ・システム500は、無線PAN(WPAN)(たとえば、BLUETOOTH(登録商標)WPANなど)、WI−FIネットワーク、WI−MAXネットワーク、携帯電話ネットワーク(たとえば、グローバル移動体通信システム(GSM)ネットワークなど)、もしくは他の好適な無線ネットワーク、またはこれらの2以上の組合せと通信することができる。コンピュータ・システム500は、適切な場合、これらのネットワークのいずれかのための任意の好適な通信インターフェース510を含んでもよい。通信インターフェース510は、適切な場合、1または複数の通信インターフェース510を含んでもよい。この開示は、特定の通信インターフェースについて記載し示しているが、この開示は、任意の好適な通信インターフェースを企図する。
【0069】
特定の実施形態では、バス512は、コンピュータ・システム500の構成要素を互いに結合するハードウェア、ソフトウェア、またはその両方を含む。限定するものとしてではなく一例として、バス512は、アクセラレィティッド・グラフィックス・ポート(AGP)もしくは他のグラフィックス・バス、EISA(Enhanced industry Standard Architecture)バス、フロントサイド・バス(FSB)、ハイパートランスポート(HT)相互接続、ISA(Industry Standard Architecture)バス、インフィニバンド相互接続、low−pin−count(LPC)バス、メモリ・バス、マイクロ・チャネル・アーキテクチャ(MCA)バス、PCI(Peripheral Component Interconnect)バス、PCIエクスプレス(PCIe)バス、SATA(serial advanced technology attachment)バス、VLB(Video Electronics Standards Association local)バス、もしくは別の好適なバス、またはこれらの2以上の組合せを含んでもよい。バス512は、適切な場合、1または複数のバス512を含んでもよい。この開示は、特定のバスについて記載し示しているが、この開示は、任意の好適なバスまたは相互接続を企図する。
【0070】
本明細書では、1または複数の非一時的コンピュータ可読記憶媒体は、適切な場合、1または複数の半導体ベースの、もしくは他の集積回路(IC)(たとえば、フィールド・プログラム可能ゲート・アレイ(FPGA)または特定用途向け集積回路(ASIC))、ハード・ディスク・ドライブ(HDD)、ハイブリッド・ハード・ドライブ(HHD)、光ディスク、光ディスク・ドライブ(ODD)、光磁気ディスク、光磁気ドライブ、フロッピー・ディスケット、フロッピー・ディスク・ドライブ(FDD)、磁気テープ、ソリッドステート・ドライブ(SSD)、RAMドライブ、セキュア・デジタル・カードもしくはドライブ、任意の他の好適な非一時的コンピュータ可読記憶媒体、またはこれらの
2以上の組合せを含んでもよい。非一時的コンピュータ可読記憶媒体は、適切な場合、揮発性、不揮発性、または揮発性と不揮発性の組合せであってよい。
【0071】
本明細書では、「または(もしくは)」は、別段明確に示されていない限り、または別段文脈によって示されない限り、包括的(inclusive)であり、排他的なものではない。したがって、本明細書では、「AまたはB」は、別段明確に示されていない限り、または別段文脈によって示されない限り、「A、B、またはその両方」を意味する。さらに、「および」は、別段明確に示されていない限り、または別段文脈によって示されない限り、共同であり、個別的でもある。したがって、本明細書では、「AおよびB」は、別段明確に示されていない限り、または別段文脈によって示されない限り、「AおよびBを共同で、または個別的に」意味する。
【0072】
この開示の範囲は、当業者であれば理解されるであろう、本明細書に記載され、または示されている例示的な実施形態に対する変更、置換、変形、代替、および修正すべてを包含する。この開示の範囲は、本明細書に記載され、または示されている例示的な実施形態に限定されない。さらに、この開示は、それぞれの実施形態について、本明細書では、特定の構成要素、要素、機能、動作、またはステップを含むものとして記載し示しているが、これらの実施形態のいずれも、当業者であれば理解されるであろう、本明細書のどこかに記載され、または示されている構成要素、要素、機能、動作、またはステップのいずれかの任意の組合せまたは並べ替えを含んでもよい。さらに、添付の特許請求の範囲において、特定の機能を実施するように適合された、するように配置された、することが可能な、するように構成された、することが可能である、するように動作可能である、またはするように動作する装置もしくはシステム、または装置もしくはシステムの構成要素に言及することは、その装置、システム、または構成要素がそのように適合され、配置され、動作可能であり、構成され、可能であり、動作可能であり、動作する限り、それ、またはその特定の機能が作動される、有効にされる、またはロック解除されるか否かにかかわらず、その装置、システム、構成要素を含む。