CN103004102B - 地理定位系统及方法 - Google Patents
地理定位系统及方法 Download PDFInfo
- Publication number
- CN103004102B CN103004102B CN201180034504.XA CN201180034504A CN103004102B CN 103004102 B CN103004102 B CN 103004102B CN 201180034504 A CN201180034504 A CN 201180034504A CN 103004102 B CN103004102 B CN 103004102B
- Authority
- CN
- China
- Prior art keywords
- internet host
- terrestrial reference
- network
- reference internet
- host
- 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.)
- Expired - Fee Related
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/12—Discovery or management of network topologies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0852—Delays
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
用于确定目标互联网主机的派生地理位置的方法包括通过网络识别目标互联网主机以及与它有通讯耦合的多个地标互联网主机。该方法还包括沿着不同网络路径传送到目标互联网主机和地标互联网主机的探测包的网络延迟并基于网络延迟计算目标互联网主机与一个或多个地标互联网主机之间的相对距离。该方法进一步包括比较相对距离以识别至少一个比一个或多个其它地标互联网主机地理上更靠近目标互联网主机的地标互联网主机并基于至少一个地理上靠近目标互联网主机的地理位置确定目标互联网主机派生的地理位置。
Description
相关专利交叉引用
本申请主张共同未决的美国临时专利的优先权,申请号为61/334,479,申请于2010年5月13日,名为“准确确定互联网主机地理位置的方法”(以下简称为479申请),和共同未决的美国临时专利,申请号为61/468,951,申请于2011年3月29日,名称为“面向街道级别的客户端独立IP定位”(以下简称951申请)。479申请和951申请的全部公开内容以引用方式引入本文。
发明背景
确定互联网主机的地理位置对许多互联网应用是有价值的。例如,知道主机的地理位置或大致的地理位置能够简化大型系统上的网络管理,协助网络诊断,并能够实现基于位置的广告服务。互联网主机包括一个或多个计算机,例如服务器,用于提供服务,如网站托管、电子邮件服务等。已知的系统和方法可以提供互联网主机的粗粒度的地理定位,例如在州或者城市水平上。然而,这种粗粒度的地理定位在许多情况下会存在一些不足,如确定需要维修的互联网主机,确定人口稠密地区相关业务,诸如此类等。
已知的系统和方法是客户端协助的,也就是说互联网主机自身(或管理主机的实体)自愿提供主机的地理位置。然而,许多利用地理定位服务的应用,如基于位置的访问限制,内容感知的安全性,和在线广告,不能依靠来自客户端的地理定位的自愿支持,例如,并非所有的客户端愿意公开其互联网主机的位置。
其他已知的系统和方法使用了在线数据库,例如Whois数据库,提供互联网主机的IP地址信息和主机的注册地。但是,一些拥有广泛分布在不同位置的主机的较大的商业机构将主机的域名以同一地理位置注册,如总部机构的邮政地址。这就导致挖掘Whois数据库可能只得到总部的主机的位置,而不是主机的实际地理位置。
因此需要有一种系统和方法,能够确定或者大概估计互联网主机的地址,至少比已知的系统和方法准确或更精确的,或者在不访问或者控制互联网主机的情况下能够识别或大概确定互联网主机的位置。
发明详述
本发明所述的至少一个实施例提供了一种用于确定目标互联网主机派生地理位置的方法。该方法包括识别通过分组交换网络大量相互连通并与目标互联网主机连通的地标互联网主机。该方法还包括测量在网络中的沿不同网络路径传输到目标互联网主机和多个地标互联网主机中的每个的探测报文的网络延迟,并基于网络延迟计算目标互联网主机和地标互联网主机中的一个或多个之间的相对距离。该方法进一步包括对相对距离进行比较,以确定至少一个地标互联网主机,该主机在地理位置上比一个或多个其它地标互联网主机更接近目标互联网主机,基于至少一个地理上更靠近目标互联网主机的地标互联网主机的地理位置确定目标互联网主机的派生地理位置。
在另一实施例中,地理位置系统包括定位模块,距离计算模块,和地标识别模块。定位模块用于识别通过分组交换网络与目标互联网主机连接和彼此相互连接的多个地标互联网主机。距离计算模块用于测量在网络中沿不同网络路径传输到目标互联网主机和地标互联网主机中的每个的探测数据包的网络延迟。距离计算模块也用于基于网络延迟计算目标互联网主机和一个或多个地标互联网主机之间的相对距离。地标识别模块用于比较相对距离以确定的至少一个在地理位置上比其它地标互联网主机更靠近目标互联网主机的地标互联网主机。定位模块还用于基于至少一个地理位置上更靠近目标互联网主机的地标互联网主机的地理位置确定目标互联网主机的派生地理位置。
在另一实施例中,一种具有处理器的用于地理定位系统的计算机可读存储介质。该介质包括一个或多个指令集指示处理器识别通过分组交换网络彼此相互联通和与目标互联网主机联通的的多个地标互联网主机。指令集还指示处理器测量在网络中沿不同网络路径传送到目标互联网主机与多个地标互联网主机中的每个探测包的网络延迟。指令集还指示所述处理器基于网络延迟计算目标互联网主机与地标互联网主机中的一个或多个之间的相对距离。进一步的,指令集指示处理器比较相对距离,以确定至少一个地标互联网主机,该地标互联网主机在地理上比其他的一个或多个地标互联网主机更靠近目标互联网主机。指令集指示处理器基于至少一个地理位置上更靠近目标互联网主机的地标互联网主机的地理位置确定目标互联网主机的派生地理位置。
附图概述
通过阅读下述非限制性的实施例,及参考附图能更好的理解本发明的主题,其中:
图1是地理定位系统的一个实施例框图;
图2A和2B包括用于确定图1中所示的目标互联网主机派生地理位置方法的实施例的流程图;
图3表示具有关注区域的地图的示例;
图4表示具有关注区域的地图的另一示例;
图5表示与一实施例相对应的图3所示的关注区域的地图;
图6是多个分组交换网络的路径延伸穿过图1中所示的网络的一个示例框图;
图7为与一实施例对应的图1中所示的网络中的另一部分的框图;
图8是与一实施例对应的关注区域和削减关注区域的另一个地图;
图9是根据一实施例用于提取和验证图1中所示的地标互联网主机位置方法的流程图;
图10是一示例的屏幕截图,用于根据一实施例获得图1中所示的地标互联网主机;
图11是另一示例的屏幕截图,用于得到图1中所示地标互联网主机;
图12显示了地理定位系统的一实施例。
详细描述
根据所述的一个或多个实施例,本发明提供了一种地理定位系统和方法以基于一个或多个地标互联网主机的地理位置确定目标互联网主机派生地理位置。术语“互联网主机”包括一个实体机构,如商业场所,政府办公场所,大学,学校,个人,或类似机构的一个或多个计算机,如一个或多个托管主机网站,电子邮件服务,社交网络,或其他基于计算机的服务的服务器。互联网主机可以有一个或多个相关联的互联网协议(IP)地址和/或域名。如本文所用,术语“计算机”可表示一个单一的,独立的个人计算机,多个互连的计算机或处理器,一个或多个服务器,和诸如此类的事物。例如,互联网主机可以包括一个企业的托管业务网站的服务器。
目标互联网主机可以与一个实体机构相关联,如商业机构,政府部门,学校,大学,以及类似的机构,其具有未知的或不确定的地理位置,本发明所述的一个或多个实施例试图寻找发现其地理位置。一个地标互联网主机可以与具有IP地址和/或域名,具有固定和/或已知的地理位置的实体机构相关联。例如,托管商业网站或其他任意业务的服务器,邮件交换服务器,个人电脑,个人数字用户线(DSL)或电缆家用路由器或调制解调器,等等,具有相对稳定(例如,不要经常变更)的地理位置可用作地标互联网主机。另外,一个或多个目标互联网主机和/或地标互联网主机可以不与实体机构相关联。
用户可以使用该系统以确定目标互联网主机派生的地理位置(例如,邮政地址和/或用户的当前位置的附近)。在一实施例中,该系统和方法确定目标互联网主机派生地理位置,无需事先了解目标互联网主机的邮政地址,无需具有目标互联网主机的管理访问权限,无需从第三方机构(例如,拥有或控制目标互联网主机的机构)获得目标互联网主机的真实地理位置,和/或无需非法取得(例如,入侵到的计算机)目标互联网主机的位置。例如,用于确定目标互联网主机派生地理位置的地标互联网主机可以是“无源装置”,如不由用户或地理定位系统控制的设备。
此处所述的方法和系统的多个实施例中至少一个技术效果包括自动提供一个人与一个精确确定的商业机构,学校,政府办公室,和类似的机构的位置,人或自动化系统不具有访问或控制节点(例如,路由器,网关等)或用于确定位置的互联网主机的权限。位置可用于广告目的(例如,对人提供有针对性的广告),导航目的(例如,为了更准确地指示该人的位置),和类似应用。由所述系统和方法确定的位置比目前已有的在不具有访问或控制商业机构、学校、政府办公机构或类似机构的互联网主机的权限的系统和方法所提供的位置更准确(例如,更接近企业,学校,政府办公机构实际地理位置)。另一个技术效果是可以准确确定互联网主机的大致位置用于诊断和/或维修的目的,用于提供基于位置的到主机的访问限制,和/或用于内容感知的安全性。
图1是地理定位系统100的一个实施例框图。该系统100可以包括一个或多个逻辑上相互关联的计算机以确定目标互联网主机102的派生地理位置。系统100使用一个或多个地标互联网主机104,以确定目标互联网主机102派生地理位置。地标互联网主机104可以代表电脑,托管网站,电子邮件服务,社交网络,或其他服务。地标互联网主机104可以与称为“真实位置”、“报告位置”和/或“核实位置”的地理位置相关联。实际位置可以代表地标互联网主机104所位于的真实地理位置(例如,邮寄地址)。报告位置可以代表具有托管在地标互联网主机104上的服务,例如网站或电子邮件交换,的实体(例如,企业,学校,政府部门,大学,和类似机构)相关联的地理位置。核实位置可以代表地标互联网主机104已被证实是准确的实际位置的地理位置。地标互联网主机104一般由数字号码104表示,并分别表示为数字标号104A,104B,104C,以此类推。另外,虽然图示只有四个地标互联网主机104,其他数量的地标互联网主机104也是可行的。例如,一个相对大数目的地标互联网主机104也可以用于系统100(例如,数千,数百,数千,数百万等)。
系统100,目标互联网主机102和地标互联网主机104与一个或多个网络相互连通。在图1的框图中,与系统100、目标互联网主机102,地标互联网主机104连通的网络图示为单一网络106。网络106代表网络的全体或局部,一个或多个局域网,和/或其它提供计算机之间数据通讯的网络。例如网络106可以包括一个或多个分组交换网络,具有多个节点,从开始节点(数据传输)到结束节点(接收数据)沿着穿过网络节点的分组交换网络路径通讯分组数据。节点可以沿彼此之间的网络路径交接、传送数据包。词汇“节点”包括一个电子元件,沿网络路径接收数据包和传送数据包到另一电子元件使得数据包可以从源到目的地连通。节点的例子包括网络适配器、交换机、路由器、网关、其它网络节点、等等。
在一实施例中,系统100定位目标互联网主机102,通过识别地理关注区域,该区域包括目标互联网主机102的地理位置和一个或多个地标互联网主机104的地理位置。一旦识别关注区域,系统100,通过确定目标互联网主机102和一个或多个地标Internet主机104之间的相对距离降低关注区域的的面积。“相对距离”可以表示基于传输数据包到地标互联网主机104和目标互联网主机102的网络延迟计算的在地标互联网主机104中的每个和目标互联网主机102之间的地理距离(例如,欧氏空间中的线性距离,大圆距离,顺向距离,诸如此类)和/或在互联网上的路径(例如,在互联网空间的最短路径,如在互联网空间具有最小的延迟的路径,或在互联网空间比一个或多个其他的路径更短的路径),如下所述。相对距离与实际的地理距离可能不同(例如,“现实世界”的距离,可以用物理方法测量),但与实际地理距离成比例。例如,地标互联网主机104B相比另一地标互联网主机104D具有较小的到目标互联网主机102的相对距离,这表明,地标互联网主机104B在地理上更接近目标互联网主机102,即使相对距离可能不等于地标互联网主机104和目标互联网主机102之间真实的地理距离。
如下所述,系统100通过发送到目标互联网主机102和选定的地标互联网主机104的探测数据包(例如,数据包由路由追踪软件或工具发出)计算目标互联网主机102和一个或多个地标互联网主机104之间的相对距离。系统100由探测包和相关联的网络延迟确定所经过的网络路径并基于网络路径和网络延迟计算相对距离。系统100使用相对距离以确定哪些地标互联网主机104更接近目标互联网主机102。
系统100基于更接近与目标互联网主机102的地标互联网主机104进一步减小关注区域的面积。然后系统100在面积减小后的关注区域确定目标互联网主机102和一个或多个地标互联网主机104之间的附加相对距离。基于附加相对距离,系统100得以识别一个或多个更接近与目标互联网主机102的地标互联网主机104。在一实施例中,系统100识别一个最接近目标互联网主机102的地标互联网主机104。系统100可使用多个地标互联网主机104或一个单一的地标互联网主机104。例如,系统100可以由至少一个地标互联网主机104的地理位置确定目标互联网主机102派生的地理位置,至少一个地标互联网主机104的地理位置比其它一个或多个地标互联网主机104更靠近目标互联网主机102或者其靠近目标互联网主机102。此外,系统100可以由单独的地标互联网主机104的地理位置确定目标互联网主机102的派生地理位置,该单独的地标互联网主机104的地理位置比其它一个或多个地标互联网主机104更靠近目标互联网主机102或者其靠近目标互联网主机102。
继续参考图1,图2A和2B包括方法200实施例的流程图,该方法200用于确定图1所示目标互联网主机102派生的地理位置。目标互联网主机102派生的地理位置可以是相对靠近目标互联网主机102的位置(例如,目标互联网主机102的近似位置)。例如,由方法200确定的派生地理位置可能在目标互联网主机102真实位置的2km(1.24英里)范围内。在另一实施例中,由方法200确定的派生地理位置可能在目标互联网主机102真实位置的690m(0.43英里)范围内。此外,派生地理位置可在目标互联网主机102真实位置的不同距离范围内。
在202中,关注区域已被识别。关注区域代表一个地理区域,例如地球表面的一部分,包含有图1所示的目标互联网主机102的真实地理位置。关注区域可以基于图1所示的网络106的网络延迟得以识别。在一实施例中,通过从多个发送计算机302(图3所示),例如ping服务器到目标互联网主机102传送探测包,例如标注为“pings”的数据包,确定关注区域。探测包穿过图1所示的网络106的一个或多个节点到目标互联网主机102。一个或多个数据包(如,应答包)从目标互联网主机102发出以应答发送计算机302。与探测包和/或应答包相关的时间或延迟作为探测包的“往返时间”或“往返延迟”。往返时间或延迟代表探测包或响应包所经过的网络106中网络路径的网络延迟。
往返时间或延迟可以转换为可计算的地理距离。例如,探测包以预计速度穿过图1所示的网络106,基于预计速度和往返时间,可以计算地理距离。在一实施例中,探测包的速度预计在光速(c,或接近299,792,458米每秒)的4/9(或接近0.44)和2/3(或接近0.67)之间。此外还可使用光速的不同百分比。探测包穿过网络106所途径的路径的地理距离可以基于该公式进行估算:
DP=K×c×tRT(公式#1)
其中Dp代表图3所示的发送探测包的发送计算机302和图1所示的目标互联网主机102之间计算的地理距离,K代表常数(例如光速的4/9、2/3或光速的另一比例),c表示光速,tRT代表探测包的网络延迟(例如,探测包到达目标互联网主机102所需的时间)。此外,也可使用其它的公式,例如另一种时间和数据传输速度。
图3显示了具有关注区域300的地图304的示例。地图304显示了若干发送计算机302(例如ping服务器)的位置和目标互联网主机102的近似位置。发送计算机302以参考数字302表示,并分别以数字302A,302B,302C表示。虽然图示中仅用了三个发送计算机302,其它数量的发送计算机也是可用的。
在一实施例中,探测包从发送计算机302到目标互联网主机102,测量探测包的网络延迟。例如,包含从发送计算机302到目标互联网主机102的探测包的传输所用时间可以测量并用于计算多个探测包中的每一个的地理距离(Dp),如使用上述公式#1。此外,计算地理距离(Dp)也可采用其它方式确定。
环绕发送计算机302的边界306得以确定。
如图3所示,边界306为环绕每个发送计算机302的圆环形状。每个边界306环绕一围绕相关联的ping服务器302的区域308。区域308以数字308表示,并单独标示为数字308A,308B,308C。边界306的大小取决于计算的地理距离(Dp)。例如,每个边界306的半径可以是与相应的发送计算机302相关计算的地理距离(Dp)。由于由探测包计算得到不同的网络延迟和地理距离(Dp),与不同的发送计算机302相关的边界306可能有不同的大小。
关注区域308包括地图304的一部分,其中与发送计算机302相关的多个区域308重叠。例如,关注区域300可包含地理区域,其中至少一预定数目的发送计算机302的区域308重叠。在一实施例中,关注区域300包括所有区域308重叠的地理区域。此外,关注区域300可包含所有区域308的重叠地理区域。虽然如图3所示仅有一关注区域300,但多个关注区域300可被识别确定。例如,多个发送计算机302具有在地图304不同区域重叠的区域308以形成若干关注区域300。在另一实施例中,仅识别确定一个单独的关注区域300。
图4显示了具有关注区域400的地图404的另一例。地图404显示了多个环绕重叠区域308的边界306,区域308与位于美国东半部地区的不同的发送计算机302(图3所示)相关联。在所示实施例中,关注区域400包含接近华盛顿特区的区域和由所有区域308相互重叠的位置所定义的区域。另外,关注区域400可定义为至少一预定数目的区域308相互重叠的位置。
在另一实施例中,关注区域300、400以另一种方式识别,不涉及从发送计算机302发送探测包到目标互联网主机102。例如,关注区域300、400可以基于一个或多个包含在将地理区域与IP地址相关联的数据库的地理位置进行识别。或者,可以使用另一种计算方法确定关注区域300、400。
回到图2A和2B所示的方法200的讨论,在204,一个或多个与至少部分分布在关注区域的地理区域或地带相关的基于地理的编码被识别。基于地理的编码包括一个或多个字母数字编码代表地理位置、区域或地带。基于地理的编码的示例包括ZIP邮编、电话区号、乡村名、城市名、街道名、居委会名、国家名以及类似的。例如,确定一组识别为地图不同区域的基于地理的编码,例如美国的邮政编码或用在其他国家的其他类似形式的地理编码。尽管此处的讨论集中于ZIP邮编,另外,其它基于地理的编码也可以使用。
图5为与一示例对应的关注区域300的地图500。在一实施例中,关注区域300的基于地理的编码组通过确定关注区域300的中心点502识别。中心点502通过纬度和经度坐标定义。通过计算关注区域形状的几何中心估计或测量中心点502。此外,另一方法也可被使用。
一旦中心点502被确定,第一环504形成于中心点502周围。虽然如图5所示第一环504为圆环形,但其它形状也是可行的。第一环504可具有预先确定的大小。例如,第一环504具有5km(3.1英里)的半径506。此外,不同半径506也是可用的。若干取样点508形成于第一环504上。在图示实施例中,使用了取样点508。在另一实施例中,使用更多或更少数量的取样点508。在第一环504上取样点508均匀间隔或彼此分离。确定取样点508的位置并用于验证取样点508位于关注区域300内。
在一实施例中,通过比较ping服务器302和目标互联网主机102的估算距离(Dp)与取样点508和一个或多个ping服务器302之间的距离510,取样点508的位置被检查以确定位置是否在关注区域300内。预计距离(Dp)和/或距离510可以是大圆距离或顺向距离,例如球体的表面上的两个点之间的距离。此外,预计距离(Dp)和/或距离510可以是欧式空间上的线性距离。在另一实施例中,预计距离(Dp)为互联网空间上的路径的距离(例如,在互联网空间的最短路径,如在互联网空间具有最小的延迟的路径,或在互联网空间比一个或多个其他的路径更短的路径)。
取样点508和ping服务器302之间的距离510以参考数字510表示,分别以数字510A、510B、510C等表示。
取样点508的距离与ping服务器302的预计距离比较。如果取样点508和ping服务器302之间的距离不大于ping服务器302和目标互联网主机102之间的预计距离(Dp),取样点508验证为位于关注区域300内。在另一方面,如果取样点508和ping服务器302之间的距离大于ping服务器302和目标互联网主机102之间的预计距离(Dp),取样点508不位于关注区域300内。
例如,考虑到与图5的距离510A、510B、510C相关的取样点508,如果距离510A不大于ping服务器302A和目标互联网主机102之间的预计距离(Dp),如果距离510B不大于ping服务器302B和目标互联网主机102之间的预计距离(Dp),并且如果距离510C不大于ping服务器302C和目标互联网主机102之间的预计距离(Dp),取样点508确认为在位于关注区域300内。如果距离510A大于ping服务器302A和目标互联网主机102之间的预计距离(Dp),如果距离510B大于ping服务器302B和目标互联网主机102之间的预计距离(Dp),并且如果距离510C大于ping服务器302C和目标互联网主机102之间的预计距离(Dp),取样点508不被确认在位于关注区域300内。
位于第一环504上和位于关注区域300内的一组取样点508基于下述标准确定:
dist(ui,vi)≤ri(公式#2)
其中ui代表第i个取样点508,vi代表第i个ping服务器302,ri代表ping服务器302和目标互联网主机102之间的预计距离(Dp),dist(ui,vi)代表距离函数,该函数计算第i个取样点508和第i个ping服务器302之间的大圆距离或顺向距离。满足上述标准的取样点508包含于位于关注区域300内的验证的一组取样点508。不满足上述标准的取样点508不属于上述组。
围绕中心点502和第一环504形成一个或更多的附加的环512、514、516、518。附加的环512,514,516,518中的每一个逐渐递增的大于位于环内的环504,512,514,516,518。例如,第二环512的半径506比第一环504的半径506大5km(3.1英里),第三环514的半径506比第二环512的半径506大5km(3.1英里),以此类推。附加取样点508沿附加的环512,514,516,518获得,取样点508和发送计算机302之间的距离510与发送计算机302相关的预计距离(Dp)相比较。具有从发送计算机302的距离510不大于与同样的发送计算机302相关的预计距离(Dp)的取样点508属于取样点508组。如上所述,附加的更多的环504,512,514,516,518和取样点508增加下去直到位于关注区域300内的预定数目的取样点508。例如,附加的环和采样点创建,直到没有位于关注区域300内的取样点的环被创建。
在一实施例中,获得取样点508的基于地理的编码。取样点508的经度和纬度和/或基于地理的编码被确定并与具有基于地理的编码和分布在不同基于地理的编码的位置的经度和纬度的相关范围的数据库、列表、表或其它存储结构相比较。这样的数据库、列表、表或其它存储结构存储在系统100的存储器1204中(图12所示)。基于这种比较,创建关注区域内的基于地理的编码列表。
回到图2A和2B所示的方法200的讨论,在206,基于地理编码选择位于关注区域300(图3所示)的一个或多个地标互联网主机104(图1所示)。例如,具有关注区域300内的相关的地理位置的一组地标互联网主机104基于关注区域300的基于地理的编码确定。
在一实施例中,预定义或已经存在的数据库、列表、表或其它存储结构存储若干基于地理的编码和具有在基于地理的编码中的真实或核实的位置的地标互联网主机104。这样的数据库、列表、表或其它的存储结构存储在系统100(图1所示)的存储器1204(图12所示)中。地标互联网主机104预先已经确定位于基于地理的编码,如下所述。存储结构可以以关注区域300内的基于地理的编码查询以获得位于基于地理的编码组的区域内的地标互联网主机104的列表。
在另一实施例中,一个或多个确认为位于关注区域300(图3所示)内的地标互联网主机104(图1所示)通过搜索公共网站确定。例如地图网站或搜索引擎,例如BingTM(www.bing.com/maps)或GoogleMapsTM(www.google.com/maps),可以查询获得地标互联网主机104的地理位置。此处所用的词汇,网站,包括搜索引擎。此外,非地图搜索引擎包括Google,Yahoo,Bing,Baidu,Ask,AltaVista,Lycos,MetaCrawler,Dogpile,和类似网站。
在一实施例中,地标互联网主机104可以从一个或多个聚合网站识别。聚合网站是一网站,提供域名和/或与托管域名的地标互联网主机104的相应地理位置。此外,聚合网站提供域名,地标互联网主机104的相应地理位置直接从在聚合网站的网站域名获得,例如,通过在聚合网站上的到地标互联网主机104的网站的超链接。聚合网站的例子包括Yellowpages.com,Yell.com,Yellowbook.com,Expedia.com,和类似网站。在一实施例中,使用GPS/POI(全球定位系统/兴趣点)网站,例如downloads.cloudmade.com。在另一实施例中,使用Wi-Fi网络目录确定地标互联网主机104。这样的目录提供IP地址和相关Wi-Fi网络的相关地理位置。此类目录的例子包括wigle.net/gps/gps/Map/onlinemap2,www.wi-fihotspotlist.com/loc/5/2484585.php,www.wififreespot.com/fl.html,andhotspot.internode.on.net/coverage。
独立实体机构(如商业机构、政府办公机构、学校、大学、人,等)同样可以自愿和/或在商业基础上提供托管其网站、电子交换服务器的计算机的域名和/或静态IP地址,和/或用作个人计算机和作为地标互联网主机104的计算机的地理位置。例如,网络、手机和/或其它传统广告方式(例如,电视、广播、广告牌、报纸、杂志、宣传单或其它类型的广告)用于吸引实体机构自愿提供潜在地标互联网主机104的域名和/或IP地址。实体机构可以手工输入信息到网站。
在某些情况下,域名和地标互联网主机104的地理位置不能从单一来源获得,例如单一的搜索引擎、网站、聚合网站、GPS/POI网站、目录或类似网站。例如,第一网站或第一目录能提供域名和/或地标互联网主机104的IP地址但不提供地标互联网主机104的地理位置。与第一网站或第一目录不同的第二网站或第二目录可以搜索获得缺失信息,如地标互联网主机104的地理位置。此外,第一网站或第一目录可提供地标互联网主机104的地理位置但是不提供域名或地标互联网主机104的IP地址,与第一网站或第一目录不同的第二网站或第二目录可以搜索获得缺失信息,如域名和/或地标互联网主机104的IP地址。
一旦关注区域300内的基于地理的编码被确定,一个或多个网站(如BingTM,GoogleTM,其它网站,或类似网站)可以以与地标互联网主机104相关的实体机构名称和关注区域300内的一个或多个基于地理的编码检索。此外,域名和相关的地理位置可以通过聚合网站下载内容从一个或多个聚合网站直接获得。如上所述,如果地理位置或域名(或IP地址)不能从第一来源获得(如第一网站或目录),第二网站(如不同的网站或目录)可以检索内容下载缺失的信息。来源于网站的检索结果或下载内容可以提供位于基于地理编码的实体机构的地理地址,例如邮政地址。地理地址与地标互联网主机104相关作为地标互联网主机104的地理位置。如下所述,地标互联网主机104的地理位置被核实以确保地标互联网主机104真的位于从网站搜索结果获得的地理位置。例如,检索搜索网站用于得到与关注区域300内的基于地理编码的地标互联网主机104相关的实体机构的邮政地址后,检查邮政地址以确保地标互联网主机104位于该邮政地址并且不远离与邮政地址相关联的另一位置。
在208,测量传送到关注区域300的目标互联网主机102和一个或多个地标互联网主机104的探测包的网络延迟。除了测量与探测包传送相关的网络延迟外,探测包的网络路径也被监控。例如,探测包,如由路由追踪软件工具或程序发送的数据包,从一个或多个位于观察点的计算机发送到关注区域300的目标互联网主机102和一个或多个地标互联网主机104。词汇“网络路径”表示探测包从源(如位于观察点的计算机)到目的地(如目标互联网主机102或地标互联网主机104)通过网络106的一个或多个节点的传输路径。网络路径可包含一系列的沿网络路径接收和发送探测包的节点和相应的网络延迟,或用于在网络106中从一节点到另一节点传送探测包的时间。
图6是一个具有多个穿过网络106的网络路径600,602,604,606的示例框图。图6仅显示了网络106的一部分。两个观察点(V1,V2)设置在网络106上,并且包括被称为为路由追踪服务器的计算机。虽然在图6中所示的两个观察点(V1,V2),但是可以使用更少或更大数量的观察点。每一个观察点(V1,V2)可以发送探测数据包(例如,路由追踪软件工具发送的数据包)到目标互联网主机102和地标互联网主机104。或者,另一种类型的探测包可以发送到的目标互联网主机102和到地标互联网主机104。例如,在观察点(V1,V2)的计算机上运行的应用程序可确定探测数据包通过网络106从源到目的地的路由或路径和测量在网络106的节点之间探测包传送有关的时间延迟。虽然图6所示探测包只传送到单个地标互联网主机104,此外,探测包可被发送到多个地标互联网主机104,如关注区域300中的全部或多个的地标互联网主机104。
所示网络106的部分包括三个节点(R1、R2、R3),沿着四个不同的从每个观察点(V1,V2)到目标互联网主机102和地标互联网主机104中的每个延伸的分组交换网络路径600,602,604,606设置或分布。探测包沿网络路径600,602,604,606从观察点(V1,V2)传送到目标互联网主机102和地标互联网主机104。探测包沿着网络路径600,602,604,606的多个跳跃传输。“跳跃”代表数据包从一个节点(R1,R2,R3)到另一个节点((R1,R2,R3))。例如,网络路径600,602,606每一个包括两个跳跃,网络路径604包括三个跳跃。此外,每个跳跃可称为网络路径600,602,604,606的边。
考虑图6所示例子,第一探测包从第一观察点(V1)沿着延伸穿过第一节点(R1)的第一网络路径600传送到地标互联网主机104。第一网络路径600包括两边(D1,D5),第一边(D1)从第一观察点(V1)延伸到第一节点(R1)。第五边(D5)从第一节点(R1)延伸到地标互联网主机104。第二探测包沿着延伸穿过第一节点(R1)的第二网络路径602从第一观察点(V1)传输到目标互联网主机102。第二网络路径602包括两边(D2,D5),第二边(D2)从第一节点(R1)延伸到目标互联网主机102。
第三探测包从第二观察点(V2)沿穿过第二节点(R2)和第三节点(R3)的第三网络路径604传输到地标互联网主机104。第三网络路径604包括三个边(D3,D6,D7)。第六边(D6)观察点(V2)延伸到第二节点(R2)。第三边(D3)从第二节点(R2)延伸到第三节点(R3)。第七推(D7)从第三节点(R3)延伸到地标互联网主机104。第四探测包从第二观察点(V2)沿穿过第二节点(R2)的第四网络路径606传输到目标互联网主机102。第四网络路径606包括两边(D6,D4),第四边(D4)从第二节点(R2)延伸到目标互联网主机102。虽然图示网络106只是使用了三个节点(R1,R2,R3),两个观察点(V1,V2),一个地标互联网主机104,四个网络路径600,602,604,606和/或网络路径600,602,604,606的七条边(D1,D2,D3,D4,D5,D6,D7),其他数量的节点(R1,R2,R3),观察点(V1,V2),地标互联网主机104,网络路径600,602,604,606和/或边(D1,D2,D3,D4,D5,D6,D7)也是可用的。
在一实施例中,核查与沿着网络106中的不同的边(D1,D2,D3,D4,D5,D6,D7)传输的探测包相关的一个或多个网络延迟以确定地标互联网主机104和目标互联网主机102之间的派生距离。例如,检查网络延迟以估算从地表互联104延伸到目标互联网主机102的网络路径的网络延迟。考虑到图6所示例子,这样的网络路径可以包括边D1和D2。地标互联网主机104和目标互联网主机102之间的网络路径可能不是直接路径,例如从地表互联104延伸到目标互联网主机102的网络路径可能不是地标互联网主机104和目标互联网主机102之间地理位置的欧式空间上的最短线性路径、最短大圆距离或最短顺向距离。此外,网络路径可以是地标互联网主机104和目标互联网主机102之间地理位置的欧式空间上的最短线性路径、最短大圆距离或最短顺向距离。
考虑到图6所示的例子,由路由追踪程序或工具识别网络路径600,602,604,606,提供沿每一网络路径600,602,604,606的边(D1,D2,D3,D4,D5,D6,D7)的详情和沿每一边(D1,D2,D3,D4,D5,D6,D7)传输的探测包的网络延迟的详情。例如,路由追踪程序或工具可提供节点(R1,R2,R3)的顺序列表,具有探测包沿每一网络路径600,602,604,606依次传输和在节点(R1,R2,R3)之间传输的探测包的网络延迟。
基于探测包的节点(R1,R2,R3)的列表,可以识别一个或多个公共节点(R1,R2,R3)。公共节点为网络106中的节点(R1,R2,R3),其配置或放置在至少一个至少观察点(V1或V2)和地标互联网主机104之间的第一网络路径600,602,604,606上,和至少一个同样的观察点(V1或V2)和目标互联网主机102之间的第二网络路径600,602,604,606上。例如,公共节点为位于从同样的观察点(V1或V2)延伸到每个地标互联网主机104和目标互联网主机102的至少两个网络路径600,602,604,606的交叉点的节点(R1,R2,R3)。
在一实施例中,公共节点被识别为比其它的一个或多个节点(R1,R2,R3)更靠近地标互联网主机104和/或目标互联网主机102的节点(R1,R2,R3),设置或位于至少位于观察点(V1或V2)和互联网主机102、104之间的网络路径600,602,604,606的至少两个上。例如,公共节点(R1,R2,R3)可以为比一个或多个其它节点(R1,R2,R3)具有较少的远离地标互联网主机104和/或目标互联网主机102的跳跃或边的节点。在图示实施例中,第一观察点(V1)的公共节点为第一节点(R1),原因是第一节点(R1)安置或者位于沿着观察点(V1)到每个互联网主机102、104之间的第一和第二网络路径600、602的每个网络路径上,并且第一节点(R1)比在网络路径600、602上的其它节点(如观察点(V1))更靠近互联网主机102、104。第二观察点(V2)的公共节点是第二节点(R2),原因是第二节点(R2)安置或者位于沿着观察点(V2)到每个互联网主机102、104之间的第一和第二网络路径604、606的每个网络路径和第一节点(R1)之间,比在网络路径604、606上的其它节点(如第三节点(R3))更靠近互联网主机102、104。此外,公共节点可以不是最接近的节点(R1,R2,R3)而是接近互联网主机102和/或104,与其它一个或多个位于从公共观察点(V1或V2)延伸到互联网主机102的网络路径600,602,604,606上的节点(R1,R2,R3)相关的节点(R1,R2,R3)。
确定每一公共节点(R1,R2)和每个互联网主机102、104之间的网络延迟。考虑地标互联网主机104,从第一公共节点(R1)到地标互联网主机104传输的探测包的网络延迟为第一边(D1)的网络延迟;从第二公共节点(R2)到地标互联网主机104传输的探测包的网络延迟为第三和第七边(D3、D7)的网络延迟。考虑目标互联网主机102,从第一公共节点(R1)到目标互联网主机102传输的探测包的网络延迟为第二边(D2)的网络延迟;从第二公共节点(R2)到目标互联网主机102传输的探测包的网络延迟为第四边(D4)的网络延迟。
从通过第一节点(R1)从地标互联网主机104延伸到目标互联网主机102的边的网络延迟的总和代表从地标互联网主机104延伸到目标互联网主机102的网络路径的派生网络延迟。例如,沿第一和第二边(D1,D2)的网络延迟的和代表可以包括第一和第二边(D1,D2)并穿过第一公共节点(R1)在互联网主机102、104之间延伸的网络路径的派生网络延迟。沿第三、第四和第七边(D3、D4、D7)的网络延迟的和代表包括第三、第四和第七边(D3、D4、D7)并穿过第二公共节点(R2)在互联网主机102、104之间延伸的网络路径的派生网络延迟。
由于一个或多个观察点(V1,V2)沿不同网络路径600,602,604,606传输探测包到互联网主机102、104,观察点(V1,V2)与不同公共节点相关联。例如,与第一观察点(V1)相关联的公共节点是第一节点(R1),与第二观察点(V2)相关联的公共节点是第二节点(R2)。因此不同的观察点(V1,V2)决定沿从同一地标互联网主机104延伸到同一目标互联网主机102的不同网络路径的不同的派生网络延迟。例如,与第一观察点(V1)相关的派生网络路径沿第一和第二边(D1,D2)延伸,与第二观察点(V2)相关的派生网络路径沿第三、第四和第七边(D3,D4,D7)延伸。
在一实施例中,选择与不同观察点(V1,V2)相关的派生网络延迟中的至少一个。所选的派生网络延迟可以是比其它派生网络延迟更短的网络延迟。例如,如果九个观察点用于计算从地标互联网主机104到目标互联网主机102延伸的不同派生网络路径的九个不同派生网络延迟,可选择比其它派生网络延迟更短的派生网络延迟。此外,所选的网络延迟可以是与观察点相关的派生网络延迟中最短的。
派生网络延迟可以用于计算从不同地标互联网主机104到同一目标互联网主机102延伸的网络路径。这些派生网络延迟可以用于计算不同地标互联网主机104中的每个到目标互联网主机102的派生距离。
在一实施例中,观察点(V1,V2)和地标互联网主机104之间的一个或多个网络路径可以被“缓存”。例如,网络路径,包括沿着网络路径的节点和/或边,和/或相关的网络延迟可以记录和存储在数据库、表、列表或其他存储结构中。从观察点(V1或V2)延伸到地标互联网主机104的网络路径和相关的网络延迟,可以通过使用软件工具(如路由追踪程序或工具)得到并存储为缓存的网络路径。如上所述,当需要时,缓存的网络路径可以从数据库、表、列表或其它存储结构中获得,,缓存的网络路径用于确定公共节点。缓存的网络路径可以定期更新,例如节点、地标互联网主机104和类似物的改变会改变网络路径和/或相应的网络延迟导致缓存的网络路径不再准确。一个或多个网络路径可以周期性的升级,例如每小时、每天(如每天上午)、每月、每三个月、每年,等等。
返回图2A、2B所示的方法200的讨论,在210,派生网络延迟用于计算地标互联网主机104和目标互联网主机102之间的相关距离。例如,确定关注区域300的每个地标互联网主机104的派生网络延迟,派生网络延迟可用于计算每个地标互联网主机104和目标互联网主机102之间的地理距离。地理距离可以是大圆距离。
此外,地理距离可以是欧氏空间上的线性距离,顺向距离或其它距离。如上所述,派生网络延迟可以基于时间和距离的关系计算相对距离,如上述公式#1表示的关系或其它关系。例如,如上所述,地标互联网主机104与目标互联网主机102之间的相关距离是从地标互联网主机104延伸到目标互联网主机102的派生网络路径的派生网络延迟与数据传输速度(如光速的一部分)的乘积。基于目标区域300的地标互联网主机104的派生网络延迟计算相对距离。
由于网络106中的一个或多个节点(R1,R2,R3)引起的膨胀会导致一个或多个派生网络延迟的升高。“膨胀”代表网络106中的节点重新发送所接收的数据包的延迟或推迟。例如,节点(R1,R2,R3)可能推迟接收到的数据包的传输。例如,路由通过编程可以在接收数据包,如探测包,和发送数据包到网络中的另一个节点或目的地之间引入延迟。该延迟可以是除了正常处理数据包所需时间之外的延迟。所引入的延迟可以称为膨胀。在一实施例中,计算一个或多个从第一互联网主机104延伸到不同的,第二互联网主机104的网络路径的网络延迟并与预先确定的或已知的第一和第二地标互联网主机104之间的地理位置相比较以确定是否一个或多个节点(R1,R2,R3)增大了与节点(R1,R2,R3)相关的派生网络延迟。
图7显示了与一实施例对应的网络106的另一部分的框图,网络106的部分图示包括观察点(V3),例如运行路由追踪程序或工具的计算机,多个节点(R4,R5)和多个地标互联网主机104E,104F。如上所述,一个或多个节点(R4,R5)可以是在地标互联网主机104和目标互联网主机102之间延伸的一个或多个网络路径的公共节点(如图1所示)。观察点传送探测包穿过节点(R4,R5)到每个地标互联网主机104E,104F,从而确定一个或多个节点(R4,R5)在穿过节点(R4,R5)传输数据包时是否发生了膨胀。探测包可沿着通过节点(R4,R5)从观察点(V3)延伸到地标互联网主机104E的第五网络路径700传输,并可沿着通过一个或多个节点(R4,R5)从观察点(V3)延伸到其它地标互联网主机104F的第六网络路径702传输。
如上所述,可识别确定地标互联网主机104E,104F的公共节点,与识别(图1所示)地标互联网主机104和目标互联网主机102的公共节点的方法类似。例如,一个比一个或多个其它节点(R4,R5)更靠近地标互联网主机104E或地标互联网主机104F,并设置或位于至少两个观察点(V3)和地标互联网主机之间的网络路径700、702上的节点(R4,R5),可识别为公共节点。。在图示实施例中,公共节点识别为第五节点(R5)。
公共节点(R5)与地标互联网主机104E,104F之间的每个网络延迟可以确定。考虑地标互联网主机104E,从公共节点(R5)传送探测包到地标互联网主机104E的网络延迟为第八边(Dg)的网络延迟。考虑地标互联网主机104F,从公共节点(R5)传送探测包到地标互联网主机104F的网络延迟为第九边(D9)的网络延迟。通过公共节点(R5)从地标互联网主机104E延伸到地标互联网主机104F的边(Dg和D9)的网络延迟的和值代表从地标互联网主机104E延伸到地标互联网主机104F的派生网络路径的派生网络延迟。
派生网络延迟可以转换为地标互联网主机104E,104F之间的相对距离。如上所述,基于派生网络延迟的相对距离可以估算为互联网主机间的地理距离。估算地理距离可以为大圆距离,此外估算地理距离还可以为欧式空间的线性距离、顺向距离或其它距离。地标互联网主机104E、104F之间的派生网络延迟可以使用时间和距离关系进行计算,例如,所述关系为上述的公式#1或另一种关系。
地标互联网主机104E,104F之间的相对距离与地标互联网主机104E,104F地理位置之间的已知或预先确定的地理距离相比较以确定一个或多个节点(R4,R5)是否膨胀了网络延迟。例如,地标互联网主机104E,104F的已知位置(经度和纬度、邮编或类似的)用于计算地标互联网主机104E,104F之间的真实地理距离,真实地理距离可与相对距离相比较。如果相对距离与真实地理距离之间的差异超过了预定的程度,相对距离可能暗示了一个或多个节点(R4,R5)相对距离所依据的网络延迟发生了膨胀。。例如,相对距离比真实地理距离至少小一阀值数,则相对距离可能暗示了一个或多个节点(R4,R5)的网络延迟发生了膨胀。此外,如果相对距离小于真实地理距离,相对距离显示一个或多个节点(R4,R5)膨胀了网络延迟。在另一方面,如果相对距离与真实地理距离的之间的差异达不到预定程度,相对距离并不表示一个或多个节点(R4,R5)相对距离所依据的网络延迟发生了膨胀。如果相对距离大于真实地理距离,相对距离并不表示一个或多个节点(R4,R5)相对距离所依据的网络延迟发生了膨胀。
回到图2A、2B所示的方法200的讨论,与确定为网络延迟发生了膨胀的节点(R4,R5)相关的网络路径在计算地标互联网主机104和目标互联网主机102的相对距离时可忽略。。例如,如果地标互联网主机104和目标互联网主机102的相对距离所依据的网络延迟至少部分在一个或多个节点发生膨胀,相对距离和/或地标互联网主机不能用于确定实施例中的目标互联网主机102的派生地理位置。
在212,基于地标互联网主机104和目标互联网主机102的相对距离识别确定一个或多个地标互联网主机104。例如,在一组关注区域300(图3所示)的地标互联网主机104和目标互联网主机102的相对距离中,一个或多个相对距离被选择,并且选择与所选择的相对距离相关的地标互联网主机104作为候选地标互联网主机104。所选择的相对距离可以是一个或多个比组内其它距离更短的距离。此外,选择比组内其它相对距离短的单一的相对距离。在一实施例中,所选相对距离可以是组内最小相对距离的预定的百分比、分数或部分,此外,一个或多个其它相对距离可以从组中选择。
在214,图3所示的关注区域300的大小基于候选地标互联网主机104减小。关注区域300在大小上可以减小到包括候选地标互联网主机104和目标互联网主机102的子集的关注区域。例如,原始关注区域300包含的地表区域可以削减到包含候选地标互联网主机104和目标互联网主机102的子集的地理位置的地表区域。在一实施例中,所选的候选地标互联网主机104为具有相对于其它一个或多个地标互联网主机104与目标互联网主机102相对距离更短的地标互联网主机104。例如,与目标互联网主机102具有最小相对距离的地标互联网主机104的预定的数目、份数、百分比包含在子集中。此外,一个或多个具有较大相对距离的候选地标互联网主机104也可包含在地标互联网主机104子集中。
图8为地图800,显示了关注区域300和与一实施例对应的削减关注区域802。如上所述,若干候选地标互联网主机104和目标互联网主机102位于关注区域300。部分候选地标互联网主机104相比其它候选地标互联网主机104距离目标互联网主机102更远。在图示实施例中,候选地标互联网主机104的相对距离用于决定削减关注区域802的大小。例如,选择具有更小相对距离的地标互联网主机104,候选地标互联网主机的地理位置用于决定削减关注区域802的边界804。如上所述,地标互联网主机104的地理位置是预先确定的或已知的。边界804围绕在削减关注区域802范围的被选择的地标互联网主机104旁边使得削减关注区域802位于关注区域300内,并包含一个或多个更靠近目标互联网主机102的地标互联网主机104(例如,这些地标互联网主机104具有更小的派生网络延迟)。
返回图2A、2B所示的方法200的讨论,在216,传送到图1所示的目标互联网主机102和一个或多个位于图8所示的削减关注区域802的图1所示的地标互联网主机104的探测包的网络延迟可被测量。例如,与上述方法200的208类似,由路由追踪软件或工具发出的探测包从图6所示的一个或多个观察点(V1,V2)传送到削减关注区域802的地标互联网主机104和目标互联网主机102。如上所述确定探测包的网络路径,测量探测包的网络延迟。基于网络路径,识别确定一个或多个图6所示的地标互联网主机104和目标互联网主机102的公共节点(R1,R2)。公共节点(R1,R2)用于确定穿过公共节点(R1,R2)从地标互联网主机104延伸到目标互联网主机102的派生网络路径。如上所述确定穿过公共节点(R1,R2)从地标互联网主机104延伸到目标互联网主机102的派生网络路径的派生网络延迟。例如,与从地标互联网主机104延伸到目标互联网主机102的派生网络路径的各个边相关联的网络延迟可以求和作为派生网络路径的派生网络延迟。
在218,与地标互联网主机104相关联的派生网络延迟用于计算图8所示的削减关注区域802内的地标互联网主机104和目标互联网主机102之间的相对距离。在一实施例中,如果一个或多个网络延迟至少部分在一个或多个图1所示的网络106的节点(R1,R2,R3)发生膨胀,包含或者穿过在网络延迟的节点(R4,R5)发生了膨胀的网络路径在用于计算地标互联网主机104和目标互联网主机102之间的相对距离时不予考虑。如上所述,地标互联网主机104和目标互联网主机102之间的相对距离由与地标互联网主机104相关联的网络延迟与传输速度,如光速的一部分,的乘积计算。
在220,基于图1所示的地标互联网主机104和目标互联网主机102之间的相对距离选择一个或多个地标互联网主机104(图1所示)。例如,与上述类似,选择一个或多个图8所示的削减关注区域802内的地标互联网主机102与目标互联网主机102之间的相对距离。所选的相对距离是比组中的一个或多个其它相对距离更小的相对距离。例如,所选的相对距离为在图8的削减关注区域802中基于相对距离地理上比一个或多个其它地标互联网主机104更靠近目标互联网主机102的地标互联网主机104相关的相对距离。在一实施例中,选择与目标互联网主机102具有最短相对距离的地标互联网主机104。此外,一个或多个其它地标互联网主机104也是可选的。
在222,基于图1中的一个或多个所选的地标互联网主机104的地理位置确定图1所示的目标互联网主机102的派生地理位置。例如,一个或多个到目标互联网主机102具有小或者最小的相对距离的地标互联网主机104用于确定目标互联网主机102的派生地理位置。额外的候选地标互联网主机104的地理位置是已知的,目标互联网主机102的派生地理位置可以基于这些已知位置获得。例如,目标互联网主机102的派生地理位置等价于或设定为与目标互联网主机102具有最小相对距离的地标互联网主机104真实的或经核实的地理位置。此外,目标互联网主机102的派生地理位置等价于或设定为与一个或多个其它地标互联网主机104相比具有到目标互联网主机102更小的相对距离的地标互联网主机104的地理位置。基于相对距离确定的目标互联网主机102的派生地理位置与目标互联网主机102的真实地理位置可能略微不同,但是相对接近于目标互联网主机102的真实地理位置。例如,基于相对距离确定的目标互联网主机102的派生地理位置与目标互联网主机102的真实地理位置相差可能不超过1km(or0.62英里),不超过0.5km(or0.31英里),0.2km(or0.12英里),或0.1km(or0.06英里)。
在另一实施例中,不确定图1所示的目标互联网主机102的派生地理位置,图8所示的削减关注区域802通过选择若干与目标互联网主机102相对靠近的附加地标互联网主机104(如图1所示)可以进一步削减其大小,减小削减关注区域802到一更小关注区域。如上所述,在更小的关注区域中确定一个或多个地标互联网主机104,并计算这些地标互联网主机104和目标互联网主机102之间的相对距离。如上所述,在确定目标互联网主机102的派生地理位置之前,关注区域的大小可以一次或多次重复减小。
用于确定图1所示目标互联网主机102的派生地理位置的地标互联网主机104(图1所示)可以通过多种方式得到。在一实施例中,数据库、列表、表或其它存储结构存储一组地标互联网主机104和其相关的地理位置(如邮政地址)。这样的数据库、列表、表或其它存储结构存储在图12所示的存储器1204中。如上所述,需要时,数据库、列表、表或其它存储结构可以查询以获得地标互联网主机104(例如域名、IP地址或其它可识别信息)和/或相关联的地理位置。此外,地标互联网主机104的地理位置可根据需求获得,如根据上述的方法200的一个或多个操作,在需要地标互联网主机106或地理位置时可以在图1所示的网络106中使用搜索引擎检索潜在的地标互联网主机104的地理位置。
如上所述,本发明所述的一实施例包含识别确定包括目标互联网主机的关注区域,基于地标互联网主机和目标互联网主机间的相对距离降低关注区域到削减关注区域,确定削减关注区域内地标互联网主机和目标互联网主机之间的附加相对距离,以确定目标互联网主机的派生地理位置。此外,初始关注区域可以由另一种技术确定,例如,从一关联不同地理区域和不同IP地址的数据库中或由另一种计算技术。在一实施例中,关注区域并不减小至削减关注区域。例如确定初始关注,在不减小关注区域的情况下基于地标互联网主机和目标互联网主机的相对距离确定目标互联网主机的派生地理距离。在另一实施例中,不识别关注区域。例如,基于在多个地标互联网主机中随机选择的、任意选择的或预先确定的至少一个地标互联网主机和目标互联网主机的相对距离确定目标互联网主机的派生地理位置。
图9为根据一实施例提取地标互联网主机104和核实地标互联网主机104报告位置的方法900的流程图。方法900用于创建、修改和/或增加用于确定目标互联网主机102派生地理位置的标互联网主机104和相关联的地理位置的数据库、列表、表或其它存储结构。在一实施例中,方法900用于根据需要获得和/或验证地标互联网主机104和相关联的地理位置。例如,当需要一个或多个附加的地标互联网主机104降低关注区域300(图3所示)的大小时和/或确定目标互联网主机102的派生地理位置时方法900可用于获得新的未包含于已存在的数据库中的地标互联网主机104。方法900可用于核实地标互联网主机104所报告或声称的地理位置作为地标互联网主机104的真实地理位置。
在902,获得地标互联网主机104(图1所示)的报告位置。报告位置包括与地标互联网主机104相关联或声称与地标互联网主机104相关联的地理位置。例如,与实体机构相关的网站,托管在实体机构的地标互联网主机104上,可能列出或声明实体机构的地理位置,例如实体机构的商务邮政地址。
在一实施例中,图1所示的地标互联网主机104的报告位置可由自动或手动挖掘公共可得信息获得,如互联网地图服务或互联网搜索引擎得到。例如,可以以基于地理的编码和一个或多个关键词检索地图服务或互联网搜索引擎,诸如BingTM地图,GoogleTM地图等得到。此外,其它的,非地图互联网搜索引擎也可以使用。如上所述,基于地理的编码包括一个或多个数字字母编码代表地理位置,如邮编、电话区号、乡村名、城市名、街道名、居委会名、国家名以及类似的。关键词与实体机构分类相关,例如关键词“商业机构”、“政府”、“大学”、“学校”、“餐馆”和类似的。地图服务或搜索引擎的检索结果可以提供地标互联网主机104或具有由地标互联网主机104托管的网站的实体机构(如商业机构、政府办公室、学校和类似的)一个或多个网站和/或地址(如邮政地址)。
图10和11是截屏1000、1100的示例,用于获得与一实施例相关的地标互联网主机104。在GoogleTM地图(maps.google.com)搜索“商业机构“和邮政编码“60606”时图10的截屏1000产生于计算机的显示屏上。如截屏1000所示,以机构的位置或相关的邮编60606分类可以列出若干实体机构1002,1004,1006,1008。同理邮编地址1010,1012,1014,1016上可列出机构1002,1004,1006,1008。每个机构1002,1004,1006,1008用作图1所示的相应的地标互联网主机104的报告位置。
图11的截屏1100基于图1000所示搜索结果产生于计算机的显示屏上。例如,截屏1100代表图10所示的截屏1000的搜索结果,该结果为机构1002的网站1102。网站1102可以从截屏1000的搜索结果中获得,除了机构1002的邮政地址1010之外还可得到网站1102的域名1104(如http://www.rjobrien.com/corp/index.php)。例如用于观看网站1102的网络浏览器可以显示域名1104。机构1002的网站1102的域名1104和邮政地址1010存储在数据库、列表、表或其它存储结构中并与地标互联网主机104(图1所示)关联。邮政地址1010可存储为地标互联网主机104的报告位置。在一实施例中,机构1002的网站1102的域名1104可转换成IP地址(例如,198.63.227.47)存储并与机构1002的邮政地址1010关联。如图11所示,机构1002的邮政地址1010也可从网站1102获得。
在一实施例中,通过公共可用的互联网搜索引擎可以得到若干潜在的地标互联网主机104的报告位置。此外或作为一可选实施例,一个或多个潜在的地标互联网主机104可从非公共来源得到。例如,第三方机构可合作提供一个或多个地标互联网主机104的报告位置(如邮政地址和邮编)。仅通过示例的方式,互联网服务提供商(ISP)可提供一系列的从该ISP获得网络接入服务的托管机构网站的潜在的地标互联网主机104的域名和/或IP地址和机构的报告位置。单个机构(如商业机构、政府办公室、学校、大学、个人和类似的)类似的可贡献或基于商业原则提供托管其网站、邮件交换服务器和/或用作个人电脑的计算机的域名和/或静态的IP地址,和作为地标互联网主机104的计算机的地理位置。例如,网络、手机和/或传统广告(如电视、广播、广告牌、报纸、杂志、宣传单和其它类型的广告)使得实体机构自愿提供潜在的地标互联网主机104的域名和/或IP地址。实体机构可以手工输入信息到网站。
在一实施例中,一个或多个邮件交换服务器用作图1所示的地标互联网主机104。例如,一个或多个机构拥有与机构相关的网站,这些网站存储的位置与机构的地理位置不在同一位置。然而,一个或多个机构持有电子邮件交换服务器用于为员工、客户和机构中的类似用户提供邮件服务,电子邮件服务器与机构的地理位置在同一位置。为了发现可用作地标互联网主机104的邮件交换服务器,如上所述,找到与位于关注区域的机构相关联的网站(一个或多个邮编或其它基于地理的编码)。例如,域名www.rjobrien.com可以从图11所示的用于生成截图1100的网络浏览器得到。域名系统(DNS)可以以域名和/或域名的IP地址进行检索。例如,使用Linux终端命令″dig″和/或使用一个或多个DNS搜索引擎如ZoneEdit(www.zoneedit.com)检索DNS以获得与该机构网站域名相关联的一个或多个邮件交换服务器的域名。此外,其它的工具或程序也可用于获得与机构的网站域名相关联的邮件交换服务器的电子邮件地址域名。邮件交换服务器的电子邮件地址域名可转换成IP地址。与上述类似,IP地址和邮件交换服务器的域名和机构的报告位置一起存储在数据库、表、列表或其它存储结构中。
回到图9所示的方法900的讨论,一旦获得图1所示的地标互联网主机104的报告位置,检查报告位置以验证报告位置或证实报告位置为潜在的地标互联网主机104所位于的真实地理位置或靠近潜在的地标互联网主机104所位于的真实地理位置。例如,如果机构的网站托管在第三方机构(机构的业务位于一邮政地址但托管机构网站的服务器位于另一邮政地址),从互联网搜索引擎获得的报告位置与作为地标互联网主机104的机构的地理位置不同。方法900包括了若干对地标互联网主机104的报告位置的检查。这些检查中的一个或多个可用于核实报告位置为地标互联网主机104的真实位置或靠近真实位置(如在同一建筑物、同一地段和类似的)。在一实施例中,如下所述的,使用了部分检查方式验证报告位置为真实位置。
在904,图1所示的地标互联网主机104的报告位置的基于地理的编码与用于搜索地标互联网主机104的基于地理的编码相比较。如上所述,使用一个或多个基于地理的编码,如邮编或类似编码以互联网搜索引擎搜索地标互联网主机104。然而,搜索引擎可能会返回包含不匹配要检索的基于地理的编码的报告位置的地标互联网主机104。例如,搜索引擎可能返回包含若干地标互联网主机104的搜索结果,这些地标互联网主机104具有接近用于搜索搜索引擎的基于地理的编码的报告位置,但并不位于用于搜索搜索引擎的基于地理的编码的位置。
在一实施例中,如果图1所示的地标互联网主机104的报告位置的基于地理的编码与用于检索地标互联网主机104的基于地理的编码不匹配或不对应,报告位置的基于地理的编码表明地标互联网主机104并不具有检索基于地理的编码的地理位置。例如,以邮编10036和″business″在搜索引擎进行搜索,搜索引擎提供了搜索结果包含具有邮编10010的具有报告位置的商业机构,该机构可能位于所检索地理编码的外面。因此,方法900的流程跳转到906。
在906,图1的地标互联网主机104不予考虑并且不用作为如上所述的地标互联网主机104。例如,地标互联网主机104不用于图2所示的方法200的一个或多个实施例以减少关注区域300(图3所示)和/或确定图1所示的目标互联网主机102的派生地理位置,如上所述。
在另一方面,如果图1所示的地标互联网主机104的报告位置的基于地理的编码与用于检索地标互联网主机104的基于地理的编码匹配,报告位置的基于地理的编码表明该地标互联网主机104具有所检索基于地理的编码的地理位置。例如,以邮编10036和″business″进行搜索,搜索引擎提供的结果包括一商业机构具有邮编10036的报告位置,该机构可能位于检索的地理编码内。因此,方法900的流程跳转到908。
在908,检查所示的地标互联网主机104所托管的服务以确定该服务是否为本地托管或远程托管。例如,实体机构并不总是本地托管网站,或将网站安装在与机构位于同一地理位置的计算机上。或者,机构可能使用内容传递网络或内容分发网络从网站分发内容到其它的、使用共享托管技术以存储或托管网站或数据,或具有机构所托管的网站的地标互联网主机104所位于的地理位置与实体机构不同。因此,在机构的报告位置和地标互联网主机104的IP之间可能没有一一对应的关系。例如,CDN服务器托管不同地理位置的多个不同机构的网站,同样的,在共享托管的例子中,地标互联网主机104的一个IP地址可能被具有不同地理位置的不同机构的许多不同网站或域名使用。
为了避免图1所示的地标互联网主机104为多个具有不同地理位置的不同机构托管服务(如网站),由地标互联网主机104托管的服务可以通过多种不同技术访问。例如,托管在地标互联网主机104上的网站可以通过使用网站域名(如ww.manhattanmailboxes.com)和与网站关联的IP地址(如216.39.62.190)查看。此外,也可使用另一种技术。如果使用不同的技术(如使用IP和使用域名)返回的内容和材料是一样的,IP地址表明该地标互联网主机104属于一家机构或仅托管了该机构的服务,可能位于机构的报告位置。因此,方法900的流程跳转到910。基于IP地址和基于域名所查看的服务的内容和材料可能包含网站头(如以HTML格式标签<head>和</head>的网站编码),网站的标题(例如以HTML格式标签<title>和</title>的网站编码)或其他文本、数字字母或网站上的其它信息。
在另一方面,如果以不同技术访问网站返回的内容或材料不同,该IP地址可能表明该地标互联网主机104不属于一家机构和/或托管位于不同地理位置的不同机构的服务。因此,方法900的流程返回906,此地标互联网主机104不予考虑。例如,考虑具有域名www.manhattanmailboxes.com和网址216.39.62.190的网站,使用域名访问网站提供的使用者为ManhattanMailboxes,然而使用IP地址访问接收到显示访问错误的网站,表明该IP地址对应于托管多个不同机构网站的服务器。
在910,检查图1所示的地标互联网主机104以确定具有一个或多个由地标互联网主机104托管的服务的机构是否具有多个不同的地理位置。例如,公司总部设在第一的地理位置,但具有几个分行或其他办事处,设在其他不同的地理位置。在另一个例子中,一个中等大小的组织也可以有若干个分支机构,与组织一样(例如,相同的城市)在本地部署。实体机构的不同的分支可以设有不同的基于地理的编码(如邮编),几个或全部的分支机构有一个使用相同的域名和/或IP地址的网站。例如,所有分支机构的网站有一个共同的服务器域名和IP地址,该服务器位于分支机构中的一个或者总部内。
在一实施例中,由检查的地标互联网主机104(例如,报告的地理位置将要被检查的地标互联网主机104)托管的网站的域名和/或网站的IP地址与其它一个或多个地标互联网主机104的域名和/或IP地址相比较。例如,被检查的地标互联网主机104托管的网站的域名和/或网站的IP地址与其它一个或多个预先验证过的地标互联网主机104(报告位置验证为地标互联网主机104真实地理位置的地标互联网主机104)的域名和/或IP地址和/或一个或多个未经验证的地标互联网主机104(如报告位置尚未证实的地标互联网主机104)相比较。
如果被检查的地标互联网主机104(图1所示)所拥有的域名和/或IP地址与一个或多个其它地标互联网主机104的域名和/或IP地址相匹配(如具有一个或多个共有词或共有的字母数字代码),比较地标互联网主机104与其它地标互联网主机104的基于地理的编码,如果基于地理的编码匹配(如相同或代表相同的地址),共有的域名和/或IP地址和不同的基于地理的编码表明被检查的地标互联网主机104与其他地标互联网主机104与同一机构相关联(如同一公司)但地理上分离(如在不同邮编的分支机构)。因此,方法900的流程返回906,所检查的地标互联网主机104不予考虑。在一实施例中,一个或多个具有共有域名和/或IP地址但基于地理的编码不同的其他地标互联网主机104也不予考虑(如从地标互联网主机104的数据库、列表、表或其它存储结构中删除)。
在另一方面,如果基于地理的编码不匹配或没有具有相同或共有域名和/或IP地址多个地标互联网主机104(图1所示),不同的基于地理的编码和/或不同的域名和/或不同的IP地址表明地标互联网主机104不与相同机构关联和/或不位于同一地理位置(如相同邮编或邮政地址)。因此,方法900的流程跳转到912。
在912,确定地标互联网主机104(图1所示)的派生地理位置并与地标互联网主机104的报告位置相比较。例如,如上所述,目标互联网主机102(图1所示)的派生地理位置基于目标互联网主机102和一个或多个具有已知或验证地理位置的地标互联网主机104的相对距离确定。以类似的方式,确定被检查的地标互联网主机104的派生地理位置。如上所述,探测包可以传送到被检查的地标互联网主机104的报告位置和其它具有已知位置的地标互联网主机104。基于与探测包相关的网络延迟,确定被检查的地标互联网主机104和一个或多个其他地标互联网主机104之间的相对距离。相对距离用于确定被检查的地标互联网主机104的地理位置,如上所述与目标互联网主机102相连。
比较派生地理位置与报告位置以确定派生地理位置是否与报告位置靠近。例如,如果派生地理位置与报告位置区别达到一预定数(如至少0.5km或0.31英里,至少1km或0.62英里,至少1.5km或0.93英里,或至少其它距离),派生地理位置和报告位置之间的差异显示被检查的地标互联网主机104不位于所报告的位置。因此,方法900的流程跳转到906,该被检查的地标互联网主机104不考虑为地标互联网主机104。在另一方面,如果派生地理位置与报告位置区别不大于预定数,生地理位置和报告位置之间的微小差异显示被检查的地标互联网主机104(图1所示)位于或者在报告位置。因此,方法900的流程到914。
在914,地标互联网主机104(图1所示)的报告位置验证作为地标互联网主机104的真实位置。例如,地标互联网主机104的识别信息(如地标互联网主机104所托管的网站的域名和/或IP地址)和记录在数据库、表、列表或其它存储结构的报告位置。如上所述,地标互联网主机104可用于确定目标互联网主机102(图1所示)的派生地理位置。
在一实施例中,检查地标互联网主机104(图1所示)的地理位置以确保准确。例如,确定地标互联网主机104的派生地理位置并与地标互联网主机104的报告位置相比较作为本发明的方法和系统的一个或多个实施例的自我修复机制。例如,定期检查地标互联网主机104的报告位置或验证作为地标互联网主机104真实位置的地标互联网主机104的位置以确保准确性。地标互联网主机104预先核实的位置定期进行检查以确保使用该地标互联网主机104托管一个或多个相关服务的实体机构没有移动地标互联网主机104或使用在另一地理位置的另一地标互联网主机104。
如上所述,通过确定地标互联网主机104(图1所示)的派生地理位置并比较派生地理位置与报告位置或预先核实的位置检查报告位置或预先核实的位置。例如,具有核实准确性的报告位置或预先验证的位置的地标互联网主机104可视为(图2所示)方法200中的目标互联网主机102(图1所示)使得地标互联网主机104的派生地理位置得以确定。如上所述,该派生地理位置与报告位置或预先确定的位置相比较以确定报告位置或预先确定的位置是否准确。不再准确的报告位置或预先确定的位置的地标互联网主机104不予考虑并不再用于确定目标互联网主机102的派生地理位置。
在一实施例中,如果目标互联网主机102的派生地理位置重复确定为同一派生地理位置,目标互联网主机102可用作其它目标互联网主机102的地标互联网主机104。例如,一特定目标互联网主机102的派生地理位置在一周、一月、一年或更长的时间周期内保持一样或变化小于一预定数,该目标互联网主机102可用作地标互联网主机104。
图12为地理位置系统100的实施例的图示。系统100结合一个或多个方法200和/或900(图2和图9所示)使用。系统100包括可编程处理器1202,如一个或多个计算机处理器,微处理器,控制器,微控制器,或其它处理单元。处理器1202包括计算机处理器,或等效的控制电路,并且还可以包括RAM或ROM存储器,逻辑电路和定时电路,状态机电路,和I/O电路。处理器1202可以包括一个或多个配置为执行本发明所述的一个或多个操作的模块和/或其他的处理器。例如,有形的和非临时性的计算机可读存储介质中,诸如存储器1204,例如,可以包括一组或多组指令指示处理器1202进行一个或多个操作。处理器1202的不同模块可以执行这些指令集。在一实施例中,存储器1204包括一计算机硬盘,软盘,RAM,ROM,EEPROM,闪存驱动器,DVD,CD,或其他计算机可读存储介质。或者,模块可以代表包括软件应用程序和/或不同的处理器的不同存储器。
如上所述,地理定位模块1206识别关注区域300(图3中所示)和/或削减关注区域802(图8中所示)。由于需要确定关注区域300、802,地理定位模块1206可以访问一个或多个地图和/或存储在存储器1204的数据库,列表,表,或其它存储结构,用于确定基于地理的编码,地图,地标互联网主机104(图1中所示),地标互联网主机104的位置和类似的。在一实施例中,如上所述,地理定位模块1206指示一个或多个计算机,诸如ping服务器302(图3中所示)来发送探测报文(例如,ping数据包)到目标互联网主机102。
距离计算模块1208识别网络106中的网络路径,并测量与在网络上传输的数据包的路径相关联的网络延迟。如上所述,网络路径和网络延迟可以用于确定关注区域300和/或802(图3和图8示出),用于识别网络106中的公共节点,计算一个或多个地标互联网主机104(图1所示)和目标互联网主机102(图1中所示)之间的相对距离,计算目标互联网主机102的派生地理位置的,等等。在一实施例中,距离计算模块1208指示在图6中所示的观察点(Vi,V2)发送探测数据包到地标互联网主机104和/或目标互联网主机102,如存储在存储器1204上的路由追踪软件应用程序或工具所用的数据包。例如,如上所述,距离计算模块1208指示位于观察点(Vi,V2)的计算机发送探测报文。距离计算模块1208可以计算目标互联网主机102和一个或多个的地标互联网主机104之间的相对距离和/或两个或两个以上的地标互联网主机104之间的相对距离。
地标识别模块1210选择关注区域300和/或802(图3和图8示出)中的地标互联网主机104(图1中所示)用于确定目标互联网主机102(图1中所示)和一个或多个的地标互联网主机104之间的相对距离。如上所述,地标识别模块1210可以从存储在存储器1204的数据库,表,列表,或其他存储结构选择地标互联网主机104,或从网络106中的搜索引擎搜索地标互联网主机104。如上所述,地标识别模块1210目标互联网主机102和多个地标互联网主机104中的每个之间的相对距离,以确定哪些地标互联主机104在地理上接近目标互联网主机102。在一实施例中,地理定位模块1206使用由地标识别模块1210确定的相对距离以确定目标互联网主机102派生地理位置。
地标验证模块1210验证地标互联网主机104(如图1所示)的报告位置。例如,如上所述,地标验证模块1210可以检查地标互联网主机104的报告位置以确定报告位置是否准确和/或是否对应于标志性互联网主机104先前验证的位置,。
处理器1202与输入装置1214,存储器1204,输出装置1216,和网络接口模块1218通过有线和/或无线通讯连接。例如,电缆,有线,无线连接,和类似的可允许处理器1202和系统100的其他部件之间的数据通信。输入装置1214可以包括能够接收系统100的操作者输入的一个或多个电子元件。例如,输入装置1214可包括键盘,手写笔,触摸屏,电子鼠标,麦克风等。输出装置1216可包括一个或多个电子元件,能够从处理器1202提供输出到操作员。例如,输出装置1216可包括计算机显示器,触摸屏(例如,输入和输出装置1214,1216可以是一个单一装置),扬声器等。
网络接口模块1218包括一个或多个收发器,发射器,接收器,调制解调器等,使系统100和网络106,和一个或多个用户计算机1220经由网络106数据通信。例如,网络接口模块1218可以从处理器1202发送指令到与连接到上面描述的方法200和/或900连接的网络106的各观察点,节点,计算机等。
用户计算机1220是一种计算设备,诸如个人笔记本电脑或台式电脑,由用户使用系统100的界面。例如,如上所述,一个用户可以使用用户计算机1220以定位目标互联网主机102(图1中所示)。用户计算机1220可以通过访问网页或其他软件工具与系统100的界面经行交互并定位目标互联网主机102。
可以理解,上面的描述是说明性的,而不是限制性的。例如,在上述实施例(和/或其各方面)可以相互组合使用。此外,在不脱离本发明保护范围的教导下可以进行许多修改以适应特定的情况或材料,。虽然本发明所描述的材料的尺寸和类型限定了本发明的参数,其绝非限制,而是示例性的实施例。许多其它实施例对本领域中的普通技术人员依据本发明的描述是显而易见的。本发明所述的保护范围,应参照所附的权利要求书以及这些权利要求的等同的全部范围确定。在所附的权利要求书中,术语“包含”和“在其中”作为通俗英语相当于“包括”和“其中”。此外,在下面的权利要求中,术语“第一”,“第二”和“第三”等仅仅用于作为标记,而不是要对其所标记的对象施加数字要求。另外,根据35U.S.C.§112,第六段,下面的权利要求的限制,不写成装置加功能的格式,且不旨在解释,除非及直至该权利要求限制明确使用短语“装置针对”,后面有避免进一步结构的功能声明。
本发明书面描述使用实例来公开本发明的若干实施方式,包括最佳实施例,使本技术领域的任何普通技术人员实现实施例,包括制作和使用任何装置或系统,并执行任何所结合的方法。可授予专利的范围由权利要求限定,并且可包括本技术领域的普通技术人员想到的其它实例。这样的其它实例如果它们具有不异于权利要求书的字面语言的结构元件,或如果它们包括与权利要求的字面语言无实质差异的等效结构元件涵盖在权利要求的范围内。
本发明上述描述所揭示的某些实施例在连同所附的附图阅读时更易于理解。数字图示不同的实施方案中的功能模块的范围并不表示功能模块的硬件电路之间的分工。因此,举例来说,一个或多个功能模块(例如,处理器或存储器)可以在单个硬件(例如,通用的信号处理器,微控制器,随机存取存储器,硬盘,和类似物)上实现。类似地,程序可以是单独的程序,还可以纳入作为操作系统中的子程序,可以是在一个安装的软件包中的功能,和类似的。各种实施例不限于附图中所示的排列和工具。
如本文所用,所述的元件或步骤,以单词“一”或“一个”应被理解为不排除复数个所述元件或步骤,除非这种排除被明确指出。此外,本发明的“一个实施例”的引用不应解释为排除结合了所述特征的附加实施例的存在。此外,除非明确指出与此相反,实施例中“包括”,“包含”或“具有”具有特定属性的元件或多个元件可包括不具有该附加属性的元件。
由于在不脱离本发明所涉及的保护对象的精神和范围的情况下可以做出某些变化,在上述系统和方法中,上述的说明或显示在附图中的所有对象应解释为仅仅作为示例表示本发明的发明概念,不应解释为限制所公开的主题。
Claims (21)
1.确定目标互联网主机(102)的派生地理位置的方法,该方法包括:识别多个通过分组交换网络相互通讯并与目标互联网主机(102)通讯的地标互联网主机(104);传送探测包到目标互联网主机(102)和每个地标互联网主机(104);测量沿网络中不同网络路径传送到目标互联网主机(102)与多个地标互联网主机(104)中的每个地标互联网主机的探测包的网络延迟;基于网络延迟计算目标互联网主机(102)与一个或多个地标互联网主机(104)之间的相对距离;比较相对距离以确定至少一个比一个或多个其它地标互联网主机地理上更靠近目标互联网主机(102)的地标互联网主机(104);并且基于至少一个在地理上更靠近目标互联网主机(102)的地标互联网主机(104)的地理位置确定目标互联网主机(102)的派生地理位置。
2.权利要求1的方法,进一步包括识别包含地标互联网主机(104)的关注区域(300)。
3.权利要求2的方法,进一步包括基于地理编码选择位于关注区域(300)的一个或多个地标互联网主机(104)。
4.权利要求2的方法,其中识别关注区域(300)包括:通过从多个发送计算机(302)到目标互联网主机(102)传送探测包,确定关注区域(300)。
5.权利要求2的方法,进一步包括通过搜索公共网站来确定位于关注区域(300)内的一个或多个地标互联网主机(104)。
6.权利要求5的方法,其中确定互联网主机(104)包括从一个或多个网络源获得地理位置和至少域名、IP地址或电子邮件交换服地址之一,网络源包括至少地图网站、非地图网站、聚合网站、全球定位系统/兴趣点GPS/POI网站或网络目录之一。
7.权利要求6的方法,其中确定地标互联网主机(104)包括对于至少一个地标互联网主机(104),从第一源获得至少一个地标互联网主机(104)的地理位置,和从不同的第二源获得至少一个地标互联网主机(104)的域名或IP地址。
8.权利要求5的方法,其中确定地标互联网主机(104)包括从一个或多个自愿提供地理位置和至少域名或IP地址之一的单独的实体机构或个人接收地标互联网主机(104)的地理位置和至少域名或IP地址之一。
9.权利要求5的方法,至少一个地标互联网主机(104)是先前的目标互联网主机(102),其预先确定的派生地理位置用作先前的目标互联网主机(102)的地理位置。
10.权利要求5的方法,进一步包括验证每个地标互联网主机(104)的一个或多个IP地址或域名或邮件交换服务器与位于地标互联网主机(104)的地标地理位置上一个或多个计算机相关。
11.权利要求10的方法,进一步包括至少一个地标互联网主机(104)的基于地理的编码与关注区域(300)相关联的基于地理的编码的列表。
12.权利要求10的方法,进一步包括,对于至少一个地标互联网主机(104),通过与地标互联网主机(104)相关的域名访问第一互联网网站,并通过其IP地址试图访问第二互联网网站,从而比较第一互联网网站和第二互联网网站。
13.权利要求10的方法,其中进一步包括,对于至少一个地标互联网主机(104),确定与地标互联网主机(104)相关联的实体机构是否有多个与该实体机构相关联的地理位置。
14.权利要求10的方法,其中进一步包括,对于多个地标互联网主机(104)中的至少一个地标互联网主机(104):传送第三探测包到第一地标互联网主机(104)和多个地标互联网主机中的至少一个第二地标互联网主机(104);识别网络中沿传送到第一地标互联网主机(104)和第二地标互联网主机(104)的第三探测包所经过的不同网络路径分布的公共节点;确定从第一地标互联网主机(104)通过公共节点延伸到第二地标互联网主机(104)的派生网络路径相关的网络延迟;基于派生网络延迟计算第一地标互联网主机(104)和第二地标互联网主机(104)之间的距离;并且比较所计算出的第一地标互联网主机(104)和第二地标互联网主机(104)之间的距离和第一地标互联网主机(104)和第二地标互联网主机(104)之间的已知距离以确定第一地标互联网主机(104)是否位于报告位置。
15.权利要求1的方法,其中测量网络延迟包括:从多个观察点传送第一探测包到目标互联网主机(102)和地标互联网主机(104);从多个观察点中的第一观察点延伸到目标互联网主机(102)的第一网络路径和从同样的第一观察点延伸到地标互联网主机(104)的第二网络路径中的每个分布识别至少一个公共节点;并且计算通过至少一个公共路由从地标互联网主机(104)延伸到目标互联网主机(102)的一个或多个派生网络路径的一个或多个派生网络延迟,其中地标互联网主机(104)的相对距离基于派生网络延迟获得。
16.权利要求15的方法,进一步包括识别包含地标互联网主机(104)的关注地理区域(300),测量关注区域(300)内的地标互联网主机(104)与目标互联网主机(102)之间的派生网络延迟,基于派生网络延迟减小关注区域(300)的大小到削减关注区域(300),其中至少一个地理上靠近目标互联网主机(102)的地标互联网主机(104)位于削减关注区域(300)内。
17.地理定位系统(100),包括:定位模块(1206),用于识别通过分组交换网络(106)相互通讯并与目标互联网主机(102)通讯的地标互联网主机(104);发送计算机(302),用于传送探测包到目标互联网主机(102)和地标互联网主机(104);距离计算模块(1208),用于测量每一个沿网络(106)中不同网络路径传输到目标互联网主机(102)和多个地标互联网主机中的每一个地标互联网主机(104)的探测包的网络延迟,基于网络延迟计算目标互联网主机(102)和一个或多个地标互联网主机(104)之间的相对距离;地标识别模块(1210),用于比较相对距离以识别一个在地理上比一个或多个其它地标互联网主机(104)更靠近目标互联网主机(102)的地标互联网主机(104),其中定位模块(1206)进一步基于一个地理上靠近目标互联网主机(102)的地标互联网主机(104)的地理位置确定目标互联网主机(102)的派生地理位置。
18.权利要求17的系统(100),其中距离计算模块(1208)用于指导在不同观察点的一个或多个发送计算机(302)发送第一探测包到目标互联网主机(102)和地标互联网主机(104),距离计算模块(1208)用于在至少一个沿从多个观察点中的第一观察点延伸到目标互联网主机(102)的第一网络路径和从同样的第一观察点延伸到地标互联网主机(104)的第二网络路径中识别公共节点,进一步的,其中距离计算模块(1208)用于计算从地标互联网主机(104)通过至少一个公共路由延伸到目标互联网主机(102)的一个或多个派生网络路径的一个或多个派生网络延迟,和基于派生网络延迟计算地标互联网主机(104)的相对距离。
19.权利要求17的系统(100),进一步包括地标验证模块(1212)用于验证每个地标互联网主机(104)的一个或多个IP地址或网站域名或邮件交换服务器与一个或多个位于地标互联网主机(104)的地标地理位置的计算机相关联。
20.权利要求17的系统(100),其中地标识别模块(1210)用于从一个或多个网络源获得地理位置和至少地标互联网主机(104)的域名或IP地址之一,网络源包括至少地图网站、非地图网站、聚合网站、全球定位系统/兴趣点GPS/POI网站或网络目录之一。
21.权利要求20的系统(100),其中地标识别模块(1210)用于,针对至少一个地标互联网主机(104),从第一源获得至少一个地标互联网主机(104)的地理位置,和从不同的第二源获得至少一个地标互联网主机(104)的域名或IP地址。
Applications Claiming Priority (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US33447910P | 2010-05-13 | 2010-05-13 | |
US61/334479 | 2010-05-13 | ||
US61/334,479 | 2010-05-13 | ||
US201161468951P | 2011-03-29 | 2011-03-29 | |
US61/468,951 | 2011-03-29 | ||
US61/468951 | 2011-03-29 | ||
PCT/US2011/034360 WO2011142984A1 (en) | 2010-05-13 | 2011-04-28 | Geographic location system and method |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103004102A CN103004102A (zh) | 2013-03-27 |
CN103004102B true CN103004102B (zh) | 2015-12-09 |
Family
ID=44912717
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201180034504.XA Expired - Fee Related CN103004102B (zh) | 2010-05-13 | 2011-04-28 | 地理定位系统及方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US9515889B2 (zh) |
EP (1) | EP2569871B1 (zh) |
CN (1) | CN103004102B (zh) |
AU (1) | AU2011253359A1 (zh) |
WO (1) | WO2011142984A1 (zh) |
Families Citing this family (48)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7991910B2 (en) | 2008-11-17 | 2011-08-02 | Amazon Technologies, Inc. | Updating routing information based on client location |
US7962597B2 (en) | 2008-03-31 | 2011-06-14 | Amazon Technologies, Inc. | Request routing based on class |
US8719223B2 (en) | 2010-05-06 | 2014-05-06 | Go Daddy Operating Company, LLC | Cloud storage solution for reading and writing files |
US9003035B1 (en) | 2010-09-28 | 2015-04-07 | Amazon Technologies, Inc. | Point of presence management in request routing |
US10366048B2 (en) * | 2010-10-22 | 2019-07-30 | Signify Holding B.V. | Method of performing automatic commissioning of a network |
US9002926B2 (en) * | 2011-04-22 | 2015-04-07 | Go Daddy Operating Company, LLC | Methods for suggesting domain names from a geographic location data |
US10467042B1 (en) | 2011-04-27 | 2019-11-05 | Amazon Technologies, Inc. | Optimized deployment based upon customer locality |
US9973470B2 (en) * | 2011-09-23 | 2018-05-15 | Tara Chand Singhal | Systems and methods for faster download of digital content in mobile wireless devices |
US9154551B1 (en) | 2012-06-11 | 2015-10-06 | Amazon Technologies, Inc. | Processing DNS queries to identify pre-processing information |
CN103685174B (zh) * | 2012-09-07 | 2016-12-21 | 中国科学院计算机网络信息中心 | 一种不依赖样本的钓鱼网站检测方法 |
US9344990B1 (en) * | 2012-12-03 | 2016-05-17 | Sprint Communications Company L.P. | Device location accuracy metrics for applications on wireless communication devices |
US20150169794A1 (en) * | 2013-03-14 | 2015-06-18 | Google Inc. | Updating location relevant user behavior statistics from classification errors |
US9159030B1 (en) | 2013-03-14 | 2015-10-13 | Google Inc. | Refining location detection from a query stream |
US9147161B2 (en) | 2013-03-14 | 2015-09-29 | Google Inc. | Determining geo-locations of users from user activities |
US20140280881A1 (en) * | 2013-03-14 | 2014-09-18 | Google Inc. | Using latency and route information to estimate location |
US9141789B1 (en) | 2013-07-16 | 2015-09-22 | Go Daddy Operating Company, LLC | Mitigating denial of service attacks |
US9715694B2 (en) | 2013-10-10 | 2017-07-25 | Go Daddy Operating Company, LLC | System and method for website personalization from survey data |
US9684918B2 (en) | 2013-10-10 | 2017-06-20 | Go Daddy Operating Company, LLC | System and method for candidate domain name generation |
US8780811B1 (en) * | 2014-02-04 | 2014-07-15 | Fatpipe, Inc. | Flatnet failover control |
US9350792B2 (en) | 2014-04-16 | 2016-05-24 | Go Daddy Operating Company, LLC | Method for location-based website hosting optimization |
US9654587B2 (en) * | 2014-04-16 | 2017-05-16 | Go Daddy Operating Company, LLC | System for location-based website hosting optimization |
US9660933B2 (en) | 2014-04-17 | 2017-05-23 | Go Daddy Operating Company, LLC | Allocating and accessing hosting server resources via continuous resource availability updates |
US9501211B2 (en) | 2014-04-17 | 2016-11-22 | GoDaddy Operating Company, LLC | User input processing for allocation of hosting server resources |
CN104135547B (zh) * | 2014-07-31 | 2015-11-11 | 深圳市腾讯计算机系统有限公司 | 一种ip地址属性验证方法和系统 |
US9953105B1 (en) | 2014-10-01 | 2018-04-24 | Go Daddy Operating Company, LLC | System and method for creating subdomains or directories for a domain name |
CN104298740B (zh) * | 2014-10-09 | 2018-04-20 | 清华大学 | 基于改进的地理位置编码的通信方法 |
CN104320383B (zh) * | 2014-10-09 | 2018-04-10 | 清华大学 | 基于地理位置编码的域名生成方法 |
US10097647B2 (en) * | 2014-11-06 | 2018-10-09 | Neustar, Inc. | Method and system for predicting a geographic location of a network entity |
US9785663B2 (en) | 2014-11-14 | 2017-10-10 | Go Daddy Operating Company, LLC | Verifying a correspondence address for a registrant |
US9779125B2 (en) | 2014-11-14 | 2017-10-03 | Go Daddy Operating Company, LLC | Ensuring accurate domain name contact information |
US9294498B1 (en) * | 2014-12-13 | 2016-03-22 | SecurityScorecard, Inc. | Online portal for improving cybersecurity risk scores |
US10097448B1 (en) | 2014-12-18 | 2018-10-09 | Amazon Technologies, Inc. | Routing mode and point-of-presence selection service |
CN104537105B (zh) * | 2015-01-14 | 2017-09-26 | 中国人民解放军信息工程大学 | 一种基于Web地图的网络实体地标自动挖掘方法 |
US9832141B1 (en) | 2015-05-13 | 2017-11-28 | Amazon Technologies, Inc. | Routing based request correlation |
EP3326074B1 (en) | 2015-07-22 | 2023-03-15 | Dynamic Network Services, Inc. | Methods, systems, and apparatus for geographic location using trace routes |
CN106598965B (zh) | 2015-10-14 | 2020-03-20 | 阿里巴巴集团控股有限公司 | 一种基于地址信息的账户映射方法及装置 |
CN105554856B (zh) * | 2016-01-26 | 2018-08-21 | 福州亿纵电子科技有限公司 | 一种无线通信方法及系统 |
US10542101B2 (en) * | 2016-02-29 | 2020-01-21 | Facebook, Inc. | Network-based location determination |
US10075551B1 (en) | 2016-06-06 | 2018-09-11 | Amazon Technologies, Inc. | Request management for hierarchical cache |
US10110694B1 (en) | 2016-06-29 | 2018-10-23 | Amazon Technologies, Inc. | Adaptive transfer rate for retrieving content from a server |
US10469513B2 (en) | 2016-10-05 | 2019-11-05 | Amazon Technologies, Inc. | Encrypted network addresses |
US10831549B1 (en) | 2016-12-27 | 2020-11-10 | Amazon Technologies, Inc. | Multi-region request-driven code execution system |
US10938884B1 (en) | 2017-01-30 | 2021-03-02 | Amazon Technologies, Inc. | Origin server cloaking using virtual private cloud network environments |
US11729043B2 (en) * | 2017-10-06 | 2023-08-15 | Cisco Technology, Inc. | Traffic outage detection in the internet |
US11792110B2 (en) | 2018-05-01 | 2023-10-17 | HowTech Pty Ltd | Geolocation system and method |
US10862852B1 (en) | 2018-11-16 | 2020-12-08 | Amazon Technologies, Inc. | Resolution of domain name requests in heterogeneous network environments |
CN111526222B (zh) * | 2020-04-14 | 2021-07-27 | 中国科学院信息工程研究所 | 网络设备地理定位方法及装置 |
US11438823B2 (en) * | 2020-05-29 | 2022-09-06 | Huawei Technologies Co., Ltd. | Orthodromic routing |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6826172B1 (en) * | 2000-06-09 | 2004-11-30 | Steven Augart | Network probing using overlapping probe packets |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6757740B1 (en) * | 1999-05-03 | 2004-06-29 | Digital Envoy, Inc. | Systems and methods for determining collecting and using geographic locations of internet users |
US7296088B1 (en) * | 2000-11-17 | 2007-11-13 | Microsoft Corporation | System and method for determining the geographic location of internet hosts |
US6947978B2 (en) | 2000-12-29 | 2005-09-20 | The United States Of America As Represented By The Director, National Security Agency | Method for geolocating logical network addresses |
US7039689B2 (en) * | 2001-01-31 | 2006-05-02 | Telcordia Technologies, Inc. | Method and system for determining geographical regions of hosts in a network |
US7107619B2 (en) * | 2001-08-31 | 2006-09-12 | International Business Machines Corporation | System and method for the detection of and reaction to denial of service attacks |
US7436780B2 (en) | 2003-12-17 | 2008-10-14 | Time Warner, Inc. | Method and apparatus for approximating location of node attached to a network |
US8677017B2 (en) * | 2004-01-30 | 2014-03-18 | Hewlett-Packard Development Company, L.P. | Determining location information for a node in a network using at least one local landmark node |
US8254264B1 (en) * | 2006-04-28 | 2012-08-28 | Hewlett-Packard Development Company, L.P. | Network latency estimation |
US8180887B2 (en) * | 2008-12-16 | 2012-05-15 | Microsoft Corporation | Geolocation mapping of network devices |
US10157280B2 (en) * | 2009-09-23 | 2018-12-18 | F5 Networks, Inc. | System and method for identifying security breach attempts of a website |
US9430353B2 (en) * | 2009-10-26 | 2016-08-30 | Microsoft Technology Licensing, Llc | Analysis and visualization of concurrent thread execution on processor cores |
-
2011
- 2011-04-28 AU AU2011253359A patent/AU2011253359A1/en not_active Abandoned
- 2011-04-28 CN CN201180034504.XA patent/CN103004102B/zh not_active Expired - Fee Related
- 2011-04-28 EP EP11781021.8A patent/EP2569871B1/en not_active Not-in-force
- 2011-04-28 US US13/096,773 patent/US9515889B2/en active Active
- 2011-04-28 WO PCT/US2011/034360 patent/WO2011142984A1/en active Application Filing
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6826172B1 (en) * | 2000-06-09 | 2004-11-30 | Steven Augart | Network probing using overlapping probe packets |
Non-Patent Citations (1)
Title |
---|
"An Investigation of Geographic Mapping Techniques for Internet Hosts";Venkata N. Padmanabhan,;《Computer Communication Review,ACM》;20011001;第31卷;参见第173-185页 * |
Also Published As
Publication number | Publication date |
---|---|
US9515889B2 (en) | 2016-12-06 |
EP2569871B1 (en) | 2015-04-08 |
EP2569871A4 (en) | 2013-10-30 |
AU2011253359A1 (en) | 2013-01-10 |
WO2011142984A1 (en) | 2011-11-17 |
US20110282988A1 (en) | 2011-11-17 |
EP2569871A1 (en) | 2013-03-20 |
CN103004102A (zh) | 2013-03-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103004102B (zh) | 地理定位系统及方法 | |
CN101529372B (zh) | 计算机实现的确定关于企业的信息的方法和计算机系统 | |
Wang et al. | Towards {Street-Level}{Client-Independent}{IP} Geolocation | |
CN1766880B (zh) | 用于提供地理搜索功能的系统和方法 | |
US7231441B2 (en) | Virtual beacon system | |
US9113294B2 (en) | Method for positioning IP location and server | |
US8458173B2 (en) | Computer-implemented methods and systems for multi-level geographic query | |
AU2010245847B2 (en) | Refining location estimates and reverse geocoding based on a user profile | |
US8782041B1 (en) | Text search for weather data | |
US20160161280A1 (en) | Recommending actions based on context | |
US9171011B1 (en) | Building search by contents | |
CN102708193A (zh) | 一种基于位置服务的餐饮信息聚合搜索与互动的方法及系统 | |
CN101313300A (zh) | 本地搜索 | |
KR20100030906A (ko) | 광고 등록 참고 정보를 이용하여 전자지도 상에 광고를 등록하는 방법 | |
US20140280091A1 (en) | Location specific translation and search service system | |
WO2015043212A1 (en) | Address information input method,acquisition method, apparatus,device and system | |
CN105468631A (zh) | 兴趣点查询方法及装置 | |
CN104572956A (zh) | 确定poi信息有效性的系统及方法 | |
CN104598506A (zh) | 地理位置点的地址生成、查询方法和装置 | |
US20150089346A1 (en) | Address information input method, acquisition method, apparatus, device, and system | |
CN105592120A (zh) | 提供地理位置信息的方法及装置 | |
JP2010128883A (ja) | 地点関連情報提供装置、地点関連情報提供方法およびプログラム | |
AU2010213866A1 (en) | Unique referencing scheme identifier for location | |
US20080281869A1 (en) | Apparatus and Method Of Map Engine Clustering Automation | |
JP4722688B2 (ja) | 情報配信システム、経路探索サーバおよび携帯端末装置 |
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 | ||
CB03 | Change of inventor or designer information |
Inventor after: Wang Yong Inventor after: Danil Boger Inventor after: Flores Marcel Inventor after: Aleksandar Kuzmanovic Inventor before: Wang Yong Inventor before: Danil Boger Inventor before: Flores Marcel Inventor before: Aleksandar Kuzmanovic |
|
COR | Change of bibliographic data | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20151209 Termination date: 20210428 |