專利名稱:用于移動(dòng)設(shè)備的基于位置的高速緩存的制作方法
用于移動(dòng)設(shè)備的基于位置的高速緩存 背景一般而言,用于移動(dòng)設(shè)備的導(dǎo)航應(yīng)用程序通過將對應(yīng)于預(yù)先計(jì)算的路線或 移動(dòng)設(shè)備的用戶打算在其中旅行的估計(jì)的區(qū)域的地圖下載到設(shè)備來操作。使用一般由基于web的供應(yīng)商或在個(gè)人計(jì)算機(jī)或服務(wù)器上維護(hù)的數(shù)據(jù)提供的地圖 服務(wù),用戶指定起始點(diǎn)、目的地以及可能的中途停留目的地,然后計(jì)算基于這 些位置的靜態(tài)路線。路線的完整地圖被下載到移動(dòng)設(shè)備。對于這些現(xiàn)有的導(dǎo)航應(yīng)用程序存在重大的限制。首先,導(dǎo)航路線是靜態(tài)的, 并且被綁定到給定的起始點(diǎn)和目的地。萬一用戶決定更改行程,則無法動(dòng)態(tài)地 改變儲(chǔ)存在移動(dòng)設(shè)備中的路線。其次,在大多數(shù)情況下,地圖數(shù)據(jù)是基于矢量 的,并且僅支持一種地圖類型,即,分辨率可被自適應(yīng),但是不可能將地圖類 型例如從街道地圖改為鳥瞰圖、地形圖或其它可能的視圖。此外,這一導(dǎo)航應(yīng) 用程序并未考慮到設(shè)備能力上的限制,例如用于地圖存儲(chǔ)的有限的存儲(chǔ)器以及 有限的處理器分配。另外,這些導(dǎo)航應(yīng)用程序在大多數(shù)情況下僅支持地圖數(shù)據(jù) 而非移動(dòng)設(shè)備的用戶可能感興趣的任何種類的基于位置的數(shù)據(jù)。概述一種基于位置的高速緩存系統(tǒng)為移動(dòng)通信設(shè)備提供了動(dòng)態(tài)地提供與用戶 的位置有關(guān)的內(nèi)容的能力。在一示例性形式中,內(nèi)容包括預(yù)期移動(dòng)設(shè)備的用戶 行進(jìn)的路線的一系列地圖段。也可提供其它相關(guān)內(nèi)容,例如與所行進(jìn)的路線相 關(guān)的名勝信息。內(nèi)容信息可以基于例如用戶偏好、移動(dòng)信息以及設(shè)備狀態(tài)信息 來從上下文上選擇。移動(dòng)設(shè)備可以由有助于基于位置的高速緩存系統(tǒng)的若干組件組成,包括位 置確定模塊、方向估計(jì)器模塊、內(nèi)容容器、內(nèi)容容器、連接管理模塊以及高速 緩存模塊。位置確定模塊確定移動(dòng)通信設(shè)備的當(dāng)前位置。方向估計(jì)器模塊估計(jì) 移動(dòng)通信設(shè)備的將來位置。內(nèi)容容器儲(chǔ)存與將來位置有關(guān)的內(nèi)容。連接管理模塊提供與移動(dòng)通信設(shè)備的網(wǎng)絡(luò)連通性。高速緩存模塊經(jīng)由連接管理模塊從內(nèi)容 容器或移動(dòng)通信設(shè)備外部的替換內(nèi)容源中選擇與將來位置有關(guān)的內(nèi)容。該系統(tǒng) 還可包括一 內(nèi)容服務(wù)器,其經(jīng)由將移動(dòng)通信設(shè)備與內(nèi)容服務(wù)器相連接的網(wǎng)絡(luò)向 移動(dòng)通信設(shè)備提供與將來位置有關(guān)的內(nèi)容。該系統(tǒng)還可包括可由移動(dòng)通信設(shè)備 訪問的、關(guān)于移動(dòng)通信設(shè)備的當(dāng)前位置信息的源,例如全球衛(wèi)星定位信息。該基于位置的高速緩存系統(tǒng)跟蹤移動(dòng)通信設(shè)備的當(dāng)前位置,并預(yù)測移動(dòng)通 信設(shè)備的將來位置。基于對將來位置的預(yù)測,該高速緩存模塊確定與將來位置 有關(guān)的內(nèi)容當(dāng)前是否被儲(chǔ)存在移動(dòng)通信設(shè)備上。如果適當(dāng)?shù)膬?nèi)容不在移動(dòng)設(shè)備 上,則該高速緩存模塊經(jīng)由網(wǎng)絡(luò)連接從內(nèi)容服務(wù)器檢索該內(nèi)容。提供本概述以便以簡化的形式介紹將在以下詳細(xì)描述中進(jìn)一步描述的一 些概念。本概述并不旨在標(biāo)識(shí)出所要求保護(hù)的主題的關(guān)鍵特征或必要特征,也 不旨在用于限制所要求保護(hù)的主題的范圍。所要求保護(hù)主題的其他特征、細(xì)節(jié)、 功能、以及優(yōu)點(diǎn)將由如附圖中進(jìn)一步示出的以及在所附權(quán)利要求中所定義的以 下更詳細(xì)描寫的各實(shí)施例和實(shí)現(xiàn)的詳細(xì)描述而變得顯而易見。附圖簡述
圖1是移動(dòng)設(shè)備與內(nèi)容服務(wù)器以及地理位置信息源的關(guān)系的示意圖。圖2是移動(dòng)設(shè)備上的示例性的基于位置的高速緩存操作的示意圖。 圖3是由基于位置的高速緩存系統(tǒng)執(zhí)行以動(dòng)態(tài)地向移動(dòng)設(shè)備提供內(nèi)容的 一系列操作的流程圖。圖4是在基于位置的高速緩存系統(tǒng)內(nèi)提供內(nèi)容的知曉位置的系統(tǒng)的示意圖。圖5是在開發(fā)知曉位置的應(yīng)用程序時(shí)的交互的示意性狀態(tài)圖。 圖6是在基于位置的高速緩存系統(tǒng)內(nèi)提供內(nèi)容的路標(biāo)樹立和定向操作的 流程圖。圖7是提供圖6的附加細(xì)節(jié)的路標(biāo)樹立和定向操作的流程圖。 圖8是可在基于位置的高速緩存系統(tǒng)的實(shí)現(xiàn)中使用的通用移動(dòng)設(shè)備的示 意圖。圖9是可在基于位置的高速緩存系統(tǒng)的實(shí)現(xiàn)中使用的通用計(jì)算機(jī)系統(tǒng)的示意圖。
詳細(xì)描述
此處所公開的技術(shù)被設(shè)計(jì)成向移動(dòng)通信設(shè)備提供特定于用戶的位置和興 趣的、但獨(dú)立于為該用戶所計(jì)算的路線的地圖數(shù)據(jù)和其它內(nèi)容。地圖數(shù)據(jù)的供 應(yīng)被按需智能且動(dòng)態(tài)地下載到移動(dòng)通信設(shè)備上。該技術(shù)此處一般被稱為基于位 置的高速緩存系統(tǒng)。
地圖數(shù)據(jù)可根據(jù)多個(gè)參數(shù)而提供給移動(dòng)設(shè)備,這些參數(shù)包括移動(dòng)方向、速 度(當(dāng)前和平均)以及上下文。上下文還可以按照全局上下文,即用戶的環(huán)境 或地理位置,以及局部上下文,即包括偏好、興趣、用戶位置以及移動(dòng)設(shè)備的 硬件和軟件能力及限制在內(nèi)的用戶簡檔來理解。
所選地圖的分辨率可以取決于行進(jìn)速度、上下文(例如,名勝的包括)、 可用地圖數(shù)據(jù)、以及移動(dòng)通信設(shè)備上的限制或上限(例如,存儲(chǔ)器、顯示器大 小和分辨率、以及處理器速度)。所選以在移動(dòng)設(shè)備上呈現(xiàn)的地圖因此被自適 應(yīng)以匹配相關(guān)準(zhǔn)則。向移動(dòng)設(shè)備下載的間隔也可取決于包括用戶的行進(jìn)速度、 連接選項(xiàng)和速度以及存儲(chǔ)器分配在內(nèi)的上下文。
基于對位置和上下文信息的分析,可基于例如大小和分辨率來計(jì)算地圖數(shù) 據(jù)段并從內(nèi)容服務(wù)器下載到移動(dòng)設(shè)備。地圖段也可基于類似的準(zhǔn)則從移動(dòng)設(shè)備 上刪除。地圖數(shù)據(jù)也可通過具有位置信息的多媒體數(shù)據(jù)來豐富?;谖恢玫母?速緩存系統(tǒng)的好處可以通過與智能連接管理和位置管理技術(shù)相結(jié)合而得到增 強(qiáng)。
基于位置的高速緩存系統(tǒng)100在圖1中示出。系統(tǒng)100 —般是客戶機(jī)一服 務(wù)器模型,并且其基礎(chǔ)是圍繞移動(dòng)設(shè)備102的。移動(dòng)設(shè)備102可以是移動(dòng)電話、 個(gè)人數(shù)字助理、移動(dòng)存儲(chǔ)設(shè)備(例如,MP3播放器或便攜式照片/視頻庫)、 全球定位系統(tǒng)設(shè)備、汽車信息中心(例如,通用汽車公司的ONSTAR)、或能 夠接收地理位置數(shù)據(jù)并與網(wǎng)絡(luò)122接口以接收附加內(nèi)容的任何其它便攜式設(shè) 備。內(nèi)容服務(wù)器124經(jīng)由網(wǎng)絡(luò)122與移動(dòng)設(shè)備102連接。系統(tǒng)100還可包括與 移動(dòng)設(shè)備102接口的全球定位系統(tǒng)(GPS)服務(wù)116,或用于確定移動(dòng)設(shè)備102 的地理位置的其它方法。移動(dòng)設(shè)備102具有用于實(shí)現(xiàn)如圖1所示的基于位置的高速緩存操作的若干 模塊或組件。這些模塊可包括位置管理器模塊104、移動(dòng)方向估計(jì)器模塊106、高速緩存模塊108以及連接管理器模塊114。位置管理器模塊104、移動(dòng)方向 估計(jì)器模塊106以及高速緩存模塊108共同初步實(shí)現(xiàn)了對地圖數(shù)據(jù)的智能和動(dòng) 態(tài)選擇以便在移動(dòng)設(shè)備102上呈現(xiàn)。另外,移動(dòng)設(shè)備102可包括用于儲(chǔ)存地圖 數(shù)據(jù)的內(nèi)容容器110以及用于儲(chǔ)存用戶偏好或其它上下文信息的上下文容器 112。內(nèi)容容器110和上下文容器112可采用移動(dòng)設(shè)備102的通用存儲(chǔ)器內(nèi)的 數(shù)據(jù)結(jié)構(gòu)的形式。如圖1的實(shí)施例中所示,移動(dòng)設(shè)備102可以通過與一個(gè)或多個(gè)網(wǎng)絡(luò)122 的連接與內(nèi)容服務(wù)器124通信。網(wǎng)絡(luò)122可以是任何類型的網(wǎng)絡(luò),例如局域網(wǎng) (LAN)、無線局域網(wǎng)(WLAN)、廣域網(wǎng)(WAN)、因特網(wǎng)、電話網(wǎng)絡(luò)、 微波網(wǎng)絡(luò)(例如,WiMAX)、無線電網(wǎng)絡(luò)(例如,GPRS)或光學(xué)網(wǎng)絡(luò),或其 組合。移動(dòng)設(shè)備102可具有與多個(gè)網(wǎng)絡(luò)同時(shí)連接的能力。例如,如果移動(dòng)設(shè)備 102是無線電話,則它可使用全球移動(dòng)通信系統(tǒng)(GSM)標(biāo)準(zhǔn)、碼分多址(CDMA) 標(biāo)準(zhǔn)、通用移動(dòng)電信系統(tǒng)(UMTS)標(biāo)準(zhǔn)或任何其它網(wǎng)絡(luò)電話標(biāo)準(zhǔn)來與語音電 話網(wǎng)絡(luò)連接。數(shù)據(jù)可以交替地或同時(shí)地使用電路交換數(shù)據(jù)(CSD)、通用分組 無線電業(yè)務(wù)(GPRS)、高速下行鏈路分組接入(HSDPA)或任何其它數(shù)據(jù)傳 輸協(xié)議來發(fā)送。網(wǎng)絡(luò)連接可以由連接管理器114來管理。連接管理器114負(fù)責(zé)基于可用硬 件來選擇用于將數(shù)據(jù)從內(nèi)容服務(wù)器124下載到移動(dòng)設(shè)備102的最佳網(wǎng)絡(luò)連接。 合適的連接管理器模塊的一個(gè)示例性實(shí)現(xiàn)在MICROSOFT WINDOWS MOBILE平臺(tái)中具體化。示例性連接類型可包括藍(lán)牙、GPRS、WLAN和UMTS。 如果移動(dòng)設(shè)備102被裝備為處理多種協(xié)議或具有多個(gè)通信接口,則還有可能選 擇一個(gè)以上連接類型。對大多數(shù)適當(dāng)數(shù)據(jù)傳輸選項(xiàng)的選擇可以取決于多個(gè)因 素,包括要傳輸?shù)臄?shù)據(jù)的量、可用連接類型、移動(dòng)設(shè)備當(dāng)前正執(zhí)行的操作、以 及在上下文容器112中定義的任何用戶偏好。例如,如果用戶正使用移動(dòng)設(shè)備 102上的web瀏覽器應(yīng)用程序,并且當(dāng)前正在使用GPRS協(xié)議通過WLAN下 載信息,則連接管理器114可以指示經(jīng)由可用的藍(lán)牙接口來下載地圖數(shù)據(jù)。當(dāng)WLAN連接免費(fèi)時(shí),由于更高的數(shù)據(jù)傳輸速率,連接管理器114可以重定向下 載操作經(jīng)由WLAN接口發(fā)生。內(nèi)容服務(wù)器124包括數(shù)據(jù)存儲(chǔ)126和連接服務(wù),以提供內(nèi)容服務(wù)器124 和移動(dòng)設(shè)備102之間的接口。數(shù)據(jù)存儲(chǔ)126儲(chǔ)存要按需上傳到移動(dòng)設(shè)備102的 地圖數(shù)據(jù)。在一個(gè)示例性實(shí)施例中,連接服務(wù)可以是web服務(wù)。web服務(wù)的主 要功能是響應(yīng)于移動(dòng)設(shè)備102的估計(jì)的移動(dòng)方向提供必要的地圖數(shù)據(jù)。由內(nèi)容 服務(wù)器124提供的web服務(wù)還可基于由移動(dòng)設(shè)備102中的上下文容器112提供 的上下文信息來從數(shù)據(jù)存儲(chǔ)126中選擇地圖數(shù)據(jù)。如圖1所示,移動(dòng)設(shè)備可以直接從GPS服務(wù)116或替換地從其它源接收 地理位置數(shù)據(jù)。為了從GPS服務(wù)116接收地理定位數(shù)據(jù),移動(dòng)設(shè)備102 —般 配備有GPS接收機(jī)芯片,或者其經(jīng)由電纜或藍(lán)牙與外部GPS設(shè)備連接。這一 GPS接收機(jī)被調(diào)諧以從全球定位衛(wèi)星接收信號并對移動(dòng)設(shè)備102的位置進(jìn)行三 角測量。在圖1的實(shí)施例中,這一GPS設(shè)備可以被結(jié)合到以下進(jìn)一步描述的 位置管理器模塊104中?;蛘?,移動(dòng)設(shè)備102可以通過使用多個(gè)應(yīng)答器與WLAN 118、 GPRS網(wǎng)絡(luò) 120或任何其它無線網(wǎng)絡(luò)技術(shù)標(biāo)準(zhǔn)接口來確定地理位置。如果在移動(dòng)設(shè)備102 的范圍內(nèi)有至少三個(gè)提供網(wǎng)絡(luò)的無線傳輸源,則移動(dòng)設(shè)備102中的位置管理器 104可以基于無線網(wǎng)絡(luò)應(yīng)答器的固定位置對地理位置進(jìn)行三角測量。位置管理 器104可以查詢應(yīng)答器以提供這一固定位置信息。地理位置還可通過移動(dòng)設(shè)備102的用戶的直接數(shù)據(jù)輸入或任何位置源來 確定。位置管理器104可以被裝備為使用任一或所有位置信息源,即GPS、其 它三角測量方法、直接輸入或任何其它方法來確定地理位置。移動(dòng)設(shè)備102在 進(jìn)一步確定適當(dāng)?shù)牡貓D數(shù)據(jù)來進(jìn)行呈現(xiàn)時(shí)對于位置信息源是不可知的。移動(dòng)方向估計(jì)器106從位置管理器104接收移動(dòng)設(shè)備102的實(shí)際地理位 置,并估計(jì)移動(dòng)設(shè)備102的用戶將移動(dòng)的方向。該估計(jì)可以基于這一實(shí)際位置 信息、用戶在先前一段時(shí)間內(nèi)(例如,在上幾分鐘或幾秒內(nèi),該時(shí)間段還可取 決于用戶的速度)行進(jìn)的方向、環(huán)境上下文信息以及用戶上下文信息來計(jì)算。 例如,用戶可以在以恒定速度沿著公路行進(jìn)的小汽車中。這一環(huán)境上下文信息 可以基于地圖坐標(biāo)和速度來外推。移動(dòng)方向估計(jì)器106因此可以從該上下文中確定用戶將繼續(xù)沿公路行進(jìn)。或者,如果用戶的速度在幾秒的時(shí)間段內(nèi)減小并 且區(qū)域的地圖指示與另一條道路相交,則這一信息可能暗示用戶方向的潛在改 變,并且系統(tǒng)100可準(zhǔn)備好適應(yīng)這一改變。
移動(dòng)方向估計(jì)器106可以使用若干不同算法中的任一種來計(jì)算將來的估 計(jì)的用戶位置。示例性算法包括跟蹤路線的任何線性或非線性外推。外推指的 是該算法應(yīng)能夠從所儲(chǔ)存的跟蹤路線點(diǎn)中估計(jì)出設(shè)備的用戶在一段時(shí)間內(nèi)有 最高的可能性會(huì)所在的位置??沙鲇诟鞣N原因中的任一種,例如移動(dòng)設(shè)備102 中的處理器的速度、存儲(chǔ)器分配要求、或期望考慮的變量數(shù)目,來選擇一特定
算法。移動(dòng)方向估計(jì)器106對于實(shí)現(xiàn)應(yīng)用專用算法也可以是開放的。
一旦由移動(dòng)方向估計(jì)器106確定,所估計(jì)的位置然后被提供給高速緩存模 塊108以啟動(dòng)對所有相關(guān)地圖和其它數(shù)據(jù)的預(yù)加載。高速緩存模塊108取決于 用戶的位置和當(dāng)前上下文來確定數(shù)據(jù)是否應(yīng)從內(nèi)容服務(wù)器124預(yù)加載以及本地 內(nèi)容容器110中的數(shù)據(jù)是否可被刪除。在來自位置管理器104的數(shù)據(jù)(例如, 地圖)請求的情況下,高速緩存模塊108—般從本地內(nèi)容容器110中檢索該數(shù) 據(jù)。否則,如果數(shù)據(jù)不是被本地儲(chǔ)存的,則數(shù)據(jù)必須立即從內(nèi)容服務(wù)器124上 傳。此外,如果移動(dòng)設(shè)備102在其存儲(chǔ)器中只有極少的可用存儲(chǔ),則高速緩存 模塊108從內(nèi)容容器110中清除被標(biāo)識(shí)為離用戶的實(shí)際位置或期望位置最遠(yuǎn)的 數(shù)據(jù)。高速緩存模塊108還從上下文容器112中清除最不適用于用戶的實(shí)際或 期望位置的數(shù)據(jù)。
內(nèi)容容器110是用于基于位置的數(shù)據(jù)的數(shù)據(jù)存儲(chǔ)。在一個(gè)實(shí)現(xiàn)中,內(nèi)容容 器IIO可以是簡單的二進(jìn)制文件,以最小化移動(dòng)設(shè)備102的必要資源。在另一 實(shí)現(xiàn)中,內(nèi)容容器110可以是移動(dòng)數(shù)據(jù)庫。在一個(gè)實(shí)現(xiàn)中,使用面向?qū)ο蟮臄?shù) 據(jù)結(jié)構(gòu),可以將基于位置的數(shù)據(jù)封裝在具有以下示例性接口的類內(nèi)
a) 數(shù)據(jù)和用戶的當(dāng)前給定位置之間的距離的計(jì)算;
b) 基于位置的數(shù)據(jù)的類型; C)基于位置的數(shù)據(jù)的數(shù)量;
d) 基于位置的數(shù)據(jù)的優(yōu)先級;以及
e) 用于基于位置的數(shù)據(jù)的Get (獲取)函數(shù)。 這些數(shù)據(jù)類可以在保持所有這些對象的容器(container)類中結(jié)構(gòu)化(在數(shù)據(jù)庫的情況下,該容器類是唯一接口)。容器類可提供以下示例性接口a) 獲得具有到給定點(diǎn)的最小距離的對象的列表;b) 獲得具有到給定線的最小距離的對象的列表; C)獲得具有到給定區(qū)域的最小距離的對象的列表;d) 獲得給定區(qū)域內(nèi)的對象的列表;e) 添加對象;以及f) 移除對象。以此方式,儲(chǔ)存在移動(dòng)設(shè)備102上的內(nèi)容容器110中的地圖和其它內(nèi)容(即, 存儲(chǔ)器中的"對象")可以與用戶的當(dāng)前位置進(jìn)行比較,從而允許高速緩存模 塊108做出適當(dāng)?shù)南乱坏貓D選擇以及存儲(chǔ)器分配決策。例如,如果高速緩存模 塊108確定用于儲(chǔ)存地圖和內(nèi)容的可用存儲(chǔ)器正在減少,則離用戶的位置最遠(yuǎn) 的地圖可被丟棄以提供用于添加與用戶的當(dāng)前位置更相關(guān)的地圖和內(nèi)容的存 儲(chǔ)空間。上下文容器112是用于移動(dòng)設(shè)備102的用戶的所有相關(guān)上下文數(shù)據(jù)和偏好的數(shù)據(jù)存儲(chǔ)。示例性偏好可包括以下a) 移動(dòng)設(shè)備102上的可用存儲(chǔ);b) 用戶的平均移動(dòng)速度; C)優(yōu)選運(yùn)輸手段;d) 可用/優(yōu)選的位置相關(guān)數(shù)據(jù)類型;e) 可用/優(yōu)選的地圖類型;f) 移動(dòng)設(shè)備102上的可用存儲(chǔ)器空間或處理器分配;g) 移動(dòng)設(shè)備102上的顯示器的大小和分辨率;h) 移動(dòng)設(shè)備102上的可用連接類型;以及i) 取決于成本的優(yōu)選連接類型。這些數(shù)據(jù)可以由單個(gè)類/對象提供,并且可通過移動(dòng)設(shè)備102上的用戶界面來配置。許多參數(shù)在可能時(shí)可被自動(dòng)計(jì)算以避免用戶輸入。收集并使用這一類型的上下文數(shù)據(jù)的目的是向用戶提供對環(huán)境最適當(dāng)?shù)牡貓D。例如,高速緩存模塊108可基于用戶的移動(dòng)來選擇替換的地圖。如果很 明顯用戶正在以僅可由移動(dòng)的車輛達(dá)到的速度移動(dòng),則高速緩存模塊108將選擇以非常低的細(xì)節(jié)水平覆蓋大區(qū)域(例如,以英里或千米為比例)的道路地圖。 如果用戶的個(gè)人偏好信息指示用戶通常是以火車旅行的,則高速緩存模塊108 可選擇標(biāo)識(shí)了火車路線和火車站的地圖?;蛘撸绻脩舻乃俣劝凳居脩粽?步行,則高速緩存模塊108可選擇以高細(xì)節(jié)水平覆蓋小區(qū)域(例如,以英尺或 米為比例)的地圖。地圖中的各種上下文細(xì)節(jié)水平可取決于高速緩存模塊108在選擇要從內(nèi) 容服務(wù)器124下載的特定地圖時(shí)所考慮的已知的用戶偏好來智能地提供給用 戶。如果用戶的個(gè)人偏好信息指示用戶喜歡經(jīng)常光顧咖啡店或酒吧,則可將已 知的咖啡店或酒吧位置呈現(xiàn)為地圖上的路標(biāo)。如果用戶偏好信息指示用戶正在 假期旅行中,則可在地圖上提供指示該地圖的可查看區(qū)域內(nèi)的歷史或旅游景點(diǎn) (例如,沿著公路的戰(zhàn)場或城市中的博物館)的路標(biāo)信息。其它路標(biāo)信息可指 示所顯示的地圖的可査看區(qū)域之外的某些吸引人的事物的方向。注意,不需要有中央內(nèi)容服務(wù)器,但是內(nèi)容可改為從多個(gè)分布式或甚至不 相關(guān)的內(nèi)容服務(wù)器檢索。此外,內(nèi)容可以不僅限于地圖。例如,如果用戶正在 訪問旅游勝地,則高速緩存模塊108可從服務(wù)器中尋找被標(biāo)識(shí)為提供了與該特 定位置或勝地有關(guān)的名勝內(nèi)容的內(nèi)容。例如,博物館可提供可被呈現(xiàn)在移動(dòng)設(shè) 備102上以供用戶參觀該博物館的多媒體內(nèi)容。示例性內(nèi)容可包括音頻敘述引 導(dǎo)參觀或有關(guān)展品的描述性信息。如對于地圖所描述的,這一上下文內(nèi)容可以 在按需的基礎(chǔ)上被下載和高速緩存以適應(yīng)存儲(chǔ)器或其它限制?;谖恢玫母咚?緩存系統(tǒng)可以結(jié)合此處進(jìn)一步描述的知曉位置的框架來支持任何數(shù)據(jù)類型的 下載和演示以提供適當(dāng)?shù)纳舷挛膬?nèi)容。數(shù)據(jù)還可以被提供給移動(dòng)設(shè)備102上的 任何其它應(yīng)用程序以供呈現(xiàn)、位置計(jì)算或任何其它所支持的目的。高速緩存模塊108可以基于任何給定時(shí)刻的存儲(chǔ)器分配、處理器需求、以 及移動(dòng)設(shè)備102的其它狀態(tài)信息來做出內(nèi)容存儲(chǔ)和呈現(xiàn)確定。例如,如果移動(dòng) 設(shè)備102上可用的存儲(chǔ)器不足以儲(chǔ)存關(guān)于整個(gè)計(jì)劃的路線的必需地圖,則基于 位置的高速緩存系統(tǒng)100能夠通過從存儲(chǔ)器中丟棄先前的地圖段并在必要時(shí)下 載其它地圖段來向用戶動(dòng)態(tài)地提供關(guān)于整個(gè)旅行的適當(dāng)?shù)貓D?;谖恢玫母咚?緩存系統(tǒng)100因此提供了優(yōu)于在旅行之前基于預(yù)定路線來下載并靜態(tài)地儲(chǔ)存地 圖的其它技術(shù)的顯著優(yōu)點(diǎn)。高速緩存模塊108還可考慮移動(dòng)設(shè)備102的特定顯示器的大小和分辨率并向移動(dòng)設(shè)備102呈現(xiàn)其所能支持的較高分辨率內(nèi)容。
連接管理器114還可使用上下文容器112中的用戶偏好信息以及移動(dòng)設(shè)備
102的狀態(tài)信息來做出連接決策。例如,基于與用戶的移動(dòng)設(shè)備102相關(guān)聯(lián)的
數(shù)據(jù)計(jì)劃,不同的定價(jià)結(jié)構(gòu)可在一天的不同時(shí)間經(jīng)由一種服務(wù)或協(xié)議應(yīng)用于數(shù)
據(jù)傳輸。或者,用戶可訂閱來自特定供應(yīng)商的統(tǒng)一費(fèi)率的WiFi服務(wù)。如果用 戶在多個(gè)WiFi供應(yīng)商服務(wù)的特定位置,則連接管理器114可選擇用戶的訂閱 服務(wù)而非另一可用服務(wù)。在又一示例中,如果連接管理器114認(rèn)識(shí)到移動(dòng)設(shè)備 102停放或以其它方式連接到有線網(wǎng)絡(luò),則連接管理器114因較高的數(shù)據(jù)傳輸 速度而可選擇使用這一有線網(wǎng)絡(luò)而非無線選項(xiàng)來進(jìn)行數(shù)據(jù)傳輸。
用于移動(dòng)設(shè)備的基于位置的高速緩存系統(tǒng)的一個(gè)簡單的示例性實(shí)現(xiàn)在圖 2中示出。在第一時(shí)間段中,移動(dòng)設(shè)備顯示器200描繪了第一地圖202,該第 一地圖指示在該第一地圖202所指示的地理上下文中用戶的位置。第一地圖 202由高速緩存模塊210提供給顯示器200。用戶被描繪為沿著第一公路206 在小汽車204中向著與第二公路208的交叉路口行進(jìn)。
基于現(xiàn)有的環(huán)境和其它上下文信息,例如小汽車204在第一公路206上的 行進(jìn)時(shí)間的長度、用戶在第一公路206上先前的行程以及其它考慮事項(xiàng),高速 緩存模塊210預(yù)期用戶將繼續(xù)沿著第一公路206行進(jìn)并經(jīng)過與第二公路208的 交叉路口。由此,高速緩存模塊210先前己經(jīng)儲(chǔ)存了第二地圖202,如對于第 二時(shí)間段在所提議的顯示200a中所示的。第二地圖202a估計(jì)用戶的小汽車 204a沿著第一公路206經(jīng)過與第二公路208的交叉路口的位置。
然而,位置管理器和移動(dòng)方向估計(jì)器向高速緩存模塊210提供指示用戶正 在減速的經(jīng)更新的信息。從第一地圖202的位置和上下文信息中,高速緩存模 塊210可確定用戶有可能會(huì)轉(zhuǎn)到第二公路208上,如在第一地圖202中由第二 公路208上小汽車的替換位置204'、 204"所指示的。因此,代替顯示第二地圖 202a,高速緩存模塊210聯(lián)系內(nèi)容服務(wù)器212以檢索另外的地圖來覆蓋用戶可 能轉(zhuǎn)到第二公路208上的可能性。
一旦位置管理器確定用戶轉(zhuǎn)到了一特定方向,高速緩存模塊210就在顯示 200b中呈現(xiàn)適當(dāng)?shù)牡谌貓D202b,示出小汽車204沿著第二公路204前進(jìn)并 示出在第二公路208的方向上的地理信息。如對于顯示202b上的第三地圖202b
13所指示的,第三地圖202b由高速緩存模塊210從內(nèi)容服務(wù)器212動(dòng)態(tài)地下載。圖3描繪了由圖1的位置管理器模塊104、移動(dòng)方向估計(jì)器模塊106和高 速緩存模塊108所執(zhí)行來提供移動(dòng)設(shè)備102上的基于位置的高速緩存功能的一 系列示例性操作300。在尋找操作302中,位置管理器104確定移動(dòng)設(shè)備102 的地理位置。如上所述,這一尋找操作302可以通過GPS或其它三角測量方 法來執(zhí)行,或者可簡單地基于用戶輸入。接著,在確定操作302中,移動(dòng)方向 估計(jì)器106確定移動(dòng)設(shè)備102的移動(dòng)的方向。然后,在推導(dǎo)操作306中,高速 緩存模塊108推導(dǎo)移動(dòng)設(shè)備102的估計(jì)的將來位置。如上所述,這一推導(dǎo)操作 306可以考慮到諸如儲(chǔ)存在上下文容器112中的移動(dòng)設(shè)備102的特定環(huán)境以及 用戶偏好等附加上下文因素?;谖恢?、方向和上下文信息,高速緩存模塊108進(jìn)行査詢操作308以確 定適當(dāng)?shù)南乱坏貓D是否已經(jīng)儲(chǔ)存在移動(dòng)設(shè)備102上。如果已經(jīng)有了適當(dāng)?shù)牡貓D, 則在檢索操作310中,高速緩存模塊108從內(nèi)容容器110中檢索下一地圖?;?者,如果在査詢操作308中高速緩存模塊108確定下一適當(dāng)?shù)貓D尚未儲(chǔ)存在移 動(dòng)設(shè)備102中,則在連接操作312中,高速緩存模塊108經(jīng)由網(wǎng)絡(luò)122與內(nèi)容 服務(wù)器124連接。然后,在下載操作314中,高速緩存模塊108從內(nèi)容服務(wù)器 124下載下一適當(dāng)?shù)貓D。 一旦高速緩存模塊108或者從內(nèi)容容器IIO檢索了下 一地圖,或者從內(nèi)容服務(wù)器124下載了地圖,則在呈現(xiàn)操作316中,經(jīng)由移動(dòng) 設(shè)備上的顯示器向用戶呈現(xiàn)下一適當(dāng)?shù)貓D316。圖4示出了可被實(shí)現(xiàn)為基于位置的高速緩存系統(tǒng)的一部分以便為移動(dòng)設(shè) 備提供適當(dāng)?shù)牡貓D的知曉位置的系統(tǒng)400。知曉位置的系統(tǒng)400包括位置管理 器420、知曉位置的應(yīng)用程序430、以及地圖管理器440。位置管理器420與一 個(gè)或多個(gè)位置源425(m)連接。地圖管理器440與一個(gè)或多個(gè)地圖存儲(chǔ)442、地 圖生成器444和地圖web服務(wù)器446連接。位置管理器420被配置成從一個(gè)或多個(gè)移動(dòng)設(shè)備位置源425G.n)接收位置 信息,并將位置信息抽象為提供給知曉位置的應(yīng)用程序430的位置事件。移動(dòng) 設(shè)備位置源425G.n)可以是提供關(guān)于一項(xiàng)目的位置信息的任何東西。例如,一 個(gè)移動(dòng)設(shè)備位置源可以是GPS接收機(jī)。另一移動(dòng)設(shè)備位置源可以是指示用戶 的位置的用戶輸入。例如,用戶可通過移動(dòng)設(shè)備上的用戶輸入來指示用戶在某一位置。用戶可通過例如鍵區(qū)、觸摸屏或語音識(shí)別等用戶接口來將位置輸入到 移動(dòng)設(shè)備中。另一移動(dòng)設(shè)備位置源可以是RFID標(biāo)簽。每一移動(dòng)設(shè)備位置源
425d.N)可以提供不同分辨率的位置數(shù)據(jù)。例如,某些位置源可能非常準(zhǔn)確,而
其它位置源可能僅準(zhǔn)確到一定義的區(qū)域內(nèi),例如鄰里或道路的延長。
移動(dòng)設(shè)備位置源425G.N)可對應(yīng)于鄰近的或遙遠(yuǎn)的位置源。鄰近源對應(yīng)于 位置生成硬件,包括但不限于GPS接收機(jī),或?qū)?yīng)于移動(dòng)設(shè)備本身,其從網(wǎng) 絡(luò)信息中確定其位置。遙遠(yuǎn)的位置源對應(yīng)于從遠(yuǎn)程聯(lián)網(wǎng)源推或拉的位置信息 (例如,所到達(dá)的具有小汽車的位置的推送的短消息服務(wù)(SMS)消息,或經(jīng) 由web請求返回(拉取)的位置信息)。鄰近和遙遠(yuǎn)的位置源都被看作是抽象 邏輯實(shí)體。這使得編程模型對于許多不同種類的位置信息都是相似的。
一旦接收到位置數(shù)據(jù),位置管理器420就確定是否觸發(fā)了與知曉位置的應(yīng) 用程序430相關(guān)的任何位置事件。位置管理器420在出現(xiàn)與感興趣的區(qū)域具有 某一邏輯關(guān)系(諸如進(jìn)入或離開感興趣的區(qū)域)的項(xiàng)目時(shí)提供位置事件,而非 僅僅將來自位置源的原始位置數(shù)據(jù)提供給知曉位置的應(yīng)用程序430。感興趣的 區(qū)域可以與任何區(qū)域有關(guān),并且可以是室內(nèi)或室外。例如,室內(nèi)位置可以用于 顯示固定資產(chǎn)(例如,會(huì)議室)和/或移動(dòng)資產(chǎn)(例如,人、辦公室設(shè)備、或存 貨)的位置。感興趣的室外區(qū)域可以是城市街區(qū)、建筑物或某一其它陸標(biāo)周圍 的區(qū)域、或某一其它預(yù)定區(qū)域。感興趣的室外區(qū)域也可以是可移動(dòng)的資產(chǎn)(例 如,小汽車或人)。
知曉位置的應(yīng)用程序430基于項(xiàng)目與感興趣的區(qū)域的關(guān)系來注冊位置事 件而非解釋原始位置數(shù)據(jù)。在發(fā)生預(yù)定位置事件時(shí),位置管理器420通知知曉 位置的應(yīng)用程序430。在這一點(diǎn)上,知曉位置的應(yīng)用程序430執(zhí)行被開發(fā)為處 理位置事件的事件驅(qū)動(dòng)代碼例程。知曉位置的應(yīng)用程序430因此對所生成的位 置事件做出響應(yīng)。
在發(fā)生位置事件時(shí),知曉位置的應(yīng)用程序430向地圖管理器440提供一組 加權(quán)準(zhǔn)則。例如,該加權(quán)準(zhǔn)則可包括建議的地圖分辨率以及知曉位置的應(yīng)用程 序430希望顯示在由地圖生成器444所繪制的地圖上的一組對象。知曉位置的 應(yīng)用程序430還可提供知曉位置的應(yīng)用程序430希望呈現(xiàn)在現(xiàn)有或生成的地圖 之上的對象。除了知曉位置的應(yīng)用程序430響應(yīng)于事件來驅(qū)動(dòng)地圖生成器440對地圖的呈現(xiàn)之外,知曉位置的應(yīng)用程序430還可以是自驅(qū)動(dòng)的。例如,知曉位置的應(yīng)用程序430可具有周期性地"拉取"信息并請求地圖管理器440呈現(xiàn) 新地圖的定時(shí)器。因此,除了 "推送"事件驅(qū)動(dòng)響應(yīng)之外,知曉位置的應(yīng)用程 序430還可"拉取"數(shù)據(jù)并采取行動(dòng)。地圖管理器440從知曉位置的應(yīng)用程序430中抽象出地圖信息,使得它無 需了解關(guān)于如何處理地圖或位置信息的細(xì)節(jié)。知曉位置的應(yīng)用程序430向地圖 管理器440提供它希望顯示的地圖的名稱或類型,而不是知曉位置的應(yīng)用程序 430必需包括復(fù)雜的地圖呈現(xiàn)代碼。地圖生成器444不被綁定到任何單個(gè)應(yīng)用 程序或呈現(xiàn)引擎。例如, 一個(gè)呈現(xiàn)引擎可以是基于矢量的,而另一呈現(xiàn)引擎可 以是基于位圖的。地圖管理器440因此向知曉位置的應(yīng)用程序430提供與地圖 生成器444交互的接口。地圖管理器440向知曉位置的應(yīng)用程序430提供一組豐富的特征,而無需 知曉位置的應(yīng)用程序430 了解如何實(shí)現(xiàn)地圖代碼的細(xì)節(jié)。例如,假設(shè)應(yīng)用程序 430希望允許用戶指向地圖上的一個(gè)區(qū)域,然后將該數(shù)據(jù)轉(zhuǎn)換成經(jīng)度和緯度, 或者在室內(nèi)地圖的情況下轉(zhuǎn)換成室內(nèi)坐標(biāo)系。地圖管理器440將該信息提供給 知曉位置的應(yīng)用程序430。地圖管理器440擔(dān)當(dāng)知曉位置的應(yīng)用程序430和地 圖生成器444以及地圖web服務(wù)446之間的代理,并向知曉位置的應(yīng)用程序 430提供功能。某些功能包括將移動(dòng)設(shè)備上的X/Y屏幕坐標(biāo)映射到地圖上的緯度/經(jīng)度/ 海拔高度地圖坐標(biāo)。例如,用戶可在當(dāng)前顯示地圖的屏幕上點(diǎn)擊以輸入其位置。 響應(yīng)于用戶輸入,地圖管理器440將X/Y屏幕位置映射到緯度/經(jīng)度/海拔高度 地圖位置。類似地,地圖管理器440將緯度/經(jīng)度/海拔高度地圖數(shù)據(jù)映射到X/Y 屏幕位置,從而允許知曉位置的應(yīng)用程序430動(dòng)態(tài)地呈現(xiàn)在當(dāng)前顯示的地圖之 上。諸如滑雪區(qū)域地圖等某些地圖呈現(xiàn)上的海拔高度可能會(huì)顯著影響X/Y位 置。有許多方式來將X/Y坐標(biāo)轉(zhuǎn)換成緯度/經(jīng)度/海拔高度坐標(biāo)。 一般而言,地 圖管理器440接收X/Y屏幕坐標(biāo),將該坐標(biāo)匹配到地圖,然后基于地圖的比例 和地圖邊界,使用投影技術(shù)來提供緯度/經(jīng)度/海拔高度坐標(biāo)。知曉位置的應(yīng)用 程序430無需了解地圖本身是如何呈現(xiàn)的或使用了什么"投影技術(shù)"。許多不同的地圖投影技術(shù)都是可能的,包括但不限于諸如墨卡托(Mercator)投影、 圓柱投影、極投影、網(wǎng)格投影等經(jīng)典地圖投影技術(shù),以及自定義投影技術(shù)(例 如,滑雪區(qū)域地圖或體育場座位地圖)。知曉位置的應(yīng)用程序430可以無縫地 在不同投影技術(shù)之間移動(dòng)。地圖管理器440還向知曉位置的應(yīng)用程序430提供關(guān)于該組可用地圖的高 級事件。這些事件向知曉位置的應(yīng)用程序430提供了諸如滿足知曉位置的應(yīng)用 程序430所請求的準(zhǔn)則的若干地圖何時(shí)可用等重要信息。知曉位置的應(yīng)用程序 430不限于使用單個(gè)地圖來顯示。例如, 一個(gè)應(yīng)用程序可在一段時(shí)間內(nèi)使用街 道地圖,然后在另一時(shí)間期間使用地鐵地圖(例如,顯示公共汽車路線、地鐵 隧道等)。地圖管理器440根據(jù)其適用性順序來對地圖排序。當(dāng)沒有滿足知曉 位置的應(yīng)用程序430所提供的準(zhǔn)則的地圖可用,但地圖管理器440可定位滿足 某些準(zhǔn)則的地圖時(shí),則提供這些地圖。地圖管理器440還允許將新地圖動(dòng)態(tài)地提供到移動(dòng)設(shè)備上。地圖可在任何 時(shí)刻被下載到移動(dòng)設(shè)備上。例如,當(dāng)添加了新的運(yùn)輸路線時(shí),可以下載用于公 共交通運(yùn)輸應(yīng)用程序的新地圖。根據(jù)一個(gè)實(shí)施例,這些地圖使用兩個(gè)文件來表 示, 一個(gè)是二進(jìn)制文件且對地圖管理器440是不透明的,另一個(gè)是它所理解的 文件。根據(jù)一個(gè)實(shí)施例,該地圖使用XML文件來表示。地圖管理器440能夠 讀取該XML文件,并獲得將該地圖添加到移動(dòng)設(shè)備上的本地地圖數(shù)據(jù)存儲(chǔ)所 必需的信息。以下是地圖文件的示例性XML表示。<MapData Version="1.01,, MapProjection="SimpleGrid,, MetersPerPixel="2.80253449893166" MapInfoClass="none" CustomMapRender="none,,><SimpleLatLongRectangle MapFileName="device_map—1—O.PNG"><MapCoordinate Position="NorthWestComer,, Latitude="50.7867" Longitude="6.07814549019608" /><MapCoordinate Position-"NorthEastComer" Latitude="50.7867" Longitude="6.09407106666667"/><MapCoordinate Position="SouthWestCorner" Latitude="50,7766295454545" Longitude="6.07814726827094" /><MapCoordinate Position="SouthEastCorner', Latitude="50.7766295454545" Longitude="6.09406985757576" />
</SimpleLatLonRectangle>
</MapData>
mapprojection指的是用于顯示地圖的技術(shù)。在此具體示例中,地圖投影
類型是簡單網(wǎng)格。MetersPerPixel指的是地圖的平均分辨率。MapInfoClass 指的是是否有回答關(guān)于該地圖的問題所需要的自定義類。該字段允許開發(fā)者在 編程環(huán)境內(nèi)包括當(dāng)顯示地圖時(shí)可被調(diào)用的自定義類。類似地, CustomMapRenderer指的是是否需要自定義呈現(xiàn)引擎來繪制地圖。 MapFileName字段指的是包含地圖呈現(xiàn)引擎將用于繪制地圖的信息的二進(jìn)制 文件名。S[mpleLatLongRectangle字段將地圖標(biāo)識(shí)為由緯度和經(jīng)度坐標(biāo)定義
的矩形。
以下示例示出了所利用的某些自定義字段。
<MapData Version="1.01" MapProjection="SimpleGrid" MetersPerPixel="2.80253449893166" MapInfoClass-"CustomMapInfo 1" CustomMapRende產(chǎn)"CustomMapRender 1 ">
<CustomMapInfo 1 MapFiIeName="device—map— 1—O.PNG" classid="CustomMapEngine.MapInfoParser" />
<CustomMapRenderl MapFileName="device_map—1_0.PNG', classid="CustomMapEngine.MapRenderEngine,, />
</MapData>
地圖管理器440可具有在設(shè)備的地圖存儲(chǔ)442中可用的多個(gè)地圖,這些地 圖可被應(yīng)用程序430使用。地圖管理器440搜索設(shè)備的地圖存儲(chǔ)442中可用的 該組地圖,并査找將要使用的最佳地圖。在選擇之后,選中并呈現(xiàn)最適合的地 圖。
圖5描繪了在開發(fā)知曉位置的應(yīng)用程序時(shí)的交互的狀態(tài)圖500。在狀態(tài)510 處開始,定義感興趣的地理區(qū)域。對感興趣的區(qū)域的選擇可在部署知曉位置的應(yīng)用程序之前或之后發(fā)生。另外,該信息可在任何時(shí)刻被發(fā)送到移動(dòng)設(shè)備。感 興趣的區(qū)域是與地圖有關(guān)的預(yù)定義區(qū)域。感興趣的區(qū)域可以是可定義的任何大 小。例如,感興趣的區(qū)域可以是一平方米的大小或整個(gè)國家。感興趣的區(qū)域是 基于知曉位置的應(yīng)用程序的需求來定義的。例如,假設(shè)所開發(fā)的知曉位置的應(yīng)用程序確定孩子何時(shí)離開學(xué)校并回家。 在該具體示例中,感興趣的區(qū)域可以是包括學(xué)校的區(qū)域以及包括孩子的家的另一區(qū)域。某些感興趣的區(qū)域可由開發(fā)者選擇,而其它感興趣的區(qū)域可由用戶選 擇。例如,諸如上述示例等許多知曉位置的應(yīng)用程序是在向用戶提供了知曉位 置的應(yīng)用程序之后配置的。在以上示例中,家長可選擇感興趣的區(qū)域。狀態(tài)520示出對地圖和地圖服務(wù)器的選擇。開發(fā)者可在系統(tǒng)中可用的地圖 之間選擇,或者可創(chuàng)建其自己的地圖。根據(jù)本發(fā)明的一個(gè)實(shí)施例,可用地圖在 知曉位置的應(yīng)用程序之間共享,使得不同的知曉位置的應(yīng)用程序可使用相同的 地圖。以此方式,每一知曉位置的應(yīng)用程序不需要開發(fā)其自己的地圖。在大多 數(shù)情況下,地圖呈現(xiàn)的細(xì)節(jié)對知曉位置的應(yīng)用程序的開發(fā)者隱藏。萬一開發(fā)者 希望包括其自己的呈現(xiàn)軟件,則開發(fā)者可如以下進(jìn)一步描述地在狀態(tài)540處將 該呈現(xiàn)軟件結(jié)合到該環(huán)境中。在狀態(tài)530處,開發(fā)者對響應(yīng)于與知曉位置的應(yīng)用程序內(nèi)的感興趣的區(qū)域相關(guān)聯(lián)的事件而執(zhí)行的基于事件的位置代碼進(jìn)行編程。該基于事件的代碼取決 于所開發(fā)的知曉位置的應(yīng)用程序的類型,并且可包括許多不同類型的數(shù)據(jù)。例 如, 一程序可在用戶到達(dá)預(yù)定位置時(shí)執(zhí)行動(dòng)作。在上述跟蹤孩子的示例中,可 對一示例路線編程以基于在該特定時(shí)刻孩子的位置突出顯示家或?qū)W校。開發(fā)者 還可響應(yīng)于事件將項(xiàng)目放置到地圖上。在狀態(tài)540處,開發(fā)者還可設(shè)置用于地圖呈現(xiàn)的偏好。例如,開發(fā)者可能 希望對應(yīng)用程序的一部分使用基于矢量的呈現(xiàn)引擎,而對應(yīng)用程序的另一部分 使用基于位圖的系統(tǒng)。地圖引擎可由許多不同的源提供。希望構(gòu)建引擎的任何 開發(fā)者可提供符合編程接口的地圖引擎。每一地圖引擎被插入到開發(fā)系統(tǒng)中。在狀態(tài)550處,可使用真實(shí)和/或模擬的位置源來測試知曉位置的應(yīng)用程 序。該系統(tǒng)提供了位置源的模擬器,使得可在現(xiàn)場應(yīng)用之前測試知曉位置的應(yīng) 用程序。使用模擬的數(shù)據(jù)源向開發(fā)者提供了當(dāng)發(fā)生位置事件時(shí)要測試的基于事件的位置代碼。對模擬的位置源數(shù)據(jù)的另一使用是"回放"先前記錄的真實(shí)世 界位置數(shù)據(jù)。這對于應(yīng)用程序開發(fā)、測試和調(diào)試而言是有用的。圖6呈現(xiàn)了示出用于選擇地圖或其它基于位置的內(nèi)容的知曉位置的框架600的示例性實(shí)現(xiàn)的流程圖。最初,在獲取操作602處,獲取地像。操作 604指示該地像可以是從任何源獲取的任何任意圖像。例如,該地像 可以從顯示圖像的移動(dòng)設(shè)備中預(yù)存儲(chǔ)的源(例如,圖1的高速緩存模塊108) 獲得,或者從外部源獲得,不論是外部存儲(chǔ)器設(shè)備還是通過從地圖源(例如, 圖1的內(nèi)容服務(wù)器124)或甚至從另一用戶下載地像。該地像還可以 在下載到移動(dòng)設(shè)備之前由呈現(xiàn)圖像來動(dòng)態(tài)地呈現(xiàn)。顯示在移動(dòng)設(shè)備上的地圖可 具有各種分辨率,并且以各種格式儲(chǔ)存。只要路標(biāo)樹立和定向信息可被疊加在 地像上,任何任意的地圖就是可接受的。在顯示操作606處,在移動(dòng)設(shè)備上顯示所獲取的或動(dòng)態(tài)地呈現(xiàn)的地像 的至少一部分。由于諸如蜂窩電話、尋呼機(jī)或個(gè)人數(shù)字助理等移動(dòng)設(shè)備通常具 有小顯示屏,因此可能無法顯示整個(gè)地像。在某些情況下,如果顯示器足 夠大或地圖足夠小,則可顯示整個(gè)地像或其很大一部分。在只能顯示地圖 的一部分的情況下,可能期望在地像上疊加附加的導(dǎo)航項(xiàng)目,例如方向信 息或陸標(biāo)(以下稱為"陸標(biāo)")?;蛘撸@些陸標(biāo)可結(jié)合任何地圖顯示而不管 大小、分辨率或詳盡性。在第二顯示操作608中,這些陸標(biāo)實(shí)際上被顯示在地像上。在一個(gè)實(shí) 現(xiàn)中,陸標(biāo)可被疊加在地像上,使得路標(biāo)與周圍地形的關(guān)系可被看見???顯示多個(gè)陸標(biāo),不論是靜態(tài)的還是圍繞地像移動(dòng)的。在另一實(shí)現(xiàn)中, 一個(gè) 陸標(biāo)可被認(rèn)為是相對于地像上的其它陸標(biāo)的錨或參考對象。在建立操作610中, 一旦顯示了陸標(biāo),就可建立錨定該陸標(biāo)的參考對象。 或者,可以首先建立該錨對象,然后可顯示陸標(biāo)(即,操作608和610的時(shí)間 順序可交換)。錨對象可位于地像上的任何地方,不論是在顯示屏上還是 外?;蛘撸绻^對象從顯示屏移開,例如在用戶改變位置或改變顯示器的分 辨率的情況下,則可選擇顯示屏上的地圖區(qū)域內(nèi)的一新的錨對象。將陸標(biāo)錨定 到錨對象允許在陸標(biāo)和錨對象之間維持某些關(guān)系。例如,可確定錨對象和陸標(biāo) 之間的距離關(guān)系和方向關(guān)系。即使陸標(biāo)和錨對象本身圍繞顯示屏移動(dòng)、從顯示屏中消失或重新出現(xiàn)在顯 示屏上,也可維持該錨定關(guān)系。例如,錨對象最初可被顯示在地像的中央, 而其它陸標(biāo)圍繞該錨對象。在地像上不適合顯示維度的位置處的任何陸標(biāo) 可由該顯示維度內(nèi)指示該陸標(biāo)在地像的未看見部分上的相對位置的路標(biāo) 來引用。該路標(biāo)用于補(bǔ)救將地圖維持在某一特定細(xì)節(jié)水平同時(shí)維持關(guān)于有關(guān)無 法以該細(xì)節(jié)水平適合顯示的項(xiàng)目的關(guān)系的信息的問題。
一旦錨對象在適當(dāng)?shù)奈恢?,則在查詢操作612中確定陸標(biāo)或錨對象是否在
移動(dòng)設(shè)備的顯示屏上。如果對查詢操作612的回答是"是",即錨對象或陸標(biāo) 實(shí)際上的確適合在顯示屏區(qū)域內(nèi),則在顯示操作614中將錨對象或陸標(biāo)顯示在 屏幕上。只要錨對象或特定陸標(biāo)的位置保持在顯示屏上的地像的區(qū)域內(nèi), 就顯示錨對象和陸標(biāo)。注意,移動(dòng)設(shè)備的用戶可通過縮小或放大地像或通 過從一個(gè)物理位置移到另一個(gè)來改變所顯示的地像區(qū)域。例如,假設(shè)用戶 正在查看一地像并決定在該地圖的特定部分上遠(yuǎn)離顯示陸標(biāo)之處放大。如 果用戶放得足夠大,則陸標(biāo)不再適合在顯示器上(即,陸標(biāo)將仍位于地像 本身上,但是可能不再能在移動(dòng)設(shè)備屏幕上顯示)。
注意,當(dāng)移動(dòng)設(shè)備的用戶在地像上放大時(shí)所創(chuàng)建的地像的分辨率 越大,附加路標(biāo)就越有可能出現(xiàn)。并且,如果錨對象的位置離開了屏幕,則也 可使用路標(biāo)來指向錨對象。在這些情形中,維持操作616維持關(guān)于陸標(biāo)或錨對 象的路標(biāo),只要它在顯示屏的可查看區(qū)域之外。路標(biāo)樹立取決于陸標(biāo)或錨對象 是否能被顯示而被打開或關(guān)閉。由此,當(dāng)?shù)叵竦姆直媛驶蛴脩舻奈恢酶淖?時(shí),知曉位置的框架600的狀態(tài)在操作614和616之間交替。
此外,當(dāng)框架600在維持操作616時(shí),可實(shí)現(xiàn)一可任選的創(chuàng)建操作618。 在創(chuàng)建操作618中,創(chuàng)建一定向標(biāo)記以向用戶指示關(guān)于路標(biāo)所表示的陸標(biāo)的方 向、距離或其它信息。定向標(biāo)記可以自動(dòng)、在用戶請求時(shí)或在某一其它條件下 創(chuàng)建。定向標(biāo)記可包括相應(yīng)的方向矢量以幫助用戶相對于地像來定向其自 身。
圖7提供了關(guān)于以上圖6的維持操作616的附加細(xì)節(jié),該操作在圖7中被 重新標(biāo)號為操作702。在査詢操作704中,判定要顯示幾種可能類型的可用信 息中的哪一種作為路標(biāo)的一部分。第一可能性在操作706處指示,其中顯示屏幕外陸標(biāo)的名字作為路標(biāo)。名 字僅是示例性的,并且可改為使用其它標(biāo)識(shí)符號,例如數(shù)字或圖形圖標(biāo)。在操 作708處描繪的第二種可能性是指示陸標(biāo)到錨對象的距離。也可顯示其它關(guān)系,諸如錨對象和陸標(biāo)之間的時(shí)間關(guān)系。在操作710中描繪的第三種可能性是開發(fā)一定向引用。該定向引用可用于指向用戶必須移動(dòng)以到達(dá)該陸標(biāo)的相對于錨對 象的方向。定向引用不必確切地指向陸標(biāo),即像矢量那樣,而是可基本上指向 適當(dāng)?shù)姆较??;蛘?,對于更?zhǔn)確的描述,可提供具有到陸標(biāo)的矢量的定向標(biāo)記。錨對象和陸標(biāo)之間的方向矢量的創(chuàng)建在創(chuàng)建操作712中指示。也可提供允許用戶使用 矢量來將其自身與不與地像相關(guān)聯(lián)的定向標(biāo)記,例如太陽的位置對齊的方 向矢量。方向矢量也可用于幫助明確樹立路標(biāo)的陸標(biāo)、定向標(biāo)記和錨對象之間 的特殊關(guān)系。最后,在更新操作714中,可動(dòng)態(tài)地更新可在路標(biāo)中顯示的任何關(guān)系。由 此,陸標(biāo)可在例如一個(gè)陸標(biāo)對應(yīng)于移動(dòng)設(shè)備的用戶,而該用戶然后將該移動(dòng)設(shè) 備給予將經(jīng)由該移動(dòng)設(shè)備來跟蹤的第二用戶時(shí)改變名字。當(dāng)然,定向引用、矢 量或其他東西以及距離計(jì)算不必在移動(dòng)設(shè)備的用戶在地像所定義的區(qū)域 中移動(dòng)時(shí)更新。圖8描繪了用于在基于位置的高速緩存系統(tǒng)中使用的示例性移動(dòng)設(shè)備 800。移動(dòng)設(shè)備800包括如在任何標(biāo)準(zhǔn)計(jì)算設(shè)備中的處理器802以及存儲(chǔ)器804。 下文中所描述的處理器802、存儲(chǔ)器804、以及其他組件可以通過系統(tǒng)總線814 來接口。系統(tǒng)總線814可以是若干類型的總線結(jié)構(gòu)中的任何一種,包括存儲(chǔ)器 總線或存儲(chǔ)器控制器、外圍總線、交換光纖、點(diǎn)對點(diǎn)連接、以及局部總線。存 儲(chǔ)器804 —般包括易失性存儲(chǔ)器(例如,RAM)和非易失性存儲(chǔ)器(例如, ROM、 PCMCIA卡)。操作系統(tǒng)806可以在存儲(chǔ)器804中駐留并且在處理器 802上執(zhí)行。示例性操作系統(tǒng)可以是來自微軟公司的WINDOWS CE操作系統(tǒng)。一個(gè)或多個(gè)應(yīng)用程序806可被加載到存儲(chǔ)器804中以由處理器806結(jié)合操 作系統(tǒng)606來執(zhí)行。示例性應(yīng)用程序可包括電子郵件程序、日程安排程序、個(gè) 人信息管理程序、文字處理程序、電子數(shù)據(jù)表程序、因特網(wǎng)瀏覽器程序、音樂 文件管理程序、以及照片和視頻文件管理程序。存儲(chǔ)器804還可包括在處理器802上執(zhí)行的通知管理器810。如將在以下更詳細(xì)描述的,通知管理器810處 理從應(yīng)用程序808到一個(gè)或多個(gè)用戶通知設(shè)備的通知請求。移動(dòng)計(jì)算設(shè)備800還具有可以使用一個(gè)或多個(gè)電池來實(shí)現(xiàn)的電源812。通 過使用代替電池或?yàn)殡姵刂匦鲁潆姷呐c移動(dòng)設(shè)備800相連接的電源線或供電數(shù) 據(jù)傳輸電纜,電源812也可以來自外部AC源。電源812被連接到移動(dòng)設(shè)備600 的大多數(shù)(如果不是全部)組件以供每個(gè)組件工作。在一個(gè)實(shí)施例中,移動(dòng)設(shè)備800可包括通信能力,例如,移動(dòng)設(shè)備800 作為無線電話來工作。具有電話能力的電話無線設(shè)備800 —般包括用于與無線 電話網(wǎng)接口的天線816、發(fā)射機(jī)818、以及接收機(jī)820。另外,移動(dòng)設(shè)備800 可包括話筒834以及揚(yáng)聲器836以供用戶進(jìn)行電話通信。揚(yáng)聲器836還可以是 用于與有線或無線耳機(jī)或頭戴式耳機(jī)相連接的有線或無線輸出端口的形式。移動(dòng)設(shè)備800可以通過一個(gè)或多個(gè)通信接口 822與眾多其他網(wǎng)絡(luò)相連接, 例如,無線LAN (Wi-Fi)網(wǎng)絡(luò)、有線LAN或WAN、 GPRS、藍(lán)牙、UMTS 或任何其他網(wǎng)絡(luò)。天線816或多根天線可用于不同的通信目的,例如,射頻識(shí) 別(RFID)、微波發(fā)射和接收、Wi-Fi發(fā)射和接收、以及藍(lán)牙發(fā)射和接收。移動(dòng)設(shè)備800 —般還包括某一類型的用戶界面。如圖8所示,移動(dòng)設(shè)備 800可具有鍵盤824和顯示器826。鍵盤824可以是有限數(shù)字觸摸墊、全"qwerty" 鍵盤、或兩者的組合。"鍵盤824也可包括專用按鈕、滾輪、跟蹤球、以及其 他界面選項(xiàng),例如,菜單選擇或?qū)Ш芥I或電話功能鍵。除了描繪信息,顯示器 826還可以是觸摸屏顯示器,該顯示器允許通過用用戶的手指或指示筆觸摸顯 示屏以通過圖形界面來做出輸入選擇或直接在在顯示器826上寫字母和數(shù)字來 輸入數(shù)據(jù)。移動(dòng)設(shè)備800還可具有一個(gè)或多個(gè)外部通知機(jī)制。在圖8所描繪的實(shí)施例 中,移動(dòng)設(shè)備800包括音頻生成器828、發(fā)光二極管(LED) 830、以及振動(dòng)設(shè) 備832。這些設(shè)備可直接耦合到電源812,使得當(dāng)被激活時(shí),即使處理器802 以及其它組件可能關(guān)閉以節(jié)省電池電量,它們也可保持一段由通知管理器810 控制的保持通電時(shí)間。可用作內(nèi)容服務(wù)器的示例性硬件和操作環(huán)境在圖9中示出。該硬件包括計(jì) 算機(jī)900形式的通用計(jì)算設(shè)備,包括處理單元902、系統(tǒng)存儲(chǔ)器904、以及操作上將包括系統(tǒng)存儲(chǔ)器904在內(nèi)的各種系統(tǒng)組件耦合至處理單元902的系統(tǒng)總 線918??梢灾淮嬖谝粋€(gè)或者存在一個(gè)以上處理單元902,使得計(jì)算機(jī)900的 處理器包括單個(gè)中央處理單元(CPU),或者多個(gè)處理單元,通常稱為并行處 理環(huán)境。計(jì)算機(jī)900可以是常規(guī)計(jì)算機(jī)、分布式計(jì)算機(jī)、或者任何其他類型的 計(jì)算機(jī),本發(fā)明不限于此。
系統(tǒng)總線918可以是幾種類型的總線體系結(jié)構(gòu)中的任何一種,包括存儲(chǔ)器 總線或存儲(chǔ)控制器、外圍總線、交換光纖、點(diǎn)對點(diǎn)連接、以及使用各種總線體 系結(jié)構(gòu)中的任一種的局部總線。系統(tǒng)存儲(chǔ)器904可被簡單地稱為存儲(chǔ)器,并且 包括只讀存儲(chǔ)器(ROM)卯6和隨機(jī)存取存儲(chǔ)器(RAM) 905。基本輸入/輸出 系統(tǒng)(BIOS) 908被存儲(chǔ)在ROM 906中,它包含幫助在諸如啟動(dòng)期間在計(jì)算 機(jī)900內(nèi)各元件之間傳遞信息的基本例程。計(jì)算機(jī)900還可包括用于對硬盤(未 示出)進(jìn)行讀寫的硬盤驅(qū)動(dòng)器930,用于對可移動(dòng)磁盤936進(jìn)行讀寫的磁盤驅(qū) 動(dòng)器932,以及用于對可移動(dòng)光盤938,如CDROM或其它光介質(zhì)進(jìn)行讀寫的 光盤驅(qū)動(dòng)器934。
硬盤驅(qū)動(dòng)器930、磁盤驅(qū)動(dòng)器932和光盤驅(qū)動(dòng)器934分別由硬盤驅(qū)動(dòng)器接 口 920、磁盤驅(qū)動(dòng)器接口 922和光盤驅(qū)動(dòng)器接口 924連接到系統(tǒng)總線918。驅(qū) 動(dòng)器及其相關(guān)聯(lián)的計(jì)算機(jī)可讀介質(zhì)為計(jì)算機(jī)900提供了計(jì)算機(jī)可讀指令、數(shù)據(jù) 結(jié)構(gòu)、程序模塊和其它數(shù)據(jù)的非易失性存儲(chǔ)。本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解,在 示例操作環(huán)境中可以使用可儲(chǔ)存可由計(jì)算機(jī)訪問的數(shù)據(jù)的任何類型的計(jì)算機(jī) 可讀介質(zhì),例如,磁帶盒、閃存卡、數(shù)字視頻盤、RAM、以及ROM。
多個(gè)程序模塊可被儲(chǔ)存在硬盤930、磁盤932、光盤934、 ROM 906、或 RAM 905上,包括操作系統(tǒng)910、 一個(gè)或多個(gè)應(yīng)用程序912、其它程序模塊914、 以及程序數(shù)據(jù)916。在一個(gè)示例性實(shí)現(xiàn)中,知曉位置的地圖管理和操作可以作 為操作系統(tǒng)910、應(yīng)用程序912、或其他程序模塊914的一部分而被包含在內(nèi)。 狀態(tài)描述文件、對象數(shù)據(jù)值、以及其他數(shù)據(jù)可作為程序數(shù)據(jù)916來儲(chǔ)存。
用戶可通過諸如鍵盤940和如鼠標(biāo)等定點(diǎn)設(shè)備942等的輸入設(shè)備向個(gè)人計(jì) 算機(jī)900中輸入命令和信息。其他輸入設(shè)備(未示出)可包括,例如,話筒、 操縱桿、游戲手柄、圖形輸入板、觸摸屏設(shè)備、圓盤式衛(wèi)星天線、掃描儀、傳 真機(jī)、以及攝像機(jī)。這些和其它輸入設(shè)備通常通過耦合到系統(tǒng)總線918的串行
24端口接口 926連接到處理單元902,但也可通過其它接口連接,如并行端口、 游戲端口、或通用串行總線(USB)。
監(jiān)視器944或其它類型的顯示設(shè)備也經(jīng)由諸如視頻適配器946等接口連接 至系統(tǒng)總線918。除監(jiān)視器944之外,計(jì)算機(jī)通常包括其它外圍輸出設(shè)備,如 打印機(jī)958和揚(yáng)聲器(未示出)。這些和其它輸入設(shè)備通常通過耦合到系統(tǒng)總 線918的串行端口接口 926連接到處理單元902,但也可通過其它接口連接, 如并行端口、游戲端口、或通用串行總線(USB)。
計(jì)算機(jī)900可使用至一個(gè)或多個(gè)遠(yuǎn)程計(jì)算機(jī),諸如遠(yuǎn)程計(jì)算機(jī)954的邏輯 連接在網(wǎng)絡(luò)化環(huán)境中操作。這些邏輯連接由耦合至計(jì)算機(jī)900或者與其整合的 通信設(shè)備來實(shí)現(xiàn),本發(fā)明不限于特定類型的通信設(shè)備。遠(yuǎn)程計(jì)算機(jī)954可以是 另一計(jì)算機(jī)、服務(wù)器、路由器、網(wǎng)絡(luò)個(gè)人計(jì)算機(jī)、客戶機(jī)、對等設(shè)備或其它常 見的網(wǎng)絡(luò)節(jié)點(diǎn),并且通常包括許多或所有以上相對于計(jì)算機(jī)900所描述的元件, 盡管在圖9中僅示出了存儲(chǔ)器存儲(chǔ)設(shè)備956。圖9所描繪的邏輯連接包括局域 網(wǎng)(LAN) 950和廣域網(wǎng)(WAN) 952。這樣的網(wǎng)絡(luò)環(huán)境常見于辦公室網(wǎng)絡(luò)、 企業(yè)范圍計(jì)算機(jī)網(wǎng)絡(luò)、內(nèi)聯(lián)網(wǎng)和因特網(wǎng),這些網(wǎng)絡(luò)可以是所有類型的網(wǎng)絡(luò)。
當(dāng)在LAN 950環(huán)境中使用時(shí),計(jì)算機(jī)900通過作為一種類型的通信設(shè)備 的網(wǎng)絡(luò)接口或適配器928連接到局域網(wǎng)950。當(dāng)在WAN 952環(huán)境中使用時(shí), 計(jì)算機(jī)900通常包括調(diào)制解調(diào)器948、網(wǎng)絡(luò)適配器、或用于通過廣域網(wǎng)952建 立通信的任何其他類型的通信設(shè)備。或?yàn)閮?nèi)置或?yàn)橥庵玫恼{(diào)制解調(diào)器948經(jīng)由 串行端口接口 926連接到系統(tǒng)總線918。在網(wǎng)絡(luò)化環(huán)境中,相對于個(gè)人計(jì)算機(jī) 900所描繪的程序模塊或其部分可以存儲(chǔ)在遠(yuǎn)程存儲(chǔ)器存儲(chǔ)設(shè)備中??梢岳斫猓?所示的網(wǎng)絡(luò)連接是示例性的,且可以使用在計(jì)算機(jī)之間建立通信鏈路的其它手 段和通信設(shè)備。
此處所描述的技術(shù)可在一個(gè)或多個(gè)系統(tǒng)中被實(shí)現(xiàn)為邏輯操作和/或模塊。 邏輯操作可被實(shí)現(xiàn)為在一個(gè)或多個(gè)計(jì)算機(jī)系統(tǒng)中執(zhí)行的處理器實(shí)現(xiàn)的步驟的 序列以及在一個(gè)或多個(gè)計(jì)算機(jī)系統(tǒng)中的互連機(jī)器或電路模塊。同樣地,各組件 模塊的描述可以按照由模塊執(zhí)行或?qū)崿F(xiàn)的操作來提供。所得的實(shí)現(xiàn)是取決于實(shí) 現(xiàn)所描述的技術(shù)的底層系統(tǒng)的性能要求的選擇問題。從而,組成此處所述的技 術(shù)的實(shí)施例的邏輯操作被不同地稱為操作、步驟、對象或模塊。此外,應(yīng)該理解,除非以其他方式明確地要求保護(hù)或權(quán)利要求語言固有地需要一特定的次 序,否則邏輯操作可以按任何次序來執(zhí)行。以上說明、示例和數(shù)據(jù)提供了對本發(fā)明的各示例性實(shí)施例的結(jié)構(gòu)和使用的 全面描述。盡管以上帶著一定程度的特殊性或?qū)σ粋€(gè)或多個(gè)單獨(dú)實(shí)施例的參考 描述了本發(fā)明的各實(shí)施例,但是本領(lǐng)域的技術(shù)人員能夠?qū)λ_的實(shí)施例做出 多種更改而不背離本發(fā)明的精神或范圍。更具體地,應(yīng)該理解,所描述的技術(shù) 可以獨(dú)立于個(gè)人計(jì)算機(jī)來采用。因此構(gòu)想了其他實(shí)施例。其目的是以上描述中 所包含以及在附圖中所示出的所有一切應(yīng)當(dāng)解釋為僅僅是說明了特定實(shí)施例 而非限制??梢詫?xì)節(jié)或結(jié)構(gòu)做出改變而不背離如所附權(quán)利要求書中定義的本發(fā)明的基本要素。
權(quán)利要求
1.一種用于向移動(dòng)通信設(shè)備(102)動(dòng)態(tài)地提供位置相關(guān)內(nèi)容的方法,所述方法包括跟蹤所述移動(dòng)通信設(shè)備的當(dāng)前位置(302);預(yù)測所述移動(dòng)通信設(shè)備的將來位置(306);確定與所述將來位置相關(guān)的內(nèi)容當(dāng)前是否儲(chǔ)存在所述移動(dòng)通信設(shè)備上(308);以及在確定所述內(nèi)容當(dāng)前未儲(chǔ)存在所述移動(dòng)通信設(shè)備上時(shí),經(jīng)由網(wǎng)絡(luò)連接從內(nèi)容存儲(chǔ)檢索所述內(nèi)容(314)。
2. 如權(quán)利要求1所述的方法,其特征在于,還包括經(jīng)由所述移動(dòng)通信設(shè) 備的界面向用戶呈現(xiàn)所述內(nèi)容(316)。
3. 如權(quán)利要求2所述的方法,其特征在于,所述界面包括可視顯示(826)。
4. 如權(quán)利要求1所述的方法,其特征在于,所述內(nèi)容包括包含所述移動(dòng) 通信設(shè)備(102)的將來位置(202b)的區(qū)域的地圖。
5. 如權(quán)利要求1所述的方法,其特征在于,還包括通過以下步驟管理所 述移動(dòng)通信設(shè)備上所述內(nèi)容的存儲(chǔ)在從所述內(nèi)容存儲(chǔ)檢索到所述內(nèi)容時(shí)將所述內(nèi)容儲(chǔ)存在所述移動(dòng)通信設(shè) 備上;以及清除與所述移動(dòng)通信設(shè)備的將來位置最不相關(guān)的不相關(guān)內(nèi)容的內(nèi)容。
6. 如權(quán)利要求1所述的方法,其特征在于,還包括基于所述移動(dòng)通信設(shè) 備上儲(chǔ)存的上下文信息選擇所述內(nèi)容。
7. 如權(quán)利要求6所述的方法,其特征在于,所述上下文信息包括所述移 動(dòng)通信設(shè)備的用戶的偏好信息。
8. 如權(quán)利要求6所述的方法,其特征在于,所述上下文信息包括關(guān)于所 述移動(dòng)通信設(shè)備的狀態(tài)信息。
9. 如權(quán)利要求6所述的方法,其特征在于,所述上下文信息包括所述移 動(dòng)通信設(shè)備的移動(dòng)信息。
10. —種具有用于執(zhí)行實(shí)現(xiàn)如權(quán)利要求1所述的方法的計(jì)算機(jī)進(jìn)程的計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)可讀介質(zhì)。
11. 一種基于位置的高速緩存系統(tǒng)(00),包括 移動(dòng)通信設(shè)備(102),所述移動(dòng)通信設(shè)備還包括.確定所述移動(dòng)通信設(shè)備(102)的當(dāng)前位置的位置確定模塊(104); 估計(jì)所述移動(dòng)通信設(shè)備(102)的將來位置的方向估計(jì)器模塊G06); 儲(chǔ)存與所述將來位置相關(guān)的內(nèi)容的內(nèi)容容器(110);提供到所述移動(dòng)通信設(shè)備(102)的網(wǎng)絡(luò)連通性的連接管理模塊(114);以及經(jīng)由所述連接管理模塊(114)從所述內(nèi)容容器(110)或所述移動(dòng) 通信設(shè)備(102)外部的替換內(nèi)容源選擇與所述將來位置相關(guān)的內(nèi)容的高速緩存模塊(108);以及向所述移動(dòng)通信設(shè)備(102)提供與所述將來位置相關(guān)的內(nèi)容的內(nèi)容服務(wù)器(124);連接所述移動(dòng)通信設(shè)備(102)和所述內(nèi)容服務(wù)器(124)的網(wǎng)絡(luò)(122);以及可由所述移動(dòng)通信設(shè)備(102)訪問的、關(guān)于所述移動(dòng)通信設(shè)備(102)的 當(dāng)前位置信息源(116)。
12. 如權(quán)利要求11所述的基于位置的高速緩存系統(tǒng)(100),其特征在于 所述移動(dòng)通信設(shè)備(102)還包括用戶界面(824、 826);以及 所述當(dāng)前位置信息源包括由用戶經(jīng)由所述用戶界面(824、 826)輸入到所述移動(dòng)通信設(shè)備(102)中的數(shù)據(jù)。
13. 如權(quán)利要求ll所述的基于位置的高速緩存系統(tǒng),其特征在于 所述移動(dòng)通信設(shè)備(102)還包括用戶界面(824、 826);以及 與所述將來位置有關(guān)的所述內(nèi)容經(jīng)由所述用戶界面(824、 826)呈現(xiàn)給用戶。
14. 如權(quán)利要求13所述的基于位置的高速緩存系統(tǒng),其特征在于,所述 內(nèi)容是地圖(202),而所述用戶界面是可視顯示(826)。
15.如權(quán)利要求11所述的基于位置的高速緩存系統(tǒng)(100),其特征在于 所述當(dāng)前位置信息源包括全球定位系統(tǒng)服務(wù)(116);以及所述移動(dòng)通信設(shè)備(102)還包括全球定位系統(tǒng)接收機(jī)。
16. 如權(quán)利要求11所述的基于位置的高速緩存系統(tǒng)(100),其特征在于: 所述源包括通信信號(118、 120)的集合;以及所述移動(dòng)通信設(shè)備(102)中的位置確定模塊(104)適用于基于所述通信 信號(118、 120)的集合對所述移動(dòng)通信設(shè)備(102)的當(dāng)前位置進(jìn)行三角測
17. —種提供基于位置的高速緩存功能的移動(dòng)通信設(shè)備(102),包括 確定所述移動(dòng)通信設(shè)備(102)的當(dāng)前位置的位置確定模塊(104); 估計(jì)所述移動(dòng)通信設(shè)備(102)的將來位置的方向估計(jì)器模塊(106); 儲(chǔ)存與所述將來位置相關(guān)的內(nèi)容的內(nèi)容容器(110); 提供到所述移動(dòng)通信設(shè)備(102)的網(wǎng)絡(luò)連通性的連接管理模塊(114);以及經(jīng)由所述連接管理模塊(114)從所述內(nèi)容容器(110)或所述移動(dòng)通信設(shè) 備(102)外部的替換內(nèi)容源選擇與所述將來位置相關(guān)的所述內(nèi)容的高速緩存 模塊(108)。
18. 如權(quán)利要求17所述的移動(dòng)通信設(shè)備(102),其特征在于,還包括向 用戶呈現(xiàn)與所述將來位置相關(guān)的所述內(nèi)容的用戶界面(824、 826)。
19. 如權(quán)利要求18所述的移動(dòng)通信設(shè)備,其特征在于,所述用戶界面包 括可視顯示(826)。
20. 如權(quán)利要求17所述的移動(dòng)通信設(shè)備(102),其特征在于,所述位置 確定模塊(104)適用于基于通信信號(118、 ]20)的集合對所述移動(dòng)通信設(shè) 備(102)的當(dāng)前位置進(jìn)行三角測量。
全文摘要
一種基于位置的高速緩存系統(tǒng)(100)為移動(dòng)通信設(shè)備(102)提供了動(dòng)態(tài)地提供與用戶的位置有關(guān)的內(nèi)容的能力。內(nèi)容可包括預(yù)期移動(dòng)設(shè)備的用戶行進(jìn)的路線的一系列地圖段。也可提供其它相關(guān)內(nèi)容,例如與所行進(jìn)的路線相關(guān)的名勝信息。該系統(tǒng)跟蹤移動(dòng)設(shè)備(102)的當(dāng)前位置,并預(yù)測移動(dòng)設(shè)備(102)的將來位置?;趯砦恢玫念A(yù)測,高速緩存模塊(108)確定與將來位置有關(guān)的內(nèi)容當(dāng)前是否被儲(chǔ)存在移動(dòng)設(shè)備(102)上。如果適當(dāng)?shù)膬?nèi)容不在移動(dòng)設(shè)備(102)上,則高速緩存模塊(108)經(jīng)由網(wǎng)絡(luò)連接(122)從內(nèi)容服務(wù)器(124)檢索該內(nèi)容。內(nèi)容信息可以基于例如用戶偏好、移動(dòng)信息以及設(shè)備狀態(tài)信息來從上下文上選擇。
文檔編號H04L29/08GK101405572SQ200780009364
公開日2009年4月8日 申請日期2007年2月13日 優(yōu)先權(quán)日2006年3月15日
發(fā)明者G·P·布拉徹, I·W·塞爾莫, R·費(fèi)斯?fàn)? W·馬努瑟克 申請人:微軟公司