本公開涉及一種用于在電子裝置中管理地理圍欄的方法和設備。
背景技術:
電子裝置(例如,便攜式終端或移動電話)通常包括通信系統(tǒng)(諸如GPS、Wi-Fi、藍牙、BLE、傳感器、近場通信(NFC)等)并提供用戶的當前位置和基于位置的服務(LBS)。
近年來,用戶被與“地理圍欄(geo-fence)”相關的服務所吸引。地理圍欄是檢測裝置進入由虛擬邊界分區(qū)的區(qū)域/離開所述區(qū)域的基于定位的技術。例如,使用地理圍欄,移動裝置可能能夠檢測用戶何時到家。
電子裝置可配置地理圍欄,并且當電子裝置進入所配置的區(qū)域時,電子裝置提供用于提供服務(諸如廣告等)的基于位置的服務。例如,如果通過使用地理圍欄檢測到用戶進入商店,則移動裝置可展示與在這家商店中銷售的產品相關的廣告。
技術實現(xiàn)要素:
電子裝置可注冊用于接收地理圍欄服務的至少一個地理圍欄。因此,隨著提供地理圍欄服務的地理圍欄的數(shù)量增加,將在電子裝置中注冊的地理圍欄的數(shù)量增加,因此,電子裝置達到存儲器和硬件(H/W)資源的極限。
本公開的各種實施例可提供一種用于管理多個地理圍欄的方法和設備。
根據(jù)本公開的一方面,提供一種電子裝置的操作方法。所述操作方法包括:識別對所述電子裝置中存儲的多個地理圍欄之中的至少一些地理圍欄的刪除或對其它地理圍欄的添加;根據(jù)所述刪除或所述添加來識別所述多個地理圍欄之中的剩余地理圍欄的數(shù)量;當剩余地理圍欄的數(shù)量大于硬件資源可允許的地理圍欄的數(shù)量時,將剩余地理圍欄分組為一個或更多個地理圍欄群組。
根據(jù)本公開的另一方面,提供一種電子裝置。所述電子裝置包括:第一處理器,被配置為監(jiān)視地理圍欄群組;第二處理器,功能性地連接到第一處理器;其中,第二處理器被配置為向第一處理器發(fā)送包括多個地理圍欄中的至少一些地理圍欄的地理圍欄群組并從第一處理器接收所述電子裝置從地理圍欄群組中的一個地理圍欄的外部移動到內部或從所述一個地理圍欄的內部移動到外部的通知。
附圖說明
從以下結合附圖的詳細描述中,本公開的以上和其它方面、特征及優(yōu)點將會更清楚,其中:
圖1示出根據(jù)本公開的各種實施例的包括電子裝置的網(wǎng)絡環(huán)境;
圖2是示出根據(jù)本公開的各種實施例的電子裝置的框圖;
圖3是示出根據(jù)本公開的各種實施例的程序模塊的框圖;
圖4是示出根據(jù)本公開的一個實施例的管理地理圍欄的電子裝置和服務器的框圖;
圖5A至圖5D示出根據(jù)本公開的一個實施例的對地理圍欄進行分組的配置;
圖6A和圖6B示出根據(jù)本公開的一個實施例的地理圍欄列表等級的配置;
圖7示出根據(jù)本公開的一個實施例的識別地理圍欄的下級群組(lower group)的半徑的方法;
圖8A至圖8C示出根據(jù)本公開的一個實施例的地理圍欄的注冊;
圖9A至圖9C示出根據(jù)本公開的一個實施例的電子裝置形成地理圍欄群組的處理;
圖10是示出根據(jù)本公開的一個實施例的基于地理圍欄的緯度/經(jīng)度形成上級群組(higher group)的處理的流程圖;
圖11是示出根據(jù)本公開的一個實施例的用于在地理圍欄的上級群組內形成下級群組的處理的流程圖;
圖12是示出根據(jù)本公開的一個實施例的電子裝置監(jiān)視地理圍欄的處理的流程圖;
圖13是示出根據(jù)本公開的一個實施例的電子裝置形成地理圍欄群組的處理的流程圖;
圖14A至圖14C示出根據(jù)本公開的一個實施例的地理圍欄的分組操作;
圖15是示出根據(jù)本公開的一個實施例的電子裝置對地理圍欄進行分組的處理的流程圖。
具體實施方式
在下文中,將參照附圖描述本公開的各種實施例。在以下描述中,提供特定細節(jié)(諸如詳細配置和組件)僅用于幫助整體理解本公開的這些實施例。因此,對本領域技術人員而言應該清楚的是:可在沒有脫離本公開的范圍和精神的情況下做出在此描述的所述實施例的各種改變和修改。另外,為了清晰和簡潔,省略公知功能和構造的描述。
本公開可具有各種實施例,并且可在其中做出修改和改變。因此,將參照在附圖中示出的具體實施例詳細描述本公開。然而,應理解:本公開不限于所述具體實施例,而是包括落入本公開的精神和范圍內的所有修改/改變、等同物和/或可選方案。在描述附圖時,可將相似的附圖標號用于標示相似的元件。
在本公開的各種實施例中所使用的術語“具有”、“可具有”、“包括”或“可包括”指示所公開的相應功能、操作、元件等的存在,并且不限制另外的一個或更多個功能、操作、元件等。另外,應理解:在本公開的各種實施例中使用的術語“包括”或“具有”指示在說明書中描述的特征、數(shù)量、步驟、操作、元件、部件或前述項的組合的存在,并且不排除存在或添加一個或更多個其它特征、數(shù)量、步驟、操作、元件、部件和/或前述項的組合。
在本公開的各種實施例中使用的術語“A或B”、“A或/和B中的至少一個”或“A或/和B中的一個或多個”包括利用其所列舉出的詞匯的任何及所有組合。例如,“A或B”、“A和B中的至少一個”或“A或B中的至少一個”意指:(1)包括至少一個A,(2)包括至少一個B,或(3)包括至少一個A和至少一個B二者。
雖然在本公開的各種實施例中使用的術語(諸如“第一”和“第二”)可修飾各種實施例的各種元件,但是這些術語并不限制相應元件。例如,這些術語并不限制相應元件的順序和/或重要性??蓪⑦@些術語用于使一個元件與另一元件區(qū)分開的目的。例如,第一用戶裝置和第二用戶裝置均指示用戶裝置并且可指示不同的用戶裝置。例如,在不脫離本公開的各種實施例的權利范圍的情況下,可將第一元件命名為第二元件,類似地,可將第二元件命名為第一元件。
將理解:當將一個元件(例如,第一元件)“連接到”或“(在操作上或通信方面)結合到”另一元件(例如,第二元件)時,所述元件可被直接連接或結合到另一元件,并且可在所述元件和另一元件之間存在居間元件(例如,第三元件)。與之相反,將理解:當將一個元件(例如,第一元件)“直接連接”或“直接結合”到另一元件(例如,第二元件)時,在所述元件和另一元件之間不存在居間元件(例如,第三元件)。
根據(jù)情形,可利用“適合于”、“具有...的能力”、“被設計為”、“適應于”、“造成”或“能夠”替換在本公開的各種實施例中使用的表述“被配置為(或被設置為)”。術語“被配置為(被設置為)”不一定意指在硬件水平上“被特別設計為”。相反地,表述“被配置為...的設備”可意指在特定情形中所述設備連同其它裝置或部件“能夠...”。例如,“被配置為(被設置為)執(zhí)行A、B和C的處理器”可以是用于執(zhí)行相應操作的專用處理器(例如,嵌入式處理器)或能夠通過執(zhí)行在存儲器裝置中存儲的一個或更多個軟件程序來執(zhí)行相應操作的通用處理器(例如,中央處理器(CPU)或應用處理器(AP))。
如這里所使用的術語僅被用于描述特定實施例而非意在限制本公開。如這里所使用,單數(shù)形式可包括復數(shù)形式,除非上下文另有明確指示。此外,這里使用的所有術語(包括技術術語和科學術語)應被解釋為具有本公開所屬領域的技術人員通常理解的相同含義,并且不應被解釋為具有理想的含義或過于正式的含義,除非在本公開的各種實施例中被明確限定。
例如,根據(jù)本公開的各種實施例的電子裝置可包括以下項中的至少一項:智能電話、平板個人計算機(PC)、移動電話、視頻電話、電子書(e-book)閱讀器、臺式PC、膝上型PC、上網(wǎng)本計算機、工作臺、服務器、個人數(shù)字助理(PDA)、便攜式多媒體播放器(PMP)、MP3播放器、移動醫(yī)療器械、相機、游戲機以及可穿戴裝置(例如,智能眼鏡、頭戴式裝置(HMD)、電子服裝、電子手鏈、電子項鏈、電子配件、電子紋身、智能鏡子或智能手表)。
根據(jù)一些實施例,所述電子裝置可以是智能家用電器。所述家用電器可包括以下項中的至少一項:例如,電視機、數(shù)字視頻盤(DVD)播放器、音響、冰箱、空調、真空吸塵器、烤箱、微波爐、洗衣機、空氣凈化器、機頂盒、家庭自動化控制面板、安全控制面板、TV盒子(例如,三星HomeSyncTM、蘋果TVTM或谷歌TVTM)、游戲控制臺(例如,XboxTM和PlayStationTM)、電子詞典、電子鑰匙、攝像機以及電子相框。
根據(jù)另一實施例,所述電子裝置可包括以下項中的至少一項:各種醫(yī)療裝置(例如,各種便攜式醫(yī)療測量裝置(血糖監(jiān)視裝置、心率監(jiān)視裝置、血壓測量裝置、體溫測量裝置等)、磁共振血管造影(MRA)、磁共振成像(MRI)、計算機斷層掃描(CT)機以及超聲機)、導航裝置、全球定位系統(tǒng)(GPS)接收器、事件數(shù)據(jù)記錄器(EDR)、飛行數(shù)據(jù)記錄器(FDR)、車輛信息娛樂裝置、用于船舶的電子裝置(例如,用于船舶的導航裝置以及陀螺羅經(jīng))、航空電子設備、安全裝置、車輛機頭單元、家用機器人或工業(yè)機器人、銀行的自動柜員機(ATM)、商店的銷售點(POS)或物聯(lián)網(wǎng)裝置(例如,電燈泡、各種傳感器、電表或燃氣表、噴淋裝置、火警報警器、恒溫器、街燈、烤面包機、體育用品、熱水箱、加熱器、鍋爐等)。
根據(jù)一些實施例,所述電子裝置可包括以下項中的至少一項:家具或建筑/結構的一部分、電子圖板、電子簽名接收裝置、投影儀以及各種測量儀器(例如,水表、電表、燃氣表以及無線電波表)。根據(jù)本公開的各種實施例的電子裝置可以是前述各種裝置中的一個或更多個的組合。根據(jù)本公開的一些實施例的電子裝置可以是柔性裝置。此外,根據(jù)本公開的實施例的電子裝置不限于前述裝置并且可根據(jù)技術發(fā)展包括新的電子裝置。
在下文中,將參照附圖來描述根據(jù)各種實施例的電子裝置。如這里所使用,術語“用戶”可指示使用電子裝置的人或使用電子裝置的裝置(例如,人工智能電子裝置)。
在下文中,在本公開的各種實施例中,可基于標記語言(諸如化學標記語言(CML)、超文本標記語言(HTML)、可擴展標記語言(XML)等)形式的配置信息來產生內容。
參照圖1,示出根據(jù)本公開的各種實施例的網(wǎng)絡環(huán)境100中的電子裝置101。電子裝置101可包括總線110、處理器120(例如,包括處理電路)、存儲器1330、輸入/輸出接口150(例如,包括輸入/輸出電路)、顯示器160(例如,包括顯示電路)以及通信接口170(例如,包括通信電路)。在一些實施例中,電子裝置101可省略上述組件中的至少一個或者可還包括其它組件。
總線110可包括(例如)將所述組件120至170彼此連接并在所述組件120至170之間傳輸通信(例如,控制消息和/或數(shù)據(jù))的電路。
處理器120可包括中央處理器(CPU)、應用處理器(AP)以及通信處理器(CP)中的一個或更多個。例如,處理器120可執(zhí)行與電子裝置101的至少一個其它組件的控制和/或通信相關的操作或數(shù)據(jù)處理。另外,技術人員理解并了解:“處理器”或“微處理器”構成要求保護的發(fā)明中的硬件。根據(jù)最寬泛的合理解釋,權利要求書構成法定主題。所述處理器可包括任何適當類型的處理電路,諸如一個或更多個通用處理器(例如,基于ARM的處理器)、數(shù)字信號處理器(DSP)、可編程邏輯裝置(PLD)、專用集成電路(ASIC)、現(xiàn)場可編程門陣列(FPGA)、圖形處理器(GPU)、視頻卡控制器等。
存儲器130可包括易失性存儲器和/或非易失性存儲器。存儲器130可存儲(例如)與至少一個其它組件相關的指令或數(shù)據(jù)(例如,參考距離)。根據(jù)實施例,存儲器130可存儲軟件和/或程序140。例如,所述程序可包括內核141、中間件143、應用編程接口API 145、應用程序(或應用)147等。內核141、中間件143以及API 145中的至少一些可被稱為操作系統(tǒng)(OS)。
內核141可控制或管理用于執(zhí)行由其它程序(例如,中間件143、API 145或應用程序147)實施的操作或功能的系統(tǒng)資源(例如,總線110、處理器120或存儲器130)。此外,內核141可提供接口,其中,中間件143、API 145或應用程序147通過所述接口接入電子裝置101的各個元件以控制或管理系統(tǒng)資源。
例如,中間件143可作為用于允許API 145或應用程序147與內核141進行通信以交換數(shù)據(jù)的中介運行。
另外,中間件143可根據(jù)優(yōu)先級處理從應用程序147接收到的一個或更多個任務請求。例如,中間件143可將使用電子裝置101的系統(tǒng)資源(例如,總線110、處理器120、存儲器130等)的優(yōu)先級分配給應用程序147中的至少一個。例如,中間件143可根據(jù)分配給一個或更多個任務請求的優(yōu)先級通過處理所述一個或更多個任務請求來對所述一個或更多個任務請求執(zhí)行調度或負載均衡。
API 145是應用程序147控制從內核141或中間件143提供的功能的接口,并且可包括(例如)針對文件控制、窗口控制、圖像處理或文本控制的至少一個接口或功能(例如,指令)。
輸入/輸出接口150可作為(例如)將從用戶或另一外部裝置輸入的指令或數(shù)據(jù)傳輸?shù)诫娮友b置101的其它元件的接口運行。另外,輸入/輸出接口150可將從電子裝置101的其它元件接收到的指令或數(shù)據(jù)輸出到用戶或另一外部裝置。
顯示器160可包括(例如)液晶顯示器(LCD)、發(fā)光二級管(LED)顯示器、有機發(fā)光二級管(OLED)顯示器、微機電系統(tǒng)(MEMS)顯示器以及電子紙顯示器。顯示器160可向用戶顯示(例如)各種類型的內容(例如,文本、圖像、視頻、圖標或符號)。顯示器160可包括觸摸屏并且可接收(例如)通過使用電子筆或用戶的身體部位輸入的觸摸、手勢、接近或懸停。
通信接口170可在(例如)電子裝置101與外部裝置(例如,第一外部電子裝置102、第二外部電子裝置104或服務器1306)之間設置通信。例如,可通過無線通信或有線通信將通信接口170連接到網(wǎng)絡162以與外部裝置(例如,第二外部電子裝置104或服務器106)進行通信。
無線通信可將以下項中的至少一項用作蜂窩通信協(xié)議:長期演進(LTE)、LTE-Advanced(LTE-A)、碼分多址(CDMA)、寬帶CDMA(WCDMA)、通用移動電信系統(tǒng)(UMTS)、WiBro(無線寬帶)以及全球移動通信系統(tǒng)(GSM)。另外,無線通信可包括(例如)短距離通信164。所述短距離通信可包括(例如)Wi-Fi、藍牙、近場通信(NFC)以及全球導航衛(wèi)星系統(tǒng)(GNSS)中的至少一個。根據(jù)使用領域、寬帶等,GNSS可包括(例如)全球定位系統(tǒng)(GPS)、全球導航衛(wèi)星系統(tǒng)(格洛納斯)、北斗導航衛(wèi)星系統(tǒng)(在下文中稱為“北斗”)以及歐洲全球基于衛(wèi)星的導航系統(tǒng)(伽利略)中的至少一個。在下文中,在本公開中,可將“GPS”和“GNSS”可互換地使用。有線通信可包括(例如)通用串行總線(USB)、高清多媒體接口(HDMI)、推薦標準232(RS-232)以及普通老式電話服務(POTS)中的至少一個。網(wǎng)絡162可包括通信網(wǎng)絡(諸如計算機網(wǎng)絡(例如,LAN或WAN))、互聯(lián)網(wǎng)以及電話網(wǎng)絡中的至少一個。
第一外部電子裝置102和第二外部電子裝置104中的每一個可以是與電子裝置101相同或不同的裝置。根據(jù)實施例,服務器106可包括一個或更多個服務器的群組。根據(jù)各種實施例,可在另一電子裝置或多個電子裝置(例如,電子裝置102和電子裝置104或服務器106)中執(zhí)行在電子裝置101中執(zhí)行的操作的全部或一些。根據(jù)實施例,當電子裝置101自動地或響應于請求而必須執(zhí)行一些功能或服務時,電子裝置101可向另一裝置(例如,電子裝置102或電子裝置104或服務器106)請求執(zhí)行與其相關的至少一些功能,而不是由其本身或另外地執(zhí)行所述功能或服務。另一電子裝置(例如,電子裝置102或電子裝置104或服務器106)可執(zhí)行所請求的功能或附加的功能并且可將執(zhí)行結果傳送到電子裝置101。電子裝置101可按照原樣處理接收到的結果或者可另外處理接收到的結果以提供所請求的功能或服務。為此,例如,可使用云計算、分布式計算或客戶機-服務器計算技術。
圖2是根據(jù)各種實施例的電子裝置201的框圖。電子裝置201可包括(例如)在圖1中示出的電子裝置101的全部或一部分。電子裝置201可包括至少一個處理器(例如,應用處理器(AP))210、通信模塊220、用戶識別模塊(SIM)卡224、存儲器230、傳感器模塊240、輸入裝置250、顯示器260、接口270、音頻模塊280、相機模塊291、電能管理模塊295、電池296、指示器297以及電機298。
例如,處理器210可通過驅動操作系統(tǒng)或應用程序來控制與其連接的多個硬件元件或軟件元件并執(zhí)行多種數(shù)據(jù)處理和計算??蓪⑻幚砥?10實施為(例如)片上系統(tǒng)(SoC)。根據(jù)實施例,處理器210可還包括圖形處理器(GPU)和/或圖像信號處理器。處理器210可包括圖2中示出的所述元件(例如,蜂窩模塊221)中的至少一些。處理器210可在易失性存儲器中加載從至少一個其它元件(例如,非易失性存儲器)接收到的命令或數(shù)據(jù)以處理所加載的命令或數(shù)據(jù),并可在所述非易失性存儲器中存儲各種類型的數(shù)據(jù)。處理器210可將從所述其它元件中的至少一個(例如,非易失性存儲器)接收到的指令或數(shù)據(jù)加載到易失性存儲器中,并且可在非易失性存儲器中存儲各種數(shù)據(jù)。
通信模塊220可具有與圖1的通信接口170的配置相同或相似的配置。通信模塊220可包括(例如)蜂窩模塊221、Wi-Fi模塊223、藍牙模塊225、GNSS模塊227(例如,GPS模塊、格洛納斯模塊、北斗模塊或伽利略模塊)、NFC模塊228以及射頻(RF)模塊229。
蜂窩模塊221可通過通信網(wǎng)絡提供(例如)應用、語音呼叫、視頻呼叫、文本消息服務或互聯(lián)網(wǎng)服務。根據(jù)實施例,蜂窩模塊221可通過使用用戶識別模塊(例如,SIM卡224)對通信網(wǎng)絡中的電子裝置201進行辨別和認證。根據(jù)實施例,蜂窩模塊221可執(zhí)行AP 210可提供的功能中的至少一些。根據(jù)實施例,蜂窩模塊221可包括通信處理器(CP)。
Wi-Fi模塊223、BT模塊225、GPS模塊227或NFC模塊228可包括(例如)用于處理通過相應模塊發(fā)送/接收的數(shù)據(jù)的處理器。根據(jù)實施例,蜂窩模塊221、Wi-Fi模塊223、BT模塊225、GPS模塊227及NFC模塊228中的至少一些(例如,兩個或更多個)可被包括在單個集成芯片(IC)或IC封裝中。
例如,RF模塊229可發(fā)送/接收通信信號(例如,RF信號)。RF模塊229可包括(例如)收發(fā)器、功率放大器模塊(PAM)、頻率濾波器、低噪聲放大器(LNA)或天線。根據(jù)另一實施例,蜂窩模塊221、Wi-Fi模塊223、BT模塊225、GPS模塊227及NFC模塊228中的至少一個可通過單獨的RF模塊發(fā)送/接收RF信號。
SIM卡224可包括(例如)包含用戶識別模塊的卡和/或嵌入式SIM,并且可還包括唯一識別信息(例如,集成電路卡識別碼(ICCID))或用戶信息(例如,國際移動用戶識別碼(IMSI))。
存儲器230可包括(例如)內部存儲器232或外部存儲器234。內部存儲器232可包括(例如)易失性存儲器(例如,動態(tài)隨機存取存儲器(DRAM)、靜態(tài)RAM(SRAM)、同步動態(tài)RAM(SDRAM)等)以及非易失性存儲器(例如,一次性可編程只讀存儲器(OTPROM)、可編程ROM(PROM)、可擦除可編程ROM(EPROM)、電可擦除可編程ROM(EEPROM)、掩膜ROM、閃存ROM、閃存存儲器(例如,NAND閃存存儲器或NOR閃存存儲器)、硬盤驅動器或固態(tài)驅動器(SSD))中的至少一個。
外部存儲器234可還包括閃存驅動器(例如,緊湊型閃存(CF)、安全數(shù)字(SD)、微型安全數(shù)字(微型SD)、迷你安全數(shù)字(迷你SD)、極速數(shù)字(xD)、記憶棒等)。可通過各種接口將外部存儲器234功能性地和/或物理性地連接到電子裝置201。
例如,傳感器模塊240可測量物理量或檢測電子裝置201的操作狀態(tài),并且可將測量出或檢測到的信息轉換為電信號。傳感器模塊240可包括(例如)以下項中的至少一項:手勢傳感器240A、陀螺儀傳感器240B、大氣壓傳感器240C、磁性傳感器240D、加速度傳感器240E、握持傳感器240F、接近傳感器240G、色彩傳感器240H(例如,紅綠藍(RGB)傳感器)、生物傳感器240I、溫度/濕度傳感器240J、照度傳感器240K和紫外線(UV)傳感器240M。附加地或可選地,傳感器模塊240可包括電子鼻傳感器、肌電圖(EMG)傳感器、腦電圖(EEG)傳感器、心電圖(ECG)傳感器、紅外(IR)傳感器、虹膜傳感器和/或指紋傳感器。傳感器模塊240可還包括用于控制在其中包括的一個或更多個傳感器的控制電路。在實施例中,電子裝置201可還包括被配置為AP 210的一部分的處理器或獨立于AP 210的元件,以便控制傳感器模塊240,從而在AP 210處于睡眠狀態(tài)時控制傳感器模塊240。
輸入裝置250可包括(例如)觸摸面板252、(數(shù)字)筆傳感器254、鍵256或超聲輸入裝置258。觸摸面板252可使用(例如)電容型、電阻型、紅外型及超聲型中的至少一種。此外,觸摸面板252可還包括控制電路。觸摸面板252可還包括觸覺層以向用戶提供觸覺反應。
(數(shù)字)筆傳感器254可以是(例如)觸摸面板的一部分或者可包括單獨的識別片。鍵256可包括(例如)物理按鈕、光學鍵或鍵區(qū)。超聲輸入裝置258可通過用于產生超聲信號的輸入單元利用電子裝置201的麥克風(例如,麥克風288)檢測超聲波來識別數(shù)據(jù)。
顯示器260(例如,顯示器160)可包括面板262、全息圖裝置264或投影儀266。面板262可包括與圖1的顯示器160的配置相同或相似的配置。面板262可被實施為(例如)柔性的、透明的或可穿戴的。可將面板262配置為與觸摸面板252集成的單個模塊。全息圖裝置264可使用光的干涉在空氣中展示立體圖像。投影儀266可將光投射到屏幕上以顯示圖像。屏幕可位于(例如)電子裝置201的內部或外部。根據(jù)實施例,顯示器260可還包括用于控制面板262、全息圖裝置264或投影儀266的控制電路。
接口270可包括(例如)高清多媒體接口(HDMI)272、通用串行總線(USB)274、光學接口276或D-超小型(D-sub)278。接口270可被包括在(例如)圖1中示出的通信接口170中。附加地或可選地,接口270可包括(例如)移動高清鏈接(MHL)接口、安全數(shù)字(SD)卡/多媒體卡(MMC)接口或紅外數(shù)據(jù)協(xié)會(IrDA)標準接口。
例如,音頻模塊280可將聲音轉換為電信號,反之亦然。音頻模塊280的至少一些元件可被包括在(例如)圖1中示出的輸入/輸出接口150中。例如,音頻模塊280可處理通過揚聲器282、接收器284、耳機286、麥克風288等輸入或輸出的聲音信息。
相機模塊291可以是(例如)可拍攝靜止圖像或運動圖像的裝置,并且根據(jù)實施例,相機模塊291可包括一個或更多個圖像傳感器(例如,前置傳感器或后置傳感器)、鏡頭、圖像信號處理器(ISP)或閃光燈(例如,LED或氙氣燈)。
例如,電能管理模塊295可管理電子裝置201的電能。根據(jù)實施例,電能管理模塊295可包括電能管理集成電路(PMIC)、充電器IC、或者電池量表或燃料計。電池296可包括(例如)可再充電電池或太陽能電池。
指示器297可指示電子裝置201或其一部分(例如,AP 210)的特定狀態(tài),例如,啟動狀態(tài)、消息狀態(tài)、充電狀態(tài)等。電機298可將電信號轉換為機械振動并且可產生振動效果或觸感效果。
根據(jù)本公開的電子裝置的組件中的每一個可由一個或更多個組件實施,并且相應組件的名稱可根據(jù)電子裝置的類型而變化。在各種實施例中,電子裝置可包括上述元件中的至少一個。可從電子裝置中省略上述元件中的一些或者電子裝置可還包括另外的元件。此外,根據(jù)本公開的各種實施例的電子裝置的元件中的一些元件可被結合以形成一個實體,同時執(zhí)行與結合之前的相應元件的功能相同的功能。
圖3是根據(jù)各種實施例的程序模塊310的框圖。根據(jù)實施例,程序模塊310(例如,程序140)可包括控制與電子裝置(例如,電子裝置101或電子裝置201)相關的資源的操作系統(tǒng)(OS)和/或在操作系統(tǒng)中執(zhí)行的各種應用(例如,應用程度147)。所述操作系統(tǒng)可以是(例如)安卓、iOSTM、WindowsTM、塞班TM、TizenTM、BadaTM等。
程序模塊310可包括內核320、中間件330、應用編程接口(API)360和/或應用370。程序模塊310中的至少一些可在所述電子裝置中被預加載或者可從外部電子裝置(例如,電子裝置(102、104)、服務器106)下載。
內核320(例如,內核141)可包括(例如)系統(tǒng)資源管理器321和/或裝置驅動器323。系統(tǒng)資源管理器321可執(zhí)行系統(tǒng)資源的控制、分配、檢索等。
中間件330可提供(例如)應用370通常需要的功能,或者可通過API 360向應用370提供各種功能,使得應用370可有效利用電子裝置內的有限系統(tǒng)資源。根據(jù)本公開的實施例,中間件330(例如,中間件143)可包括以下項中的至少一項:運行時間庫335、應用管理器341、窗口管理器342、多媒體管理器343、資源管理器344、電能管理器345、數(shù)據(jù)庫管理器346、包管理器347、連接管理器348、通知管理器349、位置管理器350、圖形管理器351以及安全管理器352。
運行時間庫335可包括編譯器使用的庫模塊以便在應用370正被執(zhí)行的同時通過編程語言增加新的功能。運行時間庫335可執(zhí)行輸入/輸出管理、存儲器管理、針對算術函數(shù)的功能等。
應用管理器341可管理(例如)應用370中的至少一個的生命周期。窗口管理器342可管理用于屏幕的圖形用戶界面(GUI)資源。多媒體管理器343可確定再現(xiàn)各種媒體文件所需的格式并且可通過使用適合于相應格式的編碼器/解碼器(編解碼器)對媒體文件進行編碼或解碼。資源管理器344可管理資源,諸如應用370中的至少一個的源代碼、存儲器、存儲空間等。
電能管理器345可與(例如)基本輸入/輸出系統(tǒng)(BIOS)等一起運行以便管理電池或電能,并且可提供所述電子裝置的操作所需的電能信息。根據(jù)本公開的實施例,電能管理器345可通過有線方案或無線方案中的至少一種控制對電池進行充電和放電。
數(shù)據(jù)庫管理器346可產生、搜索和/或改變將由應用370中的至少一個使用的數(shù)據(jù)庫。包管理器347可管理以包文件的形式分發(fā)的應用的安裝或更新。
連接管理器348可管理無線連接(例如,Wi-Fi、藍牙等)。通知管理器349可按照不打擾用戶的方式顯示或通知事件(諸如收到消息、約會、接近通知等)。位置管理器350可管理電子裝置的位置信息。圖形管理器351可管理將提供給用戶的圖形效果或管理與所述圖形效果相關的用戶界面。安全管理器352可提供系統(tǒng)安全、用戶認證等所需的各種安全功能。
根據(jù)本公開的實施例,當電子裝置(例如,電子裝置101)包括電話呼叫功能時,中間件330可還包括用于管理電子裝置的應用或視頻呼叫功能的電話管理器。
中間件330可包括形成上述組件的各種功能的組合的中間件模塊。中間件330可提供專用于每種OS的模塊以便提供差別化的功能。另外,中間件330可動態(tài)地刪除現(xiàn)有組件中的一些或者可增加新的組件。
API 360(例如,API 145)是(例如)一組API編程函數(shù)并且可根據(jù)OS被提供不同的配置。例如,在安卓或iOS的情況下,可針對每個平臺提供一個API集合。在Tizen的情況下,可針對每個平臺提供兩個或更多個API集合。
應用370(例如,應用程序147)可包括(例如)可提供功能(諸如主屏幕371、撥號器372、SMS/MMS 373、即時消息(IM)374、瀏覽器375、相機376、鬧鐘377、聯(lián)系人378、應用撥號器379、電子郵件380、日歷381、媒體播放器382、相冊383、時鐘384、健康護理(例如,測量運動量或血糖)或環(huán)境信息(例如,大氣壓、濕度或溫度信息)的一個或更多個應用。
根據(jù)實施例,應用370可包括支持電子裝置(例如,電子裝置101)和外部電子裝置(例如,電子裝置102或電子裝置104)之間的信息交換的應用(在下文中為便于描述稱為“信息交換應用”)。信息交換應用可包括(例如)用于向外部電子裝置傳輸特定信息的通知轉發(fā)應用或用于管理外部電子裝置的裝置管理應用。
例如,通知轉發(fā)應用可包括將從電子裝置的其它應用(例如,SMS/MMS應用、電子郵件應用、健康護理應用或環(huán)境信息應用)產生的通知信息傳輸?shù)酵獠侩娮友b置(例如,電子裝置102或電子裝置104)的功能。此外,例如,通知轉發(fā)應用可從所述外部電子裝置接收通知信息并向用戶提供接收到的通知信息。
裝置管理應用可管理(例如,安裝、刪除或更新)(例如)與電子裝置進行通信的外部電子裝置(例如,電子裝置102或電子裝置104)的至少一個功能(例如,開啟/關閉外部電子裝置自身(或一些元件)的功能或者調整顯示器的亮度(或分辨率)的功能)、在所述外部電子裝置中運行的應用、或由所述外部電子裝置提供的服務(例如,呼叫服務和消息服務)。
根據(jù)實施例,應用370可包括預加載的應用或可從服務器下載的第三方應用。取決于OS的類型,根據(jù)以上示出的實施例的程序模塊310的元件的名稱可改變。
根據(jù)各種實施例,可在軟件、固件、硬件或者軟件、固件、硬件中的兩個或更多個的組合中實施程序模塊310中的至少一些。可由(例如)處理器(例如,處理器210)實施程序模塊310中的至少一些。程序模塊310中的至少一些可包括(例如)用于執(zhí)行一個或更多個功能的模塊、程序、例行程序、指令集和/或處理。
例如,在此使用的術語“模塊”可意指包括硬件、軟件及固件中的一個或者硬件、軟件及固件中的兩個或更多個的組合的單元??蓪ⅰ澳K”與(例如)術語“單元”、“邏輯”、“邏輯塊”、“組件”或“電路”可互換地使用?!澳K”可以是集成組件元件的最小單元或所述最小單元的一部分?!澳K”可以是用于執(zhí)行一個或更多個功能的最小單元或所述最小單元的一部分??蓹C械地或電子地實施“模塊”。例如,根據(jù)本公開的“模塊”可包括已知或隨后將開發(fā)出的用于執(zhí)行操作的專用集成電路(ASIC)芯片、現(xiàn)場可編程門陣列(FPGA)以及可編程邏輯器件中的至少一個。這里引用的術語“單元”或“模塊”將被理解為包括硬件(諸如針對特定期望功能配置的處理器或微處理器)或包括機器可執(zhí)行代碼的非暫時性介質,并且本身不構成軟件。
根據(jù)各種實施例,可由以編程模塊形式存儲在計算機可讀存儲介質中的命令實施根據(jù)本公開的裝置(例如,模塊或其功能)或方法(例如,操作)的至少一些。當由處理器(例如,處理器120)執(zhí)行指令時,所述指令可促使所述一個或更多個處理器執(zhí)行與所述指令相應的功能。計算機可讀存儲介質可以是(例如)存儲器130。
計算機可讀記錄介質可包括硬盤、軟盤、磁介質(例如,磁帶)、光學介質(例如,壓縮盤只讀存儲器(CD-ROM)和數(shù)字多功能盤(DVD))、磁光介質(例如,軟光盤)、硬件裝置(例如,只讀存儲器(ROM)、隨機存取存儲器(RAM)、閃存)等。此外,所述程序指令可包括可通過使用解釋器在計算機中執(zhí)行的高級語言代碼以及由編譯器制作的機器代碼。上述任何硬件裝置可被配置為作為一個或更多個軟件模塊運作以便執(zhí)行根據(jù)本公開的各種實施例的操作,反之亦然。
根據(jù)本公開的各種實施例的任何模塊或編程模塊可包括上述元件中的至少一個,可排除所述元件中的一些,或者可還包括其它額外的元件??砂凑枕樞虻?、并行的、重復的或啟發(fā)式的方式執(zhí)行根據(jù)本公開的各種實施例的由所述模塊、編程模塊或其它元件執(zhí)行的操作。此外,可根據(jù)另一順序執(zhí)行一些操作,或者可省略一些操作,或者可增加其它操作。
在下文中,在本公開的各種實施例中,將硬件方案描述為示例。然而,本公開的各種實施例包括使用硬件和軟件二者的技術,因此,本公開的各種實施例可不排除軟件的視角。
電子裝置(例如,便攜式終端或電子裝置101)包括GPS、Wi-Fi、藍牙、BLE、傳感器、近場通信(NFC)等,并提供用戶的當前位置及基于位置的服務(LBS)。
地理圍欄可以是近來強調的基于位置的應用編程接口(API)之一,其中,在所述基于位置的API中,基于位置的服務和以基于位置的服務為基礎的各種功能出現(xiàn)。
地理圍欄是地理和圍欄的復合詞并且可指示配置與虛擬地理圍欄相應的地理圍欄并通知用戶針對特定地段的進入/離開事件的API。
地理圍欄可指示除通知用戶的當前位置之外還檢測電子裝置針對通過虛擬邊界分區(qū)的區(qū)域的進入/離開的基于定位的技術。
例如,地理圍欄可以是使用作為位置跟蹤技術之一的全球定位系統(tǒng)(GPS)的接口。也就是說,當通過GPS指定了被稱為地理圍欄的虛擬圍欄時,如果用戶(電子裝置)進入或脫離地理圍欄區(qū)域,則地理圍欄用于通知進入/離開事件。
電子裝置可通過地理圍欄技術識別進入地理圍欄或從地理圍欄離開。隨著在電子裝置中注冊的地理圍欄的數(shù)量增加,電子裝置可能在應用地理圍欄技術時達到極限。例如,當將由電子裝置處理的地理圍欄的數(shù)量大于可由電子裝置的存儲器和硬件(H/W)資源支持的地理圍欄的數(shù)量(參考數(shù)量)時,基于距每個地理圍欄的距離的順序,可將地理圍欄技術應用于有限數(shù)量的地理圍欄。在這種情況下,電子裝置在監(jiān)視對地理圍欄的接近時可能有限制。也就是說,由于電子裝置基于電子裝置的當前位置持續(xù)監(jiān)視地理圍欄,因此電子裝置可不檢測電子裝置對遠離電子裝置的另一地理圍欄的接近。
因此,當多個地理圍欄存在時,電子裝置可對地理圍欄進行分組并對其進行管理,以便減少處理器的功耗或高效利用硬件資源。
根據(jù)本公開的各種實施例,當電子裝置應監(jiān)視多個地理圍欄時,電子裝置可避免監(jiān)視地理圍欄列表之中在不必要區(qū)域中的地理圍欄,并選擇性地監(jiān)視應必要監(jiān)視的地理圍欄。
圖4是示出根據(jù)本公開的一個實施例的管理地理圍欄的電子裝置400和服務器470的框圖。
參照圖4,電子裝置400(例如,圖1的電子裝置101或圖2的電子裝置201)可包括處理器410、位置識別模塊430、第二存儲器450以及通信接口460。
處理器410(例如,圖1的處理器120)可包括中央處理器(CPU)、應用處理器(AP)和通信處理器(CP)中的一個或更多個。
處理器410可包括(例如)應用412、至少一個位置檢測模塊414和數(shù)據(jù)庫管理模塊416。
應用412可被存儲在第二存儲器450、服務器470或一些其它位置中并且由處理器410加載并處理。應用412可以是(例如)與地理圍欄相關的應用。
與地理圍欄相關的應用412可包括相應地點(例如,感興趣點(POI)的地理圍欄)的位置信息(例如,緯度和經(jīng)度)。此外,應用412檢測的地點(位置)可根據(jù)相應應用的目的而變化。
根據(jù)實施例,應用412可將地理圍欄列表傳輸?shù)轿恢脵z測模塊414。地理圍欄列表可以是依據(jù)應用412的請求通過通信接口460從外部服務器470下載的地理圍欄列表或是存儲在第二存儲器450中的地理圍欄列表。
根據(jù)實施例,應用412可從位置檢測模塊414接收電子裝置400針對根據(jù)特定地點(位置)的特定緯度/經(jīng)度的特定地點的進入/離開事件,并向用戶通知所述進入/離開事件。例如,應用412可將包括每個地點的緯度/經(jīng)度的地理圍欄列表傳輸?shù)轿恢脵z測模塊414。位置檢測模塊414可通過使用位置識別模塊430檢測電子裝置400針對地理圍欄列表中包括的特定地點的進入/離開事件,并向應用412通知相應的進入/離開事件。應用412轉而通知用戶。
根據(jù)實施例,位置檢測模塊414可將從應用412接收到的地理圍欄列表(例如,與地理圍欄相關的地點的位置以及緯度/經(jīng)度信息)存儲在服務器470、第二存儲器450或一些其它位置中。此外,位置檢測模塊414可通過使用加速度傳感器和位置識別模塊430(GPS、Wi-Fi、調制解調器、BLE或NFC)識別電子裝置400的當前位置,并檢測是否產生了電子裝置400針對特定地點的進入/離開事件。此外,位置檢測模塊414可將關于進入/離開事件的產生的信息傳輸?shù)綉?12。
根據(jù)實施例,位置檢測模塊414可將關于從應用412接收到的地理圍欄列表的信息存儲在第二存儲器450、服務器470或一些其它位置中,并根據(jù)電子裝置400的當前位置對地理圍欄分群或分組。
此外,位置檢測模塊414可通過使用從應用412接收到的地理圍欄列表數(shù)據(jù)庫管理模塊416做出對地理圍欄進行分群或分組的請求。位置檢測模塊414可將由數(shù)據(jù)庫管理模塊416分群或分組的地理圍欄存儲在第二存儲器450、服務器470或一些其它位置中。位置檢測模塊414可將分組的(分群的)地理圍欄注冊在位置識別模塊430的第一存儲器434中以允許地理圍欄檢測模塊432檢測針對地理圍欄的進入/離開事件。
數(shù)據(jù)庫管理模塊416可基于(例如)根據(jù)每個地理圍欄的緯度/經(jīng)度的距離或一些其它標準對地理圍欄進行分組。例如,位置檢測模塊414可向數(shù)據(jù)庫管理模塊416做出對從應用412接收到的地理圍欄列表進行分組的請求。數(shù)據(jù)庫管理模塊416可依據(jù)位置檢測模塊414的請求根據(jù)特定標準(例如,基于緯度/經(jīng)度、距離或情形)對地理圍欄列表進行分組,并將分組的地理圍欄列表存儲在第二存儲器450、服務器470或一些其它位置中。
服務器470可用于存儲與地理圍欄相關的應用412或存儲地理圍欄列表??蛇x地,位置檢測模塊414可用于從應用412接收地理圍欄列表的位置信息(例如,地理圍欄的緯度/經(jīng)度)并存儲地理圍欄列表的位置信息??蛇x地,當電子裝置400開始監(jiān)視電子裝置400的位置時或在監(jiān)視期間,位置檢測模塊414可在電子裝置400的位置改變時向服務器470做出對相應的地理圍欄列表信息的請求,因此需要更多的地理圍欄位置信息。
位置識別模塊430可包括(例如)地理圍欄檢測模塊432和第一存儲器434??稍谟布袑嵤┪恢米R別模塊430。例如,位置識別模塊430可通過使用位置服務(諸如GPS、Wi-Fi及蜂窩)中的至少一個檢測電子裝置400的位置。
位置識別模塊430可以是構建地理圍欄并檢測地理圍欄的模塊。例如,處理器410可將地理圍欄注冊在位置識別模塊430的第一存儲器434中,并且地理圍欄檢測模塊432可檢測針對在第一存儲器434中注冊的地理圍欄的進入/離開事件。也就是說,地理圍欄檢測模塊432可檢測電子裝置從與地理圍欄相應的區(qū)域的外部到內部的移動狀態(tài)或者從與地理圍欄相應的區(qū)域的內部到外部的移動狀態(tài)(即,當電子裝置跨過地理圍欄的邊界時)。
根據(jù)本公開的實施例,處理器410可將基于特定標準分組的地理圍欄注冊在位置識別模塊430的第一存儲器434中,并且地理圍欄檢測模塊432可檢測針對分組并注冊的地理圍欄的進入/離開事件。
例如,與地理圍欄相關的應用412可從第二存儲器450或服務器470加載地理圍欄列表。位置檢測模塊414可從應用412接收地理圍欄列表的位置信息(例如,緯度/經(jīng)度或距離)并處理接收到的地理圍欄列表,或者向數(shù)據(jù)庫管理模塊416做出對地理圍欄列表的位置信息的請求并對適合于位置識別模塊430的硬件資源(例如,第一存儲器434)的地理圍欄列表進行分組。位置檢測模塊414可將分組的地理圍欄列表注冊在位置識別模塊430的第一存儲器434中,并且地理圍欄檢測模塊432可將注冊的地理圍欄和電子裝置400的當前位置進行比較以檢測地理圍欄的進入/離開事件。當?shù)乩韲鷻跈z測模塊432檢測到針對注冊的地理圍欄的進入/離開事件時,地理圍欄檢測模塊432可喚醒位置檢測模塊414并且位置檢測模塊414可向應用412通知進入/離開事件的產生。
在圖4中,位置識別模塊430可以是被配置為監(jiān)視地理圍欄群組的處理器,處理器410可以是功能性地連接到位置識別模塊430的另一處理器。然后,處理器410可將包括多個地理圍欄中的至少一些地理圍欄的地理圍欄群組發(fā)送到位置識別模塊430,并且電子裝置400可從位置識別模塊430接收與從所述地理圍欄群組中包括的一個地理圍欄的外部到內部的移動或從所述一個地理圍欄的內部到外部的移動相應的通知。
在這時,處理器410可響應于電子裝置400的移動(從所述外部到所述內部的移動或從所述內部到所述外部的移動)更新地理圍欄群組。此外,當產生了地理圍欄群組時,處理器410可基于有限的數(shù)量產生地理圍欄群組,基于用戶的行為模式產生地理圍欄群組,或者基于與多個地理圍欄相應的位置信息產生地理圍欄群組。此外,位置識別模塊430可消耗比處理器410的電能更少的電能。
服務器470可存儲與所述多個地理圍欄相應的位置信息。處理器410可基于地理圍欄的距離或緯度和經(jīng)度坐標,或者基于電子裝置400的當前位置將所述多個地理圍欄分類為多個主群組。位置識別模塊430可監(jiān)視電子裝置400是否接近與所述多個主群組相應的區(qū)域。當電子裝置400接近與所述多個主群組中的一個主群組相應的區(qū)域時,位置識別模塊430可向處理器410通知所述接近。然后,處理器410可將一個主群組分類為多個子群組。位置識別模塊430可監(jiān)視子群組。
處理器410可基于位置信息確定在所述多個地理圍欄之中將被監(jiān)視的各個地理圍欄中的第一候選,并產生包括與電子裝置400相應的位置以及第一候選的虛擬地理圍欄。位置識別模塊430可監(jiān)視虛擬地理圍欄。在這時,當電子裝置離開虛擬地理圍欄時,位置識別模塊430可對其進行檢測并通知處理器410。然后,處理器410可基于電子裝置400的位置確定在所述多個地理圍欄之中將被監(jiān)視的第二候選。
根據(jù)本公開的各種實施例,電子裝置可包括:第一處理器,被配置為監(jiān)視地理圍欄群組;第二處理器,功能性地連接到第一處理器;并且第二處理器可被配置為向第一處理器發(fā)送包括多個地理圍欄中的至少一些地理圍欄的地理圍欄群組并從第一處理器接收電子裝置從地理圍欄群組中的一個地理圍欄的外部移動到內部或從所述一個地理圍欄的內部移動到外部的通知。第二處理器可在電子裝置位于所述一個或更多個地理圍欄群組中的一個地理圍欄群組(第一地理圍欄群組)中時監(jiān)視第一地理圍欄群組和/或包括在第一地理圍欄群組中的至少一個地理圍欄,并且可在電子裝置脫離第一地理圍欄群組時將所述多個地理圍欄重新分組為一個或更多個地理圍欄群組。
根據(jù)實施例,第二處理器可獲得電子裝置的當前位置,計算所述當前位置與每個地理圍欄之間的距離,并且基于計算出的距離和/或可被監(jiān)視的地理圍欄的數(shù)量將至少一個地理圍欄重新分組為一個地理圍欄群組,其中,所述至少一個地理圍欄滿足可按照從當前位置開始最近的順序被監(jiān)視的地理圍欄的數(shù)量。第二處理器可在電子裝置位于地理圍欄范圍內部時計算從電子裝置到電子裝置開始脫離所述地理圍欄范圍的點的距離,并可在電子裝置位于所述地理圍欄范圍外部時計算從電子裝置到電子裝置開始進入所述地理圍欄范圍的點的距離,然后按照從電子裝置的當前位置開始最近的順序排列計算出的地理圍欄并將預定數(shù)量的地理圍欄配置為地理圍欄群組。
根據(jù)實施例,第二處理器可基于緯度和經(jīng)度的位置信息將所述多個地理圍欄分類為多個更高等級的地理圍欄群組,并且當基于第一處理器的監(jiān)視結果識別出電子裝置接近與所述多個更高等級的地理圍欄群組中的一個更高等級的地理圍欄群組相應的區(qū)域時,將所述一個更高等級的地理圍欄群組分類為多個較低等級的地理圍欄群組。第一處理器可監(jiān)視所述多個較低等級的地理圍欄群組。與第二處理器相比,第一處理器可消耗較低的電能。
根據(jù)實施例,第二處理器可產生地理圍欄群組以包括有限數(shù)量的地理圍欄。第二處理器可基于用戶的行為模式形成第一地理圍欄群組,然后基于位置信息利用所述有限數(shù)量的地理圍欄之中的剩余地理圍欄形成第二地理圍欄群組。所述位置信息可以是電子裝置的緯度和經(jīng)度,或者是電子裝置和地理圍欄之間的距離。
根據(jù)本公開的一個實施例,當電子裝置監(jiān)視多個地理圍欄時,可基于特定參考對地理圍欄列表進行分群或分組,然后對其進行監(jiān)視。
例如,當電子裝置應監(jiān)視多個地理圍欄時,在歸因于電流消耗和硬件資源的限制的一些情況下,并非所有將被監(jiān)視的地理圍欄可被注冊。在這種情況下,需要電子裝置在基于特定參考進行分群或分組之后監(jiān)視地理圍欄列表。
圖5A至圖5D示出根據(jù)本公開的各種實施例的對地理圍欄進行分組的配置。
圖5A是在對地理圍欄進行分群或分組之前的示圖。參照圖5A,點510可指示電子裝置400的當前位置,圓形虛擬地理圍欄G1至G7可指示地理圍欄。
位置識別模塊430可基于第一存儲器434的大小或可用的硬件資源來預定義可由電子裝置400允許的地理圍欄的數(shù)量。例如,當假設位置識別模塊430的可用地理圍欄的數(shù)量是圖5A中的總計7個地理圍欄中的5個時,地理圍欄檢測模塊432可僅注冊5個地理圍欄并僅監(jiān)視所述5個注冊的地理圍欄。剩余的兩個地理圍欄可不被位置識別模塊430監(jiān)視。
電子裝置400可能需要一種減少功耗并有效監(jiān)視地理圍欄的方法。為實現(xiàn)這一目標,電子裝置400可對所有的地理圍欄進行分群或分組并僅監(jiān)視被分群或分組的地理圍欄。例如,圖5A考慮電子裝置400將地理圍欄劃分為兩個群組并注冊所述兩個群組的方法(其中,一個群組包括四個地理圍欄,另一群組包括三個地理圍欄),而不是電子裝置400注冊并監(jiān)視所有七個地理圍欄的情形。當電子裝置400的當前位置在所述兩個群組的區(qū)域之外時,電子裝置400可將所述兩個群組注冊在地理圍欄列表中。當電子裝置400移動到所述兩個群組中的一個群組的區(qū)域內時,電子裝置400可注冊包含電子裝置400的群組并監(jiān)視在相應群組中的地理圍欄。
根據(jù)本公開的實施例,電子裝置可基于緯度/經(jīng)度對多個地理圍欄進行分群或分組。
圖5B示出在根據(jù)基于緯度/經(jīng)度信息的每個區(qū)域對地理圍欄進行分組之前的示例。
電子裝置400可從第二存儲器450或服務器470獲得包括基于電子裝置400的當前位置的預設距離以內的至少一個地理圍欄的地理圍欄列表。參照圖5B,電子裝置400可基于包括在所述地理圍欄列表中的至少一個地理圍欄中的每個地理圍欄的緯度/經(jīng)度的平均值來計算中心520,并從中心520開始按照緯度/經(jīng)度的固定間隔(例如,1度)識別所包括的地理圍欄。電子裝置400可將緯度/經(jīng)度的所述固定間隔以內的地理圍欄的數(shù)量(例如,地理圍欄群組的數(shù)量)和硬件資源所允許的數(shù)量進行比較,并且當緯度/經(jīng)度的所述固定間隔以內的地理圍欄的數(shù)量大于硬件資源所允許的數(shù)量時,電子裝置400可基于小于第一間隔的緯度/經(jīng)度的間隔(例如,0.5度)對地理圍欄進行分組。也就是說,電子裝置400可根據(jù)基于緯度/經(jīng)度的每個區(qū)域對地理圍欄重復分組直到將被注冊的地理圍欄(地理圍欄和地理圍欄群組)的數(shù)量適合于所允許的硬件資源的數(shù)量。
例如,電子裝置400可基于小于第一間隔(例如,1度)的單位(例如,0.5度)形成子群組,或者通過將緯度/經(jīng)度四舍五入以去除小數(shù)位來形成子群組。
根據(jù)本公開的實施例,電子裝置可基于電子裝置的距離信息對多個地理圍欄進行分群或分組。
圖5C示出在基于距離信息對地理圍欄進行分組之前的示例。
參照圖5C,當假設在位置識別模塊430的硬件資源上可允許的地理圍欄的數(shù)量或者由用戶輸入的可允許的地理圍欄的數(shù)量是五個時,電子裝置400可識別與電子裝置400的當前位置最接近的多達4個地理圍欄的多個地理圍欄。
例如,電子裝置400可將群組531中最接近電子裝置510的當前位置的地理圍欄G1、G2、G3、G4注冊在位置識別模塊430中,并監(jiān)視總計4個地理圍欄。虛擬群組531可被稱為虛擬圍欄。
根據(jù)實施例,電子裝置400可在電子裝置400位于地理圍欄內部時計算從電子裝置400到電子裝置400離開地理圍欄的點的距離。所述裝置也可在電子裝置400位于地理圍欄外部時計算從電子裝置400到電子裝置400進入地理圍欄的點的距離。
當電子裝置400在群組#1 531內移動時,不執(zhí)行新的分組處理。然而,當電子裝置400移動到群組531之外時,可基于所述電子裝置的改變后的當前位置(群組#1 531的區(qū)域外部)和每個地理圍欄之間距離執(zhí)行新的分組操作。
根據(jù)本公開的實施例,電子裝置可基于識別方案對多個地理圍欄進行分群或分組。
圖5D示出基于情境感知(context-aware)方案對地理圍欄進行分組的示例。也就是說,電子裝置400可在沒有對地理圍欄進行分組的情況下獨立地注冊頻繁訪問的地理圍欄,或者僅對頻繁訪問的地理圍欄進行分組、注冊和監(jiān)視。
參照圖5D,假設地理圍欄G6和G7是用戶(例如,電子裝置400)頻繁訪問的地點(例如,家或辦公室)。用戶頻繁訪問的地點是指用戶頻繁移動到的地點/用戶頻繁從其開始移動的地點,使得可在該地點頻繁產生進入/離開事件。因此,當電子裝置400將作為頻繁訪問地點的地理圍欄G6和G7與另一地理圍欄分為一組時,處理器410可頻繁接收通知請求,因此功耗可能增加。
根據(jù)實施例,電子裝置400可基于情境感知方案在無需將頻繁訪問的地理圍欄G6和G7與其它地理圍欄分為一組的情況下將地理圍欄G6和G7獨立地注冊在位置識別模塊430中,并可基于其緯度/經(jīng)度或距離將剩余地理圍欄G1至G5分組為群組#1 541和群組#2 542并對其進行注冊和監(jiān)視。
此外,電子裝置400可在無需將地理圍欄G6和G7與其它地理圍欄分為一組的情況下僅將頻繁訪問的地理圍欄G6和G7分組為一個群組并對其進行監(jiān)視。
根據(jù)本公開的各種實施例,可根據(jù)包括在地理圍欄列表中的地理圍欄的緯度/經(jīng)度之間的相似度對多個地理圍欄進行分組。
參照圖4和圖5B,在對至少一個地理圍欄進行分組的處理中,應用412可向位置檢測模塊414做出監(jiān)視針對地理圍欄列表中包括的至少一個地理圍欄的進入/離開事件的請求。應用412可期望僅接收在電子裝置400針對地理圍欄的進入和離開事件之中的一個事件,并且可暫時停止監(jiān)視操作或依據(jù)用戶請求重新啟動監(jiān)視操作。
位置檢測模塊414可將接收到的關于地理圍欄列表的信息(例如,距離或緯度/經(jīng)度)存儲在第二存儲器450或服務器470中,并且根據(jù)電子裝置400的當前位置向數(shù)據(jù)庫管理模塊416做出對地理圍欄列表進行分群或分組的請求。數(shù)據(jù)庫管理模塊416可基于特定標準(例如,緯度/經(jīng)度、距離的順序、或情境感知)對地理圍欄進行分組。
根據(jù)實施例,電子裝置400可根據(jù)地理圍欄列表中的地理圍欄的位置(例如,緯度/經(jīng)度)形成群組。電子裝置400可識別在地理圍欄列表中的每個地理圍欄的緯度/經(jīng)度,通過將每個地理圍欄的緯度/經(jīng)度與電子裝置400的當前位置進行比較來識別緯度/經(jīng)度的固定間隔內的地理圍欄,并根據(jù)所述緯度/經(jīng)度對識別出的地理圍欄進行分組。
例如,電子裝置400可檢測電子裝置400的當前位置并從電子裝置400的當前位置開始按照緯度/經(jīng)度的1度的間隔識別所包括的地理圍欄的數(shù)量??蛇x地,電子裝置400可識別在從電子裝置400的當前位置開始的與固定間隔(例如,1度)相應的預定距離(例如,約100km)內的地理圍欄的數(shù)量。電子裝置400可將地理圍欄的數(shù)量與硬件資源的數(shù)量或用戶所允許的地理圍欄的數(shù)量進行比較,并且當需要進行分組時,根據(jù)緯度/經(jīng)度相似度對地理圍欄進行分組。
電子裝置400可形成邊界是距電子裝置400的當前位置的預定距離(例如,100km)的大群組(上級群組),并可識別相應群組內的地理圍欄的數(shù)量是否具有可由位置識別模塊430的硬件資源進行充分處理的大小。當相應群組內的地理圍欄的數(shù)量具有可由位置識別模塊430進行充分處理的大小時,電子裝置400可開始監(jiān)視相應群組。否則,電子裝置400可按照更小的單位對所述群組進行劃分以形成如上所述的下級群組。
例如,當由于位置識別模塊430的第一存儲器434而可注冊的地理圍欄的有限數(shù)量為N并且相應群組的地理圍欄的數(shù)量大于N時,電子裝置400可以以下級群組為單位對群組進行劃分并形成下級群組。
圖6A和圖6B示出根據(jù)本公開的各種實施例的地理圍欄列表等級的配置。圖6A示出按照緯度/經(jīng)度的1度差別或距電子裝置的位置100km來形成與更大群組相應的地理圍欄列表等級1的操作,圖6B示出形成與地理圍欄列表等級1的子群組相應的地理圍欄列表等級2的操作。
參照圖4和圖6A,在開始監(jiān)視地理圍欄之前,位置檢測模塊414可從服務器740或第二存儲器450加載關于不在距電子裝置400的當前位置預定距離(例如,約100km)之外的所有地理圍欄的信息。這可以是使大群組成為覆蓋約100km的大群組的基礎。
參照圖6A,當通過從每個地理圍欄的緯度/經(jīng)度值減去當前電子裝置400的緯度/經(jīng)度值所產生的值大于或等于-1.0且小于1.0時,電子裝置400可確定每個地理圍欄接近小于距中心所述預定距離(例如,約100km)的位置。所述中心可以是地理圍欄的緯度/經(jīng)度的平均值。約100km的距離差可基于1度的緯度/經(jīng)度差與約100km的距離差相應的假設。針對1度的差別的實際距離根據(jù)緯度/經(jīng)度變化,并且可通過確定覆蓋較低等級(上級群組)的更高等級(下級群組)的半徑的以下方法予以解決。
例如,電子裝置400可將位于距中心約1度的緯度/經(jīng)度差以內(即,在距中心100km以內)的所有地理圍欄確定為地理圍欄列表等級1(例如,更大群組)。
參照圖6B,在電子裝置400具有地理圍欄列表等級1的狀態(tài)下,電子裝置400的位置檢測模塊414可檢測在可用硬件資源之中最壞資源的可用范圍N??蛇x地,位置檢測模塊414可將N確定為用戶可允許的地理圍欄的數(shù)量。當?shù)乩韲鷻诹斜淼燃?大于N時,電子裝置400可形成新的子群組地理圍欄列表等級2.
例如,為了舍棄小于1度的值,電子裝置400可參考通過將地理圍欄的緯度/經(jīng)度的小數(shù)點之后的第一位四舍五入而獲得的值,以便形成包括具有相同值的地理圍欄的下級群組。在這時,下級群組列表可被限定為地理圍欄列表等級2。參照圖6B,注意到等級2的地理圍欄群組的數(shù)量是9個。
基本上,可形成包括作為等級1的參考的約100km的半徑以內的地理圍欄的總計10個地理圍欄列表以及可被產生為等級2的最多9個群組。
圖7示出根據(jù)本公開的各種實施例的識別地理圍欄的子群組的半徑的方法。
可基于地理圍欄列表等級2內的地理圍欄之中具有距離相應中心的緯度/經(jīng)度最遠檢測區(qū)域的地理圍欄設置地理圍欄列表等級2的范圍的半徑。
參照圖7,由于地理圍欄X 720的邊界距等級2的群組的中心O'710最遠,因此如圖7所示,地理圍欄列表等級2的半徑為M(O’與地理圍欄X 720的中心之間的距離)加上Rx(地理圍欄X 720的半徑)。例如,當相應群組內的地理圍欄X 720的緯度/經(jīng)度是(x,y)并且等級2的群組的參考的緯度/經(jīng)度是O'(a,b)710時,電子裝置400可計算從(a,b)到(x,y)的距離M以及具有(x,y)作為中心的地理圍欄X的半徑Rx。也就是說,M+Rx成為等級2的群組的最大值,使得M+Rx可以是地理圍欄列表等級2的半徑。
當在地理圍欄列表中僅存在一個地理圍欄時,相應群組的中心和半徑可與子群組的中心和半徑相同。在這時,由于分組操作,可創(chuàng)建不必要的重疊的地理圍欄群組,使得可在最近的群組中包括相應地理圍欄,或者當僅在相應群組以外形成了群組時,相應地理圍欄本身可被視為所述群組(地理圍欄列表),從而避免重疊監(jiān)視。
按照相似的方式,基于等級1的地理圍欄的最遠范圍,等級1的半徑可以是靈活的而非固定為100km。按照這種方式,可產生子群組的子群組。
根據(jù)一個實施例,電子裝置400可通過對包括電子裝置400的當前位置的較低等級(上級群組)的地理圍欄群組以及與相應群組中包括的群組成員相應的地理圍欄進行地理圍欄來減少硬件資源的負擔。
根據(jù)一個實施例,電子裝置400可通過僅監(jiān)視特定群組的地理圍欄中的地理圍欄來減少硬件資源的負擔。
雖然公開了根據(jù)作為可在電子裝置中注冊的地理圍欄的最大數(shù)量的N對地理圍欄進行分組,但是根據(jù)小于N的數(shù)字對地理圍欄進行分組可能更可取。這是因為可通過每個地理圍欄的分組操作執(zhí)行重疊監(jiān)視。
當電子裝置400結束用于監(jiān)視位置的分組處理時,位置識別模塊430可通過使用被配置為最大群組的等級1以及等級2的列表開始硬件地理圍欄處理。例如,當電子裝置400識別出電子裝置400進入相應區(qū)域(地理圍欄)時,電子裝置400可將所述地理圍欄與相應區(qū)域的下級列表(原始地理圍欄)進行比較,然后當不存在在(所進入的)所述下級列表中檢測到的下級地理圍欄時,電子裝置降低所述等級并執(zhí)行重新注冊。也就是說,電子裝置400可注冊電子裝置400已經(jīng)進入其區(qū)域的等級2的地理圍欄以及等級2的地理圍欄的子群組。在這種情況下,電子裝置400可再次執(zhí)行分組操作并注冊等級3的地理圍欄列表。類似地,可基于N-3對所述等級或群組進行劃分。
根據(jù)本公開的一個實施例,位置檢測模塊414可在檢測位置的同時獲知重疊或重復的地理圍欄。在檢測到電子裝置400已經(jīng)進入地理圍欄A的狀態(tài)下,當檢測到電子裝置400已經(jīng)進入地理圍欄B時,可識別出所述兩個地理圍欄相互重疊。
根據(jù)本公開的各種實施例,位置檢測模塊414可在檢測位置的同時記住每個群組和地理圍欄區(qū)域的訪問頻率?;谒鲈L問頻率,可基于情景感知來新限定針對頻繁訪問的地理圍欄的群組。
圖8A至圖8C示出根據(jù)本公開的各種實施例的地理圍欄的注冊。參照圖8A至圖8C,假設用戶從所有群組的區(qū)域的外部移動到群組1的區(qū)域的內部。
參照圖8A,G1至G10可指示地理圍欄。例如,可在相應區(qū)域中存在總計10個地理圍欄,并且群組1的地理圍欄可以是G1至G8,群組2的地理圍欄可以是G9和G10。另外,可假設電子裝置的硬件資源可注冊最多6個地理圍欄。
參照圖8A的表810,電子裝置400的位置識別模塊430可注冊包括群組1和群組2的地理圍欄列表。參照圖8A,可假設電子裝置400從電子裝置400未進入任何群組的狀態(tài)移動到群組1。
在這種情況下。位置識別模塊430可注冊并監(jiān)視作為群組1的中心的中心1的緯度/經(jīng)度以及作為群組2的中心的中心2的緯度/經(jīng)度,而不監(jiān)視地理圍欄G1至G8。
可通過地理圍欄G1至G8的緯度/經(jīng)度值的平均值確定作為群組1的中心的中心1??赏ㄟ^將中心1與具有最遠檢測區(qū)域的地理圍欄G的中心之間的距離d2和地理圍欄G2的半徑r2相加產生的值(R1=d2+r2)來確定群組1的半徑R1。
類似地,可通過地理圍欄G9和G10的緯度/經(jīng)度值的平均值來確定作為群組2的中心的中心2??赏ㄟ^將中心2與具有較遠檢測區(qū)域的地理圍欄(例如,G9)之間的距離和所述地理圍欄(例如,G9)的半徑相加產生的值來確定群組2的半徑R2。在這種情況下,電子裝置400的位置識別模塊430僅必須監(jiān)視被配置為群組1和群組2的兩個地理圍欄,因此硬件資源可以是充足的。
參照圖8B,用戶(例如,電子裝置400)可進入群組1的半徑R1。當電子裝置400進入群組1時,電子裝置400的位置檢測模塊414可刪除在位置識別模塊430中注冊的群組2,并另外注冊群組1的下級地理圍欄。
例如,如圖8B的表830中所示,位置識別模塊430可注冊群組1的8個地理圍欄以及群組1。在這種情況下,位置識別模塊430的硬件資源應允許9個或更多個地理圍欄。
如上所述,當硬件資源(例如,包括在位置識別模塊430中的第一存儲器434的容量)所允許的地理圍欄的數(shù)量限于6個時,如圖8C中所示,位置識別模塊430可另外地對群組1內部的地理圍欄進行分組并產生群組3、群組4、群組5。也就是說,群組3、群組4、群組5可以是群組1的子群組。
當用戶(例如,電子裝置400)沒有位于群組3、群組4、群組5的任何區(qū)域中時,位置識別模塊430可將群組1、群組3、群組4、群組5注冊為將被監(jiān)視的地理圍欄。然而,如圖8C中所示,當電子裝置400的當前位置在群組3中包括的地理圍欄G2以內時,位置檢測模塊414可向用戶通知與電子裝置400進入地理圍欄G2相應的事件的應用。隨后,為了另外地監(jiān)視地理圍欄,位置檢測模塊414可將群組3以及地理圍欄G1和G2注冊為將被監(jiān)視的地理圍欄??杀3治恢米R別模塊430對群組3的監(jiān)視直到電子裝置400的位置離開群組3為止。當電子裝置400移動到另一子群組(群組4或群組5)時,電子裝置400的位置檢測模塊414可把將被監(jiān)視的目標改變?yōu)槠渌尤航M和與所述子群組相應的地理圍欄。另外,當電子裝置400移動到更大群組(群組1)的區(qū)域時,位置檢測模塊414可把將被監(jiān)視的目標改變?yōu)槿航M1以及子群組3、子群組4、子群組5。可保持對群組1以及所包括的地理圍欄的監(jiān)視直到電子裝置400離開群組1的區(qū)域為止。
圖9A至圖9C示出根據(jù)本公開的一個實施例的電子裝置形成地理圍欄群組的處理。
圖9A示出電子裝置400和在形成群組之前的每個地理圍欄。電子裝置400可在每當測量電子裝置400的當前位置時測量距每個地理圍欄的距離。電子裝置400可排列地理圍欄最多達N個(例如,6個)地理圍欄,其中,N是由于硬件資源而將被監(jiān)視的地理圍欄的限制。
參照圖9A,圓形G1至G7可指示地理圍欄,星形910可指示電子裝置400的當前位置。電子裝置400可測量從電子裝置400的當前位置910至每個地理圍欄的距離并列出按照距離排序的地理圍欄(例如,G1至G7)。例如,在每個地理圍欄上標記的數(shù)字可指示更接近電子裝置400的當前位置910的地理圍欄的順序。
圖9B示出電子裝置400注冊按照電子裝置400的當前位置與每個地理圍欄之間的距離排序的N-1個地理圍欄的處理。在列出按照更接近電子裝置400的當前位置910的位置排序的地理圍欄之后,電子裝置400可注冊按照距離排序的所述N-1個地理圍欄。也就是說,當N是6時,如圖9B中所示,電子裝置400可注冊接近電子裝置400的當前位置910的5個地理圍欄(G1至G5)。
圖9C示出電子裝置400按照所述當前位置與每個地理圍欄之間的距離的順序形成群組。參照圖9C,電子裝置400可形成與具有從電子裝置400的當前位置到第六地理圍欄(G6)的距離的半徑的虛擬地理圍欄930相應的地理圍欄群組。例如,在所述地理圍欄群組中,可利用電子裝置400的當前位置作為中心并利用距第N個地理圍欄的距離作為半徑來確定緯度/經(jīng)度。
作為虛擬地理圍欄的地理圍欄群組可被稱為虛擬圍欄,由于位置識別模塊430在電子裝置400離開虛擬圍欄930的時刻向處理器410提供通知,因此可實時監(jiān)視所有的地理圍欄。當電子裝置400移動并離開虛擬圍欄930時,電子裝置400可基于在虛擬圍欄930外部的電子裝置400的新位置以及所述新位置與現(xiàn)有地理圍欄之間的距離再次形成新的群組。
即使電子裝置400通過按照距離形成虛擬圍欄930的方法移動,也新測量距每個地理圍欄的距離,使得可將所述方法適應性地應用于添加或刪除地理圍欄的情況。
圖10是示出根據(jù)本公開的各種實施例的基于地理圍欄的緯度/經(jīng)度形成上級群組的處理的流程圖。
參照圖10,在操作1010,電子裝置400可識別關于兩個或更多個地理圍欄的信息。關于地理圍欄的信息可指示特定地理圍欄位置的緯度/經(jīng)度。例如,電子裝置400的數(shù)據(jù)庫管理模塊416可識別通過應用412接收到的地理圍欄列表中包括的至少一個地理圍欄的緯度/經(jīng)度信息。
在操作1020,電子裝置400可識別可被監(jiān)視(注冊)的地理圍欄的數(shù)量。電子裝置400可基于作為位置識別模塊430的硬件資源的第一存儲器434的狀態(tài)(例如,存儲器容量)識別可被監(jiān)視的地理圍欄的數(shù)量??捎呻娮友b置400形成的群組的數(shù)量可等于或小于可被監(jiān)視的地理圍欄的數(shù)量。例如,當可被監(jiān)視的地理圍欄的數(shù)量是6個時,可由電子裝置400形成的群組的數(shù)量可等于或小于6。
在操作1030,電子裝置400可基于可被監(jiān)視的地理圍欄的數(shù)量和關于每個地理圍欄的信息中的至少一項產生包括至少一個地理圍欄的至少一個群組。
如上所述,可被監(jiān)視的地理圍欄的數(shù)量(例如,可在電子裝置400中注冊的地理圍欄的數(shù)量)可等于或大于可由電子裝置400形成的群組的數(shù)量。一個群組可被識別為多個地理圍欄或一個地理圍欄的群組。
例如,電子裝置400可在操作1010識別作為關于地理圍欄列表中的每個地理圍欄的信息的緯度/經(jīng)度,并且可在操作1020將所述緯度/經(jīng)度注冊在位置識別模塊430中并識別可被監(jiān)視的地理圍欄的數(shù)量。電子裝置400可識別預定緯度/經(jīng)度間隔(例如,1度)以內的地理圍欄的數(shù)量,并將同一緯度/經(jīng)度間隔以內的地理圍欄的數(shù)量和可被監(jiān)視的地理圍欄的數(shù)量進行比較,以便形成包括至少一個地理圍欄的一個群組。
根據(jù)實施例,當可被監(jiān)視的地理圍欄的數(shù)量小于同一緯度/經(jīng)度間隔以內的地理圍欄的數(shù)量時,由于關于位置識別模塊430的資源的限制,電子裝置400可形成若干群組。例如,當可被監(jiān)視的地理圍欄的數(shù)量是10并且在1度的緯度/經(jīng)度間隔以內包括100個地理圍欄時,電子裝置400可僅監(jiān)視100個地理圍欄中的一些而非全部。因此,電子裝置400可形成并監(jiān)視包括至少一個地理圍欄的若干群組。
根據(jù)實施例,當可被監(jiān)視的地理圍欄的數(shù)量大于或等于同一緯度/經(jīng)度間隔以內的地理圍欄的數(shù)量時,電子裝置400可形成若干群組以合理分配位置識別模塊430的資源。例如,當可被監(jiān)視的地理圍欄的數(shù)量是10并且在1度的緯度/經(jīng)度間隔以內存在10個地理圍欄時,電子裝置400可注冊并監(jiān)視全部10個地理圍欄,但是可依據(jù)功耗以及位置識別模塊430的資源的合理分配將10個地理圍欄分組為2個或3個群組并監(jiān)視分組的地理圍欄。
圖11是示出根據(jù)本公開的實施例的用于在地理圍欄的更大群組內形成子群組的處理的流程圖。圖11是示出在圖10的用于形成至少一個更大群組的操作1030之后形成針對至少一個更大群組的子群組的方法的流程圖。
在操作1110,電子裝置400可監(jiān)視至少一個更大群組(例如,在圖10的操作1030中形成的群組)。
在操作1120,電子裝置400可識別電子裝置400的當前位置。
在操作1130,電子裝置400可識別電子裝置400的當前位置是否被包括在將被監(jiān)視的至少一個更大群組中的一個更大群組中。
根據(jù)實施例,當電子裝置400的當前位置未被包括在將被監(jiān)視的至少一個更大群組中的一個更大群組中時,電子裝置400可繼續(xù)監(jiān)視至少一個更大群組。例如,當電子裝置400未進入任何一個更大群組時,電子裝置400可在操作1110繼續(xù)監(jiān)視至少一個更大群組。
當電子裝置400的當前位置被包括在將被監(jiān)視的至少一個更大群組中的一個更大群組中時,電子裝置400可在操作1140識別所述群組中包括的地理圍欄的數(shù)量,以便檢測電子裝置400所在的更大群組中包括的地理圍欄。
在操作1150,電子裝置400可將所述群組中包括的地理圍欄的數(shù)量和可被監(jiān)視的地理圍欄的數(shù)量進行比較,以便確定是否形成子群組。例如,當在所述更大群組中包括的地理圍欄的數(shù)量大于可被監(jiān)視的地理圍欄的數(shù)量時,電子裝置400可確定由于位置識別模塊430的限制并非全部的地理圍欄可被監(jiān)視。因此,電子裝置400可確定需要子群組的產生。可由數(shù)據(jù)庫管理模塊416執(zhí)行子群組的產生。
根據(jù)實施例,當電子裝置400所在的群組中包括的地理圍欄的數(shù)量大于可被監(jiān)視的地理圍欄的數(shù)量時,電子裝置400可形成子群組。當電子裝置400所在的群組中包括的地理圍欄的數(shù)量等于或小于可被監(jiān)視的地理圍欄的數(shù)量時,電子裝置400可保持對所述更大群組的監(jiān)視。
然而,即使當在相應上級群組以內的地理圍欄的數(shù)量等于或小于可被監(jiān)視的地理圍欄的數(shù)量時,電子裝置400也可基于功耗和資源分配確定是否需要子群組的形成。當確定需要下級群組的形成時,電子裝置400可在操作1160形成子群組。
根據(jù)實施例,確定需要子群組的形成,電子裝置400可在操作1160將相應上級群組中包括的地理圍欄形成為多個下級群組。形成子群組的方法可與形成更大群組的方法相同(例如,基于緯度/經(jīng)度、按照距離的順序、或者情景感知方案)。
圖11示出電子裝置形成更大群組中包括的子群組的方法。當在監(jiān)視更大群組的同時電子裝置400的位置被包括在一個更大群組中時,電子裝置400可分析地理圍欄的數(shù)量以及可被注冊的地理圍欄的數(shù)量。當相應更大群組中包括的地理圍欄的數(shù)量大于可被監(jiān)視(注冊)的地理圍欄的數(shù)量時,電子裝置400可形成所述更大群組中包括的地理圍欄的子群組。此外,當所述更大群組中包括的地理圍欄的數(shù)量小于可被監(jiān)視(注冊)的地理圍欄的數(shù)量時,電子裝置400可監(jiān)視所述更大群組以及所述群組中包括的相應地理圍欄。
圖12是示出根據(jù)本公開的一個實施例的電子裝置監(jiān)視地理圍欄的處理的流程圖。圖12是示出當電子裝置400停留在任何群組中然后離開所述群組或移動到另一群組時電子裝置400的操作的流程圖。
根據(jù)實施例,當電子裝置400移動到另一群組時,電子裝置400可在包括電子裝置400的群組中形成子群組并監(jiān)視相應子群組以及所述群組中包括的地理圍欄。
在操作1210,電子裝置400可監(jiān)視至少一個群組。如上所述,為了監(jiān)視所述地理圍欄,電子裝置400可首先形成更大群組,然后如有必要在更大群組以內形成子群組。在這種情況下,電子裝置400可監(jiān)視更大群組和更大群組的子群組二者。
在操作1220,電子裝置400可識別電子裝置400的當前位置。
在操作1230,電子裝置400可識別電子裝置400的當前位置是否被包括在當前被監(jiān)視的至少一個群組中的一個群組中。
當電子裝置400被包括在當前被監(jiān)視的至少一個群組中的一個群組中時,電子裝置400可進行到步驟1240。
在操作1240,電子裝置400可監(jiān)視電子裝置400所在的相應群組以及所述群組中包括的地理圍欄。當所述相應群組以及所述群組中包括的地理圍欄的數(shù)量超過硬件資源時,電子裝置400可將所述地理圍欄劃分為多個子群組。
在操作1250,電子裝置400可根據(jù)電子裝置400的移動識別電子裝置400是否離開當前群組。
當根據(jù)電子裝置400的移動,電子裝置400離開當前群組時,電子裝置400可在操作1210監(jiān)視至少一個群組(例如,所述更大群組)。
當電子裝置400保持當前位置或未離開相應群組時,電子裝置400可在操作1240繼續(xù)監(jiān)視相應群組以及所述群組中包括的地理圍欄。
如上所述,在監(jiān)視多個群組時,當電子裝置400的當前位置被包括在所述多個群組中的一個群組時,電子裝置400可監(jiān)視相應群組以及所述群組中包括的地理圍欄。然而,當電子裝置400的位置離開所述相應群組時,電子裝置400可再次監(jiān)視所述多個群組。
圖13是示出根據(jù)本公開的各種實施例的電子裝置形成地理圍欄群組的處理的流程圖。
在操作1310,電子裝置400可基于至少一條地理圍欄信息(例如,緯度/經(jīng)度)計算從電子裝置400的當前位置到地理圍欄列表中包括的每個地理圍欄的距離。
在操作1320,電子裝置400可注冊一直到按照距電子裝置400的距離排序的第N-1個地理圍欄為止的N-1個地理圍欄。例如,當可由電子裝置400監(jiān)視(注冊)的地理圍欄的數(shù)量是N個時,電子裝置400可排列按照距離排序的地理圍欄并將一直到第N-1個地理圍欄為止的地理圍欄注冊為將被監(jiān)視的地理圍欄。
在操作1330,電子裝置400可注冊電子裝置400與到電子裝置400的距離最遠的第N個地理圍欄之間的距離的半徑以內的虛擬地理圍欄群組。例如,虛擬地理圍欄群組可包括N-1個地理圍欄,并且可由在電子裝置400與到電子裝置400的距離最遠的第N個地理圍欄之間的距離確定虛擬地理圍欄群組的半徑。
在操作1340,電子裝置400(例如,位置識別模塊430)可開始監(jiān)視地理圍欄。例如,當電子裝置400被包括在虛擬地理圍欄群組中時,位置識別模塊430可監(jiān)視虛擬地理圍欄群組以及虛擬地理圍欄群組以內的地理圍欄,而不用重新形成地理圍欄群組。
在操作1350,電子裝置400可根據(jù)電子裝置400的移動識別電子裝置400的當前位置是否在虛擬地理圍欄群組的外部。
當電子裝置400的當前位置在虛擬地理圍欄群組的外部時,電子裝置400可返回到操作1310并計算電子裝置400與每個地理圍欄之間的距離,以重復用于形成地理圍欄群組的處理。例如,當通過地理圍欄檢測模塊432檢測到電子裝置400在虛擬地理圍欄群組外部時,地理圍欄檢測模塊432可向處于睡眠狀態(tài)的位置檢測模塊414通知進入/離開事件。已經(jīng)接收到所述進入/離開事件的位置檢測模塊414可從睡眠狀態(tài)中喚醒并再次計算電子裝置400的當前位置與每個地理圍欄之間的距離,以再次執(zhí)行用于形成虛擬地理圍欄群組的操作。
根據(jù)實施例,電子裝置400可基于從電子裝置400的當前位置到每個地理圍欄的距離形成群組。每當測量電子裝置400的當前位置時,電子裝置400可計算距每個地理圍欄的距離。當計算距每個地理圍欄的距離時,電子裝置400可計算在電子裝置位于地理圍欄的區(qū)域的內部(進入狀態(tài))時用于離開所述區(qū)域的距離,并在電子裝置400位于地理圍欄的區(qū)域的外部(離開狀態(tài))時計算用于進入所述區(qū)域的距離。電子裝置400可按照基于地理圍欄距離的最靠近的地理圍欄的順序列出與H/W資源的限制相應的N個地理圍欄。例如,當N是6并且存在總計7個地理圍欄時,電子裝置400可測量從當前位置到每個地理圍欄的距離并按照最近距離的順序列出地理圍欄。
圖14A至圖14C示出根據(jù)本公開的各種實施例的地理圍欄的分組操作。
根據(jù)本公開的各種實施例,電子裝置400可通過使用情景感知方案對地理圍欄進行分組并監(jiān)視分組的地理圍欄。例如,將在下文中描述在沒有進行分組的情況下基于情景感知方案將頻繁訪問的地理圍欄獨立注冊在電子裝置400中的方法,或僅對頻繁訪問的地理圍欄進行分組、將分組的地理圍欄注冊在電子裝置400中并監(jiān)視分組的地理圍欄的方法。
參照圖14A至圖14C,當電子裝置400位于群組1以內時,位置檢測模塊414可另外將群組1中包括的地理圍欄(例如,G1至G8)分組為群組3至群組5。例如,群組3可包括地理圍欄G1和地理圍欄G2,群組4可包括地理圍欄G4、地理圍欄G5及地理圍欄G7,群組5可包括地理圍欄G3、地理圍欄G6及地理圍欄G8。在這種情況下,位置檢測模塊414可假設用戶(例如,電子裝置400)頻繁訪問地理圍欄G2和地理圍欄G3。
根據(jù)實施例,當位于群組3以內的電子裝置400脫離群組3時,位置檢測模塊414可將群組3、群組4及群組5注冊為將被監(jiān)視的地理圍欄群組。當產生與電子裝置400進入到群組5中相應的事件時,電子裝置400可再次將群組5以及地理圍欄G3、地理圍欄G8、地理圍欄G6注冊為將被監(jiān)視的地理圍欄并開始監(jiān)視地理圍欄G3。在這時,如果用戶(例如,電子裝置400)從地理圍欄G2開始按照群組5的方向直接行進,則不存在大的差別,但是如果電子裝置中400從地理圍欄G2開始繞行以進入群組5,則再一次調用位置檢測模塊414可能存在繁瑣。
在這種情況下,位置檢測模塊414可檢測地理圍欄G2和地理圍欄G3的訪問頻率并且不將所述地理圍欄(地理圍欄G2和地理圍欄G3)與其它地理圍欄分為一組。
也就是說,電子裝置400將地理圍欄G2和地理圍欄G3獨立注冊在電子裝置400中或將所述地理圍欄(地理圍欄G2和地理圍欄G3)形成為一個群組并對其進行管理,以便避免將被監(jiān)視的群組的頻繁改變。
根據(jù)本公開的各種實施例,電子裝置400可通過使用基于緯度/經(jīng)度的方案以及基于距離的方案二者對地理圍欄進行分組并監(jiān)視分組的地理圍欄。
例如,當如圖14C中所示將群組1劃分為群組3、群組4及群組5時,位置識別模塊430可一次僅監(jiān)視最多四個區(qū)域,使得位置識別模塊430可減輕資源的負擔。然而,當即使最大限度使用硬件資源也不存在能力問題時,可使用基于緯度/經(jīng)度的分群或分組方案以及基于距離的監(jiān)視方案。
例如,如圖14B中所示,在用戶(星形)首次進入群組1的時刻,位置檢測模塊414可識別出群組1的下級地理圍欄的數(shù)量超過與可允許范圍相應的6個硬件資源。這里,可以以基于緯度/經(jīng)度的方案為基礎產生下級群組,但是可在不超過6個硬件資源的范圍內以基于距離的方案為基礎對地理圍欄進行分組和監(jiān)視。
參照圖14B,位置檢測模塊414可將接近用戶的地理圍欄G1、地理圍欄G2、地理圍欄G3及地理圍欄G4注冊在位置識別模塊430中,產生具有距次近的地理圍欄G8的距離的半徑的虛擬圍欄,并在剩余的一個位置注冊產生的虛擬圍欄。位置識別模塊430可實時監(jiān)視群組1、地理圍欄G1、地理圍欄G2、地理圍欄G3、地理圍欄G4以及虛擬圍欄。
當用戶(例如,電子裝置400)移動并且位置識別模塊430檢測到電子裝置400的當前位置脫離虛擬圍欄時,位置檢測模塊414可根據(jù)距當前位置的距離的順序排列群組1的下級地理圍欄,選擇4個地理圍欄(N-2個地理圍欄)并再次形成具有第5個地理圍欄的距離的半徑的新虛擬圍欄。
根據(jù)本公開的各種實施例,添加至少一個地理圍欄或從地理圍欄列表刪除至少一個地理圍欄,電子裝置400可在新地理圍欄列表中形成新的群組并對其進行監(jiān)視。
參照圖14A至圖14C,使用位置檢測模塊414的客戶機應用可做出添加新的地理圍欄或刪除現(xiàn)有的地理圍欄的請求。當添加了地理圍欄時,需要電子裝置400形成新的群組。當刪除了地理圍欄時,可不需要電子裝置400監(jiān)視地理圍欄。
例如,當從具有三個或更多個地理圍欄的群組4或群組5刪除了地理圍欄G7或地理圍欄G8時,可縮小所述群組的范圍并且可改變作為所述群組的中心的中心的緯度/經(jīng)度以及所述群組的半徑。然而,當從群組3中刪除了地理圍欄G1時,群組3可等同于地理圍欄G2。因此,可刪除群組3,并且可按照與群組4和群組5相同的等級監(jiān)視地理圍欄G2。此外,當刪除了群組1的三個或更多個下級地理圍欄時,地理圍欄的數(shù)量滿足與資源限制相應的6個硬件資源,使得可刪除群組3、群組4、群組5全部并且可僅管理群組1。在這時,可新限定所述群組的中心和半徑。
類似地,可依據(jù)請求添加客戶機應用或可添加將被監(jiān)視的地理圍欄。例如,當將4個地理圍欄添加到圖14A中的群組2時,如果電子裝置400進入群組2的區(qū)域,則電子裝置400應監(jiān)視包括群組2的總計7個區(qū)域。因此,電子裝置400可形成群組2的新的子群組。
此外,當添加了至少一個地理圍欄或從地理圍欄列表中刪除了至少一個地理圍欄時,電子裝置400可配置地理圍欄列表的閾值,并且僅當添加或刪除了至少一個地理圍欄并且添加或刪除的地理圍欄的數(shù)量超過所述閾值時對地理圍欄進行分組。
例如,當添加了至少一個地理圍欄或從地理圍欄列表中刪除了至少一個地理圍欄時,需要形成新的群組。當電子裝置400對地理圍欄頻繁分組時,功耗可能增加。因此,電子裝置400僅在新的地理圍欄列表中的地理圍欄超過預定閾值時需要對所述地理圍欄進行分組??筛鶕?jù)用戶的輸入或者根據(jù)電子裝置的設置或狀態(tài)確定所述閾值。
圖15是示出根據(jù)本公開的各種實施例的電子裝置對地理圍欄進行分組的處理的流程圖。
電子裝置400可將應用412請求的地理圍欄列表存儲在第二存儲器450或服務器470中。當提供針對地理圍欄的服務時,可改變或移除地理圍欄的位置。在這種情況下,應用412可做出刪除現(xiàn)有地理圍欄列表中的一些地理圍欄或添加另一地理圍欄的請求。
在操作1510,電子裝置400可識別出已經(jīng)刪除所存儲的多個地理圍欄中的至少一些地理圍欄或已經(jīng)添加了另一地理圍欄。例如,為了識別對一些地理圍欄的刪除或對另一地理圍欄的添加,應用412可向服務器470做出對新更新的地理圍欄列表的請求,并且處理器410可通過將所存儲的現(xiàn)有地理圍欄列表與更新后的地理圍欄列表進行比較來識別地理圍欄的刪除或添加。
在操作1520,電子裝置400可根據(jù)地理圍欄添加或從所存儲的現(xiàn)有地理圍欄列表的刪除來識別所述多個地理圍欄之中的剩余地理圍欄的數(shù)量。例如,處理器410可通過將所述應用請求的更新后的地理圍欄列表與現(xiàn)有地理圍欄列表進行比較來識別所述多個地理圍欄之中的剩余地理圍欄的數(shù)量。
在操作1530,電子裝置400可將剩余地理圍欄的數(shù)量與在位置識別模塊430的硬件資源(例如,第一存儲器434)中可允許(注冊)的地理圍欄的數(shù)量進行比較。
當剩余地理圍欄的數(shù)量等于或小于硬件資源所允許的地理圍欄的數(shù)量時,即使所有剩余地理圍欄被注冊,硬件資源也是充足的。因此,可通過現(xiàn)有方法繼續(xù)執(zhí)行監(jiān)視操作,除非依據(jù)資源分配或依據(jù)用戶請求需要新的分組操作。例如,當在地理圍欄添加或刪除之后剩余地理圍欄的數(shù)量是9個并且可被注冊(監(jiān)視)的硬件資源的地理圍欄的數(shù)量是10個時,電子裝置400可具有充足的硬件資源。
因此,當在操作1530中剩余地理圍欄的數(shù)量等于或小于所允許的硬件資源的數(shù)量時,電子裝置400可返回到操作1510并識別對一些地理圍欄的刪除或對另一地理圍欄的增加。
當剩余地理圍欄的數(shù)量大于所允許的硬件資源的數(shù)量時,可不將所有剩余地理圍欄注冊到所述硬件,使得可能需要電子裝置400對地理圍欄進行新的分組。例如,當在地理圍欄添加或刪除之后剩余的地理圍欄的數(shù)量是11個并且可被注冊(監(jiān)視)的硬件資源的地理圍欄的數(shù)量是10個時,硬件資源不充足,使得可能需要電子裝置400將剩余地理圍欄分組為新的群組。
因此,當在操作1530中剩余地理圍欄的數(shù)量大于所允許的硬件資源的數(shù)量時,電子裝置400可進行到操作1540以對剩余地理圍欄進行分組。
在操作1540,電子裝置400可將剩余地理圍欄分組為至少一個地理圍欄群組。例如,當在地理圍欄添加或刪除之后剩余地理圍欄的數(shù)量是11個并且可被注冊(監(jiān)視)的硬件資源的地理圍欄的數(shù)量是10個時,可不注冊所有剩余的11個地理圍欄,使得電子裝置400可將剩余的11個地理圍欄分組為一個地理圍欄群組并僅注冊和監(jiān)視一個群組,或者將剩余的11個地理圍欄劃分為兩個或更多個群組并注冊和監(jiān)視劃分出的群組。
電子裝置400可根據(jù)用戶的輸入或者根據(jù)電子裝置的設置或狀態(tài)來控制在硬件資源中所允許的地理圍欄的數(shù)量。例如,這是因為用戶可能期望由他/她自己確定將被分組的地理圍欄的數(shù)量,或者可能需要根據(jù)電子裝置的使用狀態(tài)或應用的存儲器占用狀態(tài)來控制在硬件資源中可允許的地理圍欄的數(shù)量。
根據(jù)本公開的各種實施例,一種電子裝置的操作方法可包括:識別多個地理圍欄以及可由所述電子裝置監(jiān)視的地理圍欄的限制;形成包括識別出的多個地理圍欄的第一子集的地理圍欄的至少第一群組;由所述電子裝置僅監(jiān)視所述群組中的地理圍欄的第一子集。
根據(jù)實施例,可由用戶的輸入或者根據(jù)電子裝置的設置或狀態(tài)來設置硬件資源可允許的地理圍欄的數(shù)量。
在所述電子裝置的操作方法中,已經(jīng)被分組的所述一個或更多個地理圍欄群組中的地理圍欄可被監(jiān)視。在監(jiān)視操作中,當電子裝置接近與多個更大地理圍欄群組相應的區(qū)域時,可基于對與所述多個更大地理圍欄群組中的一個更大地理圍欄群組相應的區(qū)域的接近,將所述一個更大地理圍欄群組分類為多個子地理圍欄群組并可監(jiān)視所述多個子地理圍欄群組,并且可基于緯度和經(jīng)度的位置信息將所述多個地理圍欄分類為所述多個更大地理圍欄群組。
根據(jù)所述電子裝置的操作方法,在監(jiān)視操作中,虛擬地理圍欄可被監(jiān)視,當電子裝置脫離虛擬地理圍欄時,可確定多個地理圍欄之中將被監(jiān)視的另一虛擬地理圍欄,并且所述另一虛擬地理圍欄可基于電子裝置的當前位置信息確定所述多個地理圍欄之中將被監(jiān)視的第一候選,并產生包括與電子裝置相應的當前位置及所確定的第一候選的第一候選。
根據(jù)實施例,當電子裝置位于所述一個或更多個地理圍欄群組中的一個地理圍欄群組(第一地理圍欄群組)中時,可監(jiān)視第一地理圍欄群組和/或第一地理圍欄群組中包括的至少一個地理圍欄,并且當電子裝置脫離第一地理圍欄群組時,可將所述多個地理圍欄重新分組為一個或更多個地理圍欄群組。在對地理圍欄群組進行重新分組的操作中,可獲得電子裝置的當前位置,可計算所述當前位置與每個地理圍欄之間的距離,基于計算出的距離和/或可被監(jiān)視的地理圍欄的數(shù)量,可按照距當前位置的最近順序將滿足可被監(jiān)視的地理圍欄的數(shù)量的至少一個地理圍欄重新分組為一個地理圍欄群組,并且可監(jiān)視該地理圍欄群組。當電子裝置位于地理圍欄范圍內部時,可計算從電子裝置到電子裝置開始脫離所述地理圍欄范圍的點的距離,并且當電子裝置位于所述地理圍欄范圍外部時,可計算從電子裝置到電子裝置開始進入所述地理圍欄范圍的點的距離。
根據(jù)本公開的各種實施例,所述電子裝置可包括兩個處理器。一個處理器可監(jiān)視經(jīng)過分組的地理圍欄群組的地理圍欄,另一處理器可基于監(jiān)視結果重新形成地理圍欄群組。
根據(jù)本公開的各種實施例,記錄有的程序的計算機可讀記錄介質可識別多個地理圍欄以及可由電子裝置監(jiān)視的地理圍欄的限制,形成包括識別出的多個地理圍欄的第一子集的地理圍欄的至少第一群組,并由所述電子裝置僅監(jiān)視所述群組中的地理圍欄的第一子集。
根據(jù)本公開的各種實施例的電子裝置及其操作方法可對多個地理圍欄進行分組并管理分組的地理圍欄,從而避免對不必要的區(qū)域(例如,地理圍欄)的監(jiān)視并選擇性地監(jiān)視應必要監(jiān)視的地理圍欄。因此,可使存儲器和硬件資源的使用最小化并盡可能少地喚醒處理器以便減少功耗。
提供在此公開的實施例僅用于容易地描述本公開的技術細節(jié)并幫助理解本公開,并且所述實施例并非意在限制本公開的各種實施例的范圍。因此,應理解:基于本公開的各種實施例的技術理念的所有修改和改變或各種其它實施例落入本公開的各種實施例的范圍內。
本公開的上述實施例可在硬件、固件中實施,或者經(jīng)由軟件或可被存儲在記錄介質(諸如CD ROM、數(shù)字通用盤(DVD)、磁帶、RAM、軟盤、硬盤或磁光盤)中的計算機代碼或通過網(wǎng)絡下載的計算機代碼(其中,所述計算機代碼最初被存儲在遠程記錄介質或非暫時性機器可讀介質上并將被存儲在本地記錄介質上)的執(zhí)行來實施,使得描述于此的方法可使用通用計算機或專用處理器經(jīng)由被存儲在記錄介質上的所述軟件實施,或者在可編程硬件或專用硬件(諸如ASIC或FPGA)中實施。如在本領域中所理解的:計算機、處理器、微處理器控制器或可編程硬件包括可存儲或接收軟件或計算機代碼的存儲器組件(例如,RAM、ROM、閃存等),其中,所述軟件或計算機代碼在被計算機、處理器或硬件訪問并執(zhí)行時實施描述于此的處理方法。此外,將認識到:當通用計算機訪問用于實施在此示出的所述處理的代碼時,所述代碼的執(zhí)行將通用計算機轉變?yōu)橛糜趫?zhí)行在此示出的所述處理的專用計算機。在附圖中提供的任何功能和步驟可在硬件中實施,或者在利用機器可執(zhí)行代碼配置的組合硬件中實施,并且可在計算機的編程指令內被整體或部分地執(zhí)行。