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

用于提供基于位置的事件服務(wù)的方法和系統(tǒng)的制作方法

文檔序號:7744006閱讀:149來源:國知局
專利名稱:用于提供基于位置的事件服務(wù)的方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及用于提供基于移動用戶位置的事件服務(wù)的方法、系統(tǒng)和計算機程序產(chǎn)品。
背景技術(shù)
近來,移動通信和計算設(shè)備得到了廣泛使用。這些設(shè)備在小型和便攜組件中提供通信、計算和連接能力。這種設(shè)備的實例包括移動電話和個人數(shù)字助理(PDA)。其中一種可用于這些設(shè)備的能力是方位探測能力,它允許與所述設(shè)備相連的設(shè)備和/或通信網(wǎng)絡(luò)確定所述設(shè)備的方位。這種方位探測能力可以支持基于位置的事件處理能力?;谖恢玫氖录t是在由用戶移動設(shè)備位置確定的一個或一組移動用戶的位置相關(guān)信息滿足一個預(yù)定規(guī)則的時候觸發(fā)的。位置相關(guān)特性的實例包括位置、速度或其它位置相關(guān)活動。例如,用戶可以定義這樣一個規(guī)則,即在人員A進(jìn)入某個區(qū)域以及人員B在離某個地址2英里以內(nèi)的時候,將一個消息發(fā)送到第三方C。
支持基于位置的事件的系統(tǒng)需要更新系統(tǒng)中移動用戶的位置。通常,移動用戶位置是基于一個固定的周期性調(diào)度來更新的。而使用周期性更新則是因為移動設(shè)備位置確定的成本和復(fù)雜性造成實時追蹤移動用戶位置的成本很高并且非常困難。典型的移動網(wǎng)絡(luò)可以包括數(shù)千或數(shù)百萬的移動用戶。對基于固定的周期性調(diào)度的移動用戶位置更新而言,由于與之相關(guān)的網(wǎng)絡(luò)業(yè)務(wù)量開銷很高,因此將會導(dǎo)致出現(xiàn)問題。由此產(chǎn)生了對于某種技術(shù)的需要,所述技術(shù)能夠提供移動用戶位置更新,但與常規(guī)技術(shù)相比則減少了網(wǎng)絡(luò)業(yè)務(wù)量開銷。

發(fā)明內(nèi)容
本發(fā)明是一種用于提供基于移動用戶位置的事件服務(wù)的方法、系統(tǒng)和計算機程序產(chǎn)品。本發(fā)明使用了一個“位置緩存器”來為移動用戶保存近期位置信息,以便減少對于昂貴和費時的定位請求的需要,并且本發(fā)明還對確定位置的時間進(jìn)行智能調(diào)度,由此本發(fā)明提供了改善的效率。本發(fā)明保持了關(guān)于事件條件和事件所涉及用戶的過去位置、速度的信息,并且還保持了其他信息。關(guān)于事件的記錄是在登記基于位置的事件的時候創(chuàng)建的,所述記錄會在觸發(fā)事件之后終止。對與事件相關(guān)的每一個用戶而言,所述系統(tǒng)保持了用戶位置滿足事件條件時的預(yù)測事件時間。該預(yù)測事件時間確定何時執(zhí)行下一次定位。在這個預(yù)測時間將會通過發(fā)送一個定位請求來獲取移動用戶的實際位置。根據(jù)定位結(jié)果,事件管理模塊觸發(fā)所述事件或者更新預(yù)測時間以及用戶過去的位置。而預(yù)測時間則是作為用戶過去的位置和速度信息、目的地位置信息以及事件特征的函數(shù)來計算的。
根據(jù)本發(fā)明,一種用于提供基于事件的服務(wù)的方法,,包括如下步驟a)獲取用于指示至少一個移動用戶當(dāng)前位置的信息,所述至少一個移動用戶包括一個選定的移動用戶,b)基于所指示的至少一個移動用戶的當(dāng)前位置來確定是否滿足了與至少一個移動用戶位置相關(guān)聯(lián)的至少一個條件,c)如果有至少一個條件得到滿足,則執(zhí)行至少一個事件,以及d)在重復(fù)步驟a)~c)之前,確定一個等待時間間隔。
確定等待時間間隔的步驟可以包括如下步驟選擇一個最不可能使條件得到滿足的移動用戶,以及根據(jù)選定移動用戶來確定等待時間間隔。根據(jù)選定移動用戶來確定一個等待時間間隔的步驟可以包括如下步驟基于以下至少一個因素來確定選定移動用戶可能滿足條件的時間即選定移動用戶的當(dāng)前位置到涉及所述條件的區(qū)域的距離,以及選定移動用戶的速度,并且基于估算得到的選定用戶可能滿足條件的時間和時間容差來確定等待時間間隔。所述獲取步驟可以包括如下步驟在一個可用于保存那些指示移動用戶位置的信息的緩存器中搜索指示至少一個移動用戶位置的信息,以及如果在緩存器中發(fā)現(xiàn)了指示至少一個移動用戶位置的信息,則使用指示至少一個移動用戶位置的信息作為指示至少一個移動用戶當(dāng)前位置的信息,如果在緩存器中沒有發(fā)現(xiàn)指示至少一個移動用戶位置的信息,則查詢至少一個移動定位服務(wù)器,以便獲取指示至少一個移動用戶當(dāng)前位置的信息。
所述至少一個事件可以包括發(fā)送一個消息。所述消息可以發(fā)送到一個移動用戶,也可以發(fā)送到一個非移動用戶。所述至少一個條件可以涉及一個移動用戶的位置,也可以涉及多個移動用戶的位置,還可以涉及一個移動用戶的位置和一個時間。


通過參考附圖,可以在結(jié)構(gòu)和操作方面得到關(guān)于本發(fā)明細(xì)節(jié)的最佳理解,其中相同的附圖標(biāo)記和標(biāo)志指的是相同的元件。
圖1是可以實施本發(fā)明的網(wǎng)絡(luò)系統(tǒng)100的示范性框圖。
圖2是圖1所示的位置管理系統(tǒng)的示范性框圖。
圖3是圖2所示的位置管理系統(tǒng)中包含的處理模塊的交互作用的示范性框圖。
圖4是圖3所示的位置獲取模塊的操作處理的示范性流程圖。
圖5是圖3所示的位置獲取模塊的操作的示范性數(shù)據(jù)流程圖。
圖6是圖4所示的處理步驟的子過程的示范性流程圖。
圖7是依照本發(fā)明的確定時間間隔的應(yīng)用的實例。
具體實施例方式
在圖1中顯示了可以執(zhí)行本發(fā)明的網(wǎng)絡(luò)系統(tǒng)100的示范性框圖。網(wǎng)絡(luò)系統(tǒng)100包括網(wǎng)絡(luò)102。網(wǎng)絡(luò)102提供了多個設(shè)備的通信互連,例如移動用戶設(shè)備104A~104F和網(wǎng)絡(luò)設(shè)備106A~106F。如果恰當(dāng)?shù)脑?,網(wǎng)絡(luò)102還可以包括互連的無線和有線網(wǎng)絡(luò)。無線網(wǎng)絡(luò)中的傳輸介質(zhì)通常是電磁輻射,例如無線電波或光。有線網(wǎng)絡(luò)中的傳輸介質(zhì)則通常是銅纜或光纜。
網(wǎng)絡(luò)102可以包括一個或多個局域網(wǎng)(LAN),一個或多個廣域網(wǎng)(WAN),或者同時包括LAN和WAN。在網(wǎng)絡(luò)102中可以包括一個或多個網(wǎng)絡(luò),這些網(wǎng)絡(luò)可以既包括因特網(wǎng)這樣的公共網(wǎng)絡(luò)又包括私有網(wǎng)絡(luò),并且可以使用任何一種聯(lián)網(wǎng)技術(shù)和協(xié)議,例如以太網(wǎng)、令牌環(huán)網(wǎng)、傳輸控制協(xié)議/網(wǎng)際協(xié)議(TCP/IP)等等。盡管圖1并未顯示,但是網(wǎng)絡(luò)102可以連接、互連或?qū)拥揭粋€或多個無線網(wǎng)絡(luò)或是一個或多個有線網(wǎng)絡(luò)。
移動用戶設(shè)備104A-104F可以包括由無線網(wǎng)絡(luò)移動用戶操作或擁有的任何類型的移動電子數(shù)據(jù)處理系統(tǒng)或通信設(shè)備。這種電子數(shù)據(jù)處理系統(tǒng)的實例包括桌面或膝上型計算機這樣的個人計算機系統(tǒng),個人數(shù)字助理(PDA)以及諸如蜂窩電話這樣的無線通信設(shè)備等等。在一個移動用戶設(shè)備即為計算機系統(tǒng)的實施例中,所述計算機系統(tǒng)可以直接與網(wǎng)絡(luò)102相連,也可以通過一個或多個其他網(wǎng)絡(luò)、網(wǎng)關(guān)、防火墻等設(shè)備間接連接到網(wǎng)絡(luò)102。在一個移動用戶設(shè)備是PDA或無線通信設(shè)備等其他類型設(shè)備的實施例中,根據(jù)情況,與網(wǎng)絡(luò)102之間的連接可以是直接或間接的,有線的,無線的,或者是有線與無線相結(jié)合。通常,移動用戶設(shè)備104A~104F的用戶界面是一個圖形用戶界面,但是也可以采用其他界面。例如,客戶系統(tǒng)可以包括那些以通信方式連接到一個按鍵式響應(yīng)單元或語音響應(yīng)單元的蜂窩電話,其中蜂窩電話接受按鍵音或語音命令并且將其在網(wǎng)絡(luò)102上傳送,此外所述蜂窩電話還經(jīng)由網(wǎng)絡(luò)102來接收響應(yīng),并且將接收到的響應(yīng)轉(zhuǎn)換成音頻,以及將接收到的響應(yīng)發(fā)送到客戶機系統(tǒng)。
網(wǎng)絡(luò)設(shè)備106A~106C可以包括由無線網(wǎng)絡(luò)中的非移動用戶操作或擁有的任何類型的電子數(shù)據(jù)處理系統(tǒng)或通信設(shè)備。這種電子數(shù)據(jù)處理系統(tǒng)的實例包括服務(wù)器、路由器、交換機、網(wǎng)橋、語音或音調(diào)應(yīng)答單元等等。網(wǎng)絡(luò)設(shè)備106A~106C可以直接連接到網(wǎng)絡(luò)102,但是也可以經(jīng)由一個或多個其他網(wǎng)絡(luò)、網(wǎng)關(guān)、防火墻等設(shè)備間接連接到網(wǎng)絡(luò)102。
位置管理系統(tǒng)108也以通信方式連接到網(wǎng)絡(luò)102。位置管理系統(tǒng)108與連接到網(wǎng)絡(luò)102的移動用戶設(shè)備104A~104F以及網(wǎng)絡(luò)設(shè)備106A~106C相對接,并且提供基于移動用戶操作或占有的移動用戶設(shè)備所確定的移動用戶位置的服務(wù)。
在圖2中顯示了圖1所示的位置管理系統(tǒng)108的示范性框圖。位置管理系統(tǒng)108通常是一個經(jīng)過編程的通用計算機系統(tǒng),例如個人計算機,工作站,服務(wù)器系統(tǒng)以及小型機或大型機。位置管理系統(tǒng)108包括一個或多個處理器(CPU)202A~202N、輸入/輸出電路204、網(wǎng)絡(luò)適配器206以及存儲器208。CPU 202A~202N通過執(zhí)行程序指令來實現(xiàn)本發(fā)明的功能。舉例來說,CPU 202A~202N通常是一個或多個例如Intel公司的PENTIUM處理器的微處理器。圖2描述了一個將系統(tǒng)108作為單獨的多處理器計算機系統(tǒng)來加以實施的實施例。其中多個處理器202A~202N共享系統(tǒng)資源,例如存儲器208、輸入/輸出電路204以及網(wǎng)絡(luò)適配器206。然而,本發(fā)明也設(shè)想了那些將系統(tǒng)108作為多個網(wǎng)狀計算機系統(tǒng)來加以實施的實施例,其中所述系統(tǒng)可以是單處理器的計算機系統(tǒng),多處理器的計算機系統(tǒng)或是它們的混合。
輸入/輸出電路204提供了將數(shù)據(jù)輸入位置管理系統(tǒng)108或是從中輸出數(shù)據(jù)的能力。例如,輸入/輸出電路可以包括諸如鍵盤、鼠標(biāo)、觸摸板、軌跡球、掃描儀等輸入設(shè)備以及諸如視頻適配器、監(jiān)視器、打印機等輸出設(shè)備,此外還可以包括調(diào)制解調(diào)器等輸入/輸出設(shè)備。網(wǎng)絡(luò)適配器206則將位置管理系統(tǒng)對接到網(wǎng)絡(luò)102。
存儲器208保存的是那些由CPU 202執(zhí)行的程序指令以及由CPU202使用和處理的數(shù)據(jù),以便實現(xiàn)位置管理系統(tǒng)108的功能。存儲器208可以包括隨機存取存儲器(RAM)、只讀存儲器(ROM)、可編程只讀存儲器(PROM)、電可擦可編程只讀存儲器(EEPROM)、閃速存儲器等電子存儲器設(shè)備,也可以包括磁盤驅(qū)動器、磁帶驅(qū)動器、光盤驅(qū)動器等電機存儲器,其中所述電機存儲器可以使用集成設(shè)備電路(IDE)接口或是該接口的改變或增強版本,例如增強型IDE(EIDE)或極端直接存儲器存取(UDMA),但也可以使用以小型計算機系統(tǒng)接口(SCSI)為基礎(chǔ)的接口或是所述接口的變化或增強版本,例如快速SCSI、寬帶SCSI、快速寬帶SCSI等等,此外還可以使用光纖信道仲裁環(huán)路(FC-AL)接口。
存儲器208包括事件管理模塊210、位置獲取模塊212、移動應(yīng)用214A和214B以及操作系統(tǒng)216。事件管理模塊210管理的是移動用戶位置和基于移動用戶位置所定義的事件條件,以便執(zhí)行本發(fā)明中基于位置的事件處理。位置獲取模塊212與確定移動用戶所操作或擁有的移動設(shè)備的位置的系統(tǒng)進(jìn)行通信,以便得到指示移動用戶位置的信息。移動應(yīng)用214A和214B執(zhí)行的是其他基于位置的處理。操作系統(tǒng)216則提供總的系統(tǒng)功能。位置獲取模塊212包括位置緩存器218,所述緩存器為改進(jìn)的系統(tǒng)性能提供了針對位置信息的緩存。
如圖2所示,本發(fā)明設(shè)想了在一個或多個提供多處理器、多任務(wù)、多進(jìn)程和/或多線程計算的系統(tǒng)上的實施方式,以及在只提供單處理器、單線程計算的系統(tǒng)上的實施方式。多處理器的計算包括使用一個以上的處理器來執(zhí)行計算。多任務(wù)的計算則包括使用一個以上的操作系統(tǒng)任務(wù)來執(zhí)行計算。所述任務(wù)是一個操作系統(tǒng)的概念,它指的是操作系統(tǒng)執(zhí)行的程序與操作系統(tǒng)所使用的附加記錄(bookkeeping)信息的組合。每當(dāng)執(zhí)行程序,操作系統(tǒng)都會為其創(chuàng)建一個新的任務(wù)。所述任務(wù)像是一個用于程序的信封,因為它使用了一個任務(wù)編號來識別程序并且將其它附加記錄信息附于其上。包括UNIX、OS/2以及WINDOWS在內(nèi)的眾多操作系統(tǒng)都能夠同時運行多個任務(wù),這些系統(tǒng)稱為多任務(wù)操作系統(tǒng)。多任務(wù)是操作系統(tǒng)同時執(zhí)行一個以上的可執(zhí)行程序的能力。每一個可執(zhí)行程序都在自己的地址空間運行,這意味著可執(zhí)行程序無法共享它們的任何存儲器。這種處理具有很多優(yōu)點,因為任何程序都不能損害系統(tǒng)上運行的其他程序的執(zhí)行。然而,除非是通過操作系統(tǒng)(或是通過讀取文件系統(tǒng)上保存的文件),否則這些程序是無法交換任何信息的。多進(jìn)程的計算與多任務(wù)的計算相似,因為任務(wù)和進(jìn)程這兩個術(shù)語經(jīng)常可以互換使用,但是某些操作系統(tǒng)會對其加以區(qū)分。
在圖3中顯示的是圖2所示位置管理系統(tǒng)108所包含的處理模塊的相互作用的示范性框圖。位置管理系統(tǒng)108獲取涉及移動用戶的位置信息,保存并管理所述信息,以及使用位置信息來確定是否滿足了那些基于位置的已定義條件。位置管理系統(tǒng)108包括位置獲取模塊212、事件管理模塊210,也可以包括其它移動應(yīng)用,例如移動應(yīng)用214A和214B。位置獲取模塊212包括位置緩存器218并且在網(wǎng)絡(luò)102上與移動定位服務(wù)器310進(jìn)行通信。事件管理模塊210從位置獲取模塊212那里請求關(guān)于那些位置受到追蹤的移動用戶的位置信息。當(dāng)一個位置請求進(jìn)入位置獲取模塊212時,首先會在位置緩存器218中搜索那些滿足該請求的信息。緩存信息可以包括諸如移動用戶所操作或具有的移動設(shè)備ID這樣的信息,諸如移動設(shè)備的過去n個方位這種涉及移動用戶過去位置的信息,以及其他位置相關(guān)信息。
當(dāng)響應(yīng)于所述請求而在緩存器中發(fā)現(xiàn)一個項目時,則確定所述項目是否過于陳舊而不能加以使用。每一個緩存項目都會在一定時間量之后終止,其中所述時間量是用戶速度、用戶過去的方位以及特定于應(yīng)用的位置參數(shù)質(zhì)量的試探函數(shù)。如果在位置緩存器218中發(fā)現(xiàn)滿足請求的信息,則返回緩存信息并且不執(zhí)行實際方位探測。如果在位置緩存器218中沒有發(fā)現(xiàn)滿足請求的信息,則執(zhí)行實際方位探測并用所獲取的信息來更新位置緩存器218。
移動定位服務(wù)器310通常在無線網(wǎng)絡(luò)上與移動設(shè)備進(jìn)行通信,并且獲取指示移動設(shè)備方位的信息。如果在位置緩存器218中沒有發(fā)現(xiàn)用以滿足請求的信息,那么位置獲取模塊212從移動定位服務(wù)器310請求得到關(guān)于那些位置正被追蹤的移動用戶的位置信息。
一旦得到了滿足請求所需要的信息,則位置緩存器212會將信息發(fā)送到事件管理模塊210,此外也可以將信息發(fā)送到其他移動應(yīng)用,例如移動應(yīng)用214A和214B。事件管理模塊210使用接收到的信息來確定是否滿足了為某個移動用戶定義的基于位置的條件。如果滿足的話,那么事件管理模塊210將會引發(fā)事件的執(zhí)行。
除了位置獲取模塊212之外,在這里還構(gòu)成了事件管理模塊210。該模塊保持的是關(guān)于事件條件和涉及事件的用戶的過去位置、速度的信息,以及其他信息。用于事件的記錄是在登記了基于位置的事件的時候創(chuàng)建的,并且會在觸發(fā)事件之后終止。對與事件相關(guān)聯(lián)的每一個用戶來說,所述系統(tǒng)保持了用戶位置滿足事件條件時的預(yù)測事件時間。所述預(yù)測事件時間確定的是何時以一個保證在實際事件時間之前的初始值來執(zhí)行下一次定位。在這個預(yù)測時間將會把一個定位請求發(fā)送到系統(tǒng)的定位模塊。根據(jù)定位結(jié)果,事件管理模塊210將會觸發(fā)所述事件或是更新所述預(yù)測時間和用戶過去的方位。預(yù)測時間是作為關(guān)于用戶過去方位和速度的信息、目的地位置信息、先前預(yù)測時間的間隔以及事件特征的一個函數(shù)來計算的。
在圖4中顯示了圖3所示位置獲取模塊212的操作處理400的示范性流程圖。所述流程圖最好結(jié)合圖5來加以觀察,其中圖5是關(guān)于位置獲取模塊300的操作的示范性數(shù)據(jù)流程圖。處理400始于獲取移動用戶當(dāng)前位置的步驟402。事件管理模塊210從位置獲取模塊212請求關(guān)于那些位置正被追蹤的移動用戶的位置信息。當(dāng)一個方位請求進(jìn)入位置獲取模塊212時,首先搜索位置緩存器218來尋找用以滿足該請求的信息。緩存信息可以包括諸如移動用戶所操作或擁有的移動設(shè)備ID這樣的信息,諸如移動設(shè)備過去n個方位這種涉及移動用戶過去位置的信息,以及其他位置相關(guān)信息。
每一個緩存器項目都會在一定時間量之后終止,其中所述時間量是用戶速度與用戶過去方位的試探函數(shù)。如果在位置緩存器218中發(fā)現(xiàn)了滿足所述請求的信息,則不執(zhí)行實際方位探測。取而代之的是,所述緩存信息將被返回,其中舉例來說,所述緩存信息可以是移動用戶先前方位或是基于緩存信息的那些信息,例如作為先前方位和速度的一個函數(shù)而被計算的外推(extrapolated)方位。如果在位置緩存器218中沒有發(fā)現(xiàn)用以滿足請求的信息,那么位置緩存器將把一個方位請求發(fā)送到移動定位服務(wù)器310。方位請求502包含了識別一個或多個移動用戶和/或移動用戶所操作或擁有的移動設(shè)備的信息。如果方位請求502包含了識別移動用戶的信息,那么所述信息將會轉(zhuǎn)換成識別移動設(shè)備的信息。移動定位服務(wù)器310通常在無線網(wǎng)絡(luò)上與所識別的移動設(shè)備進(jìn)行通信,并且獲取指示移動設(shè)備方位的信息。移動定位服務(wù)器310將包含了指示移動設(shè)備方位的信息的方位結(jié)果504發(fā)送到位置緩存器218。所述方位結(jié)果504通常包含了以經(jīng)緯度為形式的移動設(shè)備方位信息。
位置緩存器212對方位結(jié)果504中包含的位置信息進(jìn)行緩存,并且將位置信息發(fā)送到事件管理模塊210。
在步驟404,事件管理模塊210使用位置信息來確定是否滿足了為那些位置信息已被獲取的移動用戶所定義的任何事件條件。事件管理模塊210保持的是關(guān)于事件條件的信息以及涉及與事件相關(guān)的移動用戶的信息,例如移動用戶過去的位置、移動用戶速度以及其他信息。在記錄一個基于位置的事件的時候,在事件數(shù)據(jù)庫中將會創(chuàng)建一個用于事件的條目或記錄。所述記錄會在滿足事件條件和觸發(fā)事件的時候終止。方位結(jié)果504中的信息則與所定義的基于位置的事件條件進(jìn)行比較。例如,在這里可以將一個條件定義為離特定地址2英里以內(nèi)。為了執(zhí)行所述比較,地址的經(jīng)度和緯度是從通常可用的地理編碼服務(wù)或數(shù)據(jù)庫中獲取的,并且很容易對所述地址的經(jīng)緯度與方位結(jié)果504包含的經(jīng)緯度之間的距離進(jìn)行計算。如果所述距離小于2英里,則滿足所述條件。本發(fā)明可以定義和估計任何必需的復(fù)雜性條件。例如,除了那些僅僅基于位置的條件之外,也可以定義基于時間或是時間與位置的結(jié)合的條件。這種條件的一個實例可以如下定義在當(dāng)天下午2:00之后離某個地址2英里以內(nèi)。
在步驟406,如果確定滿足事件條件,則處理400繼續(xù)進(jìn)行到執(zhí)行所定義的事件處理的步驟408。所述事件處理可以像所要求的那樣復(fù)雜,但是通常包括將一個或多個消息發(fā)送到一方或多方。例如,如果確定移動用戶是在離某個地址2英里以內(nèi)的位置,則可以將一個帶有這個意思的消息發(fā)送到該地址。舉例來說,這個信息可用于指示某一方幾乎已經(jīng)到達(dá)目的地,并且處于目的地的各方可以預(yù)期所述方會在不久之后到達(dá)。同樣,也可以將一個消息發(fā)送到其他的一方或多方,以便通知各方滿足了所述條件。
事件的后續(xù)處理則是在步驟410中執(zhí)行的。
在步驟406,如果確定沒有滿足事件條件,則處理400繼續(xù)進(jìn)行到步驟412,在此步驟中將會確定一個用于下一次位置更新的預(yù)測時間。事件管理模塊210保持的是關(guān)于事件條件的信息以及涉及與事件相關(guān)的移動用戶的信息,例如移動用戶的過去位置,移動用戶的速度以及其他信息。在對一個基于位置的事件進(jìn)行登記的時候,在事件數(shù)據(jù)庫中將會創(chuàng)建用于事件的條目或記錄。所述記錄會在滿足事件條件并觸發(fā)事件之后終止。對于與事件相關(guān)聯(lián)的每一個移動用戶來說,事件管理模塊210確定并保持一個預(yù)測事件時間,所述時間是一個預(yù)期移動用戶位置將會滿足事件條件的時間。預(yù)測事件時間被用于確定何時發(fā)送關(guān)于移動用戶位置的下一個請求。并且會對預(yù)測時間進(jìn)行調(diào)整,以確保位置請求會在實際滿足事件條件之前出現(xiàn),以免錯過或延遲所述事件條件的滿足。
舉例來說,如下所述,移動用戶的位置和速度可用于確定一個預(yù)測時間。在這里將會確定移動用戶位置與關(guān)聯(lián)于移動用戶的事件條件中包含的最近位置之間的距離。然后將這個距離與移動用戶的速度相除,以便確定移動用戶位置可以滿足事件條件之前的最小時間。所述最小時間可以減少,以確保位置請求是在實際滿足事件條件之前出現(xiàn)。然后則將這個最小事件添加到當(dāng)前時間之中,以便確定預(yù)測時間。
在步驟414,處理將會等待到所述預(yù)測時間,然后則返回到執(zhí)行位置更新的步驟402。
在圖6中顯示的是用于確定預(yù)測時間的步驟412的子過程的示范性流程圖。步驟412的子過程始于確定是否正在追蹤恰當(dāng)移動用戶的步驟602。針對一個給定事件條件而被追蹤的恰當(dāng)移動用戶是最不可能使與移動用戶相關(guān)聯(lián)的事件條件得到滿足的移動用戶。例如,所述用戶可以是離相關(guān)區(qū)域最遠(yuǎn)的移動用戶、移動速度最慢的移動用戶等等。如果沒有選擇最不可能滿足事件條件的移動用戶來追蹤,則在步驟604中首先選擇最不可能滿足事件條件的移動用戶來進(jìn)行追蹤。然后,所述處理繼續(xù)到步驟606。如果在步驟602中確定首先選擇了最不可能滿足事件條件的移動用戶來追蹤,那么所述處理將會直接繼續(xù)到步驟606。
在步驟606中,將對選定移動用戶進(jìn)行追蹤并且基于選定用戶來設(shè)定用于位置更新的預(yù)測時間。所述預(yù)測時間是使用一個試探函數(shù)來確定的。例如,試探函數(shù)可以基于選定移動用戶的當(dāng)前方位到相關(guān)區(qū)域的距離,包括選定移動用戶移動速度和方向在內(nèi)的選定移動用戶的速度,選定移動用戶的過去方位以及時間容差。在某些情況下,例如當(dāng)移動用戶接近目的地的時候,試探函數(shù)可以是一個非常簡單的計算,而在其他情況下,例如當(dāng)移動用戶遠(yuǎn)離目的地的時候,則有必要增強這個試探函數(shù),以便包括那些可能在移動用戶行進(jìn)中發(fā)生的變化。例如,對一個離目的地1000英里并以50英里/小時的速度行進(jìn)的移動用戶來說,簡單的計算只會產(chǎn)生一個大小為20小時的預(yù)測時間。然而,這個結(jié)果是不會用作預(yù)測時間的,因為移動用戶的行進(jìn)可能會發(fā)生變化——移動用戶可以乘坐飛機并且更快地到達(dá)目的地。因此,較為有利的是在移動用戶遠(yuǎn)離目的地的時候使用一個速度下限,以使預(yù)測時間不會太遲。
時間容差規(guī)定了在檢測是否滿足條件的過程中可以容忍的錯誤量。換句話說,對給定的時間容差t來說,關(guān)于是否滿足事件條件的檢測必須在滿足事件條件之后的時間t以內(nèi)發(fā)生。舉例來說,如果將時間容差設(shè)定為10分鐘并且條件是移動用戶進(jìn)入一個區(qū)域,那么系統(tǒng)必須在移動用戶實際進(jìn)入?yún)^(qū)域之后10分鐘內(nèi)檢測到移動用戶已經(jīng)進(jìn)入所述區(qū)域。時間容差可以是一個全系統(tǒng)的缺省值,也可以由移動用戶針對具體事件來加以規(guī)定。
當(dāng)選定移動用戶遠(yuǎn)離區(qū)域或慢速移動的時候,或者是同時出現(xiàn)這兩種情況的時候,為選定移動用戶估計的進(jìn)入?yún)^(qū)域的時間是非常大的,在預(yù)測時間之前,計算得到的時間間隔也相對很大。當(dāng)選定移動用戶接近區(qū)域或快速移動的時候,或者在同時發(fā)生這兩種情況的時候,為選定移動用戶估計的進(jìn)入?yún)^(qū)域的時間是非常小的,在預(yù)測時間之前,計算得到的時間間隔也相對較小。然而,當(dāng)計算得到的時間間隔小于時間容差的時候,所述時間間隔將被設(shè)定為時間容差,而不是更小的計算值。這種處理減少了定位請求數(shù)目,由此提高了系統(tǒng)性能,但卻仍然確保了對于是否在時間容差以內(nèi)滿足所述條件所進(jìn)行的檢測。
一種非常簡單的情況是單個用戶進(jìn)入或離開一個區(qū)域。實際上,基于位置的事件可能具有非常復(fù)雜的條件。例如,一個移動用戶進(jìn)入一個區(qū)域,一個移動用戶離開一個區(qū)域,多個移動用戶在一個區(qū)域中,多個移動用戶在一個區(qū)域之外,當(dāng)其他移動用戶在區(qū)域以內(nèi)時,一個移動用戶進(jìn)入/離開這個區(qū)域等等。通過布爾運算,還可以進(jìn)一步將不同的條件組合在一起。然而,通過估計單個移動用戶位置,在任何給定時間都可以對一個復(fù)雜的條件進(jìn)行估計。
作為實例,可以對下列事件條件加以考慮當(dāng)三個移動用戶A、B、C全都在加利福尼亞以內(nèi)的時候,向D發(fā)送一個消息。
假設(shè)事件是在下午一點登記的。如果這時滿足條件,那么事件將被觸發(fā)并且我們是如此進(jìn)行的。否則必然有至少一個移動用戶是在加利福尼亞之外。假設(shè)A和B已經(jīng)處于內(nèi)部而C在外部。那么僅僅有必要追蹤C而不是始終追蹤所有這三個移動用戶的方位。在這種情況下,首先確定C為最不可能滿足條件的移動用戶,并且選擇C作為所要追蹤的移動用戶。
假設(shè)C在下午四點進(jìn)入加利福尼亞。在三個小時以內(nèi)將C的位置確定了10次,其中由于C不太可能快速到達(dá),因此在前五次方位請求相互之間具有很大的時間間隔。最后五次定位請求則具有與時間容差相等的固定間隔,因為C正在接近目的地。但在這三個小時以內(nèi),A和B的位置從來都不是由事件系統(tǒng)確定的。當(dāng)選定移動用戶C通過進(jìn)入加利福尼亞而滿足條件時,所述系統(tǒng)獲取所有這三個移動用戶位置,以便確定是否滿足了全部條件。如果滿足了條件(所有這三個都處于加利福尼亞),則觸發(fā)所述事件。如果沒有滿足條件,那么A或B或是二者必然是在加利福尼亞之外。同樣,首先選擇最不可能滿足條件的移動用戶來進(jìn)行追蹤。即使被選定進(jìn)行追蹤的移動用戶在其他移動用戶之前進(jìn)入了區(qū)域,但是事件仍舊會正確地被發(fā)現(xiàn)。系統(tǒng)可以產(chǎn)生比選擇“恰當(dāng)”移動用戶進(jìn)行追蹤所需要的請求更多的定位請求,但是仍舊會正確檢測到事件。
在觸發(fā)事件或是管理員或用戶從系統(tǒng)中刪除事件之前,圖4所示的處理將會重復(fù)進(jìn)行。在以上實例中,完整的事件條件可以作為三種條件要素的結(jié)合來描述A在加利福尼亞,B在加利福尼亞以及C在加利福尼亞。對這種將條件要素“與”在一起的條件類型來說,只需要追蹤一個移動用戶并且所述條件是移動用戶進(jìn)入或離開一個區(qū)域。如果復(fù)雜條件中的條件要素是“或”在一起,那么可以將條件要素視為具有相同作用的多個事件。舉例來說,如果一個條件是當(dāng)A或B進(jìn)入加利福尼亞時,向D發(fā)送一個消息,那么可以將事件視為兩個獨立事件(1)當(dāng)A進(jìn)入加利福尼亞的時候向D發(fā)送消息以及(2)當(dāng)B進(jìn)入加利福尼亞的時候向D發(fā)送消息。由于這個條件是兩個獨立事件,因此必須對這兩個移動用戶都進(jìn)行追蹤。這些條件中的每一個依賴于單個用戶進(jìn)入/離開一個區(qū)域。一旦觸發(fā)了其中一個事件,則滿足了整個條件并且不再需要追蹤應(yīng)被刪除的其他一個或多個事件。
圖7顯示了一個朝著區(qū)域R移動的移動用戶。移動用戶與區(qū)域的當(dāng)前距離是D并且速度是v。在這里,D是移動用戶與區(qū)域之間的最短距離并且它并未設(shè)想到移動方向。所述事件具有一個時間容差t。在這里使用了矢量p來表示用戶的過去n個方位。試探函數(shù)輸出一個用于確定預(yù)測時間的時間間隔,所述時間間隔它可以描述為T=f(D,v,p,t)。應(yīng)該注意的是,在這里也可以將D作為一個包括用戶位置和速度以及目標(biāo)區(qū)域在內(nèi)的試探函數(shù)。因此,所述D可以定義為D=h(R,I,v),其中R是目標(biāo)區(qū)域,I是用戶位置,v是用戶速度。
應(yīng)該指出,雖然已經(jīng)在完整功能的數(shù)據(jù)處理系統(tǒng)中描述了本發(fā)明,但是本領(lǐng)域技術(shù)人員將會預(yù)見到本發(fā)明的處理能以計算機可讀指令介質(zhì)的形式以及多種形式來進(jìn)行分發(fā),無論使用何種類型的信號承載介質(zhì)來執(zhí)行分發(fā),本發(fā)明都是適用的,這一點是非常重要的。所述計算機可讀介質(zhì)的實例包括可記錄類型的介質(zhì),例如軟盤、硬盤驅(qū)動器、RAM和CD-ROM,此外還包括傳輸類型的介質(zhì),例如數(shù)字和模擬通信鏈路。
盡管已經(jīng)對本發(fā)明的具體實施例進(jìn)行了描述,但是本領(lǐng)域技術(shù)人員應(yīng)該理解,還存在著存在與所描述實施例等價的其他實施例。因此,應(yīng)該理解的是,本發(fā)明并未受限于具體的所描述實施例,而是僅僅受到權(quán)利要求范圍的限制。
權(quán)利要求
1.一種用于提供基于位置的事件服務(wù)的方法,包括以下步驟a)獲取指示至少一個移動用戶當(dāng)前位置的信息,所述至少一個移動用戶包括一個選定的移動用戶;b)基于所指示的至少一個移動用戶的當(dāng)前位置,確定是否滿足與至少一個移動用戶位置相關(guān)聯(lián)的至少一個條件;c)如果有至少一個條件得到滿足,則執(zhí)行至少一個事件;以及d)在重復(fù)步驟a)~c)之前,確定一個等待時間間隔。
2.權(quán)利要求1的方法,其中確定一個等待時間間隔的步驟包括以下步驟選擇一個最不可能使條件得到滿足的移動用戶作為選定移動用戶;以及基于選定的移動用戶來確定等待時間間隔。
3.權(quán)利要求2的方法,其中基于選定移動用戶來確定等待時間間隔的步驟包括以下步驟基于以下至少一個因素來估算選定移動用戶可能滿足條件的時間從選定移動用戶的當(dāng)前位置到與所述條件有關(guān)的區(qū)域的距離、選定移動用戶的速度;以及基于估算得到的選定移動用戶可能滿足條件時的時間以及時間容差來確定等待時間間隔。
4.權(quán)利要求3的方法,其中獲取步驟包括以下步驟在一個可用于保存那些指示移動用戶位置的信息的緩存器中搜索指示至少一個移動用戶位置的信息;如果在緩存器中發(fā)現(xiàn)了指示至少一個移動用戶位置的信息,則使用指示至少一個移動用戶位置的信息作為指示至少一個移動用戶當(dāng)前位置的信息;以及如果在緩存器中沒有發(fā)現(xiàn)指示至少一個移動用戶位置的信息,則查詢至少一個移動定位服務(wù)器,以便獲取指示至少一個移動用戶當(dāng)前位置的信息。
5.權(quán)利要求4的方法,其中至少一個事件包括發(fā)送一個消息。
6.權(quán)利要求5的方法,其中所述消息發(fā)送至一個移動用戶。
7.權(quán)利要求5的方法,其中所述消息發(fā)送至一個非移動用戶。
8.權(quán)利要求4的方法,其中至少一個條件涉及的是一個移動用戶的位置。
9.權(quán)利要求4的方法,其中至少一個條件涉及的是多個移動用戶的位置。
10.權(quán)利要求4的方法,其中至少一個條件涉及的是一個移動用戶位置和一個時間。
11.一種用于提供基于位置的事件服務(wù)的系統(tǒng),包括一個可用于執(zhí)行計算機程序指令的處理器;以及一個可用于存儲處理器執(zhí)行的計算機程序指令的存儲器,用于執(zhí)行以下步驟a)獲取指示至少一個移動用戶當(dāng)前位置的信息,所述至少一個移動用戶包括一個選定的移動用戶;b)基于所指示的至少一個移動用戶的當(dāng)前位置,確定是否滿足與至少一個移動用戶位置相關(guān)聯(lián)的至少一個條件;c)如果有至少一個條件得到滿足,則執(zhí)行至少一個事件;以及d)在重復(fù)步驟a)~c)之前,確定一個等待時間間隔。
12.權(quán)利要求11的系統(tǒng),其中確定一個等待時間間隔的步驟包括以下步驟選擇一個最不可能使條件得到滿足的移動用戶作為選定移動用戶;以及基于選定的移動用戶來確定等待時間間隔。
13.權(quán)利要求12的系統(tǒng),其中基于選定移動用戶來確定等待時間間隔的步驟包括以下步驟基于以下至少一個因素來估算選定移動用戶可能滿足條件的時間從選定移動用戶的當(dāng)前位置到與所述條件有關(guān)的區(qū)域的距離、選定移動用戶的速度;以及基于估算得到的選定移動用戶可能滿足條件時的時間以及時間容差來確定等待時間間隔。
14.權(quán)利要求13的系統(tǒng),其中獲取步驟包括以下步驟在一個可用于保存那些指示移動用戶位置的信息的緩存器中搜索指示至少一個移動用戶位置的信息;如果在緩存器中發(fā)現(xiàn)了指示至少一個移動用戶位置的信息,則使用指示至少一個移動用戶位置的信息作為指示至少一個移動用戶當(dāng)前位置的信息;以及如果在緩存器中沒有發(fā)現(xiàn)指示至少一個移動用戶位置的信息,則查詢至少一個移動定位服務(wù)器,以便獲取指示至少一個移動用戶當(dāng)前位置的信息。
15.權(quán)利要求14的系統(tǒng),其中至少一個事件包括發(fā)送一個消息。
16.權(quán)利要求15的系統(tǒng),其中所述消息發(fā)送至一個移動用戶。
17.權(quán)利要求15的系統(tǒng),其中所述消息發(fā)送至一個非移動用戶。
18.權(quán)利要求14的系統(tǒng),其中至少一個條件涉及的是一個移動用戶的位置。
19.權(quán)利要求14的系統(tǒng),其中至少一個條件涉及的是多個移動用戶的位置。
20.權(quán)利要求14的系統(tǒng),其中至少一個條件涉及的是一個移動用戶位置和一個時間。
21.一種用于提供基于位置的事件服務(wù)的計算機程序產(chǎn)品,包括一種計算機可讀介質(zhì);記錄在計算機可讀介質(zhì)上、由處理器執(zhí)行的計算機程序指令,用于執(zhí)行以下步驟a)獲取指示至少一個移動用戶當(dāng)前位置的信息,所述至少一個移動用戶包括一個選定的移動用戶;b)基于所指示的至少一個移動用戶的當(dāng)前位置,確定是否滿足與至少一個移動用戶位置相關(guān)聯(lián)的至少一個條件;c)如果有至少一個條件得到滿足,則執(zhí)行至少一個事件;以及d)在重復(fù)步驟a)~c)之前,確定一個等待時間間隔。
22.權(quán)利要求21的計算機程序產(chǎn)品,其中確定一個等待時間間隔的步驟包括以下步驟選擇一個最不可能使條件得到滿足的移動用戶作為選定移動用戶;以及基于選定的移動用戶來確定等待時間間隔。
23.權(quán)利要求22的計算機程序產(chǎn)品,其中基于選定移動用戶來確定等待時間間隔的步驟包括以下步驟基于以下至少一個因素來估算選定移動用戶可能滿足條件的時間從選定移動用戶的當(dāng)前位置到與所述條件有關(guān)的區(qū)域的距離、選定移動用戶的速度;以及基于估算得到的選定移動用戶可能滿足條件時的時間以及時間容差來確定等待時間間隔。
24.權(quán)利要求23的計算機程序產(chǎn)品,其中獲取步驟包括以下步驟在一個可用于保存那些指示移動用戶位置的信息的緩存器中搜索指示至少一個移動用戶位置的信息;如果在緩存器中發(fā)現(xiàn)了指示至少一個移動用戶位置的信息,則使用指示至少一個移動用戶位置的信息作為指示至少一個移動用戶當(dāng)前位置的信息;以及如果在緩存器中沒有發(fā)現(xiàn)指示至少一個移動用戶位置的信息,則查詢至少一個移動定位服務(wù)器,以便獲取指示至少一個移動用戶當(dāng)前位置的信息。
25.權(quán)利要求24的計算機程序產(chǎn)品,其中至少一個事件包括發(fā)送一個消息。
26.權(quán)利要求25的計算機程序產(chǎn)品,其中所述消息發(fā)送至一個移動用戶。
27.權(quán)利要求25的計算機程序產(chǎn)品,其中所述消息發(fā)送至一個非移動用戶。
28.權(quán)利要求24的計算機程序產(chǎn)品,其中至少一個條件涉及的是一個移動用戶的位置。
29.權(quán)利要求24的計算機程序產(chǎn)品,其中至少一個條件涉及的是多個移動用戶的位置。
30.權(quán)利要求24的方法,其中至少一個條件涉及的是一個移動用戶位置和一個時間。
全文摘要
本發(fā)明涉及一種用于提供基于移動用戶位置的事件服務(wù)的方法、系統(tǒng)和計算機程序產(chǎn)品,它們使用了一個位置緩存器來為移動用戶保存近期位置信息,以便減少對于昂貴和費時的定位請求的需要,并且還對位置確定時間進(jìn)行智能調(diào)度,由此提供了改善的效率。所述方法包括如下步驟a)獲取指示至少一個移動用戶當(dāng)前位置的信息,所述至少一個移動用戶包括一個選定的移動用戶,b)基于所指示的至少一個移動用戶的當(dāng)前位置,確定是否滿足與至少一個移動用戶位置相關(guān)聯(lián)的至少一個條件,c)如果有至少一個條件得到滿足,則執(zhí)行至少一個事件,以及d)在重復(fù)步驟a)~c)之前確定一個等待時間間隔。
文檔編號H04W4/02GK1561650SQ02819381
公開日2005年1月5日 申請日期2002年11月26日 優(yōu)先權(quán)日2001年11月27日
發(fā)明者韓松, 普拉布達(dá)·比斯瓦斯, 吳京 申請人:甲骨文國際公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
巴林右旗| 潜江市| 阿拉善右旗| 青海省| 安吉县| 仙游县| 进贤县| 应城市| 铅山县| 会理县| 静宁县| 徐水县| 运城市| 鲁山县| 西青区| 静宁县| 璧山县| 和静县| 罗江县| 正宁县| 修水县| 略阳县| 嵊州市| 南开区| 深水埗区| 安丘市| 邛崃市| 赣榆县| 平原县| 都江堰市| 松桃| 甘泉县| 陈巴尔虎旗| 平阳县| 临洮县| 闸北区| 邓州市| 龙岩市| 石河子市| 饶阳县| 平谷区|