欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

確定重要用戶位置以用于提供基于位置的服務(wù)的制作方法

文檔序號:12290406閱讀:408來源:國知局
確定重要用戶位置以用于提供基于位置的服務(wù)的制作方法與工藝

本公開整體涉及基于位置的服務(wù)。



背景技術(shù):

許多電子設(shè)備具有基于位置的功能。例如,移動設(shè)備可使用衛(wèi)星導(dǎo)航系統(tǒng)(例如,全球定位系統(tǒng)或者說是GPS)或蜂窩通信系統(tǒng)來估計移動設(shè)備的位置。該移動設(shè)備可執(zhí)行位置特定的各種任務(wù)。例如,該移動設(shè)備上執(zhí)行的地圖應(yīng)用程序可使移動設(shè)備顯示地圖。地圖上的標(biāo)記可指示該移動設(shè)備的當(dāng)前位置。在接收選擇該標(biāo)記的用戶輸入時,該移動設(shè)備可顯示在當(dāng)前位置附近的感興趣點,例如餐廳或加油站。在接收指定目的地的用戶輸入時,該移動設(shè)備可顯示從當(dāng)前位置到目的地的路線,以及基于該路線上的交通信息所估計的到達(dá)時間。



技術(shù)實現(xiàn)要素:

本公開描述了用于確定對用戶來說重要的位置以提供基于位置的服務(wù)的技術(shù)。重要用戶位置是指這樣的地理位置:它被確定為對移動設(shè)備的用戶具有重要意義,這樣用戶有可能會在未來訪問該位置。移動設(shè)備可基于用戶在某個地理位置停留了多長時間,來確定該地理位置是否是重要用戶位置。用于確定重要位置的時長可基于提示。提示可為在移動設(shè)備上執(zhí)行或由移動設(shè)備檢測到的歷史或當(dāng)前動作,該動作指示用戶可能對該位置感興趣。在檢測提示時,移動設(shè)備可減少用于確定重要位置的預(yù)指定閾值時間。

本公開描述了用于自適應(yīng)位置集群的技術(shù)。移動設(shè)備可確定指示某個位置對用戶來說重要的位置集群的大小。在預(yù)指定時間段內(nèi),移動設(shè)備可記錄位置,并確定所記錄位置的收斂速率。收斂速率可指示位置多快被集群在一起。較高收斂速率對應(yīng)于較小大小。移動設(shè)備可測量給定收斂速率上的偏差。移動設(shè)備可存儲與大小關(guān)聯(lián)的位置集群。移動設(shè)備可基于位置集群中的位置和該位置集群的大小來確定重要位置。

本公開描述了用于確定日歷項的位置的技術(shù)。移動設(shè)備可接收包括描述和時間的日歷項。該移動設(shè)備可確定,在日歷項中指定的時間,移動設(shè)備位于據(jù)估計為對用戶來說重要的位置。該移動設(shè)備可存儲與重要位置關(guān)聯(lián)的描述。在接收包含描述中的至少一個詞語的新日歷項時,該移動設(shè)備可預(yù)測用戶將在新日歷項中指定的時間訪問重要位置。該移動設(shè)備可基于預(yù)測來為用戶提供輔助。

本公開描述了用于使用位置應(yīng)用編程接口(API)來確定移動設(shè)備的位置的技術(shù)。移動設(shè)備可接收表示請求移動設(shè)備監(jiān)測重要位置進出情況的輸入。該移動設(shè)備可調(diào)用如API中聲明的位置管理器類的對象的開始監(jiān)測實例函數(shù)來開始監(jiān)測,以及調(diào)用如API中聲明的對象的停止監(jiān)測實例函數(shù)來停止監(jiān)測。該移動設(shè)備可存儲進出情況,或向符合API的函數(shù)提供進出記錄以便執(zhí)行各種任務(wù)。

可以實現(xiàn)本說明書中描述的特征以獲得一個或多個優(yōu)點。移動設(shè)備可學(xué)習(xí)該移動設(shè)備的移動模式,并且使其自身適應(yīng)此移動模式。該移動設(shè)備可基于此移動模式來提供預(yù)測性用戶輔助,而不需要另外的用戶輸入,包括例如,如果移動設(shè)備基于該移動設(shè)備的歷史移動模式確定用戶將要訪問重要位置,那么即使該移動設(shè)備未接收到用戶詢問,也會在用戶正在去往該重要位置時警示用戶交通狀況。因此,該移動設(shè)備的用戶可在使用該移動設(shè)備的服務(wù)(尤其是基于位置的服務(wù))時獲得更好的體驗。例如,該移動設(shè)備可確定用戶通常在平日早上8:00從家出發(fā)去上班,并且在周末早上8:00從家里出發(fā)去健身房。在平日早上臨近8:00前打開時,該移動設(shè)備可自動顯示從家到工作地的路線的交通信息;而在周末時,該移動設(shè)備可自動顯示從家到健身房的路線的交通信息。

在附圖和以下說明書中闡述了主題的一個或多個具體實施的細(xì)節(jié)。根據(jù)說明書、附圖以及權(quán)利要求書,所述主題的其他特征、方面和優(yōu)點將變得顯而易見。

附圖說明

圖1是示出預(yù)測性用戶輔助的示例性具體實施的示意圖。

圖2A是示出確定位置集群的示例性技術(shù)的示意圖。

圖2B是示出基于提示的位置集群的示例性技術(shù)的示意圖。

圖3A是示出基于位置集群來識別重要位置的示例性技術(shù)的示意圖。

圖3B示出自適應(yīng)集群的示例性技術(shù)。

圖4A是示出基于位置集群確定的示例性狀態(tài)模型的示意圖。

圖4B示出用于確定日歷項的位置的示例性技術(shù)。

圖5是示出狀態(tài)模型的漸進變化的示意圖。

圖6A是示出確定示例性狀態(tài)之間的轉(zhuǎn)變概率密度的示意圖。

圖6B是示出確定示例性狀態(tài)的進入概率密度的示意圖。

圖6C示出用于顯示重要位置的示例性用戶界面。

圖7A、7B和7C是示出實現(xiàn)預(yù)測性用戶輔助的示例性移動設(shè)備的部件的框圖。

圖7D是示出示例性位置API的框圖。

圖8A是示出基于提示的位置確定的示例性過程的流程圖。

圖8B是示出自適應(yīng)位置集群的示例性過程的流程圖。

圖8C是示出確定日歷項的位置的示例性過程的流程圖。

圖8D是示出調(diào)用位置監(jiān)測API的示例性過程的流程圖。

圖9是示出預(yù)測未來位置的示例性過程的流程圖。

圖10是示出實現(xiàn)圖1-圖9的特征和操作的移動設(shè)備的示例性設(shè)備架構(gòu)的框圖。

圖11是實現(xiàn)圖1-圖9的特征和操作的移動設(shè)備的示例性網(wǎng)絡(luò)操作環(huán)境的框圖。

各附圖中的類似參考符號表示類似的元件。

具體實施方式

示例性預(yù)測性用戶輔助

圖1是示出預(yù)測性用戶輔助的示例性具體實施的示意圖。示例性移動設(shè)備102可利用移動設(shè)備102的歷史移動來預(yù)測移動設(shè)備102的未來位置。移動設(shè)備102隨后可調(diào)整移動設(shè)備102的行為以執(zhí)行特定于預(yù)測的未來位置的服務(wù)。

移動設(shè)備102可使用機器學(xué)習(xí)和數(shù)據(jù)挖掘技術(shù)來了解移動設(shè)備102的歷史移動。歷史移動可被記錄為由移動設(shè)備102訪問的重要位置和移動設(shè)備102在重要位置之間的移動。在以足夠的確定度確定移動設(shè)備102在某個地點或區(qū)域停留了足夠量的時間時,移動設(shè)備102可確定該地點或區(qū)域是重要位置。如果該時間量滿足各種標(biāo)準(zhǔn),例如,當(dāng)該時間量滿足時長閾值(例如,X小時)或頻率閾值(例如,每天X分鐘、每周Y天)時,該時間量就可為足夠的。移動設(shè)備102的移動的記錄可包括進入每個重要位置的測量或計算出的時間以及離開每個重要位置的測量或計算出的時間。重要位置可與多次進出相關(guān)聯(lián)。

除了重要位置之外,移動的記錄可包括重要位置之間的轉(zhuǎn)變。每次從第一重要位置轉(zhuǎn)變到第二重要位置可與指示移動設(shè)備102離開第一重要位置的時間的轉(zhuǎn)變開始時間戳以及指示移動設(shè)備102進入第二重要位置的時間的轉(zhuǎn)變結(jié)束時間戳相關(guān)聯(lián)。

移動設(shè)備102可將移動的記錄表示為狀態(tài)模型104。狀態(tài)模型104可包括多個狀態(tài)(例如,狀態(tài)106以及其他狀態(tài))和轉(zhuǎn)變(例如,轉(zhuǎn)變107以及狀態(tài)之間的其他轉(zhuǎn)變),每個狀態(tài)表示一個重要位置,每個轉(zhuǎn)變表示移動設(shè)備102在重要位置之間的一種移動。在下文中將參考圖2-圖5來描述確定狀態(tài)模型104的其他細(xì)節(jié)。

基于狀態(tài)模型104,移動設(shè)備102可確定(1)移動設(shè)備102在給定時間從給定重要位置移動到每個其他重要位置的轉(zhuǎn)變概率密度;或(2)移動設(shè)備102從先前未知或未呈現(xiàn)的位置進入重要位置的進入概率密度。移動設(shè)備102的模式分析器可使用狀態(tài)模型104來確定移動設(shè)備102的每天、每周、每月或每年移動模式。移動設(shè)備102的預(yù)測引擎可使用轉(zhuǎn)變概率密度(或進入概率密度)和移動模式來預(yù)報移動設(shè)備102未來將進入(或停留)的重要位置。移動設(shè)備102隨后可使用此預(yù)報來提供預(yù)測性用戶輔助,例如,以有助于用戶計劃未來事件。

在圖1的實施例中,移動設(shè)備102可使用移動設(shè)備102的位置確定子系統(tǒng)來確定當(dāng)前位置108。移動設(shè)備102可確定當(dāng)前時間110。基于當(dāng)前位置、當(dāng)前時間以及狀態(tài)模型104的概率和模式,移動設(shè)備102可確定移動設(shè)備102在未來某個給定時間的最有可能位置是狀態(tài)106所表示的重要位置。移動設(shè)備102隨后可執(zhí)行對應(yīng)于此重要位置或?qū)?yīng)于從當(dāng)前位置向此重要位置的轉(zhuǎn)變的用戶輔助功能。例如,在打開或者說是解鎖時,移動設(shè)備102可提供用于在移動設(shè)備102的顯示表面上顯示的警示112。警示112可包括用戶輔助信息116。用戶輔助信息116可包括例如從當(dāng)前位置到可能的未來位置的路線,以及該路線沿途的交通狀況。移動設(shè)備102可提供用于自動顯示的警示112和用戶輔助信息116,而無需請求用戶輸入有可能的未來位置來作為目的地。

在一些具體實施中,移動設(shè)備102可提供與有可能的未來位置相關(guān)聯(lián)的標(biāo)簽。標(biāo)簽可為由用戶預(yù)指定或由移動設(shè)備102通過反向地理編碼或通過對移動設(shè)備102的移動的語義分析確定的感興趣點的地址或名稱。例如,移動設(shè)備102可確定第一位置有可能是家而第二位置有可能是工作地。因此,在用戶輔助信息116中,移動設(shè)備102可使用詞語“家”和“工作地”。

示例性狀態(tài)模型構(gòu)造技術(shù)

圖2A是示出確定位置集群的示例性技術(shù)的示意圖。(圖1的)示例性移動設(shè)備102可使用學(xué)習(xí)技術(shù)來確定(圖1的)狀態(tài)模型104。

移動設(shè)備102可循時間(T)順序跟蹤位置數(shù)據(jù)。順序跟蹤位置數(shù)據(jù)可通過在另一應(yīng)用程序上捎帶來執(zhí)行,從而避免或降低位置數(shù)據(jù)收集成本。例如,移動設(shè)備102可在另一服務(wù)從移動設(shè)備102的位置確定子系統(tǒng)請求位置時,收集位置數(shù)據(jù)。因此,收集位置數(shù)據(jù)可以是“自由”的,而不必激活位置確定子系統(tǒng)來僅用于確定移動設(shè)備102的移動模式。

移動設(shè)備102可隨時間T推移收集位置202、204、206、208、210和212。收集這些位置可以是不間斷的操作??汕宄嬖跁r間長于指定時段的位置。該時段可通過用戶偏好或隱私策略來指定。位置202、204、206、208、210和212均可包括緯度、經(jīng)度和海拔坐標(biāo),并與指示收集到對應(yīng)位置的時間的時間戳相關(guān)聯(lián)。

移動設(shè)備102可確定位置202、204、206、208、210和212中的一些是屬于可指示重要位置的位置集群。在確定以下內(nèi)容時:(1)收集到至少一個預(yù)指定的閾值數(shù)量(例如,兩個)的連續(xù)位置;(2)連續(xù)位置的時間跨度滿足預(yù)指定的閾值時間窗口;以及(3)這些位置相同,從而指示移動設(shè)備102靜止,或者這些位置彼此足夠靠近,從而指示在收集位置時移動設(shè)備102是位于足夠小的限定區(qū)域內(nèi),移動設(shè)備102可確定位置集群形成。

例如,移動設(shè)備102可在確定兩個位置集群,即,隨時間T的位置集群218和位置集群220。位置集群218可包括在長于閾值時間窗口(例如,45分鐘的時間窗口)的時間段[T1,T2]內(nèi)收集到的位置202、204和206。在確定位置202、204和206的方差低至足以滿足方差閾值時,移動設(shè)備102可確定位置集群218包括位置202、204和206。同樣,位置集群220可包括在時間段[T3,T4]內(nèi)收集到的位置210和212。在確定位置210和212的方差滿足方差閾值時,移動設(shè)備102可確定位置集群220包括位置210和212。

異常值(outlier)檢測機制可過濾掉不屬于集群的位置。例如,移動設(shè)備102可確定位置208不同于位置206和位置210(例如,位置206與208之間的距離和位置208與位置210之間的距離超過閾值)。另外,移動設(shè)備102可確定沒有其他位置(1)在位置208之前或之后的閾值時間窗口內(nèi)被收集,并且(2)在地理上靠近位置208。作為響應(yīng),移動設(shè)備102可確定位置208是異常值并棄除位置208。另外,如果某時間段內(nèi)的某位置與該時間段內(nèi)的許多其他位置明顯不同,那么移動設(shè)備102可將此不同位置作為異常值棄除,并使用在該時間窗口中的其他位置來確定位置集群。移動設(shè)備102可使用位置集群218和220來確定重要位置和狀態(tài)模型104的狀態(tài)。

圖2B是示出基于提示的位置集群的示例性技術(shù)的示意圖。在一些具體實施中,用于確定位置集群的條件之一是連續(xù)位置的時間跨度滿足可變閾值時間窗口。該閾值可基于移動設(shè)備102是否具有位置重要性的提示而變化。

在各個時間,移動設(shè)備102可位于位置232、234和236。位置232、234和236可彼此遠(yuǎn)離,指示移動設(shè)備102正在移動。移動設(shè)備102可在連續(xù)的時間段內(nèi)位于位置240至248。位置240至248可相同或彼此足夠靠近。移動設(shè)備102可基于該時間段是否滿足可變閾值,確定該時間段是否長至足以使得位置240至248形成指示某重要位置的位置集群。移動設(shè)備102可使用各種提示來確定此可變閾值。

例如,移動設(shè)備102可搜索移動設(shè)備102先前訪問的位置。移動設(shè)備102可將指示移動設(shè)備102先前訪問了在位置240至248處或附近的位置的記錄指定為第一提示。移動設(shè)備102可檢查在移動設(shè)備102上執(zhí)行或通過該移動設(shè)備執(zhí)行的用戶搜索歷史。如果用戶先前已搜索該位置,那么移動設(shè)備102可將包括在位置240至248處或附近的地址或在位置240至248處或附近的商家的搜索查詢指定為第二提示。移動設(shè)備102可將用戶日歷中的在位置240至248處或附近的日歷項(例如,約會或會議)指定為第三提示。

在檢測一個或多個提示時,移動設(shè)備102可使用較短的時間段(例如,5分鐘)來作為用于確定位置集群或重要位置的閾值。更多提示可對應(yīng)于較短閾值。因此,當(dāng)滿足短時間閾值時,移動設(shè)備102可在檢測移動設(shè)備的位置242時確定重要位置。

如果未發(fā)現(xiàn)提示,那么移動設(shè)備102可使用較長的時間段(例如,20分鐘)來作為用于確定位置集群或重要位置的閾值。因此,在未發(fā)現(xiàn)提示的情況下,當(dāng)滿足長時間閾值時,移動設(shè)備102可在檢測移動設(shè)備102的位置246時確定重要位置。在任一種情況下,無論是否存在提示,移動設(shè)備102均可實時(例如,在位置收斂到集群中后的5分鐘或20分鐘)確定重要位置。

圖3A是示出基于位置集群來識別重要位置的示例性技術(shù)的示意圖。使用以上參考圖2所述的技術(shù),移動設(shè)備102可識別出位置集群218、220、302和303。移動設(shè)備102可基于位置集群218、220、302和303來確定重要位置304、306和308。

移動設(shè)備102可基于位置集群218、220、302和303,使用每個位置集群218、220、302和303中的位置來確定重要位置304、306和308中的每一個。確定重要位置304、306和308可基于具有恒定增益的遞歸濾波器。確定重要位置304、306和308的細(xì)節(jié)在下一段中提供。重要位置304、306和308中的每一個可包括緯度、經(jīng)度,以及可選地海拔坐標(biāo)。重要位置304、306和308中的每一個可與一個或多個位置集群相關(guān)聯(lián)。例如,在時間段[T1,T2]中,重要位置304可對應(yīng)于位置集群218,在時間段[T7,T8]中,可對應(yīng)于位置集群303。位置集群218和位置集群303中的位置可以相同。時間段[T1,T2]和時間窗口[T7,T8]的長度可相同或不同。

移動設(shè)備102可在時間T2具有初始狀態(tài)模型。在時間T2+k,移動設(shè)備102可接收漸進位置數(shù)據(jù),其中k是時間T2與接收到額外位置數(shù)據(jù)的時間之間的差值(在此示例中,k=T7-T2)。移動設(shè)備102可使用漸進位置數(shù)據(jù)來確定狀態(tài)模型中使用的重要位置304。移動設(shè)備102可確定位置集群218對應(yīng)于緯度和經(jīng)度坐標(biāo)X1。移動設(shè)備102可確定位置集群303對應(yīng)于緯度和經(jīng)度坐標(biāo)X2。移動設(shè)備102可確定X1與X2之間的距離滿足閾值。作為響應(yīng),移動設(shè)備102可確定位置集群218和位置集群303屬于相同位置(重要位置304)。移動設(shè)備102隨后可使用恒定增益濾波器向重要位置304添加位置集群303,如下在濾波器(1)中所示。

重要位置304、306和308中的每一個可與一個或多個進入時間戳以及一個或多個退出時間戳相關(guān)聯(lián)。每個進入時間戳可對應(yīng)于與位置集群中的第一位置相關(guān)聯(lián)的時間。例如,與重要位置304相關(guān)聯(lián)的第一進入時間戳可為與位置202相關(guān)聯(lián)的時間戳,該位置是位置集群218中的第一個位置。與重要位置304相關(guān)聯(lián)的第二進入時間戳可為與位置集群303中的第一位置相關(guān)聯(lián)的時間戳。同樣,每個退出時間戳可對應(yīng)于與位置集群中的最后一個位置相關(guān)聯(lián)的時間。例如,與重要位置304相關(guān)聯(lián)的第一退出時間戳可為與位置206相關(guān)聯(lián)的時間戳,該位置是位置集群218中的最后一個位置。與重要位置304相關(guān)聯(lián)的第二進入時間戳可為與位置集群303中的最后一個位置相關(guān)聯(lián)的時間戳。

重要位置304、306和308中的每一個可與標(biāo)簽相關(guān)聯(lián)。標(biāo)簽可由用戶指定(例如,“家”、“健身房”或“工作地”),或由移動設(shè)備102通過反向地理編碼自動確定。在一些具體實施中,標(biāo)簽可從對與重要位置相關(guān)聯(lián)的每個位置集群的一天中的某時和一周中的某日的模式的語義分析得出。該語義分析可基于人類的自然行為。移動設(shè)備102可編程以應(yīng)用反映人類行為的預(yù)定模式。該行為可包括例如每個人都需要睡一段時間。睡眠時間可為移動設(shè)備102完全靜止的時間。用戶每天睡8小時,并且在家里吃晚餐,那么他有可能平日在家耗時X小時(例如,10-12小時),周末在家耗時Y小時。用戶可從周一至周五在正常辦公時間內(nèi)工作。移動設(shè)備102可利用這些模式來將重要位置確定為“家”,在“家”時:(1)移動設(shè)備102每周花費比第一閾值小時數(shù)(例如,60小時)更多的時間;(2)移動設(shè)備102記錄大多數(shù)的進出情況;并且(3)這些進出情況指示移動設(shè)備每天停留至少第二閾值小時數(shù)(例如,8小時)。

例如,移動設(shè)備102可確定與重要位置304相關(guān)聯(lián)的每個位置集群對應(yīng)于指定為平日夜晚的時間段(例如,從晚上7:00至第二天早上8:00)。移動設(shè)備102隨后可將重要位置304指定為“家”,并將該指定內(nèi)容提供作為重要位置304的標(biāo)簽。

移動設(shè)備102可確定從一個重要位置到另一個重要位置的轉(zhuǎn)變。例如,移動設(shè)備102可確定,在給定的平日,移動設(shè)備102在時間T2與時間T3之間從重要位置304(“家”)轉(zhuǎn)變(312)到重要位置308(“工作地”)。移動設(shè)備102可將此轉(zhuǎn)變與轉(zhuǎn)變開始時間戳(例如,T2)和轉(zhuǎn)變結(jié)束時間戳(例如,T3)相關(guān)聯(lián)。移動設(shè)備102可基于重要位置304、306和308,以及轉(zhuǎn)變312、314和316來構(gòu)造狀態(tài)模型104。在下文中將參考圖4來描述狀態(tài)模型104的細(xì)節(jié)。

圖3B示出自適應(yīng)集群的示例性技術(shù)。(圖1的)移動設(shè)備102可在移動設(shè)備102使用基于位置的服務(wù)時,記錄移動設(shè)備102的位置。移動設(shè)備102可記錄位置和時間戳。移動設(shè)備102可基于所記錄的位置和時間戳來確定該位置在某時間段內(nèi)是否收斂至集群。例如,移動設(shè)備102可確定,移動設(shè)備102在給定時間(例如,晚上8:00)位于位置332,并且在另一時間(例如,晚上11:00)位于位置334。移動設(shè)備102可確定移動設(shè)備102的位置在晚上8:00與晚上11:00之間沒有移動遠(yuǎn)離位置332和334。移動設(shè)備102可確定位置332和334以及在晚上8:00與晚上11:00之間記錄的位置收斂到具有基于位置332和334之間的距離確定的大小的位置集群中。移動設(shè)備102可確定重要位置304具有對應(yīng)于該位置集群的大小的第一大小。

移動設(shè)備102可確定移動設(shè)備已轉(zhuǎn)變(335)至另一位置。移動設(shè)備102可確定,在總時間量超閾值時間的一個或多個時間段內(nèi),移動設(shè)備102位于位置336、338、340、342、344、346、348、350和352。所述時間段可包括例如,周一早上8:00至早上10:00、周二早上8:00至早上9:00和周三早上10:00至晚上12:00。與移動設(shè)備102在家里的客廳與臥室之間的移動相比,這些位置由于移動設(shè)備102在工作地的特征(包括停車場、辦公室、會議室和自助餐廳)之間移動,可比位置332和334更為“散開”。移動設(shè)備102可通過測量位置樣本中的各個位置間的偏差,確定位置336至352收斂到具有基于位置336至352之間的距離確定的大小的位置集群中。移動設(shè)備102可確定重要位置308具有對應(yīng)于該位置集群的大小的第二大小。第二大小可大于重要位置304的第一大小,這是因為位置336到352間的更大散度。

在一些具體實施中,移動設(shè)備102可將重要位置304和重要位置308與地圖數(shù)據(jù)匹配。例如,移動設(shè)備102可確定重要位置304與建筑354重合,如地圖數(shù)據(jù)所表示。作為響應(yīng),移動設(shè)備102可使重要位置304的形狀與建筑354的形狀一致。同樣,移動設(shè)備102可確定重要位置308匹配一組地理特征(包括停車場356、辦公室358、會議室360和自助餐廳362),如地圖數(shù)據(jù)所表示。作為響應(yīng),移動設(shè)備102可根據(jù)停車場356、辦公室358、會議室360和自助餐廳362的邊界框來確定重要位置的形狀。

圖4A是示出基于位置集群確定的示例性狀態(tài)模型104的示意圖。狀態(tài)模型104可為一階自回歸進程,其描繪了狀態(tài)以及狀態(tài)轉(zhuǎn)變,其中轉(zhuǎn)變?yōu)闋顟B(tài)q以先前狀態(tài)r為條件。狀態(tài)以及狀態(tài)轉(zhuǎn)變可為移動設(shè)備102在各重要位置間的移動的抽象表達(dá)。與常規(guī)的高斯-馬爾可夫模型相比,狀態(tài)模型104可為足夠的模型,其使用時間和持續(xù)時間的分布函數(shù)保留了狀態(tài)轉(zhuǎn)變的隨機性。

狀態(tài)模型104可包括狀態(tài)106、402和404。狀態(tài)106、402和404可分別對應(yīng)于重要位置304、308和306。移動設(shè)備102可基于位置集群218、220、302和303來確定重要位置304、308和306,如上文參考圖3所述。狀態(tài)106、402和404中的每一個可分別表示重要位置304、308和306。

狀態(tài)模型104可包括從每個狀態(tài)到每個其他狀態(tài)的多個轉(zhuǎn)變。這些轉(zhuǎn)變可包括例如從狀態(tài)106到狀態(tài)402的轉(zhuǎn)變406,以及從狀態(tài)106到狀態(tài)402的轉(zhuǎn)變408。在狀態(tài)模型104中,從狀態(tài)106到狀態(tài)402的每個轉(zhuǎn)變可對應(yīng)于從重要位置304的位置集群到重要位置308的位置集群的轉(zhuǎn)變。例如,轉(zhuǎn)變406可表示從重要位置304的位置集群218到重要位置308的位置集群220的轉(zhuǎn)變312。轉(zhuǎn)變408可表示從重要位置304的位置集群303到重要位置308的下一位置集群的轉(zhuǎn)變。

轉(zhuǎn)變406和408中的每一個可與轉(zhuǎn)變開始時間戳和轉(zhuǎn)變結(jié)束時間戳相關(guān)聯(lián)。每個轉(zhuǎn)變開始時間戳可為移動設(shè)備102離開狀態(tài)106表示的重要位置304的時間。例如,轉(zhuǎn)變406的轉(zhuǎn)變開始時間戳可為周二上午7:00;轉(zhuǎn)變408的轉(zhuǎn)變開始時間戳可為周三上午7:00。每個轉(zhuǎn)變結(jié)束時間戳可為移動設(shè)備102進入狀態(tài)402表示的重要位置308的時間。例如,轉(zhuǎn)變406的轉(zhuǎn)變結(jié)束時間戳可為周二上午9:00;轉(zhuǎn)變408的轉(zhuǎn)變結(jié)束時間戳可為周三上午9:00。

狀態(tài)模型104中的每個狀態(tài)可與一個或多個狀態(tài)進入時間戳以及一個或多個狀態(tài)退出時間戳相關(guān)聯(lián)。例如,狀態(tài)106的第一狀態(tài)進入時間戳可為與位于重要位置304的位置集群218中的移動設(shè)備102的第一位置(位置202)相關(guān)聯(lián)的時間。第一狀態(tài)退出時間戳可為與位于重要位置304的位置集群218中的移動設(shè)備102的最后一個位置(位置206)相關(guān)聯(lián)的時間。第一狀態(tài)進入時間戳和第一狀態(tài)退出時間戳可限定移動設(shè)備102停留在狀態(tài)106的第一停留時間412。狀態(tài)106的第二狀態(tài)進入時間戳可為與位于重要位置304的位置集群303中的移動設(shè)備102的第一位置相關(guān)聯(lián)的時間。第二狀態(tài)退出時間戳可為與重要位置304的位置集群303中的移動設(shè)備102的最后一個位置相關(guān)聯(lián)的時間。第二狀態(tài)進入時間戳和第二狀態(tài)退出時間戳可限定移動設(shè)備102停留在狀態(tài)106的第二停留時間414。

圖4B示出用于確定日歷項的位置的示例性技術(shù)。(圖1的)移動設(shè)備102可執(zhí)行日歷應(yīng)用程序,在日歷應(yīng)用程序中,用戶可為移動設(shè)備102指定日歷項以提供提示或警示。移動設(shè)備102可從用戶輸入或從應(yīng)用程序(例如,電子郵件程序)確定日歷項422、424和426。日歷項422、424和426中的每一個可與相應(yīng)的文本串相關(guān)聯(lián),例如,“雪松”、“紅杉”和“牙醫(yī)”。每一個文本串可為相應(yīng)日歷項的主題行或相應(yīng)日歷項的正文。日歷項422、424和426中的每一個可與一個相應(yīng)時間相關(guān)聯(lián),例如,周三早上9:00至早上10:30、周三早上11:00至中午12:00和周三下午2:00至下午3:30。移動設(shè)備102可對多個實例進行關(guān)聯(lián),以增加確定關(guān)聯(lián)正確的確定度。例如,日歷應(yīng)用程序可具有多個日歷項,包括指示會議室的字符串“紅杉”。移動設(shè)備102在如日歷項指示的時間可以或可以不始終在“紅杉”會議室中。通過對多個實例進行關(guān)聯(lián),移動設(shè)備102可確定被訪問最多次的位置是“紅杉”會議室的位置。

移動設(shè)備102可確定,在與日歷項422和424相關(guān)聯(lián)的某時間段內(nèi),移動設(shè)備102位于被指定為“工作地”的重要位置308,以及在與日歷項426相關(guān)聯(lián)的某時間段內(nèi),移動設(shè)備102位于被指定為“帕羅奧托”的重要位置428。因此,移動設(shè)備102可存儲與相應(yīng)位置相關(guān)聯(lián)的文本串“雪松”、“紅杉”和“牙醫(yī)”中的每一個。例如,移動設(shè)備102可在文本數(shù)據(jù)庫中存儲與重要位置308的地理坐標(biāo)相關(guān)聯(lián)的文本串“雪松”和“紅杉”中的每一個,并且存儲與重要位置428的地理坐標(biāo)相關(guān)聯(lián)的文本串“牙醫(yī)”。移動設(shè)備102可將所存儲的信息提供給位置服務(wù),以便提供各種用戶輔助。

例如,移動設(shè)備102可接收指定未來某個時間(例如,6個月后的給定某天的下午5:00)的日歷項。該日歷項可包括文本串“看牙醫(yī)”。移動設(shè)備102可確定此文本串匹配存儲在文本數(shù)據(jù)庫中的文本串。因此,移動設(shè)備102可確定,用戶有可能在給定那天的下午5:00訪問重要位置428。在那天,移動設(shè)備102可確定從移動設(shè)備102的位置到重要位置428的估計行進時間(例如,25分鐘)。因此,移動設(shè)備102可自動地提供警示,此警示在那天下午5:00前至少25分鐘顯示,并向用戶指示用戶應(yīng)按日歷項準(zhǔn)時啟程前往重要位置428。

圖5是示出狀態(tài)模型104的漸進變化的示意圖。狀態(tài)模型104可具有可變的拓?fù)浣Y(jié)構(gòu),以允許漸進地添加新的狀態(tài)和刪除廢棄狀態(tài)。

移動設(shè)備102可確定新狀態(tài)502。例如,移動設(shè)備102可確定一系列的位置讀數(shù)以足夠的確定度指示移動設(shè)備102停留在某個地點達(dá)足夠長久的持續(xù)時間,從而確定該地點是重要位置。移動設(shè)備102可確定該重要位置沒有表示在狀態(tài)模型104中。作為響應(yīng),移動設(shè)備102可創(chuàng)建新狀態(tài)502,并且將新狀態(tài)502添加(504)到狀態(tài)模型104。移動設(shè)備102可基于移動設(shè)備102在訪問狀態(tài)502之前訪問的最后一個重要位置來添加到狀態(tài)502的轉(zhuǎn)變。移動設(shè)備102可將狀態(tài)502與第一個位置讀數(shù)的狀態(tài)進入時間戳相關(guān)聯(lián),該第一個位置讀數(shù)指示移動設(shè)備102位于狀態(tài)502的重要位置。移動設(shè)備102可將狀態(tài)502與最后一個位置讀數(shù)的狀態(tài)退出時間戳相關(guān)聯(lián),該最后一個位置讀數(shù)指示在移動設(shè)備102進入另一重要位置前,移動設(shè)備102處于由狀態(tài)502表示的重要位置。移動設(shè)備102可基于移動設(shè)備102訪問并表示在狀態(tài)模型104中的下一重要位置來添加從狀態(tài)502的轉(zhuǎn)變。

除了添加狀態(tài)之外,移動設(shè)備102可周期性地從狀態(tài)模型104中刪除狀態(tài)。移動設(shè)備102可確定,在足夠長久的時間(例如,超過X天或周閾值)內(nèi),移動設(shè)備102沒有訪問由狀態(tài)404表示的重要位置。因此,移動設(shè)備102可將狀態(tài)404從狀態(tài)模型104中刪除(506)。刪除狀態(tài)404可包括刪除以狀態(tài)404為終點的轉(zhuǎn)變和以狀態(tài)404為起點的轉(zhuǎn)變。

移動設(shè)備102可使用狀態(tài)模型104來預(yù)測移動設(shè)備102的未來位置。預(yù)測未來位置可至少部分地基于移動設(shè)備102的當(dāng)前位置。當(dāng)前位置可為“處于某狀態(tài)”,其中當(dāng)前位置由狀態(tài)模型104中的狀態(tài)來表示。在確定該當(dāng)前位置處于某狀態(tài)時,移動設(shè)備102可基于在狀態(tài)之間的轉(zhuǎn)變概率密度來預(yù)測未來位置。當(dāng)前位置可為“在狀態(tài)外”,其中當(dāng)前位置不由狀態(tài)模型104中的狀態(tài)表示。在確定當(dāng)前位置在狀態(tài)外時,移動設(shè)備102可基于從當(dāng)前位置進入狀態(tài)模型104中的狀態(tài)的進入概率密度來預(yù)測未來位置。在下文中參考圖6A和圖6B描述關(guān)于確定轉(zhuǎn)變概率密度和進入概率密度的細(xì)節(jié)。

圖6A是示出確定示例性狀態(tài)106和402之間的轉(zhuǎn)變概率密度602的示意圖。轉(zhuǎn)變概率密度602可指示移動設(shè)備102從狀態(tài)模型104的狀態(tài)106轉(zhuǎn)變到狀態(tài)402的概率分布。在接收預(yù)測移動設(shè)備102的未來位置的請求時,移動設(shè)備102可確定轉(zhuǎn)變概率密度602。該請求可與當(dāng)前時間和未來時間相關(guān)聯(lián)。在當(dāng)前時間,移動設(shè)備102可位于對應(yīng)于狀態(tài)106的重要位置。未來時間可為某時間點或時間窗口。

轉(zhuǎn)變概率密度602可為在某時間段(例如,[Ta,Tb])內(nèi)的分布,其中Ta是該時間段的開始時間,Tb是該時間段的結(jié)束時間。時間段[Ta,Tb]可為預(yù)報窗口。在一些具體實施中,開始時間Ta可對應(yīng)于當(dāng)前時間、或具有偏差的當(dāng)前時間(例如,當(dāng)前時間之前或之后X分鐘);結(jié)束時間Tb可對應(yīng)于未來時間、或具有偏差的未來時間(例如,未來時間之前或之后Y分鐘)。在一些具體實施中,開始時間Ta和結(jié)束時間Tb可分別對應(yīng)于某個時間窗口(例如,一日或一周)的開始和結(jié)束。

移動設(shè)備102可基于移動設(shè)備102從狀態(tài)106到狀態(tài)402的歷史轉(zhuǎn)變來確定轉(zhuǎn)變概率密度602。在Ta與Tb之間的某個給定時間,(1)此給定時間在過去從狀態(tài)106到狀態(tài)402的更多轉(zhuǎn)變可對應(yīng)于更高的概率密度值;(2)對此給定時間在過去的轉(zhuǎn)變的更高確定度可對應(yīng)于更高的概率密度值;并且(3)此給定時間在過去的轉(zhuǎn)變的更穩(wěn)定模式可對應(yīng)于更高的概率密度值。

例如,t0對應(yīng)于早上8:00,t1對應(yīng)于下午3:00。在過去并如狀態(tài)模型104中所記錄,狀態(tài)106與狀態(tài)402之間在早上7:00與早上9:00之間發(fā)生X次轉(zhuǎn)變;在下午2:00與下午4:00之間發(fā)生Y次轉(zhuǎn)變。如果X大于Y,那么t0可對應(yīng)于相對較高的概率密度值604,而t1可對應(yīng)于相對較低的概率密度值606。

另外,轉(zhuǎn)變的確定度可為相關(guān)的。如果比起Y次轉(zhuǎn)變的轉(zhuǎn)變開始時間戳的平均時間與t1的接近程度,X次轉(zhuǎn)變的轉(zhuǎn)變開始時間戳的平均時間與t0的接近程度更高,那么t0可對應(yīng)于相對較高的概率密度值604,而t1可對應(yīng)于相對較低的概率密度值606。如果X次轉(zhuǎn)變的轉(zhuǎn)變開始時間戳的方差比Y次轉(zhuǎn)變的轉(zhuǎn)變開始時間戳的方差更小,那么t0可對應(yīng)于相對較高的概率密度值604,而t1可對應(yīng)于相對較低的概率密度值606。

另外,過去的轉(zhuǎn)變的模式的穩(wěn)定性可為相關(guān)的。移動設(shè)備102可基于時間來確定移動的模式。例如,移動設(shè)備102可基于狀態(tài)模型104中的轉(zhuǎn)變來確定移動設(shè)備102的移動遵循每周模式。平日,移動設(shè)備102在早上7:00與早上9:00之間從狀態(tài)106轉(zhuǎn)變到狀態(tài)402。周末,移動設(shè)備102在下午2:00與下午4:00之間從狀態(tài)106轉(zhuǎn)變到狀態(tài)402?;谶@種識別到的每周模式,移動設(shè)備102可在t0是在平日的情況下,為時間t0關(guān)聯(lián)相對較高的概率密度值604,或者在t0是在周末的情況下,為時間t0關(guān)聯(lián)相對較低的概率密度值。

轉(zhuǎn)變概率密度602可為離散的或連續(xù)的。在確定狀態(tài)模型104中的狀態(tài)之間的轉(zhuǎn)變概率密度602以及其他轉(zhuǎn)變密度概率時,移動設(shè)備102可確定移動設(shè)備102直接或間接地(例如,通過一個或多個中間狀態(tài))從當(dāng)前狀態(tài)(例如,狀態(tài)106)轉(zhuǎn)變到各個其他狀態(tài)的基于時間的可能性。移動設(shè)備102可基于當(dāng)前位置、未來時間和移動設(shè)備102轉(zhuǎn)變到各個狀態(tài)的概率來確定移動設(shè)備102的預(yù)測未來位置。

圖6B是示出確定示例性狀態(tài)106的進入概率密度620的示意圖。每個概率密度620可指示移動設(shè)備102從沒有表示在狀態(tài)模型104中的當(dāng)前位置進入狀態(tài)106的概率分布。在接收預(yù)測移動設(shè)備102的未來位置的請求時,移動設(shè)備102可確定進入概率密度620。該請求可與當(dāng)前時間和未來時間相關(guān)聯(lián)。在當(dāng)前時間,移動設(shè)備102可位于未被表示的當(dāng)前位置。未來時間可為某時間點或時間窗口。

進入概率密度620可為在某時間段(例如,[Tc,Td])內(nèi)的分布,其中Tc是該時間段的開始時間,Td是該時間段的結(jié)束時間。時間段[Tc,Td]可為預(yù)報窗口。在一些具體實施中,開始時間Tc可對應(yīng)于當(dāng)前時間、或具有偏差的當(dāng)前時間(例如,當(dāng)前時間之前或之后X分鐘);結(jié)束時間Td可對應(yīng)于未來時間、或具有偏差的未來時間(例如,未來時間之前或之后Y分鐘)。在一些具體實施中,開始時間Tc和結(jié)束時間Td可分別對應(yīng)于某個時間窗口(例如,一日或一周)的開始和結(jié)束。

移動設(shè)備102可基于移動設(shè)備102在狀態(tài)106的停留時間來確定進入概率密度620。停留時間(例如,停留時間412、414和622)可如上文參考圖4所述那樣確定。

在Tc與Td之間的某個給定時間,(1)移動設(shè)備102在此給定時間在過去在狀態(tài)106的更多次停留可對應(yīng)于更高的概率密度值;(2)對在過去進入狀態(tài)106的更高確定度可對應(yīng)于更高的概率密度值;并且(3)在過去進入狀態(tài)106的更穩(wěn)定模式可對應(yīng)于更高的概率密度值。

例如,t2對應(yīng)于早上10:00,t2對應(yīng)于下午3:00。在過去并如狀態(tài)模型104中由停留時間412、414和622所記錄,在X個場合下,移動設(shè)備102在時間t2位于狀態(tài)106;在Y個場合下,移動設(shè)備102在時間t3位于狀態(tài)106。如果X小于Y(例如,在這個示例中,X=2,Y=3),那么t2可對應(yīng)于相對較低的概率密度值624,而t3可對應(yīng)于相對較低的概率密度值626。

除此之外或作為另外一種選擇,移動設(shè)備102可基于從狀態(tài)模型104確定的狀態(tài)停留時間來確定移動設(shè)備102的位置遵循每周模式。例如,移動設(shè)備102可確定,停留時間414以及多個其他停留時間僅出現(xiàn)在平日,而停留時間412和622僅出現(xiàn)在周末?;谶@種識別到的每周模式,如果時間t2和時間t3屬于平日,那么移動設(shè)備102可將較低的概率密度值624關(guān)聯(lián)到時間t2并將較高的概率密度值624關(guān)聯(lián)到時間t3。移動設(shè)備102可將相等的概率密度值相關(guān)聯(lián)到屬于周末的時間t2和時間t3。

進入概率密度620可為離散的或連續(xù)的。在確定在狀態(tài)模型104中的狀態(tài)之間的進入概率密度620以及其他進入密度概率時,移動設(shè)備102可確定該移動設(shè)備直接或間接地(例如,通過一個或多個中間狀態(tài))從當(dāng)前位置進入各個其他狀態(tài)的基于時間的可能性。移動設(shè)備102可基于當(dāng)前位置、未來時間和移動設(shè)備102進入各個狀態(tài)的概率來確定移動設(shè)備102的預(yù)測未來位置。

移動設(shè)備102可在基于各種因素計算進入概率密度之前、期間或之后,從狀態(tài)模型104濾出狀態(tài)。將某個狀態(tài)濾出可包括在不從狀態(tài)模型104中刪除該狀態(tài)的情況下,防止該狀態(tài)被用于特定位置預(yù)測。用于將某個狀態(tài)濾出的因素可包括當(dāng)前位置與由該狀態(tài)在狀態(tài)模型104中表示的位置之間的距離。在確定移動設(shè)備102在預(yù)報時間窗口期間不可能從當(dāng)前位置到達(dá)該狀態(tài)的位置時,移動設(shè)備102可將該狀態(tài)濾出。移動設(shè)備可基于當(dāng)前時間與時間窗口的開始時間或結(jié)束時間之間的時間差,以及移動設(shè)備102的移動的預(yù)指定最大速度,來執(zhí)行過濾。

例如,移動設(shè)備102可確定當(dāng)前時間與預(yù)報時間窗口的結(jié)束時間Td之間的時間差為X小時。移動設(shè)備可確定當(dāng)前位置與由狀態(tài)106表示的重要位置之間的距離為Y千米?;陬A(yù)指定的Z千米每小時的最大速度,在確定X*Z<Y時,這指示移動設(shè)備102即使是以最大速度行進也無法在X小時內(nèi)到達(dá)狀態(tài)106表示的位置,因此移動設(shè)備102可將狀態(tài)106濾出。

圖6C示出用于顯示重要位置的示例性用戶界面604。用戶界面604可在移動設(shè)備102上顯示。用戶界面604可包括用于顯示重要位置(例如,由標(biāo)記608、610和612指示的重要位置)的地圖顯示。用戶界面604可包括搜索框614,用戶可在此搜索框中輸入對重要位置的搜索查詢。在所示實施例中,用戶輸入了日期/時間跨度查詢“2014年3月23日,我的位置”。此示例性查詢是請求搜索用戶在2014年3月23日訪問的重要位置。在接收發(fā)起某搜索的輸入(例如,選擇“搜索”按鈕)時,移動設(shè)備搜索重要位置數(shù)據(jù)存儲,確定在2014年3月23日訪問的重要位置,生成表示這些重要位置的標(biāo)記608、610和612,并在地圖上顯示標(biāo)記608、610和612。標(biāo)記608、610和612可具有不同大小,對應(yīng)于所表示的重要位置的不同大小。

示例性設(shè)備部件

圖7A為示出實現(xiàn)預(yù)測性用戶輔助的示例性移動設(shè)備102的部件的框圖。移動設(shè)備102中的每一個部件均可包括硬件和軟件部件。

移動設(shè)備102可包括狀態(tài)模型確定子系統(tǒng)702。狀態(tài)模型確定子系統(tǒng)702可為移動設(shè)備102的一個部件,其被編程為使用來自位置確定子系統(tǒng)704的位置數(shù)據(jù)來確定狀態(tài)模型(例如,狀態(tài)模型104)。位置數(shù)據(jù)可包括一系列的一個或多個位置讀數(shù),每個位置讀數(shù)均與時間戳相關(guān)聯(lián)。位置讀數(shù)可包括緯度、經(jīng)度,以及可選地海拔坐標(biāo)。

位置確定子系統(tǒng)704是移動設(shè)備102的一個部件,其被編程為使用衛(wèi)星導(dǎo)航系統(tǒng)(例如,GPS)、蜂窩通信系統(tǒng)(例如,通過使用蜂窩塔的三角測量)或無線接入網(wǎng)關(guān)(例如,通過使用已知接入點位置的三角測量)來確定移動設(shè)備102的位置。

移動設(shè)備102可包括一個或多個服務(wù)706。服務(wù)706可包括移動設(shè)備102的操作系統(tǒng)或一個或多個應(yīng)用程序的功能。服務(wù)706可從位置確定子系統(tǒng)704請求位置數(shù)據(jù)。該請求可激活位置確定子系統(tǒng)704。

狀態(tài)模型確定子系統(tǒng)702可被配置為在服務(wù)706激活位置確定子系統(tǒng)704時,讀出由位置確定子系統(tǒng)704提供的位置數(shù)據(jù)。通過位置確定子系統(tǒng)704的激活來觸發(fā)讀出位置數(shù)據(jù)能夠避免或盡量減少確定狀態(tài)模型的操作所耗費的電池電量?;谖恢脭?shù)據(jù),狀態(tài)模型確定子系統(tǒng)702可確定狀態(tài)模型并將狀態(tài)模型存儲在狀態(tài)模型數(shù)據(jù)庫708中。狀態(tài)模型數(shù)據(jù)庫708可包括在移動設(shè)備102上或在遠(yuǎn)離移動設(shè)備102的服務(wù)器上的存儲設(shè)備。

移動設(shè)備102可包括預(yù)報子系統(tǒng)710。預(yù)報子系統(tǒng)710是移動設(shè)備102的一個部件,其被配置為基于狀態(tài)模型數(shù)據(jù)庫708中存儲的狀態(tài)模型來確定移動設(shè)備102的預(yù)測未來位置。一個或多個服務(wù)712或其他服務(wù)714可從預(yù)報子系統(tǒng)710請求預(yù)報。該請求可與某個未來時間點或時間窗口相關(guān)聯(lián)。作為響應(yīng),預(yù)報子系統(tǒng)710可提供對應(yīng)于此未來時間或時間窗口的一個或多個預(yù)測未來位置。

圖7B是示出圖7A的示例性狀態(tài)模型確定子系統(tǒng)702的部件的框圖。狀態(tài)模型確定子系統(tǒng)702中的每一個部件均可包括硬件和軟件部件。

狀態(tài)模型確定子系統(tǒng)702可包括位置監(jiān)聽器720。位置監(jiān)聽器720是狀態(tài)模型確定子系統(tǒng)702的一個部件,其被配置為在被位置確定子系統(tǒng)704的激活觸發(fā)時,從位置確定子系統(tǒng)704讀出位置數(shù)據(jù)。在一些具體實施中,位置監(jiān)聽器720可被編程為周期性地激活位置確定子系統(tǒng)704來獲得位置數(shù)據(jù)。

位置監(jiān)聽器720可將從位置確定子系統(tǒng)704接收到的位置數(shù)據(jù)存儲到原始位置數(shù)據(jù)存儲722上。原始位置數(shù)據(jù)存儲722可為移動設(shè)備102的一個部件,其被編程為將原始位置數(shù)據(jù)存儲為來自位置確定子系統(tǒng)704的讀數(shù)。原始位置數(shù)據(jù)存儲722可施行持續(xù)策略,其中基于用戶請求或隱私策略在指定的持續(xù)時段后將原始位置數(shù)據(jù)清除。

狀態(tài)模型確定子系統(tǒng)702可包括抽象引擎724。抽象引擎724是狀態(tài)模型確定子系統(tǒng)702的一個部件,其被配置為訪問原始位置數(shù)據(jù)存儲722中存儲的位置數(shù)據(jù)?;诖宋恢脭?shù)據(jù),抽象引擎724可基于一個或多個預(yù)指定的條件來確定位置集群。這些條件可包括用于確立重要位置的最小位置數(shù)量(例如,2個)、閾值時間值窗口(例如,X分鐘的最小值)和異常值準(zhǔn)則。抽象引擎724可通過生成位置集群的抽象表達(dá)來確定所訪問的重要位置。抽象引擎724可將重要位置存儲在位置數(shù)據(jù)存儲726中。

位置數(shù)據(jù)存儲726是狀態(tài)模型確定子系統(tǒng)702的存儲設(shè)備,其被配置為存儲由抽象引擎724確定的重要位置。位置數(shù)據(jù)存儲726可施行持續(xù)策略,其中在指定的持續(xù)時段后將重要位置清除。位置數(shù)據(jù)存儲726的持續(xù)策略可不同于原始位置數(shù)據(jù)存儲722的持續(xù)策略。

狀態(tài)模型確定子系統(tǒng)702可包括狀態(tài)模型構(gòu)造引擎728。狀態(tài)模型構(gòu)造引擎728是狀態(tài)模型確定子系統(tǒng)702的一個部件,其被配置為從位置數(shù)據(jù)存儲726讀出重要位置并生成狀態(tài)模型104。另外,狀態(tài)模型構(gòu)造引擎728可被配置為通過添加和刪除狀態(tài)模型104的狀態(tài),來維護狀態(tài)模型104。

圖7C是示出圖7A的示例性預(yù)報子系統(tǒng)710的部件的框圖。預(yù)報子系統(tǒng)710中的每一個部件均可包括硬件和軟件部件。

預(yù)報子系統(tǒng)710可包括概率建模器740。概率建模器740是預(yù)報子系統(tǒng)710的一個部件,其被配置為基于狀態(tài)模型(例如,狀態(tài)模型104)的狀態(tài)和轉(zhuǎn)變,確定概率密度(例如,轉(zhuǎn)變概率密度602和進入概率密度620)。概率建模器740可確定在某個時間窗口內(nèi)轉(zhuǎn)變和進入的概率密度。

預(yù)報子系統(tǒng)710可包括模式分析器742。模式分析器742是預(yù)報子系統(tǒng)710的一個部件,其被配置為確定移動設(shè)備102在某個時間段內(nèi)的移動模式。該時間段可為一天、一周、一個月或一年。模式分析器742可基于狀態(tài)模型104的壽命來確定是否要基于一天、一周、一個月或一年來確定模式。例如,模式分析器742可確定狀態(tài)模型104是否滿足了壽命閾值(例如,包含至少X周的數(shù)據(jù))。

在確定狀態(tài)模型104滿足閾值時,模式分析器742可確定每周模型。每周模型可包括針對一周中的每日計算的概率分布,其中例如,周一的概率分布是獨立于周日的概率分布而確定。在確定狀態(tài)模型104不滿足閾值時,模式分析器742可確定每日模型。每日模型可包括針對一天中的每個小時計算的概率分布,其中例如,早上9:00至早上10:00的概率分布是獨立于下午5:00至下午6:00的概率分布而確定。

在一些具體實施中,模式分析器742可在確定移動設(shè)備102已移動到新地點時,確定每日模式。例如,模式分析器742可確定最后X個新狀態(tài)中的每一個與比最后X個新狀態(tài)更早的每個狀態(tài)之間的距離超過局部閾值(例如,Y千米),這指示移動設(shè)備102最近已行進到新位置(例如,到達(dá)度假地)。在確定時,模式分析器742可確定從最后X個狀態(tài)開始的每日模式。

預(yù)報子系統(tǒng)710可包括預(yù)測引擎744。預(yù)測引擎744是預(yù)報子系統(tǒng)710的一個部件,其被配置為接收當(dāng)前時間和當(dāng)前位置,并確定預(yù)報位置。預(yù)測引擎744可基于由概率建模器740提供的轉(zhuǎn)變和進入的概率密度,以及從模式分析器742提供的移動模式來確定移動設(shè)備102的預(yù)測位置。預(yù)測引擎744可基于概率密度和移動模式來識別多個候選未來位置。預(yù)測引擎744隨后可使用各種屬性對將候選未來位置進行排名。

預(yù)測引擎744用來對候選未來位置進行排名的屬性可包括對由某個狀態(tài)表示的候選未來位置的最后一次訪問,其中最近的訪問可與更高的排名相關(guān)聯(lián)。這些屬性可包括與候選位置相關(guān)聯(lián)的狀態(tài)的數(shù)據(jù)壽命,其中有較長數(shù)據(jù)歷史的狀態(tài)可與較高排名相關(guān)聯(lián)。這些屬性可包括與預(yù)報時間窗口相關(guān)聯(lián)的可能性,此可能性是基于當(dāng)前位置、該預(yù)報時間窗口的未來時間和該預(yù)報時間窗口的長度而確定。這些屬性可包括聚合停留時間,其中具有較長聚合停留時間的狀態(tài)可具有更高的排名。這些屬性可包括對候選位置的狀態(tài)的訪問次數(shù),其中對狀態(tài)的更多次訪問或更高頻次訪問可使其具有更高排名。預(yù)測引擎744可向預(yù)測引擎接口746提供一個或多個候選未來位置(包括排名最高的候選未來位置)作為預(yù)報。

預(yù)測引擎接口746可為移動設(shè)備102的一個部件,其被配置為實現(xiàn)對預(yù)測引擎744的應(yīng)用編程接口(API),使得符合此API的應(yīng)用程序、功能或設(shè)備可訪問預(yù)測引擎744確定的預(yù)報。在一些具體實施中,預(yù)測引擎接口746可包括與其他設(shè)備714(例如,外部顯示屏或GPS設(shè)備)的接口,并向其他設(shè)備714提供預(yù)報位置。

預(yù)報子系統(tǒng)710可包括語義分析器748。語義分析器748是預(yù)報子系統(tǒng)710的一個部件,其被配置為基于對各重要位置的訪問模式,確定這些重要位置的意義。語義分析器748可基于此意義來生成標(biāo)簽(例如,“工作地”或“家”),并將標(biāo)簽提供給將與預(yù)報相關(guān)聯(lián)的預(yù)測引擎接口746。

圖7D是示出示例性位置API的框圖。此API可在移動設(shè)備102上實現(xiàn)。此API可包括位置函數(shù)聲明760。位置函數(shù)聲明760可使用頭文件來實現(xiàn),例如,用面向?qū)ο蟮腃編程語言(例如Objective-C或C++)編寫的.h文件。

位置函數(shù)聲明760可包括開始監(jiān)測訪問函數(shù)聲明762和停止監(jiān)測訪問函數(shù)聲明764。聲明762和764中的每者可聲明相應(yīng)函數(shù)的名稱,該名稱指示了函數(shù)的操作。聲明762和764中的每者可聲明相應(yīng)函數(shù)的返回類型。聲明762和764中的每者可聲明相應(yīng)函數(shù)是類方法還是實例方法。例如,類方法可由函數(shù)名之前的加號(+)來表示。實例方法可由函數(shù)名之前的減號(-)來表示。聲明762和764中的每者可聲明相應(yīng)函數(shù)的參數(shù)。

這些函數(shù)可在位置函數(shù)庫766中定義。位置函數(shù)庫766可包括開始監(jiān)測訪問函數(shù)的定義768和停止監(jiān)測訪問函數(shù)的定義770。定義768和定義770中的每者均可包括用于開始和停止監(jiān)測位置訪問的編程指令。位置訪問可為包括到達(dá)某個位置和從該位置離開中的至少一者的事件。

應(yīng)用程序772可通過API來調(diào)用開始監(jiān)測訪問函數(shù)和停止監(jiān)測訪問函數(shù)。例如,應(yīng)用程序可被編程為通過包括用于編譯的頭文件來包括位置函數(shù)聲明760。應(yīng)用程序772可包括位置函數(shù)774。位置函數(shù)774可包括例如可操作來使移動設(shè)備102的處理器確定位置集群和重要位置的計算機指令。位置函數(shù)774可調(diào)用如位置函數(shù)聲明760中聲明并如位置庫766中定義的開始監(jiān)測訪問函數(shù)和停止監(jiān)測訪問函數(shù)。

示例性程序

圖8A是示出基于提示的位置確定的示例性過程800的流程圖。過程800可由包括一個或多個處理器的系統(tǒng)執(zhí)行。該系統(tǒng)可包括移動設(shè)備102。

該系統(tǒng)可確定(802)此移動設(shè)備的多個位置。每個位置可與指示該位置被位置確定子系統(tǒng)確定的時間的時間戳相關(guān)聯(lián)。這些位置可基于位置的時間戳按順序排序。確定這些位置可包括每次從位置確定子系統(tǒng)讀出位置(例如,緯度和經(jīng)度)。對位置確定子系統(tǒng)的每次讀出可由位置確定子系統(tǒng)的激活而被觸發(fā),位置確定子系統(tǒng)的激活是由請求基于位置的服務(wù)的應(yīng)用程序所導(dǎo)致。系統(tǒng)可通過使用統(tǒng)計濾波器刪除異常值來將位置從位置確定子系統(tǒng)濾出。

該系統(tǒng)可識別(804)指示該移動設(shè)備的用戶已表示有興趣在這些位置的至少一部分處或附近執(zhí)行一個或多個動作的提示。該提示可包括在移動設(shè)備上執(zhí)行的或通過移動設(shè)備檢測到的當(dāng)前動作、或在移動設(shè)備上執(zhí)行的或通過移動設(shè)備檢測到的動作的歷史記錄中的至少一者。

例如,該提示可包括當(dāng)前動作。當(dāng)前動作可包括由移動設(shè)備檢測到的指示用戶已進入或離開車輛的運動模式的變化。當(dāng)前動作可包括指示移動設(shè)備插入充電器中的電源插入事件。當(dāng)前動作可包括指示移動設(shè)備連接到有線或無線通信網(wǎng)絡(luò)的網(wǎng)絡(luò)握手。除此之外或作為另外一種選擇,提示可包括歷史記錄。歷史記錄可包括搜索記錄,搜索包括移動設(shè)備上的搜索輸入以及搜索結(jié)果,搜索結(jié)果包括地理位置的地址。歷史記錄可包括指示約會將在該地理位置處發(fā)生的日歷項。歷史記錄可包括指示移動設(shè)備建立了與位于該地理位置處的無線設(shè)備的無線連接的記錄。歷史記錄可包括指示移動設(shè)備已在該地理位置處插入充電設(shè)備或計算設(shè)備中的記錄。歷史記錄可包括移動設(shè)備在該地理位置處先前訪問的記錄。

該系統(tǒng)可確定(806)基于提示的閾值來識別位置集群,包括根據(jù)所識別的提示,減少用于建立該位置集群的預(yù)指定的時間閾值。

該系統(tǒng)可確定(808),在確定已排序位置中的一組連續(xù)位置間的時間差長于基于提示的時間閾值時,這組連續(xù)位置形成位置集群。位置集群可指示移動設(shè)備在某個地理位置停留足夠長久以指示對用戶來說的重要位置。確定連續(xù)位置形成位置集群可在移動設(shè)備移動進出該地理位置時實時發(fā)生,或者以批處理模式進行,例如,每天早上2:00進行一次。

該系統(tǒng)可將重要位置存儲(810)在移動設(shè)備上,并與重要位置的標(biāo)簽相關(guān)聯(lián)。該系統(tǒng)可將重要位置指定為狀態(tài)模型中的狀態(tài),用以估計用戶在未來可能移動到的地點,并且根據(jù)所估計的地點提供預(yù)測性用戶輔助。狀態(tài)模型可將移動設(shè)備從第一重要位置向第二重要位置的每次移動表示為從表示第一重要位置的第一狀態(tài)到表示第二重要位置的第二狀態(tài)的轉(zhuǎn)變。該轉(zhuǎn)變與轉(zhuǎn)變開始時間和轉(zhuǎn)變結(jié)束時間相關(guān)聯(lián)。

該系統(tǒng)可將狀態(tài)模型提供給移動設(shè)備的預(yù)報子系統(tǒng),以便生成如下預(yù)報:移動設(shè)備在某個給定的未來時間的未來位置是表示在狀態(tài)模型中的重要位置中的一個。該預(yù)報可基于當(dāng)前時間、未來時間、當(dāng)前位置和基于狀態(tài)模型的狀態(tài)和轉(zhuǎn)變所確定的概率密度函數(shù)。該系統(tǒng)可基于移動設(shè)備的歷史移動模式,預(yù)測移動設(shè)備在未來某個時間將移動到此重要位置。

圖8B是示出自適應(yīng)位置集群的示例性過程820的流程圖。過程820可由包括一個或多個處理器的系統(tǒng)執(zhí)行。該系統(tǒng)可包括移動設(shè)備102。

該系統(tǒng)可確定(822)在預(yù)指定的收斂閾值量的時間(例如,5小時)內(nèi)記錄的移動設(shè)備的一系列的位置收斂到位置集群中。位置集群可指示該位置集群的地理位置對移動設(shè)備的用戶來說是重要位置。移動設(shè)備的這一系列位置可在多時間段內(nèi)被記錄,例如,平日每天早上7:00-8:00,其中每一個時間段與另一個時間段分離。只要時間段的總時間量在相加后滿足預(yù)指定的收斂閾值量的時間,那么該系統(tǒng)就可進入下一階段操作。

該系統(tǒng)可確定(824)位置集群中的位置的收斂速率,收斂速率指示這些位置多快被集群在一起。確定收斂速率可實時發(fā)生,并包括使用在目前的時間段和每個先前的時間段中記錄的位置來確定收斂速率。確定該系列位置收斂到位置集群中可包括確定指示進入該位置集群的初始位置X[0]。該系統(tǒng)隨后可接收一系列的后續(xù)位置X[1],X[2]...X[n]。該系統(tǒng)可使用被配置為濾出過于遠(yuǎn)離已在位置集群中的位置的異常值的統(tǒng)計濾波器,來確定每個相應(yīng)后續(xù)位置是否包括在該位置集群中。該統(tǒng)計濾波器可包括一種類型的卡爾曼濾波器。在確定后續(xù)位置的至少一部分被包括在位置集群中時,該系統(tǒng)可確定該系列的位置收斂到該位置集群中。確定收斂速率包括例如通過計算該位置的標(biāo)準(zhǔn)偏差std(X[0],X[1]...X[n])來確定位置集群中位置間的統(tǒng)計偏差。

該系統(tǒng)可基于收斂速率確定(826)該位置集群的尺寸。例如,收斂速率越高(標(biāo)準(zhǔn)偏差越小所指示)可對應(yīng)于尺寸越小。在確定該位置集群的尺寸之后,該系統(tǒng)可根據(jù)移動設(shè)備的另外的位置來調(diào)整尺寸。另外的位置間的收斂性增大可減小該位置集群的尺寸。

該系統(tǒng)可存儲(828)與位置集群相關(guān)聯(lián)的尺寸。在一些具體實施中,該系統(tǒng)可將重要位置指定為狀態(tài)模型中的狀態(tài),用以估計用戶將來可能移至的地點,并且根據(jù)所估計的地點提供預(yù)測性用戶輔助。該重要位置可與位置集群的尺寸相關(guān)聯(lián),并且可通過具有對應(yīng)于該位置集群的尺寸的顯示尺寸的標(biāo)記表示在虛擬地圖中。確定收斂速率、確定位置集群的尺寸以及將重要位置指定為狀態(tài)模型中的狀態(tài)可在移動設(shè)備確定并記錄該移動設(shè)備的位置時實時發(fā)生。在各種具體實施中,該系統(tǒng)可從地圖數(shù)據(jù)中識別街道。街道可具有與重要位置匹配的位置,并且具有與位置集群的尺寸匹配的尺寸。該系統(tǒng)可使重要位置與街道吻合,包括將街道的形狀指定為重要位置的形狀。

圖8C是示出確定日歷項的位置的示例過程840的流程圖。過程840可由包括一個或多個處理器的系統(tǒng)執(zhí)行。該系統(tǒng)可包括移動設(shè)備102。

該系統(tǒng)可從日歷管理應(yīng)用程序接收(842)日歷項的記錄。該記錄可包括描述日歷項的事件和該事件的時間規(guī)范的文本串。文本串可包括日歷項的主題行或日歷項的文本正文。

該系統(tǒng)可確定(844)重要位置與日歷項之間的地理重疊。確定地理重疊可包括確定移動設(shè)備在時間規(guī)范中指定的時間停留在移動設(shè)備的用戶的重要位置處。重要位置可包括被估計為對移動設(shè)備的用戶具有重要意義的位置。重要位置可使用如從歷史數(shù)據(jù)檢測到的移動設(shè)備的位置集群來確定。確定移動設(shè)備停留在重要位置可包括確定移動設(shè)備位于位置群集中至少閾值量的時間。位置集群可包括移動設(shè)備由統(tǒng)計濾波器過濾的檢測到的位置。作為響應(yīng),該系統(tǒng)可基于位置集群確定重要位置。

響應(yīng)于確定地理重疊,該系統(tǒng)可將文本串與重要位置相關(guān)聯(lián)(846)。將主題本文與重要位置相關(guān)聯(lián)可包括將與重要位置相關(guān)聯(lián)的文本串存儲在存儲設(shè)備上。將主題本文與重要位置相關(guān)聯(lián)可包括將主題文本與日歷應(yīng)用程序中的重要位置相關(guān)聯(lián)。

該系統(tǒng)可在第二日歷項的時間規(guī)范中指定的時間前,提供(848)對應(yīng)于日歷管理應(yīng)用程序的第二日歷項的重要位置的基于位置的服務(wù)。該系統(tǒng)可在確定第二日歷項包括文本串中的至少一個項時,提供基于位置的服務(wù)。提供基于位置的服務(wù)可在使用在第二日歷項的時間規(guī)范中指定的時間減去從當(dāng)前位置到重要位置的估計行進時間來確定的時間發(fā)生。

在一些具體實施中,基于位置的服務(wù)可包括確定日歷項在與該用戶的日常事務(wù)相關(guān)聯(lián)的一組位置外。日常事務(wù)可包括用戶在某天的各個時間位于每個位置處的一組相應(yīng)可能性值。響應(yīng)于確定日歷項在該組位置外,該系統(tǒng)可將預(yù)測性用戶輔助模型從基于日常事務(wù)(例如,工作地)的模型切換至基于重要位置(例如,加利福尼亞州東帕羅奧托市的度假勝地)的模型。

在一些具體實施中,基于位置的服務(wù)可包括確定用戶將在第二日歷項的時間規(guī)范中指定的時間訪問第二位置。作為響應(yīng),該系統(tǒng)可在用戶訪問第二位置前向該用戶提供警示。例如,移動設(shè)備可基于該移動設(shè)備的傳感器的讀數(shù)來確定該移動設(shè)備的運輸模式,例如步行、騎車、駕車或搭乘公共交通系統(tǒng)。接著,該移動設(shè)備可確定對應(yīng)于運輸模式的行進時間,并且提供對應(yīng)于行進時間的警示。在一些具體實施中,該移動設(shè)備可從移動設(shè)備或從服務(wù)器接收運動分類器,該運動分類器指示移動設(shè)備正以特定模式行進。該移動設(shè)備可使用運輸模式作為上下文信息來對分類器進行重新分類。因此,該移動設(shè)備可使用上下文信息濾出對某個運動錯誤分類的一個或多個運動分類器。

圖8D是示出調(diào)用位置監(jiān)測API的示例過程860的流程圖。過程860可由包括一個或多個處理器的移動設(shè)備執(zhí)行。移動設(shè)備可為圖1的移動設(shè)備102。

該移動設(shè)備可接收(862)輸入。該輸入可請求移動設(shè)備監(jiān)測移動設(shè)備的位置,以確定移動設(shè)備在某個位置停留的時間長度。在確定該時間長度滿足可配置的閾值時,該移動設(shè)備可確定該位置對該移動設(shè)備的用戶來說是重要位置。

響應(yīng)于該輸入,該移動設(shè)備可通過API監(jiān)測(864)位置。監(jiān)測位置可包括調(diào)用位置管理器類的對象的開始監(jiān)測實例函數(shù)(也被稱為開始監(jiān)測實例方法)。開始監(jiān)測實例函數(shù)可在API中聲明,并且被配置為執(zhí)行記錄在這些位置處檢測到的移動設(shè)備的訪問這些動作。每個所檢測到的訪問可與移動設(shè)備訪問的位置的一組相應(yīng)地理坐標(biāo)相關(guān)聯(lián)。記錄檢測到的訪問可包括將檢測到的訪問作為數(shù)據(jù)對象存儲在存儲設(shè)備上,或發(fā)送預(yù)指定函數(shù)的訪問回調(diào)函數(shù)以通知檢測到的訪問的某個方面的預(yù)指定函數(shù)。檢測到的訪問的該方面可包括移動設(shè)備到達(dá)某個位置或移動設(shè)備離開該位置中的至少一者。

在一些具體實施中,可將每個所檢測到的訪問記錄為位置訪問類的對象,該對象具有存儲該訪問開始日期的到達(dá)日期屬性、存儲該訪問結(jié)束日期的離開日期屬性、存儲移動設(shè)備訪問的區(qū)域的中心的地理坐標(biāo)的坐標(biāo)屬性以及存儲所訪問的區(qū)域的估計半徑的水平精度屬性。該位置訪問類的對象可在類聲明中指定,以符合安全編碼協(xié)議和復(fù)制協(xié)議,安全編碼協(xié)議和復(fù)制協(xié)議中的每者限定該對象向另一對象發(fā)送消息的方式。

響應(yīng)于觸發(fā)事件,該移動設(shè)備可停止(866)監(jiān)測。停止監(jiān)測可包括調(diào)用該對象的停止監(jiān)測實例函數(shù)(也被稱為停止監(jiān)測實例方法)。停止監(jiān)測實例函數(shù)可在API中聲明,并且可操作來使該位置管理器類的對象停止記錄訪問。該觸發(fā)事件可包括用戶輸入、暫停事件或中斷事件。

開始監(jiān)測實例函數(shù)和停止監(jiān)測實例函數(shù)中的每者可為異步函數(shù),該異步函數(shù)被調(diào)用時執(zhí)行其相應(yīng)操作,而不需要調(diào)用程序在執(zhí)行其他動作前等待結(jié)果。開始監(jiān)測實例函數(shù)和停止監(jiān)測實例函數(shù)中的每者與API中的編譯器提示相關(guān)聯(lián)。編譯器提示指示API的操作系統(tǒng)的兼容版本。

該移動設(shè)備可向位置消費方提供(868)所記錄的訪問。位置消費方可為重要位置確定引擎,用于使用所記錄的訪問中的各組地理坐標(biāo)確定重要位置的位置坐標(biāo)以及重要位置的尺寸。

該API可以面向?qū)ο蟮木幊陶Z言(例如,頭文件中的Objective-C或C++編程語言)定義。開始監(jiān)測實例函數(shù)可在API中被聲明為具有startMonitoringVisits的名稱和void類型。停止監(jiān)測實例函數(shù)可在API中被聲明為具有stopMonitoringVisits的名稱和void類型。相應(yīng)實例函數(shù)的每個名稱可為使用API編程的開發(fā)人員指示該相應(yīng)函數(shù)的底層運算。API的偽代碼在以下列表1中提供。

@interface LocationManager(LocationVisitExtensions)

/*startMonitoringVisits

*開始監(jiān)測訪問。應(yīng)用程序分配的所有LocationManagers

*可將所檢測到的訪問遞送至其委托。遞送過程可

*持續(xù)進行,直到將-stopMonitoringVisits發(fā)送到任一此類LocationManager,

*甚至跨過應(yīng)用程序重啟事件。

*可將所檢測到的訪問發(fā)送到委托的-locationManager:didVisit:

*方法。*/

-(void)startMonitoringVisits COMPILER_HINT(OS_VERSION);

/*stopMonitoringVisits

*停止監(jiān)測訪問。要恢復(fù)訪問監(jiān)測,發(fā)送

*-startMonitoringVisits。

*停止和開始可為異步操作,并且可能會或可能不會

*即刻反映在委托回調(diào)模式中。*/

-(void)stopMonitoringVisits COMPILER_HINT(OS_VERSION);

@end

/*LocationVisit

*此類的一個實例可表示可能的開放式事件,

*移動設(shè)備在該事件期間位于指定坐標(biāo)處。*/

COMPILER_HINT(OS_VERSION)

@interface LocationVisit:Object<SecureCoding,Copying>

/*arrivalDate-訪問開始的日期(包括時間)。如果實際到達(dá)日期不可用,

*則該值可等于[Date_Distant_Past]。*/

@property(nonatomic,readonly,copy)Date*arrivalDate;

/*departureDate–訪問結(jié)束的日期。如果移動設(shè)備仍未離開位置,

*則該值可等于[Date_Distant_Future]。*/

@property(nonatomic,readonly,copy)Date*departureDate;

/*coordinate-移動設(shè)備正在訪問的區(qū)域的中心。*/

@property(nonatomic)LocationCoordinate2D coordinate;

/*horizontalAccuracy-移動設(shè)備正在訪問的區(qū)域的半徑估計(如,以米為單位)。*/

@property(nonatomic)CLLocationAccuracy horizontalAccuracy;@end

列表1:位置API

圖9是示出預(yù)測未來位置的示例過程900的流程圖。過程900可由移動設(shè)備102例如使用移動設(shè)備102的預(yù)報子系統(tǒng)710執(zhí)行。

移動設(shè)備102可從聯(lián)接到移動設(shè)備102的存儲設(shè)備(例如,狀態(tài)模型數(shù)據(jù)庫708)接收(902)狀態(tài)模型。該狀態(tài)模型可包括多個狀態(tài)和這些狀態(tài)之間的轉(zhuǎn)變。每個狀態(tài)可對應(yīng)于一個位置。從第一狀態(tài)至第二狀態(tài)的每個轉(zhuǎn)變可指示移動設(shè)備102過去從對應(yīng)第一位置移動至對應(yīng)第二位置。每個位置和轉(zhuǎn)變可與一個或多個時間戳相關(guān)聯(lián)。

移動設(shè)備102可從應(yīng)用程序或設(shè)備接收(904)對移動設(shè)備102的未來位置進行預(yù)測的請求。該請求可指定移動設(shè)備102的未來時間和任選的當(dāng)前位置。未來時間可包括未來的某個時間點或未來的某個時間窗口。

移動設(shè)備102可使用該移動設(shè)備的當(dāng)前時間、未來時間和當(dāng)前位置作為輸入,來確定(906)與狀態(tài)模型中的每個狀態(tài)相關(guān)聯(lián)的概率。如果該請求不包括當(dāng)前位置,則移動設(shè)備102可使用位置確定子系統(tǒng)704來確定當(dāng)前位置。移動設(shè)備102可基于狀態(tài)、轉(zhuǎn)變和相關(guān)聯(lián)的時間戳來確定概率。這些概率可指示移動設(shè)備102將位于對應(yīng)于未來時間的某個狀態(tài)的每個相應(yīng)位置的可能性。

確定(906)與每個狀態(tài)相關(guān)聯(lián)的概率可包括確定當(dāng)前位置在狀態(tài)中,其中當(dāng)前位置表示為狀態(tài)模型中的狀態(tài)。確定每個狀態(tài)的概率可包括確定移動設(shè)備102從表示當(dāng)前位置的狀態(tài)移動至對應(yīng)于一個或多個轉(zhuǎn)變中的狀態(tài)的位置的轉(zhuǎn)變概率密度。轉(zhuǎn)變概率密度可滿足馬爾可夫過程的屬性。確定轉(zhuǎn)變概率密度可基于狀態(tài)之間的轉(zhuǎn)變以及與每個轉(zhuǎn)變相關(guān)聯(lián)的轉(zhuǎn)變開始時間戳和轉(zhuǎn)變結(jié)束時間戳。

確定(906)與每個狀態(tài)相關(guān)聯(lián)的概率可包括確定當(dāng)前位置在狀態(tài)外,其中當(dāng)前位置未表示為狀態(tài)模型中的狀態(tài)。確定與每個狀態(tài)相關(guān)聯(lián)的概率可包括確定移動設(shè)備102進入對應(yīng)于來自狀態(tài)外的當(dāng)前位置的每個狀態(tài)的位置的進入概率密度。確定進入概率密度可基于移動設(shè)備102在每個狀態(tài)的停留時間。移動設(shè)備102可基于與相應(yīng)狀態(tài)相關(guān)聯(lián)的一個或多個進入時間戳以及一個或多個離開時間戳來確定停留時間。

在一些具體實施中,確定(906)與每個狀態(tài)相關(guān)聯(lián)的概率可基于每天、每周、每月或每年模式。移動設(shè)備102可確定狀態(tài)模型是否滿足壽命閾值(例如,X周)。在確定狀態(tài)模型滿足壽命閾值時,移動設(shè)備102可確定第一活動模式。第一活動模式可對應(yīng)于第一時間跨度(例如,一周)。另選地,在確定狀態(tài)模型不滿足壽命閾值時,移動設(shè)備102可確定第二活動模式。第二活動模式可對應(yīng)于第二時間跨度(例如,一天)。第一時間跨度可長于第二時間跨度。移動設(shè)備102可基于當(dāng)前時間、未來時間以及第一活動模式或第二活動模式來確定概率。接著,移動設(shè)備102可基于當(dāng)前時間、未來時間以及第一活動模式或第二活動模式來確定將每個狀態(tài)相關(guān)聯(lián)的概率。

在一些具體實施中,移動設(shè)備102可基于當(dāng)前位置與狀態(tài)模型中表示的每個位置之間的距離以及當(dāng)前時間與未來時間之間的差值來過濾狀態(tài)模型中的狀態(tài)。移動設(shè)備102可濾出在給定時間差并且給定移動設(shè)備102的移動速度的情況下,移動設(shè)備102從當(dāng)前位置達(dá)到該狀態(tài)的可能性落到閾值以下的狀態(tài)。

基于概率,移動設(shè)備102可響應(yīng)于請求來提供(908)與狀態(tài)相關(guān)聯(lián)的至少一個位置作為移動設(shè)備102的預(yù)測未來位置。在一些具體實施中,提供位置作為預(yù)測未來位置可包括識別與最高概率相關(guān)聯(lián)的狀態(tài),并且將與最高概率相關(guān)聯(lián)的狀態(tài)所關(guān)聯(lián)的位置指定為預(yù)測未來位置。在一些具體實施中,提供位置作為預(yù)測未來位置可包括基于概率和一個或多個預(yù)測屬性來對狀態(tài)進行排名,并且將與最高排名相關(guān)聯(lián)的位置指定為預(yù)測未來位置。

預(yù)測屬性可包括對每個對應(yīng)位置進行最后一次訪問的時間。預(yù)測屬性可包括基于當(dāng)前位置、當(dāng)前時間和預(yù)測窗口長度得出的預(yù)測窗口的可能性。預(yù)測屬性可包括狀態(tài)模型的臨時長度。預(yù)測屬性可包括每個狀態(tài)處的聚合停留時間。預(yù)測屬性可包括每個狀態(tài)處的訪問次數(shù)。

在一些具體實施中,移動設(shè)備102可確定狀態(tài)模型的數(shù)據(jù)密度滿足稀疏模型閾值。作為響應(yīng),移動設(shè)備102可確定在稀疏操作模式中與每個狀態(tài)相關(guān)聯(lián)的概率。在稀疏操作模式中,概率密度的計算和排名可以不如正常操作模式的計算和排名那樣嚴(yán)格的方式來執(zhí)行。

示例性移動設(shè)備架構(gòu)

圖10是示出實現(xiàn)基于分類的地理圍欄的特征和操作的移動設(shè)備的示例性設(shè)備架構(gòu)1000的框圖。移動設(shè)備(例如,移動設(shè)備102)可包括存儲器接口1002、一個或多個數(shù)據(jù)處理器、圖像處理器和/或處理器1004以及外圍設(shè)備接口1006。存儲器接口1002、一個或多個處理器1004和/或外圍設(shè)備接口1006可為獨立組件,或者可集成到一個或多個集成電路中。處理器1004可包括應(yīng)用處理器、基帶處理器和無線處理器。移動設(shè)備102中的各組件(例如)可由一條或多條通信總線或信號線聯(lián)接。

可將傳感器、設(shè)備和子系統(tǒng)聯(lián)接到外圍設(shè)備接口1006,以方便多個功能。例如,可將運動傳感器1010、光傳感器1012和接近傳感器1014聯(lián)接到外圍設(shè)備接口1006,以方便移動設(shè)備的取向、照明和接近功能。可將位置處理器1015(如GPS接收器)連接到外圍設(shè)備接口1006,以提供地理定位。也可將電子磁力計1016(如集成電路芯片)連接到外圍設(shè)備接口1006,以提供可用于確定磁北方向的數(shù)據(jù)。因而,電子磁力計1016可用作電子羅盤。運動傳感器1010可包括被配置成確定移動設(shè)備移動速度和方向變化的一個或多個加速計。氣壓計1017可包括連接到外圍設(shè)備接口1006并被配置成測量移動設(shè)備周圍的大氣壓力的一個或多個設(shè)備。

可利用照相機子系統(tǒng)1020和光學(xué)傳感器1022(如電荷耦合設(shè)備(CCD)或互補金屬氧化物半導(dǎo)體(CMOS)光學(xué)傳感器)來方便照相機功能,諸如記錄照片和視頻剪輯。

可通過一個或多個無線通信子系統(tǒng)1024來方便通信功能,所述無線通信子系統(tǒng)可包括射頻接收器與發(fā)射器和/或光學(xué)(如紅外線)接收器與發(fā)射器。通信子系統(tǒng)1024的具體設(shè)計與實現(xiàn)可取決于移動設(shè)備打算通過其操作的通信網(wǎng)絡(luò)。例如,移動設(shè)備可包括被設(shè)計用于通過GSM網(wǎng)絡(luò)、GPRS網(wǎng)絡(luò)、EDGE網(wǎng)絡(luò)、Wi-FiTM或WiMAXTM網(wǎng)絡(luò)以及BluetoothTM網(wǎng)絡(luò)操作的通信子系統(tǒng)1024。具體地講,無線通信子系統(tǒng)1024可包括主機協(xié)議使得移動設(shè)備可被配置為其他無線設(shè)備的基站。

可將音頻子系統(tǒng)1026聯(lián)接到揚聲器1028和麥克風(fēng)1030,以方便啟用語音的功能,諸如語音識別、語音復(fù)制、數(shù)字記錄和電話功能。音頻子系統(tǒng)1026可被配置為從用戶接收語音命令。

I/O子系統(tǒng)1040可包括觸摸表面控制器1042和/或其他輸入控制器1044??蓪⒂|摸表面控制器1042聯(lián)接到觸摸表面1046或墊片。觸摸表面1046和觸摸表面控制器1042可(例如)利用多種觸敏技術(shù)中的任一種來檢測接觸和運動或其中斷,所述觸敏技術(shù)包括但不限于電容性、電阻性、紅外線和表面聲波技術(shù),以及用于確定與接觸表面1046接觸的一個或多個點的其他接近傳感器陣列或其他元件。觸摸表面1046可包括例如觸摸屏。

可將其他輸入控制器1044聯(lián)接到其他輸入/控制設(shè)備1048,諸如一個或多個按鈕、搖臂開關(guān)、拇指滾輪、紅外線端口、USB端口和/或指針設(shè)備諸如觸控筆。所述一個或多個按鈕(未示出)可包括用于揚聲器1028和/或麥克風(fēng)1030的音量控制的增大/減小按鈕。

在一個具體實施中,按下該按鈕達(dá)第一持續(xù)時間可使觸摸表面1046解除鎖定,按下該按鈕達(dá)第二持續(xù)時間(長于第一持續(xù)時間)可打開或關(guān)閉移動設(shè)備102的電源。用戶能夠?qū)σ粋€或多個按鈕的功能進行自定義。例如,也可使用觸摸表面1046實現(xiàn)虛擬或軟按鈕和/或鍵盤。

在一些具體實施中,移動設(shè)備102可顯示記錄的音頻和/或視頻文件,諸如MP3、AAC和MPEG文件。在一些具體實施中,移動設(shè)備102可包括MP3播放器的功能。移動設(shè)備102因此可包括與iPod兼容的針腳連接器。也可使用其他輸入/輸出和控制設(shè)備。

可將存儲器接口1002聯(lián)接到存儲器1050。存儲器1050可包括高速隨機存取存儲器和/或非易失性存儲器,諸如一個或多個磁盤存儲設(shè)備、一個或多個光學(xué)存儲設(shè)備,和/或閃存存儲器(如NAND、NOR)。存儲器1050可存儲操作系統(tǒng)1052,諸如Darwin、RTXC、LINUX、UNIX、OS X、WINDOWS、iOS或嵌入式操作系統(tǒng)諸如VxWorks。操作系統(tǒng)1052可包括用于處理基礎(chǔ)系統(tǒng)服務(wù)以及用于執(zhí)行硬件相關(guān)任務(wù)的指令。在一些具體實施中,操作系統(tǒng)1052可包括內(nèi)核(如UNIX內(nèi)核)。

存儲器1050還可存儲通信指令1054,以方便與一個或多個附加設(shè)備、一個或多個計算機和/或一個或多個服務(wù)器通信。存儲器1050可包括圖形用戶界面指令1056,以方便圖形用戶界面處理;傳感器處理指令1058,以方便與傳感器相關(guān)的處理和功能;電話指令1060,以方便與電話相關(guān)的過程和功能;電子消息傳送指令1062,以方便與電子消息傳送相關(guān)的過程和功能;網(wǎng)絡(luò)瀏覽指令1064,以方便與網(wǎng)絡(luò)瀏覽相關(guān)的過程和功能;媒體處理指令1066,以方便與媒體處理相關(guān)的過程和功能;GPS/導(dǎo)航指令1068,以方便與GPS和導(dǎo)航相關(guān)的過程和指令;照相機指令1070,以方便與相機相關(guān)的過程和功能;磁力計數(shù)據(jù)1072和校準(zhǔn)指令1074,以方便磁力計校準(zhǔn)。存儲器1050還可存儲其他軟件指令(未示出),諸如安全指令、用于方便與網(wǎng)絡(luò)視頻相關(guān)的過程和功能的網(wǎng)絡(luò)視頻指令,和/或用于方便與網(wǎng)上購物相關(guān)的過程和功能的網(wǎng)上購物指令。在一些具體實施中,媒體處理指令1066分為音頻處理指令和視頻處理指令,分別用于方便與音頻處理相關(guān)的過程和功能以及與視頻處理相關(guān)的過程和功能。還可將啟動記錄和國際移動設(shè)備識別碼(IMEI)或類似硬件標(biāo)識符存儲在存儲器1050中。存儲器1050可存儲包括建模指令和預(yù)測指令的重要位置指令1076。建模指令在執(zhí)行時可使處理器1004執(zhí)行狀態(tài)模型確定子系統(tǒng)702的操作,包括過程800。預(yù)測指令在執(zhí)行時可使處理器1004執(zhí)行預(yù)報子系統(tǒng)710的操作。該操作可包括過程900。

上面標(biāo)識的指令和應(yīng)用程序中的每者均可與用于執(zhí)行上述一個或多個功能的指令集相對應(yīng)。這些指令不需要作為獨立的軟件程序、進程或模塊來實施。存儲器1050可包括附加的指令或更少的指令。此外,可在硬件和/或軟件中,包括在一個或多個信號處理和/或?qū)S眉呻娐分?,?zhí)行移動設(shè)備的各種功能。

示例性操作環(huán)境

圖11是實現(xiàn)基于分類的地理圍欄的特征和操作的移動設(shè)備的示例網(wǎng)絡(luò)操作環(huán)境1100的框圖。移動設(shè)備1102a和1102b可(例如)在數(shù)據(jù)通信中通過一個或多個有線和/或無線網(wǎng)絡(luò)1110通信。例如,無線網(wǎng)絡(luò)1112(如蜂窩網(wǎng)絡(luò))可通過利用網(wǎng)關(guān)1116與廣域網(wǎng)(WAN)1114(諸如互聯(lián)網(wǎng))通信。同樣,接入設(shè)備1118(諸如802.11g無線接入點)可提供對廣域網(wǎng)1114的通信接入。移動設(shè)備1102a和1102b中的每者可為移動設(shè)備102。

在一些具體實施中,可通過無線網(wǎng)絡(luò)1112和接入設(shè)備1118建立語音和數(shù)據(jù)通信。例如,移動設(shè)備1102a可撥打和接收電話呼叫(如使用互聯(lián)網(wǎng)協(xié)議電話(VoIP)協(xié)議),發(fā)送和接收電子郵件消息(如使用郵局協(xié)議3(POP3)),以及通過無線網(wǎng)絡(luò)1112、網(wǎng)關(guān)1116和廣域網(wǎng)1114檢索電子文檔和/或流,諸如網(wǎng)頁、照片和視頻(如使用傳輸控制協(xié)議/互聯(lián)網(wǎng)協(xié)議(TCP/IP)或用戶數(shù)據(jù)報協(xié)議(UDP))。同樣,在一些具體實施中,移動設(shè)備1102b可通過接入設(shè)備1118和廣域網(wǎng)1114來撥打和接收電話呼叫、發(fā)送和接收電子郵件消息以及檢索電子文檔。在一些具體實施中,移動設(shè)備1102a或1102b可使用一條或多條電纜物理地連接到接入設(shè)備1118,并且接入設(shè)備1118可以是個人計算機。在該配置中,移動設(shè)備1102a或1102b可被稱為“受限”設(shè)備。

移動設(shè)備1102a和1102b還可通過其他方式建立通信。例如,無線設(shè)備1102a可通過無線網(wǎng)絡(luò)1112與其他無線設(shè)備(例如其他移動設(shè)備、蜂窩電話等)通信。同樣,移動設(shè)備1102a和1102b可通過使用一個或多個通信子系統(tǒng)(諸如BluetoothTM通信設(shè)備)建立對等通信1120,例如個人局域網(wǎng)。也可實現(xiàn)其他通信協(xié)議和拓?fù)浣Y(jié)構(gòu)。

移動設(shè)備1102a或1102b可例如通過所述一個或多個有線和/或無線網(wǎng)絡(luò)與一個或多個服務(wù)1130、1140和1150通信。例如,一個或多個位置服務(wù)1130可向移動設(shè)備1102a和1102b提供與蜂窩塔或無線接入網(wǎng)關(guān)相關(guān)聯(lián)的位置數(shù)據(jù),使得移動設(shè)備1102a和1102b可使用三角測量來確定當(dāng)前位置。位置服務(wù)1130可基于提示并基于自適應(yīng)位置集群技術(shù)從移動設(shè)備1102a或1102b接收一系列的當(dāng)前位置并確定移動設(shè)備1102a或1102b或兩者的重要位置。行進規(guī)劃服務(wù)1140可基于當(dāng)前時間、當(dāng)前位置和預(yù)報位置來提供交通信息,以幫助用戶規(guī)劃到預(yù)報位置的路線以及估計的到達(dá)時間。日歷服務(wù)1150可將用戶的日歷項以及由同一用戶的多個用戶設(shè)備訪問的相應(yīng)位置存儲在用戶存儲空間上。

移動設(shè)備1102a或1102b還可通過一個或多個有線和/或無線網(wǎng)絡(luò)訪問其他數(shù)據(jù)和內(nèi)容。例如,移動設(shè)備1102a或1102b可訪問內(nèi)容發(fā)布者,諸如新聞?wù)军c、簡易信息聚合(RSS)供稿、網(wǎng)站、博客、社交網(wǎng)站、開發(fā)者網(wǎng)絡(luò)等等。通過響應(yīng)于用戶觸摸(如網(wǎng)絡(luò)對象)而調(diào)用網(wǎng)絡(luò)瀏覽功能或應(yīng)用程序(如瀏覽器)可提供這種訪問。

如上所述,本說明書的主題的一些方面包括可從不同來源獲得的數(shù)據(jù)的采集和使用,以改進移動設(shè)備可提供給用戶的服務(wù)。本公開預(yù)期,在某些情況下,這些所采集的數(shù)據(jù)可包括唯一地識別或可用于聯(lián)系或定位特定人員的個人信息數(shù)據(jù)。此類個人信息數(shù)據(jù)可包括人口數(shù)據(jù)、基于位置的數(shù)據(jù)、電話號碼、電子郵件地址、推特ID、家庭住址或任何其他識別信息。

本公開認(rèn)識到在本發(fā)明技術(shù)中使用此類個人信息數(shù)據(jù)可用于使用戶受益。例如,該個人信息數(shù)據(jù)可用于遞送用戶較感興趣的目標(biāo)內(nèi)容。因此,使用此類個人信息數(shù)據(jù)使得能夠?qū)λf送的內(nèi)容進行有計劃的控制。此外,本公開還預(yù)期個人信息數(shù)據(jù)有益于用戶的其他用途。

本公開還預(yù)期負(fù)責(zé)此類個人信息數(shù)據(jù)的收集、分析、公開、傳輸、存儲或其他用途的實體將遵守已確立的隱私政策和/或隱私實踐。具體地講,此類實體應(yīng)當(dāng)實行并堅持使用被公認(rèn)為滿足或超出對維護個人信息數(shù)據(jù)的隱私性和安全性的行業(yè)或政府要求的隱私政策和實踐。例如,來自用戶的個人信息應(yīng)當(dāng)被收集用于實體的合法且合理的用途,并且不在這些合法使用之外共享或出售。另外,此類收集應(yīng)當(dāng)僅在用戶知情同意之后進行。另外,此類實體應(yīng)采取任何所需的步驟,以保障和保護對此類個人信息數(shù)據(jù)的訪問,并且確保能夠訪問個人信息數(shù)據(jù)的其他人遵守他們的隱私政策和程序。另外,這種實體可使其本身經(jīng)受第三方評估以證明其遵守廣泛接受的隱私政策和實踐。

不管前述情況如何,本公開還預(yù)期用戶選擇性地阻止使用或訪問個人信息數(shù)據(jù)的實施方案。即本公開預(yù)期可提供硬件元件和/或軟件元件,以防止或阻止對此類個人信息數(shù)據(jù)的訪問。例如,就廣告遞送服務(wù)而言,本發(fā)明的技術(shù)可被配置為在注冊服務(wù)期間允許用戶選擇“加入”或“退出”參與對個人信息數(shù)據(jù)的收集。

因此,雖然本公開廣泛地覆蓋了使用個人信息數(shù)據(jù)來實現(xiàn)一個或多個各種所公開的實施方案,但本公開還預(yù)期各種實施方案也可在無需訪問此類個人信息數(shù)據(jù)的情況下被實現(xiàn)。即,本發(fā)明技術(shù)的各種實施方案不會由于缺少此類個人信息數(shù)據(jù)的全部或一部分而無法正常進行。例如,可通過基于非個人信息數(shù)據(jù)或絕對最低限度的個人信息諸如與用戶相關(guān)聯(lián)的設(shè)備所請求的內(nèi)容、對內(nèi)容遞送服務(wù)可用的其他非個人信息或公開可用信息來推斷偏好,從而選擇內(nèi)容并遞送給用戶。

已描述了本主題的多個具體實施。然而,應(yīng)當(dāng)理解,在不脫離本主題的實質(zhì)和范圍的情況下可作出各種修改。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
楚雄市| 平原县| 梓潼县| 呼玛县| 鄂托克旗| 富阳市| 呼伦贝尔市| 张家港市| 巍山| 于田县| 那坡县| 惠东县| 湖州市| 绥德县| 鄱阳县| 观塘区| 海南省| 涞水县| 正宁县| 额尔古纳市| 平潭县| 威海市| 华容县| 兰考县| 桐乡市| 博客| 永仁县| 栾川县| 波密县| 清远市| 布拖县| 龙岩市| 南木林县| 闽侯县| 康平县| 滦平县| 基隆市| 集贤县| 延安市| 锦屏县| 永城市|