专利名称:用于基于位置的服务中的位置隐私的虚拟信息的制作方法
用于基于位置的服务中的位置隐私的虚拟信息
背景技术:
除非本文另外指出,否则本部分记载的素材并不是本申请权利要求的现有技术,也不以包含在本部分中的方式被认可为现有技术。移动设备(例如蜂窝电话或智能电话)的位置恢复是大范围的基于位置的服务(LBS)的基础。基于位置的服务是信息服务,可由移动设备使用移动设备的地理位置通过蜂窝网络来访问。通过使用移动设备的位置来识别个人或对象的位置并向个人提供与个人邻近的位置中的各个服务提供商有关的信息,基于位置的服务可以用在各种环境中,例如健康、工作、个人和娱乐。LBS可以包括基于顾客位置向顾客发送广告、个人化天气服务、餐馆位置、加油站位置、其他商业活动以及类似的服务。LBS中传输用户位置信息可能关系到隐私。因此,已经开发出各种隐私保护方法。一种隐私保护方法包括:与用户的真实位置信息一起发送匿名信息或假虚拟元。例如,如果除了用户的真实位置信息之外用户还正在发送四组匿名位置信息,则总共存在五组位置信息。因此,能够实现空间遮蔽(spatial cloaking)效应。然而,发送和接收大量的不相关数据可能降低信道效率。对于发送的每一组匿名位置信息,可以接收多个LBS邀请,阻塞了通常具有有限带宽的通信信道。此外,在按数据量支付的类型的计划中,用户可能快速用尽他们的已分配数据量。另一个问题可能是移动设备上的功率使用,这通常也在可用性方面受到限制,而且产生虚拟数据的位置确定服务(例如GPS)的连续使用可能浪费宝贵的电池功率。
发明内容
本公开描述了一种在使用基于位置的服务时通过采用虚拟信息来保护位置隐私的方法。该方法可以包括:与基于位置的服务(LBS)提供商相连,以及向LBS提供商提交用户的实际位置以及第一子组虚拟位置。所述第一子组可以基于一个或更多个约束从虚拟位置的整个组中选择,所述一个或更多个约束包括:可用带宽、与LBS提供商相连的计算设备的功耗、和/或LBS提供商的服务要求。该方法还可以包括从LBS提供商接收与第二子组虚拟位置以及用户的实际位置相关联的基于位置的服务数据,其中所述第二子组是所述第一子组的子集。本公开还提供了一种在使用基于位置的服务时通过采用虚拟信息来保护位置隐私的装置。该装置可以包括:存储器,被配置为存储指令;以及处理器,与所述存储器耦合并且被适配为执行所述指令。当所述指令被执行时,它们可以使所述处理器与基于位置的服务(LBS)提供商相连并且向LBS提供商提交用户的实际位置以及第一子组虚拟位置。所述第一子组可以基于一个或更多个约束从虚拟位置的整个组中选择,所述一个或更多个约束包括:可用带宽、所述装置的功耗、和/或LBS提供商的服务要求。所述处理器还可以从LBS提供商接收与第二子组虚拟位置以及用户的实际位置相关联的基于位置的服务数据,其中所述第二子组是所述第一子组的子集。本公开还描述了一种其上存储有指令的计算机可读存储介质,用于一种在使用基于位置的服务时通过采用虚拟信息来保护位置隐私的方法。该方法可以包括与基于位置的服务(LBS)提供商相连以及向LBS提供商提交用户的实际位置以及第一子组虚拟位置。所述第一子组可以基于一个或更多个约束从虚拟位置的整个组中选择,所述一个或更多个约束包括:可用带宽、与LBS提供商相连的计算设备的功耗、和/或LBS提供商的服务要求。该方法还可以包括从LBS提供商接收与第二子组虚拟位置以及用户的实际位置相关联的基于位置的服务数据,其中所述第二子组是所述第一子组的子集。本公开还描述了一种通过采用虚拟信息连同基于位置的服务来实现位置隐私的保护的方法。该方法可以包括向基于位置的服务(LBS)提供商注册用户以及在LBS提供商处接收用户的实际位置以及第一子组虚拟位置。所述第一子组可以基于一个或更多个约束从虚拟位置的整个组中选择,所述一个或更多个约束包括:可用带宽、与LBS提供商相连的计算设备的功耗、和/或LBS提供商的服务要求。可以将与第二子组虚拟位置以及用户的实际位置相关联的LBS数据提供给与LBS提供商相连的计算设备,其中所述第二子组是所述第一子组的子集。以上发明内容仅仅是说明性的,而绝不是限制性的。除了上述示例性的各方案、各实施例和各特征之外,参照附图和以下详细说明,将清楚其他方案、其他实施例和其他特征。
根据以下说明和所附权利要求,结合附图,本公开的前述和其他特征将更加清楚。在认识到这些附图仅仅示出了根据本公开的一些示例且因此不应被认为是限制本公开范围的前提下,通过使用附图以额外的特征和细节来详细描述本公开,附图中:图1示出了用于向移动设备提供基于位置的服务的示例系统的框图;图2示出了用于实施基于位置的服务的示例环境;图3示出了为了位置隐私保护而向基于位置的服务提供虚拟信息的概念图;图4示出了针对包括用于保护位置隐私的虚拟信息的位置信息的示例数据分组;图5示出了与基于位置的服务一同使用的示例虚拟信息系统的框图;图6示出了可以用于实现针对位置隐私保护的虚拟信息的通用计算设备;图7示出了可以用于实现针对位置隐私保护的虚拟信息的专用处理器;图8是示出了采用虚拟信息来保护位置隐私的示例方法的流程图,该方法可以由如图6的设备600之类的计算设备或者如图7的处理器790之类的专用处理器来执行;以及图9示出了示例计算机程序产品的框图,以上附图全部根据本文所述的至少一些实施例来布置。
具体实施例方式在以下详细说明中,参考了作为详细说明的一部分的附图。在附图中,类似符号通常表示类似部件,除非上下文另行指明。
具体实施方式
部分、附图和权利要求书中记载的示例性实施例并不是限制性的。在不脱离在此所呈现主题的精神或范围的情况下,可以利用其他实施例,且可以进行其他改变。应当理解,在此一般性记载以及附图中图示的本公开的各方案可以按照在此明确和隐含公开的多种不同配置来设置、替换、组合、分割和设计。本公开尤其针对与向基于位置的服务(LBS)提供商发送位置数据中的隐私保护相关的方法、装置、系统、设备和/或计算机程序产品。简要来说,可以基于要接收的预计LBS数据和带宽可用性的比较以及发送信息的移动设备上的预计功率使用和移动设备的可用功率的比较来确定要连同实际位置信息一起发送至LBS提供商的虚拟位置信息集合的最大数目以用于保护隐私。根据一些实施例,可以产生虚拟信息,使得现实轨迹的获取不会使入侵者检测到当用户移动时的用户的实际路径。图1示出了根据本文描述的至少一些实施例的用于向移动设备提供基于位置的服务的示例系统的框图100。框图100中所示的移动设备操作环境可以包括与蜂窝设备102,GPS服务101和/或无线网络103相连的移动设备120,这些可以与移动设备120交互以提供移动位置数据和其他服务。移动设备120可以包括移动位置数据模块123,用于获得与移动位置有关的数据或移动设备的地理位置,例如移动设备的GPS详细位置或周围的蜂窝塔的蜂窝塔信号强度或周围的WLAN热点的信号强度。移动设备120可以连续地或周期性地收集和存储移动位置数据和信号强度数据,并且经由蜂窝网络或另一无线网络向服务器110传送移动位置数据。因为发送信息会消耗很大的能量,设备可以在其可以使用准确位置(例如GPS)时发送更新以更新服务器,并且在其没有获得GPS时偶尔发送更新。服务器110的LBS应用113可以存储并处理位置数据以提供基于位置的服务,例如购物建议、折扣券、地图服务等等。移动设备120和服务器110可以采用通信硬件接口 121和111,通过其各自的通信应用122和112进行通信。为了保护用户的位置隐私,移动位置数据模块123可以产生多个虚拟位置信息集合(匿名)并将其发送至LBS应用113。作为响应,移动设备120可以接收针对提交的位置数据(包括虚拟信息)的LBS提议,并从中选择实际位置,在该处理中保护用户的实际位置。由于接收大量的LBS提议数据可能消耗宝贵的带宽(通常出于物理原因或系统要求(例如用户被分配的带宽)),而且额外的通信/处理量可能占用移动设备120的通常有限的电源,根据一些实施例,可以基于系统中的这两个限制来确定虚拟位置信息集合的最大数目。服务器110的各个操作方面可以通过其用户接口 114来控制。类似的,可以使用户能够通过移动设备120的用户接口 124来提供偏好并接收LBS。图2示出了根据本文描述的至少一些实施例的用于实施基于位置的服务的示例环境。如图所示,图示200示出了具有移动设备220的用户位于地图202上的特定位置处。当例如通过位置确定服务(例如全球定位服务GPS)确定其位置时,移动设备可以将其位置数据204发送至LBS提供商210。LBS提供商210可以基于接收的位置数据在数据存储器208中查找可用的服务,并利用基于位置的服务将消息206发送至移动设备220。然而,移动设备220和LBS提供商210之间的通信可能被入侵者捕获,从而确定用户的实际位置。为了保护用户的位置隐私,根据一些实施例,可以在系统中连同实际位置信息一起发送虚拟位置信息。尽管可能随着发送的虚拟位置数据集合的数目的增大而使保护增强,系统的效率可能降低,因为每一个虚拟位置数据集合的产生和发送以及作为响应的服务的接收可能消耗带宽和移动设备的功率。根据一些实施例,可以通过设置用于从服务提供商接收基于位置的服务信息的匿名(虚拟位置数据)的数目来非对称地提升信道效率。通常,接收的LBS数据远大于发送的位置数据。因此,与发送位置信息相比,如果在接收数据时使用更少数目的匿名,则可以减小所交换的数据量。从用户的服务提供商接收的数据从侵入角度看典型地更安全,因为与向服务提供商发送的原始位置数据相比,它们是假数据。根据其他实施例,还可以考虑接收LBS数据的移动设备处的功耗。移动设备典型地具有有限数量的可用功率(电池组、太阳能等)。大部分可用功率消耗在活动的通信(例如接收大量的LBS数据)中。因此,通过基于移动设备处的可用功率来限制发送的虚拟位置数据集合的数目,可以节省功率。典型地,移动设备在使用位置确定服务(例如GPS)时发送位置信息,这进一步消耗功率。根据其他实施例,可以以预先定义的周期或随机间隔来发送虚拟位置信息,即使用户未使用位置确定服务(例如,GPS服务关闭),这使得入侵者实际上不可能捕捉用户的实时位置。额外的考虑可能涉及服务要求。例如,用户可被分配有限数量的带宽或要在给定时间段中传输的数据(例如,每月的数据分配)。因此,可以基于该服务要求和当前使用级别而进一步限制要发送的虚拟位置数据集合的数目。图3示出了根据本文描述的至少一些实施例的为了位置隐私保护而向基于位置的服务提供虚拟信息的概念图示300。如图所示,图示300示出了用户的移动设备320如何能够从GPS服务301或蜂窝服务302 (或前文讨论的其他服务)获得位置信息。然后,移动设备320通过蜂窝服务302或其他手段(例如,无线LAN连接、有线连接等)向LBS提供商310提供实际位置数据324,并接收与基于位置的服务相关联的数据。为了保护用户的位置隐私,移动设备320可以连同实际位置数据324 —起向LBS提供商310发送虚拟位置数据集合 322,326 和 328。
·
通常,从LBS提供商310接收的数据在数量上可以远大于移动设备320向LBS提供商310发送的位置信息。因此,设置过多的匿名可能导致超过业务容量或允许的带宽分配,因为服务数据与匿名的数目成比例地增大。增大的服务数据的数量还可能导致不必要的电池消耗。考虑到带宽使用,B[比特/秒]可以表示针对移动设备320的分配的或可用的带宽,Qn [比特/秒](n= I,2...N)可以是服务提供商针对每一个位置数据集合而传输的LBS数据的数量,其中N是虚拟数据集合的数目。如前文所述,从移动设备320向LBS提供商310发送的位置信息可以被省略,因为该数据量与接收的数据相比较小。不失一般性,接收的数据可以表达为Ql = Q2 =...= QN。因此,[1]Β 彡 N*Qn,从中可以得到[2]N<B/Qn。类似的,用于接收Qn数据的功率使用可以定义为Pn[W]。如果T[W]是最大可用(或允许的)功率,[3]T 彡 N*Pn,从中可以得到[4]N<T/Pn。
因此,根据等式[2]和[4],可以取得[5] N ( min (B/Qn, T/Pn)因此,虚拟位置数据集合或匿名的最大数目可以表达为min(B/Qn,T/Pn)。当用户未移动(即,处于固定位置)并且使用基于位置的服务时,入侵者/黑客不容易从用户的查询中检测到虚拟数据。然而,当用户正在移动时,入侵者可以检测到虚拟数据并基于虚拟数据集合的轨迹来推断用户的位置。因此,可以产生虚拟位置数据集合322、326和328,以超出现实并偏离用户的路径轨迹。图4示出了根据本文描述的至少一些实施例而布置的、针对包括用于保护位置隐私的虚拟信息的位置信息的示例数据分组。根据一些实施例,移动设备可以发送虚拟位置信息,即使该使用未创建与LBS有关的任何查询。因为位置信息的发送甚至与是否存在查询无关,入侵者可能无法辨别哪个信息是真实的信息。此外,即使在移动设备处关闭位置确定以降低功耗,也可以发送假信息。根据其他实施例,用户能够通过调整假信息发送的频率来设置隐私保护级别。如图4所示,图示400示出了如何基于来自LBS提供商的子码来选择匿名(虚拟位置数据集合)。整个组410是移动设备向LBS提供商发送的位置数据集合(411-415)的组。子组430是包括用户的实际位置412以及多个选择的匿名(例如411和414)的位置数据集合的组,该组是移动设备从LBS提供商接收的。整个组410中的匿名的数目大于针对子组430所选择的匿名的数目。子码420是允许移动设备在整个组内选择子组的索引码。子码420可以在移动设备第一次向LBS提供商注册时的初始化过程中产生。根据一些实施例,子码420可以被看作唯一的密码。在图示400中,子码数据分组示出了匿名以及实际用户位置信息的顺序(421、422、423、424和425)以及哪些(421、422和424)被实际发送。图5示出了根据本文描述的至少一些实施例而布置的、与基于位置的服务一同使用的示例虚拟信息系统的框图500。如上所述,整个组表示能够被发送至LBS提供商的位置数据集合的组(用户+K个匿名)。因此,该数目可以表达为K+1。子组表示用户从LBS提供商接收的用户+M个匿名的组。该第二数目是M+1,其中K>M。如图示500中所示,根据实施例的系统中的操作流程包括初始化过程502,其中用户506第一次向LBS提供商510注册。在初始化过程502期间,LBS提供商510可以为不同用户产生不同的子码(504),并将其发送给用户。因为这些码一旦被创建便可以永久地使用,可能不需要再次创建它们,或者可以为了额外的安全性以预定的间隔再次创建这些码。该码表示用户和子组之间的索引。在隐私保护过程503期间,当用户506实际上使用LBS时,用户506可以向LBS提供商510发送个人位置信息和K个匿名514(总称为“整个组”)。在此阶段,可以对用户的位置信息进行加密(512)以将其置于具有索引编号“I”的子码的中间。LBS提供商510可以不处理所有接收的(K+1)个位置数据集合并发送相关联的LBS数据。可以使用子码对接收的数据进行解密(508),然后发送对应的(M+1)个服务数据集合。因为LBS提供商510提供的信息对于攻击来说典型地受到更好的保护,即使空间遮蔽域降低,也可以保护隐私。图6示出了根据本文描述的至少一些实施例的可以用于实现针对位置隐私保护的虚拟信息的通用计算设备600。在非常基本的配置602中,计算设备600典型地包括一个或多个处理器604以及系统存储器606。存储总线608可以用于在处理器604与系统存储器606之间通信。根据上述配置,处理器604可以是任何类型的,包括但不限于微处理器(μ P)、微控制器(μ C)、数字信号处理器(DSP)或其任意组合。处理器804可以包括一级或多级高速缓存,如,高速缓存存储器612、处理器核芯614和寄存器616。示例处理器核心614可以包括算数逻辑单元(ALU)、浮点运算单元(FPU)、数字信号处理核心(DSP核心)或其任意组合。示例存储器控制器618也可以与处理器604 —起使用,或者在一些实现方式中存储器控制器618可以是处理器604的内部部件。根据期望的配置,系统存储器606可以是任何类型的,包括但不限于易失性存储器(如,RAM)、非易失性存储器(如,ROM、闪存等)或其任意组合。系统存储器606可以包括操作系统620、通信应用622和程序数据624。通信应用622可以包括定位模块626,定位模块626被布置为确定计算设备600的实际位置、产生一个或更多个虚拟位置数据并管理虚拟位置数据和实际位置数据向一个或更多个LBS提供商的发送,以及上文讨论的其他任何过程、方法以及功能。如以上结合图1至图5讨论的,程序数据624可以包括一个或更多个位置数据628以及类似数据。如本文描述的,该数据可以用于产生虚拟位置数据并提供实际位置数据以及虚拟位置数据以保护位置隐私。在一些实施例中,通信应用622可以被布置为如本文所述与程序数据624—起操作在操作系统620上。图6中利用内部虚线中的组件示出了上述基本配置602。计算设备600可以具有附加特征或功能以及附加界面,以便于在基本配置602与任何所需设备和接口之间的通信。例如,可以使用总线/接口控制器630以便于在基本配置602与一个或多个数据存储设备632之间经由存储接口总线634进行通信。数据存储设备632可以是可移除存储设备636、不可移除存储设备638或其组合。可移除存储设备和不可移除存储设备的示例包括:磁盘设备,如,软盘驱动器和硬盘驱动器(HDD);光盘驱动器,如,紧致盘(CD)驱动器或数字多功能光盘(DVD)驱动器;固态驱动器(SSD);以及磁带驱动器等。示例计算机存储介质可以包括以任何方法或技术实现的易失性和非易失性、可移除和不可移除的介质以用于存储信息,如,计算机可读指令、数据结构、程序模块或其他数据。系统存储器606、可移除存储设备636、不可移除存储设备638是计算机存储介质的示例。计算机存储介质包括但不限于RAM、R0M、EEPR0M、闪存或其他存储技术、CD-ROM、数字通用盘(DVD)或其他光学存储装置、磁盒、磁带、磁盘存储装置或其他磁性存储设备或者可以用于存储所需信息并且可以被计算设备600访问的任何其他介质。任何这样的计算机存储介质都可以是计算设备600的一部分。计算设备600还可以包括接口总线640,所述接口总线640用于促进从各种接口设备(例如,输出设备642、外围接口 644和通信设备666)经由总线/接口控制器630至基本配置602的通信。示例输出设备642包括:图形处理单元648和音频处理单元650,可以配置为经由一个或多个AV端口 652与诸如显示器或扬声器之类的各种外围设备通信。示例外围接口 644包括:串行接口控制器654和并行接口控制器656,配置为经由一个或多个I/O端口 658与诸如输入设备(例如,键盘、鼠标、笔、语音输入设备、触摸输入设备等)之类的外部设备或其他外围设备(例如,打印机、扫描仪等)通信。示例通信设备666包括:网络控制器660,可以布置为促进经由一个或多个通信端口 664在网络通信链路上与一个或多个其他计算设备662通信。网络通信链路可以是通信介质的一个示例。通信介质可以典型地体现为计算机可读指令、数据结构、程序模块或调制数据信号中的其他数据,如,载波或其他传输介质,并且通信介质可以包括任何信息传递介质。“调制数据信号”可以是以下这样的信号:该信号的特性中的一个或多个被设置或改变为使得将信息编码在信号中。例如而非限制性的,通信介质可以包括诸如有线网络或直接有线连接等有线介质以及诸如声学、射频(RF)、微波、红外(IR)和其他无线介质等无线网络。本文使用的术语计算机可读介质可以包括存储介质和通信介质两者。计算设备600可以实现为物理服务器、虚拟服务器、计算云或包括上述功能的混合设备的一部分。计算设备600还可以实现为包括膝上型计算机配置和非膝上型计算机配置两者的个人计算机。此外,计算设备800可以实现为联网系统或者实现为通用或专用服务器的一部分。包括计算设备600的联网系统的网络可以包括服务器、客户端、交换机、路由器、调制解调器、互联网服务提供商以及任意适当通信介质(例如,有线通信或无线通信)的任何拓扑。根据一些实施例的系统可以具有静态或动态网络拓扑。网络可以包括诸如企业网(例如,LAN、WAN或WLAN)之类的安全网络、诸如无线开放网络(例如,IEEE802.11无线网络)之类的非安全网络或者全球网络(例如,互联网)。网络还可以包括适于一起工作的多个不同网络。这样的网络被配置为在本文描述的节点之间提供通信。例如而非限制性的,这些网络可以包括无线介质,如,声音、RF、红外和其他无线介质。此外,网络可以是同一网络或分立网络的一部分。图7示出了根据本文描述的至少一些实施例布置的可以用于实现针对位置隐私保护的虚拟信息的专用处理器。图示700中的处理器790可以是与负责确定移动设备的位置并通过有线或无线网络与LBS提供商通信的一个或多个模块通信耦合的移动设备的一部分。处理器790可以包括多个模块,如,配置为通过一个或多个网络710-2与一个或多个LBS提供商780通信以发送位置数据(实际和虚拟)并继而接收LBS有关数据的通信模块796。匿名产生模块798可以产生匿名数据,该数据虚拟位置信息可以被创建并连同实际位置数据一起发送至LBS提供商780,以保护移动设备的用户的隐私。存储器791可以被配置为存储用于处理器790的控制模块的指令,处理器790可以实现为硬件、软件或者硬件与软件的组合。数据中的一些可以包括但不限于位置数据792、用户偏好794或类似信息。处理器790可以被配置为通过电耦合或通过联网通信(例如,一个或多个网络710-1)与其他计算设备(例如,一个或更多个位置数据源770和/或诸如存储设施760之类的数据存储装置)通信。示例实施例还可以包括方法。可以以多种方式实现这些方法,包括本文描述的结构。一种方式是通过本公开描述的类型的设备的机器操作。另一种可选方式是,结合操作人员来执行方法的各个操作中的一个或多个操作,其中一些操作由一个或更多个操作人员来执行,而其他操作由机器来执行。这些操作人员不需要彼此处于相同位置,而是可以每个人仅需要具有执行程序的一部分的机器。在其他示例中,例如可以通过预先选择机器自动化的标准来使人交互自动化。
图8是示出了根据本文描述的至少一些实施例的采用虚拟信息来保护位置隐私的示例方法的流程图,该方法可以由如图6的计算设备600之类的计算设备或者如图7的处理器790之类的专用处理器来执行。方框822至832描述的操作可以作为计算机可执行指令存储在计算机可读介质820中,并由控制器设备810来执行,控制器设备810可以是图6中的计算设备600、图7的专用处理器790或类似设备。采用虚拟信息来保护位置隐私的过程可以开始于操作822,“连接至LBS提供商”。在操作822,诸如图1中的移动设备120之类的移动设备可以与LBS提供商和其他位置数据源(例如GPS提供商)通信,以确定移动设备的位置。操作822之后可以是操作824,“接收/产生子码”。在操作824,索引码(也被称为子码)可以在用户和LBS提供商之间预先确定、由LBS提供商产生并与用户预先共享、或由与LBS提供商相连的计算设备产生并发送至LBS提供商。子码可以在当移动设备第一次连接到服务提供商时在初始化过程中产生,类似于密码。操作824之后可以是可选的操作826,“确定用户是否在移动”。在可选的操作826中,移动设备可以基于改变的实际位置数据来确定用户正在移动。即使假位置数据集合连同实际位置数据一同发送,可以根据移动路径来确定用户的轨迹(从而确定估计的位置)。因此,在操作826之后的可选的操作828处,“如果用户在移动,产生虚拟轨迹”,可以产生伪装用户的实际运动路径的虚拟轨迹。可选的操作828之后可以是操作830,“提交实际位置和基于BW和/或功率的虚拟位置的最大数目的子组”。在操作830处,可以基于在操作824处接收/产生的子码来选择虚拟位置数据集合的子组,并连同实际位置数据一起发送至LBS提供商。可以确定要发送的虚拟位置数据集合的数目,以基于带宽可用性和/或移动设备处的功率可用性来选择虚拟位置的最大数目。操作830之后可以是操作832,“接收针对实际和虚拟位置的LBS”。在操作832处,可以基于所发送的位置来接收LBS数据。随后,移动设备可以滤除针对虚拟位置的LBS数据,并向用户呈现针对实际位置的可用LBS。上述过程中包含的操作用于说明的目的。可以通过类似的过程以更少或额外的操作来实现针对位置隐私的虚拟信息的发送。在一些实例中,可以按照不同顺序来执行操作。在一些其他示例中,可以消除各种操作。在一些其他示例中,各个操作可以分成附加的操作或者组合在一起成为更少的操作。图9示出了根据本文描述的至少一些实施例布置的示例计算机程序产品900的框图。在一些示例中,如图9所示,计算机程序产品900可以包括信号承载介质902,信号承载介质902还可以包括机器可读指令904,所述机器可读指令904在由例如处理器来执行时,可以提供以上参考图6或图7描述的功能。因此,例如,关于计算设备600,定位模块626可以响应于信号承载介质902传送至处理器604的指令904来执行图9所示任务中的一个或多个,以执行如本文所述与发送针对位置隐私的虚拟信息相关联的动作。这些指令中的一些可以与以下操作相关联:产生子码、产生虚拟位置数据的组以及提交实际位置信息和基于可用带宽和/或接收LBS的移动设备处的功率而从产生的组中选择的虚拟位置数据的子组。在一些实现方式中,图9所示的信号承载介质902可以包括计算机可读介质906,例如但不限于硬盘驱动器、紧致盘(CD)、数字通用盘(DVD)、数字磁带、存储器等。在一些实现方式中,信号承载介质902可以包括可记录介质908,例如但不限于存储器、读/写(R/W)⑶、R/WDVD等等。在一些实现方式中,信号承载介质902可以包括通信介质910,例如但不限于数字和/或模拟通信介质(例如,光纤光缆、波导、有线通信链路、无线通信链路等等)。因此,例如,可以通过RF信号承载介质将程序产品900传送至处理器790的一个或多个模块,其中,可以通过无线通信介质910(例如,符合IEEE802.11标准的无线通信介质)来传送信号承载介质902。本公开描述了一种在使用基于位置的服务时通过采用虚拟信息来保护位置隐私的方法。该方法可以包括:与基于位置的服务(LBS)提供商相连,以及向LBS提供商提交用户的实际位置以及第一子组虚拟位置。所述第一子组可以基于一个或更多个约束从虚拟位置的整个组中选择,所述一个或更多个约束包括:可用带宽、与LBS提供商相连的计算设备的功耗、和/或LBS提供商的服务要求。该方法还可以包括从LBS提供商接收与第二子组虚拟位置以及用户的实际位置相关联的基于位置的服务数据,其中所述第二子组是所述第一子组的子集。根据一些示例,虚拟位置的整个组可以表示在不考虑任何约束的情况下LBS提供商所允许的最大数目的虚拟位置,第一子组虚拟位置可以表示基于所述一个或更多个约束而允许由用户提交的最大数目的虚拟位置,以及第二组虚拟位置可以表示从LBS提供商接收LBS信息的位置。可以使用子码来选择第二子组虚拟位置,所述子码表示用户的实际位置与所述第二子组虚拟位置之间的索引。子码可以在用户和LBS提供商之间预先确定、由LBS提供商产生并与用户预先共享、或由与LBS提供商相连的计算设备产生并向LBS提供商发送。根据其他示例,第一子组虚拟位置可以基于所允许数目的虚拟位置从虚拟位置的整个组中随机选择。可以对用户的实际位置和第一子组虚拟位置进行加密以向LBS提供商发送。此外,可以基于N < min(B/Qn,T/Pn)-l,针对要提交给LBS提供商的第一子组选择虚拟位置的个数N,其中B表示针对与LBS提供商相连的计算设备的可用带宽,Qn表示LBS提供商要针对每一个位置发送的位置服务数据的平均数量,T表示针对所述计算设备的最大可允许功率使用,以及Pn表示用于接收Qn的功率使用率。可以以预定周期性间隔和随机间隔之一向LBS提供商发送第一子组虚拟位置。此夕卜,可以使用户能够通过调整发送的频率来设置隐私保护等级。根据其他示例,该方法还可以包括:当计算设备的位置确定服务无效和/或并未向LBS提供商查询时,向LBS提供商发送用户的实际位置信息和第一子组虚拟位置。虚拟位置信息可以包括虚构位置信息和/或过往实际位置信息中的至少一项。该方法还可以包括:当确定用户正在移动时,产生虚拟位置的轨迹;以及发送沿着所产生的轨迹的虚拟位置,使得用户的移动被隐藏。本公开还提供了一种在使用基于位置的服务时通过采用虚拟信息来保护位置隐私的装置。该装置可以包括:存储器,被配置为存储指令;以及处理器,与所述存储器耦合并且被适配为执行所述指令。当所述指令被执行时,它们可以使所述处理器与基于位置的服务(LBS)提供商相连并且向LBS提供商提交用户的实际位置以及第一子组虚拟位置。所述第一子组可以基于一个或更多个约束从虚拟位置的整个组中选择,所述一个或更多个约束包括:可用带宽、该装置的功耗、和/或LBS提供商的服务要求。所述处理器还可以从LBS提供商接收与第二子组虚拟位置以及用户的实际位置相关联的基于位置的服务数据,其中所述第二子组是所述第一子组的子集。根据一些示例,虚拟位置的整个组可以表示在不考虑任何约束的情况下LBS提供商所允许的最大数目的虚拟位置,第一子组虚拟位置可以表示基于所述一个或更多个约束而允许由用户提交的最大数目的虚拟位置,以及第二组虚拟位置可以表示从LBS提供商接收LBS信息的位置。处理器可以使用子码来选择第二子组虚拟位置,所述子码表示用户的实际位置与所述第二子组虚拟位置之间的索引。子码可以是在用户和LBS提供商之间预先确定的、由LBS提供商产生并与用户预先共享、或由与LBS提供商相连的计算设备产生并向LBS提供商发送。根据其他示例,处理器可以基于所允许数目的虚拟位置从虚拟位置的整个组中随机选择第一子组虚拟位置。处理器可以对用户的实际位置和所述第一子组虚拟位置进行加密以向LBS提供商发送。此外,可以基于N ( min (B/Qn, T/Pn)-1,针对要提交给LBS提供商的第一子组选择虚拟位置的个数N,其中B表示针对与LBS提供商相连的计算设备的可用带宽,Qn表示LBS提供商要针对每一个位置发送的位置服务数据的平均数量,T表示针对所述计算设备的最大可允许功率使用,以及Pn表示用于接收Qn的功率使用率。处理器可以以预定周期性间隔和随机间隔之一向LBS提供商发送第一子组虚拟位置。此外,可以使用户能够通过调整发送的频率来设置隐私保护等级。根据其他示例,处理器还可以被配置为:当计算设备的位置确定服务无效时和/或并未向LBS提供商查询时,向LBS提供商发送用户的实际位置信息和所述第一子组虚拟位置。虚拟位置信息可以包括虚构位置信息和/或过往实际位置信息中的至少一项。处理器还可以被配置为:当确定用户正在移动时,产生虚拟位置的轨迹;以及发送沿着所产生的轨迹的虚拟位置,使得用户的移动被隐藏。本公开还描述了一种其上存储有指令的计算机可读存储介质,用于一种在使用基于位置的服务时通过采用虚拟信息来保护位置隐私的方法。该方法可以包括与基于位置的服务(LBS)提供商相连以及向LBS提供商提交用户的实际位置以及第一子组虚拟位置。所述第一子组可以基于一个或更多个约束从虚拟位置的整个组中选择,所述一个或更多个约束包括:可用带宽、与LBS提供商相连的计算设备的功耗、和/或LBS提供商的服务要求。该方法还可以包括从LBS提供商接收与第二子组虚拟位置以及用户的实际位置相关联的基于位置的服务数据,其中所述第二子组是所述第一子组的子集。根据一些示例,虚拟位置的整个组可以表示在不考虑任何约束的情况下LBS提供商所允许的最大数目的虚拟位置,第一子组虚拟位置可以表示基于所述一个或更多个约束允许由用户提交的最大数目的虚拟位置,以及第二组虚拟位置可以表示从LBS提供商接收LBS信息的位置。可以使用子码来选择第二子组虚拟位置,所述子码表示用户的实际位置与所述第二子组虚拟位置之间的索引,以及所述子码可以在用户和LBS提供商之间预先确定、由LBS提供商产生并与用户预先共享、和/或由与LBS提供商相连的计算设备产生并向LBS提供商发送。第一子组虚拟位置可以基于所允许数目的虚拟位置从虚拟位置的整个组中随机选择。该方法还可以包括:基于N<min(B/Qn,T/Pn)-l,针对要提交给LBS提供商的第一子组选择虚拟位置的个数N,其中B表示针对与LBS提供商相连的计算设备的可用带宽,Qn表示LBS提供商要针对每一个位置发送的位置服务数据的平均数量,T表示针对所述计算设备的最大可允许功率使用,以及Pn表示用于接收Qn的功率使用率。根据其他示例,该方法还可以包括:以预定周期性间隔或随机间隔向LBS提供商发送所述第一子组虚拟位置,并且当所述计算设备的位置确定服务无效时,向LBS提供商发送用户的实际位置信息和所述第一子组虚拟位置。本公开还描述了一种通过采用虚拟信息连同基于位置的服务来实现位置隐私的保护的方法。该方法可以包括向基于位置的服务(LBS)提供商注册用户以及在LBS提供商处接收用户的实际位置以及第一子组虚拟位置。所述第一子组可以基于一个或更多个约束从虚拟位置的整个组中选择,所述一个或更多个约束包括:可用带宽、与LBS提供商相连的计算设备的功耗、和/或LBS提供商的服务要求。可以将与第二子组虚拟位置以及用户的实际位置相关联的LBS数据提供给与LBS提供商相连的计算设备,其中所述第二子组是所述第一子组的子集。虚拟位置的整个组可以表示在不考虑任何约束的情况下LBS提供商所允许的最大数目的虚拟位置,第一子组虚拟位置可以表示基于所述一个或更多个约束允许从用户接收的最大数目的虚拟位置,以及第二组虚拟位置可以表示LBS提供商发送LBS信息的位置。根据一些示例,可以使用子码来选择第二子组虚拟位置,所述子码表示用户的实际位置与所述第二子组虚拟位置之间的索引,所述子码可以在用户和LBS提供商之间预先确定、由LBS提供商产生并与用户预先共享、或由与LBS提供商相连的计算设备产生并向LBS提供商发送。第一子组虚拟位置可以基于所允许数目的虚拟位置从虚拟位置的整个组中随机选择。此外,可以基于N < min (B/Qn, T/Pn)-1,针对要提交给LBS提供商的第一子组选择虚拟位置的个数N,其中B表示针对与LBS提供商相连的计算设备的可用带宽,Qn表示LBS提供商要针对每一个位置发送的位置服务数据的平均数量,T表示针对所述计算设备的最大可允许功率使用,以及Pn表示用于接收Qn的功率使用率。根据一些示例的其他方法还可以包括:使所述计算设备以预定周期性间隔和随机间隔之一向LBS提供商发送所述第一子组虚拟位置,并且使用户能够通过调整发送的频率来设置隐私保护等级。当计算设备的位置确定服务无效时,可以实现向LBS提供商发送用户的实际位置信息和所述第一子组虚拟位置。此外,虚拟位置信息可以包括虚构位置信息和/或过往实际位置信息中的至少一项。根据其他示例,该方法还可以包括:当确定用户正在移动时,使所述计算设备能够产生虚拟位置的轨迹;以及实现沿着所产生的轨迹的虚拟位置的发送,使得用户的移动被隐藏。在系统方案的硬件和软件实现方式之间存在一些小差别;硬件或软件的使用一般(但并非总是,因为在特定情况下硬件和软件之间的选择可能变得很重要)是一种体现成本与效率之间权衡的设计选择。可以各种手段(例如,硬件、软件和/或固件)来实施这里所描述的工艺和/或系统和/或其他技术,并且优选的工艺将随着所述工艺和/或系统和/或其他技术所应用的环境而改变。例如,如果实现方确定速度和准确性是最重要的,则实现方可以选择主要为硬件和/或固件的手段;如果灵活性是最重要的,则实现方可以选择主要是软件的实施方式;或者,同样也是可选地,实现方可以选择硬件、软件和/或固件的特定组合。以上的详细描述通过使用方框图、流程图和/或示例,已经阐述了设备和/或工艺的众多实施例。在这种方框图、流程图和/或示例包含一个或多个功能和/或操作的情况下,本领域技术人员应理解,这种方框图、流程图或示例中的每一功能和/或操作可以通过各种硬件、软件、固件或实质上它们的任意组合来单独和/或共同实现。在一个实施例中,本公开所述主题的若干部分可以通过专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字信号处理器(DSP)、或其他集成格式来实现。然而,本领域技术人员应认识到,这里所公开的实施例的一些方面在整体上或部分地可以等同地实现在集成电路中,实现为在一台或多台计算机上运行的一个或多个计算机程序(例如,实现为在一台或多台计算机系统上运行的一个或多个程序),实现为在一个或多个处理器上运行的一个或多个程序(例如,实现为在一个或多个微处理器上运行的一个或多个程序),实现为固件,或者实质上实现为上述方式的任意组合,并且本领域技术人员根据本公开,将具备设计电路和/或写入软件和/或固件代码的能力。本公开不限于在本申请中描述的具体示例,这些具体示例意在说明不同方案。本领域技术人员清楚,不脱离本公开的精神和范围,可以做出许多修改和变型。本领域技术人员根据之前的描述,除了在此所列举的方法和装置之外,还可以想到本公开范围内功能上等价的其他方法和装置。这种修改和变型应落在所附权利要求的范围内。本公开应当仅由所附权利要求的术语及其等价描述的整个范围来限定。应当理解,本公开不限于具体方法、材料、配置,这些当然都是可以改变的。还应理解,这里所使用的术语仅用于描述具体示例的目的,而不应被认为是限制性的。此外,本领域技术人员将认识到,本公开所述主题的机制能够作为多种形式的程序产品进行分发,并且无论实际用来执行分发的信号承载介质的具体类型如何,本公开所述主题的示例性实施例均适用。信号承载介质的示例包括但不限于:可记录型介质,如软盘、硬盘驱动器、紧致盘(CD)、数字通用盘(DVD)、数字磁带、计算机存储器等;以及传输型等。本领域技术人员应认识到,上文详细描述了设备和/或工艺,此后使用工程实践来将所描述的设备和/或工艺集成到数据处理系统中是本领域的常用手段。也即,这里所述的设备和/或工艺的至少一部分可以通过合理数量的试验而被集成到数据处理系统中。本领域技术人员将认识到,典型的数据处理系统一般包括以下各项中的一项或多项:系统单元外壳;视频显示设备;存储器,如易失性和非易失性存储器;处理器,如微处理器和数字信号处理器;计算实体,如操作系统、驱动程序、图形用户接口、以及应用程序;一个或多个交互设备,如触摸板或屏幕;和/或控制系统,包括反馈环和控制模块(例如,调整位置确定或匿名信息产生参数)。典型的数据处理系统可以利用任意合适的商用部件(如数据计算/通信和/或网络计算/通信系统中常用的部件)予以实现。本公开所述的主题有时说明不同部件包含在不同的其他部件内或者不同部件与不同的其他部件相连。应当理解,这样描述的架构只是示例,事实上可以实现许多能够实现相同功能的其他架构。在概念上,有效地“关联”用以实现相同功能的部件的任意设置,从而实现所需功能。因此,这里组合实现具体功能的任意两个部件可以被视为彼此“关联”从而实现所需功能,而无论架构或中间部件如何。同样,任意两个如此关联的部件也可以看作是彼此“可操作地连接”或“可操作地耦合”以实现所需功能,且能够如此关联的任意两个部件也可以被视为彼此“能可操作地耦合”以实现所需功能。能可操作地耦合的具体示例包括但不限于物理上可配对和/或物理上交互的部件,和/或无线交互和/或可无线交互的部件,和/或逻辑交互和/或可逻辑交互的部件。至于本文中任何关于多数和/或单数术语的使用,本领域技术人员可以从多数形式转换为单数形式,和/或从单数形式转换为多数形式,以适合具体环境和应用。为清楚起见,在此明确声明单数形式/多数形式可互换。本领域技术人员应当理解,一般而言,所使用的术语,特别是所附权利要求中(例如,在所附权利要求的主体部分中)使用的术语,一般地应理解为“开放”术语(例如,术语“包括”应解释为“包括但不限于”,术语“具有”应解释为“至少具有”等)。本领域技术人员还应理解,如果意在所引入的权利要求中标明具体数目,则这种意图将在该权利要求中明确指出,而在没有这种明确标明的情况下,则不存在这种意图。例如,为帮助理解,所附权利要求可能使用了引导短语“至少一个”和“一个或多个”来引入权利要求中的特征。然而,这种短语的使用不应被解释为暗示着由不定冠词“一”或“一个”引入的权利要求特征将包含该特征的任意特定权利要求限制为仅包含一个该特征的实施例,即便是该权利要求既包括引导短语“一个或多个”或“至少一个”又包括不定冠词如“一”或“一个”(例如,“一”和/或“一个”应当被解释为意指“至少一个”或“一个或多个”);在使用定冠词来引入权利要求中的特征时,同样如此。另外,即使明确指出了所引入权利要求特征的具体数目,本领域技术人员应认识到,这种列举应解释为意指至少是所列数目(例如,不存在其他修饰语的短语“两个特征”意指至少两个该特征,或者两个或更多该特征)。另外,在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。在使用类似于“A、B或C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B或C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。本领域技术人员还应理解,实质上任意表示两个或更多可选项目的转折连词和/或短语,无论是在说明书、权利要求书还是附图中,都应被理解为给出了包括这些项目之一、这些项目任一方、或两个项目的可能性。例如,短语“A或B”应当被理解为包括“A”或“B”、或“A和B”的可能性。另外,在以马库什组描述本公开的特征或方案的情况下,本领域技术人员应认识至IJ,本公开由此也是以该马库什组中的任意单独成员或成员子组来描述的。本领域技术人员应当理解,出于任意和所有目的,例如为了提供书面说明,本文公开的所有范围也包含任意及全部可能的子范围及其子范围的组合。任意列出的范围可以被容易地看作充分描述且实现了将该范围至少进行二等分、三等分、四等分、五等分、十等分等。作为非限制性示例,在此所讨论的每一范围可以容易地分成下三分之一、中三分之一和上三分之一等。本领域技术人员应当理解,所有诸如“直至”、“至少”、“大于”、“小于”之类的语言包括所列数字,并且指代了随后可以如上所述被分成子范围的范围。最后,本领域技术人员应当理解,范围包括每一单独数字。因此,例如具有I 3个单元的组是指具有1、2或3个单元的组。类似地,具有I 5个单元的组是指具有1、2、3、4或5个单元的组,以此类推。尽管已经在此公开了多个方案和实施例,但是本领域技术人员应当明白其他方案和实施例。这里所公开的多个方案和实施例是出于说明性的目的,而不是限制性的,本公开的真实范围和精神由所附权利要求表征。
权利要求
1.一种在使用基于位置的服务时通过采用虚拟信息来保护位置隐私的方法,所述方法包括: 与基于位置的服务“ LBS ”提供商相连; 向所述LBS提供商提交用户的实际位置以及第一子组虚拟位置,其中,所述第一子组是基于一个或更多个约束从虚拟位置的整个组中选择的,所述一个或更多个约束包括:可用带宽、与所述LBS提供商相连的计算设备的功耗、和/或所述LBS提供商的服务要求;以及 从所述LBS提供商接收与第二子组虚拟位置以及所述用户的实际位置相关联的基于位置的服务数据,其中,所述第二子组是所述第一子组的子集。
2.根据权利要求1所述的方法,其中,所述虚拟位置的整个组表示在不考虑任何约束的情况下所述LBS提供商所允许的最大数目的虚拟位置,所述第一子组虚拟位置表示基于所述一个或更多个约束而允许由所述用户提交的最大数目的虚拟位置,以及所述第二组虚拟位置表示从所述LBS提供商接收LBS信息的位置。
3.根据权利要求2所述的方法,其中,使用子码来选择所述第二子组虚拟位置,所述子码表示所述用户的实际位置与所述第二子组虚拟位置之间的索引。
4.根据权利要求3所述的方法,其中,所述子码是在所述用户和所述LBS提供商之间预先确定的。
5.根据权利要求3所述的方法,其中,所述子码是由所述LBS提供商产生并与所述用户预先共享的。
6.根据权利 要求3所述的方法,其中,所述子码是由与所述LBS提供商相连的所述计算设备产生并向所述LBS提供商发送的。
7.根据权利要求3所述的方法,其中,所述第一子组虚拟位置是基于所允许数目的虚拟位置从虚拟位置的整个组中随机选择的。
8.根据权利要求1所述的方法,还包括: 对所述用户的实际位置和所述第一子组虚拟位置进行加密以向所述LBS提供商发送。
9.根据权利要求1所述的方法,还包括: 基于N < min(B/Qn,T/Pn)-1,针对要提交给所述LBS提供商的第一子组选择虚拟位置的个数N,其中B表示针对与所述LBS提供商相连的所述计算设备的可用带宽,Qn表示所述LBS提供商要针对每一个位置发送的位置服务数据的平均数量,T表示针对所述计算设备的最大可允许功率使用,以及Pn表示用于接收Qn的功率使用率。
10.根据权利要求1所述的方法,还包括: 以预定周期性间隔和随机间隔之一向所述LBS提供商发送所述第一子组虚拟位置。
11.根据权利要求10所述的方法,还包括: 使用户能够通过调整发送的频率来设置隐私保护等级。
12.根据权利要求10所述的方法,还包括: 当所述计算设备的位置确定服务无效时,向所述LBS提供商发送用户的实际位置信息和所述第一子组虚拟位置。
13.根据权利要求10所述的方法,还包括: 在并未向所述LBS提供商查询的情况下,向所述LBS提供商发送所述用户的实际位置和所述第一子组虚拟位置。
14.根据权利要求1所述的方法,其中,虚拟位置信息包括虚构位置信息和/或过往实际位置信息中的至少一项。
15.根据权利要求1所述的方法,还包括: 当确定用户正在移动时,产生虚拟位置的轨迹;以及 发送沿着所产生的轨迹的虚拟位置,使得用户的移动被隐藏。
16.一种在使用基于位置的服务时通过采用虚拟信息来保护位置隐私的装置,所述装置包括: 存储器,被配置为存储指令; 处理器,与所述存储器耦合,其中,所述处理器被适配为执行所述指令,当所述指令由所述处理器执行时,配置所述处理器: 与基于位置的服务“ LBS ”提供商相连; 向所述LBS提供商提交用户的实际位置以及第一子组虚拟位置,其中,所述第一子组是基于一个或更多个约束从虚拟位置的整个组中选择的,所述一个或更多个约束包括:可用带宽、所述装置的功耗、和/或所述LBS提供商的服务要求;以及 从所述LBS提供商接收与第二子组虚拟位置以及所述用户的实际位置相关联的基于位置的服务数据,其中,所述第二子组是所述第一子组的子集。
17.根据权利要求16所述的装置,其中,所述虚拟位置的整个组表示在不考虑任何约束的情况下所述LBS提供商所允许的最大数目的`虚拟位置,所述第一子组虚拟位置表示基于所述一个或更多个约束而允许由所述用户提交的最大数目的虚拟位置,以及所述第二组虚拟位置表示从所述LBS提供商接收LBS信息的位置。
18.根据权利要求17所述的装置,其中,使用子码来选择所述第二子组虚拟位置,所述子码表示所述用户的实际位置与所述第二子组虚拟位置之间的索引。
19.根据权利要求18所述的装置,其中,所述子码是在所述用户和所述LBS提供商之间预先确定的。
20.根据权利要求18所述的装置,其中,所述子码是由所述LBS提供商产生并与所述用户预先共享的。
21.根据权利要求18所述的装置,其中,所述子码是由所述装置产生并向所述LBS提供商发送的。
22.根据权利要求18所述的装置,其中,所述第一子组虚拟位置是基于所允许数目的虚拟位置从虚拟位置的整个组中随机选择的。
23.根据权利要求16所述的装置,其中,所述处理器还被配置为: 对所述用户的实际位置和所述第一子组虚拟位置进行加密以向所述LBS提供商发送。
24.根据权利要求16所述的装置,其中,所述处理器还被配置为: 基于N < min(B/Qn,T/Pn)-1,针对要提交给所述LBS提供商的第一子组选择虚拟位置的个数N,其中B表示针对所述装置的可用带宽,Qn表示所述LBS提供商要针对每一个位置发送的位置服务数据的平均数量,T表示针对所述装置的最大可允许功率使用,以及Pn表示用于接收Qn的功率使用率。
25.根据权利要求16所述的装置,其中,所述处理器还被配置为:以预定周期性间隔和随机间隔之一向所述LBS提供商发送所述第一子组虚拟位置。
26.根据权利要求25所述的装置,其中,所述处理器还被配置为: 使用户能够通过调整发送的频率来设置隐私保护等级。
27.根据权利要求25所述的装置,其中,所述处理器还被配置为: 当所述装置的位置确定服务无效时,向所述LBS提供商发送用户的实际位置信息和所述第一子组虚拟位置。
28.根据权利要求25所述的装置,其中,所述处理器还被配置为: 在并未向所述LBS提供商查询的情况下,向所述LBS提供商发送所述用户的实际位置和所述第一子组虚拟位置。
29.根据权利要求16所述的装置,其中,虚拟位置信息包括虚构位置信息和/或过往实际位置信息中的至少一项。
30.根据权利要求16所述的装置,其中,所述处理器还被配置为: 当确定用户正在移动时,产生虚拟位置的轨迹;以及 发送沿着所产生的轨迹的虚拟位置,使得用户的移动被隐藏。
31.一种其上存储有指令的计算机可读存储介质,用于一种在使用基于位置的服务时通过采用虚拟信息来保护位置隐私的方法,所述方法包括: 与基于位置的服务“ LBS ”提供商相连; 向所述LBS提供商提交用户的实际位置以及第一子组虚拟位置,其中,所述第一子组是基于一个或更多个约束从虚拟位置的整个组中选择的,所述一个或更多个约束包括:可用带宽、与所述LBS提供商相连的计算设备的功耗、和/或所述LBS提供商的服务要求;以及 从所述LBS提供商接收与第二子组虚拟位置以及所述用户的实际位置相关联的基于位置的服务数据,其中,所述第二子组是所述第一子组的子集。
32.根据权利要求31所述的计算机可读存储介质,其中,所述虚拟位置的整个组表示在不考虑任何约束的情况下所述LBS提供商所允许的最大数目的虚拟位置,所述第一子组虚拟位置表示基于所述一个或更多个约束而允许由所述用户提交的最大数目的虚拟位置,以及所述第二组虚拟位置表示从所述LBS提供商接收LBS信息的位置。
33.根据权利要求32所述的计算机可读存储介质,其中,使用子码来选择所述第二子组虚拟位置,所述子码表示所述用户的实际位置与所述第二子组虚拟位置之间的索引,以及所述子码是以下之一: 在所述用户和所述LBS提供商之间预先确定的; 由所述LBS提供商产生并与所述用户预先共享的;以及 由与所述LBS提供商相连的所述计算设备产生并向所述LBS提供商发送的。
34.根据权利要求33所述的计算机可读存储介质,其中,所述第一子组虚拟位置是基于所允许数目的虚拟位置从虚拟位置的整个组中随机选择的。
35.根据权利要求31所述的计算机可读存储介质,其中,所述方法还包括: 基于N < min(B/Qn,T/Pn)-1,针对要提交给所述LBS提供商的第一子组选择虚拟位置的个数N,其中B表示针对与所述LBS提供商相连的所述计算设备的可用带宽,Qn表示所述LBS提供商要针对每一个位置发送的位置服务数据的平均数量,T表示针对所述计算设备的最大可允许功率使用,以及Pn表示用于接收Qn的功率使用率。
36.根据权利要求31所述的计算机可读存储介质,其中,所述方法还包括: 以预定周期性间隔和随机间隔之一向所述LBS提供商发送所述第一子组虚拟位置。
37.根据权利要求36所述的计算机可读存储介质,其中,所述方法还包括: 当所述计算设备的位置确定服务无效时,向所述LBS提供商发送用户的实际位置信息和所述第一子组虚拟位置。
38.一种通过采用虚拟信息连同基于位置的服务来实现位置隐私的保护的方法,所述方法包括: 向基于位置的服务“LBS”提供商注册用户; 在所述LBS提供商处接收所述用户的实际位置以及第一子组虚拟位置,其中,所述第一子组是基于一个或更多个约束从虚拟位置的整个组中选择的,所述一个或更多个约束包括:可用带宽、与所述LBS提供商相连的计算设备的功耗、和/或所述LBS提供商的服务要求;以及 向与所述LBS提供商相连的所述计算设备提供与第二子组虚拟位置以及所述用户的实际位置相关联的LBS数据,其中,所述第二子组是所述第一子组的子集。
39.根据权利要求38所述的方法,其中,所述虚拟位置的整个组表示在不考虑任何约束的情况下所述LBS提供商所允许的最大数目的虚拟位置,所述第一子组虚拟位置表示基于所述一个或更多个约束而允许从所述用户接收的最大数目的虚拟位置,以及所述第二组虚拟位置表示所述LBS提供商发送LBS信息的位置。
40.根据权利要求39所述的方法,其中,使用子码来选择所述第二子组虚拟位置,所述子码表示所述用户的实际位置与所述第二子组虚拟位置之间的索引。
41.根据权利要求40所述的方法,其中,所述子码是以下之一: 在所述用户和所述LBS提供商之间预先确定的; 由所述LBS提供商产生并与所述用户预先共享的;以及 由与所述LBS提供商相连的所述计算设备产生并向所述LBS提供商发送的。
42.根据权利要求40所述的方法,其中,所述第一子组虚拟位置是基于所允许数目的虚拟位置从虚拟位置的整个组中随机选择的。
43.根据权利要求40所 述的方法,其中,基于N( min(B/Qn, T/Pn)-1,针对要提交给所述LBS提供商的第一子组选择虚拟位置的个数N,其中B表示针对与所述LBS提供商相连的所述计算设备的可用带宽,Qn表示所述LBS提供商要针对每一个位置发送的位置服务数据的平均数量,T表示针对所述计算设备的最大可允许功率使用,以及Pn表示用于接收Qn的功率使用率。
44.根据权利要求40所述的方法,还包括: 使所述计算设备以预定周期性间隔和随机间隔之一向所述LBS提供商发送所述第一子组虚拟位置。
45.根据权利要求44所述的方法,还包括: 使用户能够通过调整发送的频率来设置隐私保护等级。
46.根据权利要求44所述的方法,还包括: 当所述计算设备的位置确定服务无效时,实现向所述LBS提供商发送所述用户的实际位置信息和所述第一子组虚拟位置。
47.根据权利要求40所述的方法,其中,虚拟位置信息包括虚构位置信息和/或过往实际位置信息中的至少一项。
48.根据权利要求40所述的方法,还包括: 当确定用户正在移动时,使所述计算设备能够产生虚拟位置的轨迹;以及 实现沿着所产生的轨迹 的虚拟位置的发送,使得用户的移动被隐藏。
全文摘要
大体上描述了用于位置隐私保护的技术。在一些示例中,通过基于要接收的预计LBS数据与带宽可用性的比较以及移动设备上发送信息的预计功率使用率和移动设备的可用功率的比较,确定要连同实际位置信息一起发送至LBS提供商的虚拟位置信息集合的最大数目,来提供位置隐私保护。可以产生虚拟信息,使得现实轨迹的获取不会使入侵者检测到当用户移动时的用户的实际路径。
文档编号G01S19/39GK103210320SQ201080070100
公开日2013年7月17日 申请日期2010年12月21日 优先权日2010年12月21日
发明者金承一 申请人:英派尔科技开发有限公司