用于确定用来访问网络资源的网络接口的方法、设备和计算机程序产品的制作方法

文档序号:7943426阅读:221来源:国知局
专利名称:用于确定用来访问网络资源的网络接口的方法、设备和计算机程序产品的制作方法
技术领域
本发明的实施方式一般地涉及移动通信技术,并且更具体地,涉及用于确定用来访问网络资源的网络接口的方法、设备和计算机程序产品。
背景技术
现代通信时代带来了有线网络和无线网络的巨大扩展。受消费者需求的推动,计算机网络、电视网络和电话网络正经历一场前所未有的技术扩展。无线和移动联网技术已经解决了相关的消费者需求,同时提供更多的信息传送灵活性和及时性。
当前和将来的联网技术以及使用联网技术的演进的计算设备持续促进信息传送的简易性和对于用户的便利性。许多计算设备目前被配置成通过多个可用的网络接口访问网络资源,举例而言,比如web页面。这些网络接口例如可以包括蜂窝网络接口、有线以太网接口、无线本地接入网络接口、虚拟专用网络隧道接口等。这些可用的网络接口可以与有线网络或无线网络对接。
然而,某些网络资源可能无法通过每个可用的网络接口来访问。此外,即使某网络资源可通过多个可用的网络接口获得,某一可用的网络接口可能比其他网络接口更适于访问该网络资源。遗憾的是,用于访问网络资源的应用(比如web浏览器),和/或用于控制其他应用对网络资源的访问的应用(比如各种操作系统组件),可能未被配置用以确定用于访问网络资源的适当网络接口。这些应用可能被配置成仅使用预定的网络接口,或者也有可能被配置成盲目地循环通过可用的网络接口。某些应用可能需要用户干预来切换默认网络接口。然而,从可用性角度来看这是不可取的,因为其不仅向用户强加负担,而且用户可能并不知道要使用哪个网络接口。
因此,向计算设备用户提供用于确定用来访问网络资源的网络接口的方法、设备和计算机程序产品可能是有益的。

发明内容
因此,提供用于确定用来访问网络资源的网络端口的方法、设备和计算机程序产品。就此而言,可以提供这样的方法、设备和计算机程序产品,其可以向计算设备的用户提供诸多益处。本发明的实施方式可以提供对域名后缀信息的维护,该域名后缀信息可以指示什么域名可通过网络接口访问和/或解析,哪些域名不能通过网络接口解析,和/或该网络接口优选用于访问和/或解析域名的优选等级。因此,可以选择适当的网络接口以用于解析域名并连接至相关的网络地址。适当网络地址的选择可使错误更少,这些错误否则将产生于试图通过域名无法通过其解析的网络接口来解析该域名。因此,主机设备的用户,比如web浏览器的用户,可以受益于更少的体验到由对域名进行解析的失败尝试造成的连接错误。另外,在某些实施方式中,可以根据预定优先级来选择网络接口,该优先级可在选择网络接口时将可用网络接口的信任级别、速度和/或成本考虑在内。因此,最终用户可以受
6益于选择安全和/或高效的网络接口的实施方式。
在第一示例性实施方式中,提供一种方法,该方法可以包括接收对域名进行解析的请求。该方法可以进一步包括访问维护的域名后缀信息。维护的域名后缀信息可包括多个域名后缀条目。各域名后缀条目可包括域名后缀并且可以指示出对应于该域名后缀的域名通过网络接口的可访问性。该方法可以附加地包括针对与域名对应的一个或多个域名后缀条目而搜索维护的域名后缀信息,以确定可通过其访问该域名的一个或多个网络接口。 该方法还可以包括从该一个或多个确定的网络接口中选择用于将域名解析为网络地址的网络接口。
在另一示例性实施方式中,提供一种计算机程序产品。该计算机程序产品包括至少一个在其中存储有计算机可读程序指令的计算机可读存储介质。计算机可读程序指令可以包括多个程序指令。尽管在该概述中,所述程序指令是有序的,但应当明白,本概述仅是为了举例的目的而提供的,而排序仅是为了帮助总结所述计算机程序产品。示例的排序绝不以任何方式限制相关计算机程序指令的实现。第一程序指令用于接收对域名进行解析的请求。第二程序指令用于访问维护的域名后缀信息。维护的域名后缀信息可包括多个域名后缀条目。各域名后缀条目可包括域名后缀并且可以指示出与该域名后缀对应的域名通过网络接口的可访问性。第三程序指令用于针对对应于域名的一个或多个域名后缀条目而搜索维护的域名后缀信息,以确定可通过其访问该域名的一个或多个网络接口。第四程序指令用于从所述一个或多个确定的网络接口中选择用于将域名解析为网络地址的网络接口。
在又一示例性实施方式中,提供一种设备,该设备可包括配置用于接收对域名进行解析的请求的处理器。该处理器可进一步配置用于访问维护的域名后缀信息。维护的域名后缀信息可包括多个域名后缀条目。各域名后缀条目可包括域名后缀并且可以指示出对应于该域名后缀的域名通过网络接口的可访问性。处理器可以附加地配置用于针对与域名对应的一个或多个域名后缀条目而搜索维护的域名后缀信息,以确定可通过其访问该域名的一个或多个网络接口。处理器还可以配置用于从所述一个或多个确定的网络接口中选择用于将域名解析为网络地址的网络接口。
在另一示例性实施方式中,提供一种设备,该设备可以包括用于接收对域名进行解析的请求的装置。该设备可以进一步包括用于访问维护的域名后缀信息的装置。维护的域名后缀信息可包括多个域名后缀条目。各域名后缀条目可包括域名后缀并且可以指示出对应于该域名后缀的域名通过网络接口的可访问性。该设备还可以包括用于针对与域名对应的一个或多个域名后缀条目而搜索维护的域名后缀信息以确定可通过其访问该域名的一个或多个网络接口的装置。该设备可以附加地包括用于从所述一个或多个确定的网络接口中选择用于将域名解析为网络地址的网络接口的装置。
在又一示例性实施方式中,提供一种方法,该方法可以包括维护域名后缀信息。维护的域名后缀信息可包括多个域名后缀条目。各域名后缀条目可包括域名后缀并且可以指示出对应于该域名后缀的域名通过网络接口的可访问性。该方法可以进一步包括向网络管理实体发送针对域名后缀信息的请求。该方法可以附加地包括从所述网络管理实体接收域名后缀信息。该方法还可以包括至少部分地基于接收的域名后缀信息来更新维护的域名后缀信息。
在另一示例性实施方式中,提供一种计算机程序产品。该计算机程序产品包括至少一个在其中存储有计算机可读程序指令的计算机可读存储介质。计算机可读程序指令可包括多个程序指令。尽管在该概述中,所述程序指令是有序的,但应当明白,本概述仅是为了举例的目的而提供的,而排序仅是为了帮助总结所述计算机程序产品。示例的排序绝不以任何方式限制相关计算机程序指令的实现。第一程序指令用于维护域名后缀信息。维护的域名后缀信息可包括多个域名后缀条目。各域名后缀条目可包括域名后缀并且可以指示出对应于该域名后缀的域名通过网络接口的可访问性。第二程序指令用于向网络管理实体发送针对域名后缀信息的请求。第三程序指令用于从所述网络管理实体接收域名后缀信息。第四程序指令用于至少部分地基于接收的域名后缀信息来更新维护的域名后缀信息。
在又一示例性实施方式中,提供一种设备,该设备可以包括配置用于维护域名后缀信息的处理器。维护的域名后缀信息可包括多个域名后缀条目。各域名后缀条目可包括域名后缀并且可以指示出对应于该域名后缀的域名通过网络接口的可访问性。该设备可以进一步配置用于向网络管理实体发送针对域名后缀信息的请求。该设备可以附加地配置用于从所述网络管理实体接收域名后缀信息。该设备还可以配置用于至少部分地基于接收的域名后缀信息来更新维护的域名后缀信息。
以上概述仅是为了总结本发明的某些示例实施方式从而提供对本发明的某些方面的基本理解这一目的而提供的。因此,应当明白,上述示例实施方式仅为示例,并且不应解释以任何方式缩小本发明的范围或精神。应当明白,本发明的范围包括许多潜在的实施方式,除在此总结的这些实施方式之外,将在以下进一步描述其中的某些实施方式。


在已由此一般性地描述了本发明的实施方式后,现在将对附图做出参考,附图并非一定按比例绘制,并且其中 图1至图2示出了具有多个网络接口的计算设备,其中一些网络接口提供对特定网络资源的独占访问; 图3示出了根据本发明的一个示例性实施方式的、用于确定用来访问网络资源的网络接口的系统的框图; 图4为根据本发明的一个示例性实施方式的移动终端的示意性框图; 图5为依据根据本发明的一个示例性实施方式的、用于更新比如可以存储在短期存储器中的存储的域名后缀信息的示例性方法的流程图; 图6为依据根据本发明的一个示例性实施方式的、用于确定用来访问网络资源的网络接口的示例性方法的流程图; 图7为依据根据本发明的一个示例性实施方式的、用于在开放式网络接口已失败之后确定用来访问网络资源的网络接口的示例性方法的流程图; 图8为依据根据本发明的一个示例性实施方式的、用于更新比如可以存储在长期存储器中的存储的域名后缀信息的示例性方法的流程图; 图9为依据根据本发明的一个示例性实施方式的、用于使用反向域名查找来确定用来访问网络资源的网络接口的示例性方法的流程图; 图10为依据根据本发明的一个示例性实施方式的、用于确定用来访问网络资源的网络接口的示例性方法的流程图;以及 图11为依据根据本发明的一个示例性实施方式的、用于获取和更新存储的域名后缀信息的示例性方法的流程图。
具体实施例方式现在将在下文中参考附图更加详细地描述本发明的一些实施方式,在附图中示出了本发明的一些而不是所有的实施方式。事实上,本发明可以在许多不同形式之中实施,并且不应被认为限于这里所描述的实施方式;相反,提供这些实施方式使得本公开将满足适用的法律规定。相同参考编号全文指代相同元素。
本文中所使用的“网络接口”指的是实施于计算设备上、用于通过网络连接访问网络资源的通信接口。“网络资源”可包括能够通过网络访问到的任何计算设备、可从联网的计算设备访问的数据,等等。网络接口可以实施于硬件、软件、固件或者其某些组合之中,并因而可包括物理硬件接口或者虚拟软件接口。网络接口可以配置成提供对有线网络连接、 无线网络连接或者其某些组合的访问。
本文中所使用的“网络地址”指的是唯一地标识网络上的计算设备、可用于通过网络向/从该计算设备发送和/或接收数据的逻辑网络层地址。不时地,将使用因特网协议 (IP)地址作为网络地址的一个例子。然而,应当明白,当使用术语IP地址时,其仅是为了提供说明性示例的目的而使用的,并且因此在本发明的范围内可以由其他类型的网络地址所替换。
本文中所使用的“域名”指的是例如诸如服务器、web页面等之类的网络资源的名称,该名称可以与网络地址相关联并从而被解析、解译为网络地址,从而使该域名所指代的网络资源可被访问。就此而言,域名可以提供对网络资源的简单的用户友好型引用(例如, www, nokia. com),以代替可能具有更高复杂度的完整网络地址(例如,147. 243. 3. 83)。不时地,将使用依照因特网统一资源定位符(URL)惯例的域名(例如,www, nokia. com)作为域名的例子。然而,应当明白,当使用这样的URL时,其仅是为了提供说明性示例的目的而使用的,并且因此在本发明的范围内可以由其他类型的域名所替换。术语“完全合格域名 (FQDN) ”有时将在本文中使用,并且表示指定在从顶级域最终至根域的域名系统的树形层次结构中的确切位置的明确域名(例如,"www, nokia. com”而不仅仅是“nokia. com”)。
本文中所使用的“域名后缀”指的是域名的一部分,并且例如可以包括取代域名的省略部分的通配符,比如“*”。域名后缀的例子包括“*. corporation. com”、“*. intranet, corporation, com"和“*. *”。就此而言,域名后缀可对应于包含该域名后缀的一个或多个域名。
本文中所使用的“网络管理实体”指的是配置用于管理主机设备对网络的访问的计算设备。就此而言,可将网络管理实体视为网络资源。在某些实施方式中,网络管理实体可以配置用于将域名解析为网络地址。就此而言,网络管理实体可以配置用于接收来自主机设备的包含域名的解析请求、在数据库中查找该域名以确定对应的网络地址,以及向主机设备提供确定的网络地址。有时候,将使用术语域名系统(DNS)或者DNS服务器作为网络管理实体的例子。然而,应当明白,当使用DNS和/或DNS服务器时,其仅是为了提供说明性示例的目的而使用的,并且因此在本发明的范围内可由其他类型的网络管理实体所替换。
在某些实施方式中,网络管理实体可配置用于向主机设备分配该主机设备可以用来通过网络访问网络资源的网络地址。有时候,将会使用术语动态主机配置协议(DHCP)服务器作为网络管理实体的这种实施方式的例子。然而,应当明白,当使用DHCP服务器时,其仅是为了提供说明性示例的目的而使用的,并且因此在本发明的范围内可以由其他类型的网络管理实体所替换。
现在参考图1,其图示出可由本发明的实施方式解决的一个问题,图1示出了具有多个网络接口的计算设备,其中一些网络接口提供对特定网络资源的独占访问。就此而言, 计算设备102可以是包含多个网络接口的移动终端。第一网络接口可以是虚拟专用网络 (VPN)隧道104。第二网络接口可以是通过无线局域网(WLAN) 106的无线网络接口。第三网络接口可以是通过蜂窝网络108的蜂窝网络接口。VPN遂道104可以提供通过企业内联网116对企业内联网服务110的访问和通过因特网118对web服务112的访问,但不能提供通过ISP内联网120对因特网服务提供商(ISP)内联网服务114的访问。WLAN 106可以提供通过因特网118对web服务112的访问,但不能提供对企业内联网服务110或者ISP内联网服务114的访问。蜂窝网络108可以提供通过ISP内联网120对ISP内联网服务114 的访问以及通过因特网118对web服务112的访问,但不能提供对企业内联网服务110的访问。即使是那些提供对多种类型的网络资源的访问的网络接口也可能并非是用于通过网络接口访问所有可用网络资源的最佳可用网络接口。举例而言,蜂窝网络接口 108相比于可提供对web服务112的更快和/或更廉价访问的WLAN接口 106而言,可能不提供对web 服务112的最佳访问。因此,可由本发明的实施方式解决的计算设备102的一个问题是确定应使用哪个可用网络接口来访问网络资源。
图2示出了可由本发明的实施方式解决的另一问题。就此而言,可以通过各网络接口来访问网络管理实体,例如,通过VPN隧道104访问企业DNS服务器122、通过WLAN接口 106访问WLAN DNS服务器124以及通过蜂窝网络接口 108访问ISP DNS服务器126。然而,每个网络管理实体可能被配置用于仅解析特定的域名。举例而言,企业DNS 122可能仅知因特网域名和内部企业域名。WLAN DNS IM可能仅知道因特网域名。ISP DNS 1 可能仅知道因特网名称和内部ISP域名。就此而言,图2示出了一种被称为水平分割(split horizon)DNS的概念,其中特定域名可仅由特定DNS服务器解译为网络地址。因此,可由本发明的实施方式解决的计算设备102的一个问题是确定应使用哪个网络管理实体以及因而应使用哪个可用网络接口来解析域名,从而计算设备102可以访问网络资源。
图1和图2中所示的问题可由图3的系统解决,图3示出了根据本发明的一个示例性实施方式的、用于确定用来访问网络资源的网络接口的系统300的框图。本文中所使用的“示例性”仅指某一示例并且因此表示针对本发明的一个示例实施方式,并且不应理解为以任何方式缩小本发明的范围和精神。应当明白,本发明的范围包括除本文所示和所述的实施方式以外的许多潜在的实施方式。因此,虽然图3示出了用于确定用来访问网络资源的网络接口的系统的配置的一个示例,但亦可使用众多其他配置来实现本发明的实施方式。
现在参考图3,系统300可以包括主机设备302,比如图1和图2的计算设备102, 该主机设备302包括从1至η编号的多个网络接口,这些网络接口可由主机设备302用来访问网络资源。各网络接口可以提供通过与相应网络接口相关的网络接入306(例如,从针对网络接口1的网络接入到针对网络接口η的网络接入)对各种网络资源(为了简化系统 300的目的而未被示出)以及网络管理实体304(例如,网络管理实体1至η)的访问。针对各相应接口的网络接入306可以包括有线网络、无线网络或者其某些组合。在某些实施方式中,网络接入306可以包括虚拟网络接口,比如可以促进虚拟专用网络隧道。主机设备 302可以实施为任何(移动式或固定式)计算设备,并且因此可以实施为服务器、桌上型计算机、膝上型计算机、移动终端、移动计算机、移动电话、移动通信设备、游戏设备、数码照相机/摄像机、音频/视频播放器、电视设备、收音机、数字录像机、定位设备及其任何组合等。 在一个示例性实施方式中,主机设备302可以实施为如图4中所示的移动终端。
就此而言,图4示出了代表依照本发明的实施方式的主机设备302的一个实施方式的移动终端10的框图。然而,应当理解,图中所示的和下文描述的移动终端仅为可获益于本发明实施方式的一种类型的主机设备302的示例说明,因此,不应以其来限制本发明的范围。虽然为了举例的目的而示出并且将在下面描述电子设备的若干实施方式,但其他类型的电子设备,诸如移动电话、移动计算机、便携式数字助理(PDA)、寻呼机、膝上型计算机、桌上型计算机、游戏设备、电视以及其他类型的电子系统等,亦可采用本发明的实施方式。
如图所示,移动终端10可以包括与发射器14和接收器16通信的天线12 (或者多个天线1 。移动终端还可包括控制器20或者其他处理器,其分别向发射器提供信号和从接收器接收信号。这些信号可以包括依照适用的蜂窝系统以及/或者任意多个不同无线联网技术的空中接口标准的信令信息,所述无线联网技术包括但不限于无线保真(Wi-Fi)、无线本地接入网(WLAN)技术,诸如电气与电子工程师协会(IEEE)802. 11等。此外,这些信号可以包括语音数据、用户生成的数据等。就此而言,移动终端可以能够协同于一个或多个空中接口标准、通信协议、调制类型、访问类型等而操作。更具体地,移动终端可以能够依照各种第一代(IG)通信协议、第二代OG)通信协议、2. 5G通信协议、第三代(3G)通信协议、第四代GG)通信协议等而操作。举例而言,移动终端可以能够依照2G无线通信协议 IS-136(时分多址接入(TDMA))、全球移动通信系统(GSM)、IS_95(码分多址接入(CDMA)) 等来进行操作。并且,举例而言,移动终端可以能够依照2. 5G无线通信协议通用分组无线业务(GPRS)、增强型数据GSM环境(EDGE)等来进行操作。另外,举例而言,移动终端可以能够依照诸如以下所列的3G无线通信协议来进行操作,这些协议例如通用移动电信系统 (UMTS)、码分多址接入2000(CDMA2000)、宽带码分多址接入(WCDMA)、时分-同步码分多址接入(TD-SCDMA)等。移动终端附加地还可以能够依照诸如长期演进(LTE)或者演进型通用陆地无线接入网(E-UTRAN)等之类的3. 9G无线通信协议来进行操作。此外,举例而言, 移动终端可以能够依照第四代GG)无线通信协议等以及未来可能开发的类似无线通信协议而进行操作。
一些窄带高级移动电话服务(NAMPQ移动终端以及全接入式通信系统(TACS)移动终端亦可从本发明的实施方式中获益,并且对于双模式电话或者更高模式电话(例如, 数字/模拟电话或者TDMA/CDMA/模拟电话)而言亦如此。此外,移动终端10可以能够根据无线保真(Wi-Fi)协议来进行操作。
应当理解,控制器20可包括用于实现移动终端10的音频/视频和逻辑功能的电路。举例而言,控制器20可包括数字信号处理器器件、微处理器器件、模数转换器、数模转换器等。可以根据这些器件各自的能力在它们之间分配移动终端的控制和信号处理功能。 控制器另外可以包括内部语音编码器(VC) 20a、内部数据调制解调器(DM) 20b等。此外,控制器可以包括对可存储于存储器中的一个或多个软件程序进行操作的功能性。举例而言, 控制器20可以能够操作连接程序,比如web浏览器。连接程序可以允许移动终端10根据诸如无线应用协议(WAP)、超文本传输协议(HTTP)等之类的协议来发送和接收诸如基于位置内容之类的web内容。移动终端10可以能够使用传输控制协议/因特网协议(TCP/IP) 来跨因特网或其他网路发送和接收web内容。
移动终端10还可包括用户接口,该用户接口例如包括可以操作地耦合至控制器 20的耳机或扬声器M、振铃器22、麦克风沈、显示器观、用户输入接口等。本文中所使用的 “操作地耦合”可以包括任意数量和任何组合的中间元件(包括无中间元件的情况),使得操作地耦合的连接可以是直接的或间接地,并且在某些情况下可以仅包括组件之间的功能关系。尽管并未示出,但移动终端可包括电池,用于为相关于移动终端的各种电路供电,这些电路例如为用以提供机械振动作为可检测输出的电路。用户输入接口可以包括允许移动终端接收数据的设备,比如小键盘30、触摸显示屏(未示出)、操纵杆以及/或者其他输入设备等。在包括小键盘的实施方式中,小键盘可包括数字键(0-9)和相关键(#、*)和/或用于操作移动终端的其他键。
如图4中所示,移动终端10还可以包括用于共享和/或获取数据的一个或多个装置。举例而言,移动终端可包括短程射频(RF)收发器和/或询问器64,因而可以依照RF技术与电子设备共享数据和/或从电子设备获取数据。移动终端可包括其他的短程收发器, 举例而言,比如红外(IR)收发器66、使用由Bluetooth 特别兴趣组开发的Bluetooth 品牌无线技术的Bluet00thTM(BT)收发器68、无线通用串行总线(USB)收发器70等。蓝牙收发器68可以能够根据超低功率蓝牙技术(例如,ffibree )无线电标准来进行操作。就此而言,移动终端10,具体而言短程收发器可以能够在移动终端的邻近范围内(例如,如10米以内的)向电子设备发送数据和/或从该电子设备接收数据。虽然并未示出,但移动终端可以能够根据包括无线保真(Wi-Fi)、比如IEEE 802. 11技术的WLAN技术之类,向电子设备发送数据和/或从电子设备接收数据。
移动终端10可以包括存储器,比如用户身份模块(SIM) 38、可移动用户身份模块 (R-UIM)等,其可以存储涉及移动订户的信息元素。除SIM之外,移动终端还可包括其他移动式和/或固定式存储器。移动终端10可包括易失性存储器40和/或非易失性存储器 42。举例而言,易失性存储器40可包括随机访问存储器(RAM),其包括动态的和/或静态的 RAM、片上缓存或片外缓存等。非易失性存储器42可以是嵌入式的和/或可移动的,其例如可以包括只读存储器、快闪存储器、磁存储设备(例如,硬盘、软盘驱动器、磁带等)、光盘驱动器和/或介质、非易失性随机访问存储器(NVRAM)等。与易失性存储器40相似,非易失性存储器42用于包括暂时存储数据的缓存区。存储器可以存储可由移动终端用于执行移动终端功能的一个或多个软件程序、指令、信息段、数据等。举例而言,存储器可包括能够唯一地标识移动终端10的标识符,比如国际移动设备识别(IMEI)码。
返回到图3,主机设备不限于实施为移动终端10,并且如前所述,可以实施为任何 (移动式或固定式)计算设备。各网络管理实体304可以包括如前所述那样配置的计算设备。在一个示例性实施方式中,各网络管理实体304可以进一步配置用于存储下述域名后缀信息,所述域名后缀信息指示出可通过在其上驻有特定网络管理实体304的网络访问的各种网络资源的可访问性,和/或指示出对应于存储的域名后缀的域名是否可由特定网络管理实体304解析。各网络管理实体304可以进一步配置用于向主机设备302提供存储的域名后缀信息。在某些实施方式中,各网络管理实体304可以配置用于响应于接收自主机设备302的针对域名后缀信息的请求,而向主机设备302提供存储的域名后缀信息。举例而言,网络管理实体304可以配置用于在DHCP选项中提供存储的域名后缀信息。在一个示例性实施方式中,DHCP选项可以是新定义的选项或者可以是可被扩展用于提供附加的域名后缀信息的现有选项。举例而言,为此目的,可以扩展针对DHCP/IP第4版的选项号119(域搜索选项)和/或扩展针对DHCP/IP第6版的选项号M (域搜索列表选项)。还可以在不做修改的情况下利用现有DHCP选项,举例而言,比如DHCP/IP第4版选项号119或者DHCP/ IP第6版选项号M,尽管现有选项可能不提供如新选项或扩展的选项所提供的那样多的信息。附加地或者备选地,网络管理实体304可以配置用于向主机设备302广播(比如定期地)存储的域名后缀信息。
再次参考主机设备302,主机设备302可以包括用于执行本文所述的各种功能的各种装置,比如处理器310、存储器312、通信接口 314、用户接口 316以及网络接口确定 (NID)单元318。如这里所述的主机设备302的这些装置例如可以实施为硬件元件(例如, 经适当编程的处理器、组合逻辑电路等)、实施于计算机可读介质(例如,存储器31 上的可由适当配置的处理设备(例如,处理器310)执行的计算机代码(例如,软件或固件),或者实施为其某些组合。处理器310例如可以实施为下面的各种装置,包括微处理器、协处理器、控制器或者各种其他处理元件,所述其他处理元件例如包括诸如ASIC(专用集成电路)或者FPGA(现场可编程门阵列)之类的集成电路。在一个示例性的实施方式中,处理器310可以配置用于执行存储于存储器312中或者除此之外可由处理器310访问的指令。 虽然在图3中将处理器310示为单个处理器,但其也可包括多个处理器。
存储器312可以包括例如易失性和/或非易失性存储器。存储器312可以配置用于存储信息、数据、应用、指令等,用以使主机设备302能够实现依照本发明的示例性实施方式的各种功能。举例而言,存储器312可以配置为对用于由处理器310处理的输入数据进行缓冲。附加地或备选地,存储器312可以配置为对用于由处理器310执行的指令进行存储。存储器312可以包括以静态和/或动态信息的形式存储信息的一个或多个数据库。 就此而言,存储器312例如可以存储域名后缀信息、关于可用网络接口的数据、与域名后缀条目和/或网络接口相关的优先级等。在一个示例性实施方式中,存储器312可包括长期存储器和/或短期缓存。可将数据暂时载入短期缓存,以在需要时用于快速访问。这种存储的信息可在NID单元318执行其功能性的过程中由其存储和/或使用。
通信接口 314可以实施为任何实施于硬件、软件、固件或者其组合之中的被配置用于从远程设备接收数据和/或向远程设备发送数据的设备或装置,例如通过网络向网络管理实体304发送和从其接收数据。就此而言,通信接口 314可包括一个或多个网络接口。 在一个实施方式中,通信接口 314可以至少部分地实施为处理器310或者由处理器310控制。通信接口 314可以例如包括天线、发射器、接收器、收发器和/或支持硬件或软件,用以实现与系统300的其他实体的通信。通信接口 314可以配置为使用可以用于在系统300的计算设备之间的通信的任何协议来接收和/或发送数据。通信接口 314此外可以比如经由总线与存储器312、用户接口 316和/或NID单元318进行通信。
用户接口 316可以与处理器310通信,以接收用户输入的指示和/或向用户提供可听的、视频、机械的或者其他的输出。因此,用户接口 316可以例如包括键盘、鼠标、操纵杆、显示器、触摸屏显示器、麦克风、扬声器和/或其他输入/输出机构。然而,在一个其中将主机设备302实施为服务器的实施方式中,可以减少或者甚至去除用户接口的元件。用户接口 316可以进一步比如经由总线而与存储器312、通信接口 316和/或NID单元318进行通信。
NID单元318可以实施为各种装置,比如硬件、软件、固件或者其某些组合;并且在一个实施方式中,可以实施为处理器310或者由处理器310控制。在其中将NID单元318 与处理器310分开实施的实施方式中,NID单元318可以与处理器310通信。NID单元318 可以配置用于维护比如可以存储在存储器312中的域名后缀信息。维护的域名后缀信息也可以存储于远离主机设备302之处,比如存储在远程网络设备的存储器中。维护的域名后缀信息可包括多个域名后缀条目。各域名后缀条目可包括域名后缀并且可以指示出与该域名后缀对应的域名通过网络接口的可访问性。就此而言,各域名后缀条目可关联于特定的网络接口,并且可以指示出可通过该网络接口访问的网络管理实体304是否可以解析与该域名后缀条目的域名后缀对应的域名和/或对应于该域名后缀的域名通过该网络接口的可访问性。域名后缀条目中的域名后缀可以隐式地指示出对应于该域名后缀的域名的可访问性,因为条目的存在指示出可通过其访问该域名后缀的网络接口。举例而言,包含与某一网络接口相关联的域名后缀“*. *”的域名后缀条目可指示出网络管理实体304所知道的所有域名都可以经由该网络接口解析和/或访问。在另一示例中,包含与某一网络接口相关联的域名后缀“*. corporation, com”的域名后缀条目可指示出网络管理实体304所知道的所有以“.corporation, com”结尾的域名都可以经由该网络接口解析和/或访问。附加地或者备选地,域名后缀条目可以显式地指示出对应于域名后缀的域名的可访问性。就此而言,各域名后缀条目可包括相关的可访问性信息。举例而言,可访问性信息可以指示出与相关域名后缀对应的域名可通过网络接口访问、不可通过该网络接口访问、该网络接口优选用于访问与该域名后缀对应的域名的优选等级(例如,优先级),等等。维护的域名后缀信息例如可以存储在数据库中。然而,应当明白,其他存储结构也是可以的,并且因此当在本文中使用到“域名后缀数据库”时,其仅是为了举出一种用于维护域名后缀信息的存储和组织方法的例子。
NID单元318可以配置用于接收与网络接口相关的域名后缀信息,该域名后缀信息可包括一个或多个域名后缀。接收的域名后缀信息可以进一步包括与各域名后缀相关的可访问性信息。该域名后缀信息可以从各种源接收,例如包括从网络管理实体304、通过主机设备302的用户的静态录入、通过专用网络接入装置(例如,用于蜂窝网络接口的第三代合作伙伴计划载体激活信令标准)、通过与其他计算设备的点对点通信、通过运营商提供、从统一集成电路卡、在电子邮件中、在短消息服务消息中,等等。NID单元318可以响应于由NID单元318发送至网络管理实体304的请求而从网络管理实体304接收域名后缀信息。该请求可以例如包括针对DHCP选项的请求。接收的域名后缀信息可以包含在DHCP选项之中,举例而言,该DHCP选项比如为域名搜索选项或者域名搜索列表选项。NID单元318 可以配置为定期地从网络管理实体304请求域名后缀信息。在某些实施方式中,NID单元318可以配置成当特定网络接口被添加至主机设备302上和/或在主机设备302上激活网络接口时,从关联于该网络接口的网络管理实体304请求域名后缀信息。NID单元318可以附加地或者备选地配置为在网络管理实体304广播或者广告域名后缀信息时,从网络管理实体304接收该域名后缀信息。
NID单元318可以配置用于以接收的域名后缀信息更新域名后缀数据库。就此而言,针对从网络管理实体304接收的各域名后缀及相关的可访问性信息,可将NID单元318 配置用于确定是否存在针对所述接收的域名后缀的现有条目。如果不存在针对所述接收的域名后缀的现有条目,则NID单元318可以配置成添加包含针对接收的域名后缀以及任何相关的可访问性信息的新条目。然而,如果存在针对接收的域名后缀的一个或多个现有条目,则NID单元318可以进一步确定是否存在针对接收的域名后缀的与通过其接收到所述接收的域名后缀的网络接口对应的现有条目。如果存在这样的现有条目,则NID单元318 可以更新该现有条目。然而,如果不存在这样的现有条目并且因而针对接收的域名后缀的所有现有条目均对应于其他网络接口,则NID单元318可以向域名后缀数据库添加包含接收的域名后缀及任何相关的可访问性信息的新条目。NID单元318可以进一步配置成通过将某一优先级与每个条目关联,针对接收的域名后缀对所有条目划分优先顺序。优先级可以指示出特定网络接口用于访问对应于域名后缀的域名的优选程度。
在一个示例性实施方式中,NID单元318可以配置用于接收对域名进行解析的请求。该请求可接收自实施于主机设备302上且可由处理器310执行的应用。举例而言,当用户向web浏览器的导航栏中输入域名时,可由web浏览器应用来生成请求。NID单元318 可以配置用于针对与该域名对应的一个或多个域名后缀条目而搜索域名后缀数据库。NID 单元318可以进一步配置成至少部分地基于同每个确定的域名后缀条目相关的可访问性信息,而确定通过其可访问所述域名的一个或多个网络接口,和/或确定通过其可以访问能够解析所述域名的网络管理实体304的网络接口。
NID单元318可以配置为从一个或多个确定的网络接口中选择网络接口用于将域名解析为网络地址。如果仅有一个确定的网络接口(例如,仅有一个域名后缀条目,其具有指示域名是可访问的相关的可访问性信息),则NID单元318可以相应地选择该网络接口。 然而,如果有多个确定的网络接口,则NID单元318可以配置为在它们中进行选择。可用于筛选确定的网络接口的一个准则是,确定哪些确定的网络接口是可用的。就此而言,可用网络接口不需要在当前为打开的或者为活跃的,但对应于该网络接口的网络接入必须可以在当前访问,使得所述网络接口可以被打开和使用。因此,与超出范围的网络接入点对应的网络接口可能不是可用的网络接口。NID单元318可以进一步配置为对确定的网络接口进行筛选以通过各种策略来选择网络接口,所述策略例如为最近使用的网络接口、默认网络接口、对当前打开的网络接口的优选、预定的网络接口优选或优先层次等。
在一个示例性实施方式中,NID单元318可以配置为至少部分地基于同相应的域名后缀条目和/或相应的网络接口关联的优选级或优先级而从一个或多个确定的网络接口中选择网络接口。优先级可以包括对于下列诸项的指示与网络接口关联的信任级别、 网络接口的速度、网络接口的使用成本、在域名后缀条目中指示的可访问性等级等。举例而言,与域名后缀关联的可访问性信息可以指示出某个网络接口特别适合用于访问对应于某个后缀的域名。因此,NID单元318可以配置用于针对对应的域名来对该网络接口给出优先级。信任级别可以是基于网络接口的安全程度的优先化中的一个因素。举例而言,比起未知的WLAN网络接口,VPN网络接口可能更加受到信任,并因而可具有基于信任的更高相关优先级。然而,某些WLAN(例如,密码保护WLAN、雇主控制的WLAN等)可能是已知的并且被指定为可信网络接口。速度和成本也可能是优先级中的因素。举例而言,相比于蜂窝网络接口,WLAN网络接口可能具有更快的数据传输率并且提供更低的每单位访问时间和/或每单位数据传输成本,并因此可以具有基于速度和成本的更高相关优先级。
在某些实施方式中,NID单元318可以配置为仅当在默认网络接口上或者在优选网络接口上的域名解析失败的情况下,才如上所述那样选择网络接口。此外,在另一场景中,如果OTD单元318未在域名后缀数据库中确定与针对其而接收到解析请求的域名相对应的任何域名后缀条目,则NID单元318可以配置为选择默认网络接口或者通过内部默认优先顺序层次来选择网络接口,该内部默认优先顺序层次可通过上述任何优先级优选(例如,信任、速度、成本等)来定义。
NID单元318可以配置为例如当在接收到针对连接到网络地址的请求时执行反向域名查找。NID单元318可以配置用于在比如可以存储在存储器312中的DNS缓存中为主机设备302搜索该网络地址。如果NID单元318在DNS缓存中找到该网络地址,则NID单元318可以确定对应的域名,并接着可以根据任何上文所讨论的方法来针对对应的域名后缀而搜索域名后缀数据库并且选择适当的网络接口。
在一个示例性实施方式中,NID单元318可以配置为通过移除陈旧的域名后缀条目而对域名后缀数据库进行更新。例如,可以根据各种准则来清除条目,所述各种准则可以反映或否则近似数据库条目的有效性或可信任性。举例而言,在主机设备302重启时可以清除域名后缀条目。在预定时段后可以删除域名后缀条目。NID单元318可以配置用于删除用于对应域名的解析和/或由对应域名寻址的网络资源的访问失败的网络接口的域名后缀条目。在又一示例中,NID单元318可以配置用于在同一网络管理实体304不广告特定的域名后缀时,移除先前从该网络管理实体304接收到的域名后缀条目。就此而言,NID 单元318例如可以假定所述网络管理实体304不再提供对与该域名后缀对应的域名的访问或者对其进行解析的能力。
各网络管理实体304可以包括各种装置,比如处理器320、存储器322、通信接口 3M和域名后缀信息提供(DNSIP)单元318,用于执行本文所述的各种功能。网络管理实体 304的如本文所述的这些装置例如可以实施为硬件元件(例如,适当编程的处理器、组合逻辑电路等)、实施于计算机可读介质(例如存储器32 上且可由适当配置的处理设备(例如,处理器320)执行的计算机代码(例如,软件或固件),或者其某些组合。处理器320例如可以实施为包括微处理器、协处理器、控制器或者各种其他处理元件在内的各种装置,所述各种其他处理元件举例而言包括诸如ASIC(专用集成电路)或FPGA(现场可编程门阵列)之类的集成电路。在一个示例性实施方式中,处理器320可以配置用于执行存储于存储器322中的或者除此之外可由处理器320访问的指令。尽管处理器320在图3中被示为单个处理器,但其可以包括多个处理器,比如多处理器系统。所述多个处理器可以实施于单个计算设备中,或者可以分布在多个计算设备之间,举例而言,比如服务器集群或者刀片服务器机架。
存储器322可以包括例如易失性和/或非易失性存储器。存储器322可以配置用于存储信息、数据、应用、指令等,用以使网络管理实体304能够执行依照本发明的示例性实施方式的各种功能。举例而言,存储器322可以配置为对用于由处理器320处理的输入数据进行缓冲。附加地或备选地,存储器322可以配置为对用于由处理器320执行的指令进行存储。存储器322可以包括以静态和/或动态信息的形式存储信息的一个或多个数据库。就此而言,存储器322可以存储例如域名后缀信息。这种存储的信息可由DNSIP单元 326在其执行其功能性的期间存储和/或使用。
通信接口 3M可以实施为任何实施在硬件、软件、固件或者其组合中、被配置用于向远程设备发送和/或从远程设备接收数据的设备,例如通过网络向主机设备302发送和/ 或从主机设备302接收数据。在一个实施方式中,通信接口 3M可以至少部分地实施为处理器320或者除此之外由处理器320控制。通信接口 3 可以包括例如天线、发射器、接收器、收发器和/或支持硬件或软件,用以实现与系统300的其他实体的通信。通信接口 3M 可以配置为使用可用于系统300的计算设备之间的通信的任何协议来接收和/或发送数据。通信接口 3M此外可以比如经由总线与存储器322和/或DNSIP单元3 通信。
DNSIP单元3 可以实施为各种装置,比如硬件、软件、固件或者其某些组合,并且在一个实施方式中,可以实施为处理器320或者除此之外由处理器320控制。在其中将 DNSIP单元3 与处理器320分开实施的实施方式中,DNSIP单元3 可以与处理器320通信。DNSIP单元3 可以配置用于确定、接收和/或存储域名后缀信息,所述域名后缀信息指示出可由网络管理实体304解析的和/或可通过在其上驻留网络管理实体304的网络接口访问的域名。就此而言,DNSIP单元3 可以配置用于实现归于网络管理实体304的任何功能性。因此,DNSIP单元3 可以配置用于接收来自系统300的计算设备(比如主机设备302)的针对域名后缀信息的请求、访问存储于存储器322中的域名后缀信息,并且可以响应于对该请求的接收而向请求的设备提供域名后缀信息。举例而言,DNSIP单元326 可以配置用于接收DHCP选项请求并且可以在DHCP选项响应中(例如,比如域名搜索选项或域名搜索列表选项)向请求的设备提供域名后缀信息。附加地或备选地,DNSIP单元326 可以配置用于比如定期地向主机设备302广播存储的域名后缀信息。
图5至图11是根据本发明的示例性实施方式的系统、方法和计算机程序产品的流程图。应当理解,流程图的各块或步骤以及流程图中块的组合可以由诸如包括一个或多个计算机程序指令的硬件、固件和/或软件之类的各种装置来实现。举例而言,一个或多个上述过程可以由计算机程序指令体现。就此而言,体现上述过程的计算机程序指令可以由移动终端、服务器或者其他计算设备的存储设备来存储并且由计算设备中的处理器来执行。 在某些实施方式中,体现上述过程的计算机程序指令可以由多个计算设备的存储器设备来存储。如将理解到,任何此类的计算机程序指令可以被加载至计算机或者其他可编程设备上以制造一种机器,使得在计算机或其他可编程设备上执行的指令创建用于实现指定于流程图块或步骤中的功能的装置。这些计算机程序指令还可以存储在可以弓I导计算机或者其他可编程设备以特定方式发挥功能的计算机可读存储器中,使得存储于该计算机可读存储器中的指令产生制造项目,该制造项目包括实现指定于流程图块或步骤中的功能的指令装置。该计算机程序指令还可以加载至计算机或其他可编程设备上从而导致一系列操作步骤在所述计算机或其他可编程设备上执行,以产生计算机实现的过程,使得执行于所述计算机或其他可编程设备上的指令提供用于实现指定于流程图块或步骤中的功能的步骤。
相应地,流程图的块或者步骤支持用于执行指定功能的装置的组合、用于执行指定功能的步骤与用于执行指定功能的程序指令装置的组合。还应当理解,流程图的一个或多个块或者步骤,以及流程图中块或步骤的组合,可以通过基于专用硬件的计算机系统来实现,所述计算机系统执行指定的功能或步骤,或者由专用硬件和计算机指令的组合来实现。
就此而言,在图5中示出了根据本发明的一个示例性实施方式的、用于对如可以存储在短期存储器(例如,短期缓存)中的存储的域名后缀信息进行更新的一种示例性方法。该方法可以包括NID单元318在操作510处打开第一网络接口。操作520可以包括 NID单元318从可通过网络接口访问的一个或多个DHCP服务器(例如,网络管理实体304) 请求DHCP搜索列表选项。操作530可以包括NID单元318通过对可存储于存储器312中的域名后缀数据库进行搜索而检查接收的域名后缀是否存在于该域名后缀数据库中。在操作540处,基于该搜索,NID单元318可以确定是否存在与接收的后缀对应的现有后缀。如果存在,则在操作550处,NID单元318可以划分新的和旧的后缀的优先顺序,并向域名后缀数据库添加新的域名后缀条目。如果不存在,则在操作560处,NID单元318可以向域名后缀数据库添加新的域名后缀。操作570可以包括NID单元318等待网络接口事件(例如, 打开接口、关闭接口等)。如果网络接口是打开的,则该方法可返回至操作520。然而,如果打开的网络接口被关闭,则在某些实施方式中,该方法可以包括NID单元318在操作580处可选地从数据库中移除与关闭的接口相关的域名后缀。在这样的实施方式中,操作580可以提供确保域名后缀数据库包括针对各网络接口的新的、有效的条目。然而,在其他实施方式中,操作580可以包括NID单元318仅从包含域名后缀数据库的条目的子集的短期缓存中移除与所述网络接口相关的域名后缀条目。该缓存可以仅包括针对当前打开的网络接口的条目,并且因而当在域名后缀数据库中查找域名以确定对应的域名后缀时,可以减少存储器使用和搜索时间。
图6示出了依据根据本发明的一个示例性实施方式的、用于确定用来访问网络资源的网络接口的示例性方法的流程图。该方法可以包括,在操作600处,NID单元318接收针对完全合格域名(FQDN)的DNS解析请求。操作605可以包括NID单元318针对与该 FQDN对应的域名后缀条目而搜索域名后缀数据库。在操作610处,NID单元318可以确定是否找到对应的后缀,并且如果找到的话,可以确定可以通过其访问所述域名的一个或多个网络接口。
如果未找到对应的域名后缀条目,则NID单元可在操作615处选择具有最高默认优先顺序的剩余可用网络接口。操作620可以包括NID单元318通过所选择的网络接口向网络管理实体304发送DNS查询。操作625可以包括NID单元318确定是否接收到成功的 (例如,非错误)响应。如果接收到,则NID单元318在操作630处存储(例如,在存储于存储器312中的DNS缓存中)关于从其接收到该响应的网络接口的信息,从而当主机设备302 在之后连接至解析的地址时,NID单元318可以选择正确的源地址和网络接口。操作635可以包括NID单元318向请求方返回解析的IP地址。如果在操作625处未接收到成功的响应,则操作640可以包括NID单元318确定是否存在尚未通过其发送DNS查询的剩余接口, 如果存在,则返回操作615。如果已经用尽了所有可用网络接口却没有接收到成功的响应, 则NID单元318可以在操作645处向请求方返回失败消息。
另一方面,如果在操作610处找到了对应的域名后缀条目,则操作650可以包括 NID单元318向DNS服务器发送对可通过其访问域名的最高优先级网络接口的查询。操作 655可以包括NID单元确定是否接收到成功的响应。如果接收到,则NID单元可以如上所述地执行操作630和操作650。如果未接收到,则NID单元在操作660处确定是否存在对应于FQDN的具有相关网络接口的域名后缀条目尚未尝试。如果存在,则该方法可以返回操作650,其中可通过下一最高优先级接口发送查询。如果不存在,则该方法可以前进至操作 615,并且如上所述地开始以选择具有最高默认优先级的剩余网络接口。如果已经用尽了所有的可用网络接口却未接收到成功的响应,则NID单元318可以在操作645处向请求方返回失败消息。
图7示出了依据根据本发明的一个示例性实施方式的、用于在打开的网络接口 (比如可能已在图6的方法中尝试的网络接口)已经失败之后,确定用来访问网络资源的网络接口的一个示例性方法的流程图。在这样的实施方式中,在图6的方法中被搜索的域名后缀数据库可包括短期缓存,该短期缓存仅包含针对当前打开的接口的域名后缀条目。因此,操作710可以包括NID单元318对存储于长期存储器(比如存储器312)中的域名后缀数据库进行搜索,该数据库可包括与当前未打开的网络接口相关联的域名后缀条目。操作 720可以包括NID单元318确定是否找到对应的域名后缀条目,并且如果找到,则确定可通过其访问域名的一个或多个网络接口。如果未找到对应的域名后缀条目,则NID单元318 在操作730处可返回错误。如果找到了对应的条目,则操作740可以包括NID单元318确定是否有任何与关联于找到的域名后缀的网络接口对应的网络可用。如果有,则NID单元 318可以在操作750处打开与可用网络对应的新的网络接口。操作760可以包括NID单元 318向新打开的网络接口的DNS服务器发送针对FQDN的解析的DNS查询。操作770可以包括NID单元318确定是否接收到成功的响应。如果接收到,则NID单元318可以在操作780 处向请求方返回接收的IP地址。如果未接收到成功的响应,则该方法可以返回操作740,其中NID单元318可以确定是否有剩余的网络接口可用。
图8示出了依据根据本发明的一个示例性实施方式的、用于对比如可存储于长期存储器中的存储的域名后缀信息进行更新的一个示例性方法的流程图。该方法可以包括在操作800处标识新的网络接口。就此而言,可以例如通过动态地找到新的网络接入、提供新的网络接入(例如,由网络运营商提供)或者通过由主机设备302的用户进行的手工配置来标识新的网络接口。操作810可以包括NID单元318在长期存储器中(比如存储器312 中)存储用于使用网络接口的任何静态配置信息。该配置信息能够以优先顺序存储。操作 820可以包括NID单元318打开新的网络接口。在操作830处,NID单元318可以在网络接口的激活过程中接收域名后缀信息,并且可以相应地在域名后缀数据库中存储所述接收的信息。操作840可以包括NID单元318通过所述网络接口向网络管理实体304(比如DHCP 服务器)发送DHCP搜索列表选项请求,以便请求针对该网络接口的域名后缀信息。操作 850可以包括NID单元318接收域名后缀信息并将接收的信息存储在域名后缀数据库中。 在操作860处,NID单元318可以接着可选地确定当前是否需要网络接口。如果当前需要该网络接口,则可以在操作870处使用该网络接口,但如果当前不需要该网络接口,则在操作880处,NID单元318可以关闭该网络接口。
图9示出了依据根据本发明的一个示例性实施方式的、用于使用反向域名查找来确定用来访问网络资源的网络接口的一个示例性方法的流程图。该方法可以包括在操作 900处接收针对网络地址(比如IP地址)的连接请求。操作910可以包括NID单元318在可存储于存储器312中的主机设备的DNS缓存中执行针对该IP地址的反向查找,以确定对应于该IP地址的FQDN。操作920可以包括NID单元318确定反向查找是否成功确定了与所述IP地址对应的FQDN。如果反向查找成功,则NID单元318在操作930处可以针对对应于该FQDN的域名后缀条目而对域名后缀数据库进行搜索,并且确定可通过其访问所请求的IP地址的网络接口。操作940可以包括NID单元318确定是否找到任何对应的域名后缀条目。如果找到了对应的域名后缀条目,则NID单元318在操作950处可以选择最高优先级域名后缀条目并且打开对应的网络接口。可以针对每个域名后缀条目以优先级顺序重复操作950,直至实现成功连接。如果未找到对应的域名条目,则NID单元在操作960处可以根据主机102的任何配置的或默认的优先级策略来选择最高优先级的网络接口。
另一方面,如果在操作920处NID单元确定了 DNS反向查找是不成功的,则NID单元318在操作970处可以比如根据主机102的默认优先级策略来选择网络接口,并向所选网络接口的DNS服务器发送反向DNS查询。可以重复操作970,直至接收到对反向DNS查询的成功响应(或者直至用尽所有可用的网络接口)。操作980可以包括NID单元318确定是否从任何网络接口接收到成功的响应。如果接收到了成功的响应,则该方法可以前进至操作930处。如果未接收到成功的响应,则该方法可以前进至操作960处,其中可以通过根据主机102的任何配置的或默认的优选级策略选择的网络接口来尝试到IP地址的连接。
图10示出了依据根据本发明的一个示例性实施方式的、用于确定用来访问网络资源的网络接口的一个示例性方法的流程图。该方法可以包括NID单元318在操作1000 处接收针对域名解析的请求。操作1010可以包括NID单元318维护域名后缀信息。维护的域名后缀信息可以包括域名后缀数据库并且可以包括多个域名后缀条目。各域名后缀条目可包括域名后缀并且可以指示出与该域名后缀对应的域名通过网络接口的可访问性。维护的域名后缀信息可以本地存储于主机设备302(比如在存储器312中),或者可以存储在远程设备的存储器中。在操作1020处,NID单元318可以接着针对与所述域名对应的一个或多个域名后缀条目而对维护的域名后缀信息进行搜索,以确定可通过其访问该域名的一个或多个网络接口。操作1030可以包括NID单元318从一个或多个确定的网络接口中选择用于将所述域名解析为网络地址的网络接口。
图11示出了依据根据本发明的一个示例性实施方式的、用于获取和更新存储的域名后缀信息的一个示例性方法的流程图。该方法可以包括NID单元318在操作1100处维护域名后缀信息。维护的域名后缀信息可包括多个域名后缀条目,并且各域名后缀条目可包括域名后缀并且指示出与该域名后缀对应的域名通过网络接口的可访问性。操作1110 可以包括NID单元318向网络管理实体304发送针对域名后缀信息的请求。在操作1120 处,NID单元318可以继而接收来自所述网络管理实体304的域名后缀信息。操作1130可以包括NID单元318至少部分地基于接收的域名后缀信息来更新维护的域名后缀信息。
上述功能能够以诸多方式实现。举例而言,可以采用用于实现每个上述每个功能的任何适当手段来实现本发明的实施方式。在一个实施方式中,一个适当配置的处理器可以提供本发明的所有的或者部分的元件。在另一实施方式中,本发明的所有的或者部分的元件可以由计算机程序产品来配置并且根据计算机程序产品的控制而操作。用于执行本发明的实施方式的方法的计算机程序产品包括计算机可读存储介质(比如非易失性存储介质),以及体现在所述计算机可读存储介质中的计算机可读程序代码部分(比如一系列计算机指令)。
这样则本发明的某些实施方式可以向计算设备(比如移动终端10)的用户提供若干优势。本发明的实施方式可以提供对域名后缀信息的维护,所述域名后缀信息可以指示出什么域名可通过网络接口访问和/或解析、那些域名无法通过网络接口解析和/或网络接口优选用于访问和/或解析域名的优选等级。因此,可以选择适当的域名接口用于解析域名并连接至相关的网络地址。适当网络地址的选择可以导致更少的错误,这些错误将产生于试图通过域名无法通过其解析的网络接口来解析该域名。因此,主机设备的用户,比如 web浏览器的用户,可以受益于更少的体验到由对域名进行解析的失败尝试造成的连接错误。此外,在某些实施方式中,可以根据限定的优先级来选择网络接口,该优先级可在选择网络接口时将可用网络接口的信任级别、速度和/或成本考虑在内。因此,最终用户可以受益于选择安全和/或高效网络接口的实施方式。
本发明所涉及领域的技术人员将会想到这里所陈述的本发明的许多修改和其他实施方式,而所涉及领域的技术人员具有上述描述和相关附图所给出的教导的益处。因此, 应当理解,本发明的实施方式并不限于所公开的具体实施方式
,并且意欲将修改和其他实施方式包括在所附权利要求的范围内。此外,虽然前文描述和相关附图以元件和/或功能的某些示例性组合为背景而描述了示例性实施方式,但应当明白,可以由备选实施方式来提供元件和/或功能的不同组合,而不背离随附权利要求的范围。就此而言,例如,还设想到了如可能在某些随附权利要求中阐述的与以上所明确描述的不同的元件和/或功能组合。虽然这里采用了特定的术语,但这些术语仅以通用的和描述性的意义来使用,并且不是为了限制性的目的。
权利要求
1.一种方法,包括接收针对域名解析的请求;访问维护的域名后缀信息,其中所述维护的域名后缀信息包括多个域名后缀条目,各域名后缀条目包括域名后缀并且指示出与所述域名后缀对应的域名通过网络接口的可访问性;针对与所述域名对应的一个或多个域名后缀条目而搜索所述维护的域名后缀信息,以确定可通过其访问所述域名的一个或多个网络接口 ;以及从所述一个或多个确定的网络接口中选择用于将所述域名解析为网络地址的网络接
2.根据权利要求1所述的方法,进一步包括接收域名后缀;以及更新所述维护的域名后缀信息。
3.根据权利要求2所述的方法,其中接收域名后缀包括通过网络接口从网络管理实体接收所述域名后缀。
4.根据权利要求2所述的方法,其中更新所述维护的域名后缀信息包括向包含所述接收的域名后缀的所述维护的域名后缀信息添加新的条目;确定是否存在针对所述接收的域名后缀的现有条目;以及如果存在针对所述接收的域名后缀的现有条目,则通过将第一优先级与所述现有条目相关联并且将第二优先级与所述新的条目相关联,划分所述现有条目和所述新的条目的优先顺序。
5.根据权利要求2所述的方法,其中接收域名后缀包括向网络管理实体发送针对包含域名后缀信息的选项的动态主机配置协议请求;以及从所述网络管理实体接收动态主机配置协议选项响应,所述响应包括域名后缀并且指示出与所述域名后缀对应的域名通过网络接口的可访问性。
6.根据权利要求1所述的方法,其中域名后缀条目指示出以下的一个或多个与所述域名后缀对应的域名可通过网络接口访问,与所述域名后缀对应的域名不可通过所述网络接口访问,或者所述网络接口优选用于访问与所述域名后缀对应的域名的优选等级。
7.根据权利要求1所述的方法,其中选择网络接口进一步包括至少部分地基于与所述确定的一个或多个网络接口中的一个或多个网络接口相关联的优先级来选择网络接口。
8.根据权利要求7所述的方法,其中所述优先级包括对下述各项中的一个或多个的指示与网络接口关联的信任级别、网络接口的速度或者使用网络接口的成本。
9.根据权利要求1所述的方法,进一步包括确定选择的网络接口是否打开;以及如果所述选择的网络接口没有被打开,则打开所述选择的网络接口。
10.根据权利要求1所述的方法,其中访问维护的域名后缀信息进一步包括访问存储于存储器中的维护的域名后缀信息。
11.一种计算机程序产品,该计算机程序产品包括至少一个计算机可读存储介质,该计算机可读存储介质具有存储于其中的计算机可读程序指令,所述计算机可读程序指令包括用于接收针对域名解析的请求的程序指令;用于访问维护的域名后缀信息的程序指令,其中所述维护的域名后缀信息包括多个域名后缀条目,各域名后缀条目包括域名后缀并且指示出与所述域名后缀对应的域名通过网络接口的可访问性;用于针对与所述域名对应的一个或多个域名后缀条目而对所述维护的域名后缀信息进行搜索以确定可通过其访问所述域名的一个或多个网络接口的程序指令;以及用于从所述一个或多个确定的网络接口中选择用于将所述域名解析为网络地址的网络接口的程序指令。
12.根据权利要求11所述的计算机程序产品,进一步包括用于接收域名后缀的程序指令;以及用于更新所述维护的域名后缀信息的程序指令。
13.根据权利要求12所述的计算机程序产品,其中所述用于接收域名后缀的程序指令包括用于通过网络接口从网络管理实体接收域名后缀以及相关的可访问性信息的指令。
14.根据权利要求12所述的计算机程序产品,其中所述用于更新所述维护的域名后缀信息的程序指令包括用于如下的指令向包含所述接收的域名后缀的所述维护的域名后缀信息添加新的条目;确定是否存在针对所述接收的域名后缀的现有条目;以及如果存在针对所述接收的域名后缀的现有条目,则通过将第一优先级与所述现有条目相关联并且将第二优先级与所述新的条目相关联而划分所述现有条目和所述新的条目的优先顺序。
15.根据权利要求12所述的计算机程序产品,其中所述用于接收域名后缀的程序指令包括用于向网络管理实体发送针对包含域名后缀信息的选项的动态主机配置协议请求的程序指令;以及用于从所述网络管理实体接收动态主机配置协议选项响应的程序指令,所述响应包括域名后缀并且指示出与所述域名后缀对应的域名通过网络接口的可访问性。
16.根据权利要求11所述的计算机程序产品,其中域名后缀条目指示出以下的一个或多个与所述域名后缀对应的域名可通过网络接口访问,与所述域名后缀对应的域名不可通过所述网络接口访问,或者所述网络接口优选用于访问与所述域名后缀对应的域名的优选等级。
17.根据权利要求11所述的计算机程序产品,其中所述用于选择网络接口的程序指令包括用于至少部分地基于与所述确定的一个或多个网络接口中的一个或多个网络接口相关联的优先级来选择网络接口的程序指令。
18.根据权利要求17所述的计算机程序产品,其中所述优先级包括对下述各项中的一个或多个的指示相关于网络接口的信任级别、网络接口的速度或者使用网络接口的成本。
19.根据权利要求11所述的计算机程序产品,进一步包括用于确定选择的网络接口是否被打开的程序指令;以及用于如果所述选择的网络接口没有被打开,则打开所述选择的网络接口的程序指令。
20.根据权利要求11所述的计算机程序产品,其中所述用于访问维护的域名后缀信息的程序指令包括用于访问存储于存储器中的维护的域名后缀信息的指令。
21.一种包括处理器的设备,该处理器配置用于接收针对域名解析的请求;访问维护的域名后缀信息,其中所述维护的域名后缀信息包括多个域名后缀条目,各域名后缀条目包括域名后缀并且指示出与所述域名后缀对应的域名通过网络接口的可访问性;针对与所述域名对应的一个或多个域名后缀条目而搜索所述维护的域名后缀信息,以确定可通过其访问所述域名的一个或多个网络接口 ;以及从所述一个或多个确定的网络接口中选择用于将所述域名解析为网络地址的网络接
22.根据权利要求21所述的设备,其中所述处理器进一步配置用于接收域名后缀;以及更新所述维护的域名后缀信息。
23.根据权利要求22所述的设备,其中所述处理器配置用于通过网络接口从网络管理实体接收域名后缀而接收所述域名后缀。
24.根据权利要求22所述的设备,其中所述处理器配置用于通过以下来更新所述维护的域名后缀信息向包含所述接收的域名后缀的所述维护的域名后缀信息添加新的条目;确定是否存在针对所述接收的域名后缀的现有条目;以及如果存在针对所述接收的域名后缀的现有条目,则通过将第一优先级与所述现有条目相关联并且将第二优先级与所述新的条目相关联,划分所述现有条目和所述新的条目的优先顺序。
25.根据权利要求22所述的设备,其中所述处理器配置用于通过以下来接收域名后向网络管理实体发送针对包含域名后缀信息的选项的动态主机配置协议请求;以及从所述网络管理实体接收动态主机配置协议选项响应,所述响应包括域名后缀并且指示出与所述域名后缀对应的域名通过网络接口的可访问性。
26.根据权利要求21所述的设备,其中域名后缀条目指示出以下的一个或多个与所述域名后缀对应的域名可通过网络接口访问,与所述域名后缀对应的域名不可通过所述网络接口访问,或者所述网络接口优选用于访问与所述域名后缀对应的域名的优选等级。
27.根据权利要求21所述的设备,其中所述处理器进一步配置用于至少部分地基于与所述确定的一个或多个网络接口相关联的优先级来选择网络接口而选择网络接口。
28.根据权利要求27所述的设备,其中所述优先级包括对下述各项中的一个或多个的指示与网络接口关联的信任级别、网络接口的速度或者使用网络接口的成本。
29.根据权利要求21所述的设备,其中所述处理器进一步配置用于确定选择的网络接口是否被打开;以及如果所述选择的网络接口没有被打开,则打开所述选择的网络接口。
30.根据权利要求21所述的设备,进一步包括存储器,其中所述处理器进一步配置用于通过访问存储于所述存储器中的维护的域名后缀信息而访问维护的域名后缀信息。
31.一种设备,包括用于接收针对域名解析的请求的装置;用于维护域名后缀信息的装置,其中所述维护的域名后缀信息包括多个域名后缀条目,各域名后缀条目包括域名后缀并且指示出与所述域名后缀对应的域名通过网络接口的可访问性;用于针对与所述域名对应的一个或多个域名后缀条目而搜索所述维护的域名后缀信息以确定可通过其访问所述域名的一个或多个网络接口的装置;以及用于从所述一个或多个确定的网络接口中选择用于将所述域名解析为网络地址的网络接口的装置。
32.一种方法,包括维护域名后缀信息,其中维护的域名后缀信息包括多个域名后缀条目,各域名后缀条目包括域名后缀并且指示出与所述域名后缀对应的域名通过网络接口的可访问性; 向网络管理实体发送针对域名后缀信息的请求; 从所述网络管理实体接收域名后缀信息;以及至少部分地基于接收的域名后缀信息来更新所述维护的域名后缀信息。
33.一种计算机程序产品,该计算机程序产品包括至少一个计算机可读存储介质,该计算机可读存储介质具有存储于其中的计算机可读程序指令,所述计算机可读程序指令包括用于维护域名后缀信息的程序指令,其中维护的域名后缀信息包括多个域名后缀条目,各域名后缀条目包括域名后缀并且指示出与所述域名后缀对应的域名通过网络接口的可访问性;用于向网络管理实体发送针对域名后缀信息的请求的程序指令;用于从所述网络管理实体接收域名后缀信息的程序指令;以及用于至少部分地基于接收的域名后缀信息来更新所述维护的域名后缀信息的程序指令。
34.一种包括处理器的设备,该处理器配置用于维护域名后缀信息,其中维护的域名后缀信息包括多个域名后缀条目,各域名后缀条目包括域名后缀并且指示出与所述域名后缀对应的域名通过网络接口的可访问性; 向网络管理实体发送针对域名后缀信息的请求; 从所述网络管理实体接收域名后缀信息;以及至少部分地基于接收的域名后缀信息来更新所述维护的域名后缀信息。
全文摘要
提供用于确定用来访问网络资源的网络接口的方法、设备和计算机程序产品。设备可包括处理器,该处理器配置用于接收针对域名解析的请求。处理器可进一步配置用于访问维护的域名后缀信息。维护的域名后缀信息可包括多个域名后缀条目。处理器另外可以配置用于针对与所述域名对应的一个或多个域名后缀条目而对维护的域名后缀信息进行搜索,以确定可通过其访问域名的一个或多个网络接口。处理器还可以配置用于从一个或多个确定的网络接口中选择用于将所述域名解析为网络地址的网络接口。
文档编号H04L29/06GK102187636SQ200880131592
公开日2011年9月14日 申请日期2008年10月15日 优先权日2008年10月15日
发明者T·I·萨沃莱南 申请人:诺基亚公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1