CN104583800B - 位置历史过滤 - Google Patents
位置历史过滤 Download PDFInfo
- Publication number
- CN104583800B CN104583800B CN201380043985.XA CN201380043985A CN104583800B CN 104583800 B CN104583800 B CN 104583800B CN 201380043985 A CN201380043985 A CN 201380043985A CN 104583800 B CN104583800 B CN 104583800B
- Authority
- CN
- China
- Prior art keywords
- mobile computing
- location pointer
- computing device
- time period
- location
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S5/00—Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
- G01S5/0009—Transmission of position information to remote stations
- G01S5/0018—Transmission from mobile station to base station
- G01S5/0027—Transmission from mobile station to base station of actual mobile position, i.e. position determined on mobile
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/02—Services making use of location information
- H04W4/023—Services making use of location information using mutual or relative location information between multiple location based services [LBS] targets or of distance thresholds
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/02—Services making use of location information
- H04W4/025—Services making use of location information using location based information parameters
- H04W4/027—Services making use of location information using location based information parameters using movement velocity, acceleration information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/02—Services making use of location information
- H04W4/029—Location-based management or tracking services
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Telephonic Communication Services (AREA)
- Mobile Radio Communication Systems (AREA)
- Automation & Control Theory (AREA)
Abstract
一般地,描述了用于过滤从多个计算设备接收到的位置信息的技术、设备以及系统。在一个示例中,一种方法包括从第一移动计算设备接收第一多个位置指示符并从第二移动计算设备接收第二多个位置指示符,其中,所述第一和第二移动计算设备两者都与单个用户相关联,并且所述第一和第二多个位置指示符表示相应第一和第二移动计算设备中的每一个已位于的地理位置。该方法可还包括针对一时间段确定位置指示符的子集,包括在该子集中的所有位置指示符与在该时间段期间随用户一起移动的第一移动计算设备或第二移动计算设备中的一个相关联,以及输出与位置指示符的子集相关的信息。
Description
背景技术
用户可经由用户接口与在计算设备(例如移动电话、平板计算机、智能电话)上执行的应用交互。例如,用户可与计算设备的用户接口交互以安装、查看或删除存储于计算设备的存储器处的应用。在有些情况下,用户可使用移动设备(例如移动电话、平板计算机、智能电话)来与其他设备或系统进行通信。例如,用户可与移动设备的用户接口交互以从移动设备向远程计算设备发送信息(例如,由移动设备生成的数据或来自用户的对于特定信息的请求)。移动设备还可通过网络从远程计算设备(例如网络服务器)接收信息。
在某些示例中,移动设备可生成关于移动设备的位置的信息。此位置信息可被移动计算设备使用全球定位系统(GPS)卫星或者使用例如蜂窝网络塔或其他网络接入点根据三角测量来获得。该位置信息可用来在交互式地图中对移动设备进行定位或者为用户所使用的移动设备的一个或多个服务识别移动设备的位置。
发明内容
在一个示例中,一种包括在计算设备处从第一移动计算设备接收第一多个位置指示符并从第二移动计算设备接收第二多个位置指示符,其中,所述第一和第二计算设备两者都与单个用户相关联,并且所述第一和第二多个位置指示符表示相应第一和第二移动计算设备中的每一个已位于的地理位置;由计算设备针对一时间段确定第一和第二多个位置指示符的子集,包括在该子集中的所有位置指示符与在该时间段期间随用户一起移动的第一移动计算设备或第二移动计算设备中的一个相关联;以及由计算设备输出与用于该时间段的位置指示符的子集相关的信息。
在另一示例中,一种计算设备包括一个或多个处理器和位置历史模块,其可被一个或多个处理器操作以:从第一移动计算设备接收第一多个位置指示符并从第二移动计算设备接收第二多个位置指示符,其中,所述第一和第二移动计算设备两者都与用户相关联,并且所述第一和第二多个位置指示符表示相应移动计算设备中的每一个已位于的地理位置;针对第一时间段确定所述第一和第二多个位置指示符的第一子集,包括在第一子集中的所有位置指示符与在该第一时间段期间随用户一起移动的第一移动计算设备或第二移动计算设备中的一个相关联;针对不同于第一时间段的第二时间段确定所述第一和第二多个位置指示符的第二子集,包括在第二子集中的所有位置指示符与在第二时间段期间随用户一起移动的第一移动计算设备或第二移动计算设备中的一个相关联;以及输出与用于相应第一和第二时间段的位置指示符的第一和第二子集相关的信息。
在另一示例中,一种编码有指令的计算机可读存储介质,该指令促使移动计算设备的一个或多个处理器从第一移动计算设备接收第一多个位置指示符并从第二移动计算设备接收第二多个位置指示符,其中,所述第一和第二移动计算设备与用户相关联,并且所述第一和第二1个位置指示符表示相应移动计算设备中的每一个已位于的地理位置;针对一时间段确定所述第一和第二多个位置指示符的第一子集,包括在该子集中的所有位置指示符与在该时间段期间随用户一起移动的第一移动计算设备或第二移动计算设备中的一个相关联;丢弃与位置指示符的第一子集不同的所述第一和第二多个位置指示符的第二子集,其中,位置指示符的第二子集与在该时间段期间没有随用户一起移动的第一移动计算设备或第二移动计算设备中的一个相关联;以及输出与用于所述时间段的位置指示符的第一子集相关的信息。
在以下附图和描述中阐述了一个或多个示例的细节。根据描述和附图以及根据权利要求,其他特征、目的和优点将是显而易见的。
附图说明
图1是图示出根据本公开的一个或多个方面的包括每个被配置为发送位置指示符的多个计算设备和被配置成基于该指示符来确定哪个计算设备随用户一起移动的服务器的示例性系统的概念图。
图2是图示出图1中所示的计算设备的一个示例的部件的框图。
图3是图示出图1中所示的服务器的一个示例的部件的框图。
图4是在相应计算设备的位置指示符之间计算的示例性距离和每个时间段的图。
图5是图示出可被服务器执行来在一时间段内确定来自多个计算设备的哪些位置指示符表示用户的移动的示例性过程的流程图。
具体实施方式
一般地,描述了用于过滤从多个计算设备接收到的位置信息的技术和系统。计算设备可采取许多不同形式,诸如移动计算设备(例如,蜂窝电话、智能电话、智能手表、平板计算机、笔记本计算机以及导航设备)或更固定的工作站。在某些情况下,单个用户可拥有或使用多个不同的计算设备。例如,单个用户可使用两个不同移动设备(例如,一个或多个智能电话、智能手表、平板计算机、膝上型计算机和/或其他移动计算设备)。这些移动计算设备中的每一个可与该用户相关联。
与一用户相关联的各移动计算设备中的每一个可在各种时间生成和/或发送位置指示符,每个表示各移动计算设备的当前位置。这些位置指示符可通过网络被发送到一个或多个服务器设备并被驻留于其上的一个或多个应用或过程用来生成和/或向用户提供关于这些位置的信息。在一个示例中,提供给用户且基于位置指示符的信息可包括关于用户已访问的历史位置或目的地的信息。在另一示例中,提供给用户的信息可基于位置指示符并包括与用户可能期望在将来访问的位置相关的信息或建议(例如,即将发生的事件或即将到期的优惠券)。以这种方式,联网服务器可基于用户在过去已旅行和/或在物理上位于的位置而生成并发送信息以供用户消费。在其他示例中,服务器可基于移动设备中的一个或多个的当前或过去位置向移动设备中的一个或多个生成并发送一个或多个通知。此类通知可以例如包括和/或提供与位置相关的优惠卷或事件信息。
然而,在给定时间段内从位于远离用户处的一个或多个移动计算设备接收到的位置指示符可能不准确地指示该时间段期间的用户位置。换言之,如果考虑来自用户的一个或多个此类移动计算设备的位置指示符,则一个或多个服务器可能不适当地定义在同一给定时间的用户的多个位置。因此,由于在某些情况下用户可能没有同时携带或当前正在携带他/她的所有移动计算设备(例如,用户可携带智能电话,而平板计算机留在家中),所以服务器可能不能基于多个位置指示符而准确地确定在给定时间段期间用户的实际位置。换言之,所述一个或多个服务器在该时间段期间可能不能将从正被用户携带的移动计算设备接收到的位置指示符与从没有被用户携带的移动计算设备接收到的位置指示符区别开。因此,从与一用户相关联的多个移动计算设备接收到的位置指示符在没有进一步分析的情况下在准确地确定在给定时间用户位置方面具有最小的实用性。
在各种情况下,本公开的技术可使得计算设备(例如,移动计算设备或联网服务器)能够从给定时间段期间不表示用户位置的位置指示符确定或过滤该给定时间段期间的表示用户位置的位置指示符。换言之,可将计算设备配置成将在给定时间段期间从由用户携带的移动计算设备接收到的位置标识符与来自未被用户携带的移动计算设备的那些区别开。例如,可以将一个或多个服务器配置成分析接收到的位置指示符以确定哪些位置指示符或位置指示符的集合指示移动计算设备的随时间推移的移动。可将与位置指示符之间的更大移动或距离相关联的那些位置指示符确定为表示该给定时间段期间的用户位置。由于由用户携带的计算设备可能将行进得比未被用户携带的计算设备(例如,被留在家中或办公室处的设备)更远,所以可选择指示给定时间段内的较大距离的移动的位置标识符以供将来使用和/或用来识别在该时间段期间计算设备中的哪些被用户携带。
在一个示例中,服务器可经由网络从多个计算设备接收位置指示符。该服务器可基于与每个位置指示符相关联的设备标识符将位置指示符分离成单独位置流。换言之,每个位置流可仅包括来自单个计算设备的位置指示符。在过滤位置指示符以去除至少某些移动伪像之后,服务器可将来自每个位置流的位置指示符分发到预定时间段。针对每个时间段和位置流,服务器然后可计算连续位置指示符之间的总距离。在某些实施方式中,服务器然后可选择或确定具有最大总距离的位置流的位置指示符以表示用于该时间段的用户的位置。未选择的位置指示符然后可被服务器丢弃。可针对任何数目或持续时间的时间段重复此过程。
以这种方式,可将表示用于给定时间段的实际用户位置的位置指示符与其他位置指示符区别开。在某些示例中,可将来自远离用户的计算设备的位置指示符视为“噪音”指示符。本文所述的对位置指示符的分析可因此在任何数目的时间段期间将活动计算设备(例如,被用户携带和/或使用的计算设备)与空闲计算设备(例如,未被用户携带和/或使用的计算设备)区别开。在某些示例中,可使用所选位置指示符来识别哪个或哪些计算设备在给定时间段期间被用户携带。因此,在某些实施方式中,使用位置信息实现活动和空闲计算设备之间的区别,而不确定每个设备的处理使用、哪些应用正在被每个设备使用、哪些设备正在从用户接收输入或通常被认为指示计算设备使用的其他度量。
本文所述的位置历史过滤一般地可由位置历史模块和/或联网服务器的其他处理器执行。然而,在某些示例中,可将该过程的一个或多个方面分发到另一计算设备,诸如远程计算设备或者甚至由移动计算设备本身(例如,发送正在被服务器处理的位置标识符中的至少某些的移动计算设备)。虽然一般地将与单个用户相关联的计算设备描述为诸如智能电话或平板计算机之类的独立设备,但可替代地将计算设备集成到另一设备或系统中。例如,与用户相关联的计算设备可包括安装在汽车中的导航系统。以这种方式,在某些示例中,计算设备可以是集成的或另一系统的一部分。
图1是图示出示例性系统10的概念图,其包括每个被配置成发送位置指示符26A、26B和26C(共同地“位置指示符26”)的多个计算设备14A、14B和14C(共同地“计算设备14”)和被配置成基于该指示符而确定哪个计算设备随用户12一起移动的服务器22。如图1中所示,系统10包括计算设备14、网络20、网络服务器22以及储存库24。每个计算设备14可被用户12(单独地或一起)携带或与之相关联。
在某些示例中,计算设备14中的每一个是或者可以是便携式或移动计算设备(例如,移动电话、笔记本、或平板电脑设备)的一部分。在其他示例中,计算设备14可包括数字相机、音乐播放器、导航设备或用户可在不同位置之间携带或移动的任何其他计算设备或者是其一部分。虽然计算设备14中的每一个一般地可以是便携式或移动的,但计算设备14中的一个或多个可以是固定或者最低限度的便携式的。计算设备14还可连接到网络20(例如,有线或无线网络)。虽然网络20可以是单个网络,但网络20可表示允许计算设备14与网络服务器22通信的两个或更多网络。
计算设备14每个可包括用户接口(未示出),其包括一个或多个输入设备和/或输出设备,使得用户可以与计算设备14进行通信。在一个示例中,用户接口可以是触摸屏接口。在某些实施例中,用户接口可包括显示器和一个或多个按钮、垫、操纵杆、鼠标、触觉设备或能够将用户动作转变成控制计算设备14的电信号的任何其他设备。在任何示例中,用户可与用户接口相交互以在本文所述的过程之前或期间提供输入。用户12可在任何给定时间与计算设备14中的一个或多个交互。在某些示例中,用户12可在一天的一个部分期间携带计算设备14中的一个且在那天的不同部分期间携带计算设备14中的不同的一个。
计算设备14中的每一个还可包括网络接口(图2中所示)和促进与网络20的通信的其他硬件。如本文所述,可将计算设备14配置成将相应位置指示符26作为每个计算设备14(和可能用户12)随时间推移而访问的相应地理位置的表示而上传或发送。例如,虽然用户12可在一天期间携带计算设备14A,但计算设备14B和14C可在用户12的家中保持固定。位置指示符26中的每一个可表示经度和纬度坐标、诸如餐厅、商店、图书馆、工作地点、公园、娱乐设施、学校或用户12可能已访问的任何其他地点之类的目的地。
当计算设备14中的每一个被通电时,计算设备可生成和/或经由网络20向服务器22发送相应位置指示符26。这些位置指示符26可与相应计算设备14是否在移动无关地生成和/或发送。位置指示符26可由处于活动状态(例如,用户12正在与设备交互)或空闲状态(例如,用户12没有与设备交互但设备被通电)的计算设备生成和/或发送。计算设备14中的每个可在预定时间和/或随着位置改变而连续地生成和/或发送相应位置指示符26。服务器22因此可随时间推移而接收数百、数千或者甚至更多的位置指示符26。位置指示符26中的至少某些可被网络服务器22和储存库26保持或存储。在某些示例中,位置指示符26可在用户12登录到计算设备14的应用中或被列为计算设备14的用户时与用户12相关联。网络服务器22可保持用户12与计算设备14之间的关联。
计算设备14可使用一个或多个技术来生成位置指示符26。例如,计算设备14可使用全球定位系统(GPS)设备来获得相应计算设备14的经度和纬度坐标。在另一示例中,计算设备14可使用计算设备14连接到的一个或多个网络接入点(例如,无线塔或局域网接入设备)来得出其位置。在某些示例中,计算设备14可根据多个蜂窝塔对其近似位置进行三角测量。在另一示例中,计算设备14中的每一个可通过使用近距离通信或其他通信协议来识别其他计算设备而确定其相应自位置。在任何情况下,可针对相应计算设备14的用户已访问该处至少一个时间实例的相应位置而生成每个位置指示符26。计算设备14可使用这些或其他位置检测技术中的任何一个或组合来生成每个位置指示符26。
每个位置指示符26可包括表示在该处生成位置标识符的相应位置16的某些数据。例如,位置指示符26可包括来自已知位置的一个或多个GPS坐标、距离和方向和/或网络服务器22可得出其地标位置的已知地标。网络服务器22可将每个接收到的位置指示符26存储在储存库24中。网络服务器22可在将每个位置标识符存储在储存库24之前或之后将每个位置指示符26格式化成预定格式。网络服务器22然后可分析接收到的位置指示符26以识别位置指示符26中的哪些表示用户12位于的地理位置。网络服务器22还可识别计算设备14中的哪一个或多个与表示用户12的位置相关联的位置指示符26。
每个位置指示符26还可与设备标识符相关联或包括该设备标识符。设备标识符可以是识别计算设备14中发送相应位置指示符26的特定计算设备的代码或数据。在某些示例中,设备标识符可指示设备的类型(例如,制造商和型号)。在其他示例中,设备标识符可以是到每个计算设备14的唯一网络地址(例如,IP地址或媒体接入控制地址)。在其他示例中,设备标识符可以是将计算设备14中的每一个相互区别开的用户定义名称或标签。如本文所述,可使用设备标识符来将位置标识符分离成每个计算设备14所特定的不同位置流或位置指示符组(例如,位置指示符26A、26B和26C)。
网络服务器22可包括一个或多个台式计算机、主机、小型计算机或能够执行计算机指令和存储数据的其他计算设备。在其他示例中,网络服务器22甚至可包括可访问网络20和/或储存库24的移动计算设备。以这种方式,网络服务器22可包括或被描述为被配置成执行在本文中相对于服务器22所述的特征的任何计算设备。网络服务器22可包括使得网络服务器22能够接收位置指示符26并确定哪些位置指示符26表示用户12的位置的任何硬件和软件。储存库24可包括一个或多个存储器、储存库、硬盘或任何其他数据存储设备。在某些示例中,可在网络服务器22内包括储存库24。网络20可以是高速网络(例如,WiFi、WiMax、无线局域网、3G、4G等)或另一无线网络(例如,蜂窝式或其他数据网络)。在某些示例中,可将网络20体现为因特网、有线网或光纤网中的一个或多个。换言之,网络20可以是促进两个或更多设备之间的数据传输的一个或多个任何数据通信协议。
可将储存库24包括在或描述为云存储。换言之,位置指示符26和/或体现本文所述技术的指令可以存储在云中的一个或多个位置(例如,一个或多个储存库24)上。网络服务器22可访问云并检索或发送授权用户、诸如计算设备14所请求的数据。在某些示例中,储存库24可包括关系数据库管理系统(RDBMS)软件。在一个示例中,储存库24可以是关系数据库并使用在本领域中众所周知的结构化查询语言(SQL)接口来访问。替选地可以将储存库24存储在单独联网计算设备上并通过网络接口或系统总线而被网络服务器22访问。储存库24在其他示例中可以是对象数据库管理系统(ODBMS)、在线分析处理(OLAP)数据库或其他适当数据管理系统。
为了促进与网络和到媒体共享服务的接入点的连接,计算设备14可包括能够与各种设备进行通信的短程通信模块。示例性短程通信设备可包括蓝牙、WiFi、近场通信(NFC)或任何其他类似技术。每个计算设备14与另一设备(例如,围绕每个计算设备14的附近区域或包络)之间的最大距离可至少部分地由被用于检测的短程通信的类型确定。在某些情况下,最大距离可以在约一米与100米之间。在一个示例中,用于检测的最大距离可约为10米。
如本文所述,服务器22和/或另一计算设备(例如,计算设备14)可过滤来自与用户12相关联的多个设备的位置历史以确定哪些位置是典型实际用户位置。位置历史可包括随时间推移从多个计算设备14接收到的位置指示符26中的至少某些。虽然在图1中示出了三个计算设备14,但在其他示例中两个计算设备或四个或更多计算设备可与用户12相关联。由于用户12在任何给定时间可仅携带所选的一个或两个计算设备14,所以由服务器22经由网络20接收到的位置指示符26可随着不同的计算设备在近似相同的时间生成和/或发送表示不同位置的位置指示符26而分叉。因此,可对位置指示符26进行过滤和/或分析以确定哪些位置指示符26有可能表示用户的位置。服务器22和/或计算设备可使用位置历史模块或一个或多个处理器来执行本文所述技术。
在一个示例中,服务器22可接收来自计算设备14A的多个位置指示符26A、来自计算设备14B的多个位置指示符26B以及来自计算设备14C的多个位置指示符26C。计算设备14中的每一个可与用户12相关联,并且位置指示符26表示相应计算设备14中的每一个位于的地理位置。服务器22还可基于接收到的位置指示符26来确定与在一段时间期间随用户12移动的计算设备14中的一个相关联的位置指示符26的子集。例如,服务器22可被配置成基于相应计算设备14中的每一个的位置指示符所表示的地理位置之间的距离而确定与在该时间段期间随着用户12一起移动的计算设备14中的一个相关联的位置指示符26的子集。换言之,服务器22可使用针对该时间段的连续接收或按时间顺序排序的位置指示符之间的距离来确定与随用户12一起移动的计算设备14中的一个相关联的位置指示符的子集。服务器22可针对两个或更多附加时间段重复确定过程,诸如数百或者甚至数千个附加时间段。服务器22还可输出针对每个不同时间段确定的位置指示符26的子集。
如果计算设备被设备的服务提供商登记给用户12,用户登录到在计算设备上运行的一个或多个应用中或者用户另外使用计算设备,则计算设备可与用户12相关联。例如,服务器22可检测位置指示符26中的每一个应与那个用户相关联。服务器22可过滤用于多个不同用户的位置历史,因此服务器22可能需要能够按用户将接收到的位置指示符26分离。在任何情况下,每个计算设备14可基于存储在服务器22或储存库24中的来自用户的某些登记或登录而与用户相关联。
在某些示例中,服务器22的处理器或模块可向服务器22的另一处理器或模块输出所确定的位置指示符26的子集。以这种方式,服务器22可利用所确定的位置指示符来向用户12或另一实体提供基于位置的服务。例如,可使用表示或估计用户12的所确定的位置指示符来向用户12提供位置特定信息,诸如用户已旅行的历史位置、用户频繁出入的目的地或用户已采取的旅行路线。在另一示例中,服务器22可使用所确定的位置指示符来预测或建议用户12可能希望访问的地点、即将出现的事件、相关业务的优惠卷或者甚至基于先前位置的导航路线指引。另外,服务器22可使用所选的位置指示符来改善用于用户12的地图服务或可受益于与用户12已位于哪里有关的信息的任何其他服务或功能。换言之,服务器22和/或计算设备14可使用所选的位置指示符来生成或确定与位置指示符的所选子集相关的信息。可将服务器22配置成向与用户12相关联的任何移动计算设备输出相关信息。
确定来自被用户12携带或使用的哪个计算设备14的位置指示符可包括附加过程或步骤。例如,服务器22可将位置指示符26A、26B和26C中的每一个分离成用于相应计算设备14中的每一个的相应单独位置流。以这种方式,可将从每个计算设备14接收到的位置指示符分离成计算设备特定的位置流。每个位置指示符26可包括使得服务器22能够识别从哪个计算设备生成位置指示符的设备标识符或其他标签或代码。以这种方式,分离位置标识符26可包括按与每个接收到的位置指示符相关联的相应设备标识符来分离位置标识符。每个设备标识符可表示计算设备14中的一个。
服务器22还可从接收到的位置指示符26过滤位置噪声。在某些示例中,服务器22可从每个单独位置流过滤位置噪声。过滤位置噪声可涉及去除表示由于小区塔架再分配、大气条件和可变无线网络强度而引起的位置变化的位置指示符26中的那些。如本文所述,每个计算设备14可使用不同技术来生成位置指示符,并且某些技术可比其他的更加准确。另外,某些位置确定技术可涉及识别计算设备被分配到的蜂窝塔或其他网络接入点的位置。在某些时间,可将计算设备再分配或切换至另一附近小区塔或接入点,即使计算设备是固定的。此切换可称为抖动,并且可错误地表示事实上未发生移动时的计算设备移动。
可将服务器22配置成去除这些错误位置指示符并从位置信息过滤此噪声。例如,服务器22可搜索连续位置指示符序列P1至Pn,其中,P1和Pn在相互的小距离D内且具有在彼此的几分钟或几小时内的时间戳。此外,P1和Pn可具有高报告准确度。如果P2至Pn-1(例如,在P1与Pn之间的指示符)具有低报告准确度且与P1相比远离误差距离,则可将点P2至Pn-1识别为错误指示符并从保持或维持在位置流中的位置指示符去除。在其他示例中,位置噪声的过滤可涉及比较连续位置指示符之间的距离并识别何时距离大、快速地发生和/或振荡。可类似地使用在信号噪声过滤领域中常见的其他噪声过滤技术来去除不准确的位置指示符。
确定表示用户移动的位置指示符的子集还可包括附加步骤。例如,服务器22可针对每个时间段计算相应时间段期间的用于每个单独位置流的位置指示符的子集之间的总距离。所计算的总距离可表示相应计算设备14中的每一个在该时间段期间移动的距离。总距离可以是针对每个位置流的时间中的每个连续位置指示符之间的距离的和。换言之,总距离可以是针对给定时间段的位置指示符串所表示的地理路径的长度或距离。
服务器22然后可比较该时间段期间的每个位置流的总距离。可将具有在比较步骤中确定的最大总计算距离的位置流的位置指示符选作表示给时间段的用户12的位置的位置指示符的子集。一般地,可将移动的计算设备假设为被用户12携带或者是活动的,而可将不移动的计算设备假设为被用户12留下且是不活动或空闲的。因此,可将生成表示较大距离变化的位置指示符的计算设备假设为被用户12携带。
然而,在某些示例中,没有一个计算设备14可在一段时间期间根本不移动或仅移动最小距离。以这种方式,可从相邻的时间段推断被用户12携带的一个或多个计算设备。例如,服务器22可确定在该时间段期间的用于每个位置流的总距离是近似相等的。服务器22然后可识别计算设备14中的哪一个与针对紧接在讨论中的时间段前面的时间段所选择的位置指示符相关联。换言之,服务器22可检查在前一时间段期间哪个计算设备被确定为被用户12携带。服务器22然后可选择针对其中距离近似相等的时间段与所识别的计算设备相关联的位置指示符。在其他示例中,服务器22可注意后续时间段以确定哪个计算设备正在随用户一起移动并针对其中距离相等的时间段来选择来自该计算设备的位置指示符。换言之,如果将计算设备确定为在一个时间段中随用户一起移动,则服务器22可假设该计算设备正在与用户一起,即使所有计算设备都已生成近似相等距离的移动。
在其他示例中,服务器22可基于选自其中存在行进了较大总距离的位置流的先前或后续时间段的位置指示符来选择针对计算设备移动相等距离的一段时间的位置指示符。服务器22可使一个时间段中的所选位置指示符的位置与来自相邻时间段中的位置流的未选择位置指示符的位置匹配。服务器22可选择最接近于先前或随后选择的位置指示符的位置指示符。换言之,服务器22可尝试选择在相邻时间段的一个或多个位置指示符附近的位置指示符。此接近确定因此可保持用户12行进的可能连续性。
一旦服务器22确定了表示在每个时间段期间的用户移动的位置指示符,则服务器22可存储针对相应时间段所选择的位置指示符的子集。服务器22可将位置指示符存储在保持在储存库24中的数据库中。该数据库可包括用于包括相应位置指示符的每个时间段的条目和/或用于具有相应时间戳的每个位置指示符,该时间戳识别位置指示符被生成和/或被服务器22接收的时间。在某些示例中,服务器22还可识别与针对每个时间段选择的位置指示符的子集相关联的一个或多个计算设备。服务器22可输出针对该时间段表示所识别的计算设备的设备标识符。可将该设备标识符附着于每个位置标识符或者仅仅该时间段。服务器22还可将设备标识符与相应位置标识符一起存储在储存库24中。
用于每个时间段的设备标识符还可用来确定应向计算设备14中的哪个发送例如通知或其他信息。例如,服务器22可使关于即将出现的日历事件或其他信息的通知发送给用户12。作为向所有计算设备发送通知的替代,服务器22可使用设备标识符来选择应向计算设备中的哪一个发送通知。服务器22然后可向所选的一个或多个移动计算设备输出适当通知。
在某些示例中,服务器22可丢弃和/或删除未从每个时间段选择的任何位置指示符。以这种方式,服务器22可丢弃与被选作表示用户12的位置的子集不同的位置指示符的子集。因此可使丢弃的位置指示符子集与在相应时间段期间没有随用户12一起移动的一个或多个计算设备14相关联。丢弃未选择的位置指示符可防止这些指示符污染期望的指示符。可将丢弃的位置指示符从系统10删除。然而,在某些示例中,服务器22可将丢弃的位置指示符存储在储存库24中以供稍后分析。
在某些示例中,用于每个计算设备14的每个位置指示符的时间段可以是预选时间段。服务器22可存储指示一个或多个时间段可以多长的指令。较长的时间段可改善计算设备14中的哪个及其相应位置指示符26表示用于给时间段的用户位置的确定的准确度。然而,较长的时间段可能不能识别设备之间的短持续时间切换。较短的时间段可更多地对识别用户12切换设备的时间进行响应,但是来自每个计算设备的较少数目的位置指示符可降低短时段期间那个计算设备正在被用户12使用或携带的确定的准确度。选择针对响应度的短时段和针对选择中的准确度的长时段之间的平衡可取决于每个设备的和位置指示符生成和发送和/或使用模式的频率。
一般地,可将每个时间段选择成在约一分钟与一个星期之间。在更特定示例中,每个时间段可在约10分钟与24小时之间。在另一示例中,每个时段可为约1小时。虽然每个时间段具有相等的持续时间,但在某些示例中服务器22可改变该时间段。例如,服务器22可在用户12正在睡眠的时间增加该时间段,因为用户12不太可能使用计算设备或在设备之间进行切换。相反地,服务器22可减少用于白天时间的时间段,在其期间用户12可能更有可能在计算设备之间进行切换。以这种方式,可由于各种日间时、事件或用户模式而动态地改变时间段的持续时间。
本公开的各个方面可只有当用户已明确地启用此类功能时才可操作。例如,可在可发送位置指示符之前要求用户选择加入或启用任何功能。另外,本公开的各个方面可被用户禁用(例如,用户可在任何时间选择退出任何功能)。因此,用户可选择防止计算设备14中的一个或多个发送位置指示符26或与用户访问或用户旅行的位置相关的任何其他信息。另外,用户可防止计算设备14在没有确认的情况下发送用户的可识别信息。计算设备14可呈现请求用户选择发送任何或所有信息的一个或多个屏幕。以这种方式,用户可控制向服务器22发送什么信息(如果有的话)。更一般地,可基于用户的隐私偏好来对本公开的所有方面应用隐私控制以尊重用户选择加入或选择退出在本公开中描述的功能的隐私偏好。
图2是图示出图1中所示的计算设备14A的一个示例的部件的框图。图2图示出计算设备14A的仅一个特定示例,并且在其他情况下可使用计算设备14A的许多其他示例性实施例。例如,计算设备14A可包括附加部件并运行多个不同的应用。另外,计算设备14B和14C可包括与计算设备14A类似的部件。
如图2的特定示例中所示,计算设备14A包括一个或多个处理器30、存储器32、网络接口34、一个或多个存储设备36、用户接口38、电源40以及定位设备42。计算设备14A还包括操作系统44,其可包括可被处理器30和计算设备14A执行的模块和/或应用,诸如位置历史模块48。在一个示例中,计算设备14A还包括一个或多个应用46。一个或多个应用46、诸如位置历史模块48也可被计算设备14A执行。可将部件30、32、34、36、38、40、42、44、46和48中的每一个互连(在物理上、在通信上和/或在操作上)以用于部件间通信。
在一个示例中,处理器30被配置成实现用于在计算设备14A内执行的功能和/或过程指令。例如,处理器30可能能够处理存储在存储器32中的指令或存储在存储设备36上的指令。这些指令可定义或控制操作系统44和应用46的操作。应用46、诸如位置历史模块48可控制位置指示符26A的生成和/或传输和/或用于选择哪些位置指示符表示用户移动的某些或所有过程。在其他示例中,多个应用46可控制本文所述的过程,使得每个应用控制整个过程的一个或多个方面(例如,一个应用可控制位置指示符26的生成且一个应用可控制位置指示符26的传输)。位置历史模块48可执行本文所述并归属于网络服务器22的某些或所有功能。替选地,网络服务器22可在没有对位置历史模块48的任何需要的情况下执行与选择位置指示符相关的所有功能。
在一个示例中,存储器32被配置成在操作期间将信息存储在计算设备14A内。在某些示例中,将存储器32描述为计算机可读存储介质。在某些示例中,存储器32是临时存储器,意味着存储器32的主要目的不是长期存储。在某些示例中,将存储器32描述为易失性存储器,意味着存储器32在计算机被关掉时不保持所存储的内容。易失性存储器的示例包括随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)以及在本领域中已知的其他形式的易失性存储器。在某些示例中,使用存储器32来存储用于由处理器30执行的程序指令。在一个示例中,存储器32被在计算设备14A上运行的软件或应用(例如,应用46中的一个或多个)用来在程序执行期间临时地存储信息。
在某些示例中,存储设备36还包括一个或多个计算机可读存储介质。可将存储设备36配置成存储比存储器32更大量的信息(例如,位置指示符26)。还可针对信息的长期存储而配置存储设备36。在某些示例中,存储设备36包括非易失性存储元件。此类非易失性存储元件的示例包括磁性硬盘、光盘、软盘、闪速存储器或电可编程存储器(EPROM)或电可擦可编程(EEPROM)存储器的形式。
在某些示例中,计算设备14A还包括网络接口34。在一个示例中,计算设备14A利用网络接口34经由一个或多个网络来与外部设备进行通信,诸如图1中的网络20。网络接口34可以是网络接口卡,诸如以太网卡、光学收发机、射频收发机或能够发送和接收信息的任何其他类型的设备。此类网络接口的其他示例可包括移动计算设备中的蓝牙、3G、4G和WiFi无线电以及USB。在某些示例中,计算设备14A利用网络接口34来与外部设备(例如,网络服务器22)进行无线通信,诸如服务器、移动电话或其他联网计算设备。如本文所述,可将网络接口34配置成按照应用46和/或处理器30的指令通过网络20来发送位置指示符26和接收任何数据。
在一个示例中,计算设备14A还包括一个或多个用户接口38。可将用户接口38配置成从用户接收输入(例如,触觉、音频或视频反馈)。用户接口38可包括触摸敏感和/或存在敏感屏幕或显示器、鼠标、键盘、语音响应系统或用于检测来自用户的命令的任何其他类型的设备。用户接口38还可包括与输入设备组合或分开的输出设备。以这种方式,可将用户接口38配置成使用触觉、音频或视频刺激来向用户提供输出。在一个示例中,用户接口38可包括触敏显示器、声卡、视频图形适配卡或用于将信号转换成人或机器可理解的适当形式的任何其他类型的设备。另外,用户接口38可包括扬声器、液晶显示器(LCD)、发光二极管(LED)阵列或能够向用户生成可理解输出的任何其他类型的设备。
计算设备14A可还包括更多定位设备42中的一个。计算设备14A可使用定位设备42来生成或获得位置指示符26A。定位设备42可包括能够确定计算设备14A的地理位置的一个或多个卫星无线电(例如,全球定位系统(GPS)无线电)。计算设备14A可利用定位设备42来确认计算设备14A的位置,识别哪些网络可用于计算设备14A,或从此类网络或网络塔确定计算设备14A的位置。替选地,定位设备42可利用三角测量或其他此类技术基于网络塔、网络接入点或可与计算设备14A进行通信的任何其他设备的已知地理位置来确定计算设备14A的位置。在某些示例中,计算设备14A还可包括一个或多个短程通信设备(例如,蓝牙、WiFi、超宽带无线电或近场通信设备)。
在某些示例中,计算设备14A包括一个或多个电源40,诸如可向计算设备14A提供电力的可再充电电池。在某些示例中,电源40可由镍镉、锂离子或其他适当材料制成。在其他示例中,电源40可能够从另一存储能量(例如,燃料电池或电容器)提供存储的电力或电压。
计算设备14A还可包括操作系统44。在某些示例中,操作系统44控制计算设备14A的部件的操作。例如,在一个示例中,操作系统44促进应用46与处理器30、存储器32、网络接口34、存储设备36、用户接口38和定位设备42的交互。
应用46可以是控制位置指示符26和/或本文所述的任何其他功能的生成和传输的软件和/或硬件模块。应用46、诸如位置历史模块50可向处理器30提供命令以控制在该过程的任何方面期间需要的计算设备14A的任何部件。虽然应用46可以是独立于操作系统44的软件,但在其他示例中应用46可以是操作系统44的子例程。应用46还可包括执行公告和传输过程的各种方面的子模块。在某些示例中,可要求用户通过从存储在计算设备14A上的应用列表中选择应用来发起应用46。替选地,应用46可在对计算设备14上电时或在从用户12接收到用于生成和发送位置指示符26的请求时自动地启动位置历史模块48。
计算设备14A可包括附加部件或传感器以执行本文所述功能。例如,计算设备14A可包括一个或多个加速度计以检测可指示计算设备14A正在移动的计算设备14A的加速度。可在计算设备14A的部件内实现或包含、可由其操作、由其执行在计算设备14A内实现或由其执行的任何应用或模块(例如,应用46)和/或将其操作/通信耦合到各部件(例如,处理器30、存储器32、网络接口34和/或存储设备36)。
图3是图示出网络服务器22的一个示例的部件的框图。图3图示出网络服务器22(例如,计算设备)的仅一个特定示例,并且在其他情况下可使用网络服务器22的许多其他示例性实施例。例如,网络服务器22可包括附加部件,运行多个不同应用和/或包括多个不同服务器。在某些示例中,网络服务器22可包括通过网络20和/或另一网络进行通信的多个服务器。如图3的特定示例中所示,网络服务器22包括一个或多个处理器50、存储器52、网络接口54、一个或多个存储设备56、用户接口58、电源60以及位置历史模块62。服务器22还可包括操作系统,其包括可由处理器50执行的模块(例如,位置历史模块62)和/或应用。可将部件50、52、54、56、58、60和62中的每一个(物理地、通信地和/或操作地)互连以用于部件间通信。服务器22还可与储存库24进行通信或者甚至包括储存库24作为存储设备56中的一个。
在一个示例中,处理器50被配置成实现用于在服务器22内执行的功能和/或过程指令。例如,处理器50可能够处理存储在存储器52中的指令、存储在存储设备56上的指令或存储在储存库24中的指令。位置历史模块62可以是被配置成执行与选择或确定来自多个设备的哪些位置指示符表示与计算设备相关联的用户的位置有关的本文所述的各种功能的硬件和/或软件模块。位置历史模块62可例如计算用于相应位置流和时间段的位置指示符的总距离,确定每个位置流和相应时间段的位置指示符的最大总距离,并从位置指示符过滤位置噪声。在其他示例中,处理器50可执行位置历史模块62的某些或所有功能。替选地,服务器22可将位置历史模块62的某些或所有功能卸载到计算设备14、其他网络服务器或其他计算设备。
在一个示例中,存储器52被配置成在操作期间存储服务器22内的信息。在某些示例中,将存储器52描述为计算机可读存储介质。在某些示例中,存储器52是临时存储器,意味着存储器52的主要目的不是长期存储。在某些示例中,将存储器52描述为易失性存储器,意味着存储器52在计算机被关掉时不保持所存储内容。易失性存储器的示例包括随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)以及在本领域中已知的其他形式的易失性存储器。在某些示例中,使用存储器52来存储用于由处理器50执行的程序指令。
在某些示例中,存储设备56还包括一个或多个计算机可读存储介质。可将存储设备56配置成存储比存储器52更大量的信息(例如,集群信息28和/或位置指示符26)。还可针对信息的长期存储而配置一个或多个存储设备56。在某些示例中,存储设备56包括非易失性存储元件。此类非易失性存储元件的示例包括磁性硬盘、光盘、软盘、闪速存储器或电可编程存储器(EPROM)或电可擦可编程(EEPROM)存储器的形式。在某些示例中,储存库24还可包括一个或多个计算机可读存储介质。
在某些示例中,服务器22还包括被配置成例如经由网络20与其他设备进行通信并发送和/或接收数据的网络接口54。网络接口54可以是网络接口卡,诸如以太网卡、光学收发机、射频收发机或可以发送和接收信息(例如,位置指示符26)的任何其他类型的设备。在替选示例中,网络接口54可包括移动计算设备中的蓝牙、3G、4G和WiFi无线电以及USB。
可将用户接口38配置成当期望与服务器22的直接交互时从用户接收输入(例如,触觉、音频或视频反馈)。用户接口38可包括触摸敏感和/或存在敏感屏幕或显示器、鼠标、键盘、语音响应系统或用于检测来自用户的命令的任何其他类型的设备。用户接口38还可包括与输入设备组合或分开的输出设备。用户接口38可包括扬声器、液晶显示器(LCD)、发光二极管(LED)阵列或能够向用户生成可理解输出的任何其他类型的设备。电源可包括电池和/或用于从AC或DC电源生成电力的电路。
在其他示例中,服务器22可包括附加部件以执行本文所述的功能。可在网络服务器22的部件内实现或包含、可由其操作、由其执行在网络服务器22内实现或由其实现的任何应用或模块(例如,位置历史模块62)和/或将其操作/通信耦合到各部件(例如,处理器50、存储器52、网络接口54和/或存储设备56)。
图4是在相应计算设备14的位置指示符26之间计算且针对每个时间段的示例性总距离的示例性图70。如图4中所示,在x轴上提供每个不同时间段。虽然在图4的示例中每个时间段为约一小时,但在其他示例中该时间段可具有不同的持续时间。在y轴上提供以千米(km)为单位的距离。
如本文所述,位置指示符26可能已被分离成用于每个计算设备14中的每一个的单独位置流。服务器22可能已使用与每个位置指示符相关联的相应设备标识符将位置指示符26分离以识别用于每个位置指示符的设备原点。服务器22还可能能够已针对每个位置流且在每个时间段内计算位置指示符26之间的总距离。在图70中示出了此计算总距离。
针对x轴中所示的每个时间段(例如,时间的每一小时区块或桶),将每个计算设备14已行进的总或累计距离(基于该时间段内的每个连续位置指示符之间的距离)示为单独垂直条。来自计算设备14A、14B和14C的位置指示符分别被呈现为条A、B和C。例如,在时间段1中,来自计算设备14A的位置指示符的总距离为约9km。并且对于时间段1,来自计算设备14B和14C的位置指示符的总距离分别地为约2km和1km。在比较时间段1的条A、B和C的距离之后,将条A的总距离确定为大于其他计算设备中的任何一个。因此针对时间段1可选择来自计算设备14A的位置指示符。可丢弃针对时间段1的来自计算设备14B和14C的位置指示符。
条A、B和C中的每一个的总距离的相同比较可针对每个时间段继续。例如,可针对时间段3和4选择来自计算设备14B的位置指示符。另外,可针对时间段2、5和6再次选择来自计算设备14A的位置指示符。可不针对所示时间段中的任何一个选择从计算设备14C接收到的位置指示符,因为用于这些位置指示符的总距离从不大于针对同一时间段的用于其他计算设备的距离。
在时间段2中,用于计算设备14A、14B和14C的所有总距离可近似相等。因此,服务器22可注意前一时间段以确定要从时间段2选择哪些位置指示符。由于来自计算设备14A的位置指示符具有最大总距离且是在时间段1中选择,并且时间段2中的所有距离都是近似相等的,但服务器22可再次从计算设备14A选择位置指示符。此选择可假设计算设备14A在时间段2期间与用户12在一起,因为用户12在时间段2期间并未移动。在其他示例中,服务器22可注意后续时间段以选择时间段2的位置指示符。替选地,服务器22可分析来自每个计算设备14的位置指示的实际位置以寻找哪些位置是接近的或在时间段1和/或2中保持与所选位置指示的位置的位置连续性。
即使计算设备14中的某些在某个时间段期间并未移动,位置指示符也仍可暗示相应计算设备移动了小的距离。例如,在时间段2期间可能没有一个计算设备14移动,但用于每个计算设备的总距离可约为1km。此非预期距离可能是由于设备在不同的小区塔、接入点或随时间推移所使用的某些位置生成设备之间切换而引起的。例如,切换或再分配给不同小区塔的固定计算设备可能看起来在移动,因为后续位置指示符的位置是不同的。即使当针对位置噪声对位置指示符进行过滤时,某些噪声可能仍然存在。在其他示例中,可将在单个时间段内在阈值以下的任何总距离置零,并假设设备实际上并未移动。该阈值可取决于时间段。例如,可将该阈值选在约500米与5km之间。在一个示例中,该阈值对于一小时的时间段而言可约为1km。
在图4的示例中可出于说明性目的提供图70。然而,在其他示例中,图70可被服务器22输出和发送到另一模块或设备。服务器22可基于本文所述的计算或比较中的任何一个生成数据的类似图或表格。
图5是图示出可由服务器22执行以确定来自多个计算设备14的哪些位置指示符26表示不同时间段期间用户12的移动的示例性过程的流程图。仅仅出于举例说明的目的,将把网络服务器22的位置历史模块62描述为执行图5的过程。然而,在某些示例中,位置历史模块62可包括一个或多个处理器,并且可由一个或多个软件应用和关联模块来控制位置历史模块62。在其他示例中,可由其他设备来执行该过程的一个或多个步骤,诸如计算设备14中的一个或多个的位置历史模块48。
如图5中所示,该过程可以位置历史模块62从每个与用户12相关联的多个计算设备14接收位置指示符26开始(80)。位置离模块62然后可将位置指示符26分离成用于每个计算设备14的单独位置流(82)。一旦位置指示符被分离成其相应位置流,则位置历史模块62可从每个位置流过滤位置噪声(84)。位置噪声的过滤可包括去除被识别为错误或与其他位置指示符不一致的那些位置指示符。
位置历史模块62然后可计算在该时间段内且针对每个位置流的位置指示符之间的总距离变化(86)。例如,位置历史模块62可计算在该时间段内且在位置流的每个连续位置标识符之间的距离并将其加和。位置历史模块62然后可比较来自每个位置流的总距离并选择针对该时间段的具有最大距离变化的位置流的位置指示符(88)。位置历史模块62可丢弃用于该时间段的任何未选择的位置指示符(90)。位置历史模块62然后可将所选的位置指示符作为用于该时间段的位置指示符的子集输出(92)。位置指示符的所选子集可表示在该时间段期间用户12位于的地理位置。
如果位置历史模块62确定存在要针对另一时间段选择的附加位置指示符(方框94的“是”分支),则位置历史模块62可针对另一时间段计算用于新时间段的位置指示符的总距离(86)。如果位置历史模块62确定不存在要对于其选择位置指示符的更多时间段(方框94的“否”分支),则位置历史模块62可再次从计算设备14接收位置指示符(80)。
在其他示例中,可在图5的示例中提供更少或更多的步骤。例如,位置历史模块62可不过滤位置噪声。在某些示例中,可不丢弃未选择的位置指示符。在其他示例中,可包括附加步骤,诸如选择一个或多个时间段的持续时间和/或基于来自接近时间段的选择而选择针对该时间段的来自具有相等总距离的位置流的位置指示符。
在一个示例中,一种包括:在计算设备处从第一移动计算设备接收第一多个位置指示符并从第二移动计算设备接收第二多个位置指示符,其中,所述第一和第二移动计算设备两者都与单个用户相关联,并且所述第一和第二多个位置指示符表示相应第一和第二移动计算设备中的每一个已位于的地理位置,由计算设备来确定与在一时间段期间随用户一起移动的第一或第二移动计算设备中的一个相关联的位置指示符的子集,其中,所确定的位置指示符的子集是基于接收到的第一和第二多个位置指示符,以及由计算设备输出用于该时间段的位置指示符的子集。
在另一示例中,一种计算设备包括一个或多个处理器和位置历史模块,其可被一个或多个处理器操作以:从第一移动计算设备接收第一多个位置指示符并从第二移动计算设备接收第二多个位置指示符,其中,所述第一和第二移动计算设备与用户相关联,并且所述第一和第二多个位置指示符表示相应移动计算设备中的每一个已位于的地理位置,基于接收到的第一和第二多个位置指示符来确定与在第一时间段期间随用户一起移动的第一或第二移动计算设备中的一个相关联的位置指示符的第一子集,基于接收到的第一和第二多个位置指示符来确定与在不同于第一时间段的第二时间段期间随用户一起移动的第一或第二移动计算设备中的一个相关联的位置指示符的第二子集,以及输出用于相应第一和第二时间段的位置指示符的第一和第二子集。
在另一示例中,一种编码有指令的计算机可读存储介质,该指令促使移动计算设备的一个或多个处理器从第一移动计算设备接收第一多个位置指示符并从第二移动计算设备接收第二多个位置指示符,其中,所述第一和第二移动计算设备与用户相关联,并且所述第一和第二多个位置指示符表示相应移动计算设备中的每一个已位于的地理位置,基于接收到的第一和第二多个位置指示符,确定与在第一时间段期间随用户一起移动的第一或第二移动计算设备中的一个相关联的位置指示符的第一子集,丢弃与位置指示符的第一子集不同的位置指示符的第二子集,其中,位置指示符的第二子集与在该时间段期间未随用户一起移动的第一备或第二移动计算设备中的一个相关联,以及输出用于所述时间段的位置指示符的第一子集。
在本公开中描述的技术可至少部分地用硬件、软件、固件或其任何组合来实现。例如,可在一个或多个处理器内实现所述技术的各个方面,包括一个或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或任何其他等效集成或分立逻辑电路以及此类部件的任何组合。术语“处理器”或“处理电路”可一般地指的是前述逻辑电路中的任何一个,单独地或与其他逻辑电路组合,或任何其他等效电路。包括硬件的控制单元也可执行本公开的技术中的一个或多个。
可在同一设备内或在单独设备内实现此类硬件、软件以及固件以支持本公开所述的各种技术。另外,可一起或单独地作为分立但可互操作的逻辑设备来实现任何的所述单元、模块或部件。在某些示例中,还可将单元、模块或部件的功能分布在多个设备或系统的部件之间。将不同特征描述为模块或单元意图突出显示不同的功能方面,并且不一定意味着必须由单独硬件、固件或软件部件来实现此类模块或单元。相反地,可由单独硬件、固件或软件部件来执行与一个或多个模块或单元相关联的功能,或者集成在公共或单独硬件、固件或软件部件内。
还可在包括用指令编码的计算机可读存储介质的制品中体现或编码在本公开中描述的技术。在包括已编码的计算机可读存储介质的制品中嵌入或编码的指令可促使一个或多个可编程处理器或其他处理器实现本文所述的技术中的一个或多个,诸如当在计算机可读存储介质中包括或编码的指令被所述一个或多个处理器执行时。示例性计算机可读存储介质可包括随机存取存储器(RAM)、只读存储器(ROM)、可编程只读存储器(RPOM)、可擦可编程只读存储器(EPROM)、电可擦可编程只读存储器(EEPROM)、闪速存储器、硬盘、压缩磁盘ROM(CD-ROM)、软盘、磁带、磁介质、光学介质或任何其他计算机可读存储设备或有形计算机可读介质。
在某些示例中,计算机可读存储介质可包括非临时介质。术语“非瞬时”可指示不是在载波或传播信号中体现存储介质。在某些示例中,非瞬时存储介质可存储能够随时间推移而改变的数据(例如在RAM或高速缓存器中)。
Claims (20)
1.一种用于过滤位置信息的方法,包括:
在服务器计算设备处从第一移动计算设备接收第一多个位置指示符并从第二移动计算设备接收第二多个位置指示符,其中,所述第一和第二移动计算设备两者都与单个用户相关联,并且所述第一和第二多个位置指示符表示相应第一和第二移动计算设备中的每一个已位于的地理位置;
由所述服务器计算设备针对一时间段自动确定所述第一多个位置指示符或所述第二多个位置指示符中的一个的被选子集,包括在所述被选子集中的所有位置指示符与在所述时间段期间随所述用户一起移动的所述第一移动计算设备或所述第二移动计算设备中的一个相关联,其中在所述时间段期间没有随所述用户一起移动的所述第一移动计算设备或所述第二移动计算设备中的一个则没有被选择;以及
由所述服务器计算设备输出与用于所述时间段的所述位置指示符的所述被选子集相关的信息。
2.根据权利要求1所述的方法,其中,所述时间段是第一时间段且位置指示符的所述被选子集是位置指示符的第一被选子集,并且其中所述方法进一步包括:
确定用于与所述第一时间段不同的第二时间段的所述第一多个位置指示符或所述第二多个位置指示符中的一个的第二被选子集,包括在所述第二被选子集中的每个位置指示符与在所述第二时间段期间随所述用户一起移动的所述第一移动计算设备或所述第二移动计算设备中的所述一个相关联;以及
输出用于所述第二时间段的所述位置指示符的所述第二被选子集。
3.根据权利要求1所述的方法,进一步包括:将所述第一多个位置指示符和所述第二多个位置指示符分离成用于所述第一移动计算设备和所述第二移动计算设备中的每一个的相应单独位置流。
4.根据权利要求3所述的方法,其中:
分离所述第一多个位置指示符和所述第二多个位置指示符包括:按照与所述第一多个和所述第二多个位置指示符中的每个所接收的位置指示符相关联的相应设备标识符来分离所述位置指示符,以及
每个设备标识符表示所述第一移动计算设备或所述第二移动计算设备中的所述一个。
5.根据权利要求3所述的方法,进一步包括:从用于所述第一移动计算设备和所述第二移动计算设备中的每一个的相应单独位置流去除表示由于小区塔再分配、大气条件以及可变无线网络强度中的至少一个而引起的位置变化的位置指示符。
6.根据权利要求3所述的方法,其中:
确定所述第一多个位置指示符或所述第二多个位置指示符中的一个的被选子集包括:针对所述时间段计算用于所述第一移动计算设备的单独位置流的位置指示符的子集之间的第一总距离以及用于所述第二移动计算设备的单独位置流的位置指示符的子集之间的第二总距离,以及
所计算的第一和第二总距离表示所述第一和第二移动计算设备中的每一个在所述时间段期间移动的相应距离。
7.根据权利要求6所述的方法,其中,确定位置指示符的所述被选子集包括:
比较用于所述时间段期间的每个相应位置流的所述第一总距离和所述第二总距离;以及
基于所述比较并且针对所述时间段来选择以下与最大总距离相关联的一个:用于所述第一移动计算设备的单独位置流的位置指示符的子集、或者用于所述第二移动计算设备的单独位置流的位置指示符的子集。
8.根据权利要求6所述的方法,其中,所述时间段是第一时间段,位置指示符的所述被选子集是位置指示符的第一被选第一子集,并且确定所述位置指示符的所述第一被选子集进一步包括:
比较用于所述第一时间段期间的每个相应位置流的所述第一和第二总距离;
确定用于所述第一时间段期间的每个相应位置流的所述第一和第二总距离是近似相等的;
识别与针对紧接在所述第一时间段之前的第二时间段所选择的位置指示符的第二被选子集相关联的所述第一或第二移动计算设备中的一个;以及
选择所接收的用于第一时间段的且与所识别的移动计算设备相关联的位置指示符作为所述位置指示符的所述第一被选子集。
9.根据权利要求1所述的方法,进一步包括:存储用于所述时间段的所述位置指示符的所述被选子集。
10.根据权利要求1所述的方法,进一步包括:
识别与所述位置指示符的所述被选子集相关联的所述第一或第二移动计算设备中的一个;以及
针对所述时间段输出表示所识别的移动计算设备的设备标识符。
11.根据权利要求1所述的方法,进一步包括:丢弃所述位置指示符的未选子集,所述未选子集与所述被选子集不同,其中所述位置指示符的所述未选子集与在所述时间段期间没有随所述用户一起移动的所述第一或第二移动计算设备中的所述一个相关联。
12.根据权利要求1所述的方法,其中,所述时间段是约10分钟与24小时之间的预选时间段。
13.根据权利要求1所述的方法,进一步包括:输出与所述位置指示符的所述被选子集相关的信息以便在所述第一移动计算设备、所述第二移动计算设备或第三移动计算设备中的至少一个的显示器处呈现。
14.一种计算设备,包括:
位置历史模块,所述位置历史模块可操作来:
从第一移动计算设备接收第一多个位置指示符并从第二移动计算设备接收第二多个位置指示符,其中,所述第一和第二移动计算设备两者都与用户相关联,并且所述第一和第二多个位置指示符表示相应移动计算设备中的每一个已位于的地理位置;
针对第一时间段自动确定所述第一多个位置指示符或所述第二多个位置指示符中的一个的第一被选子集,包括在所述第一被选子集中的所有位置指示符与在所述第一时间段期间随所述用户一起移动的所述第一移动计算设备或所述第二移动计算设备中的一个相关联,其中在所述第一时间段期间没有随所述用户一起移动的所述第一移动计算设备或所述第二移动计算设备中的一个则没有被选择;
针对第二时间段自动确定所述第一多个位置指示符或所述第二多个位置指示符中的一个的第二被选子集,包括在所述第二被选子集中的所有位置指示符与在所述第一时间段期间随所述用户一起移动的所述第一移动计算设备或所述第二移动计算设备中的一个相关联,其中在所述第二时间段期间没有随所述用户一起移动的所述第一移动计算设备或所述第二移动计算设备中的一个则没有被选择;以及
输出与用于相应的第一和第二时间段的所述位置指示符的所述第一和第二被选子集相关的信息。
15.根据权利要求14所述的计算设备,其中所述位置历史模块可操作来:
按照与所接收的第一多个和第二多个位置指示符中的每一个相关联的相应设备标识符来分离所述第一多个位置指示符和所述第二多个位置指示符,其中每个设备标识符表示所述第一移动计算设备或所述第二移动计算设备中的所述一个;
针对所述第一和第二时间段中的每一个,计算在相应时间段期间用于所述第一移动计算设备的单独位置流的位置指示符之间的第一总距离以及用于所述第二移动计算设备的单独位置流的位置指示符之间的第二总距离,其中所计算的第一和第二总距离表示所述第一移动计算设备和所述第二移动计算设备中的每一个在相应时间段期间移动的距离;
针对所述第一和第二时间段中的每一个,比较用于相应时间段期间的每个相应位置流的所述第一和第二总距离;以及
针对所述第一和第二时间段中的每一个,基于所述比较来选择与最大总距离相关联的位置指示符作为位置指示符的相应子集。
16.根据权利要求15所述的计算设备,其中所述位置历史模块可操作来:
从用于所述第一移动计算设备和所述第二移动计算设备中的每一个的相应单独位置流去除表示由于小区塔再分配、大气条件以及可变无线网络强度中的至少一个而引起的位置变化的位置指示符。
17.根据权利要求14所述的计算设备,其中所述计算设备包括网络服务器,并且其中所述网络服务器包括所述位置历史模块。
18.一种用于过滤位置信息的系统,包括:
用于从第一移动计算设备接收第一多个位置指示符并从第二移动计算设备接收第二多个位置指示符的装置,其中,所述第一和第二移动计算设备与用户相关联,并且所述第一和第二多个位置指示符表示相应移动计算设备中的每一个已位于的地理位置;
用于针对一时间段自动确定所述第一多个位置指示符或所述第二多个位置指示符中的一个的被选子集的装置,包括在所述被选子集中的所有位置指示符与在所述时间段期间随所述用户一起移动的所述第一移动计算设备或所述第二移动计算设备中的一个相关联;
用于丢弃所述第一多个位置指示符或与所述位置指示符的第一子集不同的所述第二多个位置指示符中的一个的第二未选子集的装置,其中位置指示符的所述第二子集与在所述时间段期间没有随所述用户一起移动的所述第一移动计算设备或第二移动计算设备中的所述一个相关联;
用于输出与用于所述时间段的所述位置指示符的所述第一被选子集相关的信息的装置。
19.根据权利要求18所述的系统,进一步包括:
用于按照与所接收的第一和第二多个位置指示符中的每一个相关联的相应设备标识符来将所述第一多个位置指示符和所述第二多个位置指示符分离成相应单独位置流的装置,其中每个设备标识符表示所述第一移动计算设备或所述第二移动计算设备中的所述一个;
用于针对所述时间段,计算在所述时间段期间用于所述第一移动计算设备的单独位置流的位置指示符之间的第一总距离以及用于所述第二移动计算设备的单独位置流的位置指示符之间的第二总距离的装置,其中所计算的第一和第二总距离表示相应的第一和第二计算设备中的每一个在所述时间段期间移动的距离;
用于比较用于在所述时间段期间的所述位置流的每一个的所述第一和第二总距离的装置;以及
用于基于所述比较来选择与最大总距离相关联的位置指示符作为所述第一被选子集的装置。
20.根据权利要求18所述的系统,进一步包括:
用于在计算用于所述第一移动计算设备的单独位置流的位置指示符之间的第一总距离以及用于所述第二移动计算设备的单独位置流的位置指示符之间的第二总距离之前,去除表示由于小区塔再分配、大气条件以及可变无线网络强度中的至少一个而引起的位置变化的位置指示符的装置。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201261664144P | 2012-06-25 | 2012-06-25 | |
US61/664,144 | 2012-06-25 | ||
US13/737,720 US8855931B2 (en) | 2012-06-25 | 2013-01-09 | Location history filtering |
US13/737,720 | 2013-01-09 | ||
PCT/US2013/047655 WO2014004532A1 (en) | 2012-06-25 | 2013-06-25 | Location history filtering |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104583800A CN104583800A (zh) | 2015-04-29 |
CN104583800B true CN104583800B (zh) | 2016-09-21 |
Family
ID=49775107
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380043985.XA Active CN104583800B (zh) | 2012-06-25 | 2013-06-25 | 位置历史过滤 |
Country Status (6)
Country | Link |
---|---|
US (1) | US8855931B2 (zh) |
CN (1) | CN104583800B (zh) |
DE (1) | DE112013003019T5 (zh) |
GB (1) | GB2520846B (zh) |
IN (1) | IN2014KN03023A (zh) |
WO (1) | WO2014004532A1 (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014197759A (ja) * | 2013-03-29 | 2014-10-16 | 富士通株式会社 | プレゼンス管理方法、情報処理装置およびプログラム |
US9467815B2 (en) | 2014-03-20 | 2016-10-11 | Google Inc. | Systems and methods for generating a user location history |
US20150341375A1 (en) * | 2014-05-22 | 2015-11-26 | Operational Data Analytics LLC | Presenting locations of users and status of devices |
US9787557B2 (en) | 2015-04-28 | 2017-10-10 | Google Inc. | Determining semantic place names from location reports |
US9955359B2 (en) * | 2015-05-19 | 2018-04-24 | Cisco Technology, Inc. | Location services with multiple devices |
GB2542631B (en) * | 2015-09-28 | 2017-09-13 | tado GmbH | Method and system for controlling a home appliance depending on a user position |
WO2018155918A1 (ko) * | 2017-02-24 | 2018-08-30 | 엘지전자 주식회사 | 단말의 이동성 히스토리를 보고하는 방법 및 이를 지원하는 장치 |
US10422903B2 (en) * | 2017-07-31 | 2019-09-24 | GM Global Technology Operations LLC | Method and system for determining an intended destination |
CN108646675B (zh) * | 2018-05-04 | 2021-03-16 | 上海罗湖斯自动化技术有限公司 | 存储介质、工厂控制系统、人机界面显示操作方法及其组态系统 |
CN111629432B (zh) * | 2020-05-18 | 2022-04-12 | 上海图聚智能科技股份有限公司 | 基于多阶滤波算法的蓝牙指纹定位方法、装置和设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002061448A3 (en) * | 2001-01-31 | 2002-09-26 | Ibm | System and method for handling location information |
WO2006012258A1 (en) * | 2004-06-25 | 2006-02-02 | Qualcomm Incorporated | Geographical location information sharing among wireless devices |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020069312A1 (en) * | 2000-07-10 | 2002-06-06 | Jones Gad Quentin | System and method for the storage, management and sharing of spatial-temporal based information |
US8977284B2 (en) | 2001-10-04 | 2015-03-10 | Traxcell Technologies, LLC | Machine for providing a dynamic data base of geographic location information for a plurality of wireless devices and process for making same |
WO2004074778A1 (en) * | 2003-02-14 | 2004-09-02 | Networks In Motion, Inc. | Method and system for saving and retrieving spatial related information |
US7356567B2 (en) | 2004-12-30 | 2008-04-08 | Aol Llc, A Delaware Limited Liability Company | Managing instant messaging sessions on multiple devices |
US7245214B2 (en) * | 2005-02-08 | 2007-07-17 | User-Centric Ip, Lp | Electronically tracking a path history |
CA2636010A1 (en) * | 2006-01-17 | 2007-07-17 | Baker Hughes Inc | SYSTEM AND METHOD FOR REMOTE DATA ACQUISITION AND DISTRIBUTION |
US8427979B1 (en) * | 2006-07-27 | 2013-04-23 | Mobitrum Corporation | Method and system for dynamic information exchange on location aware mesh network devices |
US8023889B2 (en) * | 2006-10-09 | 2011-09-20 | International Business Machines Corporation | Intelligent device integration using RFID technology |
US7751971B2 (en) | 2007-01-17 | 2010-07-06 | Microsoft Corporation | Location mapping for key-point based services |
US8229458B2 (en) | 2007-04-08 | 2012-07-24 | Enhanced Geographic Llc | Systems and methods to determine the name of a location visited by a user of a wireless device |
US8375133B2 (en) * | 2007-08-07 | 2013-02-12 | Sony Computer Entertainment Inc. | Methods and apparatuses for synchronizing and managing content over multiple devices |
US9646025B2 (en) * | 2008-05-27 | 2017-05-09 | Qualcomm Incorporated | Method and apparatus for aggregating and presenting data associated with geographic locations |
US10163113B2 (en) * | 2008-05-27 | 2018-12-25 | Qualcomm Incorporated | Methods and apparatus for generating user profile based on periodic location fixes |
US20100255856A1 (en) | 2009-04-03 | 2010-10-07 | Microsoft Corporation | Location Sensing Selection for Mobile Devices |
US8611326B2 (en) | 2009-09-03 | 2013-12-17 | Apple Inc. | Location histories for location aware devices |
US8275649B2 (en) | 2009-09-18 | 2012-09-25 | Microsoft Corporation | Mining life pattern based on location history |
KR101672454B1 (ko) * | 2009-10-30 | 2016-11-04 | 삼성전자 주식회사 | 컨텐트 이용 이력에 기반한 네트워크 컨텐트 서비스 관리 방법 및 장치 |
US8200251B2 (en) | 2010-01-15 | 2012-06-12 | Apple Inc. | Determining a location of a mobile device using a location database |
US8612134B2 (en) | 2010-02-23 | 2013-12-17 | Microsoft Corporation | Mining correlation between locations using location history |
US8823589B2 (en) * | 2010-03-09 | 2014-09-02 | Xianbin Wang | System, method and apparatus for integrated local area locationing, tracking and communications |
US20110314482A1 (en) * | 2010-06-18 | 2011-12-22 | Microsoft Corporation | System for universal mobile data |
US8521125B2 (en) * | 2011-05-20 | 2013-08-27 | Motorola Solutions, Inc. | Electronic communication systems and methods for real-time location and information coordination |
-
2013
- 2013-01-09 US US13/737,720 patent/US8855931B2/en active Active
- 2013-06-25 DE DE112013003019.5T patent/DE112013003019T5/de active Pending
- 2013-06-25 WO PCT/US2013/047655 patent/WO2014004532A1/en active Application Filing
- 2013-06-25 IN IN3023KON2014 patent/IN2014KN03023A/en unknown
- 2013-06-25 CN CN201380043985.XA patent/CN104583800B/zh active Active
- 2013-06-25 GB GB1422909.0A patent/GB2520846B/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002061448A3 (en) * | 2001-01-31 | 2002-09-26 | Ibm | System and method for handling location information |
WO2006012258A1 (en) * | 2004-06-25 | 2006-02-02 | Qualcomm Incorporated | Geographical location information sharing among wireless devices |
CN101006742A (zh) * | 2004-06-25 | 2007-07-25 | 高通股份有限公司 | 无线装置之间的地理位置信息共享 |
Also Published As
Publication number | Publication date |
---|---|
WO2014004532A1 (en) | 2014-01-03 |
IN2014KN03023A (zh) | 2015-05-08 |
DE112013003019T5 (de) | 2015-03-26 |
GB2520846B (en) | 2015-10-14 |
CN104583800A (zh) | 2015-04-29 |
US8855931B2 (en) | 2014-10-07 |
GB2520846A (en) | 2015-06-03 |
US20130345965A1 (en) | 2013-12-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104583800B (zh) | 位置历史过滤 | |
US11392413B2 (en) | Provision of computer resources based on location history | |
US9992627B2 (en) | Method and apparatus for providing location sharing via simulation | |
US9488487B2 (en) | Route detection in a trip-oriented message data communications system | |
US9377319B2 (en) | Estimating times to leave and to travel | |
CN104854884B (zh) | 基于联系人信息来标注被访问的位置的方法和系统 | |
US9826345B2 (en) | Method and apparatus for detecting points of interest or events based on geotagged data and geolocation seeds | |
CN104380293B (zh) | 基于位置从地图历史提供相关元素信息的方法和计算装置 | |
Motta et al. | Personal mobility service system in urban areas: The IRMA project | |
JP5355374B2 (ja) | 個別化されたユーザ経路指定及び推奨 | |
CN109151168A (zh) | 乘车码的切换方法、装置、移动终端及可读存储介质 | |
CN103065205A (zh) | 三维智能交通枢纽客流时空分析与预测系统 | |
CN104484462A (zh) | 一种企业信息获取方法及系统 | |
US20160300150A1 (en) | Method and apparatus for providing model selection for traffic prediction | |
WO2019087595A1 (ja) | 移動体分布状況予測装置及び移動体分布状況予測方法 | |
JP2016143232A (ja) | 位置情報管理装置及び位置情報管理方法 | |
JP2015230588A (ja) | 行動判定装置、行動判定方法及びプログラム | |
US11060879B2 (en) | Method, system, and computer program product for generating synthetic demand data of vehicle rides | |
CN104583726A (zh) | 使用来自智能计量器的数据提供位置辅助信息 | |
Shekhar et al. | Transit hub: a smart decision support system for public transit operations | |
Rahman et al. | Road traffic forecasting through simulation and live gps-feed from intervehicle networks | |
Iovanovici et al. | Collaborative environment for road traffic monitoring | |
Dou | UniShuttle-a small-scale intelligent transport system in the connected mobility digital ecosystem | |
Nandan | Online grid-based dynamic arrival time prediction using GPS locations | |
Tianyi et al. | MOBANA: A distributed stream-based information system for public transit |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CP01 | Change in the name or title of a patent holder |
Address after: American California Patentee after: Google limited liability company Address before: American California Patentee before: Google Inc. |
|
CP01 | Change in the name or title of a patent holder |