CN105229994A - 并行接口选择 - Google Patents

并行接口选择 Download PDF

Info

Publication number
CN105229994A
CN105229994A CN201380075264.7A CN201380075264A CN105229994A CN 105229994 A CN105229994 A CN 105229994A CN 201380075264 A CN201380075264 A CN 201380075264A CN 105229994 A CN105229994 A CN 105229994A
Authority
CN
China
Prior art keywords
network interface
response
computing equipment
query messages
interface
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.)
Pending
Application number
CN201380075264.7A
Other languages
English (en)
Inventor
E.N.勒温萨尔
I.D.帕肖夫
J.A.西尔弗拉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN105229994A publication Critical patent/CN105229994A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5007Internet protocol [IP] addresses
    • H04L61/5014Internet protocol [IP] addresses using dynamic host configuration protocol [DHCP] or bootstrap protocol [BOOTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/677Multiple interfaces, e.g. multihomed nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/02Terminal devices
    • H04W88/06Terminal devices adapted for operation in multiple networks or having at least two operational modes, e.g. multi-mode terminals

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Multimedia (AREA)

Abstract

各种实施例使得能够针对通信配置信息并行查询多个网络接口。所返回的通信配置信息可以由客户端设备使用以使得能够与另一计算设备通信。在一些实施例中,接收到对并行查询的多个响应。可替换地或附加地,来自网络接口的响应可以通过用户配置的超时和/或协议配置的超时的过期来确定。从多个响应中选择网络接口可以至少部分地基于使用自适应选择算法按优先级排序响应的网络接口。

Description

并行接口选择
背景技术
计算设备之间的互连性正变得越来越流行。经常,第一计算设备与远程计算设备连接以便交换数据。一个这样的示例涉及客户端-服务器关系,其中服务器设备具有影响与客户端设备相关联的行为和/或配置的能力。在一些情形中,客户端设备向服务器设备寻求动态网络配置信息。为了获得该配置信息,客户端设备可以向与服务器设备相关联的网络接口发送出查询。如果网络接口返回配置信息,则客户端设备基于所返回的内容而继续其任务。然而,如果接口超时和/或返回缺少配置信息,则客户端设备可以决定向第二网络接口发送查询。该过程可以自身重复,直到客户端设备获得所请求的配置信息和/或不存在更多的网络接口来查询为止。取决于多少个网络接口可用,以及查询是否超时,定位具有配置信息的接口的过程可能有时对于客户端设备是耗费时间的,客户端设备继而可以延迟运行于客户端设备上的应用。
发明内容
提供本发明内容来以简化形式引入以下在具体实施方式中进一步描述的概念的选择。该发明内容不旨在标识所要求保护的主题的关键特征或必要特征。
各种实施例使得能够实现针对通信配置信息来并行查询多个网络接口。所返回的通信配置信息可以由客户端设备使用,以使得能够与另一计算设备通信。在一些实施例中,接收到对并行查询的多个响应。可替换地或附加地,来自网络接口的响应可以通过用户配置的超时和/或协议配置的超时的过期来确定。从多个响应中选择网络接口可以至少部分地基于使用自适应选择算法将响应的网络接口按优先级排序。
附图说明
参照附图描述具体实施方式。在附图中,参考标记最左边的(一个或者多个)数字标识该参考标记第一次出现的图。相同参考标记在说明书和附图中的不同实例中的使用可以指示相似或相同的项目。
图1是依照一个或多个实施例的示例实现方案中的环境的图示。
图2是更详细地示出了图1的示例实现方案中的系统的图示。
图3是依照一个或多个实施例的并行接口探测的示例图的图示。
图4是依照一个或多个实施例的并行接口探测的示例图的图示。
图5是依照一个或多个实施例的并行接口探测的示例图的图示。
图6图示了依照一个或多个实施例的流程图。
图7图示了可以用于实现本文描述的各种实施例的示例计算设备。
具体实施方式
概述
各种实施例使得能够针对通信配置信息并行查询多个网络接口。所返回的通信配置信息可以由客户端设备使用以使得能够与另一计算设备通信。在一些实施例中,接收到对并行查询的多个响应。可替换地或附加地,来自网络接口的响应可以通过用户配置的超时和/或协议配置的超时的过期来确定。从多个响应中选择网络接口可以至少部分地基于使用自适应选择算法将响应的网络接口按优先级排序。
在以下讨论中,提供题为“示例操作环境”的部分并且其描述了可以采用一个或多个实施例的一个环境。在此之后,题为“并行和动态网络接口选择”的部分描述依照一个或多个实施例并行地查询和/或探测多个网络接口以及基于优先级排序而动态地选择一个网络接口。最后,题为“示例设备”的部分描述可以用于实现一个或多个实施例的示例设备。
已经提供要在下文描述的各种实施例的概述,现在考虑可以实现一个或多个实施例的示例操作环境。
示例操作环境
图1是可操作成采用该文档中所描述的技术的示例环境100的图示。环境100包括可以以各种各样的方式进行配置的计算设备102。例如,计算设备102可以被配置为传统计算机(例如台式个人计算机、膝上型计算机等)、移动站、娱乐器具、通信耦合到电视的机顶盒、无线电话、上网本、游戏控制台、手持式设备等。因而,计算设备102的范围可以从具有大量存储器和处理器资源的全资源设备(例如个人计算机、游戏控制台)到具有有限存储器和/或处理资源的低资源设备(例如传统机顶盒、手持游戏控制台)。计算设备102还包括使得计算设备102执行如下文所描述的一个或多个操作的软件,诸如网络发现模块104和并行探测模块106。
网络发现模块104表示使得计算设备102能够通过网络发现和/或找到其它计算设备和/或外围设备的功能性。例如,网络发现模块104可以被配置成包括(作为示例而非限制)动态主机配置协议(DHCP)功能性、域名系统(DNS)功能性、网络代理自动发现(WPAD)协议功能性、视窗网际网路名称服务(WINS)协议功能性、简单网络管理协议(SNMP)功能性等。在一些情况下,网络发现模块104包括在没有用户干预的情况下动态地发现和/或连接到网络、计算设备、外围设备等的功能性。除其它之外,网络发现模块104可以从另一计算设备接收通信配置信息,并且使用该配置信息来使得能够实现计算设备102和另一计算设备之间的连接和/或数据传递。在一些情况下,这可以包括通过一个或多个代理配置连接。可替换地或附加地,网络发现模块104包括允许用户手动地配置和/或连接到网络、计算设备、外围设备等的功能性。
并行探测模块106表示被配置成并行地探测多个网络接口的功能性。例如,代替以串行方式查询多个网络接口中的每一个网络接口(例如,向第一网络接口发送查询并且等待来自第一网络接口的响应,然后向第二网络接口发送查询并且等待来自第二网络接口的响应等),并行探测模块106可以基本上同时向多个网络接口中的每一个网络接口发出查询(例如发出所有网络接口查询而不需要等待来自网络接口中的任一个的响应)。在一些实施例中,并行探测模块可以从网络接口的每一个接收响应或超时。可替换地或附加地,并行探测模块106可以通过使用自适应选择算法从响应的网络接口中选择要使用哪个网络接口,如下文进一步描述的。尽管被图示为驻留在网络发现模块104内,但是要领会和理解的是,并行探测可以驻留在外部和/或独立于网络发现模块104而不脱离所要求保护的主题的范围。
环境100还包括表示一个或多个数据通信网络和/或链路的网络108。例如,网络108可以包括广域网(WAN)、局域网(LAN)、无线网络、内联网、互联网等。在该示例中,图1将网络108图示为在计算设备102、服务器110和112和/或代理114之间的外部连接。
服务器110表示计算设备102试图连接到的和/或与其交换数据的计算设备。在该示例中,计算设备102向服务器110寻求关于如何与服务器112连接的信息。然而,要领会的是,服务器110可以是任何其它类型的计算设备、外围设备等,而不脱离所要求保护的主题的范围。服务器110包括可以由计算设备使用以与服务器112连接的配置数据116。配置数据116可以包括任何适当类型的通信配置信息,并且可以以任何适合的方式存储。例如,在一些实施例中,配置数据116可以包括对附加配置文件的统一资源定位符(URL),诸如由WPAD方法通过DHCP和/或DNS发现技术使用的。可替换地或附加地,配置数据116可以表示可以用于引导计算设备102连接到和/或利用代理114作为与服务器112的数据传递过程的一部分的代理自动配置文件。在一些情况下,配置数据116可以引导计算设备102直接连接到服务器112。因而,配置数据116表示任何适当类型的配置数据,诸如脚本数据、URL数据、设置、寻址数据等。
代理114表示充当计算设备之间的中介的功能性。此处,代理114具有通过网络108到计算设备102、服务器110和服务器112的连接。因此,代理114可以充当两者之间的中介。尽管未图示,但是要领会的是,代理114可以具有对其它计算设备和/或服务器的附加连接。可替换地或附加地,代理114可以利用这些其它连接调解针对计算设备102的数据传递。
图2图示了示例系统200,其一般地将计算设备102示为实现在多个设备通过中央计算设备互连的环境中。中央计算设备可以对多个设备是本地的或者可以远离多个设备定位。在一个实施例中,中央计算设备是“云”服务器群组,其包括通过网络或互联网或其它装置连接到多个设备的一个或多个服务器计算机。
在一个实施例中,该互连架构使得功能性能够跨多个设备递送,以向多个设备的用户提供共同且无缝的体验。多个设备中的每一个可以具有不同的物理要求和能力,并且中央计算设备使用平台而使得能够将既针对设备定制又是所有设备所共同的体验递送到设备。在一个实施例中,创建目标设备“类”并且针对设备的通用类对体验进行定制。设备类可以由设备的物理特征或用途或其它共同特性来限定。例如,如之前描述的,计算设备102可以以各种各样不同方式配置,诸如用于移动装置202、计算机204和电视206的使用。这些配置中的每一个具有大体对应的屏幕尺寸,并且因而计算设备102可以被配置为该示例系统200中的这些设备类中的一个。例如,计算设备102可以采取设备的移动装置202类,其包括移动电话、音乐播放器、游戏设备等。计算设备102也可以采取设备的计算机204类,其包括个人计算机、膝上型计算机、上网本等。电视206配置包括涉及放松环境中的显示的设备配置,例如电视、机顶盒、游戏控制台等。因而,本文描述的技术可以由计算设备102的这些各种配置支持,并且不限于以下部分中描述的具体示例。如此处所图示的,计算设备102可以包括如下文和上文所描述的(一个或者多个)网络发现模块104和(一个或者多个)并行探测模块106。
在一些实施例中,(一个或者多个)服务器208包括“云”功能性。此处,云210被图示为包括用于web服务214的平台212。平台212对云210的硬件(例如服务器)和软件资源的底层功能性进行抽象,并且因而可以充当“云操作系统”。例如,平台212可以对资源进行抽象以将计算设备102与其它计算设备连接。平台212也可以用于对资源的缩放进行抽象以提供经由平台212实现的web服务214所遭遇的需求的对应水平缩放。还预期到各种各样的其它示例,诸如服务器群组中的服务器的负载均衡、抵抗恶意方(例如垃圾邮件、病毒和其它恶意软件)的保护等。因而,作为涉及经由互联网或其它网络对计算设备102可用的软件和硬件资源的策略的一部分而包括云210。
一般地,本文描述的功能中的任何功能可以使用软件、固件、硬件(例如固定逻辑电路)、手动处理或这些实现方案的组合来实现。如本文中使用的术语“模块”、“功能性”和“逻辑”一般表示软件、固件、硬件或其组合。在软件实现方案的情况下,模块、功能性或逻辑表示在处理器(例如一个或多个CPU)上或通过处理器运行时执行特定任务的程序代码。程序代码可以存储在一个或多个计算机可读存储器设备中。下文描述的手势技术的特征是独立于平台的,这意味着技术可以在具有各种各样的处理器的各种各样的商用计算平台上实现。
已经描述可以利用各种实施例的示例操作环境,现在考虑依照一个或多个实施例的并行和动态网络接口选择的讨论。
并行和动态网络接口选择
动态网络和/或设备发现是计算设备可以通过网络自动地发现其它计算设备、外围设备等和/或与其它计算设备、外围设备等连接的过程。在一些情况下,计算设备与另一设备直接连接,而在其它情况下,其可以间接地(诸如通过代理)连接。确定间接连接也可以是动态和/或自动化过程。例如,考虑WPAD。计算设备可以使用WPAD方法作为定位一个或多个配置文件的方式,所述配置文件包括涉及计算设备应当使用哪个(或者哪些)代理来访问特定域和/或服务器的信息。定位(一个或者多个)配置文件有时可能需要使用诸如DHCP和/或DNS发现方法之类的各种协议。
偶尔,远程计算设备可以具有用于使计算设备从中选择以便建立特定连接的若干网络接口选项。在这些情况下,计算设备不仅试图自动地配置与远程计算设备的连接,而且附加地确定要连接哪个网络接口。确定要使用哪个网络接口的一个方式是串行地查询多个接口(例如一次一个)。开始时,计算设备将针对通信配置和/或连接信息来查询和/或探测第一网络接口。计算设备然后等待直到第一网络接口对查询做出响应和/或查询超时/过期。如果第一网络接口以通信配置和/或连接信息做出响应,则计算设备可以使用所检索的信息来建立连接,并且随后放弃查询任何其它网络接口。假设第一网络接口做出响应,并且以及时方式做出响应,则该串行查询方法可以产生稳定且有响应的连接过程。然而,如果第一网络接口没有做出响应,并且代替地,查询过期,则这可能引入由计算设备的终端用户感知到的附加延迟。考虑存在以串行方式查询的四个网络接口的情况。如果计算设备串行地查询前三个网络接口,并且所有三个网络接口各自在30秒超时,则在计算设备继续查询最终以积极方式做出响应的第四网络接口之前将花费90秒。因而,尽管串行方法可以产生相当无缝的连接过程,但是其也可能向终端用户引入附加延迟。
各种实施例使得能够针对通信配置信息而并行查询多个网络接口。代替一次一个地查询每一个网络接口(并且在查询第二网络接口之前等待第一网络接口做出响应和/或超时),并行地发送多个查询并且不需要等待查询响应。此处,查询响应暗示着网络接口是否具有通信配置信息的肯定和/或否定响应(包括针对查询的超时响应),并且不暗示着任何较低水平的协议握手响应。因而,此处的响应暗示着与请求处于相同处理层的响应。所返回的通信配置信息然后可以由第一计算设备使用,以使得能够与另一计算设备通信,诸如通过包括引导第一计算设备更换连接路径和/或更换连接参数的连接参数和/或信息。在一些实施例中,接收到对并行查询的多个响应,而不管是直接在消息中接收还是间接地通过超时而接收。
考虑图3,其图示了并行网络接口探测的示例。此处,在图1和2的计算设备102的上下文中描述功能性。然而,要领会和理解的是,本文描述的方法和/或功能性可以适用于任何适当类型的计算设备,而不脱离所要求保护的主题的范围。在该示例中,计算设备102已经确定存在与其尝试访问的远程计算设备相关联的四个网络接口:网络接口302a、302b、302c和302d。尽管该示例图示出四个网络接口,但是所描述的功能性可以适用于任何适当数目的接口。可替换地或附加地,计算设备102可以确定相关联的网络接口是否是以供使用的潜在候选者。计算设备102可以通过查询所有可能的网络接口而开始。在确定存在多少个可用网络接口之后,计算设备102接下来可以做出可用网络接口中的一些网络接口不适合的确定。例如,网络接口可以至少部分地基于网络接口的性质而被确定为不适合的和/或没有资格的,诸如没有启用DHCP、没有公共单播地址、没有相关联的DHCP服务器的地址、没有启用特定版本的互联网协议(IP)(诸如IPv4)等。因而,在一些实施例中,网络接口不仅被标识,而且还针对期望的特性和/或适用性而被附加地分析。
在某一时间点处,计算设备102并行地发送出四个网络接口查询消息,此处在指示304处图示。第一查询消息被发送给网络接口302a,第二查询消息被发送给网络接口302b等。在该示例中,每一个消息被图示为在时间“0”秒处(或在其附近)发送。这意味着指示每一个消息基本上同时发送。例如,在一些实施例中,发送多个查询消息可能作为循环在软件中实现,其中每一个消息彼此快速连续地发送,其中在消息之间执行很少的其它功能性或者不执行其它功能性。可替换地或附加地,可以存在介于之间的附加时间,以向每一个消息添加涉及其要发送到的接口的寻址和/或自定义。尽管该实现方案将不会在时间上相同的精确瞬间发送每一个消息,但是其将实际上在相同时间发送每一个消息。为了进一步图示,并且使用串行地发送消息的以上示例的上下文,并行地发送查询消息与串行地发送消息的不同在于,将查询消息发送给每一个网络接口而不需要等待来自其它网络接口的响应或超时。尽管其它处理可能发生在发送查询消息之间,但是向网络接口发送查询消息不依赖于首先从其它未解决的查询接收查询响应消息。因而,并行探测消息实际上是同时发送的,在此表示为时间“0秒”。
当接收到查询和/或请求时,网络接口302d以积极方式做出响应,此处被示为指示306。在对于时间轴并未绘制成按比例的该示例中,在查询消息被发送的4秒内向计算设备102返回指示306。尽管该图显示了4秒的返回时间,但是要领会的是,这仅仅是用于讨论目的,并且任何适合的时间段和/或时间单位(例如毫秒、纳秒等)等同地适用,而不脱离所要求保护的主题的范围。在该时间点处,计算设备102尚未接收到任何其它指示和/或响应,不管是积极响应还是消极响应。在一些实施例中,一旦接收到由网络接口302d返回的信息,则计算设备102可以使用该信息来配置与远程计算设备的连接(不管是直接还是间接)。例如,在时间的益处方面,计算设备102可以利用首先返回的响应而不等待任何其它响应,在该情况下首先返回的响应为指示306。可替换地或附加地,计算设备102可以在配置连接之前首先等待来自所有查询的响应和/或超时,如下文进一步描述的。
在一些实施例中,网络接口302d返回与上文和下文描述的通信配置信息类似的信息和/或数据。例如,从计算设备102到网络接口302d的查询可以以与DHCP和/或DNS协议相关联的“选项252”方法的形式来实现。例如,计算设备102可以首先针对“选项252”向DHCP服务器发送查询。如果DHCP服务器已经配置“选项252”,则其可以利用配置信息(诸如URL)答复计算设备102,该配置信息然后可以用于确定直接和/或代理连接。如果DHCP没有“选项252”,则其可以要么忽略查询(并且随后超时)要么答复不支持该选项。可替换地或附加地,可以以类似方式使用DNS名称解析。
尽管接口302d积极地响应于计算设备102,但是网络接口302a-c全部都消极地做出响应,此处通过指示308图示。虚线用于表示指示308,而实线用于指示304和306。该虚线指定来自网络接口302a-c的消极响应可以通过每一个相应网络接口发送,和/或可以由计算设备102本地生成。在一些实施例中,网络接口发送指示对查询的消极响应的消息(例如错误消息和/或陈述“不支持”的消息)。在其它实施例中,消极响应可以以超时消息的形式发生,其要么由计算设备102本地监控和生成,要么由网络接口和/或相关联的远程计算机生成。因而,指示308由计算设备102在时间“30秒”处接收,其要么从相关联的网络接口外部接收,要么内部生成并接收。要领会和理解的是,可以接收指示和/或响应的任何组合。例如,网络接口302a和b可以发送“不支持”消息,而来自网络接口302c的响应消息可以通过超时生成。
尽管计算设备102可以选择基于第一响应来配置连接,但是在其它实施例中,计算设备102可以选择在配置连接之前等待对所有查询的响应(不管是积极响应还是消极的)。例如,如上文讨论的,指示308表示来自网络接口302a-c的消极响应。在一些情况下,计算设备102可以在基于来自网络接口302d的信息选择连接之前,等待接收所有这些响应(不管是积极的和/或消极的)。如之前描述的,这些消极响应可以以错误消息、“不支持”消息、超时消息等形式返回。然而在一些情况下,可以从网络接口接收多个响应,并且计算设备102可以选择在做出初始连接之前至少等待来自每一个所查询的网络接口的第一消息。例如,网络接口可以具有至少两个相关联的超时,其中第一超时是基于协议的(诸如较长的DHCP超时),并且(较短的)第二超时是基于用户和/或基于应用的。偶尔,计算设备102和/或应用可能出于使得能够实现较快的连接时间的原因而期望较短的超时。因而,在一些情况下,计算设备102可以等待来自网络接口302a-c的指示308,其在一些实施例中可以表示与基于用户和/或基于应用的超时相关联的消极响应。基于每一个响应的状态的这种“快照”,计算设备102将基于网络接口302d配置连接。此处,状态被称为“快照”,因为在随后某一时间点处,这些网络接口可以返回第二响应,不管是积极响应还是消极响应(诸如基于协议的超时)。在随后的该时间点处,计算设备然后可以基于所返回的是什么响应和网络接口的相关联的优先级而动态地重新配置到不同连接,如下文进一步描述的。
继续考虑图4,其图示了依照一个或多个实施例的并行网络接口探测的另一示例。如图3的情况中,图4描绘出图1和2的计算设备102与各种网络接口之间可能发生的消息发送。此处,图4包括网络接口402a-d。如同样地参照图3所描述的,计算设备102通过向网络接口402a-d并行地发送四个接口查询消息(例如基本上在相同时间“0秒”处)而开始,此处被示为指示404。然而,在图4中,每一个网络接口以积极方式对查询消息做出响应。网络接口402d首先在15秒处以指示406做出响应,接着网络接口402c在45秒处以指示408做出响应,网络接口402b在65秒处以指示410做出响应,并且网络接口402a在105秒处以指示412做出响应。在一些实施例中,计算设备102可以在多个网络接口做出响应时自适应地选择要利用并与其通信的是哪个网络接口,如下文进一步描述的。
当接收到对并行查询的多个积极响应时,计算设备102可以使用自适应选择算法来选择和/或按优先级排序响应的网络接口。这可以意味着计算设备102可以经由第一网络接口开始连接,但是随后在更高优先级的网络接口做出响应时切换和/或重新配置到不同的网络接口。因而,在一些实施例中,网络接口选择至少部分地基于按优先级排序可用的网络接口。网络接口可以以任何适合的方式来按优先级排序。例如,优先级排序可以基于计算设备102所接收的网络接口的列表。可替换地或附加地,选择网络接口可以至少部分地基于得出最快响应时间的网络接口。例如,计算设备102可以出于促进快速执行时间的原因而决定使用由第一网络接口所返回的信息。此处,第一积极响应的网络接口是具有15秒的响应时间的网络接口402d。基于此,计算设备102决定通过使用由网络接口402d所返回的通信配置信息而继续进行。当接收到来自网络接口402c的第二响应时,计算设备102评估网络接口402c并且确定其具有比网络接口402d更低的优先级。因此,计算设备102维持基于由网络接口402d返回的信息的连接。然而,当接收到来自网络接口402b的第三响应时,计算设备102确定网络接口402b具有比当前所使用的那个网络接口402d更高的优先级。因此,计算设备102将连接从网络接口402d重新配置和/或切换到网络接口402b。继续该示例,当网络接口402a做出响应时,计算设备对照当前所使用的那个网络接口(现在是网络接口402b)评估其优先级,并且做出是否切换网络接口的确定。因而,网络接口选择不仅可以基于优先级排序,而且其可以基于其优先级排序以及网络接口何时做出响应而动态地改变。
作为另一示例,考虑图5,其图示了依照一个或多个实施例的并行网络接口探测的又一示例。如图3和4中,在图1和2的计算设备102与多个网络接口之间的消息发送的上下文中讨论该示例。此处,多个网络接口由网络接口502a-d表示。如其它示例中,计算设备102通过在时间“0秒”处向每一个网络接口发送出并行网络接口查询而开始,此处被图示为指示504。然而,在该示例中,所有网络接口都消极地并且在不同时间间隔处做出响应:网络接口502d在时间15秒处做出响应、网络接口502c在时间25秒处做出响应、网络接口502b在时间32秒处做出响应并且网络接口502a在时间65秒处做出响应,此处分别通过指示506、508、510和512图示。时间上的这种变化可以归因于多个不同项,诸如接口的每一个上的不同处理例程、每一个网络接口对查询的不同接收时间、不同超时设置等。在一些实施例中,可以存在与查询相关联的多个超时。例如,一些超时可以是用户可设定的,其中用户提供期望的值。可替换地或附加地,超时可以是相关联的协议所使用的标准时间(例如DHCP超时等)。
使用图5的示例,串行地查询多个网络接口的上述方法将导致在计算设备102将意识到每一个网络接口消极地做出响应之前的15+25+32+65=137秒的总体延迟。然而,使用并行网络接口探测,计算设备102代替地在65秒内意识到没有支持可用。因而,并行网络接口探测可以改进计算设备的响应性,不管是没有网络接口、一些网络接口还是全部网络接口可用。
为了进一步图示,考虑图6,其图示了描述依照一个或多个实施例的方法中的步骤的流程图。方法可以通过任何适当的硬件、软件、固件或其组合来执行。在至少一些实施例中,方法的各方面可以通过在一个或多个计算设备上执行的一个或多个适当配置的软件模块来实现,诸如图1的网络发现模块104和/或并行探测模块106。
步骤600标识被配置成使得能够连接到计算设备的多个网络接口。在一些实施例中,网络接口可以通过计算设备针对所有可用网络接口的查询而标识。继而,从计算设备接收有序列表,其然后可以用于优先级排序的目的,如上文和下文进一步描述的。
步骤602向多个网络接口中的每一个网络接口并行地发送查询消息。在一些实施例中,并行地发送消息包括发送多个消息而不等待与消息相关联的响应。除其它之外,每一个查询消息可以包括针对通信配置信息的查询。例如,在一些实施例中,针对通信配置信息的查询可以包括与标识代理客户端配置设置相关联的“选项252”查询。
响应于向多个网络接口中的每一个网络接口发送查询消息,步骤604从多个网络接口中的至少一个网络接口接收对查询消息的至少一个响应。在一些情况下,所接收的响应包括对查询的积极响应。可替换地或附加地,积极响应可以包括至少一些所请求的通信配置信息、脚本和/或指向附加信息和/或脚本的数据。在其它情况下,所接收的响应包括对查询的消极响应。消极响应可以以任何适当的方式实现,诸如通过超时功能性和/或相关联的网络接口所返回的错误响应。另外,可以接收积极和消极响应的任何适当组合,诸如全部积极响应、全部消极响应、或者积极和消极响应的任何混合。
步骤606确定对查询的至少一个响应是否为积极响应。响应于确定至少一个响应为积极响应,步骤608按优先级排序与积极响应相关联的每一个网络接口以便使得能够动态选择至少一个网络接口。在一些实施例中,自适应选择算法可以用于按优先级排序、选择和/或切换选择网络接口,如上文进一步描述的。例如,已经做出响应的最高优先级的网络接口可以用于使得能够实现连接。然而,如果较高优先级的网络接口在随后的时间点处做出响应,则一些实施例可以切换配置和/或连接以反映与较高优先级的网络接口相关联的设置。
已经考虑了并行和动态接口选择的讨论,现在考虑可以用于实现上文描述的实施例的示例设备的讨论。
示例设备
图7图示了可以被实现为如参照图1和2所述的任何类型的便携式设备和/或计算机设备以实现本文描述的并行和动态网络选择的实施例的示例设备700的各种组件。设备700包括通信设备702,其使得能够实现设备数据704(例如所接收的数据、正接收的数据、被调度用于广播的数据、数据的数据分组等)的有线和/或无线通信。设备数据704或其它设备内容可以包括设备的配置设置、存储在设备上的媒体内容、和/或与设备用户相关联的信息。存储在设备700上的媒体可以包括任何类型的音频、视频和/或图像数据。设备700包括一个或多个数据输入706,经由其可以接收任何类型的数据、媒体内容和/或输入,诸如用户可选择的输入、消息、音乐、电视媒体内容、所记录的视频内容、以及从任何内容和/或数据源所接收的任何其它类型的音频、视频和/或图像数据。
设备700还包括通信接口708,其可以被实现为串行和/或并行接口、无线接口、任何类型的网络接口、调制解调器中的任何一个或多个以及被实现为任何其它类型的通信接口。通信接口708提供设备700和通信网络之间的连接和/或通信链路,其它电子、计算和通信设备通过所述连接和/或通信链路与设备700传送数据。
设备700包括一个或多个处理器710(例如微处理器、控制器等中的任何),其处理各种计算机可执行或可读指令以控制设备700的操作并且实现上文描述的实施例。可替换地或附加地,设备700可以利用结合一般在712处标识的处理和控制电路所实现的硬件、固件、或者固定逻辑电路中的任一个或其组合而实现。尽管未示出,但是设备700可以包括耦合设备内的各种组件的系统总线或数据传递系统。系统总线可以包括不同总线结构中的任一个或其组合,所述总线结构诸如存储器总线或存储器控制器、外围总线、通用串行总线、和/或利用各种各样总线架构中的任何总线架构的处理器或本地总线。
设备700还包括计算机可读介质714,诸如一个或多个存储器组件,其示例包括随机存取存储器(RAM)、非易失性存储器(例如只读存储器(ROM)、闪存、EPROM、EEPROM等中的任何一个或多个)和盘存储设备。盘存储设备可以实现为任何类型的磁性或光学存储设备,诸如硬盘驱动器、可记录和/或可再写致密盘(CD)、任何类型的数字多功能盘(DVD)等。设备700还可以包括大容量存储介质设备716。
计算机可读介质714提供数据存储机制以存储设备数据704以及各种设备应用718和涉及设备700的操作方面的任何其它类型的信息和/或数据。例如,操作系统720可以作为计算机应用利用计算机可读介质714维护并且在处理器710上执行。设备应用718可以包括设备管理器(例如控制应用、软件应用、信号处理和控制模块、特定设备本来(native)的代码、用于特定设备的硬件抽象层等),以及其它应用,其可以包括web浏览器、图像处理应用、诸如即时消息发送应用之类的通信应用、字处理应用和各种各样其它不同应用。设备应用718还包括实现本文描述的技术的实施例的任何系统组件或模块。在该示例中,设备应用718包括被示为软件模块和/或计算机应用的并行探测模块722和网络发现模块724。并行探测模块722表示用于使得能够并行查询多个网络接口、基于来自网络接口中的一个网络接口的信息按优先级排序连接、和/或基于优先级排序动态地切换连接的软件,如上文进一步描述的。网络发现模块724表示使得设备700能够通过网络发现和/或找到其它计算设备和/或外围设备的软件。可替换地或附加地,并行探测模块722和/或网络发现模块724可以实现为硬件、软件、固件或其任何组合。
设备700还包括音频和/或视频输入-输出系统726,其向音频系统728提供音频数据和/或向显示系统730提供视频数据。音频系统728和/或显示系统730可以包括处理、显示和/或以其它方式再现音频、视频和图像数据的任何设备。视频信号和音频信号可以经由RF(射频)链路、S视频链路、复合视频链路、分量视频链路、DVI(数字视频接口)、模拟音频连接或其它类似的通信链路而从设备700传送到音频设备和/或显示设备。在实施例中,音频系统728和/或显示系统730被实现为设备700的外部组件。可替换地,音频系统728和/或显示系统730被实现为示例设备700的集成组件。
总结
各种实施例使得能够针对通信配置信息并行查询多个网络接口。所返回的通信配置信息可以由客户端设备使用以使得能够与另一计算设备通信。在一些实施例中,接收到对并行查询的多个响应。可替换地或附加地,来自网络接口的响应可以通过用户配置的超时和/或协议配置的超时的过期来确定。从多个响应中选择网络接口可以至少部分地基于使用自适应选择算法来按优先级排序响应的网络接口。
尽管已经以特定于结构特征和/或方法动作的语言描述了实施例,但是要理解的是,在附权利要求中限定的实施例未必限于所描述的具体特征或动作。而是,具体特征和动作是作为实现所要求保护的实施例的示例形式而公开的。

Claims (10)

1.一种计算机实现的方法,包括:
标识被配置成使得能够连接到计算设备的多个网络接口;以及
向多个网络接口中的每一个网络接口并行地发送查询消息以便使得能够选择多个网络接口中的一个网络接口,其中查询消息至少部分地基于动态主机控制协议(DHCP)发现方法。
2.权利要求1的计算机实现的方法,还包括:
接收与设置和查询消息相关联的超时相关联的用户输入;以及
至少部分地基于所述用户输入,设置与超时相关联的过期时间。
3.权利要求2的计算机实现的方法,还包括:
至少部分地基于与用户输入过期相关联的超时,从至少一个网络接口接收对查询的消极响应。
4.权利要求1的计算机实现的方法,还包括:
从多个网络接口中的至少一个网络接口接收对查询消息的至少一个响应;
确定对查询消息的至少一个响应是否为积极响应;以及
按优先级排序与积极响应相关联的每一个网络接口以便使得能够动态选择至少一个网络接口,其中按优先级排序与积极响应相关联的每一个网络接口以便使得能够动态选择还包括:
  至少部分地基于经由第一所接收的积极响应从多个接口中的第一网络接口所接收的信息来配置对计算设备的连接;
  从多个接口中的第二网络接口接收第二积极响应;
  确定第二网络接口具有比第一网络接口更高的优先级;以及
  至少部分地基于经由第二积极响应所接收的信息,重新配置对计算设备的连接。
5.权利要求1的计算机实现的方法,还包括:
从多个网络接口中的至少一个网络接口接收对查询消息的至少一个响应;
确定对查询消息的至少一个响应是否为积极响应;以及
按优先级排序与积极响应相关联的每一个网络接口以便使得能够动态选择至少一个网络接口。
6.一个或多个体现处理器可执行指令的计算机可读存储存储器,所述指令响应于由至少一个处理器执行而被配置成:
标识被配置成使得能够连接到计算设备的多个网络接口;
向多个网络接口中的每一个网络接口并行地发送查询消息;
从多个网络接口中的至少一个网络接口接收对查询消息的至少一个响应;
确定对查询消息的至少一个响应是否为积极响应;以及
按优先级排序与积极响应相关联的每一个网络接口以便使得能够动态选择至少一个网络接口。
7.权利要求6的一个或多个计算机可读存储存储器,还包括被配置成进行以下操作的指令:
接收与设置和查询消息相关联的超时相关联的用户输入;以及
至少部分地基于所述用户输入,设置与超时相关联的过期时间。
8.权利要求6的一个或多个计算机可读存储存储器,其中用于按优先级排序与积极响应相关联的每一个网络接口以便使得能够动态选择的指令还被配置成:
至少部分地基于经由第一所接收的积极响应从多个接口中的第一网络接口所接收的信息来配置对计算设备的连接;
从多个接口中的第二网络接口接收第二积极响应;
确定第二网络接口具有比第一网络接口更高的优先级;以及
至少部分地基于经由第二积极响应所接收的信息,重新配置对计算设备的连接。
9.权利要求6的一个或多个计算机可读存储存储器,还包括被配置成进行以下操作的指令:
响应于确定对查询消息的至少一个响应是积极响应,至少部分地基于在所述至少一个响应内所包含的信息来配置对计算设备的连接以路由通过至少一个代理。
10.权利要求6的一个或多个计算机可读存储存储器,其中查询消息至少部分地基于动态主机控制协议(DHCP)发现方法。
CN201380075264.7A 2013-03-29 2013-09-12 并行接口选择 Pending CN105229994A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/853,910 US20140297818A1 (en) 2013-03-29 2013-03-29 Parallel and Dynamic Interface Selection
US13/853910 2013-03-29
PCT/US2013/059328 WO2014158215A1 (en) 2013-03-29 2013-09-12 Parallel interface selections

Publications (1)

Publication Number Publication Date
CN105229994A true CN105229994A (zh) 2016-01-06

Family

ID=49293845

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380075264.7A Pending CN105229994A (zh) 2013-03-29 2013-09-12 并行接口选择

Country Status (4)

Country Link
US (1) US20140297818A1 (zh)
EP (1) EP2979433A1 (zh)
CN (1) CN105229994A (zh)
WO (1) WO2014158215A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106909390A (zh) * 2017-02-28 2017-06-30 郑州云海信息技术有限公司 一种基于bmc实现的ncsi设置方法及装置
CN109728919A (zh) * 2017-10-31 2019-05-07 三星Sds株式会社 会议连接方法及用于执行此的终端
CN111953615A (zh) * 2019-05-17 2020-11-17 华为技术有限公司 一种负载分担的方法、装置以及bras
CN112771754A (zh) * 2018-07-03 2021-05-07 施耐德电气It公司 在电源装置中用于提供网络连接弹性的系统及方法

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10142282B2 (en) * 2012-11-05 2018-11-27 Pismo Labs Technology Limited Methods and gateways for processing DNS request
KR102143620B1 (ko) * 2014-02-17 2020-08-11 삼성전자주식회사 전자 장치에서 다중 인터페이스를 이용한 응용 계층의 요청 처리 장치 및 방법
US10771345B1 (en) * 2016-12-28 2020-09-08 Amazon Technologies, Inc. Network monitoring service
EP3745643A1 (de) * 2019-05-29 2020-12-02 Siemens Aktiengesellschaft Verfahren zur adressvergabe an kommunikationsgeräte und steuerungsgerät für ein industrielles automatisierungssystem
US11507259B2 (en) * 2020-09-08 2022-11-22 UiPath, Inc. Graphical element detection using a combined series and delayed parallel execution unified target technique, a default graphical element detection technique, or both
US11232170B1 (en) 2020-09-08 2022-01-25 UiPath, Inc. Application-specific graphical element detection

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1735059A (zh) * 2003-10-24 2006-02-15 微软公司 能经由多个网络通信媒体建立连接的计算设备上的网络和接口选择
US20100290448A1 (en) * 2008-01-15 2010-11-18 Telefonaktiebolaget L M Ericsson (Publ) Pre-fetching of input data for access network selection
US20110319072A1 (en) * 2010-06-28 2011-12-29 Research In Motion Limited Method And System for Radio Access Technology Selection
CN102656862A (zh) * 2009-12-18 2012-09-05 高通股份有限公司 在应用层绑定/聚合多个接口

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7039709B1 (en) * 2000-05-31 2006-05-02 International Business Machines Corporation Dynamically selection of most efficient transmission medium and route from a client browser
CN1666473A (zh) * 2002-07-10 2005-09-07 皇家飞利浦电子股份有限公司 多个网络的接口选择
US20060015595A1 (en) * 2004-06-17 2006-01-19 International Business Machines Corporation Method and apparatus for obtaining addresses for multiple interfaces in a device
ATE427601T1 (de) * 2004-07-01 2009-04-15 Alcatel Lucent Verfahren zur auswahl zwischen netzwerkschnittstellen, gerat mit mehreren netzwerkschnittstellen und verarbeitungsschicht
KR101162674B1 (ko) * 2004-10-18 2012-07-05 삼성전자주식회사 이동망 환경에서의 다중 인터페이스를 이용한 자원예약방법
GB0612288D0 (en) * 2006-06-21 2006-08-02 Nokia Corp Selection of access interface
CN100433665C (zh) * 2006-11-07 2008-11-12 华为技术有限公司 一种因特网组管理协议监听方法及交换机
US8274893B2 (en) * 2007-06-15 2012-09-25 Microsoft Corporation Network interface selection using historical connection information
US8782256B2 (en) * 2008-11-26 2014-07-15 Cisco Technology, Inc. Deterministic session load-balancing and redundancy of access servers in a computer network
US8539053B2 (en) * 2009-02-27 2013-09-17 Futurewei Technologies, Inc. Apparatus and method for dynamic host configuration protocol version 6 extensions for configuring hosts with multiple interfaces
KR101720334B1 (ko) * 2010-01-12 2017-04-05 삼성전자주식회사 이동통신 시스템에서 불연속 수신 동작을 지원하는 방법 및 장치
GB2493132B (en) * 2011-07-11 2018-02-28 Metaswitch Networks Ltd Controlling an apparatus in a LAN by selecting between first and second hardware interfaces for performing data communication
US9043439B2 (en) * 2013-03-14 2015-05-26 Cisco Technology, Inc. Method for streaming packet captures from network access devices to a cloud server over HTTP

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1735059A (zh) * 2003-10-24 2006-02-15 微软公司 能经由多个网络通信媒体建立连接的计算设备上的网络和接口选择
US20100290448A1 (en) * 2008-01-15 2010-11-18 Telefonaktiebolaget L M Ericsson (Publ) Pre-fetching of input data for access network selection
CN102656862A (zh) * 2009-12-18 2012-09-05 高通股份有限公司 在应用层绑定/聚合多个接口
US20110319072A1 (en) * 2010-06-28 2011-12-29 Research In Motion Limited Method And System for Radio Access Technology Selection

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106909390A (zh) * 2017-02-28 2017-06-30 郑州云海信息技术有限公司 一种基于bmc实现的ncsi设置方法及装置
CN106909390B (zh) * 2017-02-28 2020-11-24 苏州浪潮智能科技有限公司 一种基于bmc实现的ncsi设置方法及装置
CN109728919A (zh) * 2017-10-31 2019-05-07 三星Sds株式会社 会议连接方法及用于执行此的终端
CN112771754A (zh) * 2018-07-03 2021-05-07 施耐德电气It公司 在电源装置中用于提供网络连接弹性的系统及方法
CN111953615A (zh) * 2019-05-17 2020-11-17 华为技术有限公司 一种负载分担的方法、装置以及bras

Also Published As

Publication number Publication date
EP2979433A1 (en) 2016-02-03
WO2014158215A1 (en) 2014-10-02
US20140297818A1 (en) 2014-10-02

Similar Documents

Publication Publication Date Title
CN105229994A (zh) 并行接口选择
JP6751094B2 (ja) 無線通信をサポートする方法、機器およびシステム
CN101094250B (zh) 维护网络地址的方法和系统
CN104092787B (zh) 基于dns的网络访问方法和系统
US20130346591A1 (en) Clientless Cloud Computing
US20120079043A1 (en) Method, apparatus and system for accessing an application across a plurality of computers
CN109088799B (zh) 一种客户端接入方法、装置、终端以及存储介质
US20200145370A1 (en) Data service implementation method and apparatus, and terminal
CN102932439A (zh) 一种内容同步的方法和装置
WO2020206660A1 (zh) 网络资源请求方法、装置、电子设备以及存储介质
CN111970389B (zh) 基于mDNS协议的投屏方法、装置、设备及存储介质
CN109428839B (zh) 一种cdn调度方法、设备及系统
US20080301293A1 (en) Method and apparatus for discovering universal plug and play device using resource information
US20170289243A1 (en) Domain name resolution method and electronic device
CN103109517A (zh) 一种双栈终端访问服务器的方法、终端和系统
CN104812021A (zh) 一种ap接入ac的方法及装置
CN105491135A (zh) 建立数据连接的方法及装置
JPWO2018207674A1 (ja) 通信制御方法および通信システム
WO2014183439A1 (en) Method, apparatus and system for switching function mode
JP6819418B2 (ja) 端末装置のためのコンピュータプログラム、及び、通信装置
CN105530222A (zh) 多终端之间的连接建立方法、装置和系统
CN111328116A (zh) 无线设备双模式共存的控制方法、系统及无线设备
CN111615694B (zh) 一种服务器节点的选择方法和终端设备
CN112153753B (zh) 网络连接方法及装置
CN103686317B (zh) 电视频道播放方法和装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20160106

RJ01 Rejection of invention patent application after publication