CN109844732B - 使用随时间的用户转换来确定ip地址的地理定位 - Google Patents
使用随时间的用户转换来确定ip地址的地理定位 Download PDFInfo
- Publication number
- CN109844732B CN109844732B CN201780064738.6A CN201780064738A CN109844732B CN 109844732 B CN109844732 B CN 109844732B CN 201780064738 A CN201780064738 A CN 201780064738A CN 109844732 B CN109844732 B CN 109844732B
- Authority
- CN
- China
- Prior art keywords
- network
- geolocation
- user
- unseen
- client
- 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
- 230000009466 transformation Effects 0.000 title claims description 10
- 238000000844 transformation Methods 0.000 title claims description 7
- 238000000034 method Methods 0.000 claims abstract description 69
- 230000007704 transition Effects 0.000 claims description 41
- 238000006243 chemical reaction Methods 0.000 claims description 38
- 230000015654 memory Effects 0.000 claims description 22
- 238000013507 mapping Methods 0.000 claims description 18
- 238000013519 translation Methods 0.000 claims description 14
- 230000014616 translation Effects 0.000 claims description 14
- 238000012935 Averaging Methods 0.000 claims 1
- 238000005516 engineering process Methods 0.000 abstract description 7
- 230000008569 process Effects 0.000 description 27
- 238000004891 communication Methods 0.000 description 22
- 230000006870 function Effects 0.000 description 11
- 238000012545 processing Methods 0.000 description 10
- 238000013500 data storage Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 230000000007 visual effect Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 239000001508 potassium citrate Substances 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 101100182247 Caenorhabditis elegans lat-1 gene Proteins 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 210000001072 colon Anatomy 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 235000014510 cooky Nutrition 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000003032 molecular docking Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 239000001253 polyvinylpolypyrrolidone Substances 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/535—Tracking the activity of the user
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/29—Geographical information databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9537—Spatial or temporal dependent retrieval, e.g. spatiotemporal queries
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5007—Internet protocol [IP] addresses
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/52—Network services specially adapted for the location of the user terminal
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Remote Sensing (AREA)
- Computer Hardware Design (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明总体上涉及用于确定针对准确的地理定位信息未知的网络(例如,IP地址)的地理定位的***和方法。描述了用于通过跟踪跨不同网络的用户/设备移动并且更具体地通过跟踪从具有已知地理定位的网络到具有未知地理定位的网络的特定用户和/或设备的移动来确定网络的物理位置的各种技术。该技术的各方面包括使用来自用户的查询的时间和网络地址信息(例如,IP地址)并且将该信息与已知的地理定位信息合并,以创建针对先前未见的网络的新的、高质量的地理定位映射。
Description
背景技术
互联网用户的物理位置对于很多不同类型的应用是有用的。搜索引擎和其他应用通常使用用户的位置来自定义对用户请求的响应。例如,当用户提交对“天气”的查询时,搜索引擎将使用用户的位置以基于用户的位置上下文来显示天气预报。电子商务网站可以使用地理位置信息来预填充表单上的字段、显示不同的语言并且计算运费。***公司使用位置信息来检测欺诈。内容递送供应商使用位置信息来选择离用户最近的服务器以通过快速且成本有效的方式递送在线内容。但是,很难获取关于用户位置的准确且完整的信息。
出于本申请的目的,假定用户的位置与用户正在使用的设备的位置相同。可以基于设备的IP地址来推断设备的位置。IP地址被设计为允许一个计算机(或其他数字设备)经由诸如互联网的网络与另一计算机(或其他数字设备)通信。IP地址还允许将连接到互联网的数十亿个数字设备的位置精确定位并且与其他设备区分开来。在与街道地址确定信件应当被递送到哪里同样的意义上,IP地址标识将互联网消息递送到哪里(即,互联网上的哪台计算机)。目前,存在两种版本的IP地址:IPv4和IPv6。IPv4 IP地址是32位长的,并且通常用4个八位字节表示,每个八位字节包含一到三个数位,每个数字或数位组用单个点(.)分隔。四个数字中的每个数字可以在0到255的范围之间。以下是IPv4地址的示例:72.129.0.209。下一代的IP地址(IPv6)是128位长的,以十六进制书写,并且由冒号分隔。IPv6地址的示例是:3ffe:1900:4545:3:200:f8ff:fe21:67cf。IP地址确保了通过互联网发送的消息以及对数据的请求和所请求的数据将到达正确的目的地。
IP地址可以是静态的或动态的。静态IP地址标识特定计算机,并且每次计算机连接到互联网时保持相同。动态IP地址在计算机连接到网络时被分配并且它们可以随时间针对特定设备而改变。此外,当设备改变地理位置时,设备可以使用不同的IP地址来连接到网络。
将IP地址匹配到地理位置是地理定位的一种形式。但是,可能难以确定IP地址的地理定位。确定地理定位的最精确方式是使用诸如GPS的定位***。遗憾的是,对于大多数用户,该信息是不可用的,因为用户未使用具有GPS的设备或者用户未给予搜索引擎使用设备的GPS信息的权限。确定地理定位的另一方法是要求用户自报告地理定位。虽然这在短期内可能是准确的,但是在长期内,用户可能移动到另一位置而没有更新被自报告的位置。另一解决方案是使用从用户查询中提取的位置信息来确定地理定位信息。例如,如果IP地址经常用于搜索诸如“西雅图的天气”、“西雅图的餐馆”、“西雅图附近的管道工”的查询,则可以假定该IP地址地理定位于西雅图。或者,如果具有连续IP地址的用户群组经常搜索丹佛的物品,则可以假定该IP地址队列位于丹佛。然而,该方法对于大多数IP地址是无用的,因为没有足够的数据(例如,具有位置信息的搜索历史)和/或IP地址不是队列的一部分。
确定IP地址的地理定位的另一方法是咨询IP地理定位数据库。这些数据库包含被映射到对应的物理位置信息的IP地址范围。物理位置信息可以是针对特定位置的地理坐标或定义地理区域的坐标组(例如,最小和最大经度坐标以及最小和最大纬度坐标)的形式。地理定位数据库的粒度从大的区域(诸如地区或城市)到非常具体的位置(诸如街道)而变化。IP地理定位数据库中的物理位置信息来自自报告该信息的各种源,诸如IANA、互联网服务供应商(ISP)以及各种国家和本地互联网注册机构。但是,传统的IP地理定位数据库通常包含不准确和不完整的位置信息。此外,对于很多IP地址,地理定位信息不可用。
正是关于这些和其他的总体考虑,已经进行了本技术的各方面。而且,尽管已经讨论了相对具体的问题,但是应当理解,所呈现的技术的各方面不应当限于解决背景技术中标识的具体问题。
发明内容
本公开总体上涉及用于确定针对地理定位信息未知的网络(例如,IP地址)的准确地理定位的***和方法。描述了用于通过跟踪跨不同网络的用户移动,并且更具体地通过跟踪从具有已知地理定位的网络到具有未知地理定位的网络的用户移动来确定网络的物理位置的各种技术。该技术的各方面使用来自用户的查询的时间和网络地址信息(例如,IP地址)并且将该信息与已知的地理定位信息组合,以创建针对地理定位未知的网络的新的、高质量的地理定位映射。
如本文中使用的,“网络”是与特定设备或设备群组相关联的IP地址或IP地址范围。很多设备可以从相同IP地址连接到公共网络,并且因此创建给定的设备网络,这些设备通常与给定的物理位置相关联。例如,实体企业的LAN是具有与特定设备相关联的IP地址范围的网络。“已知网络”是具有与其相关联的高质量(例如,相对准确的)地理定位信息的网络。换言之,它是物理位置已知的IP地址(或范围)。“未见网络”是物理位置未知的网络,因为没有将其IP地址映射到物理位置的准确信息,或者因为根本没有地理定位信息。
在本发明的实施例中,***学习随时间的用户转换,其中每个用户转换是针对在已知网络与未见网络之间移动的特定用户。特定用户由诸如客户端ID的标识号标识。用户转换信息与针对已知网络的地理定位信息合并以预测针对未见网络的地理定位。
加权平均预测算法可以用于预测针对未见网络的地理定位信息。针对具有与未见网络的转换的每个已知网络的地理定位信息通过与未见网络的转换的计数来加权,并且然后对加权地理定位信息求平均以创建针对未见网络的加权平均地理定位预测。
可以单独地或与加权平均预测算法组合地使用极值预测算法来预测针对未见网络的地理定位信息。针对具有与未见网络的转换的每个已知网络的地理坐标被比较以精确计算针对所有这些已知网络的极值坐标。例如,标识最小和最大纬度坐标并且标识最小和最大经度坐标以创建包括针对未见网络的极值地理定位预测的地理定位多边形。
在本发明的一个实施例中,将加权平均地理定位预测与极值地理定位预测进行比较以确定两者之间的比率。如果比率太大,则确定地理定位预测不准确。如果比率小于预定量,则该预测被认为是对未见网络的地理定位的准确确定。在一些方面,这种网络的状态可以从未见变为已知,并且可以存储其确定的地理定位信息以供将来用于映射附加的未见网络。
应当理解,提供本“发明内容”是为了介绍将在以下“具体实施方式”部分中进一步描述的一些概念。本“发明内容”不旨在标识所要求保护的主题的关键特征或必要特征。
附图说明
图1图示了用于确定IP地址的地理定位的联网计算环境。
图2描绘了针对图1所示的已知网络A、B、C和D的地理定位信息。
图3图示了根据本发明的一个实施例的用于学习随时间的用户转换的过程。
图4图示了根据本发明的一个实施例的用于创建请求日志的过程。
图5描绘了根据本发明的一个实施例的请求日志。
图6图示了根据本发明的一个实施例的用于创建用户转换日志的过程。
图7描绘了根据本发明的一个实施例的经排序的请求日志。
图8描绘了根据本发明的一个实施例的用户转换日志。
图9图示了根据本发明的一个实施例的用于确定针对未见网络的加权平均地理定位预测的过程。
图10描绘了根据本发明的一个实施例的针对未见网络的加权平均地理定位预测。
图11图示了根据本发明的一个实施例的用于确定针对未见网络的极值地理定位预测的过程。
图12图示了根据本发明的一个实施例的针对未见网络的极值地理定位预测。
图13图示了用于确定IP地址的地理定位的联网计算环境和服务器计算机。
图14图示了可以执行本文中公开的一个或多个方面的示例性平板计算设备。
图15A和图15B图示了可以实践本发明的示例的移动计算设备,例如,移动电话、智能电话、个人数字助理、平板个人计算机、膝上型计算机等。
图16是可以实践本公开的各方面的分布式计算***的简化框图。
具体实施方式
本公开现在将参考附图详细描述示例性实施例,附图中示出了示例性实施例。然而,其他方面可以以很多不同的形式来实现,并且在本公开中包括特定实施例不应当被解释为将这样的方面限于本文中阐述的实施例。而是,包括在附图中描绘的实施例以提供能够向本领域技术人员充分传达预期范围的彻底和完整的公开内容。当参考附图时,贯穿全文示出的相同的结构和元件用相同的附图标记来表示。在图中描绘的被另一对象覆盖的对象以及其参考注释使用虚线来示出。可选的步骤或模块也使用虚线来示出。
本文中公开了用于获取针对IP地址的准确地理定位信息的***和方法。公开了用于收集关于不依赖于用户位置的知识的用户查询的信息的方法,其允许确定用户跨IP地址的移动。本发明使用关于用户从其发送查询的IP地址的知识结合地理定位信息(例如,GPS和反向IP映射)来建立关于随时间的用户移动的信息的数据库。本发明还将该信息与当前的反向IP映射相结合以标识和确定针对其地理定位信息未知的网络的地理定位。通过创建这些映射,当用户查询***但自身不提供位置数据时,他们仍然可以被准确的位置服务,该准确的位置允许改进的搜索结果、有针对性的服务和广告。
描述了用于通过跟踪跨不同IP地址的用户移动,并且更具体地通过跟踪从具有已知地理定位的IP地址到具有未知地理定位的IP地址的用户移动来确定IP地址的物理位置的各种技术。该技术的各方面包括使用来自用户的查询的时间和基于IP的信息以及已知的地理定位信息来创建新的、高质量的地理定位映射。
图1图示了网络环境100的逻辑表示,其中用户被提供对诸如互联网的一个或多个公共通信网络140的访问。尽管仅示出了一个公共网络,但是网络140可以包括多个连接的网络。
网络环境100还包括允许客户端设备访问公共网络140和网络服务器150的其他网络,诸如网络A 160、网络B 162、网络C 164、网络D 166和网络E 168。如本文中使用的,“网络”是与特定设备或设备群组相关联的IP地址或IP地址范围。很多用户可以从相同IP地址连接到公共网络并且因此创建给定的用户网络,这些用户通常与给定的物理位置相关联。例如,用于实体企业的LAN,诸如网络D 166,是具有与特定用户相关联的IP地址范围的网络。“已知网络”是具有与其相关联的高质量(例如,相对准确的)地理定位信息的网络。换言之,它是物理位置已知的IP地址(或范围)。“未见网络”是物理位置未知的网络,因为没有将其IP地址映射到物理位置的准确的信息,或者因为根本没有地理定位信息。
如图2所示,网络A、B、C和D是已知网络,这些网络的地理定位信息是已知的。例如,网络A 202具有由多边形限定的地理定位边界,该多边形具有四个具有地理坐标的角:
网络B 212具有由多边形限定的地理定位边界,该多边形具有四个具有地理坐标的角:
网络C 222具有由多边形限定的地理定位边界,该多边形具有四个具有地理坐标的角:
网络D 232是具有由单个坐标组限定的地理定位的建筑物:
网络E是地理定位信息未知的未见网络。
返回图1,网络环境100不限于任何特定实现,而是实现用户设备可以使用IP地址连接到公共网络的任何计算环境。“用户”是使用计算设备访问一个或多个公共通信网络的任何人。例如,用户101使用客户端设备102来通过诸如网络B 162的LAN连接到公共网络140。客户端设备102可以被实现为能够使用IP地址来连接到公共网络的任何设备,作为示例而非限制,诸如智能电话、平板计算机、便携式计算机(例如,膝上型计算机)、台式计算机、可穿戴设备等。以下在图14、15A和15B中示出和描述客户端设备102的各种不同示例中的一个示例。如虚线113所示,可以通过防火墙来保护客户端设备102和/或LAN 162免受公共网络140的影响。
诸如客户端102的客户端设备包括使得各种活动和任务能够被执行的各种不同功能。例如,客户端设备102包括操作***104和应用106。通常,操作***104表示用于抽象客户端设备102的各种***组件的功能,诸如硬件、内核级模块和服务等。例如,操作***104可以将客户端设备102的各种组件抽象到应用106以实现组件与应用106之间的交互。
应用106表示用以使得各种任务和活动能够经由客户端设备102被执行的功能,诸如文字处理、网络浏览、电子邮件、社交媒体、企业任务等。例如,应用106包括允许客户端102连接到公共网络140(诸如互联网)和网络服务器150的浏览器112以及也允许客户端102连接到公共网络140和网络服务器150的天气应用124。应用106可以被本地安装在客户端设备102上以经由本地运行时环境来执行,和/或可以表示到远程功能的门户,诸如基于云的服务、网络应用等。因此,应用106可以采用各种形式,诸如本地执行的代码、到远程托管的服务的门户等。
网络环境100包括很多其他客户端设备,诸如客户端122和客户端132。虽然客户端122被示出为移动电话并且客户端132被示出为移动计算机,但是客户端设备可以是能够使用IP地址连接到公共网络的任何设备。在一个实施例中,客户端122通过蜂窝塔117和网络A160连接到公共网络140,并且客户端132通过连接到网络B 162的无线接入点119连接到公共网络140。然而,客户端可以以任何合适的方式连接到公共网络。此外,尽管客户端被示出为通过特定网络连接(例如,客户端132通过网络B 162连接到互联网),但是客户端可以移动物理位置和/或改变其逻辑连接并且通过任何数目的网络连接到公共网络140。
一个或多个网络服务器150也连接到公共网络140并且与诸如客户端102、122和132的客户端设备通信。虽然仅示出了一个网络服务器150,但是根据本发明的一个实施例,可以使用多于一个服务器计算机或单独的服务器,例如服务器群。***100还包括后端计算机***154,后端计算机***154可以提供搜索引擎服务或其他基于网络的服务。例如,后端***可以包括一个或多个服务器152和用于存储根据本发明的信息的一个或多个数据库156。下面在图13中示出和描述服务器150和152的各种不同示例中的一个示例。
根据本申请的实施例,用户101可以使用一个或多个应用106通过诸如网络B 162的网络和公共网络140向网络服务器150发送对信息或资源的请求,网络服务器150接收且响应请求并且提供所请求的信息或资源。例如,用户101可以使用客户端102上的网络浏览器112通过公共网络140(互联网)向网络服务器150发送搜索查询。网络服务器150将接收用户的搜索查询并且响应于查询而将搜索结果递送回用户。
当用户输入搜索查询时,他们的查询被标记有客户端标识符,诸如客户端ID 110,客户端标识符可以作为信息记录程序(cookie)108被存储在客户端设备102上。客户端ID110可以绑定到特定的人并且被用于此人在不同客户端设备上进行的查询。例如,客户端ID110可以绑定到针对特定服务的登录凭证,诸如Microsoft用户ID。此后,每次该用户在登录该服务时通过互联网发出请求时,将使用该客户端ID。在另一实施例中,客户端ID可以是随机生成的标签,该标签绑定到特定客户端设备或特定客户端设备上的特定应用。例如,用户101的移动电话可以具有一个客户端ID,并且她的膝上型计算机可以具有另一客户端ID。作为另一示例,客户端ID可以绑定到客户端102上的特定应用。浏览器112可以具有与天气应用124不同的、与其相关联的客户端ID。在任何情况下,来自相同用户和/或计算设备和/或应用的其他查询使用该相同客户端ID 110以将这些查询与相同用户101和/或设备102相关联。
学习随时间的用户转换
图3至图8图示了根据本发明的实施例的用于学习随时间的用户转换的过程。“用户转换”在特定用户或客户端设备改变被用来通过公共网络发送请求的IP地址时发生。请求可以是通过一个或多个公共网络使用IP地址发送的任何类型的消息。搜索查询是这样的请求的示例。可以通过比较被用来发送连续请求对中的每个请求的IP地址来检测用户转换。如果IP地址不同,则发生了用户转换。
该过程中的第一步骤是标识和聚合用户转换。使用用户查询日志,将每个被唯一地标识的用户查询与给定时间跨度内的其所有查询聚合在一起。然后,该过程遍历每个用户查询,并且使用与其相关联的时间戳来找到从不同IP地址查询的最近的连续查询对(之前和之后)。该步骤的输出是在给定时间范围内发生的所有用户转换的数据集。此时,每个数据点包括前IP地址、后IP地址和在两个查询之间经过的时间。
图3示出了用于收集关于针对用户101(图1)和/或客户端设备102(图1)的随时间的用户转换的信息的实施例,如箭头300所示。在步骤302处,客户端设备从用户101接收搜索查询308或其他请求。请求可以在客户端102上的任何应用106中进行,诸如浏览器应用112或天气应用124。例如,用户101可能已经使用客户端102上的浏览器应用112来经由网络服务器150访问搜索引擎网页。如上所述,客户端102需要IP地址以通过互联网发送信息,诸如搜索请求。通常,由客户端设备使用的IP地址不是静态的并且随时间变化。在步骤304处,客户端102使用IP地址A(例如,如图1和2所示的网络A 160)访问互联网。如果客户端102当前没有客户端ID 110,则随机生成客户端ID并且将其存储为信息记录程序。
在步骤312处,客户端102向网络服务器150发送搜索请求、以及查询308、与用户101和/或客户端102相关联的(结合图1讨论的)客户端ID 110和与被用来向网络服务器150发送搜索请求312的接入点相关联的IP地址A。搜索请求还包括标记搜索请求被发送的时间的时间戳312。在步骤316处,网络服务器150接收搜索请求并且使用图4所示的过程记录请求。在步骤318处,网络服务器处理查询以取回响应于查询308的搜索结果320。在步骤328处,网络服务器150向客户端102发送回搜索结果。
在稍后的时间点309,客户端102接收查询311并且使用IP地址A(例如,图1和2中的网络A 160)发送搜索请求322。尽管图3中未示出,但是搜索请求322还包括针对用户101和/或客户端102的客户端ID 110、IP地址A、以及标记请求322被发送的时间的时间戳。服务器150在步骤324处记录请求,在步骤326处处理查询,并且在步骤328处向客户端102发送回搜索结果。
在稍后的时间点300,客户端102接收搜索查询330。客户端102使用IP地址E 332(例如,图1中的网络E 168)通过互联网发送搜索请求334。客户端102可能正在使用与被用来发送搜索请求322和312的IP地址不同的IP地址来发送搜索请求334的原因有很多。例如,用户101和/或客户端102可能已经移动了物理位置。或者,用户101可能正在使用不同的客户端设备(诸如客户端122或客户端132)来发送搜索请求334。或者,客户端102可能已经从互联网断开连接或者在发送搜索请求334时被分配了不同的IP地址。尽管在图3中未示出,但是搜索请求334还包括针对用户101和/或客户端102的客户端ID、与被用来通过公共网络发送搜索请求334的接入点相关联的IP地址E 332、以及标记请求334被发送的时间的时间戳。服务器150在步骤336处(如结合图4更详细描述的)记录请求,在步骤338处处理查询,并且在步骤340处向客户端102发送回搜索结果。
在稍后的时间点300,客户端102接收搜索查询342。此时,客户端102使用IP地址C344(例如,图1和图2中的网络C 164)连接到互联网。客户端102使用IP地址C 344通过互联网发送具有查询342的搜索请求348。尽管在图3中未示出,但是搜索请求348还包括针对用户101和/或客户端102的客户端ID 110、IP地址C和针对请求348的时间戳。服务器150在步骤350处(如结合图4更详细描述的)记录请求,在步骤356处处理查询,并且在步骤358处向客户端102发送回搜索结果。
在稍后的时间点300,客户端102接收搜索查询360。此时,客户端102使用IP地址E362连接到互联网。客户端102使用IP地址E 362通过互联网发送具有查询360的搜索请求364。尽管在图3中未示出,但是搜索请求364还包括针对用户101和/或客户端102的客户端ID 110、IP地址E 362和针对请求364的时间戳。服务器150在步骤366处(如结合图4更详细描述的)记录请求,在步骤368处处理查询,并且在步骤370处向客户端102发送回搜索结果。
图4图示了用于记录请求(诸如图3中的记录请求316、324、336、350和366)以创建请求日志(参见图5)来跟踪随时间的用户转换的过程。在步骤402处,从客户端接收诸如搜索请求的请求。该请求可以在网络服务器150或后端服务器(诸如图1中的服务器152)或任何其他计算设备处接收。在步骤404处,服务器解析该请求以取回客户端ID、IP地址和时间戳。接下来,在步骤408处,它将该数据记录在搜索请求日志中,诸如图5所示的请求日志500。
图5图示了根据本发明的一个实施例的请求日志。日志500包括三个字段:指示哪个客户端发送了请求的客户端ID字段502;指示请求来自哪个IP地址的IP地址字段504;以及指示请求被发送的时间的时间戳字段506。例如,日志500中记录的第二请求508对应于在10:10:00来自IP地址A的从客户端102发送到网络服务器150的搜索请求312(图3)。日志500中记录的第四请求510对应于在11:15:00来自IP地址A的从客户端102发送到网络服务器150的搜索请求322(图3)。日志500中记录的第五请求512对应于在11:16:00来自IP地址E的从客户端102发送到网络服务器150的搜索请求334(图3)。日志500中记录的第十二请求514对应于在13:18:00来自IP地址C的从客户端102发送到网络服务器150的搜索请求348(图3)。日志500中记录的第十三请求516对应于在15:40:00来自IP地址A的从客户端102发送到网络服务器150的搜索请求364(图3)。请求日志500不限于任何特定的实现或格式,而是体现任何类型的日志,这些日志允许记录允许将请求和查询与特定用户相关联的信息,使得可以跟踪随时间的从一个网络到另一网络的用户转换。因此,例如,虽然请求日志500示出了三列信息,但是请求日志可以包括附加列,并且可以以不同的次序或格式来组织。此外,虽然请求日志500包括针对三个不同客户端ID的条目,但是日志可以具有更多或更少的客户端ID。请求日志可以被存储在诸如图1中的数据库156的数据库中,或者在任何其他地方或以任何其他格式来存储。
图6图示了用于将诸如请求日志500的请求日志中的信息变换为图8所示的转换日志800的过程。该转换日志的目的是标识从已知网络到未见网络的用户转换,反之亦然,这将允许在下一部分中确定针对未见网络的地理定位信息。
在步骤602处,取回请求日志(诸如日志500)。在一个实施例中,定期取回日志,诸如每24小时一次。在步骤604处,针对每个特定客户端ID聚合来自日志的请求。例如,可以按客户端ID对日志进行排序,使得针对特定ID的所有请求被分组在一起。在步骤606处,移除任何重复条目。重复条目应当至少具有相同的客户端ID、IP地址和时间戳。在步骤608处,按时间戳对每个客户端ID的所有请求进行排序以创建按时间顺序的新日志,诸如图7所示的日志700。
在图7中,来自请求日志500的针对客户端102的所有请求被聚合到群组708中。来自请求日志500的针对客户端122的所有请求被聚合到群组710中。来自请求日志500的针对客户端132的所有请求被聚合到群组712中。此外,每个群组中的所有请求按时间顺序排序。因此,例如,(如由针对客户端102和/或用户101的单个客户端ID标识的)针对客户端102的五个请求被组织为其中在组708中首先列出最早的请求714(其对应于图3中的搜索请求312)。针对客户端102的客户端ID的时间上的下一连续请求是请求716,请求716对应于来自图3的搜索请求322,并且被列出在请求714下面。针对客户端102的客户端ID的时间上的下一连续请求是请求718,请求718对应于来自图3的搜索请求334,并且被列出在请求716下面。针对客户端102的客户端ID的时间上的下一连续请求是请求720,请求720对应于来自图3的搜索请求348,并且被列出在请求718下面。而且,针对客户端102的客户端ID的下一(和最后的)连续请求是请求722,请求722对应于来自图3的搜索请求364,并且被列出在请求720下面。
返回图6,在步骤610处标识针对特定客户端ID的时间上最早的连续请求对。针对客户端102的最早的请求对是来自图7的请求714和716,复制如下:
客户端ID | IP地址 | 时间戳 |
102 | A | 11.00.00 |
102 | A | 11.15.00 |
在步骤612处,***确定请求对中的每个请求是否源自相同网络(例如,IP地址)。当请求对源自相同IP地址时,不存在本文中定义的用户转换并且该数据被忽略。在本例中,请求714和716都源自IP地址A(在612处“是”),因此该过程移动到步骤622,其中***查找下一连续请求对。如果存在另一对(在622处“是”),则***移动到步骤624。
在步骤624处,来自图7中的日志700的下一连续请求对是请求716和718,复制如下。
客户端ID | IP地址 | 时间戳 |
102 | A | 11.15.00 |
102 | E | 11.16.00 |
***在步骤612处确定这些请求中的每个请求是否源自相同IP地址。它们没有(在步骤612处“否”),因此该过程移动到步骤614以确定两个请求是否都来自已知网络。当两个请求都来自已知网络时,用户转换确实提供有关未见网络的地理定位的任何有用信息,因此该信息被忽略。如上面参考图1和2所讨论的,网络A、B、C和D是已知网络,因为***具有针对这些网络的准确的地理定位信息。网络E不是已知网络。在本例中,该请求对并非都来自已知网络(在614处“否”),因此该过程前进到步骤616。此处,***确定两个请求是否都来自未见网络,如果是,则是对确定未见网络的地理定位没有用。这些特定请求并非都来自未见网络(在步骤616处“否”),因此该过程前进到步骤618,其中计算请求716和718之间的经过时间。在步骤620处,将该连续请求对716和718添加到用户转换日志。
图8示出了根据本发明的一个实施例的用户转换日志800。日志800包括与针对连续请求对的客户端ID 810、已知IP地址812、未知IP地址814和(在图6的618处计算的)请求对之间的经过时间816相关的字段。例如,日志800的第一条目对应于图7的请求716和718,其中客户端ID来自客户端102,来自转换的已知IP地址是IP地址A,来自转换的未见IP地址是IP地址E,并且这些请求之间经过的时间是1分钟。
返回图6,该过程从步骤620移动到步骤622,其中***查找下一连续请求对。如果存在另一对(在622处“是”),则***移动到步骤624。在步骤624处,来自图7中的日志700的下一连续请求对是请求718和720,复制如下。
客户端ID | IP地址 | 时间戳 |
102 | E | 11.16.00 |
102 | C | 13.18.00 |
该请求对将被记录到用户转换日志中,因为它们源自不同的IP地址(在612处“否”)并且源自已知IP地址C和未见IP地址E(在614和616处“否”)。对于最后的请求对720和722也是如此,因此它们也将在步骤620处被记录。
当该方法在记录针对客户端102的最后请求之后前进到步骤622时,***将确定不存在针对客户端102的另一组连续请求(在622处“否”)并且该方法将前进到步骤626以确定是否存在针对不同客户端ID的另一组请求。如果是(在626处“是”),则该方法返回到步骤610以开始关于下一特定客户端ID工作。在该示例中,下一客户端ID是针对客户端122的,并且由图7中的群组710示出。群组710中的所有请求将被记录在用户转换日志中,除了连续请求对724和726之外,因为这两个请求源自相同IP地址(在步骤612处“否”)。
同样地,针对客户端132的群组712中的所有请求对将被记录,除了请求728和730之外,因为这些请求都源自未见网络(在步骤616处“否”)。当不存在针对任何其他客户端的请求时(在626处“否”),用户转换日志完成并且该过程结束。
预测针对未见网络的地理定位
图9至图12图示了根据本发明的实施例的、用于使用从上一部分学习的用户转换和诸如针对已知网络的地理定位信息的其他信息来准确地预测和确定未见网络的地理定位的过程。更具体地,上一部分的输出给出了从已知网络到未见网络的随时间的所有用户转换的大型数据集。该数据集与反向IP映射相结合以预测未见网络的地理定位。反向IP映射包括与形成多边形的多个点的地理坐标相关联的已知网络的IP地址,(如图2所示并且如上所述)该多边形限定这些点覆盖的地理区域。
在本发明的一个实施例中,使用加权预测算法来确定未见网络的地理定位。该算法确定针对馈送到未见网络中的每个已知网络的地理定位多边形的每个对应点(例如,角)的坐标的加权平均。针对每个已知网络的对应点的坐标由从该已知网络到未见网络的转换计数来加权以给出针对未见网络的每个对应点的加权平均坐标集。因此,例如,如果已知网络的每个地理定位多边形是正方形,则将有四个角(例如,点)被平均,该四个角将被称为角1(NW)、角2(NE)、角3(SW)和角4(SE)。针对每个角,将有两个坐标:经度和纬度。因此,加权平均预测算法将提供针对未见网络的地理定位的8个数据点,包括:
·角1(NW:经度,纬度);
·角2(NE:经度,纬度);
·角3(SW:经度,纬度);以及
·角4(SE:经度,纬度)。
图9图示了用于使用加权预测算法900来预测针对未见网络的地理定位信息的实施例。在步骤902处,***确定哪些已知网络具有到所讨论的未见网络的用户转换。例如,来自图8的用户转换日志800示出存在4个已知网络具有与未见网络E的至少一个转换。
在步骤904处,确定从每个已知网络到未见网络的转换计数。例如,针对用户转换日志800的步骤904的输出如下所示:
已知IP地址 | 未见IP地址 | 转换次数 |
A | E | 1 |
B | E | 3 |
C | E | 2 |
D | E | 2 |
接下来,在步骤906处计算针对已知网络的第一角的经度坐标的加权平均。在一个实施例中,用于使用来自日志800的用户转换来计算针对网络E的角1的经度的加权平均预测的公式如下所述,其中T是转换计数,C1是每个已知网络的NW角,并且“Long”是经度坐标:
在步骤908处,使用相同的公式来确定加权平均纬度坐标,除了“Lat”是针对角1的纬度坐标:
使用针对如图2所示的角1的坐标和来自日志800的转换计数,针对网络E=EC1(Lat)的角1(NW)的加权平均预测是:
在步骤910处,将针对网络E的地理定位多边形的角1(例如,NW角)的加权平均坐标设置为等于在步骤908和910中确定的公式的总和,如下所示:
该过程前进到步骤912,其中确定针对已知网络的第二(例如,NE)角的加权平均经度坐标。在步骤914处,确定针对已知网络的第二(例如,NE)角的加权平均纬度坐标。在步骤916处,将针对网络E的地理定位多边形的角2的加权平均坐标设置为等于在步骤912和914中确定的总和,如下所示:
该过程前进到步骤918,其中确定针对已知网络的第三(例如,SW)角的加权平均经度坐标。在步骤920处,确定针对已知网络的第三(例如,SW)角的加权平均纬度坐标。在步骤922处,将针对网络E的地理定位多边形的角3的加权平均坐标设置为等于在步骤918和920中确定的总和,如下所示:
该过程前进到步骤924,其中确定针对已知网络的第四(例如,SE)角的加权平均经度坐标。在步骤926处,确定针对已知网络的第四角的加权平均纬度坐标。在步骤924处,将针对网络E的地理定位多边形的角4的加权平均坐标设置为等于在步骤924和926中确定的总和,如下所示:
图10示出了使用图9中描述的加权平均预测算法的所得到的针对网络E 1002的地理定位多边形。点1 1004、点2 1006、点3 1008和点4 1010根据图9中描述的加权平均预测来创建限定针对网络E的地理定位预测的多边形1012(虚线)。
在本发明的一个实施例中,极值预测算法用于确定未见网络的地理定位。该算法标识针对被馈送到所讨论的未见网络中的已知网络的组合的、在任何给定方向上的最极值点以创建新的点集,这些点描述完全包含参与的已知网络的所有点的多边形。
图11图示了使用极值预测算法1100来预测针对未见网络的地理定位信息的实施例。在步骤1102处,***确定哪些已知网络具有到所讨论的未见网络的用户转换。例如,来自图8的用户转换日志800示出存在4个已知网络(A、B、C和D)具有与未见网络E的至少一个转换。
在步骤1104处,***取回针对具有到未见网络的转换的每个已知网络(即,在步骤1102中标识的那些已知网络)的地理定位多边形的每个点的坐标。在步骤1106和1108处,标识最小和最大纬度坐标。在步骤1110和1112处,标识最小和最大经度坐标。例如,针对已知网络A、B、C和D,以下包括在步骤1104处取回的坐标。粗体纬度坐标是在步骤1106和1108处中标识的最小和最大坐标。粗体经度坐标是在步骤1110和1112中标识的最小和最大坐标。
在步骤1116处,设置针对极值地理定位预测的四个点,其中第一点包括最大纬度坐标和最小经度坐标,第二点包括最大纬度坐标和最大经度坐标,第三点包括最小纬度坐标和最小经度坐标,并且第四点包括最小纬度坐标和最大经度坐标。
图12示出了使用图11中描述的极值预测算法的所得到的针对网络E 1202的地理定位多边形1212。更具体地,点1 1204、点2 1206、点3 1208和点4 1210根据图9中描述的加权平均预测来创建限定针对网络E的地理定位预测的多边形1212(虚线)。
在本发明的另一实施例中,可以测试前述地理定位预测的准确性,并且可以通过将加权平均预测与极值预测进行比较来确定地理定位。如果两者的比率太高(例如,高于预定阈值或最大允许比率),则可以拒绝加权预测地理定位信息。如果该比率是可接受的(即,小于或等于阈值),则加权平均预测可以用作针对未见网络的地理定位信息的确定。在一个实施例中,计算每个预测(A)(加权平均(AW)和极值(Ae))的面积,其中预测(A)的面积是经度和纬度坐标的函数,其被变换以计算地球的曲率。因此,A=Fn(Lat,Long,Lat1,Long2)*,其中*是用于计算地球的曲率的近似几何变换。该比率计算如下:
如果该比率超过最大数,例如4,则拒绝极值加权预测。如果该比率小于最大数,则加权平均预测可以用作地理定位的最终确定。在另一实施例中,该比率越低,加权平均预测的置信度可能越高。
如图所示,***1300可以包括一个或多个客户端计算设备1306和1308(例如,来自图1的客户端计算设备102、122和132),其运行应用并且可以如本文所述的通过网络发送请求。在一些示例中,客户端应用可以在客户端计算设备上本地执行。在其他示例中,客户端应用(例如,薄的客户端计算设备1304、1306上的移动app)可以与在一个或多个服务器计算设备(例如,服务器计算设备1308)上执行的应用的对应服务器版本进行(例如,经由网络1310)通信操作。在其他方面,一个或多个客户端计算设备不是执行应用的客户端版本,而是可以例如经由浏览器通过网络106远程访问在服务器计算设备1308或(例如,在诸如云计算环境的分布式计算环境中的)多个服务器计算设备上实现的应用。
如图13所示,转换反向IP预测应用1311由服务器计算设备1308实现。应当理解,转换反向IP预测应用1311的服务器版本也可以在跨多个服务器计算设备(未示出)的分布式环境(例如,云计算环境)中实现。此外,应当理解,转换反向IP预测应用1311的客户端或服务器版本可以能够确定未见网络的地理定位。虽然示出和描述了转换反向IP预测应用1311和相关联的组件1312-1320的服务器版本,但是这不应当被理解为限制。而是,转换反向IP预测应用1310的客户端版本可以类似地在客户端计算设备1302、1304上实现组件1312-1320。
在基本配置中,一个或多个客户端计算设备1302和1304是具有由一个或多个用户1302、1304操作的输入元件和输出元件的个人或手持计算机。例如,一个或多个客户端计算设备1306、1308可以包括以下中的一个或多个:移动电话;智能电话;平板计算机;平板电话;智能手表;可穿戴计算机;个人计算机;台式计算机;膝上型计算机;游戏设备/计算机(例如,);电视等。该列表仅是示例性的,并且不应当被视为限制。可以使用用于执行客户端转换反向IP预测应用和/或远程地访问转换反向IP预测应用1311的任何合适的客户端计算设备。
在一些方面,网络1306是诸如互联网的计算机网络。在这方面,网络1306可以包括局域网(LAN)、广域网(WAN)、互联网、无线和有线传输介质。在其他方面,服务器计算设备1308可以经由本地网络(例如,企业内联网)与***的一些组件通信,而服务器计算设备1308可以经由广域网(例如,互联网)与***的其他组件通信。此外,本文中描述的各方面和功能可以在分布式***(例如,云计算***)上操作,其中应用功能、存储器、数据存储和取回以及各种处理功能可以通过诸如互联网或内联网的分布式计算网络彼此远程操作。
如上所述,转换反向IP预测应用1311可以在服务器计算设备1308上实现。在基本配置中,服务器计算设备1308可以至少包括用于执行计算机可读指令的处理单元和***存储器。在一些方面,服务器计算设备1308可以包括分布式环境(例如,云计算环境)中的一个或多个服务器计算设备1308。服务器计算设备1308可以创建转换反向IP映射对象以用于经由网络1310在一个或多个客户端计算设备1304和/或一个或多个其他服务器计算设备(例如,服务器计算设备1324A和/或1324B)之间共享。
如图13所示,转换反向IP预测应用1311可以包括用于确定针对未见网络的地理定位的各种组件,包括请求日志组件1312、通信组件1314、转换组件1316、预测组件1318、映射组件1320等。在各方面,每个组件可以在其他组件之间传送和传递数据。各种组件可以使用硬件、软件或硬件和软件的组合来实现。此外,各种组件可以在单个服务器计算设备(例如,服务器计算设备1308)上执行,在多个服务器计算设备(例如,服务器计算设备1324A、1324B和/或1334)上执行,或者在客户端计算设备(例如,客户端计算设备1304、1306)上本地执行。
转换反向IP预测应用1310可以被配置为使用上述方法来确定针对未见网络的地理定位。
通信组件1314可以接收来自客户端设备1304、1306的一个或多个请求。在各方面,通信组件1314可以接收来自客户端设备的请求,诸如图3所示的来自客户端102的搜索请求312、322、334、348和364。在一个实施例中,通信组件1314可以基于分析被包含在请求中的信息来检测请求具有与映射网络有关的信息。例如,通信组件1314可以识别出请求包含客户端标识符、IP地址和时间戳。通信组件1314可以解析请求以取回客户端标识符、IP地址和时间戳,并且将该信息转发给请求日志组件1312。应当理解,通信组件1314可以通过任何合适的方式接收一个或多个请求。提供上述实施例是为了解释的目的,而不应当被认为是限制性的。
在本发明的实施例中,请求日志组件1312收集和存储在特定用户如结合上面的图3-5所述的在已知网络与未见网络之间移动时、在学习随时间的用户转换方面有用的信息。请求日志组件1312可以从如以上详述的请求接收信息,包括针对发出请求的用户或客户端设备或应用的标识符、用于发送请求的IP地址、以及标记请求被发送的时间的时间戳。请求日志组件1312使用该信息来创建请求日志,诸如图5所示的请求日志500。但是,如上所详述的,请求日志可以是包括这种类型信息的任何格式。请求日志组件1312可以将给定时间段内的请求日志(诸如请求日志1332)存储在数据存储装置1326中。
如以上在图5-8中详述的,转换组件1316标识针对特定用户从已知网络到未见网络的用户转换,或反之亦然。更具体地,转换组件1316从存储装置1326取回请求日志,诸如请求日志1332,并且将请求日志中的信息变换为数据存储装置1326中的转换日志1330。在各方面,转换组件1316可以聚合针对特定用户的请求,按时间对特定用户的请求进行排序,标识连续请求对,从反向IP映射1328取回信息以确定请求中的特定网络是已知还是未知,并且将用户转换添加到转换日志,诸如转换日志800和1330。
根据以上结合图9-12所述的本发明的实施例,预测组件1318使用用户转换(例如,来自转换组件1316的转换日志1330和针对已知网络的地理定位信息,诸如反向IP映射1328)来预测未见网络的地理定位。
在各方面,如结合图9和10所述,预测组件1318使用加权平均算法来预测针对未见网络的地理定位。例如,预测组件1318使用转换日志来确定哪些已知网络具有到未见网络的用户转换,并且进一步确定在该已知网络与未见网络之间有多少用户转换。预测组件1318可以通过与未见网络的转换计数来对每个已知网络的地理定位信息进行加权。然后,预测组件1318对每个参与的已知网络的加权地理定位信息求平均以创建针对未见网络的加权平均地理定位预测。
在本发明的其他方面,如结合图11和12所述的,预测组件1318单独地或与加权平均预测算法组合地使用极值预测算法来确定针对未见网络的地理定位。预测组件1318可以从反向IP映射1328访问每个参与的已知网络的地理坐标,并且比较坐标以找到针对所有这些已知网络的极值坐标。例如,预测组件1318可以标识最小和最大纬度坐标以及最小和最大经度坐标以创建包括针对未见网络的极值地理定位预测的地理定位多边形。在一个实施例中,预测组件1318将其地理定位预测1340存储在数据存储库1326中。
如上所述,映射组件1320确定来自预测组件1318的地理定位预测是否准确。在各方面,当映射组件确定预测准确时,它将针对该未见网络的地理定位信息存储为反向IP映射1328,并且将该网络的状态从未见变为已知。
应当理解,关于图13描述的各种设备、组件等不旨在将***和方法限于所描述的特定组件。因此,可以使用附加的拓扑配置来实现本文中的方法和***,和/或可以排除所描述的一些组件而不脱离本文中公开的方法和***。
图14至图16和相关联的描述提供了可以实现本公开的各方面的各种操作环境的讨论。然而,关于图14至图16示出和讨论的设备和***是出于示例和说明的目的,而不限制可以用于实现如本文所述的本公开的各方面的大量计算设备配置。
图14是图示可以实现本公开的各方面的计算设备1400的物理组件(例如,硬件)的框图。下面描述的计算设备组件可以具有用于在计算设备(例如,网络服务器150、服务器152和/或客户端102、122和132)上映射未见网络的计算机可执行指令,这些计算机可执行指令可以被执行以实现本文中公开的方法。在基本配置中,计算设备1400可以包括至少一个处理单元1402和***存储器1406。取决于计算设备的配置和类型,***存储器1406可以包括但不限于易失性存储器(例如,随机存取存储器)、非易失性存储器(例如,只读存储器)、闪式存储器或这些存储器的任何组合。***存储器1406可以包括操作***1407和适用于应用1420(诸如应用1428(例如,浏览器应用))的一个或多个程序模块1408,以及IO管理器1424和其他实用程序1426,特别是转换反向IP预测应用。
例如,操作***1407可以适合于控制计算设备1400的操作。此外,本公开的实施例可以结合图形库、其他操作***或任何其他应用程序来实现,而不限于任何特定应用或***。该基本配置在图14中通过虚线1422内的那些组件来图示。计算设备1400可以具有附加特征或功能。例如,计算设备1400还可以包括(可移动和/或不可移动的)附加的数据存储设备,诸如例如磁盘、光盘或磁带。这样的附加存储在图14中通过可移动存储设备1409和不可移动存储设备1410来图示。
如上所述,多个程序模块和数据文件可以被存储在***存储器1406中。当在处理单元1402上执行时,程序模块1406(例如,转换反向IP预测应用1311)可以执行包括但不限于本文中描述的各方面的过程。
此外,本公开的实施例可以在包括分立电子元件的电路、包含逻辑门的封装或集成电子芯片、利用微处理器的电路、或者包含电子元件或微处理器的单个芯片中实现。例如,本公开的实施例可以经由片上***(SOC)来实现,其中图14所示的每个或很多组件可以被集成到单个集成电路上。这样的SOC器件可以包括一个或多个处理单元、图形单元、通信单元、***虚拟化单元和各种应用功能,所有这些都作为单个集成电路被集成(或“烧制”)到芯片基底上。当经由SOC操作时,本文中描述的关于客户端切换协议的能力的功能可以经由与单个集成电路(芯片)上的计算设备1400的其他组件集成的应用特定的逻辑来操作。本公开的实施例还可以使用能够执行逻辑运算(诸如例如,与、或和非)的其他技术来实现,包括但不限于机械、光学、流体和量子技术。此外,本公开的实施例可以在通用计算机内或者在任何其他电路或***中实现。
计算设备1400还可以具有一个或多个输入设备1412,诸如键盘、鼠标、笔、声音或语音输入设备、触摸或滑动输入设备等。诸如显示器、扬声器、打印机的(多个)输出设备1414也可以被包括在内。上述设备是示例并且其他设备可以被使用。计算设备1400可以包括允许与其他计算设备1418通信的一个或多个通信连接1416。合适的通信连接1416的示例包括但不限于无线电频率(RF)发射器、接收器和/或收发器电路;通用串行总线(USB)、并行和/或串行端口。
本文中使用的术语计算机可读介质可以包括计算机存储介质。计算机存储介质可以包括以用于存储诸如计算机可读指令、数据结构或程序模块的信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。***存储器1406、可移动存储设备1409和不可移动存储设备1410都是计算机存储介质示例(例如,存储器存储)。计算机存储介质可以包括RAM、ROM、电可擦除只读存储器(EEPROM)、闪式存储器或其他存储器技术、CD-ROM,数字通用盘(DVD)或其他光学存储装置、磁盒、磁带、磁盘存储装置或者其他磁存储设备、或者可以用于存储信息并且可以由计算设备1400访问的任何其他制品。任何这样的计算机存储介质可以是计算设备1400的一部分。计算机存储介质可以是非暂态介质,其不包括载波或其他传播的或经调制的数据信号。
通信介质可以由计算机可读指令、数据结构、程序模块、或者诸如载波或其他传输机制的经调制的数据信号中的其他数据来体现,并且包括任何信息递送介质。术语“经调制的数据信号”可以描述具有以使得在信号中对信息进行编码的方式而被设置或改变的一个或多个特性的信号。作为示例而非限制,通信介质可以包括诸如有线网络或直接有线连接的有线介质、以及诸如声学、无线电频率(RF)、红外和其他无线介质的无线介质。
图15A和图15B图示了可以利用其实践本公开的实施例的移动计算设备1500,例如移动电话、智能电话、可穿戴计算机(诸如智能手表)、平板计算机、膝上型计算机等。在一些方面,客户端可以是移动计算设备。参考图15A,图示了用于实现各方面的移动计算设备1500的一个方面。在基本配置中,移动计算设备1500是具有输入元件和输出元件的手持式计算机。移动计算设备1500通常包括显示器1505和允许用户向移动计算设备1500中输入信息的一个或多个输入按钮1510。移动计算设备1500的显示器1505还可以作为输入设备(例如,触摸屏显示器)起作用。如果被包括,则可选的侧输入元件1515允许另外的用户输入。侧输入元件1515可以是旋转开关、按钮或任何其他类型的手动输入元件。在备选方面,移动计算设备1500可以包含更多或更少的输入元件。例如,在一些实施例中,显示器1505可以不是触摸屏。在又一备选实施例中,移动计算设备1500是便携式电话***,诸如蜂窝电话。移动计算设备1500还可以包括可选的键盘1535。可选的键盘1535可以是物理键盘或在触摸屏显示器上生成的“软”键盘。在各种实施例中,输出元件包括用于示出图形用户界面(GUI)的显示器1505、视觉指示器1520(例如,发光二极管)和/或音频换能器1525(例如,扬声器)。在一些方面,移动计算设备1500包括用于向用户提供触觉反馈的振动换能器。在又一方面,移动计算设备1500包括用于向外部设备发送信号或从外部设备接收信号的输入和/或输出端口,诸如音频输入(例如,麦克风插孔)、音频输出(例如,耳机插孔)和视频输出(例如,HDMI端口)。
图15B是图示移动计算设备的一个方面的架构的框图。也就是说,移动计算设备1500可以包括***(例如,架构)1502以实现某些方面。在一个实施例中,***1502被实现为能够运行一个或多个应用(例如,浏览器、电子邮件、日历、联系人管理器、消息传递客户端、游戏和媒体客户端/播放器)的“智能电话”。在一些方面,***1502被集成为计算设备,诸如集成的个人数字助理(PDA)和无线电话。
一个或多个应用程序1566可以被加载到存储器1562中并且在操作***1564上或与操作***1564相关联地运行。应用程序的示例包括电话拨号程序、电子邮件程序、个人信息管理(PIM)程序、文字处理程序、电子表格程序、互联网浏览器程序、消息传递程序等。***1502还包括存储器1562内的非易失性存储区域1568。非易失性存储区域1568可以用于存储在***1502断电时不应当丢失的永久信息。应用程序1566可以使用和存储非易失性存储区域1568中的信息,诸如由电子邮件应用使用的电子邮件或其他消息等。同步应用(未示出)也驻留在***1502上,并且被编程为与驻留在主计算机上的对应的同步应用交互以使被存储在非易失性存储区域1568中的信息与被存储在主计算机处的对应信息保持同步。应当理解,其他应用可以被加载到存储器1562中并且在移动计算设备1500上运行,包括用于创建和共享如本文所述的协作对象的指令(例如,请求日志组件、通信组件、转换组件、协作对象组件、权限组件和/或UX组件等)。
***1502具有电源1570,电源1570可以被实现为一个或多个电池。电源1570还可以包括外部电源,诸如补充或重新充电电池的AC适配器或动力对接支架。***1502还可以包括执行发射和接收无线电频率通信的功能的无线电接口层1572。无线电接口层1572经由通信运营商或服务供应商促进***1502与“外部世界”之间的无线连接。去往和来自无线电接口层1572的传输在操作***1564的控制下进行。换言之,由无线电接口层1572接收的通信可以经由操作***1564被传播到应用程序1566,反之亦然。
视觉指示器1520可以用于提供视觉通知,和/或音频接口1574可以用于经由音频换能器1525(例如,图15A所示的音频换能器1525)产生可听通知。在所示的实施例中,视觉指示器1520是发光二极管(LED),并且音频换能器1525可以是扬声器。这些设备可以被直接耦合到电源1570,使得它们在被激活时保持开启由通知机制指示的一段持续时间,即使处理器1560和其他组件可能关闭以节省电池电量。LED可以被编程为无限期地保持开启,直到用户采取行动来指示设备的通电状态。音频接口1574用于向用户提供可听信号和从用户接收可听信号。例如,除了被耦合到音频换能器1525之外,音频接口1574还可以被耦合到麦克风以接收可听输入,诸如以便于促进电话交谈。根据本公开的实施例,如下所述,麦克风还可以作为音频传感器起作用以促进控制通知。***1502还可以包括使得***设备1530(例如,车载相机)的操作能够记录静止图像、视频流等的视频接口1576。
实现***1502的移动计算设备1500可以具有附加的特征或功能。例如,移动计算设备1500还可以包括(可移动和/或不可移动)附加的数据存储设备,诸如磁盘、光盘或磁带。这种附加存储装置在图15B中由非易失性存储区域1568图示。
如上所述,由移动计算设备1500生成或捕获并且经由***1502被存储的数据/信息可以被本地存储在移动计算设备1500上,或者数据可以被存储在任何数目的存储介质上,这些介质可以由设备经由无线电接口层1572或经由移动计算设备1500和与移动计算设备1500相关联的单独计算设备(例如,诸如互联网的分布式计算网络中的服务器计算机)之间的有线连接来访问。应当理解,这样的数据/信息可以经由无线电接口层1572或经由分布式计算网络经由移动计算设备1500来访问。类似地,根据公知的数据/信息传送和存储装置,包括电子邮件和协作数据/信息共享***,这样的数据/信息可以在计算设备之间容易地被传送以用于存储和使用。
应当理解,图15A和图15B是为了说明本方法和***的目的而被描述,并且不旨在将本公开限制于特定的步骤序列或者硬件或软件组件的特定组合。
图16图示了用于处理在计算***处从远程源接收的数据的***的架构的一个方面,如上所述,诸如通用计算设备1604(例如,个人计算机)、平板计算设备1606或移动计算设备1608。在服务器设备1602处显示的内容可以被存储在不同的通信信道或其他存储类型中。例如,各种文档可以使用目录服务1622、网络门户1624、邮箱服务1626、即时消息存储库1628或社交网络服务1630来存储。转换反向IP预测应用1621可以由与服务器设备1602通信的客户端使用,和/或转换反向IP预测应用1620可以由服务器设备1602使用。服务器设备1602可以通过网络1615提供数据去往和来自客户端计算设备,诸如通用计算设备1604、平板计算设备1606和/或移动计算设备1608(例如,智能电话)。作为示例,上面参考图1至图11描述的计算机***可以在通用计算设备1604(例如,个人计算机)、平板计算设备1606和/或移动计算设备1608(例如,智能电话)中实现。除了接收可用于在图形起源***处被预处理或在接收计算***处被后处理的图形数据之外,计算设备的这些实施例中的任何实施例可以从存储库1616获取内容。
应当理解,图16是为了说明本方法和***的目的而被描述,并且不旨在将本公开限制于特定的步骤序列或者硬件或软件组件的特定组合。
在第一方面,提供了一种***。该***包括处理单元和存储计算机可执行指令的存储器,这些计算机可执行指令在由处理单元执行时使得***执行动作。例如,响应于计算机可执行指令,***接收针对项目的任务列表,其中任务列表包括多个任务,并且创建包括任务列表的协作对象。此外,***将任务与文档相关联并且接收对文档的更新以完成任务。响应于接收对文档的更新,***更新任务列表以反映任务的完成,并且提供用于在任务列表完成时执行动作的控件。
例如,以上参考根据本公开的各方面的方法、***和计算机程序产品的框图和/或操作图示描述了本公开的各方面。框中记录的功能/动作可以不按任何流程图所示的次序发生。例如,连续示出的两个框实际上可以基本上同时执行,或者取决于所涉及的功能/动作,这些框有时可以以相反的次序来执行。
本申请中提供的一个或多个方面的描述和说明不旨在以任何方式限制或制约本公开的范围。本申请中提供的方面、示例和细节被认为足以传达所有权并使其他人能够进行和使用所要求保护的公开内容的最佳模式。所要求保护的公开内容不应当被解释为限于本申请中提供的任何方面、示例或细节。无论是组合地还是单独地被示出和描述,(结构性的和方法性的)各种特征旨在选择性地被包括或被省略以产生具有特定特征集的实施例。本领域技术人员已经被提供本申请的描述和说明,他们可以设想落入本申请中体现的总体发明概念的较广泛方面的精神内的变型、修改和备选方面,其不脱离所要求保护的公开内容的较广泛的范围。
在整个说明书中已经参考“一个示例”或“示例”,这表示在至少一个示例中包括所描述的特定的特征、结构或特性。因此,这样的短语的使用可以是指多于一个示例。此外,所描述的特征、结构或特性可以在一个或多个示例中以任何合适的方式来组合。
然而,相关领域的技术人员可以认识到,可以在没有一个或多个具体细节的情况下,或者利用其他方法、资源、材料等来实现这些示例。在其他实例中,未详细示出或描述公知的结构、资源、或操作,仅仅是因为观察到模糊了示例的各方面。
虽然已经示出和描述了示范的示例和应用,但是应当理解,示例不限于上述的精确配置和资源。在不脱离所要求保护的示例的范围的情况下,可以对本文中公开的方法和***的布置、操作和细节进行对本领域技术人员而言很明显的各种修改、改变和变型。
Claims (20)
1.一种用于映射未见IP地址的计算机化***,其中所述***包括:
处理器;以及
存储计算机化指令的存储器,所述计算机化指令在由所述处理器执行时使得所述处理器:
从多个客户端计算机接收请求,其中所述请求中的每个请求包括客户端ID、IP地址和时间戳;
标识多个用户转换,其中所述用户转换中的每个用户转换包括连续请求对,其中所述连续请求对中的两个请求来自相同客户端计算机,并且其中所述连续请求对中的一个请求来自多个已知IP地址中的一个已知IP地址并且所述连续请求对中的另一请求来自所述未见IP地址;
获取针对所述多个已知IP网络中的每个已知IP网络的地理定位信息,其中所述地理定位信息包括地理坐标对;
基于所述多个用户转换和针对所述多个已知网络的所述地理定位信息来确定针对所述未见IP地址的地理定位信息。
2.根据权利要求1所述的计算机化***,还包括被存储在所述存储器中的计算机化指令,所述计算机化指令在由所述处理器执行时使得所述处理器:
确定针对所述未见IP地址的加权平均地理定位预测。
3.根据权利要求2所述的计算机化***,其中所述加权平均地理定位预测基于从所述多个已知IP地址中的每个已知IP地址到所述未见IP地址的转换的计数而被加权。
4.根据权利要求2所述的计算机化***,还包括被存储在所述存储器中的计算机化指令,所述计算机化指令在由所述处理器执行时使得所述处理器:
确定针对所述未见IP地址的极值地理定位预测,其中所述极值地理定位预测包括多边形,并且针对所有所述已知IP地址的所述地理坐标对中的每个地理坐标对被包含在所述多边形内。
5.一种用于确定未见网络的地理定位的计算机化方法,包括:
标识针对特定用户的用户转换,其中所述用户转换中的每个用户转换是在已知网络与所述未见网络之间;以及
收集针对具有到所述未见网络的转换的多个已知网络中的每个已知网络的地理定位信息,其中所述多个已知网络包括第一已知网络和第二已知网络;以及
基于所标识的所述用户转换和针对所述多个已知网络的所述地理定位信息来预测所述未见网络的所述地理定位。
6.根据权利要求5所述的计算机化方法,还包括:
确定所述第一已知网络与所述未见网络之间的用户转换的计数;以及
确定所述第二已知网络与所述未见网络之间的用户转换的计数。
7.根据权利要求6所述的计算机化方法,其中预测所述未见网络的所述地理定位还包括通过以下方式确定加权平均地理定位预测:
用所述第一已知网络与所述未见网络之间的用户转换的所述计数来加权针对所述第一已知网络的所述地理定位信息,以创建针对所述第一已知网络的加权地理定位信息;
用所述第二已知网络与所述未见网络之间的用户转换的所述计数来加权针对所述第二已知网络的所述地理定位信息,以创建针对所述第二已知网络的加权地理定位信息;
对针对所述第一已知网络的所述加权地理定位信息和针对所述第二已知网络的所述加权地理定位信息求平均。
8.根据权利要求7所述的计算机化方法,其中预测所述未见网络的所述地理定位还包括:通过从针对所述第一已知网络和所述第二已知网络的所述地理定位信息中标识多个极值坐标来确定极值地理定位预测。
9.根据权利要求8所述的计算机化方法,其中预测所述未见网络的所述地理定位还包括:
通过比较所述加权平均地理定位预测与所述极值地理定位预测来确定比率;以及
如果所述比率超过阈值,则拒绝所述加权平均地理定位预测。
10.根据权利要求9所述的计算机化方法,其中所述阈值是4。
11.根据权利要求5所述的计算机化方法,其中预测所述未见网络的所述地理定位还包括:通过从针对所述第一已知网络和所述第二已知网络的所述地理定位信息中标识多个极值坐标来确定极值地理定位预测。
12.根据权利要求5所述的计算机化方法,还包括:通过客户端ID标识所述特定用户。
13.根据权利要求5所述的计算机化方法,其中所述特定用户是特定计算设备。
14.根据权利要求5所述的计算机化方法,其中所述特定用户是特定计算设备上的特定应用。
15.根据权利要求5所述的计算机化方法,其中所述未见网络是IPv6地址。
16.根据权利要求5所述的计算机化方法,其中所述第一已知网络是IP地址范围。
17.根据权利要求5所述的计算机化方法,其中针对所述第一已知网络的所述地理定位信息等于针对所述第二已知网络的所述地理定位信息。
18.一种用于映射未见网络的计算机化方法,包括:
创建包括多个请求的请求日志,其中每个请求包括客户端ID、网络地址和时间戳;
基于所述请求日志创建用户转换日志,其中所述转换日志包括从已知网络到所述未见网络的多个用户转换,其中每个用户转换对应于连续用户请求对并且所述连续用户请求对中的每个用户请求来自相同客户端ID;
编译针对具有与所述未见网络的用户转换的所述已知网络中的每个已知网络的地理定位信息,其中所述地理定位信息包括针对所述已知网络中的每个已知网络的纬度和经度坐标;以及
基于所述用户转换日志和针对所述已知网络的所述地理定位信息来确定针对所述未见网络的地理定位信息。
19.根据权利要求18所述的计算机化方法,还包括:确定从所述已知网络中的每个已知网络到所述未见网络的转换的计数;并且将从所述已知网络中的每个已知网络到所述未见网络的转换的所述计数添加到所述用户转换日志。
20.根据权利要求18所述的计算机化方法,还包括:基于来自针对所述已知网络的所述地理定位信息的最小纬度坐标、最大纬度坐标、最小经度坐标和最大经度坐标,确定针对所述未见网络的地理定位多边形。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310439719.4A CN116383327A (zh) | 2016-10-27 | 2017-10-18 | 使用随时间的用户转换来确定ip地址的地理定位 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/336,225 | 2016-10-27 | ||
US15/336,225 US10298704B2 (en) | 2016-10-27 | 2016-10-27 | Determining geolocation of IP addresses using user transitions over time |
PCT/US2017/057072 WO2018080855A1 (en) | 2016-10-27 | 2017-10-18 | Determining geolocation of ip addresses using user transitions over time |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310439719.4A Division CN116383327A (zh) | 2016-10-27 | 2017-10-18 | 使用随时间的用户转换来确定ip地址的地理定位 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109844732A CN109844732A (zh) | 2019-06-04 |
CN109844732B true CN109844732B (zh) | 2023-05-12 |
Family
ID=60245206
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780064738.6A Active CN109844732B (zh) | 2016-10-27 | 2017-10-18 | 使用随时间的用户转换来确定ip地址的地理定位 |
CN202310439719.4A Pending CN116383327A (zh) | 2016-10-27 | 2017-10-18 | 使用随时间的用户转换来确定ip地址的地理定位 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310439719.4A Pending CN116383327A (zh) | 2016-10-27 | 2017-10-18 | 使用随时间的用户转换来确定ip地址的地理定位 |
Country Status (4)
Country | Link |
---|---|
US (2) | US10298704B2 (zh) |
EP (1) | EP3532948A1 (zh) |
CN (2) | CN109844732B (zh) |
WO (1) | WO2018080855A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10298704B2 (en) * | 2016-10-27 | 2019-05-21 | Microsoft Technology Licensing, Llc | Determining geolocation of IP addresses using user transitions over time |
US10924560B2 (en) * | 2018-07-30 | 2021-02-16 | Facebook, Inc. | Determining geographic locations of network devices |
CN113840020B (zh) * | 2021-09-28 | 2023-06-02 | 中国联合网络通信集团有限公司 | 基于ip地址信息的定位方法、装置、电子设备和存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103973837A (zh) * | 2014-05-27 | 2014-08-06 | 北京瑞汛世纪科技有限公司 | 一种确定物理位置信息的方法和装置 |
CN104168341A (zh) * | 2014-08-15 | 2014-11-26 | 北京百度网讯科技有限公司 | Ip地址的定位方法和cdn调度方法以及装置 |
WO2015143407A2 (en) * | 2014-03-20 | 2015-09-24 | Geocommerce Inc. | System and method for identifying users on a network |
EP2938045A1 (fr) * | 2014-05-20 | 2015-10-28 | Proxistore S.A. | Méthode de géolocalisation |
CN105074492A (zh) * | 2013-01-28 | 2015-11-18 | 微软技术许可有限责任公司 | 确定移动用户终端的位置 |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030036949A1 (en) * | 1999-12-10 | 2003-02-20 | Karim Kaddeche | Method and system for targeting internet advertisements and messages by geographic location |
US6684250B2 (en) | 2000-04-03 | 2004-01-27 | Quova, Inc. | Method and apparatus for estimating a geographic location of a networked entity |
US6665715B1 (en) * | 2000-04-03 | 2003-12-16 | Infosplit Inc | Method and systems for locating geographical locations of online users |
US7062572B1 (en) | 2001-03-19 | 2006-06-13 | Microsoft Corporation | Method and system to determine the geographic location of a network user |
US7100204B1 (en) | 2002-04-05 | 2006-08-29 | International Business Machines Corporation | System and method for determining network users' physical locations |
US20050071417A1 (en) | 2003-09-29 | 2005-03-31 | Jeffrey Taylor | Method and apparatus for geolocation of a network user |
GB0621625D0 (en) * | 2006-10-31 | 2006-12-06 | Trisent Comm Ltd | Location detection |
US8024454B2 (en) * | 2007-03-28 | 2011-09-20 | Yahoo! Inc. | System and method for associating a geographic location with an internet protocol address |
US7937336B1 (en) | 2007-06-29 | 2011-05-03 | Amazon Technologies, Inc. | Predicting geographic location associated with network address |
CN102104635B (zh) * | 2009-12-17 | 2014-07-16 | 阿里巴巴集团控股有限公司 | 一种更新互联网协议ip地址库的方法和装置 |
US8615605B2 (en) | 2010-10-22 | 2013-12-24 | Microsoft Corporation | Automatic identification of travel and non-travel network addresses |
US8874713B1 (en) * | 2011-02-18 | 2014-10-28 | Google Inc. | Location correction |
US20160006628A1 (en) | 2011-05-02 | 2016-01-07 | Google Inc. | Determining geo-locations of users from user activities |
US8914235B1 (en) * | 2011-05-10 | 2014-12-16 | Google Inc. | System and method for detecting a user location using a latest available location |
US9838301B2 (en) | 2011-06-30 | 2017-12-05 | Neustar Ip Intelligence, Inc. | System and method for predicting the geographic location of an internet protocol address |
US8788437B2 (en) | 2011-07-28 | 2014-07-22 | Quova, Inc. | System and method for implementing a learning model for predicting the geographic location of an internet protocol address |
US9026145B1 (en) * | 2012-03-23 | 2015-05-05 | Google Inc. | Systems and methods for mapping IP-addresses to geolocations |
US8972570B1 (en) | 2012-08-17 | 2015-03-03 | Facebook, Inc. | Implicit geolocation of social networking users |
US9729504B2 (en) | 2014-07-29 | 2017-08-08 | Aaa Internet Publishing Inc. | Method of near real-time automated global geographical IP address discovery and lookup by executing computer-executable instructions stored on a non-transitory computer-readable medium |
US20150120436A1 (en) | 2012-10-19 | 2015-04-30 | Google Inc. | Systems, methods, and computer-readable-media for determining a multilocation predicted click-through rate for advertisements |
US9298831B1 (en) | 2013-12-13 | 2016-03-29 | Google Inc. | Approximating a user location |
US9661066B2 (en) | 2014-06-18 | 2017-05-23 | Yahoo! Inc. | System and method for address based locations |
US9753946B2 (en) | 2014-07-15 | 2017-09-05 | Microsoft Technology Licensing, Llc | Reverse IP databases using data indicative of user location |
US10298704B2 (en) * | 2016-10-27 | 2019-05-21 | Microsoft Technology Licensing, Llc | Determining geolocation of IP addresses using user transitions over time |
-
2016
- 2016-10-27 US US15/336,225 patent/US10298704B2/en active Active
-
2017
- 2017-10-18 CN CN201780064738.6A patent/CN109844732B/zh active Active
- 2017-10-18 EP EP17794147.3A patent/EP3532948A1/en not_active Withdrawn
- 2017-10-18 WO PCT/US2017/057072 patent/WO2018080855A1/en unknown
- 2017-10-18 CN CN202310439719.4A patent/CN116383327A/zh active Pending
-
2019
- 2019-04-17 US US16/386,871 patent/US10887409B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105074492A (zh) * | 2013-01-28 | 2015-11-18 | 微软技术许可有限责任公司 | 确定移动用户终端的位置 |
WO2015143407A2 (en) * | 2014-03-20 | 2015-09-24 | Geocommerce Inc. | System and method for identifying users on a network |
EP2938045A1 (fr) * | 2014-05-20 | 2015-10-28 | Proxistore S.A. | Méthode de géolocalisation |
CN103973837A (zh) * | 2014-05-27 | 2014-08-06 | 北京瑞汛世纪科技有限公司 | 一种确定物理位置信息的方法和装置 |
CN104168341A (zh) * | 2014-08-15 | 2014-11-26 | 北京百度网讯科技有限公司 | Ip地址的定位方法和cdn调度方法以及装置 |
Also Published As
Publication number | Publication date |
---|---|
US10298704B2 (en) | 2019-05-21 |
WO2018080855A1 (en) | 2018-05-03 |
US10887409B2 (en) | 2021-01-05 |
US20180124191A1 (en) | 2018-05-03 |
EP3532948A1 (en) | 2019-09-04 |
US20190245936A1 (en) | 2019-08-08 |
CN109844732A (zh) | 2019-06-04 |
CN116383327A (zh) | 2023-07-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20180350009A1 (en) | Using Metadata to Summarize Social Media Content | |
EP3097704B1 (en) | Determing data associated with proximate computing devices | |
US9247386B2 (en) | Location-based mobile application and service selection | |
US9026145B1 (en) | Systems and methods for mapping IP-addresses to geolocations | |
US7680067B2 (en) | Peer-to-peer data synchronization architecture | |
US9578461B2 (en) | Location context, supplemental information, and suggestions for meeting locations | |
US20170286534A1 (en) | User location profile for personalized search experience | |
US9141656B1 (en) | Searching using access controls | |
US20200042558A1 (en) | Entity resolution | |
US20180124155A1 (en) | Network-based group communication and file sharing system | |
US20220237566A1 (en) | Method and system for identifying emails and calendar events associated with projects of an enterprise entity | |
EP2771806A1 (en) | Electronic device management using interdomain profile-based inferences | |
CN109844732B (zh) | 使用随时间的用户转换来确定ip地址的地理定位 | |
US10992772B2 (en) | Automatically relating content to people | |
TWI590621B (zh) | 具有子區的動態且智慧的網域名稱伺服器(dns)路由 | |
CN108491502B (zh) | 一种新闻追踪的方法、终端、服务器及存储介质 | |
US9691106B2 (en) | Location based friend finding | |
US9276757B1 (en) | Generating viral metrics | |
US10909138B2 (en) | Transforming data to share across applications | |
JP2020514877A (ja) | クロスネットワークイベントアトリビューションを提供するためのシステムおよび方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |