CN108370334B - 网络连通性检测 - Google Patents
网络连通性检测 Download PDFInfo
- Publication number
- CN108370334B CN108370334B CN201780004756.5A CN201780004756A CN108370334B CN 108370334 B CN108370334 B CN 108370334B CN 201780004756 A CN201780004756 A CN 201780004756A CN 108370334 B CN108370334 B CN 108370334B
- Authority
- CN
- China
- Prior art keywords
- destination
- result
- network
- network interface
- indication
- 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
Images
Classifications
-
- 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/0805—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
- H04L43/0811—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking connectivity
-
- 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/10—Active monitoring, e.g. heartbeat, ping or trace-route
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Health & Medical Sciences (AREA)
- Cardiology (AREA)
- General Health & Medical Sciences (AREA)
- Mobile Radio Communication Systems (AREA)
- Computer And Data Communications (AREA)
Abstract
网络接口的网络连通性状态可以通过经由网络接口发送具有相应目的地的请求来确定。计算设备可以确定与请求相对应的相应结果至少包括一些不一致的结果。可以发送具有相应目的地的另一个请求。网络接口的网络连通性状态可以至少部分地基于与另一个请求相对应的结果和至少一个不一致的结果来确定。可以基于相应的优先级值来选择目的地。可以发送与网络连通性状态不对应的目的地的指示。
Description
背景技术
许多计算设备能够连接到不受其控制的网络。例如,许多智能手机、平板计算机、笔记本计算机和其他个人计算设备可以连接到无线网络,例如开放的WIFI网络。此外,一些此类设备可以通过有线以太网连接连接到由酒店或商务中心运营的网络。此外,诸如智能手机的许多计算设备可以同时连接到多个网络,并且选择一个或多个这些网络来承载特定连接的数据。
发明内容
本公开描述了用于确定网络接口的网络连通性状态的系统、方法和计算机可读介质。在一些示例中,即使当网络接口正在接收网络服务时,网络服务也可能不向一个或多个目的地提供网络连通性。在一些示例中,计算系统可以经由网络接口发送具有相应目的地的多个请求。计算系统可以确定与请求相对应的结果包括至少一些不一致的结果(例如,一个结果指示计算系统具有完整的网络连通性并且另一个结果指示计算系统为有限的网络连通性)。计算系统可以通过网络接口发送具有相应目的地的另一个请求。计算系统可至少部分地基于与另一个请求相对应的结果和至少一个不一致结果来确定网络接口的网络连通性状态(例如,通过结果中的多数投票)。
根据这里描述的示例技术,计算系统可以确定多个网络目的地(例如,第一、第二和第三目的地)中的所选择的目的地不对应于网络连通性状态,并且经由网络发送所选择的目的地的指示。根据本文描述的示例技术,可以至少部分地基于与目的地指示相对应的多个优先级值中的至少一个来从多个目的地指示中选择第一目的地指示。本文描述的一些示例技术可以允许更鲁棒或高效地确定网络连通性的状态。
提供本发明内容是为了以简化的形式介绍将在以下详细描述中进一步描述的一些概念。本发明内容并非旨在确定所要求保护的主题的关键或基本特征,也不旨在用作确定所要求保护的主题的范围的辅助手段。例如,术语“技术”可以指如上文和整个文档中描述的上下文所允许的系统、方法、计算机可读指令、模块、算法、硬件逻辑或操作。
附图说明
贯穿附图使用相同的数字来引用相似的特征和组件。附图不一定按比例绘制。
图1是描绘用于实现如本文所述的连通性状态检测的示例环境的框图。
图2是描绘用于实现如本文所述的连通性状态检测的另一示例环境的框图。
图3是描绘在连通性状态检测期间的示例模块交互的数据流程图。
图4是描绘根据本文描述的各种示例的被配置为参与连通性状态检测或对检测到的连通性状态进行响应的示例计算设备的框图。
图5是示出用于确定网络接口的网络连通性状态的示例过程的流程图。
图6是示出用于确定或对网络接口的网络连通性状态进行响应的示例过程的流程图。
图7是示出用于确定网络接口的网络连通性状态的示例过程的流程图。
图8是示出用于确定网络接口的网络连通性状态的示例过程的流程图。
图9是示出用于确定网络接口的网络连通性状态的示例过程的流程图。
图10是示出用于确定网络接口的网络连通性状态的示例过程的流程图。
图11是示出用于对网络接口的确定的网络连通性状态进行响应的示例过程的流程图。
图12是示出用于确定和报告网络接口的网络连通性状态的示例过程的流程图。
图13A是示出用于确定和报告网络接口的网络连通性状态的示例过程的流程图。
图13B是示出用于确定和报告网络接口的网络连通性状态的示例过程的流程图。
图14A是示出用于报告网络接口的网络连通性状态的示例过程的流程图。
图14B是示出用于报告网络接口的网络连通性状态的示例过程的流程图。
图14C是示出用于报告网络接口的网络连通性状态的示例过程的流程图。
图15是示出用于确定例如连接到已知网络的网络接口的网络连通性状态的示例过程的流程图。
具体实施方式
概述
用户期望来自其具有网络能力的计算设备(如智能手机)的可靠网络连通性。智能手机可以通过例如蜂窝网络或其他无线网络(例如WIFI网络)提供网络连通性。由于蜂窝网络通常比WIFI网络昂贵,因此用户通常都会尽可能优选使用WIFI连接。智能手机、蜂窝网络和WIFI网络用于说明的清晰性并且不是限制性的。根据这里描述的技术,也可以使用许多其他类型的无线设备。
许多机场、旅馆、饭店和其他商业或住宅位置包括具有WIFI无线接入点(WAP)的热点。WAP可以位于商店、企业、兴趣点或其他位置(在本文中被称为“热点”),以向附近的计算设备提供无线服务。“开放”WAP为范围内的任何计算设备提供无线网络服务。“闭式”WAP仅向提供授权信息的计算设备提供无线网络服务。授权信息可以包括例如用于加密和认证的WIFI密钥、用户名和密码或者例如由热点的运营商提供的访问令牌。如本文所使用的,“网络服务”是指计算设备与诸如WAP或以太网交换机的网络接入设备之间的连接。网络服务可以通过各种类型的网络提供,例如WIFI、ZIGBEE、以太网、近场通信技术(NFC)、诸如LTE网络或WIMAX网络的蜂窝数据网络或其他个人区域、局域网区域或城域网。
然而,即使在开放的WAP(或其他开放网络接入设备上,并且同样在整个文档中),无线网络服务也不保证网络连通性。一些WAP仅允许访问预先选择的网络服务器(或服务,并且同样在整个文档中),例如WAP供应商的网站或热点所有者的网站。这被称为“围墙花园”配置。另外或可选地,一些WAP要求用户在允许访问除强制门户(或被围墙花园允许的站点)之外的服务器之前与强制门户进行交互,通常以网页形式呈现。强制门户可以要求用户在允许与这些服务器或服务的网络连通性之前输入凭证或同意服务条款。强制门户的许多实现方式都会响应使用强制门户主网页的超文本标记语言(HTML)源访问服务器的任何尝试。这样,每当用户尝试访问网页,强制门户就会出现。例如,酒店可以向其客人提供WIFI网络服务,但是在向酒店所控制的目的地之外的目的地提供网络连通性之前,要求在强制门户接口中输入访问令牌(例如客人房间号)。
如本文所使用的,网络接口的网络连通性状态指示在没有WAP或其他网络服务提供商的特定授权的情况下,有网络能力的计算设备可以通过该网络接口建立到由具有网络能力的计算设备选择的服务器的网络连通性的程度。例如,围墙花园将网络连通性限制在仅由网络服务提供商批准的特定站点。因此,经由围墙花园连接的计算设备与经由无限制网络连通性的计算设备相比具有不同的网络连通性状态。同样,强制门户网站限制网络连通性,在某些示例中,仅限于强制门户。结果,网络服务不保证网络连通性的期望状态(例如,级别)。如本文所使用的,“网络连通性”不涉及网络访问的非本地限制,诸如由于服务器故障或者介入黑洞、防火墙或过滤器而导致的那些非本地限制。下面参照图2讨论这种限制的示例。计算设备可以具有多个网络接口,其具有不同的网络服务或网络连通性状态。例如,蜂窝网络接口和WIFI网络接口都可以具有网络服务,但蜂窝网络接口可以具有不受限制的网络连通性,而WIFI网络接口具有受限的网络连通性。
为了提供可靠的网络连通性,许多智能手机主要通过蜂窝网络传输数据,并且只有在智能手机确定WIFI网络提供可接受的网络连通性后才使用WIFI网络。做出该确定的常用方式是查询预定的目的地。这种查询被称为“探测”。如这里所使用的,“目的地”是网络流量的可识别接收者。目的地可以包括网络连通性的对等点,例如服务器或客户端。特定目的地的网络流量可以由一台服务器或一组服务器中的一台或多台服务器处理。例如,到任播IP地址(目的地)的分组可以由在该IP地址可达到的任何对等点处理。在另一个示例中,与内容递送网络(CDN)相关联的特定主机名称(目的地)可以解析为多个网络地址。与这些网络地址相关联的任何对等点都可以处理针对该特定主机名主机的流量。
在探测的示例中,使用MICROSOFT WINDOWS操作系统的计算设备可以通过提供无线网络服务的WIFI网络向统一资源定位符(URL)<URL:http://www.msftncsi.com/ncsi.txt>发送超文本传输协议(HTTP)GET请求。类似地,诸如IPHONE的APPLE计算设备可以向<URL:http://www.apple.com/library/test/success.html>发送GET请求。如果WINDOWS计算设备接收到具有14字节内容“Microsoft NCSI”的HTTP 200OK响应,则计算设备可以确定WIFI网络正在提供期望的网络连通性状态。类似地,如果IPHONE计算设备接收到包含词语“成功(Success)”的响应,则IPHONE可以确定WIFI网络正在提供期望的网络连通性状态。如果计算设备不能够查找期望服务器的网络地址(例如,www.msftncsi.com),不能够连接到该服务器,不能够发送请求,不会收到完整的响应或者接收到与预期响应不匹配的响应时,则计算设备可以确定WIFI网络不提供期望的网络连通性状态。
连接到提供期望连通性状态的WIFI网络的计算设备可以在网络传输类型允许时使用WIFI网络而不是蜂窝网络。与使用蜂窝网络相比,在这种情况下使用WIFI网络可以减少用户的无线数据成本,提供减少的延迟或提供增加的吞吐量。未连接到提供所需连通性状态的WIFI网络的计算设备可以使用蜂窝网络进行数据连接。这样做可以减少网络连通性丢失或中断的发生。
然而,虽然每个探测通常涉及仅传送相对少量的数据,但响应来自例如遍布世界各地的多个计算设备的探测的服务器(例如www.msftncsi.com)可能由于探测而经历非常高的带宽负载。同样,处理拦截的探测查询的强制门户服务器可能会遇到非常高的负载。为了减轻这种负载,一些热点运营商向已知的探测服务器或其他目的地(例如上述的MICROSOFT和APPLE探测服务器)提供完整的网络连通性。这种做法被称为“钉扎(pin-holing)”。一些热点运营商也钉扎探测服务器,以保证用户通过全功能Web浏览器而不是操作系统提供的接口与强制门户服务器进行交互。在钉扎的一些示例中,探测查询可以绕过强制门户服务器,例如,如下面参考图1和图2所述。在钉扎的一些示例中,探测查询可以通过强制门户服务器,该强制门户服务器然后可以将探测查询转发到其预期的目的地,例如至少部分地基于配置信息。
具有钉扎该设备的探测目的地的运营商提供的无线服务的计算设备可以确定网络连通性是可接受的,例如如上所述,并且尝试将WIFI用于网络连通性。但是,这些网络连通性可能仍然受到围墙花园限制或强制门户限制,导致网络应用程序由于缺乏连通性而失败。此外,钉扎可以有效地禁止用户在被强制门户授权之前使用Web浏览器以外的网络应用程序。这会降低用户生产力,因为在实现钉扎的环境中,用户可能不容易明白例如聊天或日历应用中的网络相关故障的原因是需要将授权信息提供给一个强制门户服务器。如本文所使用的,“列入白名单的”服务器或协议是钉扎、围墙花园或强制门户实现方式允许访问的服务器或协议,例如,不需要凭证,例如酒店房间号码、用户名和密码或其他授权信息。
用于确定网络连通性的一些现有方案仅使用单次探测,诸如到上述探测URL的连接。这种方案无法检测到所使用的单次探测URL的钉扎。因此,此类现有方案可能会尝试使用WIFI以连接到无法通过WIFI达到的目的地。这可能会导致用户在应用程序尝试访问服务器时经历延长的延迟,由于网络连通性意外中断而导致数据丢失或损坏,或者由于无法与应用程序服务器通信而导致应用程序无法运行。
此外,诸如在计算设备102上运行的操作系统(OS)的供应商的实体(例如MICROSOFT或GOOGLE)可能期望使用多个探测服务器来减少任何一个服务器上的探测流量负载。一些供应商使用CDN来允许单个网络名称(例如“www.msftncsi.com”)映射到若干服务器中的一个,例如74.202.215.25或74.202.215.16。例如,CDN可以接收来自特定客户端的请求并分配该特定客户端附近的服务器来响应该请求。可以例如在地理上或通过CDN的服务器与特定客户端之间的网络跳数来测量“接近度”。但是,一些先前的方案仅限于单个CDN。这可能会限制OS供应商在平衡负载方面的灵活性。
因此,本文描述的一些示例技术提供了用于确定网络接口的网络连通性状态的技术和构造。一些示例技术探测多个服务器并基于多个探测结果的比较来确定连通性。这可以允许例如检测钉扎。一些示例技术基于优先级值确定要探测哪些服务器。这可以允许例如改善跨多个服务器或跨多个CDN的负载平衡。某些示例技术确定多个探测到的服务器中的哪一个正在提供不准确的结果,并将该服务器的身份报告给例如OS供应商。这可以允许OS供应商更有效地将服务器分配给例如具有特定连接限制的地理区域或其他区域。
本文描述的示例技术可以使得计算设备能够为进行中的数据通信(例如当移入或移出特定无线网络的覆盖区域时)选择适当的网络。选择合适的网络可以降低丢失连接或丢失数据的可能性,并可以提高以网络为中心的应用程序的可用性。本文中的示例技术可以检测钉扎并且甚至在钉扎存在的情况下确定网络连通性的状态。
本文描述的一些示例技术可以减少与经由具有减少的网络连通性的网络进行连接的尝试相关联的网络带宽消耗和处理器使用。减少带宽消耗可以增加特定计算设备或与特定计算设备连接到相同的网络的其他计算设备的网络吞吐量。减少处理器使用量可以节省电力,延长便携式计算设备的电池寿命。本文的一些示例技术可以提供关于特定网络服务(例如,特定热点)的信息,从而允许计算设备根据特定网络服务的其他用户所经历的网络服务的特性来调整探测操作。
在下面的附图描述中更详细地给出了用于网络连通性检测的一些示例场景和示例技术。如上所述,参考提供全网络连通性的蜂窝数据网络和提供有限网络连通性的WIFI网络(例如,强制门户或围墙花园配置)来呈现各种示例。但是,这些示例不是限制性的。在一些示例中,蜂窝数据网络可以被配置有强制门户或围墙花园,或者WIFI网络可以被配置为提供完整的网络连通性。
说明性环境
图1示出了其中可以执行网络连通性确定系统的示例可以操作的或者其中可以执行如下所述的用于确定网络连通性的方法的示例环境100。在所说明的示例中,环境100的各种设备或组件包括计算设备102(1)-102(N)(单独地或共同地在本文中用附图标记102指代),其中N是大于或等于1的任何整数,被描绘为便携式计算设备。计算设备102表示可以经由网络进行通信的任何类型的设备。计算设备102可以被实现为例如但不限于膝上型计算机(例如102(1)),个人数字助理(PDA)(例如102(2)),平板计算机例如MICROSOFT SURFACE或APPLE IPAD(例如102(3)),诸如MICROSOFT LUMIA的智能手机(例如102(4)),功能电话,智能手表,能连接网络的生物计量设备,例如健身追踪器,诸如GOOGLE GLASS或其他显示器或计算系统的虚拟现实(VR)或增强现实(AR)显示器,例如被配置为佩戴在报头,手腕或身体的另一部分上,能连接网络的传感器或致动器,机器人,具有网络功能的电视机,电视机顶盒(有线或其他,例如APPLE TV),游戏机,便携式游戏系统,台式计算机或服务器。不同的设备或不同类型的设备可以对网络连通性信息具有不同的用途。例如,智能手机102(N)可以使用网络连通性信息来确定哪个无线网络用于到目的地的新连接。膝上型计算机102(1)可以使用网络连通性信息来确定膝上型计算机是连接到公司的专用网络还是连接到公共网络,并且相应地调整安全设置。
在所示示例中,计算设备102从网络接入点(NAP)104接收无线服务。在所示示例中,NAP 104是具有天线106的WAP。例如,NAP 104可以托管本地网络108,例如,以太网或WIFI局域网(LAN)。NAP 104经由一个或多个网络110(例如因特网)连接到一个或多个响应者112(1)-112(M)(本文中单独地或共同地附图标记112),其中M是任何整数大于或等于1。响应者可以包括例如Web服务器,诸如对针对www.msftncsi.com的查询进行响应的服务器,其他计算设备102或被配置为接收和响应探测查询的其他计算设备。在所示示例中,响应者112(1)和112(2)是CDN114的一部分。至少当由NAP 104提供网络访问的期望状态时,计算设备102可以经由NAP 104和网络110与响应者112通信。
在所示示例中,NAP 104还例如经由网络110连接到门户服务器116。门户服务器116可以附加地或可选地包括在NAP 104中,或者与NAP 104捆绑或位于一处。一个门户服务器116可以与一个或多个NAP 104通信,并且一个NAP 104可以与一个或多个门户服务器116通信。门户服务器116可以包括Web服务器,其通过提供强制门户网页的内容来响应查询。门户服务器116还可以与NAP 104通信以控制提供给特定计算设备102的网络连通性。例如,当用户经由计算设备102向门户服务器116提供有效凭证时,门户服务器116可以引导NAP 104将所选择的的网络连通性状态(例如,完全连通性)提供给相应的计算设备102。
在所示出的示例中,计算设备102可以(在给定足够的网络连通性的情况下)经由网络110与响应者注册表118进行通信。响应者注册表118可以存储关于哪些响应者112可以从哪些计算设备102或者从哪些网络108访问的信息。
计算设备102包括至少一个处理器120和至少一个存储器122(例如,计算机可读介质,CRM),其被配置为存储例如响应者112的数据或发布给响应者112的探测。存储器122还可以存储连通性确定组件124,其存储在存储器122中并且能够在处理器120上执行。组件124可以包括例如存储在诸如计算机存储介质(以下讨论)的计算机可读介质上并且在其上具有计算机可执行指令的模块。在所示出的示例环境100中,组件124可以是操作系统(未示出)的组件或以其他方式在计算设备102上本地地存储或执行。
存储器122还可以包括目的地的信息126或与信息126中指示的目的地相关联的优先级值128。下面参考图3讨论示例。例如,信息126可以包括如下所述的目的地相关信息。处理器120可以例如经由总线130从存储器122取回信息(例如,信息126或优先级值128)。处理器120还可以经由总线130与网络接口132通信,网络接口132进而可以允许经由本地网络108的通信。在一些示例中,处理器120可以经由网络接口132例如从服务器接收信息126或优先级值128,如以下参照图3所讨论的。由计算设备102存储的信息126或优先级值128可以不同于由另一个计算设备102存储的信息126或优先级值128,例如,因为计算设备102在从服务器接收更新的信息126或优先级值128的定时上的差别,或者因为不同的计算设备102具有不同的操作系统或者与信息126或优先级值128相关联的方式不同。
示例计算设备102的细节可以表示其他计算设备102或响应者112。然而,计算设备102或响应者112中的各个计算设备或响应者可以包括附加的或替代的硬件或软件组件。
组件124(或其模块,并且同样贯穿整个文档)可以被配置为确定网络连通性状态。在一些示例中,组件124可以被配置为选择要探测哪些响应者112。在一些示例中,组件124可以被配置为将目的地的指示(例如钉扎的响应者112的名称和地址)发送给响应者注册表118。在一些示例中,组件124可以被配置为例如经由计算设备102的显示设备提供网络连通性状态的可视表示,例如,如以下参照图3和4所讨论的。在一些示例中,网络接口132连接到至少一个处理器120。存储器(例如存储器122)存储例如组件124中的指令。所述指令在由至少一个处理器120执行时,使至少一个处理器120执行诸如下面参照图3-15描述的操作的操作。
在一些示例中,本地网络108或网络110可以每个均是或包括有线电视网络、射频(R)、微波、卫星或数据网络,诸如因特网,并且可以每个均支持使用任何格式或协议(如广播、单播或多播)的有线或无线媒体。另外,本地网络108或网络110中的每一个可以是使用任何类型的网络拓扑和任何网络通信协议的有线或无线的任何类型的网络,并且可以被表示或以其他方式实现为两个或更多网络。
图2示出了其中可以进行网络连通性确定的示例的示例环境200。所示的具体组件是说明性的而不是限制性的。智能手机102(N)从图1的可以表示NAP 104的WAP 202接收本地网络108的无线服务。WAP 202具有天线106。如由堆叠盒图形所示的,特定热点可具有多个WAP 202,或者特定设施可具有多个热点,每个热点都具有一个或多个WAP 202。WAP 202与路由器204进行通信,该路由器204将流量引导通过一个或多个网络110(用粗线图形表示)。路由器204可以表示至少部分地基于这些分组的报头或内容来选择性地引导网络分组(或帧、数据报等)的交换机、路由器、网关或任何其他网络设备。在一些示例中,路由器204、WAP 202、门户服务器116或这些中的任何一个的组合允许计算设备102(N)仅访问所选择的白名单目的地。在一些示例中,例如,在多个位置处运行热点的旅馆或餐馆连锁店,路由器204(或多个路由器204,例如每个热点一个,并且同样贯穿整个文档)可以将门户服务器116从多个热点列入白名单。这可以允许单个门户服务器116向多个WAP 202提供强制门户内容或功能。
在一些示例中,至少一个响应者112是将目的地的名称(例如,互联网主机名)映射到网络地址的名称服务器。例如,名称服务器可以包括响应于名称查找以将主机名(例如“www.msftncsi.com”)映射到互联网协议(IP)地址,例如74.202.215.16(IPv4)或2001:4870:e009::4aca:d710(IPv6)的域名系统(DNS)。
在一些示例中,可访问的所选择的目的地包括名称服务器206,其可以被列入白名单。例如,即使热点禁止连接到命名的目的地,强制门户或围墙花园热点也可以允许与名称服务器206通信。例如,名称服务器206可以被列入白名单以进行针对传输控制协议(TCP)端口53或用户数据报协议(UDP)端口53上的DNS流量的名称查询。另外地或可替代地,名称服务器206可以被列入白名单用于其他流量,例如ping或路由消息。
例如,计算设备102(N)的用户可期望访问www.microsoft.com网络站点。允许名称查找(例如,通过将名称服务器206列入白名单)可允许计算设备102(N)上的用户的Web浏览器通过向名称服务器206发送名称查找请求并接收响应来成功地确定“www.microsoft.com”对应于网络地址184.87.79.194。Web浏览器然后可以向184.87.79.194发出请求。该请求可以被路由器204拦截并被重定向到门户服务器116,例如在私有IP地址192.168.13.37处。门户服务器116然后可以返回强制门户网页而不是所期望的MICROSOFT网页。在某些配置中,如果名称查找失败,则Web浏览器将不会请求页面。因此,允许名称查找使得用户可以访问强制门户网页。在整个关于下面的网络连通性的示例状态的讨论中,除非另外指定,否则路由器204可以允许访问名称服务器206以进行名称查找,或者可以允许访问名称服务器206以进行任何通信,或者可以禁止访问名称服务器206。
在第一网络连通性状态中,路由器204允许计算设备102(N)仅与门户服务器116通信。该状态可以表示强制门户情况。如上所述,为了名称查找的目的,路由器204还可以允许计算设备102(N)与名称服务器206通信。
在网络连通性的第二状态中,路由器204允许计算设备102(N)与门户服务器116或响应者112(3)通信,但不允许与其他目的地通信。这种状态可以代表一个强制门户、围墙花园的情况,其中响应者112(3)被围墙花园批准。该状态可以附加地或可替代地表示响应者112(3)被钉扎的强制门户情况。
在第三网络连通性状态中,路由器204允许计算设备102(N)与响应者112(1)或响应者112(3)进行通信,但不允许与其他目的地进行通信。该状态可以表示响应者112(1)和响应者112(3)被围墙花园批准的围墙花园情况。
在第四网络连通性状态中,路由器204允许计算设备102(N)与响应者112(1)-112(M)进行通信。这个状态可以表示无限制的接入点。该状态可以附加地或可替代地表示在门户服务器116授权用户访问除门户服务器116之外的其它目的地之后的强制门户情况。为了简洁起见,将该状态简称为“完全访问状态”。
即使在网络连通性的第四完全访问状态中,并非所有响应者112或其他目的地在任何给定时间都必须可达。在所示出的示例中,计算设备102仅可以经由经过策略执行器208的路径而与响应者112(2)通信。策略执行器208可以包括配置为例如选择性或通用黑洞、防火墙或过滤器等的服务器或其他网络设备。例如,策略执行器208可以丢弃源自特定国家的分组,从而防止这些国家中的计算设备102访问响应者112(2)。同样在所示示例中,到响应者112(M)的网络连通性正在遭受链路故障210。链路故障210可能导致到响应者112(M)的分组丢失,从而阻止计算设备102(N)访问响应者112(M)。如本文所使用的,网络接口的网络连通性状态不包括例如由于策略执行器208、链路故障210或个别响应者112故障引起的故障,例如由于停电引起的故障。此外,如本文所使用的,网络连通性状态可以包括响应者112或其他目的地的可达性或者带宽、等待时间或其他定量连接参数的级别、集合或其他表示的信息。
如下面所讨论的,一些示例包括探测多个响应者112。在一些示例中,名称服务器206可以被配置为接收针对目的地(例如响应者112)的地址的请求。名称服务器206作为响应可以提供网络地址,例如DNS“A”(IPv4地址)记录。另外地或可替代地,名称服务器206可以响应对具有例如在DNS“CNAME”(规范名称)记录中的另一个目的地名称的地址的请求。计算设备102可以接收目的地名称并且在目的地名称上执行另外的名称查找以接收网络地址(或另一个目的地名称)。
在一些示例中,名称服务器206可以被配置为以多个目的地名称(例如“cdnl.ncsi.example.com”和“cdn2.ncsi.example.com”)中的一个来响应对特定目的地(诸如www.msftncsi.com)的名称查找。名称服务器206可以至少部分地基于优先级值(例如,选择空间的概率或范围)来选择用于任何特定查找的目的地名称,如以下参考图3所讨论的。例如,名称服务器206可以以“cdnl.ncsi.example.com”来响应三分之一的名称查找,并以“cdn2.ncsi.example.com”来响应名称查找的剩余三分之二。这可以为CDN1提供CDN 2的大约一半的探测流量。至少部分地基于优先级值来选择目的地名称可以允许调整任何特定响应者112或CDN 114上的负载,例如以减少服务器过载、链路过载或分组丢失,从而增加确定网络连通性状态的准确性。
说明性处理
图3是示出图1中所示的组件之间的示例交互的数据流图300,并且示出了连通性确定组件124的示例性模块。连通性确定组件124的例如存储在存储器122中的模块可以包括一个或多个模块,例如外壳模块或应用编程接口(API)模块,其被示出为目的地确定模块302、探测模块304、分析模块306和报告模块308。
在一些示例中,探测模块304被配置为经由网络接口132发送具有第一目的地的第一请求310。在所示的示例中,第一目的地是响应者112(1)(以虚线示出)。也就是说,第一请求310可以包括第一目的地的信息,例如主机名或网络地址,并且该信息可以与响应者112(1)相关联(并且对于此处描述的其他请求或目的地也同样)。第一请求310可以包括例如一个或多个独立分组或数据报,诸如UDP数据报。第一请求可以包括例如用于执行握手的一个或多个分组。示例握手可以包括TCP三方握手,并且第一请求可以包含TCP SYN分组。在一些示例中,探测模块304被配置为与第一目的地交换分组,例如建立TCP连接,通过该TCP连接可以发送HTTP请求。在这个示例和其他示例中,第一请求可以包括诸如HTTP或文件传输协议(FTP)之类的应用协议中的请求。
在一些示例中,探测模块304被配置为经由网络接口132发送具有第二不同目的地的第二请求312。第二请求312可以包括上面参照第一请求描述的任何类型的数据或传输。在所示的示例中,第二目的地是响应者112(2)。第一请求310和第二请求312可以并行(例如至少部分同时)或串行传输。
在一些示例中,探测模块304被配置为经由网络接口132接收与第一请求310对应的第一响应314。仅仅为了清楚起见,连接到第一响应314或者下面描述的其他响应的箭头显示为虚线。在一些示例中,探测模块304被配置为经由网络接口132接收对应于第二请求312的第二响应316。在一些示例中,取决于哪些响应者112处于启用状态,可通过网络访问,或者被钉扎,探测模块304可以接收第一响应314和第二响应316中的一个、两者或者都不接收。
在一些示例中,探测模块304被配置为确定对应于第一请求310的第一结果318。例如,探测模块304可以至少部分地基于第一响应314或至少部分地基于是否接收到第一响应314来确定第一结果318。第一结果318可至少指示第一请求310是成功还是失败,第一请求310是否超时,是否接收到响应,第一目的地是否可通过网络到达,或者第一响应314的特定内容。在一些示例中,第一结果318可以指示第一请求310成功地到达第一目的地,或者未接收到对第一请求310的响应,或者第一请求310没有到达第一目的地(例如,由于网关故障)。例如,第一结果318可以指示第一响应314包括由策略执行器208或除了与第一目的地对应的响应者112之外的另一计算设备提供的错误消息。
在与www.msftncsi.com相对应的第一目的地(响应者112(1))的示例中,结果可以指示接收到的第一响应314是否包含期望的文本“Microsoft NCSI”或其他文本,例如,“欢迎来到Acme酒店的门户页面!”。前者可以表明可以访问www.msftncsi.com(不管是否被钉扎);后者可以表明该请求被强制门户拦截。第一结果318可以包括文本,诸如比特、数字的逻辑值或第一响应314的内容或属性的其它表示。
在一些示例中,探测模块304被配置为确定对应于第二请求312的第二结果320。探测模块304可以至少部分地基于接收到的第二响应或者至少基于部分是否收到第二响应来确定第二结果320。探测模块304可以例如使用上述用于确定第一结果318的技术来确定第二结果320。第二结果320可以包含或指示以上参照第一结果318描述的任何类型的信息。探测模块304可以将第一结果318和第二结果320提供给分析模块306。
在一些示例中,分析模块306被配置为确定第一结果318和第二结果320不一致。在一些示例中,第一结果318和第二结果320分别指示接收到针对第一请求310还是针对第二请求312的成功的响应。在这些示例中,如果第一结果318和第二结果320不同,例如,如果接收到第一响应314但第二响应316未接收到,则第一结果318和第二结果320不一致,或反之亦然。在一些示例中,如果结果符合不一致的标准,则结果可能不一致。在一些示例中,如果结果不符合一致性标准,则结果可能不一致。
例如,如果第一结果318和第二结果320相同或者包含相同的内容,如果它们具有至少部分重叠的内容(例如,HTTP结果代码,即使HTTP标头字段可能不同),或者如果一个的内容是另一个的内容的子集,则第一结果318和第二结果320可以是一致的(不是不一致)。在一些示例中,如果第一结果318和第二结果320中的每一个指示响应于相应的请求310,312接收到预期的内容,则第一结果318和第二结果320可以是一致的。
当第一结果318和第二结果320不一致时,两者都不能可靠地指示网络连通性的状态。例如,响应者112(1)即第一目的地的可以被钉扎,而响应者112(2)即第二目的地可以不被钉扎。不一致还可能来自上述其他中断或情况,例如第一目的地和第二目的地中的仅一个被围墙花园批准。在一些示例中,分析模块306被配置为向探测模块304发信号通知不一致性的存在,如由“不一致”连接器(为了清楚起见,仅示出点画)图形表示的。
在一些示例中,探测模块304被配置为经由网络接口发送具有第三目的地的第三请求322,在该示例中第三目的地是响应者112(M)。探测模块304可以响应于来自分析模块306的不一致的指示或者在其他情况下发送第三请求322。第三请求322可以如上参考第一请求310所述。
在一些示例中,探测模块304被配置为接收对应于第三请求322的第三响应324。这可以如上参考第一响应314所述那样完成。
在一些示例中,探测模块304被配置为确定对应于第三请求322的第三结果326。这可以如上参照第一结果318所述那样完成。例如,探测模块304可以至少部分地基于第三响应324来确定第三结果326。
在一些示例中,分析模块306被配置为至少部分地基于第三结果326以及第一结果318或第二结果320中的至少一个来确定网络接口的网络连通性的状态328。例如,分析模块306可以确定第一结果318或第二结果320是否与第三结果326一致。分析模块306然后可以至少部分地基于第三结果326并且至少部分地基于与第三结果326一致的第一结果318和第二结果320的结果来确定网络连通性的状态328。也就是说,分析模块306可以至少部分地不考虑或忽视与第三结果326不一致的第一结果318和第二结果320中的一个来确定状态328。
在一些示例中,第一结果318、第二结果320和第三结果326中的每一个包括布尔值或其他逻辑值或由布尔值或其他逻辑值组成,所述逻辑值指示相应的请求310、312、322是否成功地到达相应的响应者112(1),112(2),112(M)。在这些示例中的一些中,分析模块306确定对应于大多数逻辑值的状态328。例如,如果结果318、320和326中的逻辑值包括两个真值和一个假值,则分析模块306可以确定状态328是完全连通性状态(真)。
在一些示例中,报告模块308被配置为提供所确定的状态328的视觉表示330。下面参考图4描述视觉表示的示例。
在一些示例中,探测模块304可以发送任意数量的请求,接收任意数量的响应,或者确定任何数量的结果。例如,探测模块304可以向M个响应者112中的每一个发送M个请求。在一些示例中,分析模块306可以分析来自探测模块304的任何数量的结果。例如,分析模块306可以将状态328确定为由简单多数或三分之二多数结果表示的网络连通性。
在一些示例中,第一目的地、第二目的地和第三目的地全都不同。例如,第一目的地、第二目的地和第三目的地可以是相应不同的响应者112。在其他示例中,第三目的地是第一目的地或第二目的地。例如,探测模块304可以探测作为第一目的地的响应者112(1),探测作为第二目的地的响应者112(2),并且再次探测作为第三目的地的响应者112(1)。一些强制门户系统仅捕获第一请求310,然后允许网络访问。重复对第一目的地或第二目的地的探测可以允许检测这样的系统,而不用用户实际上不必响应的强制门户交互中断用户。
在一些示例中,第一请求310(或第二请求312或第三请求322,并且同样贯穿这些示例)包括所选择的的资源名称,例如URL、统一资源标识符(URI)、统一资源名称(URN)或文件路径(例如“/ncsi.txt”)。第一响应314(假设它被接收)可以包括内容,例如HTTP报头或消息主体、文件内容或元数据。分析模块306可以将内容与参考内容332进行比较以提供指示内容是否对应于参考内容332的第一结果318。如果第一响应314中的内容对应于参考内容,则到第一目的地的网络连通性是可用的。参考内容332可以存储在存储器122(例如计算机可读介质)中,或存储在另一个计算机可读存储介质中。
即使当某些网络服务被列入白名单时,取回和比较内容也可以允许确定网络连通性。例如,如上面参照名称服务器206所述,名称查找可以被列入白名单。因此,名称查找的结果可能不能可靠地指示状态328。相反,如上所述的内容的取回和比较以及结果一致性的确定可以更可靠地指示状态328。在一些示例中,第一请求310(或本文其他请求,如上所述)不包括名称查找,或者第一目的地(或如上所述的各个相应目的地)不是名称服务器。
在一些示例中,计算设备102包括响应于状态328的功率控制模块334。功率控制模块334可以以与网络接口的网络连通性的状态328相对应的功率级来操作无线网络接口。这在下面参考图4和图6更详细地描述。
在一些示例中,一个或多个响应者112可以指示、或者探测模块304可以确定计算设备102不应该缓存接收到的响应314,316或324。例如,标准的Web浏览器或HTTP代理高速缓存可以防止探测模块304接收准确地反映到相应响应者112(1)、112(2)或112(M)的网络连通性的存在或不存在的响应314、316或324。在一些示例中,请求310、312或322可以包括HTTP请求。响应者112可以在相应的响应314,316或324中包括禁用高速缓存的报头。例如,该响应可以包括HTTP报头“高速缓存控制:无高速缓存,无存储”以指示计算设备102不高速缓存该响应。在使用CDN 114的一些示例中,响应者112可以附加地或可替代地包括指引CDN114不高速缓存响应的报头。在使用AKAMAI CDN的示例中,响应可以包括报头“边缘控制:无高速缓存,无存储”以指引CDN 114不高速缓存该响应。在一些示例中,探测模块304可以禁用对接收到的响应的高速缓存。
在一些示例中,目的地确定模块302被配置为确定一个或多个目的地并向探测模块304提供目的地的指示336(“Dests”)。探测模块可以从指示336选择或提取至少第一目的地、第二目的地或第三目的地的信息,例如,标识。
在一些示例中,目的地确定模块302被配置为选择多个目的地指示中的第一目的地指示。例如,多个目的地指示可以存储在目的地的表格或其他信息126中。第一目的地指示可以是例如信息表126中的一行。从多个目的地指示中选择第一目的地指示可以允许例如使用多个CDN 114来响应探测,这可以减少任何一个响应者112或CDN 114上的网络负载。例如,多个目的地指示可以包括指示多个不同主机名的URL。在一个示例中,目的地指示可以包括解析为由第一CDN 114服务的IP地址的“http://cdn1.ncsi.example.com”和解析为由第二CDN 114服务的IP地址的“http://cdn2.ncsi.example.com”。从多个目的地指示中进行选择也可以允许确定状态328,即使在存在与特定的一个目的地指示相关联的特定目的地的故障的情况下。
在一些示例中,信息126中列出的多个目的地指示的至少一些目的地指示对应于相应的优先级值128,并且选择是至少部分地基于至少一个优先级值128。例如,优先级值可以对应于选择空间的概率或范围,如下所述。在一些示例中,目的地确定模块302被配置为经由网络接口接收信息126中的至少一些目的地指示的优先级值128中的相应优先级值128。至少部分地基于优先级值128来选择目的地指示可以允许例如调整由各目的地(例如,响应者112)处理的探测的比例。例如,如上所述,OS销售商可能期望操作多个响应者112或与多个CDN 114签约以处理探测流量。不同的响应者112(无论是独立的还是在CDN 114中)可以具有不同的能力来处理网络流量。基于优先级值128进行选择可以允许为每个响应者112提供响应者112配备处理的聚合负载。这可以降低由于响应者112或网络链路过载而导致分组丢失的可能性,这进而可以允许更准确地确定网络连通性的状态328。
在一些示例中,优先级值指示目的地指示的相应排名。例如,每个目的地指示可以具有唯一的排名。目的地确定模块302可以选择具有最高排名的目的地指示作为第一目的地指示。
在一些示例中,优先级值指示选择的概率。在信息126中指示的目的地的优先级值可以总计为1(或者可以归一化为1,并且同样遍及整个文档)。对于每个目的地指示,目的地确定模块302可以依次从0和1之间(开放,封闭或半开放区间,以及同样遍及整个文档)的统一(或基本上统一,并且同样遍及整个文档)分布进行抽取。例如,目的地确定模块302依次为每个目的地指示确定0到1之间的均匀分布的随机(或伪随机,并且同样遍及整个文档)数。目的地确定模块302可以选择随机数小于选择概率的最早测试的目的地指示作为第一目的地指示。以这种方式,具有较高概率的目的地比具有较低概率的目的地更可能被选择。
在一些示例中,可以使用除统一以外的分布,并且可以使用除概率之外的优先级值。例如,对于特定的目的地指示,可以从正态分布中得出平均值,并且优先级值可以指示离将导致将目的地指示选择为第一网络目的地的平均值的标准偏差的最小数量。
在一些示例中,优先级值指示由相应的目的地指示占据的选择空间的比例。例如,如上所述,优先级值可以和为1。目标指示可以基于它们的概率在选择空间中分配范围。可以从选择空间上的均匀分布获取一次抽取,例如在0和1之间。目的地确定模块302可以将数字落入的范围内的目的地指示选为第一目的地指示。下面的表1给出了一个示例。
表1
从[0,1)上的均匀分布的抽取将恰好落入四个范围中的一个。例如,0.5≤0.64<0.92,因此0.64的抽取在表1中所示的目的地指示C的范围内。因此,对于0.64的抽取,目的地确定模块302将选择目的地指示C作为第一目的地指示。
在一些示例中,优先级值指示按照量而不是按比例占用选择空间。例如,具有200个元素和分别用于目的地指示AD的优先级值26,74,84和16的选择空间将提供与表1的示例相同的选择概率,其中由[0,200)上的均匀抽取执行选择。
在一些示例中,目的地确定模块302被配置为确定信息126中列出的多个目的地指示中的第一组目的地指示。在一些示例中,第一组省略第一目的地指示。例如,第一组可以包括除了第一目的地指示之外的多个目的地指示中的每一个。在其他示例中,除了与对应于与第一目的地指示相同的目的地的目的地指示之外,第一组可以包括多个目的地指示中的每一个。在其他示例中,第一组可以从多个目的地指示中随机选择,并且如果选择了目的地指示,则可以从该组中移除第一目的地指示。
在一些示例中,目的地确定模块302被配置为至少部分地基于优先级值128中的至少一个来确定第一组目的地指示中的目的地指示中的至少一个的相应修改的优先级值338。在选择第一目的地指示中使用的优先级值128也可以用于确定修改的优先级值338,或者可以使用其他优先级值128。
在一些示例中,目的地确定模块302被配置为通过至少部分地基于第一组的目的地指示的相应优先级值128的总和对第一组的目的地指示的相应优先级值128进行归一化来确定相应的修改的优先级值338。继续表1的示例,一旦选择了目的地指示C,则剩余的目的地具有总计为0.58的优先级值。每个优先级值可以除以0.58以将修改后的优先级值338的总和归一化为1,得到表2中的值。
表2
在一些示例中,目的地确定模块302被配置为将修改的优先级值338确定为相应的优先级值128的副本。例如,指示按数量占用选择空间的给定优先级值,修改的优先级值338可以等于优先级值128。
在一些示例中,目的地确定模块302被配置为至少部分地基于修改的优先级值338从第一组目的地指示中选择第二目的地指示。这可以例如如上所述地参考选择第一目的地指示来进行。从第一组目的地指示中选择第二目的地指示可以允许检测或减轻钉扎,因为即使第一目的地指示对应于钉扎的响应者112,第二目的地也可以对应于未钉扎的响应者112。
在其中修改的优先级值338是相应优先级值128的副本的一些示例中,目的地确定模块302可以通过调整选择空间以适应修改的优先级值338来选择第二目的地指示。继续示例如上所述,当选择目的地指示C时,用于目的地指示A,B和D的经修改的优先级值338可继续等于用于目的地指示A,B和D的相应优先级值128,例如26、74和16。这些值总和为116。目的地确定模块302可以将选择空间调整为[0,116),并且从[0,116)上的均匀分布抽取以确定第二目的地指示。
在一些示例中,探测模块304被配置为查询与第一目的地指示相对应的第一目的地以首先提供查询结果。如上所述,查询可以经由与处理器通信连接的网络接口来执行。例如,如上所述,探测模块304可以作为查询的一部分发送第一请求310并确定第一结果318。第一查询结果可以是或包括第一结果318。在一些示例中,探测模块304可以接收第一响应314并至少部分地基于第一响应314确定第一结果318,同样如上所述的。
在一些示例中,分析模块306被配置为至少部分地基于第一查询结果来确定网络接口的网络连通性状态。这可以如上所述完成。
在一些示例中,探测模块304被配置为查询对应于第二目的地指示的第二目的地以提供第二查询结果。这可以例如如上参考至少第二请求312、第二响应316或第二结果320所讨论的那样完成。
在一些示例中,分析模块306被配置为进一步至少部分地基于第二查询结果来确定网络接口的网络连通性状态。在一些示例中,分析模块306被配置为确定第一查询结果和第二查询结果不一致。如所描绘的,分析模块306可以向目的地确定模块302提供不一致的指示。
在一些示例中,目的地确定模块302被配置为例如响应于第一查询结果和第二查询结果不一致来确定第一组目的地指示中的第二组目的地指示。第二组可以省略第二目的地指示。在一些示例中,第二组省略第一目的地指示和第二目的地指示两者。例如,如上面参考第一组所描述的那样,可以选择第二组。
在一些示例中,目的地确定模块302被配置为至少部分地基于至少一个优先级值128或至少一个修改的优先级值338来确定第二组目的地指示中的目的地指示中的至少一个的相应的第二修改优先级值340。这可以例如如上面参考确定修改的优先级值338所讨论的那样完成。优先级值128中的至少一个或修改后的优先级值338中的至少一个可以用于选择目的地,或者可以使用优先级值128中的至少一个中或者修改后的优先级值338中的至少一个的其他值。
在一些示例中,目的地确定模块302被配置为至少部分地基于第二修改的优先级值340从第二组目的地指示中选择第三目的地指示。例如,这可以如上面参照第二目的地的选择来完成。
在一些示例中,探测模块304被配置为查询对应于第三目的地指示的第三目的地以提供第三查询结果。这可以例如如上面参照第三请求322、第三响应324或第三结果326所讨论的那样完成。
在一些示例中,分析模块306被配置为进一步至少部分地基于第三查询结果确定网络接口的网络连通性的状态328。这可以例如如上面参考第三结果326所讨论的那样完成。
在一些示例中,目的地的信息126可以包括针对特定响应者112的多个不同名称,或者可以包括对应于响应者112中的相同一个的多个条目。例如,信息126中的三个目的地指示可以对应于单个响应者112的三个不同名称。在一些示例中,第一目的地指示对应于第一网络地址并且第二目的地指示对应于第一网络地址。在一些示例中,第一目的地指示对应于第二网络地址并且第三目的地指示对应于第二网络地址。在一些示例中,第二目的地指示对应于第三网络地址并且第三目的地指示对应于第三网络地址。在一些示例中,第一、第二或第三目的地中的任何一个对应于与第一、第二或第三目的地中的至少另一个相同的响应者112(例如,对应于相同的网络地址)。在一些示例中,第一、第二和第三目的地对应于单个响应者112。
在一些示例中,报告模块308被配置为提供至少一个目的地的指示。例如,报告模块308可以确定特定目的地不是状态328的可靠指示符,并且为了其他计算设备102的利益而将该信息报告给服务器。
在一些示例中,探测模块304被配置为查询第一目的地(例如,响应者112(1))以提供第一结果318。这可以例如如上面参考第一请求310所讨论的那样完成。在一些示例中,探测模块304被配置为查询第二目的地(例如,响应者112(2))以提供第二结果320。这可以例如如上面参考第二请求312所讨论的那样完成。一些示例中,探测模块304被配置为查询第三目的地(例如,响应者112(M))以提供第三结果326。这可以例如如上面参照第三请求322所讨论的那样完成。
在一些示例中,分析模块306被配置为至少部分地基于至少第一结果318、第二结果320或第三结果326来确定例如处理器120的网络连通性的状态328。这可以按照上面的讨论完成。例如,分析模块306可以确定第一结果318和第二结果320不一致。然后,分析模块306可以确定第三结果326与第一结果318或第二结果320一致,并且基于第三结果326确定网络连通性的状态328。至少部分地基于已知与至少一个其他结果318或320一致的第三结果326来确定网络连通性的状态328可以例如以钉扎配置提高状态328的检测精度。
在一些示例中,分析模块306被配置为至少部分地基于至少第一结果318、第二结果320或第三结果326来确定第一目的地、第二目的地和第三目的地中的所选择的目的地不对应于网络连通性的状态328。为了清楚而没有限制,所选择的目的地在本文中被称为“无信息目的地”。例如,如果第一结果318和第二结果320不一致,并且第一结果318和第三结果326一致,则分析模块306可以确定第二结果320不对应于网络连通性的状态328。作为响应,分析模块306可以确定第二目的地不对应于网络连通性的状态328,即,第二结果不对应于网络连通性的状态328,并且因此第二目的地是无信息目的地。分析模块306可以向报告模块308提供无信息目的地(“Dest.”)的指示。
在一些示例中,分析模块306可以至少部分地基于第一结果318、第二结果320或第三结果326的细节来进一步确定第二目的地不对应于网络连通性的状态328。例如,如果第一结果318和第三结果326指示状态328是完全访问状态,并且第二结果320指示第二请求312超时,则分析模块306可以确定第二目的地不对应于网络连通性的状态328。可替代地,分析模块306可以确定该超时可能是由于图2的链路故障(诸如链路故障210)造成的,因此无法确定第二目的地是否对应于网络连通性的状态328。
在一些示例中,报告模块308被配置为经由图1的网络(例如,网络110)或至少一个不同的网络发送无信息目的地的指示。例如,报告模块308可以将该指示发送给响应者注册表118(以虚线示出)。响应者注册表118可以由例如报告模块308的供应商(例如操作系统(OS)供应商)来操作。响应者注册表118(指示的接收者)可以传播无信息目的地的信息,允许其他计算设备102避免查询或探测无信息目的地。避免查询或探测无信息目的地可以减少确定状态328所需的带宽使用和经过的时间。
在一些示例中,分析模块306被配置为确定网络连通性的状态328指示所选择的参数之外的网络连通性的一个或多个特征。在这些示例中,可以存储无信息目的地的指示以供稍后传输,如下所述。例如,状态328可以指示计算设备102离线,不足的带宽可用于传输该指示,网络等待时间太高而不能尝试传输,或者网络连通性不足以用于传输。在存储用于稍后传输的数据的各种示例中,分析模块306的下述功能可以附加地或可替代地由报告模块308或通过与报告模块308一起操作的分析模块306来执行。针对所选参数测试状态328的另外的示例在下面参考图6的框612-616进行描述。
在一些示例中,分析模块306被配置为将无信息目的地的信息存储在计算机存储介质中以提供存储的信息。保存所存储的信息的计算机存储介质被图形化地描绘为高速缓存342,并且在这里为了简洁起见称为高速缓存342。分析模块306可以例如响应于确定网络连通性的状态328指示如上所述的所选择的参数之外的网络连通性的一个或多个特征而将信息存储在高速缓存342中。
在一些示例中,分析模块306被配置为至少部分地基于所存储的信息来确定无信息目的地的指示。例如,分析模块306可以从高速缓存342取回所存储的信息,包括该指示。分析模块306然后可以将该指示提供给报告模块308以进行传输。该指示可以例如响应于网络连通性的状态328的变化而被传输,使得网络连通性的状态328指示网络连通性的一个或多个特征符合选择的参数(或在选择的参数内,与选择的参数相一致或满足选择的参数)。例如,报告模块308可以响应于用户被强制门户授权而发送指示,或者当计算设备102连接到提供完全接入连接的不同网络服务供应商时。
在一些示例中,模块302-308中的至少一个(例如报告模块308)被配置为确定本地网络特定信息(“LNSI”)。例如,报告模块308可以操作网络接口132以确定网络特性,然后至少部分地基于网络特性来确定LNSI。例如,报告模块308可以操作网络接口132以至少发送数据,接收数据,嗅探数据,测量分组或帧之间的时间,测量使用的带宽,测试可用的带宽(例如,通过与诸如那些与SPEEDTEST.NET相关地操作的测试服务器进行通信),或报告链路特性(如链路速度(例如,10Mbps与100Mbps以太网))。报告模块308可以确定网络特性,包括或者至少部分地基于由列出的操作的任何或任何组合提供的数据。例如,LNSI可以包括无线网络标识符,例如网络的服务集标识符(SSID)。例如报告模块308的模块302-308中的至少一个可以被配置为经由无线网络接口来接收无线网络标识符。
在一些示例中,对于WIFI网络,LNSI可以包括或指示网络的SSID。在其他示例中,对于以太网网络,LNSI可以包括例如该网络上的默认网关(GW)或动态主机配置协议(DHCP)服务器的以太网媒体访问控制(MAC)地址。在一些示例中,LNSI可以包括默认GW、WAP、NAP104、DHCP服务器或其他配置服务器的IP或其他网络地址。在一些示例中,LNSI可以指示特定名称服务器206的可达性或链路特性。
在一些示例中,报告模块308被配置为与无信息目的地的指示相关联地发送LNSI。报告模块308可以例如将LNSI发送到响应者注册表118。收集并发送LNSI可以允许具有LNSI的信息的计算设备102基于本地特征来从特定本地网络108更有效地选择目的地,例如以避免无信息的目的地。下面将例如参照图7或15描述另外的示例。
在一些示例中,分析模块306被配置为确定网络连通性状态328与至少第一结果318、第二结果320或第三结果326之间的不一致性的信息。这可以如以上所讨论的那样来完成。
在一些示例中,报告模块308被配置为例如向响应者注册表118与无信息目的地的指示相关联地发送不一致性的信息。这可以允许报告模块308以无信息目的地报告问题的性质。例如,不一致的信息可以表明无信息目的地是钉扎的,不可达的,或者遇到服务器故障(例如,服务器错误配置)。不一致性的信息可以允许接收者(例如响应者注册表118)响应于无信息目的地将继续不具有信息的可能性而传播无信息目的地的信息。例如,钉扎的目的地很可能仍然是钉扎的,但出现服务器故障的服务器可能会被修复,并且不再是无信息目的地。
在一些示例中,分析模块306被配置为至少部分地基于第一、第二或第三结果来确定第一、第二和第三目的地的第一组无响应目的地。第一组可以包含一个或多个无响应的目的地。无响应目的地可以包括例如没有接收到对从探测模块304发送的请求的响应的目的地。目的地可能由于目的地故障或由于诸如由策略执行器208或链路故障210(均为图2)引起的通信中断而是无响应的。
在一些示例中,报告模块308被配置为经由网络例如向响应者注册表118发送第一组的指示。第一组的指示可以包括例如识别第一组中的无响应目的地的数据。
在一些示例中,报告模块308被配置为例如向响应者注册表118发送至少一个目的地以及各个目的地的一个或多个可达性状态的指示。例如,报告模块308可以对于每个目的地发送关于该目的地是否可达的指示。在一些示例中,报告模块308可以仅发送不可达或无响应目的地的指示,或者可以仅发送可达或者可响应目的地的指示。
在一些示例中,分析模块306或报告模块308可以被配置为存储第一组的信息、可达性指示或上述其他信息。该信息可以存储在高速缓存342中。例如,可以响应于确定网络连通性的状态328指示了所选参数之外的网络连通性的一个或多个特性,来存储信息,如上所述。响应于指示特征在所选择的参数内的状态328,例如在比存储信息的时间晚的时间,报告模块308可以将至少一些存储的数据发送到例如响应者注册表118。
在一些示例中,响应者注册表118可以收集,过滤,分类或以其他方式分析所接收的信息,或者将接收到的信息或其报告或分析分发给计算设备102。该信息可以包括至少例如无信息目的地的识别信息或其他指示;状态328与对应于无信息目的地的结果之间的不一致性的性质的信息;LNSI;一组无响应目的地或个别无响应目的地的信息;或任何所列项目的存储数据。在一些示例中,计算设备102可以从响应者注册表118接收目的地的信息126。在一些示例中,响应者注册表118可以提供信息126,省略了无信息或无响应的响应者的指示。
在一些示例中,目的地确定模块302可以被配置为例如从响应者注册表118接收目的地相关信息。目的地相关信息可以被包括在信息126中或与信息126一起。目的地相关信息可以包括至少任何上述类型,例如LNSI、非信息性或非响应性目的地标识符、目的地指示、优先级值128或参考内容332。在一些示例中,目的地确定模块302可被配置为确定第二LNSI,例如使用网络特征或以其他方式如上参考确定LNSI所述的那样。
在一些示例中,目的地确定模块302可以被配置为至少部分地基于接收到的目的地相关信息来选择或以其他方式确定至少第一目的地、第二目的地或第三目的地。在一些示例中,目的地确定模块302可以省略目的地相关信息中指示的至少一个无信息或无响应目的地而不考虑作为待探测或查询的目的地。在一些示例中,目的地确定模块302可以选择或以其他方式确定在目的地相关信息中未指示的目的地作为至少第一目的地、第二目的地或第三目的地。省略无信息的或无响应的目的地可以增加从查询的目的地接收有意义的响应的可能性,减少发送以确定状态328所需要的比特数并因此节省带宽和功率(例如,电池电量)。
在一些示例中,目的地确定模块302可以被配置为确定与所确定的第二LNSI相对应的所接收的目的地相关信息中的至少一些。例如,目的地确定模块302可以确定目的地相关信息中的特定LNSI对应于所确定的第二LNSI。例如,如果特定LNSI和确定的第二LNSI完全或至少在所选字段的值中、相等或重叠,或者如果一个完全或至少在选择的字段的值中,包含在另一个的子集中或另外是另一个的子集,则特定LNSI可对应于所确定的第二LNSI。
响应于特定LNSI与所确定的第二LNSI之间的对应关系,目的地确定模块302然后可以例如从所接收的目的地相关信息中的至少一些中省略无信息或无响应的目的地。例如,目的地确定模块302可以至少选择第一目的地、第二目的地或第三目的地以与与特定LNSI相关联的目的地不同。
例如,具有SSID“Alice”的第一WIFI网络可以钉扎特定目的地,例如www.msftncsi.com。具有SSID“Bob”的第二WIFI网络可能无法钉扎www.msftncsi.com。目的地确定模块302可以接收指示www.msftncsi.com是与指示“Alice”的SSID的LNSI相关联的无信息目的地的目的地相关信息。目的地确定模块302可以确定包括计算设备102正在从其接收网络服务的WIFI网络的SSID(例如“Alice”或“Bob”)的第二LNSI。当连接到网络“Alice”时,目的地确定模块302可以省略www.msftncsi.com,但当连接到网络“Bob”或者另一个网络(例如具有SSID“Charlie”)时不省略www.msftncsi.com(例如,选择www.msftncsi.com作为目的地)。
在一些示例中,目的地确定模块302可以至少选择第一目的地、第二目的地或第三目的地作为与特定LNSI相关联的目的地。例如,具有特定SSID(例如“demoscenel”和“demoscene2”)的WIFI热点的运营商可以具有已知配置以便“ncsi.demoscene.example.com”是网络连通性状态的可靠的指示符的网络。在该示例中,目的地确定模块302可以选择“ncsi.demoscene.example.com”作为第一目的地、第二目的地或第三目的地中的至少一个。
在一些示例中,例如由计算设备102从响应者注册表118接收的信息126可以指示特定目的地应该是用于具有关联的LNSI的网络的主要或唯一目的地。在这些示例中的一些示例中,探测模块304可以仅探测特定目的地,或者可以利用第一请求310探测特定目的地。这可以在使用具有已知特性的网络服务时减少探测网络负载。至少参照图5讨论特定目的地的探测。
在一些示例中,目的地确定模块302被配置为选择预定目的地指示作为本文所述的第一目的地指示或另一目的地指示。然后,报告模块308可以向响应者注册表118提供关于与预定目的地指示相对应的探测的信息。例如,在MICROSOFT计算设备102上,目的地确定模块302可以选择<URL:http://www.msftncsi.com/ncsi.txt>作为至少一个目的地指示。使用例如由来自特定OS供应商的设备执行的许多或所有探测之间共同的至少一个预定目的地可以允许比较由不同网络接入设备提供的网络连通性水平。执行这种比较可以允许运行响应者注册表118的实体调整其网络的操作,或者推荐对其他网络的操作进行调整,以减少探测负载,同时仍允许有效确定状态328。执行这种比较可以附加地或可选地允许操作响应者注册表118的实体调整由计算设备102选择或可用于计算设备102的目的地以允许有效地确定状态328,例如,如本文参照LNSI所描述的。
与一些现有方案相比,使用目的地相关信息和第二LNSI选择目的地可以允许计算设备102使用较低量的网络数据来确定状态328,或者确定具有减少的能量使用或降低的峰值功率消耗的状态328。与一些现有方案相比,使用目的地相关信息和第二LNSI选择目的地可以允许计算设备102确定状态328,同时不会不必要地限制可用于计算设备102的目的地。留下更多可用于计算设备102的目的地可以允许计算设备102以更迅速地确定状态328,例如通过设置响应超时并且如果在超时内没有接收到对请求的响应,则查询附加目的地。
在一些示例中,分析模块306或报告模块308可以被配置为向目的地确定模块302提供目的地相关信息而不经过响应者注册表118。例如,分析模块306可以将目的地相关信息存储在高速缓存中342,并且报告模块308可以将来自高速缓存342的目的地相关信息提供给目的地确定模块302。在一些示例中,目的地确定模块302可以直接从高速缓存342取回目的地相关信息或直接从分析模块306接收目的地相关信息。
说明性组件
图4示出了示例计算设备102的选择组件。在所示示例中,计算设备102包括一个或多个处理器120、存储器122、输入/输出(I/O)接口402或网络接口132。存储器122可以实现为各种类型的存储器组件的任何组合,例如计算机可读介质(CRM)或计算机存储介质组件。可能的存储器组件的示例包括随机存取存储器(RAM)、磁盘驱动器、大容量存储组件和非易失性存储器(例如,ROM、闪存、EPROM、EEPROM等)。计算设备102的替代实现方式可以包括一系列处理和存储器能力。例如,全资源计算设备可以用大量的存储器和处理资源来实现,包括用于存储供观众重播的内容的磁盘驱动器。但是,低资源计算设备可能具有有限的处理和存储器能力,例如有限量的RAM、无磁盘驱动器和有限的处理能力。
处理器120处理各种指令以控制计算设备102的操作并且与其他电子和计算设备进行通信。例如,处理器120可以被配置为执行存储器122上的以上参考图3所讨论的多个模块中的模块。在一些示例中,存储在存储器122上的计算机可执行指令在执行时可以配置诸如计算设备102的计算机以执行本文中参照例如连通性确定组件124或其模块所描述的操作。存储在存储器122中的模块可以包括当由一个或多个处理器120执行时使一个或多个处理器120执行在此描述的操作的指令。
存储器122存储各种信息或数据,例如包括至少一个连通性确定组件124、操作系统404或一个或多个其他应用程序406。与所示组件或模块相关联地描述的功能性可以是结合由更少数量的组件或模块执行或者可以被更多数量的组件或模块分开和执行。其他应用程序406可以包括例如互联网浏览器,诸如Web浏览器、强制门户浏览器、媒体播放器应用程序、视频编辑应用程序、视频流应用程序、电视观看应用程序等。在一些示例中,存储在至少一个计算机可读介质(例如,存储器122)中的连通性确定组件124或应用程序406的计算机可执行指令在计算设备102的处理器120上执行时,引导计算设备102执行这里关于存储器122中的相关组件列出的功能。
在一些示例中,连通性确定组件124确定计算设备102的网络连通性的状态。这可以如上参照图3所述,例如使用诸如上述那些算法。在一些示例中,连通性确定组件包括图3的功率控制模块334。在一些示例中,功率控制模块334可以是或者可以被包括在不同的组件(为了简洁起见省略)中。参照图6更详细地描述功率控制模块334的功能。
在所示示例中,存储器122包括数据存储库408。在一些示例中,数据存储库408可以存储上面参照图3描述的信息,例如,目的地的信息126,目的地的优先级值128或参考内容332。在一些示例中,数据存储库408可以存储上面参考高速缓存342描述的信息。
网络接口132可以允许计算设备102与其他计算设备102通信。例如,网络接口132可以建立或促进接收有线或无线网络服务。在一些示例中,网络接口132中的至少一个可以包括但不限于用于以太网、蜂窝(3G、4G或其他)、WI-FI、超宽带(UWB)、蓝牙、卫星或其他无线传输等的收发器。至少一个网络接口132可以包括有线I/O接口,诸如以太网接口、串行接口、通用串行总线(USB)接口、INFINIBAND接口或其他有线接口。在一些示例中,网络接口132中的至少一个可以经由天线106与网络110中的至少一个无线通信。在这些示例中的一些示例中,网络接口132中的至少一个网络接口132是或者包括无线网络接口410。在一些示例中,计算设备102可以包括通信地连接到网络接口132中的至少一个的电缆插孔412,例如插头、插座或插口。网络接口132中的至少一个可以经由电缆插孔412与网络110中的至少一个通信。电缆插孔412可以包括例如RJ-45以太网插口。
I/O接口402可以附加地或可选地包括例如显示设备414或者与其通信地连接,使得计算设备102能够呈现视频内容。在示例实现方式中,I/O接口402将信号提供给显示例如强制门户的网页的触摸屏或其他显示设备。在一些示例中,计算设备102可以被配置为在显示设备414上呈现至少一个网络接口132的网络连通性状态328的视觉表示。视觉表示可以包括例如红色/绿色(或红色/蓝色)停车灯指示符,显示连接强度为棒图形的“棒”指示符,对于没有或减少的连通性分别显示“X”或“!”的网络图标,描绘了围墙花园配置的对冲,或描绘了强制门户配置的门户。呈现区分无连接、围墙花园和强制门户配置的视觉表示可以减少用户确定适当的动作以改善计算设备102的网络连通性所需的时间量。例如,即使用户没有使用Web浏览器,对门户的描述可以向用户指出打开Web浏览器与强制门户进行交互应该很容易纠正网络连通性故障。
I/O接口402可以附加地或可选地包括例如用户可操作的输入设备416(图形地表示为游戏手柄),或者可通信地与之连接,使得用户能够例如指示计算设备102建立到特定目的地的连接。用户可操作的输入设备416可以包括例如触摸屏上的触摸传感器、用户可操作的按钮、开关或其他物理输入控件、光学传感器(例如,用于检测相对于屏幕的手指位置)、鼠标、轨迹球、操纵杆或指点杆,如轨迹点(TRACKPOINT)。
尽管单独示出,但计算设备102的一些组件可以一起实现在单个硬件设备中,诸如在现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(专用集成电路ASSP)、片上系统(SoC)、复杂可编程逻辑器件(CPLD)、数字信号处理器(DSP)或其他类型的可定制处理器。例如,处理器120可以表示混合设备,诸如来自ALTERA或XILINX的包括嵌入FPGA架构中的CPU核心的设备。这些或其他硬件逻辑组件可以独立操作,或者在某些情况下可以由CPU驱动。在一些示例中,处理器120可以是或者可以包括一个或多个单核处理器、多核处理器、中央处理单元(CPU)、图形处理单元(GPU)、通用GPU(GPGPU)或例如经由来自模块或API的专门编程配置来执行本文所述的功能的硬件逻辑组件。
另外,系统总线130通常连接计算设备102内的各种组件。系统总线130可以被实现为几种类型的总线结构中的任何一种的一个或多个,包括存储器总线或存储器控制器、外围总线、加速图形端口或使用各种总线架构的本地总线。举例来说,这样的架构可以包括工业标准架构(ISA)总线、微通道架构(MCA)总线、增强型ISA(EISA)总线、视频电子标准协会(VESA)本地总线以及外围组件互连(PCI)总线,例如Mezzanine总线。
在一些示例中,计算设备102由电池418或仅提供有限能量或电力的其他电源供电。例如,如上所述,计算设备102可以是或者包括智能手机或其他便携式计算设备,或者基于提供给WAP 202的网络连通性向其他计算设备提供网络连通性的电池供电的WAP 202。下面参照图6对示例进行讨论。
图4中所示的任何组件可以是硬件、软件或硬件和软件的组合。此外,图4中所示的任何组件(例如存储器122)可以使用计算设备102可以本地或远程访问的任何形式的计算机可读介质来实现,例如包括通过网络110。计算机可读介质包括两种类型的计算机可读介质即计算机存储介质和通信介质。计算机存储介质(例如计算机存储介质)包括以用于存储如计算机可读指令、数据结构、程序模块或其他数据信息的任何方法或技术实现的诸如易失性存储器、非易失性存储器或其他永久性或辅助性计算机存储介质、可移动和不可移动计算机存储介质的有形存储单元。计算机存储介质包括作为设备的一部分或设备外部的设备或硬件组件中包括的有形或物理形式的介质,包括但不限于随机存取存储器(RAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、相变存储器(PRAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、闪存、光盘只读存储器(CD-ROM)、数字多功能盘(DVD)、光卡或其他光存储介质、磁带盒、磁带、磁盘存储器、磁卡或其他磁存储设备或介质、固态存储器设备、存储阵列、网络附加存储装置、存储区域网络、托管计算机存储装置或存储器、存储设备或存储介质,其可以用于存储和维护供计算设备102访问的信息。
与计算机存储介质相比,通信介质可以在调制数据信号(例如载波)或其他传输机制中体现计算机可读指令、数据结构、程序模块或其他数据。如本文所定义的,计算机存储介质不包括通信介质。在一些示例中,存储器122可以是或包括计算机存储介质。
说明性过程
图5-15图示了用于确定网络连通性的状态或者响应于所确定的状态的示例过程。这些方法被示为作为离散块显示的一组操作。这些方法可以用任何合适的硬件、软件、固件或其组合来实现。例如,图5-15所示的功能可以例如使用在这些设备上运行的软件,在一个或多个计算设备102上实现或以其他方式实施。在软件的上下文中,操作代表当由一个或多个处理器执行时使一个或多个处理器执行所述操作的计算机可执行指令。在硬件环境中,操作表示在电路中实现的逻辑功能,例如数据通路控制和有限状态机排序功能。
描述操作的顺序不被解释为限制,并且任何数量的所描述的操作可以以任何顺序或并行地组合以实现每个过程。为了解释清楚,参考图1-4所示的各种组件和数据项,其可以执行或参与示例性方法的步骤。但是,应该注意的是,可以使用其他组件;也就是说,图5-15所示的示例性方法不限于由所标识的组件执行。
图5示出了用于确定网络接口的网络连通性状态的示例过程500。
在框502处,经由网络接口发送第一请求310。第一请求310具有第一目的地。这可以如上面参照图3所讨论的那样完成。在一些示例中,第一请求310包括选择的资源名称,例如具有已知内容的网页的URL。以下参考框602和604来描述内容。
在框504处,经由网络接口发送第二请求312。第二请求312具有不同的第二目的地。这可以如上面参照图3所讨论的那样完成。
在框506处,确定对应于第一请求的第一结果318。这可以如上面参照图3所讨论的那样完成。例如,第一结果318可以指示第一请求的传输是成功还是失败,第一目的地是否似乎连接,或者对第一请求310的第一响应314中的内容是否与参考内容332匹配。在一些示例中,第一结果可能表示第一请求已成功到达第一目的地,未收到响应,或者请求未到达目的地(例如,由于网关故障)。
在框508处,确定对应于第二请求312的第二结果320。这可以如以上参照图3所讨论的那样来完成。如果框502在框506之前并且框504在框508之前,则可以以任何顺序执行框502-508。
在框510处,确定第一结果和第二结果不一致。这可以如上面参照图3所讨论的那样完成。在一个示例中,第一结果指示例如钉扎的响应者112的成功探测,并且第二结果指示例如未被钉扎并且被强制门户阻挡的响应者112的不成功的探测。
在框512处,例如,响应于在框510中确定不一致,经由网络接口发送具有第三目的地的第三请求。这可以如上面参照图3所讨论的那样完成。如上所述,在一些示例中,第三目的地可以是第一目的地或第二目的地,或者第一目的地、第二目的地和第三目的地可以全部彼此不同。
在框514处,确定第三结果。第三结果对应于第三请求。这可以如上面参照图3所讨论的那样完成。
在框516处,确定网络接口的网络连通性状态。该状态至少部分地基于第三结果以及第一结果或第二结果中的至少一个来确定。这可以如上面参照图3的分析模块306所讨论的那样完成。例如,状态可以是大多数结果所表示的状态。具体地,在一些示例中,框516可以包括确定第一结果或第二结果与第三结果一致。然后可以至少部分地基于第三结果并且至少部分地基于与第三结果一致的第一结果和第二结果的结果来确定网络连通性状态。如上所述,可以发送任何数量的请求,并且状态可以被确定为由大多数相应结果指示的状态。
在上面的一些示例和其他示例中,使用多个请求。在一些示例中,在框518处,具有相应目的地的多个请求(例如,多个请求中的请求)经由网络接口被发送。框518可以包括例如框502和504,并且该多个请求可以包括第一请求310和第二请求312。
在框520处,确定与请求相对应的相应结果包括至少一些不一致的结果。框520可以包括例如框506,508和510。结果可以包括例如第一结果318和第二结果320。至少一些不一致的结果可以包括不同于至少另一个相应结果或者与至少另一个相应结果不一致的一个或多个相应的结果。在一些示例中,对应于请求的相应结果(例如,第一结果318)的至少所选择的结果指示相应的请求(例如,第一请求310)成功地到达相应的目的地(例如,第一目的地)。
在框522处,经由网络接口发送具有相应目的地的另一个请求。框522可以包括例如框512,并且另一个请求可以包括第三请求322。该另一个请求的相应目的地可以包括例如第三目的地。
在框524处,至少部分地基于与另一个请求相对应的结果和至少一个不一致的结果来确定网络接口的网络连通性状态。框524可以包括例如框514和516。与另一个请求相对应的结果可以包括例如第三结果326。不一致结果中的至少一个可以包括例如第一结果318或第二结果320。
在一些示例中,框520可以包括确定对应于请求的相应结果的至少所选择的结果与对应于该另一个请求的结果一致。例如,第一结果318可以与第三结果326一致。在一些示例中,框524可以包括至少部分地基于所选择的结果和对应于该另一个请求的结果(例如,第一结果318和第三结果326)来确定网络连通性的状态。这可以例如如上面参考分析模块306所描述的那样完成。
图6示出了用于确定或响应网络接口的网络连通性状态的示例过程600。框506可以包括框602和604。框508可以包括框606和608。框516之后可以是框612。在一些示例中,框612-616的功能可以由功率控制模块334执行。如图所示,框502之后可以是框602或框604。框504之后可以是框606或框608。
在框602处,经由网络接口接收第一响应。第一响应对应于第一请求。在一些示例中,第一响应包括诸如以上参照图3的探测模块304所描述的内容,例如报头、主体或元数据。可以从对应于第一目的地的响应者112或从另一个计算设备接收第一响应,如以上参照图3的探测模块304所讨论的。
在框604处,例如至少部分地基于第一响应来确定第一结果。这可以如上参考图3的探测模块304所讨论的那样完成。在一些示例中,在框604处,将第一响应的内容与参考内容进行比较以提供指示内容是否对应于参考内容的第一结果。如上所述,参考内容可以被存储在例如存储器122中或计算机可读存储介质中。在一些示例中,可以基于各自的响应和相应的参考内容来确定一个或多个结果,例如,如本文参考第一结果所描述的。在一些示例中,第一结果基于除了第一响应之外的或者代替第一响应的因素来确定,例如超时或者错误消息,如以上参照图3的探测模块304所讨论的。
在一些示例中,第一响应可以包括来自计算设备102的网络子系统的错误消息或诸如因特网控制消息协议(ICMP)目的地-主机不可达消息的失败分组。在这些示例中的一些示例中,第一结果可以对应于错误消息或失败分组或者其中任何一个的内容来确定。
在至少使用框518,520,522或524的一些示例中,框602可以包括经由网络接口接收与多个请求中的第一请求(例如,第一请求310)相对应的第一响应(例如,第一响应314)。框604可以包括至少部分地基于第一响应来确定结果中的与请求相对应的相应结果(例如,第一结果318)。这可以例如如上面参考图3的探测模块304所讨论的那样完成。
在一些示例中,多个请求中的第一请求(例如,第一请求310)包括所选择的的资源名称,例如,如以上参考图5所讨论的。框602可以包括经由网络接口接收对应于第一请求的第一响应(例如,第一响应314)。第一响应可以包括内容。框604可以包括将内容与参考内容进行比较以提供结果中的与请求相对应的相应结果(例如,第一结果318)。相应的结果可以指示内容是否对应于参考内容。这可以例如如上面参照参考内容332或框506所讨论的那样完成。
在框606处,经由网络接口接收第二响应。第二响应对应于第二请求。这可以如上参考图3的探测模块304所讨论的那样完成,或者如上面参照框602所述的第一响应。
在框608处,例如至少部分地基于第二响应来确定第二结果。这可以如上参考图3的探测模块304所讨论的那样完成,或者如上面参考框604所述的第一结果。
在一些示例中,例如其中计算设备102包括显示设备414的一些示例中,框516之后可以是框610。在框610处,可以在显示设备414上呈现网络连通性状态的视觉表示。这可以如上面参照图4和图3的表示330所讨论的那样完成。
在一些示例中,计算设备102包括无线网络接口410和连接到无线网络接口410的天线106。在这些示例中的一些示例中,框516之后可以是框612。
在框612处,无线网络接口410以与网络接口的网络连通性状态对应的功率级运行。例如,当状态328指示网络连通性符合预定标准时,功率级可以是“开启”级。可以针对预定标准来测试标准,例如,如上面参照图3的分析模块306和高速缓存342所描述的。在另一示例中,当状态328指示网络连通性不符合预定标准时,功率级可以是“关”或“备用”级。在一些示例中,框612可以包括框614和616。以上参照图3的功率控制模块334讨论了上面描述的图612-616。关闭无线网络接口410可以允许节省功率,例如导致节省电池寿命。这对于计算设备102如低功率无线路由器而言是有用的,其中下游(例如,无线)网络服务可以在上游(例如无线或有线)网络连通性不存在或由于其它原因不符合预定标准时终止。
在框614处,响应于网络连通性状态为不完全连通性状态,无线网络接口410以相对较低功率模式工作。不完全连通性状态可以包括例如不是完全连通性状态的状态,或者网络连通性的特性在所选择的范围之外的状态。相对较低功率模式可以是例如关闭、待机、睡眠或休眠,或者无线网络接口410仅在一定比例的经过时间(例如每秒中的0.5秒)内操作的模式。
在框616,响应于网络连通性状态是完全连通性状态,无线网络接口410以相对较高功率模式工作。完全连通性状态可以包括例如超过阈值连接水平的状态,或者网络连通性的特性在所选择的范围内的状态。例如,相对较高功率的模式可以是无线网络接口410基本上始终处于活动状态的模式,或者无线网络接口410在较高比例的经过时间(例如,每秒中的0.9秒)内运行的模式。
图7示出了用于确定网络接口的网络连通性状态的示例过程700。至少框502、框504或框512可以在至少框702、框704或框706之前。
在框702处,经由网络接口接收目的地相关信息。以上参考响应者注册表118和图3讨论了目的地相关信息的示例。
在框704处,将所接收的目的地相关信息存储在例如存储器122或另一计算机可读存储介质中。例如,目的地相关信息可以存储在OS的配置表中。可以例如作为OS更新周期的一部分重复框702和704,使得计算设备102具有用于尝试确定网络连通性状态328的相对最新的目的地相关信息。
在框706处,至少部分地基于目的地相关信息(例如,接收到的目的地相关信息)来选择目的地。目的地至少可以是第一目的地、第二目的地或第三目的地。在一些示例中,可以从存储器(例如,从存储器122)中取回目的地相关信息。这可以如上参照图3的目的地确定模块302所讨论的那样完成。
在一些示例中,目的地相关信息包括与特定目的地的识别信息相关联的第一局域网特定信息(LNSI)。在这些示例中的一些示例中,框706可以位于框708-714中的至少一个之前(如图所示)或包括框708-714中的至少一个。例如,框706可以在框708-712之前,并且包括框714。
在框708处,操作网络接口以确定网络特性,例如WIFI网络的SSID。这可以如上参照图3的报告模块308所讨论的那样完成。
在框710处,至少部分地基于网络特性来确定第二LNSI。这可以如上参照图3的报告模块308所讨论的那样完成。
在框712处,确定第一LNSI对应于第二LNSI。例如,如果第一LNSI和第二LNSI例如彼此相等或一个包含在另一个内,则第一LNSI和第二LNSI可以对应。对应关系可以如上面参照图3的目的地确定模块302所讨论的那样来确定。
在框714处,选择目的地以与关联于第一LNSI的特定目的地不同。目的地至少可以是第一目的地、第二目的地或第三目的地。可以如上面参考图3的目的地确定模块302所讨论的那样选择目的地。
图8示出了用于确定网络接口的网络连通性状态的示例过程800。
在框802处,从多个目的地指示中选择第一目的地指示。所述多个目的地指示中的至少一些目的地指示对应于相应的优先级值,并且所述选择至少部分地基于所述优先级值中的至少一个。这可以例如如上面参照图3的目的地确定模块302以及表1和表2所讨论的那样完成。
在框804处,确定第一组目的地指示。从多个目的地指示中选择第一组的目的地指示。第一组省略了第一目的地指示。这可以例如如上面参照图3的目的地确定模块302所讨论的那样完成。
在框806处,至少部分地基于至少一个优先级值来确定第一组目的地指示的目的地指示中的至少一个的相应修改的优先级值。这可以例如如上面参照图3以及表3的目的地确定模块302所讨论的那样完成。
在一些示例中,框806可以包括:通过至少部分地基于第一组的目的地指示的相应优先级值的总和来标准化第一组的目的地指示的相应优先级值,来确定相应修改的优先级值。这可以例如如上面参照图3以及表1和表2的目的地确定模块302所讨论的那样完成。
在框808处,从第一组目的地指示中选择第二目的地指示。该选择至少部分地基于修改的优先级值。这可以例如如上面参照图3的目的地确定模块302所讨论的那样完成。
在框810处,经由网络接口132查询第一目的地。第一目的地对应于第一目的地指示。查询提供了第一结果。在一些示例中,查询第一目的地包括经由网络接口向第一目的地发送第一请求。在一些示例中,查询不包括执行名称查找,或者第一目的地不是名称服务器。这可以例如如上面参考图3的探测模块304所讨论的那样完成。
在框812处,至少部分地基于第一结果来确定网络接口的网络连通性状态。这可以例如如上面参照图3的分析模块306所讨论的那样完成。
在一些示例中,框812之后可以是框802。这可以允许例如在网络服务改变时,按照日程安排,在用户的请求下或者下面参照图10描述的其他情况下周期性地确定网络连通性的更新状态。在其他示例中,处理可以在框812之后终止。
图9示出了用于确定网络接口的网络连通性状态的示例过程900。图8的框812可以包括框906或可以随后是框908。框802、806、812或906可以在框902之前。
在框902处,经由网络接口接收至少一些目的地指示的相应优先级值。这可以例如如上面参照图3的目的地确定模块302所讨论的那样完成。框902之后可以是框802-808中的至少一个。框808,选择第二目的地,后面可以是框810或方框904。
在框904处,查询第二目的地以提供第二结果。第二目的地对应于第二目的地指示。在一些示例中,查询第二目的地包括经由网络接口向第二目的地发送第二请求。这可以例如如上面参考图3的探测模块304所讨论的那样完成。框904或框810之后可以是框906。
在框906处,至少部分地基于第一结果并且还至少部分地基于第二结果来确定网络接口的网络连通性状态。这可以例如如上面参照图3的分析模块306所讨论的那样完成。
在框908处,在显示设备414上呈现网络连通性状态的视觉表示。这可以如以上参照图4和图3的表示330所讨论的那样来完成。
图10示出了用于确定网络接口的网络连通性状态的示例过程1000。在一些示例中,图9的框906包括框1002-1012。在一些示例中,框906包括框1012并且在框1002-1010之前。
在框1002,确定第一结果和第二结果不一致。这可以例如如上面参照图3的分析模块306所讨论的那样完成。
在框1004处,从第一组目的地指示中确定第二组目的地指示。第二组省略第二目的地指示。由于第二组是从第一组中确定的,所以在一些示例中,第二组也省略了第一目的地指示。这可以例如如上面参照图3的目的地确定模块302所讨论的那样完成。
在框1006处,至少部分地基于优先级值中的至少一个或修改的优先级中的至少一个来确定第二组目的地指示的目的地指示中的至少一个的相应的第二修改的优先级值值。这可以例如如上面参照图3以及表1和表2的目的地确定模块302所讨论的那样完成。
在框1008处,从第二组目的地指示中选择第三目的地指示。该选择至少部分地基于第二修改的优先级值。这可以例如如上面参照图3以及表1和表2的目的地确定模块302所讨论的那样完成。
在框1010处,查询第三目的地以提供第三结果。第三目的地对应于第三目的地指示。在一些示例中,查询第三目的地包括经由网络接口向第三目的地发送第三请求。这可以例如如上面参考图3的探测模块304所讨论的那样完成。
在框1012,至少部分地基于第三结果进一步确定网络接口的网络连通性状态。这可以例如如上面参照图3的分析模块306所讨论的那样完成。
在一些示例中,一个或多个目的地指示表示公共目的地。在一些示例中,第一目的地指示对应于第一网络地址并且第二目的地指示对应于第一网络地址。在一些示例中,第一目的地指示对应于第二网络地址并且第三目的地指示对应于第二网络地址。在一些示例中,第二目的地指示对应于第三网络地址并且第三目的地指示对应于第三网络地址。
图11示出了用于响应网络接口的确定的网络连通性状态的示例过程1100。框1012之后可以是框1102。
在框1102处,至少部分地基于第一结果、第二结果或第三结果来确定第一目的地、第二目的地和第三目的地中的所选择的目的地不对应于网络连通性状态。这可以例如如上面参照图3的分析模块306所讨论的那样完成。
在一些示例中,框1102可以包括至少部分地基于第一结果或第二结果来确定第一目的地和第二目的地中的所选择的目的地不对应于网络连通性状态。这可以例如如上面参照图3的分析模块306所讨论的那样完成。在这些示例中的一些示例中,框1102之前可以是框904。
在框1104处,经由网络接口(或另一网络接口)发送对所选择的目的地的指示。这可以例如如上面参照图3的报告模块308所讨论的那样完成。在一些示例中,可以附加地或可选地在例如显示设备414上呈现所选择的目的地的指示。这可以如上面参照图4以及图3的表示330所讨论的那样来完成。
在一些示例中,例如,如上所述,框812,908,1012或1104之后可以是框802。以这种方式,可以重复上述操作以确定网络接口的网络连通性的第二状态。例如,响应于网络服务的改变,或者在确定网络连通性状态之后经过一段时间之后,可以重复这些操作。在一些示例中,可以针对计算设备102的多个网络接口132中的每一个重复操作。
图12示出了用于确定和报告网络接口的网络连通性状态的示例过程1200。
在框1202处,查询第一目的地以提供第一结果。这可以例如如上面参考图3的探测模块304所讨论的那样完成。在一些示例中,查询第一目的地不包括执行名称查找,或者第一目的地不是名称服务器。使用除了名称查找或名称服务器之外的查询可以减少确定状态328所需的带宽和时间,因为即使在强制门户配置中名称查找或名称服务器经常被列入白名单。
在框1204处,查询第二目的地以提供第二结果。这可以例如如上面参考图3的探测模块304所讨论的那样完成。
在框1206处,查询第三目的地以提供第三结果。这可以例如如上面参考图3的探测模块304所讨论的那样完成。
在框1208处,至少部分地基于第一结果、第二结果或第三结果来确定例如网络接口的网络连通性状态。这可以例如如上面参照图3的分析模块306所讨论的那样完成。
在框1210,至少部分地基于第一结果、第二结果或第三结果,确定第一目的地、第二目的地和第三目的地中的所选择的目的地不对应于网络连通性状态,即所选择的目的地是如上所述的无信息目的地。这个确定例如如上面参考图3的分析模块306所讨论的那样完成。
在框1212处,经由网络例如经由网络接口来发送无信息目的地的指示。这可以例如如上面参照图3的报告模块308所讨论的那样完成。在一些示例中,可以附加地或可选地在例如显示设备414上呈现无信息目的地的指示。这可以如以上参照图4和图3的表示330所讨论的那样来完成。=
图13A和13B示出了用于确定和报告网络接口的网络连通性状态的示例过程。在一些示例中,框1208可以包括框1302-1306或者之前是框1302-1306。在一些示例中,框1212可以包括框1312-1316或者之前是框1312-1316。图13A展示示例过程1300。
在框1302处,例如,在框1202,1204或1206之后,确定第一结果和第二结果不一致。这可以例如如上面参照图3的分析模块306所讨论的那样完成。
在框1304,确定第三结果与第一结果或第二结果一致。这可以例如如上面参照图3的分析模块306所讨论的那样完成。一致性(这里和整个文件)可以根据符合一致性标准或不符合不一致标准来确定。
在框1306处,基于第三结果来确定网络连通性的状态。这可以例如如上面参照图3的分析模块306所讨论的那样完成。框1306可以包括其他功能,例如上面参考框1208所描述的功能。
在一些示例中,在框1308处,例如在显示设备414上呈现网络连通性状态的视觉表示。这可以如以上参照图4和图3的表示330所讨论的那样来完成。
图4B示出了示例过程1310。
在框1312,例如,在框1210中确定无信息目的地之后,或者在框1212中发送无信息目的地的指示之前,确定网络连通性状态指示网络连通性的一个或多个特性在所选择的参数之外(例如,不符合所选择的参数或不在所选择的参数的所选择的范围内)。例如,状态328可以指示相关网络接口离线或者相关网络接口与选择的参数相比具有不足的带宽或具有过度的等待时间。这可以例如如上面参照图3的分析模块306所讨论的那样完成。
在框1314处,例如响应于框1312中的确定或另一时间,将无信息目的地的信息存储在计算机存储介质中以提供存储的信息。这可以例如如上参照图3的高速缓存342所讨论的那样完成。
在框1316处,例如,一旦连接恢复,按时间表或在预定时间,至少部分地基于所存储的信息来确定无信息目的地的指示。例如,该指示可以直接从存储的信息中取回。这可以例如如上面图3的参考分析模块306或高速缓存342所讨论的那样完成。框1316之后可以是框1212。
图14A-14C图示了用于报告网络接口的网络连通性状态的示例过程。在一些示例中,框1212可以包括框1406或框1412,或者可以之前可以是框1402-1412中的一个或多个。在一些示例中,框1206之后可以是框1416-1422。
图14A例示了示例过程1400。在一些示例中,与该指示相关联地发送本地网络特定信息(LNSI)。在框1402处,确定网络的LNSI。这可以例如如上面参照图3的报告模块308所讨论的那样完成。该LNSI可以对应于经由特定网络接口132连接的特定网络110。在一些示例中,框1402包括框1404。
在框1404处,经由无线网络接口410接收无线网络标识符。这可以例如如上面参照图3的报告模块308或图4的无线网络接口410所讨论的那样完成。无线网络标识符(例如,SSID)可以被包括在LNSI中。另外地或可选地,在一些示例中,在框1404处,可以经由网络接口132接收网络标识符。例如,网络标识符可以包括参考网络的MICROSOFT WINDOWS域名或DNS域名(例如“example.com“,用于具有主机名”frodo.example.com“的计算设备102)。
在框1406,与无信息目的地的指示相关联地发送本地网络特定信息。这可以例如如上面参照图3的报告模块308所讨论的那样完成。
图14B说明示例过程1408。在一些示例中,不一致性的信息与该指示相关联地发送。在框1410处,确定不一致性的信息。这可以例如如上面参照图3的分析模块306所讨论的那样完成。信息可以对应于网络连通性状态与至少第一结果、第二结果或第三结果之间的不一致。
在框1412处,不一致性的信息与无信息目的地的指示相关联地发送。这可以例如如上面参照图3的报告模块308所讨论的那样完成。
在一些示例中,至少框1212、框1406或框1412可以组合在单个框中或单独执行。例如,指示、LNSI和不一致性的信息可以在相同的分组或网络传输中,或在分开的分组或单独的网络传输中传送。在一些示例中,三个中的两个在一个分组中发送,并且三个中的另一个以不同的分组发送。
图14B说明示例过程1414。在一些示例中,确定无响应目的地。在框1416处,至少部分地基于第一、第二或第三结果来确定第一、第二和第三目的地的第一组无响应目的地。这可以例如如上面参照图3的分析模块306所讨论的那样完成。
在框1418处,例如,如果网络连通性不足以如上面参考框1312所述,则将第一组的信息存储在例如存储器122中。例如,这可以如上面参考图3的高速缓存342所讨论的那样完成。
在框1420处,至少部分地基于所存储的信息来确定第一组的指示。这可以例如如上面参照图3的报告模块308所讨论的那样完成。例如,可以从存储器122中取回该指示。例如,当网络连通性已经变得可用或者在诸如以上参考框1316所述的其他情况下,可以执行框1420。
在框1422处,经由网络(例如,经由网络接口132)发送第一组的指示,例如其成员身份。这可以例如如上面参照图3的报告模块308所讨论的那样完成。
图15示出了用于确定网络接口的网络连通性状态的示例过程1500。在一些示例中,过程1500用在已知网络上,例如具有其中已知预定响应者112可靠地指示网络连通性状态328的配置的网络。
在框1502处,例如经由网络接口132接收目的地相关信息。可以附加地或可选地提供,接收或确定目的地相关信息,例如,如上面参照目的地确定模块302、分析模块306、报告模块308、框702或框704所描述的。目的地相关信息可以包括与目的地的识别信息相关联的第一本地网络特定信息(LNSI)。
在框1504处,操作网络接口132以确定网络特性。这可以如上面参照报告模块308或框708所描述的那样完成。例如,特性可以包括SSID。
在框1506处,至少部分地基于网络特性来确定第二LNSI。这可以例如如上面参照图3的目的地确定模块302所讨论的那样完成。
在框1508处,确定第一LNSI对应于第二LNSI(反之亦然,并且在整个文档中同样如此)。这可以例如如上面参照图3的目的地确定模块302所讨论的那样完成。
在框1510处,经由网络接口将第一请求发送到目的地。目的地是目的地相关信息中指示的与第一LNSI相关联的目的地。这可以例如如上面参考图3的探测模块304所讨论的那样完成。
在框1512处,确定第一结果。第一结果可以对应于第一请求。例如,可以接收第一响应314并且如上参照图3所述确定第一结果318。这可以例如如上面参考图3的探测模块304所讨论的那样完成。
在框1514处,至少部分地基于第一结果来确定网络接口的网络连通性的状态328。这可以例如如上面参照图3的分析模块306所讨论的那样完成。部分地或全部地基于目的地相关信息中指示的与第一LNSI相关联的目的地的第一结果来确定状态328可以允许在已知网络(例如,由已知运营商操作的网络)上确定具有减少的带宽使用的状态328。
示例条款
A:一种系统,包括:至少一个处理器;通信地耦合到所述至少一个处理器的网络接口;以及存储指令的存储器,所述指令在由所述至少一个处理器执行时使所述至少一个处理器执行操作,所述操作包括:经由所述网络接口发送具有第一目的地的第一请求;通过网络接口发送具有第二不同目的地的第二请求;确定对应于第一请求的第一结果;确定对应于第二请求的第二结果;确定第一结果和第二结果不一致;通过网络接口发送具有第三目的地的第三请求;确定与所述第三请求对应的第三结果;以及至少部分地基于所述第三结果以及所述第一结果或所述第二结果中的至少一个确定所述网络接口的网络连通性状态。
B:如段落A所述的系统,所述操作还包括:确定第一结果或第二结果与第三结果一致;以及至少部分地基于所述第三结果并且至少部分地基于与所述第三结果一致的所述第一结果和所述第二结果的结果来确定所述网络连通性的状态。
C:如段落A或B所述的系统,其中第一结果指示第一请求成功地到达第一目的地。
D:如A-C段落中的任一段落所述的系统,所述操作进一步包括至少:经由网络接口接收对应于第一请求的第一响应并且至少部分地基于第一响应来确定第一结果;或者通过网络接口接收对应于第二请求的第二响应,并且至少部分地基于第二响应来确定第二结果。
E:如段落A-D中任一段落所述的系统,进一步包括:无线网络接口;以及通信地耦合到无线网络接口的天线;其中所述操作还包括以对应于所述网络接口的网络连通性状态的功率级操作所述无线网络接口。
F:如段落E所述的系统,其中所述操作还包括:响应于网络连通性状态是不完全连通性状态,以相对较低功率模式操作无线网络接口;以及响应于网络连通性状态是完全连通性状态,以相对较高功率模式操作无线网络接口。
G:如段落A-F中任一段落所述的系统,还包括通信地耦合到网络接口的电缆插孔。
H:如段落A-G中的任一段落所述的系统,其中所述第一请求包括选择的资源名称,并且所述操作还包括:经由所述网络接口接收与所述第一请求相对应的第一响应,所述第一响应包括内容;以及将内容与参考内容进行比较以提供指示内容是否对应于参考内容的第一结果。
I:如段落H所述的系统,其中参考内容被存储在存储器中。
J:如段落H或I所述的系统,其中参考内容被存储在计算机可读介质中,例如计算机可读存储介质中。
K:如段落A-J中任一段落所述的系统,所述操作进一步包括:至少部分地基于目的地相关信息至少选择第一目的地、第二目的地或第三目的地。
L:如段落K所述的系统,所述操作还包括经由网络接口接收目的地相关信息。
M:如段落K或L所述的系统,所述操作还包括将目的地相关信息存储在存储器中。
N:如段落K-M中任一段落所述的系统,其中所述目的地相关信息包括与目的地的识别信息相关联的第一本地网络特定信息(LNSI),并且所述操作还包括:操作所述网络接口以确定网络特性;至少部分地基于网络特性来确定第二LNSI;确定所述第一LNSI对应于所述第二LNSI;以及至少选择第一目的地、第二目的地或第三目的地以与目的地不同。
O:如段落A-N中的任一段落所述的系统,其中第三目的地是第一目的地或第二目的地。
P:如段落A-O中任一段落所述的系统,其中第一目的地、第二目的地和第三目的地全都彼此不同。
Q:如段落A-P中任一段落所述的系统,进一步包括显示设备,其中所述操作还包括在所述显示设备上呈现网络连通性状态的视觉表示。
R:如段落A-Q中任一段落所述的系统,其中第一请求不包括名称查找,或者第一目的地不是名称服务器。
S:一种方法,包括在处理器的控制下:选择多个目的地指示中的第一目的地指示,其中所述多个目的地指示的至少一些目的地指示对应于相应的优先级值,并且所述选择基于至少部分地基于所述优先级值中的至少一个;确定所述多个目的地指示的第一组目的地指示,所述第一组省略所述第一目的地指示;至少部分地基于所述优先级值中的至少一个来确定所述第一组目的地指示的所述目的地指示中的至少一个的相应修改的优先级值;至少部分地基于修改的优先级值从第一组目的地指示中选择第二目的地指示;经由与所述处理器通信地耦合的网络接口来查询对应于所述第一目的地指示的第一目的地以提供第一结果;以及至少部分地基于第一结果来确定网络接口的网络连通性的状态。
T:如段落S所述的方法,还包括:查询对应于第二目的地指示的第二目的地以提供第二结果;以及进一步至少部分地基于所述第二结果来确定所述网络接口的网络连通性状态。
U:如段落T所述的方法,还包括:至少部分地基于第一结果或第二结果来确定第一目的地和第二目的地中的所选择的目的地不对应于网络连通性状态;以及经由网络接口发送所选择的目的地的指示。
V:如段落T或U所述的方法,还包括:确定第一结果和第二结果不一致;确定第一组目的地指示的第二组目的地指示,第二组省略第二目的地指示;至少部分地基于所述优先级值中的至少一个或所述修改的优先级值中的至少一个来确定所述第二组目的地指示的所述目的地指示中的至少一个的各自的第二修改的优先级值;以及至少部分地基于所述第二修改的优先级值,从所述第二组目的地指示中选择第三目的地指示。
W:如段落V所述的方法,还包括:查询对应于第三目的地指示的第三目的地以提供第三结果;以及进一步至少部分地基于所述第三结果来确定所述网络接口的网络连通性状态。
X:如段落W所述的方法,其中:查询第一目的地包括经由网络接口向第一目的地发送第一请求;查询第二目的地包括经由网络接口向第二目的地发送第二请求;并且查询第三目的地包括经由网络接口向第三目的地发送第三请求。
Y:如段落W或X所述的方法,进一步包括:至少部分地基于第一结果、第二结果或第三结果,确定第一、第二和第三目的地中的所选择的目的地不对应于网络连通性状态;以及经由网络接口发送所选择的目的地的指示。
Z:如段落W-Y中的任一段落所述的方法,其中:第一目的地指示对应于第一网络地址,并且第二目的地指示对应于第一网络地址;所述第一目的地指示对应于第二网络地址,并且所述第三目的地指示对应于所述第二网络地址;或者第二目的地指示对应于第三网络地址并且第三目的地指示对应于第三网络地址。
AA:如段落SZ中任一段落所述的方法,还包括:通过至少部分地基于第一组的目的地指示的各个优先级值的总和对第一组的目的地指示的各个优先级值进行归一化来确定各个修改的优先级值。
AB:如段落S-AA中任一段落所述的方法,还包括:经由网络接口接收至少一些目的地指示的相应优先级值。
AC:如段落S-AB中任一段落所述的方法,还包括在显示设备上呈现网络连通性状态的视觉表示。
AD:如段落S-AC中任一段落所述的方法,其中查询不包括执行名称查找,或者第一目的地不是名称服务器。
AE:如段落S-AD中任一段落所述的方法,还包括重复段落S-AD中的任一段的步骤以确定网络接口的网络连通性的第二状态。
AF:计算机可读介质,例如计算机存储介质,其上具有计算机可执行指令,计算机可执行指令在执行时配置计算机以执行如段落S-AE中任一段落所述的操作。
AG:一种设备,包括:处理器;以及在其上具有计算机可执行指令的计算机可读介质(例如,计算机存储介质),计算机可执行指令在被处理器执行时配置设备执行如段落S-AE中任一段落所述的操作。
AH:一种系统,包括:用于处理的装置;以及用于在其上存储计算机可执行指令的装置,所述计算机可执行指令包括用于配置所述系统以执行如段落S-AE中任一段落所述的方法的装置。
AI:一种系统,包括:用于选择多个目的地指示的第一目的地指示的装置,其中所述多个目的地指示中的至少一些目的地指示对应于相应的优先级值,并且所述用于选择的装置被配置为至少部分地基于所述优先级值中的至少一个来执行选择;用于确定所述多个目的地指示的第一组目的地指示的装置,所述第一组省略所述第一目的地指示;用于至少部分地基于所述优先级值中的至少一个来确定所述第一组目的地指示的所述目的地指示中的至少一个的相应修改的优先级值的装置;用于至少部分地基于修改的优先级值从所述第一组目的地指示中选择第二目的地指示的装置;用于经由与所述处理器通信地耦合的网络接口来查询对应于所述第一目的地指示的第一目的地以提供第一结果的装置;以及用于至少部分地基于所述第一结果来确定所述网络接口的网络连通性状态的装置。
AJ:存储计算机可执行指令的至少一个计算机可读介质,例如计算机存储介质,所述计算机可执行指令在由计算机的至少一个处理器执行时将计算机配置为执行动作,所述动作包括:查询第一目的地以提供第一结果;查询第二目的地以提供第二结果;查询第三目的地以提供第三结果;至少部分地基于所述第一结果、所述第二结果或所述第三结果来确定网络连通性状态;至少部分地基于所述第一结果、所述第二结果或所述第三结果,确定所述第一目的地、所述第二目的地和所述第三目的地中的所选择的目的地不对应于所述网络连通性状态;以及经由网络发送所选择的目的地的指示。
AK:如段落AJ所述的至少一个计算机可读介质,所述动作还包括在发送所选择的目的地的指示之前:确定网络连通性状态指示所选择的参数之外的网络连通性的一个或多个特性;将所选择的目的地的信息存储在计算机存储介质中以提供存储的信息;以及至少部分地基于所存储的信息来确定所选择的目的地的指示。
AL:如段落AJ或AK所述的至少一个计算机可读介质,所述动作还包括:确定网络的本地网络特定信息;以及与所选择的目的地的指示相关联地发送本地网络特定信息。
AM:如段落AL所述的至少一个计算机可读介质,其中本地网络特定信息包括无线网络标识符,并且所述动作还包括经由无线网络接口接收无线网络标识符。
AN:如段落AJ-AM中任一段落所述的至少一种计算机可读介质,所述动作还包括:确定网络连通性状态与至少第一结果、第二结果或第三结果之间的不一致性的信息;以及与所选择的目的地的指示相关联地发送不一致性的信息。
AO:如段落AJ-AN中任一段落所述的至少一种计算机可读介质,所述动作还包括:至少部分地基于至少第一结果、第二结果或第三结果来确定第一、第二和第三目的地的第一组无响应目的地;以及经由网络发送第一组的指示。
AP:如段落AO所述的至少一个计算机可读介质,所述动作还包括:存储第一组的信息;以及至少部分地基于所存储的信息来确定第一组的指示。
AQ:如段落AJ-AP中任一段落所述的至少一种计算机可读介质,所述动作还包括:确定第一结果和第二结果不一致;确定第三结果与第一结果或第二结果一致;以及基于第三结果确定网络连通性状态。
AR:如段落AJ-AQ中的任一段落所述的至少一种计算机可读介质,所述动作还包括在显示设备上呈现网络连通性状态的视觉表示。
AS:如段落AJ-AR中的任一个所述的至少一个计算机可读介质,其中,查询第一目的地不包括执行名称查找,或者第一目的地不是名称服务器。
AT:一种计算机实现的方法,包括:接收包括与目的地的标识信息相关联的第一本地网络特定信息(LNSI)的目的地相关信息;操作网络接口以确定网络特性;至少部分地基于网络特性来确定第二LNSI;确定所述第一LNSI对应于所述第二LNSI;经由网络接口向目的地发送第一请求;确定与第一请求相对应的第一结果;以及至少部分地基于所述第一结果来确定所述网络接口的网络连通性状态。
AU:计算机可读介质,例如计算机存储介质,其上具有计算机可执行指令,计算机可执行指令在执行时配置计算机以执行如AT段所述的操作。
AV:一种设备,包括:处理器;以及在其上具有计算机可执行指令的计算机可读介质,例如,计算机存储介质,所述计算机可执行指令在处理器执行时配置设备执行如段落AT所述的操作。
AW:一种系统,包括:用于处理的装置;以及用于在其上存储计算机可执行指令的装置,所述计算机可执行指令包括用于配置所述系统以执行如AT段落所述的方法的装置。
AX:一种系统,包括:用于接收包括与目的地的识别信息相关联的第一本地网络特定信息(LNSI)的目的地相关信息的装置;用于操作网络接口以确定网络特性的装置;用于至少部分地基于所述网络特性来确定第二LNSI的装置;用于确定所述第一LNSI对应于所述第二LNSI的装置;用于经由网络接口向目的地发送第一请求的装置;用于确定对应于第一请求的第一结果的装置;以及用于至少部分地基于所述第一结果来确定所述网络接口的网络连通性状态的装置。
AY:一种系统,包括:至少一个处理器;通信地耦合到所述至少一个处理器的网络接口;以及存储指令的存储器,所述指令在由所述至少一个处理器执行时使所述至少一个处理器执行包括以下的操作:经由所述网络接口发送具有相应目的地的多个请求;确定与所述请求相对应的相应结果至少包括一些不一致的结果;经由网络接口发送具有相应目的地的另一个请求;以及至少部分地基于与所述另一个请求相对应的结果和所述不一致结果中的至少一个来确定所述网络接口的网络连通性状态。
AZ:如段落AY所述的系统,所述操作还包括:确定对应于所述请求的相应结果的至少所选择的结果与对应于所述另一个请求的结果一致;以及至少部分地基于所选择的结果和对应于所述另一个请求的结果来确定网络连通性的状态。
BA:如段落AY或AZ所述的系统,其中至少与所述请求相对应的相应结果的所选择的结果指示相应请求成功地到达相应目的地。
BB:如段落AY-BA中任一段落所述的系统,所述操作还包括经由网络接口接收与多个请求中的第一请求相对应的第一响应,并至少部分地基于第一响应来确定结果中的对应于该请求的相应结果。
BC:如段落AY-BB中任一段落所述的系统,进一步包括:无线网络接口;以及通信地耦合到无线网络接口的天线;其中所述操作进一步包括以对应于所述网络接口的网络连通性状态的功率级操作所述无线网络接口。
BD:如段落AY-BC中的任一段落所述的系统,其中多个请求中的第一请求包括所选择的的资源名称,并且所述操作还包括:经由网络接口接收与第一请求对应的第一响应,第一响应包括内容;以及将所述内容与参考内容进行比较以提供所述结果中的与所述请求相对应的相应结果,其中所述相应结果指示所述内容是否对应于所述参考内容。
结论
本文描述的连通性检测技术可以提供对网络连通性状态的更可靠的检测。本文的一些示例可以允许使用多个响应者(例如CDN的服务器),从而减轻任何个体响应者的负担并且改善探测的可伸缩性。
虽然连通性检测已经用特定于结构特征或方法步骤的语言描述,但是应该理解,在所附权利要求中限定的本发明不一定限于所描述的具体特征或步骤。相反,具体特征和步骤被公开为实现要求保护的发明的优选形式。
示例过程的操作在单独的框中示出,并参照这些框进行总结。这些过程被图示为框的逻辑流程,其中的每个框可以表示可以用硬件、软件或其组合来实现的一个或多个操作。在软件的上下文中,这些操作表示存储在一个或多个计算机可读介质上的计算机可执行指令,这些计算机可执行指令在由一个或多个处理器执行时使一个或多个处理器能够执行所列举的操作。通常,计算机可执行指令包括执行特定功能或实现特定抽象数据类型的例程、程序、对象、模块、组件、数据结构等。描述操作的顺序不意图被解释为限制,并且任何数量的所描述的操作可以以任何顺序执行,以任何顺序组合,细分为多个子操作,或者并行执行以实现所描述的过程。所描述的过程可以通过与一个或多个计算设备102相关联的资源(诸如一个或多个内部或外部CPU或GPU)或者一个或多个硬件逻辑(诸如FPGA、DSP或其他类型的加速器)来执行。
上述方法和过程可以体现在由一个或多个通用计算机或处理器执行的软件代码模块中并且通过由一个或多个通用计算机或处理器执行的软件代码模块完全自动化。代码模块可以存储在任何类型的计算机可读存储介质或其他计算机存储介质中。可替代地,一些或全部方法可以体现在专门的计算机硬件中。
除非另有特别说明,否则除了别的之外,诸如“能够”,“可以”,“可能”或“会”的条件语言在上下文中被理解为表示某些示例包括,而其他示例不包括,某些特征、元素或步骤。因此,这样的条件语言通常不旨在暗示某些特征、元素或步骤以任何方式对于一个或多个示例是必需的,或者一个或多个示例必然包括用于在具有或不具有用户输入或提示的情况下决定某些特征、元素或步骤包括在或将在任何特定的示例中执行的逻辑。除非另有特别说明,诸如短语“X,Y或Z中的至少一个”或“至少X,Y或Z”的连接语言应理解为表示项目、术语等可以可以是X,Y或Z或其组合。
这里描述的或者附图中描述的流程图中的任何例程描述、元件或框应当被理解为潜在地表示包括用于实现例程中的特定逻辑功能或元件的一个或多个可执行指令的代码的模块、段或代码部分。替代实现方式被包括在本文描述的示例的范围内,其中可以删除元素或功能,或者可以不按所示出或讨论的顺序的顺序执行,包括基本同步或以相反顺序,取决于所涉及的功能,这是本领域技术人员能够理解的。应该强调的是,可以对上述示例做出许多变化和修改,其要素被理解为是其他可接受的示例。所有这些修改和变化都旨在被包括在本公开的范围内并且由以下权利要求保护。
Claims (15)
1.一种系统,包括:
至少一个处理器;
通信地耦合到所述至少一个处理器的网络接口;以及
存储指令的存储器,所述指令在由所述至少一个处理器执行时使所述至少一个处理器执行包括以下的操作:
经由所述网络接口发送具有相应目的地的多个请求;
确定与所述请求相对应的相应结果至少包括一些不一致的结果;
经由所述网络接口发送具有相应目的地的另一个请求;以及
基于与所述另一个请求相对应的结果和不一致的结果中的至少一个不一致的结果来确定所述网络接口的网络连通性状态。
2.如权利要求1所述的系统,其中,与所述请求相对应的相应结果中的至少所选择的结果指示相应请求成功地到达相应目的地。
3.如权利要求1或2所述的系统,所述操作还包括经由所述网络接口接收与所述多个请求中的第一请求相对应的第一响应,并且至少部分地基于所述第一响应来确定与所述请求相对应的结果中的相应结果。
4.如权利要求1-3中任一项所述的系统,进一步包括:
无线网络接口;以及
通信地耦合到所述无线网络接口的天线;
其中,所述操作还包括以与所述网络接口的网络连通性状态相对应的功率级来操作所述无线网络接口。
5.如权利要求1-4中任一项所述的系统,其中,所述多个请求中的第一请求包括所选择的资源名称,并且所述操作还包括:
经由所述网络接口接收与所述第一请求相对应的第一响应,所述第一响应包括内容;以及
将所述内容与参考内容进行比较以提供与所述请求相对应的结果中的相应结果,其中所述相应结果指示所述内容是否对应于所述参考内容。
6.一种方法,包括,在处理器的控制下进行以下操作:
选择多个目的地指示中的第一目的地指示,其中,所述多个目的地指示中的至少一些目的地指示对应于相应的优先级值,并且所述选择至少部分地基于所述优先级值中的至少一个;
确定所述多个目的地指示中的第一组目的地指示,所述第一组省略所述第一目的地指示;
至少部分地基于所述优先级值中的至少一个来确定所述第一组目的地指示中的目的地指示中的至少一个的相应的修改的优先级值;
至少部分地基于所述修改的优先级值从所述第一组目的地指示中选择第二目的地指示;
经由与所述处理器通信地耦合的网络接口来查询与所述第一目的地指示相对应的第一目的地,以提供第一结果;以及
至少部分地基于所述第一结果来确定所述网络接口的网络连通性状态。
7.如权利要求6所述的方法,还包括:
查询与所述第二目的地指示相对应的第二目的地以提供第二结果;以及
进一步至少部分地基于所述第二结果来确定所述网络接口的网络连通性状态。
8.如权利要求7所述的方法,还包括:
确定所述第一结果和所述第二结果不一致;
确定所述第一组目的地指示中的第二组目的地指示,所述第二组省略所述第二目的地指示;
至少部分地基于所述优先级值中的至少一个优先级值或所述修改的优先级值中的至少一个修改的优先级值来确定所述第二组目的地指示中的目的地指示中的至少一个的相应的第二修改的优先级值;以及
至少部分地基于所述第二修改的优先级值从所述第二组目的地指示中选择第三目的地指示。
9.如权利要求8所述的方法,还包括:
查询与所述第三目的地指示相对应的第三目的地以提供第三结果;以及
进一步至少部分地基于所述第三结果来确定所述网络接口的网络连通性状态。
10.存储计算机可执行指令的至少一个计算机可读介质,所述计算机可执行指令在由计算机的至少一个处理器执行时配置所述计算机执行包括以下的动作:
查询第一目的地以提供第一结果;
查询第二目的地以提供第二结果;
查询第三目的地以提供第三结果;
至少部分地基于至少所述第一结果、所述第二结果或所述第三结果来确定网络连通性状态;
至少部分地基于至少所述第一结果、所述第二结果或所述第三结果,确定所述第一目的地、所述第二目的地和所述第三目的地中的所选择的目的地不对应于所述网络连通性状态;以及
经由网络发送所述所选择的目的地的指示,
其中,所述第一目的地、所述第二目的地和所述第三目的地是不同的目的地。
11.如权利要求10所述的至少一种计算机可读介质,其中,所述动作还包括在发送所述所选择的目的地的所述指示之前:
确定所述网络连通性状态指示所选择的参数之外的网络连通性的一个或多个特性;
将所述所选择的目的地的信息存储在计算机存储介质中以提供存储的信息;以及
至少部分地基于所述存储的信息来确定所述所选择的目的地的指示。
12.如权利要求10或11所述的至少一个计算机可读介质,所述动作还包括:
确定所述网络的本地网络特定信息;以及
与所述所选择的目的地的指示相关联地发送所述本地网络特定信息。
13.如权利要求12所述的至少一个计算机可读介质,其中,所述本地网络特定信息包括无线网络标识符,并且所述动作还包括经由无线网络接口接收所述无线网络标识符。
14.如权利要求10-13中任一项所述的至少一个计算机可读介质,所述动作还包括:
确定所述网络连通性状态与至少所述第一结果、所述第二结果或所述第三结果之间的不一致性的信息;以及
与所述所选择的目的地的指示相关联地发送所述不一致的信息。
15.如权利要求10-14中任一项所述的至少一个计算机可读介质,所述动作还包括:
至少部分地基于至少所述第一结果、所述第二结果或所述第三结果来确定所述第一目的地、所述第二目的地和所述第三目的地的第一组无响应目的地;以及
经由所述网络发送所述第一组的指示。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/010,455 | 2016-01-29 | ||
US15/010,455 US9900229B2 (en) | 2016-01-29 | 2016-01-29 | Network-connectivity detection |
PCT/US2017/013634 WO2017131993A1 (en) | 2016-01-29 | 2017-01-16 | Network-connectivity detection |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108370334A CN108370334A (zh) | 2018-08-03 |
CN108370334B true CN108370334B (zh) | 2021-09-24 |
Family
ID=57944536
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780004756.5A Active CN108370334B (zh) | 2016-01-29 | 2017-01-16 | 网络连通性检测 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9900229B2 (zh) |
EP (1) | EP3375145B1 (zh) |
CN (1) | CN108370334B (zh) |
WO (1) | WO2017131993A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10805291B2 (en) * | 2015-09-11 | 2020-10-13 | Comcast Cable Communications, Llc | Embedded authentication in a service provider network |
US20170359344A1 (en) * | 2016-06-10 | 2017-12-14 | Microsoft Technology Licensing, Llc | Network-visitability detection control |
US10819562B2 (en) * | 2018-07-24 | 2020-10-27 | Zscaler, Inc. | Cloud services management systems utilizing in-band communication conveying situational awareness |
US11973678B2 (en) * | 2019-10-18 | 2024-04-30 | Gogo Business Aviation Llc | Captive portal pop up suppression |
US11184433B2 (en) * | 2020-03-31 | 2021-11-23 | Microsoft Technology Licensing, Llc | Container mobility based on border gateway protocol prefixes |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7697512B1 (en) * | 2005-07-28 | 2010-04-13 | Adtran, Inc. | Proactive monitoring of status of voice-over-IP servers |
CN103959272A (zh) * | 2011-09-26 | 2014-07-30 | 赛拉诺斯股份有限公司 | 网络连接方法与系统 |
CN104660469A (zh) * | 2015-02-15 | 2015-05-27 | 华为技术有限公司 | 一种二层网络的连通性检测方法及相关设备 |
CN104965933A (zh) * | 2015-07-30 | 2015-10-07 | 北京奇虎科技有限公司 | Url检测任务的分配方法、分配器及url检测系统 |
CN105071991A (zh) * | 2015-08-11 | 2015-11-18 | 携程计算机技术(上海)有限公司 | 多个防火墙的ip连通性的测试方法 |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20010012271A1 (en) * | 1997-08-04 | 2001-08-09 | Arthur W. Berger | Improved acknowledgement of bandwidth requests for the block transfer of data |
US20020116491A1 (en) | 2000-09-01 | 2002-08-22 | Boyd Eric L. | Method and system for probing a network |
JP3842549B2 (ja) * | 2000-12-14 | 2006-11-08 | 株式会社東芝 | 情報収集システム、情報収集方法及び記憶媒体 |
US7203748B2 (en) * | 2002-02-15 | 2007-04-10 | International Business Machines Corporation | Method for detecting the quick restart of liveness daemons in a distributed multinode data processing system |
WO2005109786A1 (ja) | 2004-05-06 | 2005-11-17 | Matsushita Electric Industrial Co., Ltd. | インターネット接続端末装置およびインターネット接続状態確認方法 |
CN100440813C (zh) | 2004-09-28 | 2008-12-03 | 上海贝尔阿尔卡特股份有限公司 | 因特网协议第六版接入网的连接中断检测方法和设备 |
US20060127094A1 (en) * | 2004-12-10 | 2006-06-15 | Kwak Sung H | Wavelength division multiple access central station, wavelength division multiple access user interface, and optical layer connection service method in optical network using wavelength division multiple access scheme |
US20070028291A1 (en) * | 2005-07-29 | 2007-02-01 | Bit 9, Inc. | Parametric content control in a network security system |
US7711800B2 (en) | 2006-01-31 | 2010-05-04 | Microsoft Corporation | Network connectivity determination |
CN100525312C (zh) * | 2006-11-29 | 2009-08-05 | 华为技术有限公司 | Mac帧转发的方法及设备 |
US8812579B2 (en) * | 2006-12-21 | 2014-08-19 | Verizon Patent And Licensing Inc. | Apparatus for transferring data via a proxy server and an associated method and computer program product |
CN100493222C (zh) * | 2007-02-08 | 2009-05-27 | 华为技术有限公司 | Xdsl组网系统、数据发送方法和xdsl组网系统中的基站 |
US7856574B2 (en) | 2007-09-27 | 2010-12-21 | Microsoft Corporation | Internet connectivity evaluation |
US7860982B2 (en) | 2008-03-14 | 2010-12-28 | Microsoft Corporation | Internet connectivity verification |
US8433798B2 (en) | 2009-06-16 | 2013-04-30 | Microsoft Corporation | Altering software behavior based on internet connectivity |
CN101710877B (zh) * | 2009-12-04 | 2012-02-15 | 华为技术有限公司 | 基于伪线的业务流量处理方法、设备和系统 |
US8935543B2 (en) * | 2010-04-02 | 2015-01-13 | Andrew Llc | Method and apparatus for distributing power over communication cabling |
US8693981B1 (en) | 2011-06-17 | 2014-04-08 | Cellco Partnership | Monitoring persistent client connection status in a distributed server environment |
US20130250780A1 (en) | 2011-09-16 | 2013-09-26 | Qualcomm Incorporated | Systems and methods for network quality estimation, connectivity detection, and load management |
US9820200B2 (en) | 2011-12-19 | 2017-11-14 | Facebook, Inc. | Captive portal state detection and avoidance for multiple-interface traffic offloading |
US9386474B2 (en) | 2013-03-07 | 2016-07-05 | Arris Enterprises, Inc. | Qualification of wireless network environments |
US9544207B2 (en) | 2013-06-21 | 2017-01-10 | Microsoft Technology Licensing, Llc | Using different connectivity checks to determine causes of connectivity issues |
-
2016
- 2016-01-29 US US15/010,455 patent/US9900229B2/en active Active
-
2017
- 2017-01-16 WO PCT/US2017/013634 patent/WO2017131993A1/en unknown
- 2017-01-16 CN CN201780004756.5A patent/CN108370334B/zh active Active
- 2017-01-16 EP EP17702469.2A patent/EP3375145B1/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7697512B1 (en) * | 2005-07-28 | 2010-04-13 | Adtran, Inc. | Proactive monitoring of status of voice-over-IP servers |
CN103959272A (zh) * | 2011-09-26 | 2014-07-30 | 赛拉诺斯股份有限公司 | 网络连接方法与系统 |
CN104660469A (zh) * | 2015-02-15 | 2015-05-27 | 华为技术有限公司 | 一种二层网络的连通性检测方法及相关设备 |
CN104965933A (zh) * | 2015-07-30 | 2015-10-07 | 北京奇虎科技有限公司 | Url检测任务的分配方法、分配器及url检测系统 |
CN105071991A (zh) * | 2015-08-11 | 2015-11-18 | 携程计算机技术(上海)有限公司 | 多个防火墙的ip连通性的测试方法 |
Also Published As
Publication number | Publication date |
---|---|
US20170222900A1 (en) | 2017-08-03 |
CN108370334A (zh) | 2018-08-03 |
WO2017131993A1 (en) | 2017-08-03 |
EP3375145A1 (en) | 2018-09-19 |
EP3375145B1 (en) | 2020-01-01 |
US9900229B2 (en) | 2018-02-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108370334B (zh) | 网络连通性检测 | |
US10630724B2 (en) | Systems and methods for network vulnerability assessment and protection of Wi-fi networks using a cloud-based security system | |
US10567495B2 (en) | Application based intelligent edge computing in a low power wide area network environment | |
US20170359344A1 (en) | Network-visitability detection control | |
US10419411B2 (en) | Network-visitability detection | |
KR101937004B1 (ko) | 다중-경로 tcp의 사용을 제어하기 위한 방법, 네트워크 노드, 시스템 및 컴퓨터 프로그램 제품 | |
US10972967B2 (en) | Wi-Fi hotspot recommendation method, terminal, and graphical user interface | |
US20140112171A1 (en) | Network system and method for improving routing capability | |
US10405160B2 (en) | Method and apparatus for context aware neighbor discovery in a network | |
US20160037445A1 (en) | Identification-assisted wireless network connections | |
US20150026756A1 (en) | Coordination of multipath traffic | |
US10084679B2 (en) | Standalone network probing using available network connections | |
US10862862B2 (en) | Identifying devices on a remote network | |
CN104735092A (zh) | web漏洞检测的方法及装置 | |
Metongnon et al. | Fast and efficient probing of heterogeneous IoT networks | |
US20160294465A1 (en) | Information collection system, relay terminal, control method for relay terminal to connect to center system, sensor terminal, and control method for sensor terminal to connect to center system | |
US10785666B2 (en) | Wireless raw packet sensing and injection systems and methods for targeted communications | |
CN110380981B (zh) | 一种流量分发方法及设备 | |
US10044590B2 (en) | Method of effective retaining of NAT channel service | |
JP2017188810A (ja) | 管理装置および管理システム | |
US11671904B1 (en) | Establishing communication links to assist headless devices | |
US20240333686A1 (en) | Hierarchical-Context Area Network As A Virtual Private Network Infrastructure System | |
EP4369689A1 (en) | Peer-to-peer (p2p) network identification | |
US20240333646A1 (en) | Hierarchical-Context Area Network As A Virtual Private Network Infrastructure System | |
US20240333628A1 (en) | Hierarchical-Context Area Network As A Virtual Private Network Infrastructure System |
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 |