用于抢占式dns解析的系统和方法

文档序号:7915260阅读:255来源:国知局
专利名称:用于抢占式dns解析的系统和方法
技术领域
本公开总体上涉及通信网络领域,更具体地涉及通过抢占式(preemptive) DNS解析进行应用加速的系统和方法。
背景技术
无线通信系统也称为无线电接入网(RAN),为移动设备用户提供对高速大带宽核心IP网的无线接入。这些无线通信系统可以是能够通过共享可用系统资源(例如带宽和发射功率)来支持与多个移动设备进行通信的多址系统。这种多址系统的实例包括码分多址(CDMA)系统、时分多址(TDMA)系统、频分多址(FDMA)系统、正交频分多址(OFDMA)系统,包括WCDMA、HSPA和HSUPA的通用移动通信系统(UMTS),3GPP长期演进(LTE)系统和其它类型的无线通信系统。通常,IP网上的通信需要通信设备将计算机、服务器或其它网络设备的主机名和域名解析成相关联的IP地址,然后才能与这些设备建立连接。域名系统(DNS)服务器执行主机名解析服务。对于物理连接到核心IP网的设备而言,主机名解析是一般由因特网服务提供商(ISP)主持(host)的DNS服务器执行的较为快速和无缝的过程。然而,对于通过无线电接入网连接到IP网的移动设备,主机名解析会增加显著的通信延迟,其原因是带宽小,无线电链路传播等待时间长,分组差错率高导致数据重传,以及归因于无线通信环境的其它因素。因此,需要改善无线通信系统中的DNS解析流程。

发明内容
下面给出了在无线通信环境中通过抢占式DNS解析进行应用加速的机制的ー个或多个方面的简化摘要。该摘要不是所想到的所有方面的全面概述,既不是要确定本发明的重要或关键要素也不是要描绘其任何或所有方面的范围。其唯一目的是以ー种简化形式提供ー个或多个方面的ー些概念,作为稍后下文给出的更详细说明的前序。这里公开的是用于抢占式DNS解析的系统、方法和计算机程序产品的各个方面。该系统可以包括在无线电接入网(RAN)和核心IP网之间提供的DNS代理设备,用于为去往和来自连接到RAN的移动设备的通信提供抢占式域名解析。在ー个方面中,DNS代理可以由IP接入网关,例如I3DSN网关,主持。因为其直接物理连接到核心IP网,所以与移动设备相比,DNS代理设备到IP网的DNS服务器的接入时间要快得多。这使得DNS代理能够在向移动设备提供通信中的主机名和域名转换方面帮助移动设备,由此加快移动设备上运行的各种应用的操作。在ー个方面中,DNS代理检查在第一通信链路上向移动设备发送的数据分组。该代理识别被检查的数据分组中嵌入的ー个或多个主机设备名并解析与这ー个或多个嵌入的主机设备名相关联的IP地址。该代理设备在第二通信链路上向移动设备发送未加改变 的这些被检查的数据分组。与第一通信链路相比,第二通信链路可能具有更长的传播等待时间。该代理然后独立于被检查的数据分组,向所述移动设备发送所述ー个或多个主机设备名和相关联的解析出来的IP地址,供所述客户机设备用于建立到被检查的数据分组中标识的主机设备的连接。通过这种方式,在移动设备需要接入被检查的数据分组中标识的主机设备吋,已经有了主机设备的IP地址,移动设备无需在第二通信链路上重复IP地址解析过程。为了实现以上和相关目的,这ー个或多个方面包括下文充分描述并在权利要求中特别指出的特征。以下描述和附图详细阐述了这ー个或多个方面的某些示例性特征。不过,这些特征仅仅表示可以采用各方面原理的多种方式中的ー些,本说明书意在包括所有这样的方面及其等价要件。



在下文中将结合附图描述本发明公开的各方面,提供附图是为了例示而非限制所公开的方面,其中类似标号表示类似要素,并且其中图I说明利用这里公开的抢占式DNS解析机制各方面的无线通信系统。图2说明用于抢占式DNS解析的实例方法。图3说明用于抢占式DNS解析的另ー实例方法。图4说明实施这里公开的抢占式DNS解析机制各方面的实例DNS代理。图5说明实施这里公开的抢占式DNS解析机制各方面的实例系统。图6说明利用这里公开的抢占式DNS解析机制各方面的实例无线通信系统。
具体实施例方式现在參考附图描述无线通信环境中用于抢占式DNS解析的方法的各方面。不过应当指出,用于抢占式DNS解析的方法不限于无线通信环境,而是可以用于以客户机设备和广域IP网之间传播延迟长为特征并且抢占式DNS解析能够使客户机设备上运行的应用加快操作的任何通信网络中。进ー步应当指出,尽管“主机名”和“域名”这些术语之间存在细微的技术差异,但在这里以能够互换的方式使用这些术语。在下述说明中,出于解释的目的,阐述了很多具体的细节,以提供对ー个或多个方面的透彻的理解。不过显然可以无需这些具体细节来实践这种方面。如本公开中使用的,术语“部件”、“模块”、“系统”等意在包括与计算机相关的实体,例如,但不限于,硬件、固件,硬件和软件的组合,软件或执行中软件。例如,部件可以是,但不限于是,处理器上运行的过程,处理器、对象、可执行对象、执行的线程、程序和/或计算机。作为例示,运行于计算设备上的应用和计算设备都可以是部件。一个或多个部件可以位于过程和/或执行的线程之内,部件可以局限在一个计算机上和/或分布于两个或更多计算机中。此外,这些部件可以从其上存储有各种数据结构的各种计算机可读介质执行。这些部件可以借助本地和/或远程进程通过信号与其它系统进行通信,例如根据有着ー个或多个数据分组的这个信号,比如来自在本地系统、分布式系统中和/或跨网络(诸如因特网或其它类型的分组交换网)与另一部件交互的一个部件的数据。此外,可以使用标准编程和/或工程技术将这里描述的用于抢占式DNS解析的方法的各个方面或特征实现为方法、装置或制品。如同这里使用的一祥,术语“制品”意图包含可从任何计算机可读设备、载体或介质访问的计算机程序。例如,计算机可读介质可以包括但不限于磁存储设备(例如硬盘、软盘、磁条等)、光盘(例如压缩盘(CD)、数字多功能盘(DVD)等)、智能卡和快闪存储器设备(例如EPROM、卡、棒、键驱动器(key drive)等)。此夕卜,这里所述的各种存储介质可以表示用于存储信息的一种或多种设备和/或其它机器可读介质。术语“机器可读介质”可以包括但不限于无线信道和能够存储、包含和/或运载(carry)指令和/或数据的各种其它介质。将根据可以包括多个移动设备、部件、模块等的系统介绍无线通信环境中用于抢占式DNS解析的方法的各方面或特征。要理解和认识到,各个系统可以包括额外的设备、部件、模块等和/或可以不包括结合附图论述的所有设备、部件、模块等。也可以使用这些方式的组合。图I示出了无线通信系统的ー个方面,这个无线通信系 统包括ー个或多个移动设备105,ー个或多个无线电接入网(RAN) 110,象因特网这种核心IP网140,ー个或多个DNS服务器150,以及各种内容和应用服务器160,例如网络服务器、文件服务器、邮件服务器、多媒体服务器等。在ー个方面中,移动设备105可以是蜂窝电话、无绳电话、会话发起协议(SIP)电话、个人数字助理(PDA),具有无线连接能力的手持设备,膝上型计算机或连接到无线调制调解器的其它处理设备。移动设备105可以是能够接入几种不同无线电接入网110的多模式通信设备。移动设备105可以支持数据、语音和视频服务,包括宽带因特网服务,例如网络浏览、IP语音(VoIP)、IP-TV、多媒体流传输、文件下载和其它类型的服务。也可以将设备105称为用户単元、用户站、移动站、移动设备、远程站、远程終端、接入終端、用户终端、終端、无线通信设备、用户代理、用户装置或用户设备(UE)。在ー个方面中,无线电接入网110可以包括但不限于CDMA、TDMA、FDMA、OFDMA,SC-FDMA, TD-SCDMA和其它无线通信系统。在这里以能够互换的方式使用术语“系统”和“网絡”。CDMA系统可以实施诸如通用陆地无线电接入网(UTRAN)、cdma2000等无线电技术。UTRAN 包括宽带 CDMA (W-CDMA)和 CDMA 的其它变体。此外,cdma2000 覆盖 IS-2000、IS-95和IS-856标准。TDMA系统可以实施诸如全球移动通信系统(GSM)的无线电技术。OFDMA系统可以实施诸如演进的UTRAN (Ε-UTRAN)、超移动宽带(UMB)、IEEE 802.11 (Wi-Fi )、IEEE802. 16(WiMAX)、IEEE 802. 20、快闪-OFDM等无线电技术。UTRAN和E-UTRAN是通用移动通信体系(UMTS)的一部分。3GPP长期演进(LTE)是使用E-UTRAN的UMTS版本,它在下行链路上采用0FDMA,在上行链路上采用SC-FDMA。在来自名为“第三代合作伙伴计划”(3GPP)的组织的文献中描述了 UTRAN、E-UTRAN、UMTS、LTE和GSM。此外,在来自名为“第三代合作伙伴计划2”(3GPP2)的文献中描述了 cdma2000和UMB。此外,这种无线通信系统可以额外包括常常使用未配对未许可频谱的对等(例如移动到移动)自组织(ad hoc)网络系统,802.XX无线LAN,蓝牙和任何其它短距离或长距离无线通信技木。通常,RAN 110为移动设备105提供对分组交换核心网140,例如因特网的无线电接入。在ー个方面中,RAN 110可以包括一个或多个无线电基站150,无线电基站150具有多个天线组和/或发射机/接收机链,天线组和/或发射机/接收机链又可以包括与向移动设备105发射和从移动设备105接收无线电信号相关联的多个部件(例如,处理器、调制器、复用器、天线等(未示出))。RAN 110还包括RAN控制器120,RAN控制器120提供移动设备105和IP接入网关125之间的数据连接。控制器120的主要功能包括建立、维持和终止无线电链路流、无线电资源管理和移动性管理。无线电链路流可以包括但不限于无线电链路协议(RLP)流和无线电链路控制(RLC)流。每个无线电链路流可以包括由运行于移动设备105上的应用产生的多个IP数据流。对于每个无线电链路流,控制器120创建A10/A11承载(bearer)连接以运载从设备105到网关125的数据分组。IP接入网关125,也称为介质接入网关(MAG),是连接RAN 110和IP网140的服务器或路由器。在ー个方面中,网关125可以被实现为分组数据服务节点(PDSN)。通常,网关1125负责跟踪移动设备朝向和背离RAN 110的移动,汇聚来自RAN控制器120的数据业务并提供到服务器160的接入。如果RAN 110支持代理移动IPv6 (PMIP)协议,网关125还可以起到代理中介(proxy agent)的作用,用于朝向/来自移动设备105和服务160的移动IPv4和IPv6分组传输,信令和数据发射/接收。为了在移动设备105和服务160之间传输数据,网关140创建双向IP隧道并将来自控制器120的A10/A11承载连接运载的多个无线电链路流关联到所创建的IP隧道。在网关125从移动设备105接收数据分组时,它识别出分组所寻址的(addressed)服务器160以及关联的IP隧道;然后将接收到的分组封装在新的IP分组中并通过适当的IP隧道发送给服务器160。在通过IP隧道从服务器160收到数据分组吋,IP接入网关125对其解封装,识别出适当的无线电链路流和分组所寻址的移动设备105,井向移动设备105转发数据。如上所述,IP网140上的通信需要移动设备105将计算机、服务器或其它网络设备160的主机名和域名解析成相关联的IP地址,然后才能与这些设备建立起连接。为了这一目的,运行于移动设备105上的网络浏览器或其它应用可以包括DNS解析器部件(未示出),在应用请求连接到主机设备吋,DNS解析器部件尝试利用主机设备名解析主机设备的IP地址。例如,网络服务器160A的主机名可以是Webserver, qualcomm. com,对应的IP地址可以是208. 77. 188. 166。为了解析网络服务器160A的IP地址,DNS解析器首先搜索它自己的高速缓存,判断所请求的IP地址是否已经被转换并存储在高速缓存中。如果所请求的IP地址不在高速缓存中,DNS解析器就查询由RAN 110主持的本地DNS服务器(未示出)或各种远程DNS服务器150,直到这些DNS服务器向DNS解析器提供这个主机设备的IP地址信 息为止。一旦解析了网络服务器160A的IP地址,移动设备105就可以建立通过RAN 110和IP网140到网络服务器160A的IP流。作为响应,网络服务器160可以向移动设备105发送HTML文档,其中可以包含多个嵌入的域名或主机名或通往IP网140上其它资源的链接。例如,HTML文档可以包含文件服务器160B的主机名,文件服务器160B存储HTML文档中嵌入的各种图像。对于每个嵌入的主机名或域名,移动设备105必须重复DNS解析过程,以便取回(retrieve)由嵌入的主机或域名标识的资源。对于物理连接到IP网140的设备,DNS解析过程相对快速,因为在这些设备连接到的高速大带宽核心IP网140上的传播延迟短。例如,网络140可能是吉比特以太网、光学广域网(WAN)或其它高速网络。然而,对于通过RAN 110连接到网络140的移动设备105,因为无线电链路传播等待时间长,分组差错率高导致的数据重传,以及归因于RAN的其它因素,DNS解析过程会增加显著的通信延迟。为了针对连接到RAN 110的移动设备105加快DNS解析过程,可以在RAN 110和核心IP网140的边界处提供执行抢占式DNS解析的DNS代理130。在ー个方面中,DNS代理130可以被实现为IP接入网关125的软件部件。在另ー个方面中,代理130可以被实现为RAN 110的本地DNS服务器的软件部件。在另一方面中,代理130可以被实现为连接到RAN控制器120或IP接入网关125的独立设备。应当指出,还可以将DNS代理用于无线局域网(WLAN)(例如IEEE 802. 11标准中描述的网络)中,以向连接到WLAN的无线设备提供抢占式DNS解析。在这一方面中,可以将DNS代理实现为将WLAN连接到有线IP网的无线接入点(AP)的软件部件。还可以将DNS代理用于有线LAN (例如以太网)中。在这一方面中,可以将DNS代理实现为网络路由器、网桥、集线器或者将LAN与WAN连接的其它路由设备的软件部件。为了提供有效的抢占式DNS解析服务,DNS代理130可以充当网络代理,检查从IP网140向ー个或多个移动设备105发送的HTTP业务,看是否存在嵌入的域名和主机名。换言之,尽管从逻辑上讲,DNS代理执行应用层(0SI模型)处理,但实际的处理可以在IP层上逐个分组地完成(即,使得传输,TCP,以端到端的方式工作)。例如,HTTP允许压缩消息主 体,因此在压缩数据流中不能直接看到域名。与传统DNS代理对所截获的分组的数据有效载荷解压,找到并重写域名并重新压缩数据有效载荷不同。DNS代理130可以识别压缩数据并且无延迟或变化地将数据分组传递到移动设备105,保持TCP传输是端到端的,但同时可以对数据分组解压以识别其中嵌入的主机名和域名。通过这种方式,在IP层未加改变地转发数据流,并对这个数据流的拷贝执行抢占式DNS解析(在应用层处理)。如上所述,在分组检查过程期间,DNS代理130识别嵌入的主机名和域名。在ー个方面中,DNS代理103可以使用串模式匹配技术识别嵌入的主机名和域名。通常,主机名和域名是被“.”分隔的由[a-z]、
和〃-〃范围内的ASCII字符序列构成的串。此外,域名常常以“· com,,、“· org”、“. edu”或其它域标识符结束,并且可能包含“http”、“ftp”、“xml”或其它协议标识符。在协议消息中(甚至在ニ进制协议中),常常不进行任何编码来传输这些消息作为与字节界对齐的ASCII串。在这些假设之下,DNS代理130能够通过对IP分组的ニ进制有效载荷逐个八位位组地进行分析,将每个八位位组解释成ASCII字符并查找与主机名或域名字符模式匹配的ASCII字符串,来检测嵌入的主机名和域名。在或者因为DNS代理不理解应用层协议(例如HTTP),或者因为没有将它编程为这样做,使得业务性质未知的情况下,DNS代理仍然能够逐个分组地检查IP层(0SI模型中的网络层)的业务,并利用上述串模式匹配技术对主机名检测做出有根据的猜測。可以在TCP层(针对TCP业务)执行类似的处理。在这种情况下,DNS代理130会截获IP分组并将它们与给定的TCP流关联;重新组装这个流;并执行模式匹配。这种方法能够识别跨分组边界的主机名和域名。应当指出,在无线电接入网110的语境中,DNS代理130可以截获在RANllO的多个前向无线电链路流上发送的IP分组,即从IP网140向移动设备105发送的分组,并检查这些分组是否有嵌入的主机名和域名。在被检查的数据分组中识别出ー个或多个嵌入的主机名或域名后,DNS代理130可以试图将嵌入的主机名或域名转换成其关联的IP地址。例如,DNS代理130可以首先检查其本地高速缓存,判断嵌入的主机名的IP地址是否之前已经被解析并因此存储在代理的高速缓存中。如果高速缓存中没有IP地址,代理130可以利用常规DNS解析技术查询RAN 110的本地DNS服务器或各种远程DNS服务器150。一旦解析了嵌入的主机名的IP地址,代理130就可以在其高速缓存中存储转换后的IP地址并将其发送到带有嵌入的主机名的数据分组所寻址的移动设备105。代理130然后可以利用标准DNS协议消息或者利用定制的(custonOUDP或XML消息等向移动设备105的DNS解析器部件发送针对ー个或多个域名或主机名的已转换IP地址信息。在移动设备105从DNS代理130接收到消息吋,它取回消息中所含的主机名/IP地址信息并将它存储在它的DNS解析器部件的高速缓存或任何其它存储位置中。在带有嵌入的主机名的数据分组所寻址的移动设备105上的应用试图建立到嵌入的主机名标识的网络设备的连接吋,它激活DNS解析器部件,DNS解析器部件能够从其高速缓存中迅速取回对应的IP地址并将它们提供给应用。通过这种方式,移动设备105的DNS解析器无需通过无线电接入网110查询任何本地和远程DNS服务器150,这可能是相对耗时的过程,因为无线电链路传播延迟很长,并且由于无线电接入网110上的差错,可能有很多次数据重发。解析完所接收的数据分组中嵌入的主机名标识的网络设备的IP地址之后,移动设备105能够利用它们的IP地址建立到这些网络设备的连接并取回必要的信息。通过DNS代理130提供的抢占式DNS解析,移动设备105上运行的应用的性能能够显著加快并且用户体验能够得到相应地改善。图2示出了 DNS代理进行抢占式DNS解析的一个实例方法。在步骤210,DNS代理,例如代理130,检查从诸如IP网140的WAN向LAN、WLAN或RAN上的一个或多个客户机 设备,例如移动设备105,发送的数据分组。如果被检查分组中的数据是被压缩的,在步骤220,DNS代理可以对压缩数据解压。在步骤230,DNS代理识别被检查的数据分组中嵌入的主机名(和域名),例如“.com”或“.org”域名。在步骤240,DNS代理可以首先检查其本地高速缓存,判断嵌入的主机名的IP地址是否之前已经被转换并存储在这个代理的高速缓存中。如果在步骤250在高速缓存中发现了 IP地址,DNS代理在步骤280将其发送到客户机设备。如果高速缓存中没有IP地址,在步骤260,DNS代理利用常规DNS解析技术查询本地DNS服务器或各种远程DNS服务器。一旦解析了嵌入的主机名的IP地址,在步骤270,DNS代理就在其高速缓存中存储转换后的IP地址。在步骤280,DNS代理利用标准DNS协议消息或定制的Μ)Ρ或XML消息或使用其它已知通信技术向客户机设备发送主机名和IP地址信息。应当指出,步骤240、250和270是任选的,取决于DNS代理是否具有用于存储解析出来的IP地址的本地高速缓存。图3示出了可以在客户机设备实施的用于抢占式DNS解析的一种实例方法。在步骤310,客户机设备,例如移动设备105的DNS解析器部件,从DNS代理接收消息。该消息可以是标准DNS协议消息或定制的UDP或XML消息。在步骤320,客户机设备从该消息取回主机名和关联的IP地址信息。在步骤330,客户机设备将它存入它的DNS解析器部件的高速缓存或任何其它存储位置。在客户机设备上的应用,例如浏览器,试图建立到嵌入的主机名标识的网络设备的连接时,在步骤340,客户机设备激活DNS解析器部件,DNS解析器部件在步骤340在其高速缓存中搜索与嵌入的主机名相关联的IP地址。如果已经借助DNS代理的辅助以抢占式方式解析出IP地址,在步骤350中将在DNS解析器的高速缓存中找到IP地址,然后在步骤380应用能够迅速建立到主机设备的连接。如果高速缓存中没有IP地址,在步骤360,DNS解析器利用常规DNS解析技术查询本地和远程DNS服务器。当在步骤370解析出主机设备的IP地址时,应用可以在步骤380建立到主机设备的连接。上述用于抢占式DNS解析的方法能够加快移动应用的性能并提供其它优点。例如,与用于抢占式DNS解析的其它方法不同,本实施方式不会延迟到客户机设备的数据业务来转换嵌入的主机设备名并利用解析出来的IP地址在数据分组中替换它们。这种抢占式DNS解析与向客户机设备转发数据分组异步地进行。这样在实施中有很大灵活性。此外,所公开的方法未破坏在客户机设备实施的用于验证数据真实性的技木。此外,公开的实施未引入因打破数据完整性而破坏应用功能的风险。最后,这些技术的适用性被拓宽到DNS代理不知道数据格式的应用代理能够针对由什么构成主机名或域名做出“有根据的猜测(educated guess)”。错误的肯定结论不会对应用造成任何严重的不利影响。图4示出了可用于根据这里公开的方法为连接到局域网或无线电接入网的客户机设备执行抢占式DNS解析的实例DNS代理设备400。DNS代理400包括用于根据这里公开的方法执行与抢占式DNS解析相关的处理功能以及其它功能的处理器410。处理器410可以包括单组或多组处理器或多核处理器。在一个实例方面中,处理器410可以包括分组检查模块460,这个分组检查模块460实施用于检查给客户机设备的数据分组的过程。处理器410还可以包括主机名识别模块470,用于识别被检查的数据分组中的主机名和域名。处理器410还可以包括IP地址解析模块480,这个IP地址解析模块480执行嵌入的主机名和域名到相关联的IP地址的转换。处理器410还包括发送模块490,这个发送模块490向客户机设备发送解析出来的主机设备名和关联的IP地址。
DNS代理400还包括耦合到处理器410的存储器420,例如用于存储由处理器410执行的抢占式DNS解析程序指令的存储器420,以及包含以抢占式方式解析出来的主机名和域名以及相关联的IP地址的代理高速缓存。存储器420可以包括可以由计算机使用的任何类型存储器,例如随机存取存储器(RAM)、只读存储器(ROM)、磁盘、光盘、易失性存储器、非易失性存储器以及它们的任意組合。此外,DNS代理400还可以包括耦合到处理器410的数据储存器430,数据储存器430可以是硬件和/或软件的任意适当组合,实现结合这里所述各方面采用的信息、数据库和程序的海量存储。例如,数据储存器430可以是数据仓库(data !■印ository),用于处理器410当前未执行的程序或子例程,以及包含用于抢占式DNS解析的算法以及与其相关联的各种数据的文件。此外,DNS代理400包括耦合到处理器410的通信部件440,如同这里所描述的ー样,通信部件440用于搜索、建立和維持与客户机设备以及本地和远程DNS服务器的通信。例如,通信部件440可以包括分别与发射机和接收机相关联的发射链部件和接收链部件,用干与各种无线电接入技术和协议的无线通信系统和设备对接。数据发送模块490指示通信部件440向/从ー个或多个客户机设备以及本地和远程DNS服务器发送/接收数据。DNS代理400可以包括耦合到处理器410的用户接ロ部件450,用于从系统管理员接收输入,并进ー步用于产生输出以呈现给系统管理员。部件450可以包括ー个或多个输入设备,包括但不限于键盘、数字小键盘、鼠标、触敏显示器、导航键、功能键、麦克风、语音识别部件,能够从用户接收输入的任何其它机构,或者它们的任意組合。此外,部件450可以包括ー个或多个输出设备,包括但不限于显示器、扬声器、触觉反馈机构、打印机、能够向用户呈现输出的任何其它机构,或者它们的任意組合。图5示出了可以在DNS代理设备中实施的系统500。如图所示,系统500包括能够代表由处理器、软件或其组合(例如固件)实现的功能的功能块。系统500包括便于这里公开的抢占式DNS解析算法的执行的电气部件的逻辑编组510。逻辑编组510可以包括用于检查给客户机设备的数据分组的模块520。此外,逻辑编组510包括用于识别被检查的数据分组中嵌入的主机名和域名的模块530。此外,逻辑编组510包括用于将嵌入的主机名和域名转换成关联的IP地址的模块540。最后,逻辑编组510包括用于向客户机设备发送转换出来的IP地址的模块550。系统500还包括存储器560,存储器560保存用于执行与电气部件520-550相关联的功能的指令。尽管被图示为在存储器560外部,但要理解,电气部件520-550可以在系统500的存储器560中。图6示出了无线通信系统600的实例,可以在其中实施用于抢占式DNS解析的方法的各个方面。为了简洁起见,系统600示出了无线电接入网中的一个基站/正向链路发射机610和ー个移动设备650。然而,要认识到,系统600可以包括超过ー个基站/正向链路发射机和/或超过ー个移动设备,其中额外的基站/发射机和/或移动设备可以基本类似于或不同于下面所述的实例基站/正向链路发射机610和移动设备650。此外,要认识至IJ,基站/正向链路发射机610和/或移动设备650可以采用这里所描述的系统(图1、4和5)和/或方法(图2和3)以便于等待时间测量过程和其间的无线通信。在基站/正向链路发射机610,从数据源612向发射(TX)数据处理器614提供用于若干数据流的业务数据。根据实例,每个数据流可以通过相应天线发射。TX数据处理器614基于为业务数据流选择的特定编码方案对该数据流进行格式化、编码和交织,以提供已编码数据。可以利用正交频分复用(OFDM)技术将用于每个数据流的已编码数据与导频数据复用。此外或备选地,可以对导频符号进行频分复用(FDM)、时分复用(TDM)或码分复用(CDM)0导频数据通常是以已知方式处理的已知数据模式,并可以在移动设备650处用于估计信道响应。可以基于为每个数据流选择的特定调制方案(例如二相移键控(BPSK)、四相移键控(QSPK)、M相移键控(M-PSK)或M正交调幅(M-QAM)等)调制(例如,符号映射)该数据流的复用导频和已编码数据,以提供调制符号。可以由处理器630执行或提供的指令确定用于每个数据流的数据率、编码和调制。可以向TX MMO处理器620提供数据流的调制符号,TX MMO处理器620还可以处理调制符号(例如用于OFDM)。TX MIMO处理器620然后向NT个发射机(TMTR)622a到622t提供NT个调制符号流。在某些方面中,TX MMO处理器620向数据流的符号井向正从其发射符号的天线应用波束形成权重。每个发射机622接收并处理相应的符号流以提供一个或多个模拟信号,并进一歩调节(例如放大、滤波和上变频)模拟信号以提供适于通过MMO信道传输的已调制信号。此夕卜,分别从NT个天线624a到624t发射来自发射机622a到622t的NT个已调制信号。在移动设备650,发射的已调制信号被NR个天线652a到652r接收,并将从每个天线652接收的信号提供到相应接收机(RCVR) 654a到654r。每个接收机654调节(例如滤波、放大和下变频)相应的信号,对调节的信号进行数字化,并进ー步处理样本以提供对应的“已接收”符号流。RX数据处理器660然后能够基于特定的接收机处理技术从NR个接收机654接收并处理NR个接收符号流,以提供NT个“检测出来的”符号流。RX数据处理器660能够对每个检测出来的符号流进行解调、解交织和解码以恢复用于数据流的业务数据。RX数据处理器660的处理与基站/正向链路发射机610处TX MIMO处理器620和TX数据处理器614执行的处理互补。如上所述,处理器670可以周期性地确定使用哪个预编码矩阵。此外,处理器670可以构建包括矩阵索引部分和秩值部分的反向链路消息。反向链路消息可以包括关于通信链路和/或所接收数据流的各种信息。反向链路消息可以由TX数据处理器638处理,由调制器680调制,由发射机654a到654r调节并被发射回基站/正向链路发射机610,TX数据处理器638还从数据源636接收用于若干数据流的业务数据。在基站/正向链路发射机610,来自移动设备650的已调制信号可以被天线624接收,被接收机622调节,被解调器640解调并被RX数据处理器642处理,以提取由移动设备650发射的反向链路消息。此外,处理器630可以处理提取出的消息以确定将哪个预编码矩阵用于确定波束形成权重。要认识到,在正向链路发射机810这种情况下,与基站相反,可能没有这些RX部件,因为仅在正向链路上广播数据。
处理器630和670能够分别引导(例如控制、协调、管理等)基站/正向链路发射机610和移动设备650处的工作。相应的处理器630和670可以与存储程序代码和数据的存储器632和672相关联。处理器630和670还可以执行计算以分别为上行链路和下行链路导出频率和脉冲响应估计。要明白,可以在硬件、软件、固件、中间件、微码或者它们的任意组合中实施这里所述的各方面。对于硬件实现而言,可以在ー个或多个专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、处理器、控制器、微控制器、微处理器、被设计来执行这里所描述的功能的其它电子単元或者它们的组合之内实施处理单元。当在软件、固件、中间件或微码、程序代码或代码段中实施各方面时,可以将它们存储在机器可读介质,例如存储部件中。代码段可以表示流程、函数、子程序、程序、例程、子例程、模块、软件包、类或指令、数据结构或程序语句的任意組合。可以通过传递和/或接收信息、数据、自变量、參数或存储内容将代码段耦合到另一代码段或硬件电路。可以利用任何适当的手段,包括存储器共享、消息传送、令牌传送以及网络传输等传送、转发或发射信息、自变量、參数、数据等。对于软件实现而言,可以利用执行这里所述功能的模块(例如,流程、函数等)实施这里所述的技木。软件代码可以存储于存储单元中并由处理器执行。可以在处理器之内或处理器外部实现存储单元,在后一种情况下,可以通过现有技术已知的各种手段将其通信耦合到处理器。可以利用被设计成执行这里所述功能的通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑器件、分立栅极或晶体管逻辑、离散硬件部件或者它们的任意组合来实施或执行结合这里公开的各方面描述的各种示例性逻辑、逻辑块、模块和电路。通用处理器可以是微处理器,但在备选方案中,处理器可以是任何常规处理器、控制器、微控制器或状态机。可以将处理器实现为计算设备的组合,例如DSP和微处理器、多个微处理器、一个或多个微处理器结合DSP内核的组合或任何其它这种配置。此外,至少ー个处理器可以包括ー个或多个用于执行上述一个或多个步骤和/或动作的模块。可以将结合这里公开的各方面描述的方法或算法的步骤和/或动作直接实现于硬件中、实现于由处理器执行的软件模块中或实现于两者的组合中。软件模块可以存在于RAM存储器、快闪存储器、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、活动磁盘、CD-ROM或任何本领域已知的其它形式存储介质中。可以将示范性存储介质耦合到处理器,使得处理器能够从存储介质读取信息以及向存储介质写入信息。在备选方案中,存储介质可以与处理器是一体的。此外,在ー些方面中,处理器和存储介质可以处于ASIC中。此夕卜,ASIC可以存在于用户終端中。在备选方案中,处理器和存储介质可以作为用户終端中的分立部件而存在。此外,在ー些方面中,方法或算法的步骤和/或动作可以作为机器可读介质和/或计算机可读介质上代码和/或指令之一或任意组合或集合而存在,机器可读介质和/或计算机可读介质可以并入计算机程序产品中。在ー个或多个方面中,可以将所述的功能实施于硬件、软件、固件或者它们的任意组合中。如果实施于软件中,可以将功能作为ー个或多个指令或代码在计算机可读介质上存储或发送。计算机可读介质既包括计算机存储介质又包括通信介质,通信介质包括辅助从一地到另一地转移计算机程序的任何介质。存储介质可以是能够被计算机访问的任何可用介质。作为实例而非限制,这种计算机可读介质可以包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储器、磁盘存储器或其它磁性存储设备,或可用于以指令或数据结构的形式运载或存储期望的程序代码段并可以被计算机访问的任何其它介质。而且,可以将任何连接 适当地称为计算机可读介质。例如,如果利用同轴电缆、光纤光缆、双绞线、数字用户线路(DSL)或诸如红外、无线电和/或微波的无线技术从网站、服务器或其它远程源传输软件,那么同轴电缆、光纤光缆、双绞线、DSL或诸如红外、无线电和/或微波的无线技术被包括在介质的定义中。如这里所使用的,盘和盘片包括压缩盘(CD)、激光盘、光盘、数字多功能盘(DVD)、软盘和蓝光盘,其中盘通常以磁性方式再现数据,而盘片利用激光以光学方式再现数据。以上的组合应当包括在计算机可读介质的范围之内。尽管以上公开论述了示例性方面,但应当指出,在这里可以做出各种改变和修改而不脱离所附权利要求界定的所述方面的范围。此外,尽管可能以单数形式描述或主张所述方面的要素,但除非明确指出限于单数,也可以想到复数。此外,除非另有说明,可以将任何方面的全部或部分与任何其它方面的全部或部分一起使用。
权利要求
1.一种用于通信的方法,包括 由代理设备检查向客户机设备发送的ー个或多个数据分组; 识别被检查的数据分组中嵌入的一个或多个主机设备名; 解析与嵌入的所述ー个或多个主机设备名相关联的IP地址; 向所述客户机设备发送未加改变的被检查的数据分组;以及 独立于被检查的数据分组,向所述客户机设备发送所述ー个或多个主机设备名和相关联的解析出来的所述IP地址,供所述客户机设备用于建立到被检查的数据分组中标识的主机设备的连接。
2.根据权利要求I所述的方法,其中识别被检查的数据分组中嵌入的一个或多个主机设备名包括重构被截获的所述ー个或多个数据分组的代码。
3.根据权利要求I所述的方法,其中识别被检查的数据分组中嵌入的一个或多个主机设备名包括使用ASCII字符串模式匹配来分析被检查的数据分组。
4.根据权利要求I所述的方法,其中解析所述IP地址还包括 捜索所述代理设备的本地高速缓存以查找与嵌入的所述ー个或多个主机设备名相关联的所述IP地址;以及 当在所述代理设备的本地高速缓存中定位相关联的所述IP地址失败吋,由所述代理设备查询ー个或多个DNS服务器来解析与嵌入的所述ー个或多个主机设备名相关联的所述IP地址。
5.根据权利要求I所述的方法,其中解析所述IP地址还包括在所述代理设备的本地高速缓存中存储识别出来的所述ー个或多个主机设备名和相关联的解析出来的所述IP地址。
6.根据权利要求I所述的方法,其中由所述代理设备检查向所述客户机设备发送的一个或多个数据分组包括检查在具有第一传播等待时间的第一通信链路上向所述客户机设备发送的数据分组。
7.根据权利要求6所述的方法,其中向所述客户机设备发送未加改变的被检查的数据分组包括在具有第二传播等待时间的第二通信链路上发送被检查的数据分组,其中所述第一传播等待时间基本低于所述第二传播等待时间。
8.根据权利要求7所述的方法,其中所述客户机设备包括移动设备,其中所述第一通信链路包括核心IP网,所述第二通信链路包括无线电接入网(RAN),并且其中所述代理设备由连接所述RAN和所述核心IP网的IP接入网关主持。
9.根据权利要求7所述的方法,其中所述第一通信链路包括广域网(WAN),所述第二通信链路包括局域网(LAN),并且其中所述代理设备由连接所述LAN和WAN的路由器主持。
10.ー种通信系统,包括 处理器和耦合到所述处理器的通信部件,所述处理器被配置成 由代理设备检查向客户机设备发送的ー个或多个数据分组; 识别被检查的数据分组中嵌入的一个或多个主机设备名; 解析与嵌入的所述ー个或多个主机设备名相关联的IP地址; 向所述客户机设备发送未加改变的被检查的数据分组;以及 独立于被检查的数据分组,向所述客户机设备发送所述ー个或多个主机设备名和相关联的解析出来的所述IP地址,供所述客户机设备用于建立到被检查的数据分组中标识的主机设备的连接。
11.根据权利要求10所述的系统,其中,为了识别被检查的数据分组中嵌入的ー个或多个主机设备名,所述处理器还被配置成重构被截获的所述ー个或多个数据分组的代码。
12.根据权利要求10所述的系统,其中,为了识别被检查的数据分组中嵌入的ー个或多个主机设备名,所述处理器还被配置成使用ASCII字符串模式匹配来分析被检查的数据分组。
13.根据权利要求10所述的系统,其中,为了解析所述IP地址,所述处理器还被配置成 捜索所述代理设备的本地高速缓存以查找与嵌入的所述ー个或多个主机设备名相关联的所述IP地址;以及 当在所述代理设备的本地高速缓存中定位相关联的所述IP地址失败吋,由所述代理设备查询ー个或多个DNS服务器来解析与嵌入的所述ー个或多个主机设备名相关联的所述IP地址。
14.根据权利要求10所述的系统,其中为了解析所述IP地址,所述处理器还被配置成在所述代理设备的本地高速缓存中存储识别出来的所述ー个或多个主机设备名和相关联的解析出来的所述IP地址。
15.根据权利要求10所述的系统,其中为了检查向所述客户机设备发送的ー个或多个数据分组,所述处理器还被配置成检查在具有第一传播等待时间的第一通信链路上向所述客户机设备发送的数据分组。
16.根据权利要求15所述的系统,其中为了向所述客户机设备发送未加改变的被检查的数据分组,所述处理器还被配置成在具有第二传播等待时间的第二通信链路上发送被检查的数据分组,其中所述第一传播等待时间基本低于所述第二传播等待时间。
17.根据权利要求16所述的系统,其中所述客户机设备包括移动设备,其中所述第一通信链路包括核心IP网,所述第二通信链路包括无线电接入网(RAN),并且其中所述通信系统由连接所述RAN和所述核心IP网的IP接入网关主持。
18.根据权利要求16所述的系统,其中所述第一通信链路包括广域网(WAN),所述第二通信链路包括局域网(LAN),并且其中通信系统由连接所述LAN和WAN的路由器主持。
19.一种计算机程序产品,包括 计算机可读介质,该计算机可读介质包括 用于令计算机检查向客户机设备发送的一个或多个数据分组的第一组代码; 用于令所述计算机识别被检查的数据分组中嵌入的一个或多个主机设备名的第二组代码; 用于令所述计算机解析与嵌入的所述ー个或多个主机设备名相关联的IP地址的第三组代码; 用于令所述计算机向所述客户机设备发送未加改变的被检查的数据分组的第四组代码;以及 用于令所述计算机独立于被检查的数据分组,向所述客户机设备发送所述ー个或多个主机设备名和相关联的解析出来的所述IP地址,供所述客户机设备用于建立到被检查的数据分组中标识的主机设备的连接的第五组代码。
20.根据权利要求19所述的产品,其中,所述第二组代码还包括用于令所述计算机重构被截获的所述ー个或多个数据分组的代码的第六组代码。
21.根据权利要求19所述的产品,其中,所述第二组代码还包括用于令所述计算机使用ASCII字符串模式匹配来分析被检查的数据分组的第七组代码。
22.根据权利要求19所述的产品,其中,所述第三组代码还包括用于令所述计算机执行以下操作的第八组代码 捜索所述代理设备的本地高速缓存以查找与嵌入的所述ー个或多个主机设备名相关联的所述IP地址;以及 当在所述代理设备的本地高速缓存中定位相关联的所述IP地址失败吋,由所述代理设备查询ー个或多个DNS服务器来解析与嵌入的所述ー个或多个主机设备名相关联的所述IP地址。
23.根据权利要求19所述的产品,其中,所述第三组代码还包括用于令所述计算机在所述代理设备的本地高速缓存中存储识别出来的所述ー个或多个主机设备名和相关联的解析出来的所述IP地址的第九组代码。
24.根据权利要求19所述的产品,其中,所述第一组代码还包括令所述计算机检查在具有第一传播等待时间的第一通信链路上向所述客户机设备发送的数据分组的第十组代码。
25.根据权利要求24所述的产品,其中,所述第四组代码还包括令所述计算机在具有第二传播等待时间的第二通信链路上发送被检查的数据分组的第十一组代码,其中所述第一传播等待时间基本低于所述第二传播等待时间。
26.根据权利要求25所述的产品,其中所述客户机设备包括移动设备,其中所述第一通信链路包括核心IP网,所述第二通信链路包括无线电接入网(RAN),并且其中所述计算机由连接所述RAN和所述核心IP网的IP接入网关主持。
27.根据权利要求25所述的产品,其中,所述第一通信链路包括广域网(WAN),所述第二通信链路包括局域网(LAN),并且其中所述计算机由连接所述LAN和WAN的路由器主持。
28.ー种装置,包括 用于检查向客户机设备发送的ー个或多个数据分组的模块; 用于识别被检查的数据分组中嵌入的一个或多个主机设备名的模块; 用于解析与嵌入的所述ー个或多个主机设备名相关联的IP地址的模块; 用于向所述客户机设备发送未加改变的被检查的数据分组的模块;以及 用于独立于被检查的数据分组向所述客户机设备发送所述ー个或多个主机设备名和相关联的解析出来的所述IP地址以供所述客户机设备用于建立到被检查的数据分组中标识的主机设备的连接的模块。
29.根据权利要求28所述的装置,其中用于识别被检查的数据分组中嵌入的一个或多个主机设备名的模块包括用于重构被截获的所述ー个或多个数据分组的代码的模块。
30.根据权利要求28所述的装置,其中用于识别被检查的数据分组中嵌入的一个或多个主机设备名的模块包括用于使用ASCII字符串模式匹配来分析被检查的数据分组的模块。
31.根据权利要求28所述的装置,其中用于解析所述IP地址的模块还包括 用于搜索本地高速缓存以查找与嵌入的所述ー个或多个主机设备名相关联的所述IP地址的模块;以及 用于当在所述本地高速缓存中定位相关联的所述IP地址失败时查询ー个或多个DNS服务器来解析与嵌入的所述ー个或多个主机设备名相关联的所述IP地址的模块。
32.根据权利要求28所述的装置,其中用于解析所述IP地址的模块还包括用于在本地高速缓存中存储识别出来的所述ー个或多个主机设备名和相关联的解析出来的所述IP地址的模块。
33.根据权利要求28所述的装置,其中用于检查向所述客户机设备发送的ー个或多个数据分组的模块包括用于检查在具有第一传播等待时间的第一通信链路上向所述客户机设备发送的数据分组的模块。
34.根据权利要求33所述的装置,其中用于向所述客户机设备发送未加改变的被检查的数据分组的模块包括用于在具有第二传播等待时间的第二通信链路上发送被检查的数据分组的模块,其中所述第一传播等待时间基本低于所述第二传播等待时间。
35.根据权利要求34所述的装置,其中所述客户机设备包括移动设备,其中所述第一通信链路包括核心IP网,所述第二通信链路包括无线电接入网(RAN),并且其中所述装置由连接所述RAN和所述核心IP网的IP接入网关主持。
36.根据权利要求34所述的装置,其中所述第一通信链路包括广域网(WAN),所述第二通信链路包括局域网(LAN),并且其中所述装置由连接所述LAN和WAN的路由器主持。
全文摘要
公开了用于抢占式DNS解析的系统、方法和计算机程序产品。提供DNS代理以检查在第一通信链路上向客户机设备发送的数据分组。该代理识别被检查的数据分组中嵌入的一个或多个主机设备名并解析与嵌入的主机设备名相关联的IP地址。该代理设备在第二通信链路上向客户机设备发送未加改变的被检查的数据分组。第二通信链路具有比第一通信链路明显更长的传播等待时间。该代理然后独立于被检查的数据分组,向所述客户机设备发送这一个或多个主机设备名和相关联的解析出来的IP地址,供所述客户机设备用于建立到被检查的数据分组中标识的所述主机设备的连接。
文档编号H04L29/12GK102668517SQ201080058751
公开日2012年9月12日 申请日期2010年12月21日 优先权日2009年12月21日
发明者L·维奇萨诺, M·沃森 申请人:高通股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1