管理地理围栏的方法及其电子装置与流程

文档序号:12280074阅读:344来源:国知局
管理地理围栏的方法及其电子装置与流程

本公开涉及一种用于在电子装置中管理地理围栏的方法和设备。



背景技术:

电子装置(例如,便携式终端或移动电话)通常包括通信系统(诸如GPS、Wi-Fi、蓝牙、BLE、传感器、近场通信(NFC)等)并提供用户的当前位置和基于位置的服务(LBS)。

近年来,用户被与“地理围栏(geo-fence)”相关的服务所吸引。地理围栏是检测装置进入由虚拟边界分区的区域/离开所述区域的基于定位的技术。例如,使用地理围栏,移动装置可能能够检测用户何时到家。

电子装置可配置地理围栏,并且当电子装置进入所配置的区域时,电子装置提供用于提供服务(诸如广告等)的基于位置的服务。例如,如果通过使用地理围栏检测到用户进入商店,则移动装置可展示与在这家商店中销售的产品相关的广告。



技术实现要素:

电子装置可注册用于接收地理围栏服务的至少一个地理围栏。因此,随着提供地理围栏服务的地理围栏的数量增加,将在电子装置中注册的地理围栏的数量增加,因此,电子装置达到存储器和硬件(H/W)资源的极限。

本公开的各种实施例可提供一种用于管理多个地理围栏的方法和设备。

根据本公开的一方面,提供一种电子装置的操作方法。所述操作方法包括:识别对所述电子装置中存储的多个地理围栏之中的至少一些地理围栏的删除或对其它地理围栏的添加;根据所述删除或所述添加来识别所述多个地理围栏之中的剩余地理围栏的数量;当剩余地理围栏的数量大于硬件资源可允许的地理围栏的数量时,将剩余地理围栏分组为一个或更多个地理围栏群组。

根据本公开的另一方面,提供一种电子装置。所述电子装置包括:第一处理器,被配置为监视地理围栏群组;第二处理器,功能性地连接到第一处理器;其中,第二处理器被配置为向第一处理器发送包括多个地理围栏中的至少一些地理围栏的地理围栏群组并从第一处理器接收所述电子装置从地理围栏群组中的一个地理围栏的外部移动到内部或从所述一个地理围栏的内部移动到外部的通知。

附图说明

从以下结合附图的详细描述中,本公开的以上和其它方面、特征及优点将会更清楚,其中:

图1示出根据本公开的各种实施例的包括电子装置的网络环境;

图2是示出根据本公开的各种实施例的电子装置的框图;

图3是示出根据本公开的各种实施例的程序模块的框图;

图4是示出根据本公开的一个实施例的管理地理围栏的电子装置和服务器的框图;

图5A至图5D示出根据本公开的一个实施例的对地理围栏进行分组的配置;

图6A和图6B示出根据本公开的一个实施例的地理围栏列表等级的配置;

图7示出根据本公开的一个实施例的识别地理围栏的下级群组(lower group)的半径的方法;

图8A至图8C示出根据本公开的一个实施例的地理围栏的注册;

图9A至图9C示出根据本公开的一个实施例的电子装置形成地理围栏群组的处理;

图10是示出根据本公开的一个实施例的基于地理围栏的纬度/经度形成上级群组(higher group)的处理的流程图;

图11是示出根据本公开的一个实施例的用于在地理围栏的上级群组内形成下级群组的处理的流程图;

图12是示出根据本公开的一个实施例的电子装置监视地理围栏的处理的流程图;

图13是示出根据本公开的一个实施例的电子装置形成地理围栏群组的处理的流程图;

图14A至图14C示出根据本公开的一个实施例的地理围栏的分组操作;

图15是示出根据本公开的一个实施例的电子装置对地理围栏进行分组的处理的流程图。

具体实施方式

在下文中,将参照附图描述本公开的各种实施例。在以下描述中,提供特定细节(诸如详细配置和组件)仅用于帮助整体理解本公开的这些实施例。因此,对本领域技术人员而言应该清楚的是:可在没有脱离本公开的范围和精神的情况下做出在此描述的所述实施例的各种改变和修改。另外,为了清晰和简洁,省略公知功能和构造的描述。

本公开可具有各种实施例,并且可在其中做出修改和改变。因此,将参照在附图中示出的具体实施例详细描述本公开。然而,应理解:本公开不限于所述具体实施例,而是包括落入本公开的精神和范围内的所有修改/改变、等同物和/或可选方案。在描述附图时,可将相似的附图标号用于标示相似的元件。

在本公开的各种实施例中所使用的术语“具有”、“可具有”、“包括”或“可包括”指示所公开的相应功能、操作、元件等的存在,并且不限制另外的一个或更多个功能、操作、元件等。另外,应理解:在本公开的各种实施例中使用的术语“包括”或“具有”指示在说明书中描述的特征、数量、步骤、操作、元件、部件或前述项的组合的存在,并且不排除存在或添加一个或更多个其它特征、数量、步骤、操作、元件、部件和/或前述项的组合。

在本公开的各种实施例中使用的术语“A或B”、“A或/和B中的至少一个”或“A或/和B中的一个或多个”包括利用其所列举出的词汇的任何及所有组合。例如,“A或B”、“A和B中的至少一个”或“A或B中的至少一个”意指:(1)包括至少一个A,(2)包括至少一个B,或(3)包括至少一个A和至少一个B二者。

虽然在本公开的各种实施例中使用的术语(诸如“第一”和“第二”)可修饰各种实施例的各种元件,但是这些术语并不限制相应元件。例如,这些术语并不限制相应元件的顺序和/或重要性。可将这些术语用于使一个元件与另一元件区分开的目的。例如,第一用户装置和第二用户装置均指示用户装置并且可指示不同的用户装置。例如,在不脱离本公开的各种实施例的权利范围的情况下,可将第一元件命名为第二元件,类似地,可将第二元件命名为第一元件。

将理解:当将一个元件(例如,第一元件)“连接到”或“(在操作上或通信方面)结合到”另一元件(例如,第二元件)时,所述元件可被直接连接或结合到另一元件,并且可在所述元件和另一元件之间存在居间元件(例如,第三元件)。与之相反,将理解:当将一个元件(例如,第一元件)“直接连接”或“直接结合”到另一元件(例如,第二元件)时,在所述元件和另一元件之间不存在居间元件(例如,第三元件)。

根据情形,可利用“适合于”、“具有...的能力”、“被设计为”、“适应于”、“造成”或“能够”替换在本公开的各种实施例中使用的表述“被配置为(或被设置为)”。术语“被配置为(被设置为)”不一定意指在硬件水平上“被特别设计为”。相反地,表述“被配置为...的设备”可意指在特定情形中所述设备连同其它装置或部件“能够...”。例如,“被配置为(被设置为)执行A、B和C的处理器”可以是用于执行相应操作的专用处理器(例如,嵌入式处理器)或能够通过执行在存储器装置中存储的一个或更多个软件程序来执行相应操作的通用处理器(例如,中央处理器(CPU)或应用处理器(AP))。

如这里所使用的术语仅被用于描述特定实施例而非意在限制本公开。如这里所使用,单数形式可包括复数形式,除非上下文另有明确指示。此外,这里使用的所有术语(包括技术术语和科学术语)应被解释为具有本公开所属领域的技术人员通常理解的相同含义,并且不应被解释为具有理想的含义或过于正式的含义,除非在本公开的各种实施例中被明确限定。

例如,根据本公开的各种实施例的电子装置可包括以下项中的至少一项:智能电话、平板个人计算机(PC)、移动电话、视频电话、电子书(e-book)阅读器、台式PC、膝上型PC、上网本计算机、工作台、服务器、个人数字助理(PDA)、便携式多媒体播放器(PMP)、MP3播放器、移动医疗器械、相机、游戏机以及可穿戴装置(例如,智能眼镜、头戴式装置(HMD)、电子服装、电子手链、电子项链、电子配件、电子纹身、智能镜子或智能手表)。

根据一些实施例,所述电子装置可以是智能家用电器。所述家用电器可包括以下项中的至少一项:例如,电视机、数字视频盘(DVD)播放器、音响、冰箱、空调、真空吸尘器、烤箱、微波炉、洗衣机、空气净化器、机顶盒、家庭自动化控制面板、安全控制面板、TV盒子(例如,三星HomeSyncTM、苹果TVTM或谷歌TVTM)、游戏控制台(例如,XboxTM和PlayStationTM)、电子词典、电子钥匙、摄像机以及电子相框。

根据另一实施例,所述电子装置可包括以下项中的至少一项:各种医疗装置(例如,各种便携式医疗测量装置(血糖监视装置、心率监视装置、血压测量装置、体温测量装置等)、磁共振血管造影(MRA)、磁共振成像(MRI)、计算机断层扫描(CT)机以及超声机)、导航装置、全球定位系统(GPS)接收器、事件数据记录器(EDR)、飞行数据记录器(FDR)、车辆信息娱乐装置、用于船舶的电子装置(例如,用于船舶的导航装置以及陀螺罗经)、航空电子设备、安全装置、车辆机头单元、家用机器人或工业机器人、银行的自动柜员机(ATM)、商店的销售点(POS)或物联网装置(例如,电灯泡、各种传感器、电表或燃气表、喷淋装置、火警报警器、恒温器、街灯、烤面包机、体育用品、热水箱、加热器、锅炉等)。

根据一些实施例,所述电子装置可包括以下项中的至少一项:家具或建筑/结构的一部分、电子图板、电子签名接收装置、投影仪以及各种测量仪器(例如,水表、电表、燃气表以及无线电波表)。根据本公开的各种实施例的电子装置可以是前述各种装置中的一个或更多个的组合。根据本公开的一些实施例的电子装置可以是柔性装置。此外,根据本公开的实施例的电子装置不限于前述装置并且可根据技术发展包括新的电子装置。

在下文中,将参照附图来描述根据各种实施例的电子装置。如这里所使用,术语“用户”可指示使用电子装置的人或使用电子装置的装置(例如,人工智能电子装置)。

在下文中,在本公开的各种实施例中,可基于标记语言(诸如化学标记语言(CML)、超文本标记语言(HTML)、可扩展标记语言(XML)等)形式的配置信息来产生内容。

参照图1,示出根据本公开的各种实施例的网络环境100中的电子装置101。电子装置101可包括总线110、处理器120(例如,包括处理电路)、存储器1330、输入/输出接口150(例如,包括输入/输出电路)、显示器160(例如,包括显示电路)以及通信接口170(例如,包括通信电路)。在一些实施例中,电子装置101可省略上述组件中的至少一个或者可还包括其它组件。

总线110可包括(例如)将所述组件120至170彼此连接并在所述组件120至170之间传输通信(例如,控制消息和/或数据)的电路。

处理器120可包括中央处理器(CPU)、应用处理器(AP)以及通信处理器(CP)中的一个或更多个。例如,处理器120可执行与电子装置101的至少一个其它组件的控制和/或通信相关的操作或数据处理。另外,技术人员理解并了解:“处理器”或“微处理器”构成要求保护的发明中的硬件。根据最宽泛的合理解释,权利要求书构成法定主题。所述处理器可包括任何适当类型的处理电路,诸如一个或更多个通用处理器(例如,基于ARM的处理器)、数字信号处理器(DSP)、可编程逻辑装置(PLD)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、图形处理器(GPU)、视频卡控制器等。

存储器130可包括易失性存储器和/或非易失性存储器。存储器130可存储(例如)与至少一个其它组件相关的指令或数据(例如,参考距离)。根据实施例,存储器130可存储软件和/或程序140。例如,所述程序可包括内核141、中间件143、应用编程接口API 145、应用程序(或应用)147等。内核141、中间件143以及API 145中的至少一些可被称为操作系统(OS)。

内核141可控制或管理用于执行由其它程序(例如,中间件143、API 145或应用程序147)实施的操作或功能的系统资源(例如,总线110、处理器120或存储器130)。此外,内核141可提供接口,其中,中间件143、API 145或应用程序147通过所述接口接入电子装置101的各个元件以控制或管理系统资源。

例如,中间件143可作为用于允许API 145或应用程序147与内核141进行通信以交换数据的中介运行。

另外,中间件143可根据优先级处理从应用程序147接收到的一个或更多个任务请求。例如,中间件143可将使用电子装置101的系统资源(例如,总线110、处理器120、存储器130等)的优先级分配给应用程序147中的至少一个。例如,中间件143可根据分配给一个或更多个任务请求的优先级通过处理所述一个或更多个任务请求来对所述一个或更多个任务请求执行调度或负载均衡。

API 145是应用程序147控制从内核141或中间件143提供的功能的接口,并且可包括(例如)针对文件控制、窗口控制、图像处理或文本控制的至少一个接口或功能(例如,指令)。

输入/输出接口150可作为(例如)将从用户或另一外部装置输入的指令或数据传输到电子装置101的其它元件的接口运行。另外,输入/输出接口150可将从电子装置101的其它元件接收到的指令或数据输出到用户或另一外部装置。

显示器160可包括(例如)液晶显示器(LCD)、发光二级管(LED)显示器、有机发光二级管(OLED)显示器、微机电系统(MEMS)显示器以及电子纸显示器。显示器160可向用户显示(例如)各种类型的内容(例如,文本、图像、视频、图标或符号)。显示器160可包括触摸屏并且可接收(例如)通过使用电子笔或用户的身体部位输入的触摸、手势、接近或悬停。

通信接口170可在(例如)电子装置101与外部装置(例如,第一外部电子装置102、第二外部电子装置104或服务器1306)之间设置通信。例如,可通过无线通信或有线通信将通信接口170连接到网络162以与外部装置(例如,第二外部电子装置104或服务器106)进行通信。

无线通信可将以下项中的至少一项用作蜂窝通信协议:长期演进(LTE)、LTE-Advanced(LTE-A)、码分多址(CDMA)、宽带CDMA(WCDMA)、通用移动电信系统(UMTS)、WiBro(无线宽带)以及全球移动通信系统(GSM)。另外,无线通信可包括(例如)短距离通信164。所述短距离通信可包括(例如)Wi-Fi、蓝牙、近场通信(NFC)以及全球导航卫星系统(GNSS)中的至少一个。根据使用领域、宽带等,GNSS可包括(例如)全球定位系统(GPS)、全球导航卫星系统(格洛纳斯)、北斗导航卫星系统(在下文中称为“北斗”)以及欧洲全球基于卫星的导航系统(伽利略)中的至少一个。在下文中,在本公开中,可将“GPS”和“GNSS”可互换地使用。有线通信可包括(例如)通用串行总线(USB)、高清多媒体接口(HDMI)、推荐标准232(RS-232)以及普通老式电话服务(POTS)中的至少一个。网络162可包括通信网络(诸如计算机网络(例如,LAN或WAN))、互联网以及电话网络中的至少一个。

第一外部电子装置102和第二外部电子装置104中的每一个可以是与电子装置101相同或不同的装置。根据实施例,服务器106可包括一个或更多个服务器的群组。根据各种实施例,可在另一电子装置或多个电子装置(例如,电子装置102和电子装置104或服务器106)中执行在电子装置101中执行的操作的全部或一些。根据实施例,当电子装置101自动地或响应于请求而必须执行一些功能或服务时,电子装置101可向另一装置(例如,电子装置102或电子装置104或服务器106)请求执行与其相关的至少一些功能,而不是由其本身或另外地执行所述功能或服务。另一电子装置(例如,电子装置102或电子装置104或服务器106)可执行所请求的功能或附加的功能并且可将执行结果传送到电子装置101。电子装置101可按照原样处理接收到的结果或者可另外处理接收到的结果以提供所请求的功能或服务。为此,例如,可使用云计算、分布式计算或客户机-服务器计算技术。

图2是根据各种实施例的电子装置201的框图。电子装置201可包括(例如)在图1中示出的电子装置101的全部或一部分。电子装置201可包括至少一个处理器(例如,应用处理器(AP))210、通信模块220、用户识别模块(SIM)卡224、存储器230、传感器模块240、输入装置250、显示器260、接口270、音频模块280、相机模块291、电能管理模块295、电池296、指示器297以及电机298。

例如,处理器210可通过驱动操作系统或应用程序来控制与其连接的多个硬件元件或软件元件并执行多种数据处理和计算。可将处理器210实施为(例如)片上系统(SoC)。根据实施例,处理器210可还包括图形处理器(GPU)和/或图像信号处理器。处理器210可包括图2中示出的所述元件(例如,蜂窝模块221)中的至少一些。处理器210可在易失性存储器中加载从至少一个其它元件(例如,非易失性存储器)接收到的命令或数据以处理所加载的命令或数据,并可在所述非易失性存储器中存储各种类型的数据。处理器210可将从所述其它元件中的至少一个(例如,非易失性存储器)接收到的指令或数据加载到易失性存储器中,并且可在非易失性存储器中存储各种数据。

通信模块220可具有与图1的通信接口170的配置相同或相似的配置。通信模块220可包括(例如)蜂窝模块221、Wi-Fi模块223、蓝牙模块225、GNSS模块227(例如,GPS模块、格洛纳斯模块、北斗模块或伽利略模块)、NFC模块228以及射频(RF)模块229。

蜂窝模块221可通过通信网络提供(例如)应用、语音呼叫、视频呼叫、文本消息服务或互联网服务。根据实施例,蜂窝模块221可通过使用用户识别模块(例如,SIM卡224)对通信网络中的电子装置201进行辨别和认证。根据实施例,蜂窝模块221可执行AP 210可提供的功能中的至少一些。根据实施例,蜂窝模块221可包括通信处理器(CP)。

Wi-Fi模块223、BT模块225、GPS模块227或NFC模块228可包括(例如)用于处理通过相应模块发送/接收的数据的处理器。根据实施例,蜂窝模块221、Wi-Fi模块223、BT模块225、GPS模块227及NFC模块228中的至少一些(例如,两个或更多个)可被包括在单个集成芯片(IC)或IC封装中。

例如,RF模块229可发送/接收通信信号(例如,RF信号)。RF模块229可包括(例如)收发器、功率放大器模块(PAM)、频率滤波器、低噪声放大器(LNA)或天线。根据另一实施例,蜂窝模块221、Wi-Fi模块223、BT模块225、GPS模块227及NFC模块228中的至少一个可通过单独的RF模块发送/接收RF信号。

SIM卡224可包括(例如)包含用户识别模块的卡和/或嵌入式SIM,并且可还包括唯一识别信息(例如,集成电路卡识别码(ICCID))或用户信息(例如,国际移动用户识别码(IMSI))。

存储器230可包括(例如)内部存储器232或外部存储器234。内部存储器232可包括(例如)易失性存储器(例如,动态随机存取存储器(DRAM)、静态RAM(SRAM)、同步动态RAM(SDRAM)等)以及非易失性存储器(例如,一次性可编程只读存储器(OTPROM)、可编程ROM(PROM)、可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、掩膜ROM、闪存ROM、闪存存储器(例如,NAND闪存存储器或NOR闪存存储器)、硬盘驱动器或固态驱动器(SSD))中的至少一个。

外部存储器234可还包括闪存驱动器(例如,紧凑型闪存(CF)、安全数字(SD)、微型安全数字(微型SD)、迷你安全数字(迷你SD)、极速数字(xD)、记忆棒等)。可通过各种接口将外部存储器234功能性地和/或物理性地连接到电子装置201。

例如,传感器模块240可测量物理量或检测电子装置201的操作状态,并且可将测量出或检测到的信息转换为电信号。传感器模块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处于睡眠状态时控制传感器模块240。

输入装置250可包括(例如)触摸面板252、(数字)笔传感器254、键256或超声输入装置258。触摸面板252可使用(例如)电容型、电阻型、红外型及超声型中的至少一种。此外,触摸面板252可还包括控制电路。触摸面板252可还包括触觉层以向用户提供触觉反应。

(数字)笔传感器254可以是(例如)触摸面板的一部分或者可包括单独的识别片。键256可包括(例如)物理按钮、光学键或键区。超声输入装置258可通过用于产生超声信号的输入单元利用电子装置201的麦克风(例如,麦克风288)检测超声波来识别数据。

显示器260(例如,显示器160)可包括面板262、全息图装置264或投影仪266。面板262可包括与图1的显示器160的配置相同或相似的配置。面板262可被实施为(例如)柔性的、透明的或可穿戴的。可将面板262配置为与触摸面板252集成的单个模块。全息图装置264可使用光的干涉在空气中展示立体图像。投影仪266可将光投射到屏幕上以显示图像。屏幕可位于(例如)电子装置201的内部或外部。根据实施例,显示器260可还包括用于控制面板262、全息图装置264或投影仪266的控制电路。

接口270可包括(例如)高清多媒体接口(HDMI)272、通用串行总线(USB)274、光学接口276或D-超小型(D-sub)278。接口270可被包括在(例如)图1中示出的通信接口170中。附加地或可选地,接口270可包括(例如)移动高清链接(MHL)接口、安全数字(SD)卡/多媒体卡(MMC)接口或红外数据协会(IrDA)标准接口。

例如,音频模块280可将声音转换为电信号,反之亦然。音频模块280的至少一些元件可被包括在(例如)图1中示出的输入/输出接口150中。例如,音频模块280可处理通过扬声器282、接收器284、耳机286、麦克风288等输入或输出的声音信息。

相机模块291可以是(例如)可拍摄静止图像或运动图像的装置,并且根据实施例,相机模块291可包括一个或更多个图像传感器(例如,前置传感器或后置传感器)、镜头、图像信号处理器(ISP)或闪光灯(例如,LED或氙气灯)。

例如,电能管理模块295可管理电子装置201的电能。根据实施例,电能管理模块295可包括电能管理集成电路(PMIC)、充电器IC、或者电池量表或燃料计。电池296可包括(例如)可再充电电池或太阳能电池。

指示器297可指示电子装置201或其一部分(例如,AP 210)的特定状态,例如,启动状态、消息状态、充电状态等。电机298可将电信号转换为机械振动并且可产生振动效果或触感效果。

根据本公开的电子装置的组件中的每一个可由一个或更多个组件实施,并且相应组件的名称可根据电子装置的类型而变化。在各种实施例中,电子装置可包括上述元件中的至少一个。可从电子装置中省略上述元件中的一些或者电子装置可还包括另外的元件。此外,根据本公开的各种实施例的电子装置的元件中的一些元件可被结合以形成一个实体,同时执行与结合之前的相应元件的功能相同的功能。

图3是根据各种实施例的程序模块310的框图。根据实施例,程序模块310(例如,程序140)可包括控制与电子装置(例如,电子装置101或电子装置201)相关的资源的操作系统(OS)和/或在操作系统中执行的各种应用(例如,应用程度147)。所述操作系统可以是(例如)安卓、iOSTM、WindowsTM、塞班TM、TizenTM、BadaTM等。

程序模块310可包括内核320、中间件330、应用编程接口(API)360和/或应用370。程序模块310中的至少一些可在所述电子装置中被预加载或者可从外部电子装置(例如,电子装置(102、104)、服务器106)下载。

内核320(例如,内核141)可包括(例如)系统资源管理器321和/或装置驱动器323。系统资源管理器321可执行系统资源的控制、分配、检索等。

中间件330可提供(例如)应用370通常需要的功能,或者可通过API 360向应用370提供各种功能,使得应用370可有效利用电子装置内的有限系统资源。根据本公开的实施例,中间件330(例如,中间件143)可包括以下项中的至少一项:运行时间库335、应用管理器341、窗口管理器342、多媒体管理器343、资源管理器344、电能管理器345、数据库管理器346、包管理器347、连接管理器348、通知管理器349、位置管理器350、图形管理器351以及安全管理器352。

运行时间库335可包括编译器使用的库模块以便在应用370正被执行的同时通过编程语言增加新的功能。运行时间库335可执行输入/输出管理、存储器管理、针对算术函数的功能等。

应用管理器341可管理(例如)应用370中的至少一个的生命周期。窗口管理器342可管理用于屏幕的图形用户界面(GUI)资源。多媒体管理器343可确定再现各种媒体文件所需的格式并且可通过使用适合于相应格式的编码器/解码器(编解码器)对媒体文件进行编码或解码。资源管理器344可管理资源,诸如应用370中的至少一个的源代码、存储器、存储空间等。

电能管理器345可与(例如)基本输入/输出系统(BIOS)等一起运行以便管理电池或电能,并且可提供所述电子装置的操作所需的电能信息。根据本公开的实施例,电能管理器345可通过有线方案或无线方案中的至少一种控制对电池进行充电和放电。

数据库管理器346可产生、搜索和/或改变将由应用370中的至少一个使用的数据库。包管理器347可管理以包文件的形式分发的应用的安装或更新。

连接管理器348可管理无线连接(例如,Wi-Fi、蓝牙等)。通知管理器349可按照不打扰用户的方式显示或通知事件(诸如收到消息、约会、接近通知等)。位置管理器350可管理电子装置的位置信息。图形管理器351可管理将提供给用户的图形效果或管理与所述图形效果相关的用户界面。安全管理器352可提供系统安全、用户认证等所需的各种安全功能。

根据本公开的实施例,当电子装置(例如,电子装置101)包括电话呼叫功能时,中间件330可还包括用于管理电子装置的应用或视频呼叫功能的电话管理器。

中间件330可包括形成上述组件的各种功能的组合的中间件模块。中间件330可提供专用于每种OS的模块以便提供差别化的功能。另外,中间件330可动态地删除现有组件中的一些或者可增加新的组件。

API 360(例如,API 145)是(例如)一组API编程函数并且可根据OS被提供不同的配置。例如,在安卓或iOS的情况下,可针对每个平台提供一个API集合。在Tizen的情况下,可针对每个平台提供两个或更多个API集合。

应用370(例如,应用程序147)可包括(例如)可提供功能(诸如主屏幕371、拨号器372、SMS/MMS 373、即时消息(IM)374、浏览器375、相机376、闹钟377、联系人378、应用拨号器379、电子邮件380、日历381、媒体播放器382、相册383、时钟384、健康护理(例如,测量运动量或血糖)或环境信息(例如,大气压、湿度或温度信息)的一个或更多个应用。

根据实施例,应用370可包括支持电子装置(例如,电子装置101)和外部电子装置(例如,电子装置102或电子装置104)之间的信息交换的应用(在下文中为便于描述称为“信息交换应用”)。信息交换应用可包括(例如)用于向外部电子装置传输特定信息的通知转发应用或用于管理外部电子装置的装置管理应用。

例如,通知转发应用可包括将从电子装置的其它应用(例如,SMS/MMS应用、电子邮件应用、健康护理应用或环境信息应用)产生的通知信息传输到外部电子装置(例如,电子装置102或电子装置104)的功能。此外,例如,通知转发应用可从所述外部电子装置接收通知信息并向用户提供接收到的通知信息。

装置管理应用可管理(例如,安装、删除或更新)(例如)与电子装置进行通信的外部电子装置(例如,电子装置102或电子装置104)的至少一个功能(例如,开启/关闭外部电子装置自身(或一些元件)的功能或者调整显示器的亮度(或分辨率)的功能)、在所述外部电子装置中运行的应用、或由所述外部电子装置提供的服务(例如,呼叫服务和消息服务)。

根据实施例,应用370可包括预加载的应用或可从服务器下载的第三方应用。取决于OS的类型,根据以上示出的实施例的程序模块310的元件的名称可改变。

根据各种实施例,可在软件、固件、硬件或者软件、固件、硬件中的两个或更多个的组合中实施程序模块310中的至少一些。可由(例如)处理器(例如,处理器210)实施程序模块310中的至少一些。程序模块310中的至少一些可包括(例如)用于执行一个或更多个功能的模块、程序、例行程序、指令集和/或处理。

例如,在此使用的术语“模块”可意指包括硬件、软件及固件中的一个或者硬件、软件及固件中的两个或更多个的组合的单元。可将“模块”与(例如)术语“单元”、“逻辑”、“逻辑块”、“组件”或“电路”可互换地使用。“模块”可以是集成组件元件的最小单元或所述最小单元的一部分。“模块”可以是用于执行一个或更多个功能的最小单元或所述最小单元的一部分。可机械地或电子地实施“模块”。例如,根据本公开的“模块”可包括已知或随后将开发出的用于执行操作的专用集成电路(ASIC)芯片、现场可编程门阵列(FPGA)以及可编程逻辑器件中的至少一个。这里引用的术语“单元”或“模块”将被理解为包括硬件(诸如针对特定期望功能配置的处理器或微处理器)或包括机器可执行代码的非暂时性介质,并且本身不构成软件。

根据各种实施例,可由以编程模块形式存储在计算机可读存储介质中的命令实施根据本公开的装置(例如,模块或其功能)或方法(例如,操作)的至少一些。当由处理器(例如,处理器120)执行指令时,所述指令可促使所述一个或更多个处理器执行与所述指令相应的功能。计算机可读存储介质可以是(例如)存储器130。

计算机可读记录介质可包括硬盘、软盘、磁介质(例如,磁带)、光学介质(例如,压缩盘只读存储器(CD-ROM)和数字多功能盘(DVD))、磁光介质(例如,软光盘)、硬件装置(例如,只读存储器(ROM)、随机存取存储器(RAM)、闪存)等。此外,所述程序指令可包括可通过使用解释器在计算机中执行的高级语言代码以及由编译器制作的机器代码。上述任何硬件装置可被配置为作为一个或更多个软件模块运作以便执行根据本公开的各种实施例的操作,反之亦然。

根据本公开的各种实施例的任何模块或编程模块可包括上述元件中的至少一个,可排除所述元件中的一些,或者可还包括其它额外的元件。可按照顺序的、并行的、重复的或启发式的方式执行根据本公开的各种实施例的由所述模块、编程模块或其它元件执行的操作。此外,可根据另一顺序执行一些操作,或者可省略一些操作,或者可增加其它操作。

在下文中,在本公开的各种实施例中,将硬件方案描述为示例。然而,本公开的各种实施例包括使用硬件和软件二者的技术,因此,本公开的各种实施例可不排除软件的视角。

电子装置(例如,便携式终端或电子装置101)包括GPS、Wi-Fi、蓝牙、BLE、传感器、近场通信(NFC)等,并提供用户的当前位置及基于位置的服务(LBS)。

地理围栏可以是近来强调的基于位置的应用编程接口(API)之一,其中,在所述基于位置的API中,基于位置的服务和以基于位置的服务为基础的各种功能出现。

地理围栏是地理和围栏的复合词并且可指示配置与虚拟地理围栏相应的地理围栏并通知用户针对特定地段的进入/离开事件的API。

地理围栏可指示除通知用户的当前位置之外还检测电子装置针对通过虚拟边界分区的区域的进入/离开的基于定位的技术。

例如,地理围栏可以是使用作为位置跟踪技术之一的全球定位系统(GPS)的接口。也就是说,当通过GPS指定了被称为地理围栏的虚拟围栏时,如果用户(电子装置)进入或脱离地理围栏区域,则地理围栏用于通知进入/离开事件。

电子装置可通过地理围栏技术识别进入地理围栏或从地理围栏离开。随着在电子装置中注册的地理围栏的数量增加,电子装置可能在应用地理围栏技术时达到极限。例如,当将由电子装置处理的地理围栏的数量大于可由电子装置的存储器和硬件(H/W)资源支持的地理围栏的数量(参考数量)时,基于距每个地理围栏的距离的顺序,可将地理围栏技术应用于有限数量的地理围栏。在这种情况下,电子装置在监视对地理围栏的接近时可能有限制。也就是说,由于电子装置基于电子装置的当前位置持续监视地理围栏,因此电子装置可不检测电子装置对远离电子装置的另一地理围栏的接近。

因此,当多个地理围栏存在时,电子装置可对地理围栏进行分组并对其进行管理,以便减少处理器的功耗或高效利用硬件资源。

根据本公开的各种实施例,当电子装置应监视多个地理围栏时,电子装置可避免监视地理围栏列表之中在不必要区域中的地理围栏,并选择性地监视应必要监视的地理围栏。

图4是示出根据本公开的一个实施例的管理地理围栏的电子装置400和服务器470的框图。

参照图4,电子装置400(例如,图1的电子装置101或图2的电子装置201)可包括处理器410、位置识别模块430、第二存储器450以及通信接口460。

处理器410(例如,图1的处理器120)可包括中央处理器(CPU)、应用处理器(AP)和通信处理器(CP)中的一个或更多个。

处理器410可包括(例如)应用412、至少一个位置检测模块414和数据库管理模块416。

应用412可被存储在第二存储器450、服务器470或一些其它位置中并且由处理器410加载并处理。应用412可以是(例如)与地理围栏相关的应用。

与地理围栏相关的应用412可包括相应地点(例如,感兴趣点(POI)的地理围栏)的位置信息(例如,纬度和经度)。此外,应用412检测的地点(位置)可根据相应应用的目的而变化。

根据实施例,应用412可将地理围栏列表传输到位置检测模块414。地理围栏列表可以是依据应用412的请求通过通信接口460从外部服务器470下载的地理围栏列表或是存储在第二存储器450中的地理围栏列表。

根据实施例,应用412可从位置检测模块414接收电子装置400针对根据特定地点(位置)的特定纬度/经度的特定地点的进入/离开事件,并向用户通知所述进入/离开事件。例如,应用412可将包括每个地点的纬度/经度的地理围栏列表传输到位置检测模块414。位置检测模块414可通过使用位置识别模块430检测电子装置400针对地理围栏列表中包括的特定地点的进入/离开事件,并向应用412通知相应的进入/离开事件。应用412转而通知用户。

根据实施例,位置检测模块414可将从应用412接收到的地理围栏列表(例如,与地理围栏相关的地点的位置以及纬度/经度信息)存储在服务器470、第二存储器450或一些其它位置中。此外,位置检测模块414可通过使用加速度传感器和位置识别模块430(GPS、Wi-Fi、调制解调器、BLE或NFC)识别电子装置400的当前位置,并检测是否产生了电子装置400针对特定地点的进入/离开事件。此外,位置检测模块414可将关于进入/离开事件的产生的信息传输到应用412。

根据实施例,位置检测模块414可将关于从应用412接收到的地理围栏列表的信息存储在第二存储器450、服务器470或一些其它位置中,并根据电子装置400的当前位置对地理围栏分群或分组。

此外,位置检测模块414可通过使用从应用412接收到的地理围栏列表数据库管理模块416做出对地理围栏进行分群或分组的请求。位置检测模块414可将由数据库管理模块416分群或分组的地理围栏存储在第二存储器450、服务器470或一些其它位置中。位置检测模块414可将分组的(分群的)地理围栏注册在位置识别模块430的第一存储器434中以允许地理围栏检测模块432检测针对地理围栏的进入/离开事件。

数据库管理模块416可基于(例如)根据每个地理围栏的纬度/经度的距离或一些其它标准对地理围栏进行分组。例如,位置检测模块414可向数据库管理模块416做出对从应用412接收到的地理围栏列表进行分组的请求。数据库管理模块416可依据位置检测模块414的请求根据特定标准(例如,基于纬度/经度、距离或情形)对地理围栏列表进行分组,并将分组的地理围栏列表存储在第二存储器450、服务器470或一些其它位置中。

服务器470可用于存储与地理围栏相关的应用412或存储地理围栏列表。可选地,位置检测模块414可用于从应用412接收地理围栏列表的位置信息(例如,地理围栏的纬度/经度)并存储地理围栏列表的位置信息。可选地,当电子装置400开始监视电子装置400的位置时或在监视期间,位置检测模块414可在电子装置400的位置改变时向服务器470做出对相应的地理围栏列表信息的请求,因此需要更多的地理围栏位置信息。

位置识别模块430可包括(例如)地理围栏检测模块432和第一存储器434。可在硬件中实施位置识别模块430。例如,位置识别模块430可通过使用位置服务(诸如GPS、Wi-Fi及蜂窝)中的至少一个检测电子装置400的位置。

位置识别模块430可以是构建地理围栏并检测地理围栏的模块。例如,处理器410可将地理围栏注册在位置识别模块430的第一存储器434中,并且地理围栏检测模块432可检测针对在第一存储器434中注册的地理围栏的进入/离开事件。也就是说,地理围栏检测模块432可检测电子装置从与地理围栏相应的区域的外部到内部的移动状态或者从与地理围栏相应的区域的内部到外部的移动状态(即,当电子装置跨过地理围栏的边界时)。

根据本公开的实施例,处理器410可将基于特定标准分组的地理围栏注册在位置识别模块430的第一存储器434中,并且地理围栏检测模块432可检测针对分组并注册的地理围栏的进入/离开事件。

例如,与地理围栏相关的应用412可从第二存储器450或服务器470加载地理围栏列表。位置检测模块414可从应用412接收地理围栏列表的位置信息(例如,纬度/经度或距离)并处理接收到的地理围栏列表,或者向数据库管理模块416做出对地理围栏列表的位置信息的请求并对适合于位置识别模块430的硬件资源(例如,第一存储器434)的地理围栏列表进行分组。位置检测模块414可将分组的地理围栏列表注册在位置识别模块430的第一存储器434中,并且地理围栏检测模块432可将注册的地理围栏和电子装置400的当前位置进行比较以检测地理围栏的进入/离开事件。当地理围栏检测模块432检测到针对注册的地理围栏的进入/离开事件时,地理围栏检测模块432可唤醒位置检测模块414并且位置检测模块414可向应用412通知进入/离开事件的产生。

在图4中,位置识别模块430可以是被配置为监视地理围栏群组的处理器,处理器410可以是功能性地连接到位置识别模块430的另一处理器。然后,处理器410可将包括多个地理围栏中的至少一些地理围栏的地理围栏群组发送到位置识别模块430,并且电子装置400可从位置识别模块430接收与从所述地理围栏群组中包括的一个地理围栏的外部到内部的移动或从所述一个地理围栏的内部到外部的移动相应的通知。

在这时,处理器410可响应于电子装置400的移动(从所述外部到所述内部的移动或从所述内部到所述外部的移动)更新地理围栏群组。此外,当产生了地理围栏群组时,处理器410可基于有限的数量产生地理围栏群组,基于用户的行为模式产生地理围栏群组,或者基于与多个地理围栏相应的位置信息产生地理围栏群组。此外,位置识别模块430可消耗比处理器410的电能更少的电能。

服务器470可存储与所述多个地理围栏相应的位置信息。处理器410可基于地理围栏的距离或纬度和经度坐标,或者基于电子装置400的当前位置将所述多个地理围栏分类为多个主群组。位置识别模块430可监视电子装置400是否接近与所述多个主群组相应的区域。当电子装置400接近与所述多个主群组中的一个主群组相应的区域时,位置识别模块430可向处理器410通知所述接近。然后,处理器410可将一个主群组分类为多个子群组。位置识别模块430可监视子群组。

处理器410可基于位置信息确定在所述多个地理围栏之中将被监视的各个地理围栏中的第一候选,并产生包括与电子装置400相应的位置以及第一候选的虚拟地理围栏。位置识别模块430可监视虚拟地理围栏。在这时,当电子装置离开虚拟地理围栏时,位置识别模块430可对其进行检测并通知处理器410。然后,处理器410可基于电子装置400的位置确定在所述多个地理围栏之中将被监视的第二候选。

根据本公开的各种实施例,电子装置可包括:第一处理器,被配置为监视地理围栏群组;第二处理器,功能性地连接到第一处理器;并且第二处理器可被配置为向第一处理器发送包括多个地理围栏中的至少一些地理围栏的地理围栏群组并从第一处理器接收电子装置从地理围栏群组中的一个地理围栏的外部移动到内部或从所述一个地理围栏的内部移动到外部的通知。第二处理器可在电子装置位于所述一个或更多个地理围栏群组中的一个地理围栏群组(第一地理围栏群组)中时监视第一地理围栏群组和/或包括在第一地理围栏群组中的至少一个地理围栏,并且可在电子装置脱离第一地理围栏群组时将所述多个地理围栏重新分组为一个或更多个地理围栏群组。

根据实施例,第二处理器可获得电子装置的当前位置,计算所述当前位置与每个地理围栏之间的距离,并且基于计算出的距离和/或可被监视的地理围栏的数量将至少一个地理围栏重新分组为一个地理围栏群组,其中,所述至少一个地理围栏满足可按照从当前位置开始最近的顺序被监视的地理围栏的数量。第二处理器可在电子装置位于地理围栏范围内部时计算从电子装置到电子装置开始脱离所述地理围栏范围的点的距离,并可在电子装置位于所述地理围栏范围外部时计算从电子装置到电子装置开始进入所述地理围栏范围的点的距离,然后按照从电子装置的当前位置开始最近的顺序排列计算出的地理围栏并将预定数量的地理围栏配置为地理围栏群组。

根据实施例,第二处理器可基于纬度和经度的位置信息将所述多个地理围栏分类为多个更高等级的地理围栏群组,并且当基于第一处理器的监视结果识别出电子装置接近与所述多个更高等级的地理围栏群组中的一个更高等级的地理围栏群组相应的区域时,将所述一个更高等级的地理围栏群组分类为多个较低等级的地理围栏群组。第一处理器可监视所述多个较低等级的地理围栏群组。与第二处理器相比,第一处理器可消耗较低的电能。

根据实施例,第二处理器可产生地理围栏群组以包括有限数量的地理围栏。第二处理器可基于用户的行为模式形成第一地理围栏群组,然后基于位置信息利用所述有限数量的地理围栏之中的剩余地理围栏形成第二地理围栏群组。所述位置信息可以是电子装置的纬度和经度,或者是电子装置和地理围栏之间的距离。

根据本公开的一个实施例,当电子装置监视多个地理围栏时,可基于特定参考对地理围栏列表进行分群或分组,然后对其进行监视。

例如,当电子装置应监视多个地理围栏时,在归因于电流消耗和硬件资源的限制的一些情况下,并非所有将被监视的地理围栏可被注册。在这种情况下,需要电子装置在基于特定参考进行分群或分组之后监视地理围栏列表。

图5A至图5D示出根据本公开的各种实施例的对地理围栏进行分组的配置。

图5A是在对地理围栏进行分群或分组之前的示图。参照图5A,点510可指示电子装置400的当前位置,圆形虚拟地理围栏G1至G7可指示地理围栏。

位置识别模块430可基于第一存储器434的大小或可用的硬件资源来预定义可由电子装置400允许的地理围栏的数量。例如,当假设位置识别模块430的可用地理围栏的数量是图5A中的总计7个地理围栏中的5个时,地理围栏检测模块432可仅注册5个地理围栏并仅监视所述5个注册的地理围栏。剩余的两个地理围栏可不被位置识别模块430监视。

电子装置400可能需要一种减少功耗并有效监视地理围栏的方法。为实现这一目标,电子装置400可对所有的地理围栏进行分群或分组并仅监视被分群或分组的地理围栏。例如,图5A考虑电子装置400将地理围栏划分为两个群组并注册所述两个群组的方法(其中,一个群组包括四个地理围栏,另一群组包括三个地理围栏),而不是电子装置400注册并监视所有七个地理围栏的情形。当电子装置400的当前位置在所述两个群组的区域之外时,电子装置400可将所述两个群组注册在地理围栏列表中。当电子装置400移动到所述两个群组中的一个群组的区域内时,电子装置400可注册包含电子装置400的群组并监视在相应群组中的地理围栏。

根据本公开的实施例,电子装置可基于纬度/经度对多个地理围栏进行分群或分组。

图5B示出在根据基于纬度/经度信息的每个区域对地理围栏进行分组之前的示例。

电子装置400可从第二存储器450或服务器470获得包括基于电子装置400的当前位置的预设距离以内的至少一个地理围栏的地理围栏列表。参照图5B,电子装置400可基于包括在所述地理围栏列表中的至少一个地理围栏中的每个地理围栏的纬度/经度的平均值来计算中心520,并从中心520开始按照纬度/经度的固定间隔(例如,1度)识别所包括的地理围栏。电子装置400可将纬度/经度的所述固定间隔以内的地理围栏的数量(例如,地理围栏群组的数量)和硬件资源所允许的数量进行比较,并且当纬度/经度的所述固定间隔以内的地理围栏的数量大于硬件资源所允许的数量时,电子装置400可基于小于第一间隔的纬度/经度的间隔(例如,0.5度)对地理围栏进行分组。也就是说,电子装置400可根据基于纬度/经度的每个区域对地理围栏重复分组直到将被注册的地理围栏(地理围栏和地理围栏群组)的数量适合于所允许的硬件资源的数量。

例如,电子装置400可基于小于第一间隔(例如,1度)的单位(例如,0.5度)形成子群组,或者通过将纬度/经度四舍五入以去除小数位来形成子群组。

根据本公开的实施例,电子装置可基于电子装置的距离信息对多个地理围栏进行分群或分组。

图5C示出在基于距离信息对地理围栏进行分组之前的示例。

参照图5C,当假设在位置识别模块430的硬件资源上可允许的地理围栏的数量或者由用户输入的可允许的地理围栏的数量是五个时,电子装置400可识别与电子装置400的当前位置最接近的多达4个地理围栏的多个地理围栏。

例如,电子装置400可将群组531中最接近电子装置510的当前位置的地理围栏G1、G2、G3、G4注册在位置识别模块430中,并监视总计4个地理围栏。虚拟群组531可被称为虚拟围栏。

根据实施例,电子装置400可在电子装置400位于地理围栏内部时计算从电子装置400到电子装置400离开地理围栏的点的距离。所述装置也可在电子装置400位于地理围栏外部时计算从电子装置400到电子装置400进入地理围栏的点的距离。

当电子装置400在群组#1 531内移动时,不执行新的分组处理。然而,当电子装置400移动到群组531之外时,可基于所述电子装置的改变后的当前位置(群组#1 531的区域外部)和每个地理围栏之间距离执行新的分组操作。

根据本公开的实施例,电子装置可基于识别方案对多个地理围栏进行分群或分组。

图5D示出基于情境感知(context-aware)方案对地理围栏进行分组的示例。也就是说,电子装置400可在没有对地理围栏进行分组的情况下独立地注册频繁访问的地理围栏,或者仅对频繁访问的地理围栏进行分组、注册和监视。

参照图5D,假设地理围栏G6和G7是用户(例如,电子装置400)频繁访问的地点(例如,家或办公室)。用户频繁访问的地点是指用户频繁移动到的地点/用户频繁从其开始移动的地点,使得可在该地点频繁产生进入/离开事件。因此,当电子装置400将作为频繁访问地点的地理围栏G6和G7与另一地理围栏分为一组时,处理器410可频繁接收通知请求,因此功耗可能增加。

根据实施例,电子装置400可基于情境感知方案在无需将频繁访问的地理围栏G6和G7与其它地理围栏分为一组的情况下将地理围栏G6和G7独立地注册在位置识别模块430中,并可基于其纬度/经度或距离将剩余地理围栏G1至G5分组为群组#1 541和群组#2 542并对其进行注册和监视。

此外,电子装置400可在无需将地理围栏G6和G7与其它地理围栏分为一组的情况下仅将频繁访问的地理围栏G6和G7分组为一个群组并对其进行监视。

根据本公开的各种实施例,可根据包括在地理围栏列表中的地理围栏的纬度/经度之间的相似度对多个地理围栏进行分组。

参照图4和图5B,在对至少一个地理围栏进行分组的处理中,应用412可向位置检测模块414做出监视针对地理围栏列表中包括的至少一个地理围栏的进入/离开事件的请求。应用412可期望仅接收在电子装置400针对地理围栏的进入和离开事件之中的一个事件,并且可暂时停止监视操作或依据用户请求重新启动监视操作。

位置检测模块414可将接收到的关于地理围栏列表的信息(例如,距离或纬度/经度)存储在第二存储器450或服务器470中,并且根据电子装置400的当前位置向数据库管理模块416做出对地理围栏列表进行分群或分组的请求。数据库管理模块416可基于特定标准(例如,纬度/经度、距离的顺序、或情境感知)对地理围栏进行分组。

根据实施例,电子装置400可根据地理围栏列表中的地理围栏的位置(例如,纬度/经度)形成群组。电子装置400可识别在地理围栏列表中的每个地理围栏的纬度/经度,通过将每个地理围栏的纬度/经度与电子装置400的当前位置进行比较来识别纬度/经度的固定间隔内的地理围栏,并根据所述纬度/经度对识别出的地理围栏进行分组。

例如,电子装置400可检测电子装置400的当前位置并从电子装置400的当前位置开始按照纬度/经度的1度的间隔识别所包括的地理围栏的数量。可选地,电子装置400可识别在从电子装置400的当前位置开始的与固定间隔(例如,1度)相应的预定距离(例如,约100km)内的地理围栏的数量。电子装置400可将地理围栏的数量与硬件资源的数量或用户所允许的地理围栏的数量进行比较,并且当需要进行分组时,根据纬度/经度相似度对地理围栏进行分组。

电子装置400可形成边界是距电子装置400的当前位置的预定距离(例如,100km)的大群组(上级群组),并可识别相应群组内的地理围栏的数量是否具有可由位置识别模块430的硬件资源进行充分处理的大小。当相应群组内的地理围栏的数量具有可由位置识别模块430进行充分处理的大小时,电子装置400可开始监视相应群组。否则,电子装置400可按照更小的单位对所述群组进行划分以形成如上所述的下级群组。

例如,当由于位置识别模块430的第一存储器434而可注册的地理围栏的有限数量为N并且相应群组的地理围栏的数量大于N时,电子装置400可以以下级群组为单位对群组进行划分并形成下级群组。

图6A和图6B示出根据本公开的各种实施例的地理围栏列表等级的配置。图6A示出按照纬度/经度的1度差别或距电子装置的位置100km来形成与更大群组相应的地理围栏列表等级1的操作,图6B示出形成与地理围栏列表等级1的子群组相应的地理围栏列表等级2的操作。

参照图4和图6A,在开始监视地理围栏之前,位置检测模块414可从服务器740或第二存储器450加载关于不在距电子装置400的当前位置预定距离(例如,约100km)之外的所有地理围栏的信息。这可以是使大群组成为覆盖约100km的大群组的基础。

参照图6A,当通过从每个地理围栏的纬度/经度值减去当前电子装置400的纬度/经度值所产生的值大于或等于-1.0且小于1.0时,电子装置400可确定每个地理围栏接近小于距中心所述预定距离(例如,约100km)的位置。所述中心可以是地理围栏的纬度/经度的平均值。约100km的距离差可基于1度的纬度/经度差与约100km的距离差相应的假设。针对1度的差别的实际距离根据纬度/经度变化,并且可通过确定覆盖较低等级(上级群组)的更高等级(下级群组)的半径的以下方法予以解决。

例如,电子装置400可将位于距中心约1度的纬度/经度差以内(即,在距中心100km以内)的所有地理围栏确定为地理围栏列表等级1(例如,更大群组)。

参照图6B,在电子装置400具有地理围栏列表等级1的状态下,电子装置400的位置检测模块414可检测在可用硬件资源之中最坏资源的可用范围N。可选地,位置检测模块414可将N确定为用户可允许的地理围栏的数量。当地理围栏列表等级1大于N时,电子装置400可形成新的子群组地理围栏列表等级2.

例如,为了舍弃小于1度的值,电子装置400可参考通过将地理围栏的纬度/经度的小数点之后的第一位四舍五入而获得的值,以便形成包括具有相同值的地理围栏的下级群组。在这时,下级群组列表可被限定为地理围栏列表等级2。参照图6B,注意到等级2的地理围栏群组的数量是9个。

基本上,可形成包括作为等级1的参考的约100km的半径以内的地理围栏的总计10个地理围栏列表以及可被产生为等级2的最多9个群组。

图7示出根据本公开的各种实施例的识别地理围栏的子群组的半径的方法。

可基于地理围栏列表等级2内的地理围栏之中具有距离相应中心的纬度/经度最远检测区域的地理围栏设置地理围栏列表等级2的范围的半径。

参照图7,由于地理围栏X 720的边界距等级2的群组的中心O'710最远,因此如图7所示,地理围栏列表等级2的半径为M(O’与地理围栏X 720的中心之间的距离)加上Rx(地理围栏X 720的半径)。例如,当相应群组内的地理围栏X 720的纬度/经度是(x,y)并且等级2的群组的参考的纬度/经度是O'(a,b)710时,电子装置400可计算从(a,b)到(x,y)的距离M以及具有(x,y)作为中心的地理围栏X的半径Rx。也就是说,M+Rx成为等级2的群组的最大值,使得M+Rx可以是地理围栏列表等级2的半径。

当在地理围栏列表中仅存在一个地理围栏时,相应群组的中心和半径可与子群组的中心和半径相同。在这时,由于分组操作,可创建不必要的重叠的地理围栏群组,使得可在最近的群组中包括相应地理围栏,或者当仅在相应群组以外形成了群组时,相应地理围栏本身可被视为所述群组(地理围栏列表),从而避免重叠监视。

按照相似的方式,基于等级1的地理围栏的最远范围,等级1的半径可以是灵活的而非固定为100km。按照这种方式,可产生子群组的子群组。

根据一个实施例,电子装置400可通过对包括电子装置400的当前位置的较低等级(上级群组)的地理围栏群组以及与相应群组中包括的群组成员相应的地理围栏进行地理围栏来减少硬件资源的负担。

根据一个实施例,电子装置400可通过仅监视特定群组的地理围栏中的地理围栏来减少硬件资源的负担。

虽然公开了根据作为可在电子装置中注册的地理围栏的最大数量的N对地理围栏进行分组,但是根据小于N的数字对地理围栏进行分组可能更可取。这是因为可通过每个地理围栏的分组操作执行重叠监视。

当电子装置400结束用于监视位置的分组处理时,位置识别模块430可通过使用被配置为最大群组的等级1以及等级2的列表开始硬件地理围栏处理。例如,当电子装置400识别出电子装置400进入相应区域(地理围栏)时,电子装置400可将所述地理围栏与相应区域的下级列表(原始地理围栏)进行比较,然后当不存在在(所进入的)所述下级列表中检测到的下级地理围栏时,电子装置降低所述等级并执行重新注册。也就是说,电子装置400可注册电子装置400已经进入其区域的等级2的地理围栏以及等级2的地理围栏的子群组。在这种情况下,电子装置400可再次执行分组操作并注册等级3的地理围栏列表。类似地,可基于N-3对所述等级或群组进行划分。

根据本公开的一个实施例,位置检测模块414可在检测位置的同时获知重叠或重复的地理围栏。在检测到电子装置400已经进入地理围栏A的状态下,当检测到电子装置400已经进入地理围栏B时,可识别出所述两个地理围栏相互重叠。

根据本公开的各种实施例,位置检测模块414可在检测位置的同时记住每个群组和地理围栏区域的访问频率。基于所述访问频率,可基于情景感知来新限定针对频繁访问的地理围栏的群组。

图8A至图8C示出根据本公开的各种实施例的地理围栏的注册。参照图8A至图8C,假设用户从所有群组的区域的外部移动到群组1的区域的内部。

参照图8A,G1至G10可指示地理围栏。例如,可在相应区域中存在总计10个地理围栏,并且群组1的地理围栏可以是G1至G8,群组2的地理围栏可以是G9和G10。另外,可假设电子装置的硬件资源可注册最多6个地理围栏。

参照图8A的表810,电子装置400的位置识别模块430可注册包括群组1和群组2的地理围栏列表。参照图8A,可假设电子装置400从电子装置400未进入任何群组的状态移动到群组1。

在这种情况下。位置识别模块430可注册并监视作为群组1的中心的中心1的纬度/经度以及作为群组2的中心的中心2的纬度/经度,而不监视地理围栏G1至G8。

可通过地理围栏G1至G8的纬度/经度值的平均值确定作为群组1的中心的中心1。可通过将中心1与具有最远检测区域的地理围栏G的中心之间的距离d2和地理围栏G2的半径r2相加产生的值(R1=d2+r2)来确定群组1的半径R1。

类似地,可通过地理围栏G9和G10的纬度/经度值的平均值来确定作为群组2的中心的中心2。可通过将中心2与具有较远检测区域的地理围栏(例如,G9)之间的距离和所述地理围栏(例如,G9)的半径相加产生的值来确定群组2的半径R2。在这种情况下,电子装置400的位置识别模块430仅必须监视被配置为群组1和群组2的两个地理围栏,因此硬件资源可以是充足的。

参照图8B,用户(例如,电子装置400)可进入群组1的半径R1。当电子装置400进入群组1时,电子装置400的位置检测模块414可删除在位置识别模块430中注册的群组2,并另外注册群组1的下级地理围栏。

例如,如图8B的表830中所示,位置识别模块430可注册群组1的8个地理围栏以及群组1。在这种情况下,位置识别模块430的硬件资源应允许9个或更多个地理围栏。

如上所述,当硬件资源(例如,包括在位置识别模块430中的第一存储器434的容量)所允许的地理围栏的数量限于6个时,如图8C中所示,位置识别模块430可另外地对群组1内部的地理围栏进行分组并产生群组3、群组4、群组5。也就是说,群组3、群组4、群组5可以是群组1的子群组。

当用户(例如,电子装置400)没有位于群组3、群组4、群组5的任何区域中时,位置识别模块430可将群组1、群组3、群组4、群组5注册为将被监视的地理围栏。然而,如图8C中所示,当电子装置400的当前位置在群组3中包括的地理围栏G2以内时,位置检测模块414可向用户通知与电子装置400进入地理围栏G2相应的事件的应用。随后,为了另外地监视地理围栏,位置检测模块414可将群组3以及地理围栏G1和G2注册为将被监视的地理围栏。可保持位置识别模块430对群组3的监视直到电子装置400的位置离开群组3为止。当电子装置400移动到另一子群组(群组4或群组5)时,电子装置400的位置检测模块414可把将被监视的目标改变为其它子群组和与所述子群组相应的地理围栏。另外,当电子装置400移动到更大群组(群组1)的区域时,位置检测模块414可把将被监视的目标改变为群组1以及子群组3、子群组4、子群组5。可保持对群组1以及所包括的地理围栏的监视直到电子装置400离开群组1的区域为止。

图9A至图9C示出根据本公开的一个实施例的电子装置形成地理围栏群组的处理。

图9A示出电子装置400和在形成群组之前的每个地理围栏。电子装置400可在每当测量电子装置400的当前位置时测量距每个地理围栏的距离。电子装置400可排列地理围栏最多达N个(例如,6个)地理围栏,其中,N是由于硬件资源而将被监视的地理围栏的限制。

参照图9A,圆形G1至G7可指示地理围栏,星形910可指示电子装置400的当前位置。电子装置400可测量从电子装置400的当前位置910至每个地理围栏的距离并列出按照距离排序的地理围栏(例如,G1至G7)。例如,在每个地理围栏上标记的数字可指示更接近电子装置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个地理围栏的距离作为半径来确定纬度/经度。

作为虚拟地理围栏的地理围栏群组可被称为虚拟围栏,由于位置识别模块430在电子装置400离开虚拟围栏930的时刻向处理器410提供通知,因此可实时监视所有的地理围栏。当电子装置400移动并离开虚拟围栏930时,电子装置400可基于在虚拟围栏930外部的电子装置400的新位置以及所述新位置与现有地理围栏之间的距离再次形成新的群组。

即使电子装置400通过按照距离形成虚拟围栏930的方法移动,也新测量距每个地理围栏的距离,使得可将所述方法适应性地应用于添加或删除地理围栏的情况。

图10是示出根据本公开的各种实施例的基于地理围栏的纬度/经度形成上级群组的处理的流程图。

参照图10,在操作1010,电子装置400可识别关于两个或更多个地理围栏的信息。关于地理围栏的信息可指示特定地理围栏位置的纬度/经度。例如,电子装置400的数据库管理模块416可识别通过应用412接收到的地理围栏列表中包括的至少一个地理围栏的纬度/经度信息。

在操作1020,电子装置400可识别可被监视(注册)的地理围栏的数量。电子装置400可基于作为位置识别模块430的硬件资源的第一存储器434的状态(例如,存储器容量)识别可被监视的地理围栏的数量。可由电子装置400形成的群组的数量可等于或小于可被监视的地理围栏的数量。例如,当可被监视的地理围栏的数量是6个时,可由电子装置400形成的群组的数量可等于或小于6。

在操作1030,电子装置400可基于可被监视的地理围栏的数量和关于每个地理围栏的信息中的至少一项产生包括至少一个地理围栏的至少一个群组。

如上所述,可被监视的地理围栏的数量(例如,可在电子装置400中注册的地理围栏的数量)可等于或大于可由电子装置400形成的群组的数量。一个群组可被识别为多个地理围栏或一个地理围栏的群组。

例如,电子装置400可在操作1010识别作为关于地理围栏列表中的每个地理围栏的信息的纬度/经度,并且可在操作1020将所述纬度/经度注册在位置识别模块430中并识别可被监视的地理围栏的数量。电子装置400可识别预定纬度/经度间隔(例如,1度)以内的地理围栏的数量,并将同一纬度/经度间隔以内的地理围栏的数量和可被监视的地理围栏的数量进行比较,以便形成包括至少一个地理围栏的一个群组。

根据实施例,当可被监视的地理围栏的数量小于同一纬度/经度间隔以内的地理围栏的数量时,由于关于位置识别模块430的资源的限制,电子装置400可形成若干群组。例如,当可被监视的地理围栏的数量是10并且在1度的纬度/经度间隔以内包括100个地理围栏时,电子装置400可仅监视100个地理围栏中的一些而非全部。因此,电子装置400可形成并监视包括至少一个地理围栏的若干群组。

根据实施例,当可被监视的地理围栏的数量大于或等于同一纬度/经度间隔以内的地理围栏的数量时,电子装置400可形成若干群组以合理分配位置识别模块430的资源。例如,当可被监视的地理围栏的数量是10并且在1度的纬度/经度间隔以内存在10个地理围栏时,电子装置400可注册并监视全部10个地理围栏,但是可依据功耗以及位置识别模块430的资源的合理分配将10个地理围栏分组为2个或3个群组并监视分组的地理围栏。

图11是示出根据本公开的实施例的用于在地理围栏的更大群组内形成子群组的处理的流程图。图11是示出在图10的用于形成至少一个更大群组的操作1030之后形成针对至少一个更大群组的子群组的方法的流程图。

在操作1110,电子装置400可监视至少一个更大群组(例如,在图10的操作1030中形成的群组)。

在操作1120,电子装置400可识别电子装置400的当前位置。

在操作1130,电子装置400可识别电子装置400的当前位置是否被包括在将被监视的至少一个更大群组中的一个更大群组中。

根据实施例,当电子装置400的当前位置未被包括在将被监视的至少一个更大群组中的一个更大群组中时,电子装置400可继续监视至少一个更大群组。例如,当电子装置400未进入任何一个更大群组时,电子装置400可在操作1110继续监视至少一个更大群组。

当电子装置400的当前位置被包括在将被监视的至少一个更大群组中的一个更大群组中时,电子装置400可在操作1140识别所述群组中包括的地理围栏的数量,以便检测电子装置400所在的更大群组中包括的地理围栏。

在操作1150,电子装置400可将所述群组中包括的地理围栏的数量和可被监视的地理围栏的数量进行比较,以便确定是否形成子群组。例如,当在所述更大群组中包括的地理围栏的数量大于可被监视的地理围栏的数量时,电子装置400可确定由于位置识别模块430的限制并非全部的地理围栏可被监视。因此,电子装置400可确定需要子群组的产生。可由数据库管理模块416执行子群组的产生。

根据实施例,当电子装置400所在的群组中包括的地理围栏的数量大于可被监视的地理围栏的数量时,电子装置400可形成子群组。当电子装置400所在的群组中包括的地理围栏的数量等于或小于可被监视的地理围栏的数量时,电子装置400可保持对所述更大群组的监视。

然而,即使当在相应上级群组以内的地理围栏的数量等于或小于可被监视的地理围栏的数量时,电子装置400也可基于功耗和资源分配确定是否需要子群组的形成。当确定需要下级群组的形成时,电子装置400可在操作1160形成子群组。

根据实施例,确定需要子群组的形成,电子装置400可在操作1160将相应上级群组中包括的地理围栏形成为多个下级群组。形成子群组的方法可与形成更大群组的方法相同(例如,基于纬度/经度、按照距离的顺序、或者情景感知方案)。

图11示出电子装置形成更大群组中包括的子群组的方法。当在监视更大群组的同时电子装置400的位置被包括在一个更大群组中时,电子装置400可分析地理围栏的数量以及可被注册的地理围栏的数量。当相应更大群组中包括的地理围栏的数量大于可被监视(注册)的地理围栏的数量时,电子装置400可形成所述更大群组中包括的地理围栏的子群组。此外,当所述更大群组中包括的地理围栏的数量小于可被监视(注册)的地理围栏的数量时,电子装置400可监视所述更大群组以及所述群组中包括的相应地理围栏。

图12是示出根据本公开的一个实施例的电子装置监视地理围栏的处理的流程图。图12是示出当电子装置400停留在任何群组中然后离开所述群组或移动到另一群组时电子装置400的操作的流程图。

根据实施例,当电子装置400移动到另一群组时,电子装置400可在包括电子装置400的群组中形成子群组并监视相应子群组以及所述群组中包括的地理围栏。

在操作1210,电子装置400可监视至少一个群组。如上所述,为了监视所述地理围栏,电子装置400可首先形成更大群组,然后如有必要在更大群组以内形成子群组。在这种情况下,电子装置400可监视更大群组和更大群组的子群组二者。

在操作1220,电子装置400可识别电子装置400的当前位置。

在操作1230,电子装置400可识别电子装置400的当前位置是否被包括在当前被监视的至少一个群组中的一个群组中。

当电子装置400被包括在当前被监视的至少一个群组中的一个群组中时,电子装置400可进行到步骤1240。

在操作1240,电子装置400可监视电子装置400所在的相应群组以及所述群组中包括的地理围栏。当所述相应群组以及所述群组中包括的地理围栏的数量超过硬件资源时,电子装置400可将所述地理围栏划分为多个子群组。

在操作1250,电子装置400可根据电子装置400的移动识别电子装置400是否离开当前群组。

当根据电子装置400的移动,电子装置400离开当前群组时,电子装置400可在操作1210监视至少一个群组(例如,所述更大群组)。

当电子装置400保持当前位置或未离开相应群组时,电子装置400可在操作1240继续监视相应群组以及所述群组中包括的地理围栏。

如上所述,在监视多个群组时,当电子装置400的当前位置被包括在所述多个群组中的一个群组时,电子装置400可监视相应群组以及所述群组中包括的地理围栏。然而,当电子装置400的位置离开所述相应群组时,电子装置400可再次监视所述多个群组。

图13是示出根据本公开的各种实施例的电子装置形成地理围栏群组的处理的流程图。

在操作1310,电子装置400可基于至少一条地理围栏信息(例如,纬度/经度)计算从电子装置400的当前位置到地理围栏列表中包括的每个地理围栏的距离。

在操作1320,电子装置400可注册一直到按照距电子装置400的距离排序的第N-1个地理围栏为止的N-1个地理围栏。例如,当可由电子装置400监视(注册)的地理围栏的数量是N个时,电子装置400可排列按照距离排序的地理围栏并将一直到第N-1个地理围栏为止的地理围栏注册为将被监视的地理围栏。

在操作1330,电子装置400可注册电子装置400与到电子装置400的距离最远的第N个地理围栏之间的距离的半径以内的虚拟地理围栏群组。例如,虚拟地理围栏群组可包括N-1个地理围栏,并且可由在电子装置400与到电子装置400的距离最远的第N个地理围栏之间的距离确定虚拟地理围栏群组的半径。

在操作1340,电子装置400(例如,位置识别模块430)可开始监视地理围栏。例如,当电子装置400被包括在虚拟地理围栏群组中时,位置识别模块430可监视虚拟地理围栏群组以及虚拟地理围栏群组以内的地理围栏,而不用重新形成地理围栏群组。

在操作1350,电子装置400可根据电子装置400的移动识别电子装置400的当前位置是否在虚拟地理围栏群组的外部。

当电子装置400的当前位置在虚拟地理围栏群组的外部时,电子装置400可返回到操作1310并计算电子装置400与每个地理围栏之间的距离,以重复用于形成地理围栏群组的处理。例如,当通过地理围栏检测模块432检测到电子装置400在虚拟地理围栏群组外部时,地理围栏检测模块432可向处于睡眠状态的位置检测模块414通知进入/离开事件。已经接收到所述进入/离开事件的位置检测模块414可从睡眠状态中唤醒并再次计算电子装置400的当前位置与每个地理围栏之间的距离,以再次执行用于形成虚拟地理围栏群组的操作。

根据实施例,电子装置400可基于从电子装置400的当前位置到每个地理围栏的距离形成群组。每当测量电子装置400的当前位置时,电子装置400可计算距每个地理围栏的距离。当计算距每个地理围栏的距离时,电子装置400可计算在电子装置位于地理围栏的区域的内部(进入状态)时用于离开所述区域的距离,并在电子装置400位于地理围栏的区域的外部(离开状态)时计算用于进入所述区域的距离。电子装置400可按照基于地理围栏距离的最靠近的地理围栏的顺序列出与H/W资源的限制相应的N个地理围栏。例如,当N是6并且存在总计7个地理围栏时,电子装置400可测量从当前位置到每个地理围栏的距离并按照最近距离的顺序列出地理围栏。

图14A至图14C示出根据本公开的各种实施例的地理围栏的分组操作。

根据本公开的各种实施例,电子装置400可通过使用情景感知方案对地理围栏进行分组并监视分组的地理围栏。例如,将在下文中描述在没有进行分组的情况下基于情景感知方案将频繁访问的地理围栏独立注册在电子装置400中的方法,或仅对频繁访问的地理围栏进行分组、将分组的地理围栏注册在电子装置400中并监视分组的地理围栏的方法。

参照图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。

根据实施例,当位于群组3以内的电子装置400脱离群组3时,位置检测模块414可将群组3、群组4及群组5注册为将被监视的地理围栏群组。当产生与电子装置400进入到群组5中相应的事件时,电子装置400可再次将群组5以及地理围栏G3、地理围栏G8、地理围栏G6注册为将被监视的地理围栏并开始监视地理围栏G3。在这时,如果用户(例如,电子装置400)从地理围栏G2开始按照群组5的方向直接行进,则不存在大的差别,但是如果电子装置中400从地理围栏G2开始绕行以进入群组5,则再一次调用位置检测模块414可能存在繁琐。

在这种情况下,位置检测模块414可检测地理围栏G2和地理围栏G3的访问频率并且不将所述地理围栏(地理围栏G2和地理围栏G3)与其它地理围栏分为一组。

也就是说,电子装置400将地理围栏G2和地理围栏G3独立注册在电子装置400中或将所述地理围栏(地理围栏G2和地理围栏G3)形成为一个群组并对其进行管理,以便避免将被监视的群组的频繁改变。

根据本公开的各种实施例,电子装置400可通过使用基于纬度/经度的方案以及基于距离的方案二者对地理围栏进行分组并监视分组的地理围栏。

例如,当如图14C中所示将群组1划分为群组3、群组4及群组5时,位置识别模块430可一次仅监视最多四个区域,使得位置识别模块430可减轻资源的负担。然而,当即使最大限度使用硬件资源也不存在能力问题时,可使用基于纬度/经度的分群或分组方案以及基于距离的监视方案。

例如,如图14B中所示,在用户(星形)首次进入群组1的时刻,位置检测模块414可识别出群组1的下级地理围栏的数量超过与可允许范围相应的6个硬件资源。这里,可以以基于纬度/经度的方案为基础产生下级群组,但是可在不超过6个硬件资源的范围内以基于距离的方案为基础对地理围栏进行分组和监视。

参照图14B,位置检测模块414可将接近用户的地理围栏G1、地理围栏G2、地理围栏G3及地理围栏G4注册在位置识别模块430中,产生具有距次近的地理围栏G8的距离的半径的虚拟围栏,并在剩余的一个位置注册产生的虚拟围栏。位置识别模块430可实时监视群组1、地理围栏G1、地理围栏G2、地理围栏G3、地理围栏G4以及虚拟围栏。

当用户(例如,电子装置400)移动并且位置识别模块430检测到电子装置400的当前位置脱离虚拟围栏时,位置检测模块414可根据距当前位置的距离的顺序排列群组1的下级地理围栏,选择4个地理围栏(N-2个地理围栏)并再次形成具有第5个地理围栏的距离的半径的新虚拟围栏。

根据本公开的各种实施例,添加至少一个地理围栏或从地理围栏列表删除至少一个地理围栏,电子装置400可在新地理围栏列表中形成新的群组并对其进行监视。

参照图14A至图14C,使用位置检测模块414的客户机应用可做出添加新的地理围栏或删除现有的地理围栏的请求。当添加了地理围栏时,需要电子装置400形成新的群组。当删除了地理围栏时,可不需要电子装置400监视地理围栏。

例如,当从具有三个或更多个地理围栏的群组4或群组5删除了地理围栏G7或地理围栏G8时,可缩小所述群组的范围并且可改变作为所述群组的中心的中心的纬度/经度以及所述群组的半径。然而,当从群组3中删除了地理围栏G1时,群组3可等同于地理围栏G2。因此,可删除群组3,并且可按照与群组4和群组5相同的等级监视地理围栏G2。此外,当删除了群组1的三个或更多个下级地理围栏时,地理围栏的数量满足与资源限制相应的6个硬件资源,使得可删除群组3、群组4、群组5全部并且可仅管理群组1。在这时,可新限定所述群组的中心和半径。

类似地,可依据请求添加客户机应用或可添加将被监视的地理围栏。例如,当将4个地理围栏添加到图14A中的群组2时,如果电子装置400进入群组2的区域,则电子装置400应监视包括群组2的总计7个区域。因此,电子装置400可形成群组2的新的子群组。

此外,当添加了至少一个地理围栏或从地理围栏列表中删除了至少一个地理围栏时,电子装置400可配置地理围栏列表的阈值,并且仅当添加或删除了至少一个地理围栏并且添加或删除的地理围栏的数量超过所述阈值时对地理围栏进行分组。

例如,当添加了至少一个地理围栏或从地理围栏列表中删除了至少一个地理围栏时,需要形成新的群组。当电子装置400对地理围栏频繁分组时,功耗可能增加。因此,电子装置400仅在新的地理围栏列表中的地理围栏超过预定阈值时需要对所述地理围栏进行分组。可根据用户的输入或者根据电子装置的设置或状态确定所述阈值。

图15是示出根据本公开的各种实施例的电子装置对地理围栏进行分组的处理的流程图。

电子装置400可将应用412请求的地理围栏列表存储在第二存储器450或服务器470中。当提供针对地理围栏的服务时,可改变或移除地理围栏的位置。在这种情况下,应用412可做出删除现有地理围栏列表中的一些地理围栏或添加另一地理围栏的请求。

在操作1510,电子装置400可识别出已经删除所存储的多个地理围栏中的至少一些地理围栏或已经添加了另一地理围栏。例如,为了识别对一些地理围栏的删除或对另一地理围栏的添加,应用412可向服务器470做出对新更新的地理围栏列表的请求,并且处理器410可通过将所存储的现有地理围栏列表与更新后的地理围栏列表进行比较来识别地理围栏的删除或添加。

在操作1520,电子装置400可根据地理围栏添加或从所存储的现有地理围栏列表的删除来识别所述多个地理围栏之中的剩余地理围栏的数量。例如,处理器410可通过将所述应用请求的更新后的地理围栏列表与现有地理围栏列表进行比较来识别所述多个地理围栏之中的剩余地理围栏的数量。

在操作1530,电子装置400可将剩余地理围栏的数量与在位置识别模块430的硬件资源(例如,第一存储器434)中可允许(注册)的地理围栏的数量进行比较。

当剩余地理围栏的数量等于或小于硬件资源所允许的地理围栏的数量时,即使所有剩余地理围栏被注册,硬件资源也是充足的。因此,可通过现有方法继续执行监视操作,除非依据资源分配或依据用户请求需要新的分组操作。例如,当在地理围栏添加或删除之后剩余地理围栏的数量是9个并且可被注册(监视)的硬件资源的地理围栏的数量是10个时,电子装置400可具有充足的硬件资源。

因此,当在操作1530中剩余地理围栏的数量等于或小于所允许的硬件资源的数量时,电子装置400可返回到操作1510并识别对一些地理围栏的删除或对另一地理围栏的增加。

当剩余地理围栏的数量大于所允许的硬件资源的数量时,可不将所有剩余地理围栏注册到所述硬件,使得可能需要电子装置400对地理围栏进行新的分组。例如,当在地理围栏添加或删除之后剩余的地理围栏的数量是11个并且可被注册(监视)的硬件资源的地理围栏的数量是10个时,硬件资源不充足,使得可能需要电子装置400将剩余地理围栏分组为新的群组。

因此,当在操作1530中剩余地理围栏的数量大于所允许的硬件资源的数量时,电子装置400可进行到操作1540以对剩余地理围栏进行分组。

在操作1540,电子装置400可将剩余地理围栏分组为至少一个地理围栏群组。例如,当在地理围栏添加或删除之后剩余地理围栏的数量是11个并且可被注册(监视)的硬件资源的地理围栏的数量是10个时,可不注册所有剩余的11个地理围栏,使得电子装置400可将剩余的11个地理围栏分组为一个地理围栏群组并仅注册和监视一个群组,或者将剩余的11个地理围栏划分为两个或更多个群组并注册和监视划分出的群组。

电子装置400可根据用户的输入或者根据电子装置的设置或状态来控制在硬件资源中所允许的地理围栏的数量。例如,这是因为用户可能期望由他/她自己确定将被分组的地理围栏的数量,或者可能需要根据电子装置的使用状态或应用的存储器占用状态来控制在硬件资源中可允许的地理围栏的数量。

根据本公开的各种实施例,一种电子装置的操作方法可包括:识别多个地理围栏以及可由所述电子装置监视的地理围栏的限制;形成包括识别出的多个地理围栏的第一子集的地理围栏的至少第一群组;由所述电子装置仅监视所述群组中的地理围栏的第一子集。

根据实施例,可由用户的输入或者根据电子装置的设置或状态来设置硬件资源可允许的地理围栏的数量。

在所述电子装置的操作方法中,已经被分组的所述一个或更多个地理围栏群组中的地理围栏可被监视。在监视操作中,当电子装置接近与多个更大地理围栏群组相应的区域时,可基于对与所述多个更大地理围栏群组中的一个更大地理围栏群组相应的区域的接近,将所述一个更大地理围栏群组分类为多个子地理围栏群组并可监视所述多个子地理围栏群组,并且可基于纬度和经度的位置信息将所述多个地理围栏分类为所述多个更大地理围栏群组。

根据所述电子装置的操作方法,在监视操作中,虚拟地理围栏可被监视,当电子装置脱离虚拟地理围栏时,可确定多个地理围栏之中将被监视的另一虚拟地理围栏,并且所述另一虚拟地理围栏可基于电子装置的当前位置信息确定所述多个地理围栏之中将被监视的第一候选,并产生包括与电子装置相应的当前位置及所确定的第一候选的第一候选。

根据实施例,当电子装置位于所述一个或更多个地理围栏群组中的一个地理围栏群组(第一地理围栏群组)中时,可监视第一地理围栏群组和/或第一地理围栏群组中包括的至少一个地理围栏,并且当电子装置脱离第一地理围栏群组时,可将所述多个地理围栏重新分组为一个或更多个地理围栏群组。在对地理围栏群组进行重新分组的操作中,可获得电子装置的当前位置,可计算所述当前位置与每个地理围栏之间的距离,基于计算出的距离和/或可被监视的地理围栏的数量,可按照距当前位置的最近顺序将满足可被监视的地理围栏的数量的至少一个地理围栏重新分组为一个地理围栏群组,并且可监视该地理围栏群组。当电子装置位于地理围栏范围内部时,可计算从电子装置到电子装置开始脱离所述地理围栏范围的点的距离,并且当电子装置位于所述地理围栏范围外部时,可计算从电子装置到电子装置开始进入所述地理围栏范围的点的距离。

根据本公开的各种实施例,所述电子装置可包括两个处理器。一个处理器可监视经过分组的地理围栏群组的地理围栏,另一处理器可基于监视结果重新形成地理围栏群组。

根据本公开的各种实施例,记录有的程序的计算机可读记录介质可识别多个地理围栏以及可由电子装置监视的地理围栏的限制,形成包括识别出的多个地理围栏的第一子集的地理围栏的至少第一群组,并由所述电子装置仅监视所述群组中的地理围栏的第一子集。

根据本公开的各种实施例的电子装置及其操作方法可对多个地理围栏进行分组并管理分组的地理围栏,从而避免对不必要的区域(例如,地理围栏)的监视并选择性地监视应必要监视的地理围栏。因此,可使存储器和硬件资源的使用最小化并尽可能少地唤醒处理器以便减少功耗。

提供在此公开的实施例仅用于容易地描述本公开的技术细节并帮助理解本公开,并且所述实施例并非意在限制本公开的各种实施例的范围。因此,应理解:基于本公开的各种实施例的技术理念的所有修改和改变或各种其它实施例落入本公开的各种实施例的范围内。

本公开的上述实施例可在硬件、固件中实施,或者经由软件或可被存储在记录介质(诸如CD ROM、数字通用盘(DVD)、磁带、RAM、软盘、硬盘或磁光盘)中的计算机代码或通过网络下载的计算机代码(其中,所述计算机代码最初被存储在远程记录介质或非暂时性机器可读介质上并将被存储在本地记录介质上)的执行来实施,使得描述于此的方法可使用通用计算机或专用处理器经由被存储在记录介质上的所述软件实施,或者在可编程硬件或专用硬件(诸如ASIC或FPGA)中实施。如在本领域中所理解的:计算机、处理器、微处理器控制器或可编程硬件包括可存储或接收软件或计算机代码的存储器组件(例如,RAM、ROM、闪存等),其中,所述软件或计算机代码在被计算机、处理器或硬件访问并执行时实施描述于此的处理方法。此外,将认识到:当通用计算机访问用于实施在此示出的所述处理的代码时,所述代码的执行将通用计算机转变为用于执行在此示出的所述处理的专用计算机。在附图中提供的任何功能和步骤可在硬件中实施,或者在利用机器可执行代码配置的组合硬件中实施,并且可在计算机的编程指令内被整体或部分地执行。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1