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

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

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

特許6688336モバイルデバイスユーザの将来の状態を予測することに関する方法
<>
  • 特許6688336-モバイルデバイスユーザの将来の状態を予測することに関する方法 図000002
  • 特許6688336-モバイルデバイスユーザの将来の状態を予測することに関する方法 図000003
  • 特許6688336-モバイルデバイスユーザの将来の状態を予測することに関する方法 図000004
  • 特許6688336-モバイルデバイスユーザの将来の状態を予測することに関する方法 図000005
  • 特許6688336-モバイルデバイスユーザの将来の状態を予測することに関する方法 図000006
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6688336
(24)【登録日】2020年4月7日
(45)【発行日】2020年4月28日
(54)【発明の名称】モバイルデバイスユーザの将来の状態を予測することに関する方法
(51)【国際特許分類】
   G06Q 10/04 20120101AFI20200421BHJP
   G06Q 50/00 20120101ALI20200421BHJP
【FI】
   G06Q10/04
   G06Q50/00 300
【請求項の数】20
【全頁数】22
(21)【出願番号】特願2018-85360(P2018-85360)
(22)【出願日】2018年4月26日
(62)【分割の表示】特願2017-43687(P2017-43687)の分割
【原出願日】2013年10月18日
(65)【公開番号】特開2018-133106(P2018-133106A)
(43)【公開日】2018年8月23日
【審査請求日】2018年4月26日
(31)【優先権主張番号】13189171.5
(32)【優先日】2013年10月17日
(33)【優先権主張国】EP
(31)【優先権主張番号】13/656,531
(32)【優先日】2012年10月19日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】508178054
【氏名又は名称】フェイスブック,インク.
(74)【代理人】
【識別番号】110002974
【氏名又は名称】特許業務法人World IP
(74)【代理人】
【識別番号】100105957
【弁理士】
【氏名又は名称】恩田 誠
(74)【代理人】
【識別番号】100068755
【弁理士】
【氏名又は名称】恩田 博宣
(72)【発明者】
【氏名】ジョンソン、マイケル ダドリー
(72)【発明者】
【氏名】ウィリアムズ、ジョシュア
【審査官】 山本 雅士
(56)【参考文献】
【文献】 特表2011−517494(JP,A)
【文献】 特表2009−531782(JP,A)
【文献】 特開2006−309660(JP,A)
【文献】 国際公開第2011/138972(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06Q 10/00 − 99/00
(57)【特許請求の範囲】
【請求項1】
方法であって、1つまたは複数のコンピューティングデバイスが、
ユーザに関連するモバイルデバイスの現在の使用情報にアクセスするステップと、
一組の予測器関数に基づいてユーザの将来のユーザ状態を決定するステップであって、前記予測器関数は、一組の重みと、1つまたは複数の過去のユーザ状態から決定された一組の減衰ファクタとに基づいて将来のユーザ状態の確率を計算する、前記決定するステップと、
決定された将来のユーザ状態に対応する前記モバイルデバイスのオペレーションを適応させるための命令を、ユーザに関連する前記モバイルデバイスに送信するステップと
を含む方法。
【請求項2】
前記一組の予測器関数の各々は、特定のユーザ状態に関して訓練される機械学習アルゴリズムを含む、請求項1に記載の方法。
【請求項3】
前記一組の減衰ファクタは、
時間減衰ファクタ、
指数関数的減衰ファクタ、
特定の時間窓内のユーザ状態に関連する統計に基づく減衰ファクタ
のうちの1つまたは複数を含む、請求項1に記載の方法。
【請求項4】
前記将来のユーザ状態の確率を計算することは、
前記一組の重みからの別個の重みを使用して前記一組の予測器関数の各々に重み付けすること、
重み付けされた予測器関数を組み合わせること、
組み合わされた前記重み付けされた予測器関数と、ユーザの1つまたは複数の過去のユーザ状態とに基づいて、将来のユーザ状態の確率を計算することを含む、請求項1に記載の方法。
【請求項5】
前記重み付けされた予測器関数を組み合わせることは、
線形結合、
調和平均、
2乗平均、
幾何平均
のうちの1つまたは複数に基づく、請求項4に記載の方法。
【請求項6】
ユーザは、複数のノードと、該ノードを接続する複数のエッジとを含むオンラインソーシャルネットワークのユーザであり、前記オンラインソーシャルネットワーク内の少なくとも1つのノードが、ユーザに対応しており、
ユーザの前記1つまたは複数の過去のユーザ状態は、ユーザに関連する前記オンラインソーシャルネットワークからのソーシャルネットワーキング情報を含む、請求項1に記載の方法。
【請求項7】
ユーザの前記1つまたは複数の過去のユーザ状態は、ユーザの時間的、空間的、モーダル的、または社会的アクセス可能性のうちの1つまたは複数を含む、請求項1に記載の方法。
【請求項8】
前記決定された将来のユーザ状態は、地理的エリア内を移動するユーザに関連する、請求項1に記載の方法。
【請求項9】
前記決定された将来のユーザ状態は、ユーザによる将来のモバイルデバイス使用に関連付けられる、請求項1に記載の方法。
【請求項10】
前記モバイルデバイスのオペレーションを適応させるための前記命令は、前記決定された将来のユーザ状態に対応する将来の時間に前記モバイルデバイスとのネットワーク相互作用を適応させるための命令を含む、請求項1に記載の方法。
【請求項11】
前記モバイルデバイスのオペレーションを適応させるための前記命令は、前記モバイルデバイスにワイヤレス接続を提供するため、前記モバイルデバイスとの通信ネットワーク相互作用を変更するための命令を含む、請求項1に記載の方法。
【請求項12】
前記モバイルデバイスのオペレーションを適応させるための前記命令は、前記モバイルデバイスとのネットワーク相互作用を適応させるための命令を含み、前記適応させることは、ユーザの前記モバイルデバイスにプッシュするためのソーシャルネットワーキング情報を自動的に選択することを含み、前記ソーシャルネットワーキング情報は、決定された将来のユーザ状態に関連性がある、請求項1に記載の方法。
【請求項13】
ユーザはオンラインソーシャルネットワークのユーザであり、
前記モバイルデバイスのオペレーションを適応させるための前記命令は、前記オンラインソーシャルネットワークのサーバとの前記モバイルデバイスによる相互作用を要求するための命令を含む、請求項1に記載の方法。
【請求項14】
ユーザの前記決定された将来のユーザ状態は、将来の時間に地理的エリアを移動するユーザを含み、
前記モバイルデバイスによる前記サーバとの相互作用を要求するための前記命令は、地理的エリア内を移動するユーザに関連するユーザの前記モバイルデバイスにプッシュするためのソーシャルネットワーキング情報を自動的に選択するための命令を含む、請求項13に記載の方法。
【請求項15】
ユーザの前記決定された将来のユーザ状態は、ユーザのロケーションおよびアクティビティを含み、
前記モバイルデバイスによる前記サーバとの相互作用を要求するための前記命令は、将来の時間にユーザによるアクセスのためにユーザのロケーションおよびアクティビティに関連する、前記モバイルデバイス上のソーシャルネットワーキングアプリケーションの1つまたは複数の論理オペレーションを修正するための命令を含む、請求項13に記載の方法。
【請求項16】
ユーザの前記決定された将来のユーザ状態は、ユーザが通勤することを含み、
前記モバイルデバイスのオペレーションを適応させるための前記命令は、ユーザが通勤している間、前記モバイルデバイスに送信するための、低い帯域幅要件を有するコンテンツを要求するための命令を含む、請求項1に記載の方法。
【請求項17】
ユーザの前記決定された将来のユーザ状態は、ユーザのロケーションを含み、
前記モバイルデバイスのオペレーションを適応させるための前記命令は、前記モバイルデバイスのロケーションについての前記モバイルデバイスのポーリングを減少させるための命令を含む、請求項1に記載の方法。
【請求項18】
前記モバイルデバイスの前記現在の使用情報は、
前記モバイルデバイスの識別子、
前記モバイルデバイス上のアプリケーションの識別子、
前記モバイルデバイスのインターネットプロトコル(IP)アドレス、
前記モバイルデバイスのロケーション、
前記モバイルデバイスの移動ベクトル、
前記モバイルデバイスによって報告される現地時間
のうちの1つまたは複数を含む、請求項1に記載の方法。
【請求項19】
ソフトウェアを具現化する1つまたは複数のコンピュータ可読の非一時的記憶媒体であって、前記ソフトウェアは、実行時に
ユーザに関連するモバイルデバイスの現在の使用情報にアクセスし、
一組の予測器関数に基づいてユーザの将来のユーザ状態を決定し、ここで、前記予測器関数は、一組の重みと、1つまたは複数の過去のユーザ状態から決定された一組の減衰ファクタとに基づいて将来のユーザ状態の確率を計算し、
決定された将来のユーザ状態に対応する前記モバイルデバイスのオペレーションを適応させるための命令を、ユーザに関連する前記モバイルデバイスに送信する
ように動作可能である、1つまたは複数のコンピュータ可読の非一時的記憶媒体。
【請求項20】
1つまたは複数のプロセッサと、前記プロセッサに結合され、前記プロセッサによって実行可能な命令を含むメモリとを備えるシステムであって、前記プロセッサは、前記命令の実行時に、
ユーザに関連するモバイルデバイスの現在の使用情報にアクセスし、
一組の予測器関数に基づいてユーザの将来のユーザ状態を決定し、ここで、前記予測器関数は、一組の重みと、1つまたは複数の過去のユーザ状態から決定された一組の減衰ファクタとに基づいて将来のユーザ状態の確率を計算し、
決定された将来のユーザ状態に対応する前記モバイルデバイスのオペレーションを適応させるための命令を、ユーザに関連する前記モバイルデバイスに送信する
ように動作可能である、システム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、一般に、モバイルデバイス及びモバイルデバイスユーザに関し、また、方法、コンピュータ可読非一時的記憶媒体、及びモバイルデバイスに関連するシステムに関する。
【背景技術】
【0002】
モバイルデバイス−スマートフォン、タブレットコンピュータ、又はラップトップコンピュータ−は、全地球測位システム(GPS:Global Positioning System)受信機、コンパス、又はジャイロスコープ等の、そのロケーション、方向、又は配向を決定するための機能を含み得る。こうしたデバイスはまた、ブルートゥース(BLUETOOTH(登録商標))通信、近接場通信(NFC:near−field communication)、又は赤外線(IR)通信、或はワイヤレスローカルエリアネットワーク(WLAN)による通信等のワイヤレス通信用の機能を含み得る。こうしたデバイスはまた、1つ又は複数のカメラ、スキャナ、タッチスクリーン、マイクロフォン、又はスピーカを含み得る。モバイルデバイスはまた、ゲーム、ウェブブラウザ、又はソーシャルネットワーキングアプリケーション等のソフトウェアアプリケーションを実行し得る。ソーシャルネットワーキングアプリケーションによって、ユーザは、自分のソーシャルネットワーク内で他のユーザに接続し、他のユーザと通信し、他のユーザと情報を共有し得る。
【発明の概要】
【課題を解決するための手段】
【0003】
本発明による実施形態は、方法、コンピュータ可読非一時的記憶媒体、及びシステムを対象とする添付特許請求の範囲に開示され、1つの請求項カテゴリ、例えば、方法で述べるいずれの特徴が、別の請求項カテゴリ、例えば、システム又は媒体において同様に請求される可能性がある。
【0004】
特定の実施形態は、モバイルデバイスがそのモバイルデバイスのユーザの将来の状態を予測することを可能にする。実際には、モバイルデバイスは、デバイスによって報告される地域時間、デバイスのロケーション、又はデバイスのネットワーク接続性等の情報のログをとり、その情報を履歴データと相互参照して、デバイスのユーザの将来の状態を予測する。一実施形態では、モバイルデバイスユーザは、ソーシャルネットワークのユーザであり、履歴データは、そのユーザのソーシャルグラフデータから引出される。予測される将来のユーザ状態に基づいて、モバイルデバイスは、ユーザの将来のニーズ又は要件をよりよく満たすようにその動作を変更する。
【0005】
幾つかの実施形態では、モバイルデバイスユーザの予測される将来のユーザ状態は、ユーザが仕事のために通勤していること、ユーザが在宅中であること、ユーザが仕事中であること、ユーザが友達と夕食を食べていること、ユーザが公共的社会的状況にいること、ユーザが外国にいること、又は、ユーザが、特定の電気通信ネットワークによって接続されることになることである可能性がある。モバイルデバイスは、この予測される状態を使用して、ユーザのニーズを満たす。モバイルデバイスは、ユーザが自分の予測される目的地に到着するまで、新しいメッセージをキャッシュし得る。代替的に、モバイルデバイスは、ユーザがそこで夕食をとっているレストランに関連するソフウェアアプリケーションを自動的に起動し得る。特定の実施形態では、モバイルデバイスは、特定の電気通信ネットワークに接続されると予測される間、低い帯域幅サービスを要求し得る。これは、モバイルデバイスが、ユーザのアクティビティにオペレーションを自動的に調節することを可能にする。
【図面の簡単な説明】
【0006】
図1】ソーシャルネットワーキングシステムに関連する例示的なネットワーク環境を示す図である。
図2】例示的なモバイルデバイスを示す図である。
図3】モバイルデバイスユーザの将来の状態を予測する例示的な方法を示す図である。
図4】予測器関数の例示的なブロック図である。
図5】例示的なコンピュータシステムを示す図である。
【発明を実施するための形態】
【0007】
図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を含み得る。
【0008】
本開示は、任意の適したネットワーク110を企図する。制限としてではなく例として、ネットワーク110の1つ又は複数の部分は、アドホックネットワーク、イントラネット、エクストラネット、バーチャルプライベートネットワーク(VPN:virtual private network)、ローカルエリアネットワーク(LAN)、ワイヤレスLAN(WLAN)、ワイドエリアネットワーク(WAN)、ワイヤレスWAN(WWAN)、メトロポリタンエリアネットワーク(MAN)、インターネットの一部分、公衆交換電話網(PSTN:Public Switched Telephone Network)の一部分、携帯電話網、或は、これらの2つ以上の組合せを含み得る。ネットワーク110は、1つ又は複数のネットワーク110を含み得る。
【0009】
リンク150は、クライアントシステム130、ソーシャルネットワーキングシステム160、及びサードパーティシステム170を、通信ネットワーク110に又は互いに接続し得る。本開示は、任意の適したリンク150を企図する。特定の実施形態では、1つ又は複数のリンク150は、1つ又は複数のワイヤラインリンク(例えば、デジタル加入者線(DSL:Digital Subscriber Line)又はデータオーバケーブルサービスインタフェース仕様(DOCSIS:Data Over Cable Service Interface Specification)等)、ワイヤレスリンク(例えば、Wi−Fi又はワールドワイドインターオペラビィティ・フォー・マイクロウェーブアクセス(WiMAX:Worldwide Interoperability for Microwave Access)等)、又は光リンク(例えば、同期光ネットワーク(SONET:Synchronous Optical Network)又は同期デジタルヒエラルヒー(SDH:Synchronous Digital Hierarchy)等)を含む。特定の実施形態では、1つ又は複数のリンク150は、それぞれ、アドホックネットワーク、イントラネット、エクストラネット、VPN、LAN、WLAN、WAN、WWAN、MAN、インターネットの一部分、PSTNの一部分、セルラー技術ベースネットワーク、衛星通信技術ベースネットワーク、別のリンク150、又は、2つ以上のこうしたリンク150の組合せを含む。リンク150は、ネットワーク環境100全体を通して必ずしも同じである必要はない。1つ又は複数の第1のリンク150は、1つ又は複数の第2のリンク150と1つ又は複数の点で異なり得る。
【0010】
特定の実施形態では、クライアントシステム130は、ハードウェア、ソフトウェア、又は埋め込み論理コンポーネント、或は2つ以上のこうしたコンポーネントの組合せを含み、クライアントシステム130によって実装又はサポートされる適切な機能を実施することが可能な電子デバイスであり得る。制限としてではなく例として、クライアントシステム130は、デスクトップコンピュータ、ノートブック又はラップトップコンピュータ、ネットブック、タブレットコンピュータ、電子ブックリーダ、GPSデバイス、カメラ、携帯情報端末(PDA)、手持ち式電子デバイス、セルラー電話、スマートフォン、他の適した電子デバイス、或は、その任意の適した組合せ等のコンピュータシステムを含み得る。本開示は、任意の適したクライアントシステム130を企図する。クライアントシステム130は、クライアントシステム130のネットワークユーザがネットワーク110にアクセスすることを可能にし得る。クライアントシステム130は、そのユーザが、他のクライアントシステム130の他のユーザと通信することを可能にし得る。
【0011】
特定の実施形態では、クライアントシステム130は、マイクロソフトインターネットエクスプローラ(MICROSOFT INTERNET EXPLORER)、グーグルクローム(GOOGLE CHROME)、又はモジラファイアフォックス(MOZILLA FIREFOX)等のウェブブラウザ132を含み、ツールバー(TOOLBAR)又はヤフーツールバー(YAHOO TOOLBAR)等の1つ又は複数のアドオン、プラグイン、又は他のエクステンションを有し得る。クライアントシステム130のユーザは、特定のサーバ(サーバ162又はサードパーティシステム170に関連するサーバ等)にウェブブラウザ132を向けるユニフォームリソースロケータ(URL:Uniform Resource Locator)又は他のアドレスを入力し、ウェブブラウザ132は、ハイパーテキスト転送プロトコル(HTTP:Hyper Text Transfer Protocol)要求を生成し、HTTP要求をサーバに伝達し得る。サーバは、HTTP要求を受付け、HTTP要求に応答してクライアントシステム130に1つ又は複数のハイパーテキストマークアップ言語(HTML:Hyper Text Markup Language)を伝達し得る。クライアントシステム130は、ユーザに提示するため、サーバからのHTMLファイルに基づいてウェブページをレンダリングし得る。本開示は任意の適したウェブページファイルを企図する。制限としてではなく例として、ウェブページは、特定のニーズに応じて、HTMLファイル、拡張可能ハイパーテキストマークアップ言語(XHTML:Extensible Hyper Text Markup Language)ファイル、又は拡張可能マークアップ言語(XML)ファイルからレンダリングされ得る。こうしたページはまた、例えばまた限定することなく、ジャバスクリプト(JAVASCRIPT(登録商標))、ジャバ(JAVA(登録商標))、マイクロソフトシルバーライト(MICROSOFT SILVERLIGHT)、アジャックス(AJAX)(非同期JAVASCRIPT(登録商標)及びXML)等のマークアップ言語とスクリプトの組合せ、及び同様なもので書かれたスクリプト等のスクリプトを実行し得る。本明細書では、ウェブページに対する参照は、1つ又は複数の対応するウェブページファイルを包含する、また、適切である場合、その逆もまた同様である。
【0012】
特定の実施形態では、ソーシャルネットワーキングシステム160は、オンラインソーシャルネットワークをホストし得るネットワークアドレス可能コンピューティングシステムであり得る。ソーシャルネットワーキングシステム160は、例えば、ユーザプロファイルデータ、概念プロファイルデータ、ソーシャルグラフ情報、又は、オンラインソーシャルネットワークに関連する他の適したデータ等のソーシャルネットワーキングデータを、生成し、記憶し、受信し、送信し得る。ソーシャルネットワーキングシステム160は、ネットワーク環境100の他のコンポーネントによって、直接又はネットワーク110を介してアクセスされ得る。特定の実施形態では、ソーシャルネットワーキングシステム160は、1つ又は複数のサーバ162を含み得る。各サーバ162は、単一サーバ、或は、複数のコンピュータ又は複数のデータセンターに及ぶ分散サーバであり得る。サーバ162は、例えばまた限定することなく、ウェブサーバ、ニュースサーバ、メールサーバ、メッセージサーバ、広告サーバ、ファイルサーバ、アプリケーションサーバ、交換サーバ、データベースサーバ、プロキシサーバ、本明細書で述べる機能又はプロセスを実施するのに適する別のサーバ、又はその任意の組合せ等の種々のタイプであり得る。特定の実施形態では、各サーバ162は、サーバ162によって実装される適切な機能を実施するために、ハードウェア、ソフトウェア、又は埋め込み論理コンポーネント、或は2つ以上のこうしたコンポーネントの組合せを含み得る。特定の実施形態では、ソーシャルネットワーキングシステム160は、1つ又は複数のデータストア164を含み得る。データストア164は、種々のタイプの情報を記憶するために使用され得る。特定の実施形態では、データストア164に記憶される情報は、特定のデータ構造に従って編成され得る。特定の実施形態では、各データストア164は、リレーショナルデータベースであり得る。特定の実施形態は、クライアントシステム130、ソーシャルネットワーキングシステム160、又はサードパーティシステム170が、データストア164に記憶される情報を管理する、取出す、修正する、追加する、又は削除することを可能にするインタフェースを提供し得る。
【0013】
特定の実施形態では、ソーシャルネットワーキングシステム160は、1つ又は複数のソーシャルグラフを1つ又は複数のデータストア164に記憶し得る。特定の実施形態では、ソーシャルグラフは、複数のノード(複数のユーザノード(それぞれが特定のユーザに対応する)又は複数の概念ノード(それぞれが特定の概念に対応する)を含み得る)、及びノードを接続する複数のエッジを含み得る。ソーシャルネットワーキングシステム160は、オンラインソーシャルネットワークのユーザに他のユーザと通信し相互作用する能力を提供し得る。特定の実施形態では、ユーザは、オンラインソーシャルネットワークをソーシャルネットワーキングシステム160によって結合し、その後、ユーザが接続したいと思うソーシャルネットワーキングシステム160の何人かの他のユーザに対して接続(すなわち、関係)を付加し得る。本明細書で、用語「友達(friend)」は、ソーシャルネットワーキングシステム160によってユーザが、その人との接続、関連付け、又は関係を形成したソーシャルネットワーキングシステム160の任意の他のユーザを指し得る。
【0014】
特定の実施形態では、ソーシャルネットワーキングシステム160は、ソーシャルネットワーキングシステム160によってサポートされる、種々のタイプのアイテム又はオブジェクトに対する対策をとる能力をユーザに提供し得る。制限としてではなく例として、アイテム及びオブジェクトは、ソーシャルネットワーキングシステム160のユーザが属し得るグループ又はソーシャルネットワーク、ユーザが関心がある場合があるイベント又はカレンダーエントリ、ユーザが使用し得るコンピュータベースアプリケーション、ユーザがサービスによってアイテムを買うか又は売ることを可能にする取引、ユーザが実施し得る広告との相互作用、或は、他の適したアイテム又はオブジェクトを含み得る。ユーザは、ソーシャルネットワーキングシステム160内で、又は、ソーシャルネットワーキングシステム160から離れておりネットワーク110によってソーシャルネットワーキングシステム160に結合されるサードパーティシステム170の外部システムによって表現されることが可能であるどんなものとでも相互作用し得る。
【0015】
特定の実施形態では、ソーシャルネットワーキングシステム160は、種々のエンティティをリンクすることが可能であり得る。制限としてではなく例として、ソーシャルネットワーキングシステム160は、ユーザが、互いに相互作用すると共に、サードパーティシステム170又は他のエンティティからコンテンツを受信することを可能にし得る、又は、ユーザが、アプリケーションプログラミングインタフェース(API:application programming interface)又は他の通信チャネルを通してこれらのエンティティと相互作用することを可能にし得る。
【0016】
特定の実施形態では、サードパーティシステム170は、限定はしないが、例えばサーバが通信し得る、API、1つ又は複数のウェブサービス、1つ又は複数のコンテンツソース、1つ又は複数のネットワーク、又は任意の他の適したコンポーネントを含む1つ又は複数のタイプのサーバ、1つ又は複数のデータストア、1つ又は複数のインタフェースを含み得る。サードパーティシステム170は、ソーシャルネットワーキングシステム160を運用するエンティティと異なるエンティティによって運用され得る。しかし、特定の実施形態では、ソーシャルネットワーキングシステム160及びサードパーティシステム170は、互いに連携して運用されて、ソーシャルネットワーキングシステム160又はサードパーティシステム170のユーザにソーシャルネットワーキングサービスを提供し得る。この意味では、ソーシャルネットワーキングシステム160は、サードパーティシステム170等の他のシステムが使用し得るプラットフォーム又はバックボーンを提供して、インターネットにわたってユーザにソーシャルネットワーキングサービス及び機能を提供し得る。
【0017】
特定の実施形態では、サードパーティシステム170は、サードパーティコンテンツオブジェクトプロバイダを含み得る。サードパーティコンテンツオブジェクトプロバイダは、クライアントシステム130に伝達され得るコンテンツオブジェクトの1つ又は複数のソースを含み得る。制限としてではなく例として、コンテンツオブジェクトは、例えば、映画ショウタイム、映画レビュー、レストランレビュー、レストランメニュー、製品情報及びレビュー、又は他の適した情報等の、ユーザにとって関心のある事柄又はアクティビティに関する情報を含み得る。制限としてではなく別の例として、コンテンツオブジェクトは、クーポン、ディスカウントチケット、商品券、又は他の適したインセンティブオブジェクト等のインセンティブコンテンツオブジェクトを含み得る。
【0018】
特定の実施形態では、ソーシャルネットワーキングシステム160はまた、ソーシャルネットワーキングシステム160とのユーザの相互作用を増大させ得るユーザ生成コンテンツオブジェクトを含む。ユーザ生成コンテンツは、ソーシャルネットワーキングシステム160に対してユーザが付加し得る、アップロードし得る、送信し得る、又は「ポスト(post)」し得るどんなものをも含み得る。制限としてではなく例として、ユーザは、クライアントシステム130からソーシャルネットワーキングシステム160にポストを伝達する。ポストは、ステータス更新又は他のテキストデータ、ロケーション情報、写真、ビデオ、リンク、音楽又は他の同様なデータ又は媒体等のデータを含み得る。コンテンツはまた、ニュースフィード又はストリーム等の「通信チャネル(communication channel)」を通してサードパーティによってソーシャルネットワーキングシステム160に付加され得る。
【0019】
特定の実施形態では、ソーシャルネットワーキングシステム160は、以下、すなわち、種々のサーバ、サブシステム、プログラム、モジュール、ログ、及びデータストア164を含み得る。特定の実施形態では、ソーシャルネットワーキングシステム160は、ウェブサーバ、アクションロガー、API要求サーバ、関連性及びランク付けエンジン(relevanse−and−ranking engine)、コンテンツオブジェクト分類子、通知コントローラ、アクションログ、サードパーティコンテンツオブジェクトエクスポージャログ、推論モジュール、認可/プライバシサーバ、検索モジュール、広告標的モジュール(ad−targeting module)、ユーザインタフェースモジュール、ユーザプロファイルストア、接続ストア、サードパーティコンテンツストア、又はロケーションストアのうちの1つ又は複数を含み得る。ソーシャルネットワーキングシステム160はまた、ネットワークインタフェース、セキュリティメカニズム、負荷分散、フェイルオーバサーバ、管理及びネットワーク運用コンソール、他の適したコンポーネント、又はその任意の適した組合せ等の適したコンポーネントを含み得る。特定の実施形態では、ソーシャルネットワーキングシステム160は、ユーザプロファイルを記憶するための1つ又は複数のユーザプロファイルストアを含み得る。ユーザプロファイルは、例えば、人名情報、人口統計的情報、挙動情報、ソーシャル情報、或は、仕事の経験、学歴、趣味又は選好、関心、姻族関係(affinity)、又はロケーション等の他のタイプの記述的情報を含み得る。関心情報は、1つ又は複数のカテゴリに関連する関心を含み得る。カテゴリは、一般的か又は特定であり得る。制限としてではなく例として、ユーザが、シューズのブランドに関する記事を「好む(like)」場合、カテゴリは、ブランド或は「シューズ(shoes)」又は「服(clothing)」の一般的なカテゴリであり得る。接続ストアは、ユーザに関する接続情報を記憶するために使用され得る。接続情報は、同様の又は共通の仕事の経験、グループメンバーシップ、趣味、学歴を有するユーザか、或は、いずれにしても共通の属性に関連するか又はそれを共有するユーザを示し得る。接続情報はまた、異なるユーザとコンテンツ(内部と外部の両方)との間のユーザ定義接続を含み得る。ウェブサーバは、ソーシャルネットワーキングシステム160を、ネットワーク110によって1つ又は複数のクライアントシステム130或は1つ又は複数のサードパーティシステム170にリンクするために使用され得る。ウェブサーバは、メールサーバ、又は、ソーシャルネットワーキングシステム160と1つ又は複数のクライアントシステム130との間でメッセージを受信しルーティングするための他のメッセージング機能を含み得る。API要求サーバは、サードパーティシステム170が、1つ又は複数のAPIを呼出すことによってソーシャルネットワーキングシステム160からの情報にアクセスすることを可能にし得る。アクションロガーは、ソーシャルネットワーキングシステム160をオン又はオフするユーザのアクションに関する、ウェブサーバからの通信情報を受信するために使用され得る。アクションログと共に、サードパーティコンテンツオブジェクトに対するユーザエキスポージャについてのサードパーティコンテンツオブジェクトログが維持され得る。通知コントローラは、コンテンツオブジェクトに関する情報をクライアントシステム130に提供し得る。情報は、通知としてクライアントシステム130にプッシュされ得るか、又は、情報は、クライアントシステム130から受信される要求に応答してクライアントシステム130からプルされ得る。認可サーバは、ソーシャルネットワーキングシステム160のユーザの1つ又は複数のプライバシ設定を施行するために使用され得る。ユーザのプライバシ設定は、ユーザに関連する特定の情報がどのように共有され得るかを決定する。認可サーバは、例えば、適切なプライバシ設定を設定することによって等で、ユーザのアクションをソーシャルネットワーキングシステム160によってログをとってもらうか又は他のシステム(例えば、サードパーティシステム170)に共有してもらうことをユーザがオプトイン又はオプトアウト処理することを可能にし得る。サードパーティコンテンツオブジェクトストアは、サードパーティシステム170等のサードパーティから受信されるコンテンツオブジェクトを記憶するために使用され得る。ロケーションストアは、ユーザに関連するクライアントシステム130から受信されるロケーション情報を記憶するために使用され得る。広告課金モジュール(Ad−pricing module)は、ソーシャル情報、目下の時間、ロケーション情報、又は他の適した情報を組合せて、ユーザに対して通知の形態で関連性のある広告を提供し得る。
【0020】
ジオソーシャルネットワーキングシステムは、更なるソーシャルインタラクションを可能にするよう地理的サービス及び能力が使用されるソーシャルネットワーキングシステムである。ユーザ提示ロケーションデータ又はジオロケーション技法(例えば、携帯電話位置ロギング)は、ジオソーシャルネットワークがユーザとユーザの関心に一致する地域住民又は地域イベントとを接続し連携させることを可能にし得る。例えば、ユーザは、場所の名称を提供すること(又は、予め設定された場所のリストから場所を選択すること)により、モバイルクライアントアプリケーションを使用して場所にチェックインし得る。ジオソーシャルネットワーキングシステムは、とりわけ、場所におけるユーザの存在に関する情報を記録し、おそらく、この情報をジオソーシャルネットワーキングシステムの他のユーザに提供し得る。
【0021】
ソーシャルネットワーキングシステム160は、地理的ロケーション又は場所に関連する情報のデータストア164を維持し得る。場所は、レストラン、バー、鉄道駅、空港等の種々の物理的位置に対応し得る。ソーシャルネットワーキングシステム160は、モバイルデバイス等のクライアントシステム130によってホストされるクライアントアプリケーション(例えば、ウェブブラウザ132)を使用してユーザが各場所に関する情報にアクセスすることを可能にし得る。ユーザプロファイル及び場所情報に加えて、ソーシャルネットワーキングシステム160は、ユーザに関する他の情報のログをとるか又は情報を維持し得る。例えば、ソーシャルネットワーキングシステムは、ユーザのロケーションを記録する1つ又は複数のロケーションベースサービスを含むジオソーシャルネットワーキングシステム機能をサポートし得る。例えば、ユーザは、クライアントシステム130によってホストされる専用クライアントアプリケーションを使用してジオソーシャルネットワーキングシステムにアクセスし得る。クライアントシステム130は、GPS、セルラー三角測量(cellular triangultion)、又はクライアントシステム130によってサポートされる他のジオロケーション機能に自動的にアクセスし、ユーザの目下のロケーションをジオソーシャルネットワーキングシステムに報告し得る。所与の場所へのチェックインは、ユーザが有る場所に物理的に位置し、クライアントシステム130を使用して、ジオソーシャルネットワーキングシステムにアクセスして、その場所におけるユーザの存在を登録すると発生し得る。ユーザは、ユーザの目下のロケーションの近くの既存の場所のリストから或る場所を選択するか又は新しい場所を生成し得る。ユーザはまた、チェックインに関連して1つ又は複数の他のユーザ(ユーザの友達等)を特定し、そのユーザ等を同様にチェックインに関連付けし得る。例えば、ユーザのチェックインアクティビティの記録は、データストア164に記憶され得る。
【0022】
さらに、ユーザのモバイルデバイス上でホストされる専用クライアントアプリケーションは、モバイルデバイスのロケーションデータを連続して取込み、そのロケーションデータをソーシャルネットワーキングシステムに送信するように構成され得る。こうして、ソーシャルネットワーキングシステムは、ユーザのロケーションのログをとり得る。
【0023】
特定の実施形態では、ソーシャルネットワーキングシステム160に関連するデータストア164は、場所の情報ベースを記憶することができ、各場所は、名称、地理的ロケーション、及びメタ情報(場所、チェックインアクティビティデータ、及び同様なものを最初に生成したユーザ等)を含む。例えば、インターネットに接続されたコンピュータ又はコンピューティングデバイスの地理的ロケーションは、割当てられたインターネットプロトコル(IP)アドレスによって特定され得る。例えば、セルラー、Wi−Fi、及び/又はGPS能力を装備するセルラー電話の地理的ロケーションは、セルラー三角測量、Wi−Fi測位、及びGPS測位のうちの少なくとも一つにより特定され得る。特定の実施形態では、データストア164は、複数の場所の地理的ロケーション及び追加情報を記憶し得る。例えば、場所は、地域ビジネス、関心の地点(例えば、カリフォルニア州サンフランシスコ(San Francisco, CA)のユニオンスクエア)、大学、町、又は国立公園であり得る。例えば、場所(例えば、地域のコーヒーショップ)の地理的ロケーションは、アドレス、地理的座標(緯度と経度)のセット、又は他の場所(例えば「鉄道駅の隣のコーヒーショップ(the coffeeshop next to the train station)」)への参照であり得る。例えば、大きな面積を有する場所(例えば、ヨセミテ国立公園)の地理的ロケーションは、その場所の境界を近似する形(例えば、円又は多角形)及びその形の重心のうちの少なくとも一方であり得る。例えば、場所の追加情報は、その場所の営業時間又は写真であり得る。特定の実施形態では、ソーシャルネットワーキングシステム160は、クライアントアプリケーション(上記参照)によって報告される、ユーザのユーザプロファイル情報、チェックインアクティビティ、及び地理的ロケーションデータのうちの少なくとも一つに基づいてユーザの1つ又は複数のルートを計算し、1つ又は複数のルートを記憶し得る。例えば、ソーシャルネットワーキングシステムは、マッピングサービスアプリケーションを使用することによって、又は、ユーザが仕事場に向かって運転している間にユーザのGPS装備携帯電話からの地理的ロケーションデータポイントを使用することによって、ユーザの家庭と仕事場との間の「通勤ルート(commute route)」を計算し得る。
【0024】
特定の実施形態では、モバイルデバイス(例えば、クライアントシステム130)は、ハードウェア、ファームウェア、及びソフトウェアを含み得る。図2は、例示的なモバイルデバイスクライアントシステム130を示す。特定の実施形態では、クライアントシステム130は、スマートフォン(例えば、iPhone(登録商標)又はブラックベリー(Blackberry(登録商標)))であるとすることができ、スマートフォンは、従来の携帯電話に比べて進化したコンピューティング能力及び接続性を提供する移動体電話である。クライアントシステム130は、携帯電話と一体化された手持ち式コンピュータとして考えられ得る。特定の実施形態では、クライアントシステム130は、ネットブック又はタブレットコンピュータ(例えば、iPad(登録商標))であり得る。特定の実施形態では、クライアントシステム130は、ワイヤレス接続を通してネットワークに接続され得る。
【0025】
特定の実施形態では、クライアントシステム130は、ハードウェア210及びソフトウェア220を含み得る。特定の実施形態では、ハードウェア210は、例えばまた制限することなく、プロセッサ211、メモリ212、ストレージ213、送受信機214、入力/出力デバイス215(例えば、ディスプレイ、タッチスクリーン、キーパッド、マイクロフォン、スピーカ等)、カメラ216、全地球測位システム(GPS)センサ217、センサハブ218、通知コントロールスイッチ219、無線周波数識別(RFID:radio frequency identification)リーダ241、無線周波数(RF)センサ242等のような任意の数のハードウェアコンポーネントを含み得る。本開示は任意の適したハードウェアコンポーネントを企図する。特定の実施形態では、ユーザのユーザデータの一部又は全てがストレージ213に記憶され得る。
【0026】
特定の実施形態では、ソフトウェア220はオペレーティングシステム221を含むことができ、オペレーティングシステム221は、カーネル231と、クライアントシステム130上で利用可能なハードウェアコンポーネントの一部に対応する任意の数のデバイスドライバ232とのうちの少なくとも一方を含み得る。オペレーティングシステム221は、クライアントシステム130が存在するデバイスの実際のタイプに基づいてクライアントシステム130のために選択され得る。例えば、クライアントシステム130がモバイルデバイス(例えば、スマートフォン)である場合、オペレーティングシステム221は、例えばまた制限することなく、マイクロソフト(Microsoft)のウィンドウズ(登録商標)モバイル(Windows(登録商標) Mobile)、グーグル(Google)のアンドロイド(Android)、ノキア(Nokia)のシンビアン(Symbian)、アップル(Apple)のiOS、及びサムスン(Samsung)のバダ(Bada)等のモバイルオペレーティングシステムであり得る。
【0027】
特定の実施形態では、1つ又は複数のソフトウェアアプリケーション223はクライアントシステム130上で実行され得る。特定の実施形態では、1つ又は複数のソフトウェアアプリケーション223は、クライアントシステム130上にインストールされ常駐するネイティブアプリケーションであり得る。例えば、1つのアプリケーション(例えば、グーグルマップ(Google Map))は、デバイスユーザが、マップを閲覧し、アドレス及びビジネスを検索し、方向性を得ることを可能にし、第2のアプリケーションは、デバイスユーザが電子メールを読み、送信し、受信することを可能にし、第3のアプリケーション(例えば、ウェブブラウザ)は、デバイスユーザがインターネットをブラウズし検索することを可能にし、第4のアプリケーションは、デバイスユーザがカメラ216を使用して写真をとるか又はビデオを記録することを可能にし、第5のアプリケーションは、デバイスユーザがVoIPコール及びセルラーネットワークコールのうちの少なくとも一方を受信し始動することを可能にし得る等である。特定の実施形態では、デバイスユーザが、クライアントシステム130にプッシュされる通知を管理することを可能にするソフトウェアアプリケーション(例えば、通知コントロール241)が存在し得る。通知コントロール241は、以下でより詳細に述べられる。各ソフトウェアアプリケーション220は、ユーザインタフェースを有し、1つ又は複数の特定の機能を実装し得る。各ソフトウェアアプリケーション220は、個々の機能を実装する1つ又は複数のソフトウェアモジュールを含み得る。通知コントロール241を含むソフトウェアアプリケーションの実行可能コードは、モバイルデバイス130上のコンピュータ可読でかつ非一時的な媒体(例えば、ストレージ213又はメモリ212)に記憶され得る。
【0028】
図3は、モバイルデバイスのユーザの将来のユーザ状態を予測するための例示的な方法を示す。方法は、ステップ310で始まることができ、システムは、ユーザによるモバイルコンピューティングデバイス(例えば、クライアントシステム130)の使用に関連するデータにアクセスする。特定の実施形態では、このデータは、ソーシャルネットワーキングシステム160によって記憶され得る。特定の実施形態では、このデータは、クライアントシステム130の一意の識別子又はクライアントシステム130上のアプリケーションの一意の識別子であり得る。特定の実施形態では、このデータは、クライアントシステム130のインターネットプロトコル(IP)アドレスであり得る。特定の実施形態では、このデータは、クライアントシステム130によって報告される地域時間であり得る。特定の実施形態では、このデータは、クライアントシステム130の目下のロケーション又は移動ベクトルであり得る。ロケーション及び移動ベクトルは、GPS、アシストGPS、セルラー三角測量、又は、ロケーション又は移動ベクトルを得るための任意の他の適した方法によって決定される可能性がある。
【0029】
ステップ320にて、システムは、ユーザの過去のユーザ状態に関連するデータにアクセスする。過去のユーザ状態は、ユーザの時間的、空間的、モーダル的、又は社会的アクセス可能性であり得る。特定の実施形態では、このデータは、ソーシャルネットワーキングシステム160によって記憶され得る。特定の実施形態では、過去のユーザ状態は、ユーザの就業場所へ/から通勤することであり得る。この状態は、ユーザに関連性のある時間的、空間的、モーダル的、及び社会的局面を有することになる。特定の実施形態では、過去のユーザ状態は、ソーシャルネットワーキングシステム160によって記憶されるイベントに参加することであり得る。特定の実施形態では、過去のユーザ状態は、ソーシャルネットワーキングシステム160によって記憶された情報に結び付けられる地理的エリア内で旅行することであり得る。例えば、ユーザは、ユーザのモバイルコピューティングデバイスがハワイのロケーションを示している時に近接する時間にユーザが休暇中であったことを示すステータス更新をポストしている場合がある。特定の実施形態では、過去のユーザ状態は、ソーシャルネットワーキングシステム160によって記憶されるユーザのコンタクトのうちの1つのコンタクトに関連するデータから決定され得る。例えば、ユーザのコンタクトは、ユーザ及びロケーションを示すチェックインアクティビティデータを前もって保存している場合がある。特定の実施形態では、過去のユーザ状態は、ユーザが目下使用中のクライアントシステム130に結び付けられ得る。例えば、過去のユーザ状態は、受信された一意のクライアントシステム識別子がクライアントシステム130が車載ナビゲーションユニットであることを示している時に近接する時間に、ユーザが移動中であったということであり得る。別の例では、過去のユーザ状態は、クライアントシステム130が特定のラップトップであったときにユーザが「仕事をしていた(working)」又はクライアントシステム130がモバイルゲーミングデバイスであったときにユーザが「忙しかった(busy)」ということであり得る。
【0030】
ステップ330にて、システムは、将来の時間におけるユーザ状態及びユーザによる将来のクライアントシステム130の使用を予測する。特定の実施形態では、ソーシャルネットワーキングシステム160は、幾つかのジオソーシャルファクタを使用し得る。例えば、ソーシャルネットワーキングシステム160は、記憶されたデータを相互参照することによって、結び付けられたユーザ状態とクライアントシステム使用データポイントとのデータセットを生成している場合がある。ソーシャルネットワーキングシステム160はまた、クライアントシステム130についての目下の時間又はロケーションに対するアクセス権を有し得る。更に、ソーシャルネットワーキングシステム160はまた、ユーザの将来のイベント及びカレンダアポイントメントに関するデータを記憶している場合がある。ソーシャルネットワーキングシステム160は、ステップ310及び320でアクセスされるデータの1つ又は複数を使用して、将来のユーザ状態をアルゴリズム的に予測し得る。
【0031】
特定の実施形態では、システムは、ステップ310又は320でアクセスされるデータの一部又は全てに関して回帰分析を使用して、将来のユーザ状態を予測し得る。特定の実施形態では、システムは、複数の独立変数の線形回帰を使用して、確率を幾つかの考えられる状態に割当て得る。例示的な線形回帰は、y=βi1+βi2+…+βipであり得る。ここで、yは、ステップ320でアクセスされる過去のユーザ状態のセットから選択される、考えられる将来の状態を示し、Xinは独立変数を示し、βは、各変数に割当てられる重み付けファクタを示し、nは1からpの値に及ぶ。特定の実施形態では、独立変数は、ステップ310に関連して先に論じたタイプのデータの任意のデータであり得る。
【0032】
特定の実施形態では、システムは、ステップ310又は320でアクセスされるデータの一部又は全てに関して決定木解析を使用して、将来のユーザ状態を予測し得る。システムは、履歴データを使用して、決定木の決定ノード及びチャンスノードを生成し、それにより、将来のユーザ状態を予測し得る。例えば、履歴データに基づいて、入力の或る組合せがユーザ状態を予測し得る。将来の地域時間が「通勤する(commuting)」過去のユーザ状態に関連する過去の地域時間に対応し、報告される目下のクライアントシステム130が車載ナビゲーションユニットであり、クライアントシステム130の報告される目下のロケーションがユーザにとってわかっている通勤経路上にある場合、システムは、決定木を通して働いて、ユーザの将来のユーザ状態が、所与の期間にわたって仕事場へ通勤することであると判定し得る。特定の実施形態では、決定木解析は、少数の考えられる将来のユーザ状態を有するシステムにおいて望ましい場合がある。特定の実施形態では、決定木解析は、他の予測技法と組合され得る。
【0033】
特定の実施形態では、システムは、ステップ310又は320でアクセスされるデータの一部又は全てに関してニューラルネットワーク解析を使用して、将来のユーザ状態を予測し得る。例えば、システムは、教師付き学習ニューラルネットワークを実装して、ステップ310でアクセスされるデータから引出される入力変数をステップ320でアクセスされるデータから引出されるユーザ状態にマッピングする関数を見出し得る。ニューラルネットワーク解析は、ネットワークの予測されるユーザ状態と、わかっている過去のユーザ状態との間の平均2乗誤差を最小にしようとし得る。この誤差を最小にすることによって、ネットワークは、将来のユーザ状態を予測するための近似関数を生成することができる。
【0034】
特定の実施形態では、システムは、ステップ310又は320でアクセスされるデータの一部又は全てに関してエキスパートシステム解析を使用して、将来のユーザ状態を予測し得る。システムは、履歴データに基づいてエキスパートシステムの知識ベースを構築し得る。例えば、システムは、「クライアントシステム130がラップトップ001である場合、ユーザは仕事中である(IF the client system 130 is Laptop001 THEN user is at work)」というルールを生成し得る。別の例として、システムは、「目下のロケーションがハワイである場合、ユーザは休暇中である(IF the current location is Hawaii THEN the user is on vacation)」というルールを生成し得る。別の例として、システムは、「目下の地域時間が午後7時と午前6時との間である場合、ユーザは在宅中である(IF the current local time is between 7PM and 6AM THEN the user is at home)」というルールを生成し得る。前記知識ベースを生成することによって、システムは、その後、エキスパートシステム推論エンジンを通して入力変数をバッチで又は直列に処理して、将来のユーザ状態を予測し得る。
【0035】
本開示は、予測される将来のユーザ状態の計算においてステップ310及び320でアクセスされるファクタの任意の組合せ又はファクタの重み付を利用して、将来のユーザ状態を予測する任意の適した方法を企図する。
【0036】
ステップ340にて、システムは、予測される将来のユーザ状態に応答して将来の時間においてユーザのクライアントシステム130のオペレーションを適合させ、その時点で、方法は終了し得る。特定の実施形態では、予測されるユーザ状態は、ユーザが地理的エリア内を旅行していることになることであり得る。システムは、地理的エリアに関連性のあるデータをクライアントシステム130にプッシュすることによって適合し得る。例えば、予測されるユーザ状態が、ユーザがハワイで休暇をとることになることである場合、システムは、関連性のあるデータ(例えば、天候情報、旅行情報、レストランレビュー、及びタクシー広告)をクライアントシステム130にプッシュする可能性がある。データの一部又は全てが、ユーザに対する通知として表示される可能性がある。代替的に、データの一部又は全ては、クライアントシステム130上にキャッシュされ、また、提案される検索及び提案される結果を予め満たすか又はクライアントシステム130による将来のデータ使用を減少させるために使用される可能性がある。
【0037】
特定の実施形態では、図3に示すようにモバイルデバイスユーザの将来の状態を予測するためのシステムは、ソーシャルネットワーキングシステム160に関連付けられ得る。この場合、ソーシャルネットワーキングシステムは、図3に示す方法を(例えば、コンピュータソフトウェアとして)実装し、その方法を使用して、同様にソーシャルネットワーキングシステム160のメンバであるユーザの将来のユーザ状態を予測し得る。
【0038】
クライアントシステム130上のソーシャルネットワーキングアプリケーションが、予測されるユーザ状態に応答してそのオペレーションを変更することが望ましい場合がある。特定の実施形態では、システムは、クライアントシステム130上のソーシャルネットワーキングアプリケーションの論理オペレーションを修正することによってクライアントシステム130のオペレーションを適合させる。例えば、予測される将来のユーザ状態が、ユーザが(例えば、航空便、仕事、写真の観察に関して)都合が悪いということである場合、ユーザのクライアントシステム130上のソーシャルネットワーキングアプリケーションは、予測される将来のユーザ状態が変わるまで、ユーザに対する全ての通知を待ち行列に入れるように設定される可能性がある。更なる例として、予測される将来のユーザ状態が、ユーザが公共的社会的状況(例えば、誕生会に参加すること)で外出することになることである場合、ユーザのクライアントシステム130上のソーシャルネットワーキングアプリケーションは、アクセスされると、カメラアプリケーションを起動するように設定される可能性がある。
【0039】
特定の実施形態では、システムは、クライアントシステム130によって要求され、ソーシャルネットワーキングシステム160によって送信されるデータの特性を変更することによってクライアントシステム130のオペレーションを適合させる。特定の実施形態では、そのデバイスが或るタイプのリンク150によって接続されるとき、ソーシャルネットワーキングシステム160がクライアントシステム130に低帯域幅サービスを提供することが望ましい場合がある。例えば、一部の電気通信は、データダウンロード限界を提供し、それらの限界を超えることについて料金を課す。別の例として、一部の電気通信契約は、外国を旅行するときにデータ転送について増加した料金を請求する。予測される将来のユーザ状態が、クライアントシステム130が或るデータ限界又は増加した料金に関連するリンク150によって接続されることになるということを示す場合、ソーシャルネットワーキングシステム160は、低帯域幅コンテンツを送信し得る。特定の実施形態では、ソーシャルネットワーキングシステム160がデバイスのロケーションを決定するためクライアントシステム130をポーリングする間隔を増加させることが望ましい場合がある。例えば、予測される将来のユーザ状態が、ユーザが在宅中であることになるということである場合、ソーシャルネットワーキングシステム160は、ポーリング間隔を1時間に1回に増加させることによって適合し得る。ポーリング間隔を増加させることによって、ソーシャルネットワーキングシステム160がクライアントシステム130の電池寿命を増加させることが可能であり得る。
【0040】
特定の実施形態は、適切である場合、図3の方法のステップを繰返し得る。更に、本開示は、図3の方法の特定のステップを、特定の順序で起こっているものとして記載し図示するが、任意の適した順序で起こる図3の方法の任意の適したステップを企図する。更に、本開示は、図3の方法の特定のステップを実施する特定のコンポーネント、デバイス、又はシステムを記載し図示するが、図3の方法の任意の適したステップを実施する任意の適したコンポーネント、デバイス、又はシステムの任意の適した組合せを企図する。
【0041】
図4は、将来のユーザ状態を予測するための例示的な関数のブロック図である。将来のユーザ状態415を予測するため、重み405が、予測器関数410に適用され、その後、結合されて、予測されたユーザ状態415を得る。図4は、3つの予測器関数410を示すが、本発明の他の実施形態では、任意の数の予測器関数が使用される可能性がある。更に、図4の実施形態では、重み付けされた予測器関数410が線形に結合される。異なる実施形態では、調和平均、2乗平均、及び幾何平均を含む他の形態の結合が使用され得る。更に、いろいろな重み405を有する複数の予測される将来のユーザ状態415は、方法ステップ340で記載されたように、クライアントシステム130のオペレーションを適合させる前に計算され得る。
【0042】
システムは、将来のユーザ状態を予測する予測器関数のセットを計算する責任を負う1つ又は複数の予測器モジュール(例えば、アプリケーション)を備え得る。先に論じたように、各予測器関数は、将来のユーザ状態を予測するための任意の適した方法であり得る。幾つかの実施形態では、予測器関数は、特定のユーザ状態に関連するユーザの履歴アクティビティを使用して訓練される機械学習アルゴリズムを使用して生成され得る。機械学習は、コンピュータがデータに基づいて学習することを可能にするアルゴリズムの設計及び開発に関係する科学的訓練である。機械学習アルゴリズム及びその性能についての計算解析は、計算論的学習理論として知られる理論計算機科学の一分野である。所望の目標は、経験を通して(例えば、アルゴリズムを「訓練する(train)」ためアルゴリズムにデータを適用することによって)アルゴリズムを改善することである。そのため、データは、「訓練データ(training data)」と呼ばれることが多い。そのため、各予測器モジュールは、考えられる将来のユーザ状態のセットのそれぞれについて予測器関数を設け、予測器関数は、方法ステップ310でアクセスされるデータの一部又は全てを入力として採用し、その後、ユーザが、予測される将来のユーザ状態を有する可能性の尺度を出力し得る。
【0043】
幾つかの実施形態では、予測器関数の1つ又は複数は、ユーザの履歴アクティビティからの信号強度が時間と共に減衰する減衰ファクタを使用し得る。更に、異なる予測器関数は、履歴アクティビティを異なるレートで減衰させ得る。例えば、仕事場に通勤することのような或るタイプの予測される将来のユーザ状態は、再び起こらないイベント(例えば、結婚式)に参加することのようなより一過性の結び付きを示す他のタイプのアクティビティより持続的な結び付きを示す。したがって、予測器関数は、その過去のユーザ状態が時間の経過とともにどれだけ関連性が少なくなるかに関する理解に基づいて履歴的アクティビティの効果を減衰させ得る。種々の減衰メカニズムが、このために使用され得る。例えば、予測器関数は、指数関数減衰等の数学的関数を使用して、予測されるユーザ状態に関する統計量を減衰させ得る。別の実施形態では、減衰は、24時間又は30日等の特定の時間窓内で起こったユーザ状態に関する統計量だけを選択することによって実装される。
【0044】
図5は、例示的なコンピュータシステム500を示す。特定の実施形態では、1つ又は複数のコンピュータシステム500は、本明細書に記載又は図示される1つ又は複数の方法の1つ又は複数のステップを実施する。特定の実施形態では、1つ又は複数のコンピュータシステム500は、本明細書に記載又は図示される機能を提供する。特定の実施形態では、1つ又は複数のコンピュータシステム500上で実行されるソフトウェアは、本明細書に記載又は図示される1つ又は複数の方法の1つ又は複数のステップを実施するか、或は、本明細書に記載又は図示される機能を提供する。特定の実施形態は、1つ又は複数のコンピュータシステム500の1つ又は複数の部分を含む。本明細書では、コンピュータシステムに対する参照は、適切である場合、コンピューティングデバイスを包含し得る。更に、コンピュータシステムに対する参照は、適切である場合、1つ又は複数のコンピュータシステムを包含し得る。
【0045】
本開示は、任意の適した数のコンピュータシステム500を企図する。本開示は、任意の適した物理的形態をとるコンピュータシステム500を企図する。制限としてではなく例として、コンピュータシステム500は、埋め込み式コンピュータシステム、システムオンチップ(SOC:system−on−chip)、シングルボードコンピュータシステム(SBC:single−board computer system)(例えば、コンピュータオンモジュール(COM:computer−on−module)又はシステムオンモジュール(SOM:system−on−module)等)、デスクトップコンピュータシステム、ラップトップ又はノートブックコンピュータシステム、対話型キオスク、メインフレーム、コンピュータシステムのメッシュ、移動体電話、携帯情報端末(PDA)、サーバ、タブレットコンピュータシステム、又はこれらの2つ以上の組合せであり得る。適切である場合、コンピュータシステム500は、一体型又は分散型であり得る、複数のロケーションに及び得る、複数の機械に及び得る、複数のデータセンターに及び得る、或は、1つ又は複数のネットワーク内に1つ又は複数のクラウドコンポーネントを含み得るクラウド内に常駐し得る1つ又は複数のコンピュータシステム500を含み得る。適切である場合、1つ又は複数のコンピュータシステム500は、実質的な空間的又は時間制限無しで、本明細書に記載又は図示される1つ又は複数の方法の1つ又は複数のステップを実施し得る。制限としてではなく例として、1つ又は複数のコンピュータシステム500は、本明細書に記載又は図示される1つ又は複数の方法の1つ又は複数のステップをリアルタイムに又はバッチモードで実施し得る。1つ又は複数のコンピュータシステム500は、適切である場合、本明細書に記載又は図示される1つ又は複数の方法の1つ又は複数のステップを、異なる時間に又は異なるロケーションで実施し得る。
【0046】
特定の実施形態では、コンピュータシステム500は、プロセッサ502、メモリ504、ストレージ506、入出力(I/O)インタフェース508、通信インタフェース510、及びバス512を含む。本開示は、特定の配置構成で特定の数のコンポーネントを有する特定のコンピュータシステムを記載し図示するが、任意の適した配置構成で任意の適した数の任意の適したコンポーネントを有する任意の適したコンピュータシステムを企図する。
【0047】
特定の実施形態では、プロセッサ502は、コンピュータプログラムを構成する命令等の命令を実行するためのハードウェアを含む。制限としてではなく例として、命令を実行するため、プロセッサ502は、内部レジスタ、内部キャッシュ、メモリ504、又はストレージ506から命令を取出し(又はフェッチし)得る、それらを復号化し実行し得る、その後、1つ又は複数の結果を内部レジスタ、内部キャッシュ、メモリ504、又はストレージ506に書込み得る。特定の実施形態では、プロセッサ502は、データ、命令、又はアドレス用の1つ又は複数の内部キャッシュを含み得る。本開示は、適切である場合、任意の適した数の任意の適した内部キャッシュを含むプロセッサ502を企図する。制限としてではなく例として、プロセッサ502は、1つ又は複数の命令キャッシュ、1つ又は複数のデータキャッシュ、並びに1つ又は複数の変換ルックアサイドバッファ(TLB:translation lookaside buffer)を含み得る。命令キャッシュ内の命令は、メモリ504又はストレージ506内の命令のコピーであり、命令キャッシュはプロセッサ502によるそれらの命令の取出しを高速化し得る。データキャッシュ内のデータは、プロセッサ502で実行される命令が、プロセッサ502で実行される後続の命令がアクセスするため又はメモリ504又はストレージ506に書込むために、プロセッサ502で実行された以前の命令の結果に作用するための、メモリ504又はストレージ506内のデータ又は他の適したデータのコピーであり得る。データキャッシュは、プロセッサ502による読出し又はオペレーションを高速化し得る。TLBは、プロセッサ502用の仮想アドレス変換を高速化し得る。特定の実施形態では、プロセッサ502は、データ、命令、又はアドレス用の1つ又は複数の内部レジスタを含み得る。本開示は、適切である場合、任意の適した数の任意の適した内部レジスタを含むプロセッサ502を企図する。適切である場合、プロセッサ502は、マルチコアプロセッサであり得る1つ又は複数の算術論理ユニット(ALU:arithmetic logic unit)を含み得るか、又は1つ又は複数のプロセッサ502を含み得る。本開示は、特定のプロセッサを記載し図示するが、任意の適したプロセッサを企図する。
【0048】
特定の実施形態では、メモリ504は、プロセッサ502が実行するための命令又はプロセッサ502が作用するためのデータを記憶するための主メモリを含む。制限としてではなく例として、コンピュータシステム500は、ストレージ506又は別のソース(例えば、別のコンピュータシステム500等)からメモリ504に命令をロードし得る。その後、プロセッサ502は、メモリ504から内部レジスタ又は内部キャッシュに命令をロードし得る。命令を実行するため、プロセッサ502は、内部レジスタ又は内部キャッシュから命令を取り出し、それらを復号し得る。命令の実行中又は実行後、プロセッサ502は、1つ又は複数の結果(中間又は最終結果であり得る)を内部レジスタ又は内部キャッシュに書込み得る。その後、プロセッサ502は、それらの結果の1つ又は複数をメモリ504に書込み得る。特定の実施形態では、プロセッサ502は、(ストレージ506又は他の場所と対照的に)1つ又は複数の内部レジスタ又は内部キャッシュ内或はメモリ504内の命令だけを実行し、(ストレージ506又は他の場所と対照的に)1つ又は複数の内部レジスタ又は内部キャッシュ内或はメモリ504内のデータだけに作用する。1つ又は複数のメモリバス(それぞれアドレスバス及びデータバスを含み得る)は、プロセッサ502をメモリ504に結合し得る。バス512は、以下に述べるように1つ又は複数のメモリバスを含み得る。特定の実施形態では、1つ又は複数のメモリ管理ユニット(MMU:memory management unit)は、プロセッサ502とメモリ504との間に常駐し、プロセッサ502によって要求されるメモリ504に対するアクセスを容易にする。特定の実施形態では、メモリ504はランダムアクセスメモリ(RAM)を含む。このRAMは、適切である場合、揮発性メモリであり得る。適切である場合、このRAMは、ダイナミックRAM(DRAM)又はスタティックRAM(SRAM)であり得る。さらに、適切である場合、このRAMはシングルポート又はマルチポートRAMであり得る。本開示は任意の適したRAMを企図する。メモリ504は、適切である場合、1つ又は複数のメモリ504を含み得る。本開示は、特定のメモリを記載し図示するが、任意の適したメモリを企図する。
【0049】
特定の実施形態では、ストレージ506は、データ又は命令用の大容量ストレージを含む。制限としてではなく例として、ストレージ506は、ハードディスクドライブ(HDD:hard disk drive)、フロッピーディスク(登録商標)ドライブ、フラッシュメモリ、光ディスク、光磁気ディスク、磁気テープ、又はユニバーサルシリアルバス(USB:Universal Serial Bus)ドライブ、或はこれらの2つ以上の組合せを含み得る。ストレージ506は、適切である場合、取外し可能又は取外し不能(すなわち固定)媒体を含み得る。ストレージ506は、適切である場合、コンピュータシステム500に対して内部又は外部にあり得る。特定の実施形態では、ストレージ506は、不揮発性固体メモリである。特定の実施形態では、ストレージ506は読出し専用メモリ(ROM)を含む。適切である場合、このROMは、マスクプログラム式ROM、プログラマブルROM(PROM)、消去可能PROM(EPROM)、電気的消去可能PROM(EEPROM)、電気的消去再書き込み可能ROM(EAROM:electrically alterable ROM)、又はフラッシュメモリ、或はこれらの2つ以上の組合せであり得る。本開示は、任意の適した物理的形態をとる大容量ストレージ506を企図する。ストレージ506は、適切である場合、プロセッサ502とストレージ506との間の通信を容易にする1つ又は複数のユニットを含み得る。適切である場合、ストレージ506は、1つ又は複数のストレージ506を含み得る。本開示は、特定のストレージを記載し図示するが、任意の適したストレージを企図する。
【0050】
特定の実施形態では、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デバイス及びI/Oデバイス用の任意の適したI/Oインタフェース508を企図する。適切である場合、I/Oインタフェース508は、プロセッサ502がこれらのI/Oデバイスの1つ又は複数を駆動することを可能にする1つ又は複数のデバイス又はソフトウェアドライバを含み得る。I/Oインタフェース508は、適切である場合、1つ又は複数のI/Oインタフェース508を含み得る。本開示は、特定のI/Oインタフェースを記載し図示するが、任意の適したI/Oインタフェースを企図する。
【0051】
特定の実施形態では、通信インタフェース510は、コンピュータシステム500と1つ又は複数の他のコンピュータシステム500或は1つ又は複数のネットワークとの間の通信(例えば、パケットベースの通信等)用の1つ又は複数のインタフェースを提供するハードウェア、ソフトウェア又はその両方を含む。制限としてではなく例として、通信インタフェース510は、イーサネット(登録商標)又は他のワイヤベースのネットワークと通信するためのネットワークインターフェースコントローラ(NIC:network interface controller)又はネットワークアダプタ、或は、WI−FIネットワーク等のワイヤレスネットワークと通信するためのワイヤレスNIC(WNIC)又はワイヤレスアダプタを含み得る。本開示は、任意の適したネットワーク及びネットワーク用の任意の適した通信インタフェース510を企図する。制限としてではなく例として、コンピュータシステム500は、アドホックネットワーク、パーソナルエリアネットワーク(PAN)、ローカルエリアネットワーク(LAN)、ワイドネットワーク(WAN)、メトロポリタンエリアネットワーク(MAN)、又はインターネットの1つ又は複数の部分、或はこれらの2つ以上の組合せと通信し得る。これらのネットワークの1つ又は複数のネットワークの1つ又は複数の部分はワイヤ式又はワイヤレス式であり得る。例として、コンピュータシステム500は、ワイヤレスPAN(WPAN)(例えばブルートゥース(BLUETOOTH(登録商標))WPAN等)、WI−FIネットワーク、WI−MAXネットワーク、セルラー電話ネットワーク(例えば移動体通信用グローバルシステム(GSM(登録商標):Global System for Mobile Communications)ネットワーク等)、又は他の適したワイヤレスネットワーク、或はこれらの2つ以上の組合せと通信し得る。コンピュータシステム500は、適切である場合、これらのネットワークのうちの任意のネットワーク用の任意の適した通信インタフェース510を含み得る。通信インタフェース510は、適切である場合、1つ又は複数の通信インタフェース510を含み得る。本開示は、特定の通信インタフェースを記載し図示するが、任意の適した通信インタフェースを企図する。
【0052】
特定の実施形態では、バス512は、コンピュータシステム500のコンポーネントと互いに結合するハードウェア、ソフトウェア、又はその両方を含む。制限としてではなく例として、バス512は、アクセラレイテッドグラフィックポート(AGP:Accelerated Graphics Port)又は他のグラフィックバス、強化型業界標準アーキテクチャ(EISA:Enhanced Industry Standard Architecture)バス、フロントサイドバス(FSB:front−side bus)、ハイパートランスポート(HYPERTRANSPORT)(HT)相互接続、業界標準アーキテクチャ(ISA:Industry Standard Architecture)バス、インフィニバンド(INFINIBAND)相互接続、ローピンカウント(LPC:low−pin−count)バス、メモリバス、マイクロチャネルアーキテクチャ(MCA:Micro Channel Architecture)バス、ペリフェラルコンポーネント相互接続(PCI:Peripheral Component Interconnect)、PCIエクスプレス(PCI−Express)(PCIe)バス、シリアルアドバンストテクノロジアタッチメント(SATA:serial advanced technology attachment)バス、ビデオエレクトロニクス規格化協会ローカル(VLB:Video Electronics Standards Association local)バス、又は別の適したバス、或はこれらの2つ以上の組合せを含み得る。バス512は、適切である場合、1つ又は複数のバス512を含み得る。本開示は、特定のバスを記載し図示するが、任意の適したバス又は相互接続を企図する。
【0053】
本明細書では、1つ又は複数のコンピュータ可読非一時的記憶媒体は、適切である場合、1つ又は複数の半導体ベース又は他の集積化回路(IC)(例えば、フィールドプログラマブルゲートアレイ(FPGA)又は特定用途向けIC(ASIC)等)、ハードディスクドライブ(HDD:hard disk drive)、光ディスク、光ディスクドライブ(ODD)、光磁気ディスク、光磁気ドライブ、フロピーディスク、フロピーディスクドライブ(FDD)、磁気テープ、固体ドライブ(SSD:solid−state drive)、RAMドライブ、セキュアデジタル(SECUREDIGITAL)カード又はドライブ、又は任意の他の適したコンピュータ可読非一時的記憶媒体、或はこれらの2つ以上の任意の適した組合せを含み得る。コンピュータ可読非一時的記憶媒体は、適切である場合、揮発性か、不揮発性か、又は揮発性と不揮発性の組合せであり得る。
【0054】
本明細書では、「又は(or)」は、別途明示的に指示されるか又は文脈によって別途指示されない限り、包含的であり排他的でない。したがって、本明細書では、「A又はB(A or B)」は、別途明示的に指示されるか又は文脈によって別途指示されない限り、「A、B、又は両方(A、B、or both)」を意味する。更に、「及び(and)」は、別途明示的に指示されるか又は文脈によって別途指示されない限り、共同的であると共に個別的である。したがって、本明細書では、「A及びB(A and B)」は、別途明示的に指示されるか又は文脈によって別途指示されない限り、「共同で又は個別にA及びB(A and B、jointly or severally)」を意味する。
【0055】
本開示の範囲は、当業者が理解するであろう本明細書に記載又は図示される例示的な実施形態に対する全ての変更、置換、変形、代替、及び修正を包含する。本開示の範囲は、本明細書に記載又は図示される例示的な実施形態に限定されない。更に、本開示は、本明細書のそれぞれの実施形態を、特定のコンポーネント、要素、関数、オペレーション、又はステップを含むものとして記載し図示するが、これらの実施形態の任意の実施形態は、当業者が理解するであろう、本明細書のどこででも述べられるか又は示されるコンポーネント、要素、関数、オペレーション、又はステップの任意のものの任意の組合せ又は置換を含み得る。更に、特定の機能を実施するように、適合されるか、配列されるか、可能であるか、構成されるか、イネーブルされるか、作動可能であるか、又は、作動的である、装置又はシステム或は装置又はシステムのコンポーネントに対する添付特許請求の範囲における参照は、その装置、システム、又はコンポーネントがそのように適合されるか、配列されるか、可能であるか、構成されるか、イネーブルされるか、作動可能であるか、又は、作動的である限り、装置、システム、又はコンポーネント又はその特定の機能が起動される、ターンオンされる、又はロック解除されるか否かによらず、その装置、システム、コンポーネントを包含する。
図1
図2
図3
図4
図5