本申请的权利要求是基于2018年5月1日提交的题为“地理定位系统和方法”,申请号为2018901459的澳大利亚临时专利申请为优先权的,特此将其完整纳入本申请中。
发明内容
根据本公开的一个实施方案的第一方面,提供了一种估计路由器接口的服务区域的方法,所述方法包括:确定提示信息,所述提示信息用于指示所述路由器接口与针对由所述路由器接口服务的一个或多个IP地址获取的地理定位信息之间的关联性;以及
处理所述提示信息以确定所述路由器接口的所述服务区域的估计值。
在一个实施方案中,确定所述提示信息包括:
从获取所述路由器接口服务的所述一个或多个IP地址的每一个IP地址中获取一个或多个路由的路由信息,其中所述一个或多个路由中的每一个路由包括所述路由器接口。
在本申请中,对术语“路由信息”可以理解为表示对服务于访问设备(或接入设备)的一个或多个路由器接口进行标识的信息。此外,在本申请中,术语“目的地IP地址”将用于指代能够获取地理定位信息并且由路由器接口服务的IP地址。
在一些实施方案中,可通过处理所述路由信息以将所述提示信息确定为数据集,所述数据集使用置信度索引指示所述一个或多个路由中的每一个路由针对所述IP地址获取的所述地理定位信息与所述路由器接口之间的关联性。
在一些实施方案中,获取一个或多个路由的路由信息包括:获取所述一个或多个IP地址的,或所述一个或多个IP地址中的每一个IP地址的,多个路由的路由信息。
在一个实施方案中,获取一个或多个路由的路由信息包括:获取所述一个或多个IP地址中的每一个IP地址的多于100个路由的路由信息。
在另一个实施方案中,获取一个或多个路由的路由信息包括:获取所述一个或多个IP地址中的,或所述一个或多个IP地址中的每一个IP地址的,多于1000个路由的路由信息。
在再另一个实施方案中,获取一个或多个路由的路由信息包括获取所述一个或多个IP地址中的,或所述一个或多个IP地址中的每一个IP地址的,多于10,000个路由的路由信息。
在一些实施方案中,所述一个或多个路由分别在不同的地理位置处发起,即,起始于不同的地理位置。
在一些实施方案中,每个路由的所述路由信息包括从路由跟踪操作获取的路由跟踪信息。
地理定位信息可包括纬度和经度信息。在一些实施方案中,所述地理定位信息还包括时间戳,所述时间戳包括与所述纬度和经度信息相关联的日期和时间信息。
在一些实施方案中,所述地理定位信息可包括质量指示符。
所述地理定位信息可从将IP地址与可靠地理定位信息相关联的一个或多个数据源获取。
每个路由的所述路由信息包括从路由跟踪操作获取的路由跟踪信息。在一些实施方案中,所述路由跟踪信息可包括服务相应IP地址的中间路由器接口的有序排序,所述排序包括特定路由器接口,并且其中置信度索引包括路由位置索引,路由位置索引的形式为标识相应的中间路由器接口在有序排序中的位置的值。在此类实施方案中,处理包括所述特定路由器接口的所述路由集的所述路由信息可包括:根据所述排序中与所述IP地址的接近度,确定所述路由位置索引。
根据本公开的一个实施方案的另一个方面,提供了一种估计路由器接口的服务区域估计的方法,所述方法包括:
确定与由所述路由器接口服务的一个或多个IP地址中的每一者相关联的地理定位信息,所述地理定位信息是从将IP地址与可靠地理定位信息相关联的一个或多个数据源获取;
获取到由所述一个或多个IP地址中的每一者的一个或多个路由的路由信息,其中所述一个或多个路由中的每一者在不同的地理位置处发起,其中每个单独路由的所述路由信息包括服务所述相应IP地址的中间路由器接口的有序排序,所述有序排序包括特定路由器接口;
处理包括特定路由器接口的路由集的所述路由信息以提供数据集,所述数据集针对所述集中的每个路由包括路由位置索引与和所述路由的所述IP相关联的所述地理定位信息之间的关联,其中处理包括所述特定路由器接口的所述路由集的所述路由信息包括确定取决于所述有序排序中的相应中间路由器接口的位置的所述路由位置索引;以及使用所述数据集来生成所述特定路由器接口的服务区域估计。
根据本公开的一个实施方案的又另一个方面,提供了一种对感兴趣的路由器接口进行分类的方法,所述方法包括:
获取被确定为直接服务所述感兴趣的路由器接口的路由器接口的索引;
将包括所述感兴趣的路由器接口的第一ASN公告与包括被索引为直接服务所述感兴趣的路由器接口的相应路由器接口的一个或多个其他ASN公告进行比较;以及
将所述感兴趣的路由器接口分类为取决于所述第一ASN公告与所述一个或多个其他ASN公告之间的关系的多种分类类型中的一种,所述分类类型用于指示所述感兴趣的路由器接口与所述第一ASN公告中的ASN之间的关系。
根据本公开的一个实施方案的又另一个方面,提供了一种获取路由器接口的服务区域估计的方法,所述方法包括:
确定将所述路由器接口与针对由所述路由器接口服务的一个或多个IP地址中的每一者获取的地理定位信息相关联的提示信息,其中确定所述提示信息包括:获取到所述一个或多个IP地址中的每一者的一个或多个路由的路由信息,其中所述一个或多个路由中的每一者包括所述路由器接口,并且其中包括所述路由器接口的所述一个或多个路由的所述路由信息针对所述一个或多个IP地址中的每一者包括所述路由器接口的所述路由位置索引,所述路由位置索引取决于有序路由排序中所述路由器接口与所述相应IP地址的接近度,并且其中由所述路由器接口服务的所述一个或多个IP地址中的每一者的所述路由位置索引与针对每个相应IP地址获取的相应地理定位信息相关联,以形成相应的所确定的提示信息;
处理所述提示信息以确定所述路由器接口的所述服务区域估计,其中确定所述路由器接口的所述服务区域估计包括:基于根据所关联的地理定位信息的所述路由器接口的路由位置索引的映射来生成所述服务区域估计。
具体实施方式
本发明实施例描述了各种系统、方法和设备,其中所述方法、设备和系统分别使用具有相关联IP地址的一个或多个访问设备的地理定位信息来估计路由器接口的服务区域(service area,也可以简称为服务区)。
在一个示例中,描述了用于映射由路由器接口服务的部分IP地址集的分布的系统。在各种实施方案中,映射系统确定提示信息,提示信息用于指示针对一个或多个IP地址获取的地理定位信息与路由器接口之间的关联性,然后处理提示信息以确定路由器接口的服务区域估计。如下面将更详细地解释的,一个或多个IP地址的地理定位信息可从指示一个或多个IP地址的地理位置的一个或多个数据源获取。
IP地址可包括访问设备的IPV4或IPV6地址。就此而言,在整个本说明书中,对术语“访问设备”的引用应理解为表示具有能够经由互联网寻址的与互联网协议(IP)地址相关联的计算机装置。
获取地理定位信息
在实施方案中,针对一个或多个IP地址获取的地理定位信息可根据从任何合适的数据源检索或以其他方式获取的信息确定,所述数据源诸如使IP地址与从中关联、估计、推导或推断并由此获取地理定位信息的信息(诸如物理地址、纬度-经度信息、区域信息、国家信息)相关联的数据源。合适的数据源的一个示例是存储IP地址与可从中确定地理定位信息的信息之间的关系的网络可访问的数据源。例如,上述数据源中可包括诸如以下的信息:whois网络名称和描述数据(其可包括物理地址)、whois网络名称地理定位数据字段(如果可用或可以获取的话)、whois注册组织的物理地址、自发布的IP地理定位数据、HTML5地理定位API服务数据或移动位置服务数据。
在一个实施方案中,数据源可包括可直接从中获取地理定位信息的信息。换句话讲,获取地理定位信息可涉及:从数据源检索或以其他方式获得信息,该数据源将IP地址与提供具有IP地址的访问设备的地理位置信息或可以直接转换为地理位置信息的信息相关联。在其他实施方案中,数据源中可包括可用于关联、估计、推导或推断地理定位信息从而间接获取地理定位信息的信息。
例如,一个或多个实施方案可能够基于指示具有IP地址的访问设备所在的位置、地方或地点的静态位置信息(诸如标识购物中心、学校、机场、公共汽车停靠站、火车站、体育场、建筑物、地标、公园、自动柜员机的信息)来关联、估计、推断或推导IP地址的地理定位信息。在此类实施方案中,可通过检索或以其他方式确定与静态位置相关联的地理定位信息并使所述位置与访问设备的IP地址相关联来获取访问设备的地理定位信息。以此方式使位置与IP地址相关联可涉及:将位置(诸如物理地址)转换成坐标系,诸如纬度-经度信息。此类访问设备的示例包括联网装置,诸如资讯站、广告显示屏、信息终端、服务器、售货机(例如饮料售货机)、ATM等。可能够基于指示位置的静态位置信息来关联、估计、推断或推导IP地址的地理定位信息的数据源的一个示例是RIPE Atlas公共探测器数据(https:// atlas.ripe.net)。
此外,应了解,从数据源获取的地理定位信息不需要包括静态地理定位信息,因为在一些实施方案中,可针对具有时变地理定位信息(诸如与正在移动的访问设备相关联的地理定位信息)的访问设备确定动态位置信息。例如,可能的是,可从位于例如具有唯一标识符(例如,航班码、出租车号、火车号、货运跟踪号等)的载运工具上的访问设备关联、估计、推导或推断地理定位信息,在这种情况下,可通过将唯一标识符索引到提供访问所述访问设备的载运工具的动态位置信息的服务中来检索或以其他方式获取地理定位信息。同样,以此方式确定地理定位信息可涉及:将动态地理定位信息转换成坐标系,诸如纬度-经度信息。用于提供飞行航线的地理定位信息的合适数据源的一个示例是航班跟踪服务,诸如www.flightaware.com。可能的是,动态地理定位信息可包括实时或近实时地理定位信息。
在再一些其他实施方案中,可能的是,可使用时间地理定位信息来关联、估计、推导或推断地理定位信息并由此获取地理定位信息。例如,一个或多个实施方案可能够从访问设备与web服务或移动应用程序的交互推断或推导地理定位信息,这种交互指示访问设备所在的位置、地方或地点(诸如涉及用户在Facebook上“签到”至某个位置的交互)。在此类实施方案中,可通过检索或以其他方式获取与访问设备与web服务或移动应用程序的交互相关联的时间位置信息来获取访问设备的地理定位信息。以此方式确定地理定位信息可涉及:将时间位置信息转换成坐标系,诸如纬度-经度信息。
在再一些其他实施方案中,可能的是,可使用与具有IP地址的访问设备相关联的用户的用户信息来关联、估计、推导或推断地理定位信息并由此确定与用户相关联的访问设备的地理定位信息。例如,一个或多个实施方案可能够在知晓用户的物理位置、电话号码、传真号码、邮政编码、州或国家的情况下推断或推导地理定位信息。在此类实施方案中,可通过检索或以其他方式获取访问设备的用户信息、接着从用户信息推断或推导与访问设备相关联的地理定位信息来获取访问设备的地理定位信息。以此方式确定地理定位信息可涉及:将用户信息转换成坐标系,诸如纬度-经度信息。
在再一些其他实施方案中,可能的是,可使用由与具有IP地址的访问设备相关联的用户提供的地理定位信息来确定与用户相关联的访问设备的地理定位信息。例如,一个或多个实施方案可响应于用户将物理地址、电话号码、传真号码、邮政编码、州或国家输入到访问设备中以将其传达到地理定位系统可访问的装置来获取地理定位信息。在此类实施方案中,可通过检索或以其他方式获取用户提供的信息来获取访问设备的地理定位信息。以此方式确定地理定位信息可涉及:将用户信息转换成坐标系,诸如纬度-经度信息。
鉴于以上内容,应了解,本公开的实施方案可获取各种类型的位置信息,并且使用此信息来直接或间接获取指示访问设备的地理定位并因此指示访问设备的IP地址的信息。
如下面将更详细地解释的,本发明的实施方案可能够处理针对一个或多个IP地址获取的地理定位信息的映射,并且使用映射来估计服务这些IP地址的路由器接口的服务区域。在一些实施方案中,本文所描述的技术可基于对服务访问设备的路由器接口的确定以及已确定所述路由器接口的服务区域的估计来提供所述访问设备的地理定位的准确估计。就此而言,尽管下面描述的实施方案涉及IP地址的地理定位,但可能的是,本文所描述的技术可适用于其他类型的网络地址的映射。
数据网络布置
如图1所示,以包括地理定位系统10的数据网络5(在此示出为互联网协议(Internet Protocol,,简称为IP)网络)为例,地理定位系统10用于估计一个或多个网络接入点(Access Point,简称为AP)的服务区域,所述AP在此示出为路由器接口15(在此示例中,包括路由器接口15a和15b)。如下面将更详细地解释的,地理定位系统10执行对可用于生成路由器接口15的服务区域的估计的“提示”信息的收集和分析,并且存储可用于确定由已针对其估计服务区域的路由器接口15服务的特定网络地址(或网络地址块)的地理定位的所收集提示信息。
数据网络5可包括数据通信网络16,诸如互联网、局域网(Local Area Network,简称为LAN)、广域网(Wide Area Network,简称为WAN)、移动通信网络或其他网络。数据网络5可包括各种网络节点,其包括使得能够在地理定位系统10、接入点15、访问设备(或接入设备)30(在此示例中,包括访问设备30a、30b、30c、30d、30e和30f)和诸如数据源25和联网装置40的其他联网装置之间进行数据通信的元件。本领域技术人员将很好地理解不同类型的联网装置。访问设备30的示例包括台式计算机30a、30b、30c、30e、膝上型计算机30f、平板计算机(图中未示出)、手机30d以及其他联网使能访问设备。就此而言,应理解,在整个本说明书中,对术语“访问设备”的引用表示能够访问数据网络5以进行数据通信的装置。
路由器接口15在数据网络5的节点之间转发数据包,并且还可交换边界网关协议(Border Gateway Protocol,简称为BGP)信息以便使得能够在自主系统(AutonomousSystems,简称为AS)之间交换路由和可达性信息。关于数据包的传达,可通过网络5将数据包从一个路由器接口(诸如路由器接口15a)转发到一个或多个其他路由器接口(诸如路由器接口15b),直到它到达目的地节点为止,所述目的地节点可包括例如访问设备30。当路由器接口15接收到数据包时,路由器接口15读取数据包中所包括的网络地址信息,然后将数据包传达到如由路由表确定的下一节点。
在所示的网络5中,地理定位系统10能够经由通信链路20经由互联网协议(IP)网络5的路由器接口15中的一个或多个对一个或多个访问设备30中的每一个进行寻址。每个访问设备30可通过网络5经由作为一系列“跳”(hop)的一个或多个路由器接口15与网络的另一个装置传达信息,其中最终“跳”涉及在服务路由器接口15与访问设备30之间通过通信链路20进行的直接或间接通信,所述通信链路20可以是有线或无线通信链路。
如图2所示,联网装置(诸如装置40)与访问设备30之间的数据通信可涉及在多个路由器接口15a、15b、15c...15f之间传达数据包,其中路由器接口15中的每一个提供“跳”的单个实例(示出为Hn),并且其中装置40与访问设备30之间的数据通信中所涉及的所有路由器接口的集合形成“路径”或“路由”50。
现在将参考图3所描绘的流程图300描述用于生成路由器接口15的服务区域估计或模型的方法的实施方案。如图所示,在302处,图1所示的地理定位系统10从一个或多个地理定位数据源25获取地理定位信息(P),然后使所述信息与一个或多个访问设备30的一个或多个IP地址相关联。出于本说明书的目的,要针对其确定地理定位信息的访问设备30的IP地址在本文中将称为“目的地IP地址”(Destination IP Address,简称为DA)。
如上面所解释,可使用各种类型和形式的地理定位数据源来获取地理定位信息,并且可使用不同的技术来使所述信息与访问设备30的IP地址相关联。本领域的技术人员将理解用于使地理定位信息与IP地址相关联的合适的技术。在实施方案中,地理定位数据可对地理定位信息进行编码,并且可包括或者替代地可转换为呈表示访问设备30的位置的位置信息(诸如纬度和经度坐标信息)形式的地理定位信息。因此,在一些实施方案中,地理定位信息可表达为P=[纬度,经度]。
确定提示信息
在304处,地理定位系统10确定和/或获取提示信息,所述提示信息用于指示针对一个或多个目的地IP地址获取的地理定位信息与服务访问设备的路由器的路由器接口15之间的关联。在本示例中,确定和/或获取提示信息包括但不限于:从与到达相应访问设备30相关联的一个或多个目的地IP地址中的每一个所采取的一个或多个路由的路由信息推导信息,所述相应访问设备30的地理定位信息已被确定为与相应IP地址具有关联。然而,应了解,可使用其他方法推导不同类型的提示信息。
在所说明的实施方案中,确定和/或获取提示信息涉及:针对一个或多个目的地IP地址中的每一个执行常规的路由跟踪操作,从而获取数据包跨网络5的相应路由(即,路径)并发现服务访问设备30的各种路由器接口的IP地址。参考图2,在此示出的路由50例如包括一系列互连的中间路由器接口(在此示出为具有相应IP地址[RA_1]...[RA_6]的中间路由器接口15a至15f),路由50因此包括涉及服务目的地IP地址(DA)的中间路由器接口的有序排序的多个(N+1个)“跳”的序列。路由中的最终或最后路由器接口(在此示出为路由器接口15f)服务访问设备30,并且因此称为“服务路由器”。在此示例中,路由信息包括服务访问设备30的路由器接口15a至15f的IP地址[RA_1]...[RA_6],从而提供路由50和这些地址的次序。
应了解,图2所描绘的路由50仅是为了提供协助描述本公开的一个实施方案的操作的示例。并不意图将本公开局限于获取单个路由50的提示信息,也不是图2所示类型或配置的路由,因为实施方案可获取到目的地IP地址(DA)的多个路由的提示信息。实际上,应理解,在任何时刻通常将存在到接入点30的多个路由,包括来自不同装置40的路由。此外,可能的是,到相同访问设备30的不同路由可共享一个或多个中间路由器接口15和相同装置40。此外,路由可涉及与图2所描绘不同数量和布置的中间路由器接口15。实际上,实施方案可收集并处理多个地理上分散的装置40(诸如分散的服务器)与多个访问设备30之间的多个路由的提示信息。
现在参考图4,在一些实施方案中,地理定位系统10从在多个装置40(参考图1,多个装置40呈地理上分散的服务器形式)上运行的应用程序(诸如应用程序35a、35b(参考图1))获取提示信息。通过从这些服务器40到多个访问设备(此处显示为访问设备30a至30i)进行多次跟踪路由或类似操作,每个访问设备都具有各自的目的地IP地址。以此方式获取提示信息的优点在于:可促进从不同路由发现服务一个或多个目的地IP地址的更大数量的路由器接口15。一个实施方案因此可使用位于全球各地的地理上分散的位置处的若干服务器40来获取提示信息。例如,图4是描绘网络400的示例性表示的网络图,所述网络400包括多个访问设备30a至30i和多个路由器接口15a、15b、15c,每个路由器接口具有相应的IP地址RA_1、RA_2、RA_3。每个访问设备30a至30i被示出为具有相关联IP地址(DA)和地理定位信息(P)。在此示例中,可针对服务器40与每个访问设备30a至30i之间的多个路由中的每一个获取提示信息。
由服务器40收集的提示信息可供地理定位系统10访问以进行分析。如下面将更详细地解释的,地理定位系统10可实施多种分析技术以使地理定位信息与路由器接口15的IP地址(RA)相关联。
处理提示信息
现在转向图3,在306处,并且在已经在步骤304处针对一个或多个目的地IP地址中的每一个获取路由信息后,系统10接着处理路由信息以形成提示信息,以便处理以确定路由器接口15的服务区域估计。在这种情况下,形成提示信息涉及:处理从包括特定路由器接口15的路由集获取的路由信息,以及形成数据集,针对集中的每个路由,所述数据集包括对特定路由器接口15与跟路由的目的地IP地址(DA)相关联的地理定位信息(P)之间的关联进行分类的信息。
现在转到图5A,示出了网格图500,其包括图4所示的服务器40与访问设备30a至30i之间的多个路由ROUTE l至ROUTE 12的路由信息。如图5A所示,每个路由包括单个路径,所述单个路径包括路由器接口15a至15f中的一个或多个。然而,应注意,实施方案可确定多个单独的路由器接口已出现在多个路由信息集中,并且因此涉及将包递送到多个位置(P)处的多个目的地地址。
在一些实施方案中,地理定位系统10处理所获取的每个路由的路由信息,并且以路由位置索引(Route Position Index,简称为RPI)的形式给相应路由(ROUTE)中的一些或所有路由器接口15的IP地址(RA)分配置信度索引,这根据它们在序列中与目的地IP地址(DA)的接近度进行。在一些实施方案中,RPI包括值,其标识提供路由的路由器接口15的有序排序中的相应中间路由器接口15相对于路由的目的地地址(DA)的位置。换句话讲,在这种情况下,对特定路由器接口15与跟每个路由的目的地IP地址(DA)相关联的地理定位信息(P)之间的关联进行分类的信息是RPI信息。当然,应了解,可使用其他类型的分类。
现在参考图5B,示出了图5A中表示的路由集的示例性RPI分配502的表。如图5B所示,对于图5A所示的路由,路由集中的每个路由中所包括的最多最终五个路由器接口15被分配RPI,使得路由中作为服务路由器接口的最终路由器接口15被分配路由位置索引值“1”,下一个“最靠近的”路由器接口被分配路由位置索引值“2”,以此类推。当然,应了解,可使用其他索引方法,包括涉及不同数量的“最终”路由器接口的方法。
在一些实施方案中,每个RPI分配具有指示时间信息的相关联时间戳,所述时间信息诸如例如采取相应路由的时间以及因此RPI的“年龄”,和/或确定地理定位信息的时间。
如图5B所示,在一些实施方案中,获取多个路由的路由信息,以针对路由中所使用的提供IP地址(RA)的每个路由器接口15形成一个或多个相应RPI与由一个或多个相应路由器接口服务的访问设备30的地理定位信息(P)之间的关联。地理定位系统10的实施方案接着处理包括特定路由器接口的路由集的路由信息以提供数据集,针对集中的每个路由,所述数据集包括特定路由器接口的RPI分配(诸如RA_1的RPI分配502)与跟路由的目的地IP相关联的地理定位信息之间的关联。
图6A描绘包括关联集504(在此示出为包括关联504-1至504-10)的示例性表600,所述关联包括图5A所描绘的每个路由的对应RPI502和地理定位信息506,在表600中,在所获取的路由信息中标识作为路由器接口15a的IP地址的IP地址RA_1。图6A因此描绘数据集600,其针对集中的每个路由包括分配给路由器接口15a的IP地址RA_1的RPI 502与跟每个相应路由的目的地IP地址相关联的地理定位信息506之间的关联。尽管图6A中未示出,并且如先前所描述,地理定位信息可具有指示确定地理定位信息的时间的相关联时间戳。
在一些实施方案中,可能的是,针对服务同一位置(P)处的一个或多个访问设备30的特定路由器接口15,路由信息可指示特定路由器接口15被确定为一个或多个路由中的最后路由器接口(例如,RPI=1),而在其他路由信息中,特定路由器接口15被确定为一个或多个路由中的更前路由器接口(例如,RPI=2、3、4或5)。在此类情况下,特定路由器接口15很可能远离而不是靠近特定位置(P)。
在一些实施方案中,并且在上述情况下,分配给特定位置的RPI可包括针对所述特定位置针对特定路由器接口确定的RPI值集中具有最大值(MAX)值的RPI值。换句话讲,在一些实施方案中,将所选择RPI分配给地理位置,从而针对特定路由器接口获取每位置的单个RPI选择,其中单个RPI选择是指示特定路由器接口位于特定位置的路由中的最前位置的RPI。
生成服务区域估计
现在转向图3,在已获取包括指示针对访问设备30的一个或多个IP地址获取的地理定位信息与服务一个或多个IP地址的路由器接口15之间的关联的提示信息的数据集后,实施方案接着在306处使用数据集来生成对应于数据集的路由器接口的服务区域估计。
在实施方案中,地理定位系统10使用指示针对访问设备30的一个或多个IP地址获取的地理定位信息与服务一个或多个IP地址的一个或多个路由器接口15之间的关联的提示信息来产生这些IP地址的映射,以估计服务路由器接口15中的特定服务路由器接口的服务区域。
现在转向图6B,示出了针对路由器接口15a被确定为具有图6A所描绘的关联504-1至504-10的地理定位信息的示例性映射602。在这种情况下,映射602表示一组地理定位坐标[P_1,P_2,P_3,P_5,P_6,P_7,P_8,P_10,P_11,P_12]的地理分布,所述地理定位坐标包括相应关联504的对应RPI的地理定位信息。
在一些实施方案中,生成特定路由器接口的服务区域估计涉及:检索呈与感兴趣路由器接口的IP地址相关联的RPI形式的提示信息的数据集,以及应用过滤器以提高所得服务区域估计的准确性。
例如,可根据到期时间阈值和RPI阈值对数据集进行过滤,使得从经过滤数据集排除所具有的时间戳信息超过到期时间阈值并且所具有的值超过RPI阈值的RPI。地理定位系统10接着处理经过滤数据集以生成服务区域估计。
在一些实施方案中,处理经过滤数据集可包括处理经过滤数据集以基于以下各项来选择服务区域估计:
·RPI分配的分布和/或总数;
·RPI分配的最低平均值;
·与RPI分配集相关联的“最新”平均时间戳;和/或
·与RPI分配相关联的地理定位信息的源的“质量”。
换句话讲,在一些实施方案中,服务区域估计的形状可取决于各种参数。
在图6B所描绘的映射602中,通过包括将第一过滤器应用于图6A所描绘的数据集602获取的RPI分配的映射的第一服务区域估计604被示出为由界线608包封,并且位于第一服务区域估计区604内并且包括通过将第二过滤器应用于图6A所描绘的数据集602获取的缩减数据集的RPI分配的映射的第二服务区域估计606被示出为由界线610包封,其中相应的第一过滤器和第二过滤器具有如下形式:
第一过滤器:排除RPI>3
第二过滤器:排除RPI>2
如图所示,在此示例中,第二过滤器具有排除RPI>2的RPI分配的效果。
在一些实施方案中,基于与RPI分配相关联的时间戳信息对RPI分配进行过滤,使得排除潜在地“过时”的RPI。例如,一些实施方案可使用例如whois公共服务来监测所有IP地址注册机构的数据,以检测块/网络的所有权变更或重组并丢弃由于变更而很可能过时的所有较旧的“提示”记录。
在实施方案中,地理定位系统10处理相应的经过滤数据集以作为具有相应界线606、608的区生成服务区域估计602、604,所述相应界线606、608根据每个相应的经过滤数据集的RPI分配502的分布来确定。技术人员将很好地理解用于确定界线的不同技术。
地理定位系统
现在将参考图7所描绘的系统10和图8的方法800来描述根据本公开的一个实施方案的地理定位处理系统的功能性的更详细讨论。
首先来看图7,示出了根据一个实施方案的地理定位处理系统10的方框图。如图所示,地理定位系统10包括地理定位处理器702、数据仓库704和服务区域处理器706。
如下面将更详细地解释的,在所说明的示例中,地理定位处理器702接收和/或确定边界网关协议数据708以及地理定位信息与跟一个或多个访问设备30相关联的IP地址710之间的关联,以便确定和/或更新提示信息以供服务区域处理器706处理以生成特定路由器接口的服务区域估计。
图8和图9中示出一种处理边界网关协议数据708以及地理定位信息(P)与单个IP地址(DA)710之间的关联的方法。就此而言,尽管以下描述与单个IP地址(DA)的处理有关,但是应注意,方法800可用于处理单个地址,或替代地可使用相同的逻辑来处理IP地址(例如说256个地址)的连续块,如果它们共享相同的地理定位信息的话。例如,通过在块起始点、结束点和中间点处取得一个或多个单个IP地址样本,如果在路由信息中标识最终跳路由器接口,则方法800可声明整个块很可能驻留在相同的地理位置处并且由相同的路由器接口服务。以此方式,方法800可将结果复制到块所包含的所有地址。此方法可减少所执行的实际路由跟踪的数量。
方法800包括:对照BGP路由数据708(参考图7)检查输入目的地IP地址(DA),以确认目的地IP地址是可寻址的。
如将理解的,BGP数据包括数据包应借以行进到目的地IP网络目的地的一连串ASN“跳”。在一些实施方案中,对照BGP路由数据检查目的地IP地址(DA)涉及:检测802全局ASN公告集,以及确认804目的地IP地址在ASN所公告的范围内并且因此是有效的。以举例的方式,典型的BGP公告可具有如下一般形式:
IP地址范围:X.X.X.0-X.X.X.255
ASN路径:A=>B=>C=>D。
因此,在此示例中,IP地址范围X.X.X.0-X.X.X.255由ASN“D”(即,路径上的最后ASN)“公告”,其中前一ASN是ASN“C”。在实施方案中,每个BGP公告中的最终跳和倒数第二“跳”被确定为“地理上有意义的ASN”,因为它们很可能在地理上更靠近具有目的地IP地址的访问设备。稍后将描述“地理上有意义的ASN”的意义。
如果目的地IP地址或范围不完全存在于全局BGP路由数据702中,这意味着其未在BGP公告中被公告,则所述目的地IP地址被认为不可到达。在目的地IP地址被确定为不可到达的情况下,不再对所述地址进行进一步处理,并且过程在818处结束。
在找到有效ASN范围(也就是说,具有包括目的地IP地址的相关联IP地址范围的ASN)的情况下,在806处,进行路由跟踪操作以标识参与服务目的地IP地址的活动中间路由器接口。作为此步骤的一部分,将最终路由器接口的IP地址(RA)存储为“服务路由器”,并且如先前所描述向所述路由器接口以及路由中所标识的中间路由器接口中的一个或多个分配RPI(参考图9,步骤910)。接着在808处,在路由位置索引表712(参考图7)中存储或更新RPI分配以及潜在的其他信息。如图9所示,用于确定RPI并将其存储在路由位置索引表中的一个过程可涉及:针对路由中的每个路由器接口,对地理定位上有意义的ASN的列表进行索引904,以及确定906与目的地IP地址是否存在重叠。
特别地,在810处,使用与上面参考步骤802描述的相同技术针对“服务路由器”的IP地址(RAS)检测“地理上有意义的ASN”的列表。
一旦检测到,就在步骤812处,将针对服务路由器检测到的地理上有意义的ASN的列表与针对目的地IP地址检测到的地理上有意义的ASN的对应列表进行比较,以确认服务路由器接口是否很可能具有用于服务目的地IP地址的地理接近度。在作出有效确认的情况下(换句话讲,如果地理上有意义的ASN的相应列表重叠),则将目的地IP地址(DA)、服务路由器接口IP地址(RAS)和路由时间戳存储在地址空间表716(参考图7)中。
在步骤816处,针对在全球找到的领先于或直接服务于所检测到的路由器接口中的每一个的所有“最后跳”路由器接口,在路由器总账表714(参考图7)中存储或更新IP地址和对应的RPI信息。换句话讲,在一些实施方案中,对于路由信息中所包括的每个网络可寻址路由器接口,无论其位置是否在路由中,都记录直接服务相同路由跟踪上的路由器接口(即,“跳对等体”)的路由器接口(IP地址)并作为与主路由器接口RPI的偏移量记录其RPI。在一些实施方案中,并且如下面将更详细地解释的,存储所有网络可寻址路由器接口的信息以及它们先前的“跳对等体”可允许以合理的置信度将路由器接口“分类”为多种不同的路由器接口类型中的一种。
现在转向图10,示出了用于生成路由器目录表718(参见图7)的示例性方法1000的流程图,所述路由器目录表718存储(至少)由实施方案检测到的每个路由器接口的更新服务区域估计。
如图所示,所描绘的方法1000涉及:在步骤1002处,将针对路由器接口检测到的所有IP地址的索引构建为“活动路由器索引”(ARI)。可例如通过组合路由器总账表714中所包括的所有唯一IP地址条目来构建ARI。在步骤1004处,针对ARI中的每个IP地址,所述方法接着在1006处检测“状态时间”,所述状态时间是网络中的任何更改很可能影响感兴趣IP地址的最后已知时间。就此而言,在一些实施方案中,“状态时间”可被确定为在以下各项中的最新时间戳:
·由ASN公告的BGP公告中的最后更改(诸如地理上有意义的列表更改时间)或块大小更改等;和/或
·最新的whois数据记录实际更改。
再次返回到图8,在步骤816处,针对在全球找到的领先于或直接服务于所检测到的路由器接口中的每一个的所有“最后跳”路由器接口,在路由器总账表714中存储或更新IP地址和对应的RPI信息。
在一些实施方案中,如图10所示,在步骤1008处,将每个路由器接口分类为以下路由器接口类型(RT)中的一种或多种:
·边缘或多功能路由器(例如,具有对ASN的边界接入的路由器,其可接收来自其他ASN的流量);
·核心路由器(例如,ASN内的内部路由器接口,其仅接收来自相同ASN的流量);和/或
·位置路由器(即,服务访问设备的最后跳路由器)。
在一些实施方案中,对每个路由器接口进行分类可涉及:
·生成直接服务感兴趣路由器接口的所有最后跳路由器接口的索引(例如,通过从路由器总账表714获取按“状态时间”过滤的最后跳IP地址的索引);
·检查每个最后跳路由器的公告ASN列表与感兴趣路由器的所公告ASN列表重叠的任何地方;
·如果全部重叠—这指示感兴趣路由器仅从相同ASN内接收流量,则其必须为“核心”,否则应具有“边缘”或“多功能”路由器的类型;以及
·如果感兴趣路由器具有‘核心’类型,但其总是位于路由跟踪的末端处并且从未出现在最后跳IP地址字段列表中,则将其标记为“位置”路由器。
应注意,由于“位置”路由器可仅服务有限地址空间,并且仅直接进行服务,因此收集其直接“提示”很可能将困难得多。例如,如果特定路由器接口仅服务小组织内的数十个IP地址,并且来自所述特定IP地址空间的地理定位信息不可用,则有可能无法针对路由器接口确定RPI分配。在此类情况下,一些实施方案可假设特定路由器接口很可能接近其最靠近的一个或多个“上游”路由器接口的服务区域或在所述服务区域内,并且获取并组合与其“一跳远的”对等体相关联的RPI分配,接着基于所述信息估计路由器接口所服务的最可能的服务区域。
在步骤1010处,接着生成服务区域估计并将其存储在路由器目录表718(参考图7)中。
图11示出用于由服务区域生成器702生成路由器接口的服务区域估计的示例性方法的流程图1100。
如图所示,方法1100涉及:查询路由位置索引表以检索1102针对感兴趣路由器接口IP地址存储的RPI分配。如先前所解释,所检索RPI分配可按“状态时间”过滤,可按RPI聚合,并且可基于低于阈值的RPI值按地理定位分组。
用于针对特定路由器接口和特定位置选择RPI分配的合适的伪代码SQL语句的示例如下:
SELECT IP Address,MAX(RPI)as Confidence,Latitude,Longitude
FROM RoutePositionlndexTable
WHERE IPAddress=@Router A ddress and TimeStamp>@StatusTime
GROUP BYIPAddress,Latitude,Longitude
HAVINGMAX(RPI)<5
ORDER BY MAX(RPI),TimeStamp desc
在一些实施方案中,针对质量参数(诸如组中RPI的数量、组中RPI的日期范围和一个或多个置信度索引)评估分组RPI的质量。
在一些实施方案中,如果在1108处确定感兴趣路由器接口具有“位置类型”的类型,则可假设与感兴趣路由器接口直接相关联的核心路由器很可能在相同的地理区中,并且在1108处将一个或多个核心路由器的RPI添加到组。
在已形成包括特定路由器接口的RPI组和地理定位分配的数据集后,在步骤1110至1114处,可生成所述路由器接口的服务区域估计。
在实施方案中,可作为特定路由器接口的部分所选择RPI分配集的“映射”生成服务区域估计,如先前参考图6B所描述的。
优选地,所选择RPI分配取决于例如阈值RPI值(应注意,在所描述的示例中,RPI越低越好)。理想地,所有所选择RPI分配将包括RPI=1。然而,这并不总是可能的。在一些实施方案中,RPI分配选择可取决于质量因素,诸如数据源类型或数据准确性指示符。图12是RPI分配的示例性映射,其示出所具有的RPI小于阈值的的RPI分配的分布。
在已获取RPI分配的映射后,实施方案接着使用合适的技术来确定服务区域估计。合适的技术的一个示例是热图。
确定访问设备的地理定位信息
可使用由一个实施方案生成的路由器接口的服务区域估计来确定具有相关联目的地IP地址的访问设备的地理定位的估计。图13中示出一种用于估计访问设备的地理定位的方法1200。
如图所示,方法1200涉及:确定1204目的地地址1202是否是网络可到达的,并且在地址可到达的情况下,从地址空间表716(参考图7)检索1208服务目的地IP地址1202的特定路由器接口的路由器接口的IP地址。在已确实特定路由器接口的IP地址1202后,接着从路由器目录表718(参考图7)检索针对特定路由器接口生成的服务区域。接着将特定路由器接口的服务区域估计视为访问设备的地理定位估计。
本领域的技术人员将理解,可使用多种科技和技术中的每一个种来表示信息和信号。例如,可在整个以上描述中参考的数据、指令、命令、信息、信号、位、符号和芯片可由电压、电流、电磁波、磁场或磁性粒子、光场或光学粒子或其任何组合表示。
本领域的技术人员将进一步了解,结合本文所公开的实施方案描述的各种说明性逻辑块、模块、电路和算法步骤可实现为电子硬件、计算机软件或指令、或两者的组合。为了清楚地说明硬件和软件的这种可互换性,上文已就其功能性总体描述了各种说明性部件、块、模块、电路和步骤。这种功能性是实现为硬件还是软件取决于特定的应用和施加于整个系统的设计约束。技术人员可针对每种特定应用以不同方式实现所描述的功能性,但是此类实现决定不应被解释为导致脱离本发明的范围。
应注意,流程图中描述的各种方法仅仅是一种实现方式,并且那些方法的操作可重新布置或以其他方式修改,使得其他实现方式是可能的。
上面结合附图阐述的详细描述描述了示例性实施方案,并且不表示可实现的或在权利要求范围内的仅有的实施方案。在整个本说明书中使用的术语“示例性”意指“用作示例、例子或例示”,并不是“优选的”或“优于其他实施方案”。详细描述包括为了提供对所描述技术的理解的目的的具体细节。然而,这些技术可在没有这些具体细节的情况下实践。在一些情况下,众所周知的结构和部件以方框图形式示出,以便避免混淆所描述实施方案的概念。
可使用各种科技和技术中的每一个种来表示信息和信号。例如,可在整个以上描述中参考的数据、指令、命令、信息、信号、位、符号和芯片可由电压、电流、电磁波、磁场或磁性粒子、光场或光学粒子或其任何组合表示。
结合本文所公开的实施方案描述的方法或算法的步骤可直接体现在硬件、由处理器执行的软件模块、或两者的组合中。对于硬件实现方式,处理可在一个或多个专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理装置(DSPD)、可编程逻辑装置(PLD)、可编程门阵列(FPGA)、处理器、控制器、微控制器、微处理器、被设计为执行本文所描述的功能的其他电子单元或其组合内实现。软件模块(也称为计算机程序、计算机代码或指令)可包含多种源代码或目标代码段或指令,并且可驻留在任何计算机可读介质中,诸如RAM存储器、闪速存储器、ROM存储器、EPROM存储器、寄存器、硬盘、可移动磁盘、CD-ROM、DVD-ROM、蓝光光盘或任何其他形式的计算机可读介质。在一些方面,计算机可读介质可包括非暂时性计算机可读介质(例如,有形介质)。另外,对于其他方面,计算机可读介质可包括暂时性计算机可读介质(例如,信号)。以上内容的组合也应包括在计算机可读介质的范围内。在另一方面,计算机可读介质可与处理器成一体。处理器和计算机可读介质可驻留在ASIC或相关装置中。软件代码可存储在存储器单元中,并且处理器可被配置为执行软件代码。存储器单元可在处理器内部或在处理器外部实现,在外部实现的情况下,存储器单元可经由本领域已知的各种手段通信地耦合到处理器。
另外,应了解,可由计算装置下载和/或以其他方式获取用于执行本文所描述的方法和技术的模块和/或其他适当构件。例如,这种装置可耦合到服务器以促进用于执行本文所描述的方法的构件的转移。替代地,可经由存储构件(例如,RAM、ROM、诸如光盘(CD)或软盘的物理存储介质等)提供本文所描述的各种方法,使得计算装置可在将存储构件耦合或提供到装置时获取各种方法。此外,可利用用于向装置提供本文所描述的方法和技术的任何其他合适的技术。
本文所公开的方法包括用于实现所描述方法的一个或多个步骤或动作。在不脱离权利要求的范围的情况下,方法步骤和/或动作可彼此互换。换句话讲,除非指定步骤或动作的特定次序,否则可在不脱离权利要求的范围的情况下修改特定步骤和/或动作的次序和/或使用。
如本文所用,术语“确定”涵盖各种各样的动作。例如,“确定”可包括演算、计算、处理、推导、调查、查找(例如,在表、数据库或另一种数据结构中查找)、查明等。此外,“确定”可包括接收(例如,接收信息)、访问(例如,访问存储器中的数据)等。此外,“确定”可包括解析、选择、挑选、确实等。在整个本说明书和以下权利要求中,除非上下文另有要求,否则词语“包含(comprise)”和“包括(include)”以及诸如包含(comprising)”和“包括(including)”的变体将理解为暗示包括所陈述的整体或整体的组,但不排除任何其他整体或整体的组。
在本说明书中对任何现有技术的参考不是并且不应被视为承认这种现有技术形成公知常识的一部分的任何形式的暗示。
本领域的技术人员应了解,本发明不局限于其到所描述的特定应用的使用。就本文所描述或所描绘的特定元件和/或特征而言,本发明也不局限于其优选实施方案。应了解,本发明不限于所公开的一个或多个实施方案,而是能够在不脱离由以下权利要求阐述并限定的本发明的范围的情况下进行各种重新布置、修改和替换。