CN102667749A - Dns应用服务器 - Google Patents
Dns应用服务器 Download PDFInfo
- Publication number
- CN102667749A CN102667749A CN201080052941XA CN201080052941A CN102667749A CN 102667749 A CN102667749 A CN 102667749A CN 201080052941X A CN201080052941X A CN 201080052941XA CN 201080052941 A CN201080052941 A CN 201080052941A CN 102667749 A CN102667749 A CN 102667749A
- Authority
- CN
- China
- Prior art keywords
- code
- infrastructure
- dns
- status data
- selector switch
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/14—Charging, metering or billing arrangements for data wireline or wireless communications
- H04L12/1485—Tariff-related aspects
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
- H04L61/4505—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
- H04L61/4511—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2101/00—Indexing scheme associated with group H04L61/00
- H04L2101/30—Types of network names
- H04L2101/35—Types of network names containing special prefixes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2101/00—Indexing scheme associated with group H04L61/00
- H04L2101/60—Types of network addresses
- H04L2101/69—Types of network addresses using geographic information, e.g. room number
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
一种用于提供对互联网资源的访问的方法,包括接收包括待解析的主机名的DNS查询,接收状态数据,通过由主机名指示的名称调用代码,将状态数据输送至代码,从代码接收对基础设施的选择,以及生成将解析定向到基础设施的DNS响应。
Description
技术领域
本发明总体上涉及数据通信,并且尤其涉及用于访问计算机资源的方法、系统和计算机程序产品。
相关申请
本申请要求于2009年10月13日提交的题为“DNS ApplicationServer”的美国临时专利申请61/251,136和于2009年11月11日提交的题为“Resource Infrastructure Data Survey”的美国临时专利申请61/258,042的权益,上述二者通过引用结合于此。
背景技术
web客户端通过发起域名系统(DNS)查询以便解析诸如www.example.com的完全限定域名(FQDN)或主机名来获得用于访问互联网资源(“资源”)的互联网协议(IP)地址。IP地址使得web客户端能够创建通过其与资源进行通信的IP连接。FQDN到IP地址的解析或转换在P.Mockapetris的题为“DOMAIN NAMESIMPLEMENTATION AND SPECIFICATION”的互联网工程任务组(IETF)的出版物RFC 1035中描述,还在包括RFC 1033、1034、1912、2136、2181、2535、2671和4033的与DNS相关的另外的IETF出版物中描述,它们的教导都通过引用结合于此。
授予Swildens等人的美国专利7,155,723描述了一种基于网络信息、服务侦测、等待时间侦测、分组丢失侦测、带宽使用和静态等待时间信息来执行解析的域名服务器,其公开内容通过引用结合于此。
授予Leighton等人的美国专利6,996,616描述了一种基于服务器性能生成域名服务器映射的映射产生器服务,其公开内容通过引用结合于此。
授予Shah等人的美国专利6,446,121描述了一种被配置为接收DNS查询,向多个镜像web站点中的每个镜像web站点发送查询,以及通过向镜像web站点指示以最佳的往返分组时间来对查询进行响应的域名服务器,其公开内容通过引用结合于此。
发明内容
依据本发明的实施例,提供了一种用于提供对互联网资源的访问的方法,包括接收用于解析主机名的DNS查询,接收状态数据,通过由主机名指示的名称调用代码,将状态数据输送至代码,从代码接收对基础设施的选择,以及生成将解析定向到基础设施的DNS响应。
在一些实施例中,将解析定向到基础设施包括提供针对解析为基础设施的主机别名的重定向,或者备选地,提供针对基础设施的IP地址的解析。典型地,所接收的选择已经被代码确定为关于成本和访问质量的函数为最优。
输送状态数据可以包括输送专用于web客户端位置的状态数据。在一些实施例中,主机名包括资源提供方指示符,以及输送状态数据包括输送专用于资源提供方指示符的状态数据。
状态数据可以包括对基础设施使用的测量。备选地或附加地,状态数据可以包括对访问质量的测量。在另外的实施例中,状态数据可以包括web客户端位置。
典型地,接收DNS查询包括注册权威域名服务器来从解析器接收DNS查询,并且生成DNS响应包括将DNS响应输送至解析器。
主机名通常包括域和关键字串,并且由主机名指示的代码的名称由关键字串所指示。
典型地,该方法包括接收代码,代码包括计算机可执行指令。代码的接收可以利用门户网站来执行。
调用代码通常包括执行代码的实例并且使针对代码的实例的请求排队。
调用代码可以包括在受限的运行时环境中执行代码。
依据本发明另外的实施例,还提供了一种用于提供对互联网资源的访问的系统,该系统包括应用引擎和前端,应用引擎被配置为具有用于接收包括计算机可执行指令的代码并且执行代码的实例的装置,前端被配置为具有用于接收包括待解析的主机名的DNS查询,接收状态数据,通过由主机名指示的名称调用代码的实例,将状态数据输送至代码的实例,从代码的实例接收对基础设施的选择,以及生成将解析定向到基础设施的DNS响应的装置。
依据本发明另外的实施例,还提供了一种包括计算机可读介质的计算机程序产品,计算机可读介质包括计算机可读程序,当计算机可读程序在计算机上执行时,计算机可读程序使得计算机接收用于解析主机名的DNS查询,接收状态数据,通过由主机名指示的名称调用包括计算机可执行指令的代码,将状态数据输送至代码,从代码接收对基础设施的选择,以及生成将解析定向到基础设施的DNS响应。
根据以下对本发明实施例的详细描述,本发明将被更全面地理解。
附图说明
图1是根据本发明实施例的用于提供对包括DNS应用服务器的互联网资源的访问的系统的示意性图示;
图2是根据本发明实施例的用于配置选择器代码的系统的示意性图示;以及
图3是根据本发明实施例的用于提供对互联网资源的访问的处理的流程图。
具体实施方式
图1是根据本发明实施例的用于提供对包括DNS应用服务器22的互联网资源的访问的系统20的示意性图示。
域名服务器可以被注册为对诸如example.com的域具有权威性。随后,用于解析域中的主机名(即,子域)的DNS查询被路由至权威(authoritative)域名服务器。在下文中,术语“域”是指所注册的域名,通常是针对其注册了权威域名服务器的域。术语“主机名”是指在DNS查询中指定的任意域或子域。
如以上所提到的IETF RFC 1035中所描述的,用来解析主机名的DNS查询是包括指定主机名的询问部分(question section)的DNS消息。由权威域名服务器发出的针对查询的DNS响应包括资源记录(RR),其通过指定IP地址来解析查询或者通过指定重定向或“主机别名”对查询进行重定向。定义解析的资源记录被称作地址资源记录(A RR)。用于将主机名重定向至主机别名的资源记录被称作规范名字资源记录(CNAME RR)。
在本发明的实施例中,DNS应用服务器22包括前端24,其被配置为执行符合以上所提到的IETF RFC的域名服务器功能,诸如通常通过用户数据报协议(UDP)接收DNS查询,以及提供DNS响应。
前端24还被配置为从数据调查服务器26接收数据馈送25以及调用选择器代码28。数据调查服务器可以在获取时提供发送至前端的实时数据。在一个实施例中,数据馈送是针对安全外壳(SSH)会话的单向加密TCP传输。数据馈送可以由诸如由发明人在以上所提到的美国临时专利申请61/258,042中公开的之类的数据调查服务器来提供。数据馈送25通常包括状态数据,其在以下进一步进行描述。
选择器代码28是计算机可执行代码。调用选择器代码28可以包括执行选择器代码,换句话说,发起执行代码的实例或对象,或者与这样的实例进行连接或者以另外的方式进行通信。所要理解的是,以下对选择器代码28的任务执行所进行的引用(诸如接收请求)是关于运行选择器代码的实例而进行的。
DNS应用服务器22还可以包括应用引擎30,这是可以为选择器代码28的一个或多个实例提供运行时框架的处理。在一些实施例中,应用引擎包括加载可以将选择器代码的实例作为独立处理来运行或者在诸如fastCGI处理之类的处理之内运行的程序。应用引擎30可以在受限的运行时环境中运行选择器代码28,从而使得选择器代码不访问外部资源,并且被限制为获得具体输入和提供具体输出。
选择器代码可以被递送或上传至前端利用代码传输应用32可访问的位置,该代码传输应用32被配置为通过连接或消息34来传送代码。代码传输应用32可以是基于文件传输协议(FTP)的应用,或者是本领域中已知的提供消息发送或连接手段的任意应用。在以下关于图2进一步描述的一个实施例中,DNS应用服务器22包括用于接收选择器代码的门户网站,并且代码传输应用32是超文本传输协议(HTTP)web页面内的表单。
前端可访问的选择器代码的位置可以是文件系统或数据库29。一旦被上传或者以另外的方式被存储,选择器代码28就还被分配以名称,其随后通过该名称而被前端24所调用。在示例性的情形中,分配给选择器代码28的名称可以是Scode1。
随选择器代码28的调用而被包括或者在选择器代码28的调用之后,前端24向选择器代码28发送选择器请求36,其是提供状态数据集合的消息或连接。可以利用应用引擎30将选择器请求36输送至选择器代码28。该请求可以通过诸如Java Message Service(JMS)之类的消息服务来发送,或者通过任意其它同步或异步通信手段来发送。在以上所提到的消息或连接内,状态数据可以以单个数据结构或者多个数据结构来输送,或者作为函数参数的集合或作为环境变量来输送。
选择器请求可以由应用引擎30进行排队,直至选择器代码的实例可用。也可以实施由应用服务器进行应用的同时多任务分配的其它方法,从而使得DNS应用服务器可以提供可缩放的框架以便支持多个同时的DNS查询。
选择器代码28通常由资源提供方编程为基于成本和性能标准来选择基础设施,这在以下进一步进行描述。在这样的处理之后,选择器代码向前端24输送选择器响应38,其中包括基础设施选择。
如这里所涉及的,web客户端40是诸如被配置为访问互联网资源的web浏览器或简单对象访问协议(SOAP)应用的应用。互联网资源可以包括但不限于文件、web页面、应用、邮件服务器和访问服务或网关,包括用于语音和其它媒体的网关。这样的资源经常保持在基础设施之内,上述基础设施可以包括企业数据中心或者诸如云计算基础设施和内容递送网络(CDN)之类的外包基础设施。资源提供方可以基于各种使用类型的测量进行付费以将资源保持在特定基础设施之内,从而使得提供资源的成本可以根据一天中的时间以及峰值或合计吞吐量的水平而持续或以频繁的间隔而改变。
在本发明的实施例中,web客户端40所寻求的资源的两个或更多副本被保持在两个或更多基础设施中。在说明性情形中,副本42a和42b被保持在相应的基础设施44a和44b内。
资源提供方注册被指示为对于由资源提供方拥有的诸如example.com之类的域具有权威性的资源提供方(RP)域名服务器46的域名服务器。典型地,RP域名服务器46是常规域名服务器,其被配置为基于通常被称作区域文件的映射(map)中所保持的资源记录(RR)生成DNS响应。
web客户端通常通过指定包括资源名称和主机名的统一资源定位符(URL)来寻求资源。所指定的主机名通常是由资源提供方拥有的域中的主机名。在说明性情形中,web客户端40寻求诸如具有名称RPdata并且位于example.com域内的主机名的数据库之类的资源,上述数据库诸如RPhost1.example.com。为了得到对该资源的访问,web客户端请求到指示主机名和资源名称的URL的连接,即RPhost1.example.com/RPdata形式的URL。
针对web客户端40的DNS解析由解析器48提供。解析器48根据在如以上所提到的RFC 1033中描述的DNS协议进行操作。由web客户端所进行的URL请求对解析器48生成DNS查询50,该查询是用来解析示例性主机名RPhost.example.com的请求。解析器48将RP域名服务器46识别为对所指定的域example.com具有权威性,并且向RP域名服务器发送查询52以用于解析RPhost.example.com。
RP域名服务器46被配置为具有映射以将主机名RPhost1.example.com重定向至前端24对其具有权威性的主机别名。在本发明的实施例中,前端24对于与由资源提供方所拥有的域不同的域具有权威性。例如,在说明性情形中,前端24可以对域DNSappserv.net具有权威性。由RP域名服务器46返回的主机别名包括两个部分,一个是前端24对其具有权威性的域DNSappserv.net,而另一个部分是包括选择器代码的名称或指示符的关键字串。关键字串还可以包括具体指示资源提供方的标签。关键字串中还可以包括附加的指示符,包括待传递至选择器代码的参数。
在示例性情形中,对于选择器代码“Scode1”和资源提供方指示符“RP1”而言,关键字串可以被定义为Scode1-RP1。以资源记录格式编写的相对应的主机别名可以是Scode1-RP1.DNSappserv.net。关键字串中所包括的指示符无需通过字符(诸如点或连字符)进行定界。指示符也可以被编码。
由RP域名服务器46给出的指定了主机别名Scode1-RP1.DNSappserv.net的DNS响应被返回至解析器。解析器确定前端24是被注册为解析主机别名的权威域名服务器,并且向前端24发出新的DNS查询56以用于解析主机别名。
前端24解析主机别名以提取选择器代码28的标识符,也就是“Scode1”。前端24接着通过指定所提取的标识符来发起或调用选择器代码28。选择器28的调用通常包括将选择器请求36传递至选择器代码。
如以上所描述的,选择器请求36包括由前端24接收的状态数据。这样的状态数据可以包括对访问质量的测量,其可以反映web客户端40在访问资源副本42a和42b时可以体验到的访问质量。状态数据还可以包括对基础设施使用的测量,其可能会影响向web客户端40提供对以上所提到的资源副本的访问的成本。
在一些实施例中,前端还可以在调用选择器代码之前确定web客户端40的大致地理或网络位置。DNS查询56通常由包括解析器的IP地址的IP分组所发送。前端可以被配置为具有将解析器IP地址与接近web客户端位置的地理位置相关联的映射。此外,可以从提供诸如边界网关协议(BGP)数据之类的网络拓扑数据的数据调查服务器得出诸如自治系统(AS)之类的网络位置
前端24可以在利用选择器请求输送的状态数据中包括对web客户端位置的一个或多个估计。
选择器请求中所包括的对访问质量的测量通常专用于web客户端位置并且专用于一个或多个基础设施中的每一个基础设施。这样的测量可以包括:响应时间(其可以是在发送传输和接收到第一响应或接收到完整响应之间所流逝的时间,或者是类似的测量,诸如在请求服务和使得服务得以执行之间的时间)、连接时间(诸如用于IP连接、SSL连接或者到事务应用服务器的连接的时间)、传输速度(通常以字节/秒进行测量)、错误率(诸如坏字节或坏分组的百分比)、连接抖动(对诸如传输速度或错误率的可变性之类的质量可变性的测量)和可用性比率(例如,连接或服务完成的比率)。
基础设施使用状态数据可以包括对瞬时突发速率(即,由基础设施所传送和/或接收的资源内容以字节/秒来测量的瞬时吞吐量)和合计使用(即,在给定时间段内所传输的字节总数)的统计。基础设施使用状态数据还可以包括所服务的请求的数目、开放连接的数目、事务处理率(transaction rate)、临界阈值(threshold margin)、月下载总量或合计处理负载。
前端24可以基于在关键字串中包括的资源提供方指示符来限制所接收的状态数据。例如,在这里所描述的示例性情形中,传递至选择器代码“Scode1”的状态数据将被限制为与基础设施44a和44b相关的状态数据。在以下关于图2进一步描述的一个实施例中,当上传选择器代码时,资源提供方还指定与代码相关的状态数据变量的集合。
前端24还可以基于web客户端位置来限制所接收的状态数据,web客户端的位置的范围可以从给定的网络或城市到国家或大陆。由web客户端体验到的访问质量可以根据web客户端位置而大幅变化。结果,响应于来自具体web客户端的DNS查询,对访问质量的相关测量是从相同的接近web客户端位置所确定的那些测量。
对访问质量和使用的测量也可以通过对多个状态数据测量进行平均来确定。
一旦接收到选择器请求36,选择器代码就对所接收的状态数据的集合执行一个或多个逻辑运算和数学运算,以便选择客户端将在那里访问所期望资源的基础设施。
在一个实施例中,选择器代码中的逻辑确定偏好指标(preference index),从而使得具有最佳(最高或最低)偏好指标的基础设施被选择为最优。偏好指标可以是在成本和访问质量之间的最优权衡的函数。
选择器代码可以包括资源提供方为每个基础设施的不同类型的使用而支付的价格(即,定价费率表),包括突发费用(burst rate)和承诺水平价格。例如,基础设施44a和44b可以分别是主要基础设施和次要基础设施。资源提供方可以每个月为主要基础设施的使用而支付统一费用,直到已经达到了某合同所规定的承诺水平的使用。超出合同所规定的承诺水平的使用可以以更高的费率进行计费。结果,选择器代码可以被配置为将主要基础设施的合同所规定的承诺水平与状态数据中所包括的合计使用测量进行比较。当已经达到合同所规定的承诺水平时,选择器代码可以选择次要基础设施而不是主要基础设施。
类似地,如果针对主要基础设施的定价针对不同水平的突发费用而改变,则次要基础设施可以是优选的,也就是说,在突发费用超过合同所规定的标准水平时次要基础设施是最优的。选择器代码还可以被编程为仅在对次要基础设施的访问质量的一个或多个实时测量满足最低标准的另外情况下才选择次要基础设施。
因此,可以理解的是,选择器代码可以被编程为优化访问质量和基础设施成本,其中实现这样的优化可以包括在两个目标之间进行权衡。
选择器代码的实施不需要被限制为具体的编程语言或编程范例。在一个实施例中,选择器代码以通用脚本语言PHP进行编程。应用引擎可以是PHP解释程序,或者可以对脚本化的选择器代码进行编译以便在没有解释程序的情况下执行。
在附件1的示例选择器程序中,通过将基础设施的成本因数乘以基础设施的响应时间来针对每个基础设施计算偏好指标,响应时间包括在状态数据中。
选择器代码生成包括新的主机别名的输出38,这是针对基础设施44a和44b之一的主机名解析。例如,针对基础设施44a的主机名解析可以是RPhost1.cd1.net,而针对基础设施44b的主机名解析可以是RPhost1.cd2.net。在备选实施例中,选择器代码28可以返回定向到基础设施之一的IP地址,由此避开了对后续解析的需要。
前端24向解析器48传输DNS响应62。DNS响应通过指定到新的主机别名(CNAME资源记录中)的重定向或者通过利用IP地址提供解析而将解析定向到所选择的基础设施。备选地,在选择器代码没有提供适当响应的情况下或者例如如果不存在具有由关键字串所指示的名称的选择器代码,DNS响应62可以指示错误或者其它的缺省响应。
当由DNS响应62指定了重定向时,解析器48随后发出又一查询并且从对所选择的基础设施具有权威性的域名服务器(未示出)接收解析。解析器48随后向web客户端40返回解析DNS响应64。
一旦接收到解析,根据基础设施44a和基础设施44b中哪一个被选择,web客户端40可以通过到基础设施44a的连接66或者通过到基础设施44b的连接68来访问期望资源。
由选择器代码28进行的输出可以是资源记录的形式,从而使得重定向主机名被指定为CNAME记录并且IP地址被指定为A记录。选择器代码28还可以向前端传输可以包括在DNS响应62中的附加的参数,诸如DNS存活时间(TTL)数值。较大的TTL数值增加了响应被解析器高速缓存的时间,由此减少了DNS应用服务器22上的负载。
典型地,前端24从DNS应用服务器可访问的若干选择器代码中调用选择器代码28。根据关键字串选择选择器代码允许DNS应用服务器支持来自一个或多个资源提供方的多个选择器代码。实施选择器代码可以仅要求两个步骤:将重定向映射(这样的映射包括对选择器代码进行命名的关键词串)添加到RP域名服务器的资源记录表,以及将选择器代码上传到前端可访问的位置。
可以在选择器代码数据库29中存储多于一个的选择器代码,从而使得DNS应用服务器可以针对多个资源和针对多个资源提供方而支持不同的选择逻辑。
图2是根据本发明实施例的用于配置诸如以上所描述的选择器代码28之类的选择器代码以用于由DNS应用服务器22运行的系统200的示意性图示。
在以上关于图1所描述的本发明实施例中,选择器代码被置于DNS应用服务器利用代码传输应用可访问的位置。如关于系统200所示出的,这样的代码传输应用可以是资源提供方接口202。
资源提供方接口202可以是web浏览器或其它连接互联网的应用。驱动接口202的内容可以由DNS应用服务器门户网站204所供应。接口202可以包括资源提供方或接口的其它用户可以向其中上传或附上选择器代码的表单。该接口还可以包括附加选项,诸如用户可以利用其指定相关状态数据变量的集合由此如以上所描述的在相关状态数据和资源提供方指示符之间提供关联的文本框或复选框。
DNS应用服务器门户网站可以允许均具有其自己的安全代码或密码的多个资源提供方上传、编辑和删除选择器代码。
可以使得选择器代码可用,即DNS应用服务器通过本领域中已知的若干手段可访问,这些手段诸如以上所描述的置于数据库29中。数据库29可以是在多个计算机上运行的分布式数据库。
图3是根据本发明实施例的用于向web客户端提供对互联网资源的访问的处理300的流程图。
在步骤302,DNS应用服务器接收选择器代码,如以上关于图2所描述的,选择器代码可以由资源提供方传送至DNS应用服务器。如以上关于应用引擎30所描述的,DNS应用服务器可以实施可缩放的、受限的运行时框架以用于运行选择器代码。
在步骤304,如以上所描述的,包括被配置作为权威域名服务器的前端的DNS应用服务器接收DNS查询。DNS查询通常由web客户端发起并且经由解析器进行传送。
在步骤306,DNS应用服务器从DNS查询提取关键字串,由此获得由关键字串指示的名称,这是通过其调用选择器代码的名称。
在步骤308,DNS应用服务器获取与查询相关的状态数据。相关状态数据可以是DNS应用服务器从一个或多个数据调查服务器实时获取的状态数据的子集。
在后续的步骤310,应用服务器通过在关键字串中所指示的名称调用选择器代码,并且利用选择器请求将相关状态数据传递至选择器代码。在一个实施例中,DNS应用服务器利用被配置为运行选择器代码的实例的应用引擎对选择器请求进行排队。
在步骤312,在选择器代码接收到选择器请求的通信并且确定了主机名重定向或IP地址解析之后,DNS应用服务器接收具有要在那里访问资源的基础设施的选择的选择器响应。
在步骤314,DNS应用服务器基于由选择器代码提供的所选择基础设施对查询解析器生成DNS响应。
当资源保持在基础设施特别是外包基础设施处时,由web客户端用来解析主机名的DNS查询通常被重定向至指示(即,随后对之进行解析)外包基础设施的主机别名。外包基础设施的提供方可以要求这样的重定向,从而使得由外包基础设施提供方所配置的权威域名服务器来进行后续的解析。
通常,本发明的DNS应用服务器可以以软件和/或硬件来实施。作为软件程序产品的实施例可以被实现为通用计算系统上的一个或多介应用。
被配置为实施DNS应用服务器的计算系统可以具有一个或多个处理器以及一个或多个网络接口模块。处理器可以被配置为多处理或分布式处理系统。网络接口模块控制数据分组在网络上的发送和接收。
这样的计算系统还包括用于存储指示处理器执行这里所描述的各种操作的计算机可执行指令的存储器存储设备。存储器存储设备还可以包括多个分布式存储器单元,其包括一种或多种存储介质。存储介质的示例包括但不限于磁介质、光介质以及诸如只读存储器设备(ROM)和随机存取存储器(RAM)之类的集成电路。
所要理解的是,以上所描述的实施例通过示例被加以引用,并且本发明并不局限于以上已经特别示出和描述的内容。相反,本发明的范围包括以上所描述的各种特征的组合和子组合二者,以及本领域技术人员在阅读了以上描述之后可以对其进行的没有在现有技术中所公开的变化和修改。
附录
样本选择器代码
Claims (17)
1.一种用于提供对互联网资源的访问的方法,包括:
接收用于解析主机名的DNS查询;
接收状态数据;
通过由所述主机名指示的名称调用代码;
将所述状态数据输送至所述代码;
从所述代码接收对基础设施的选择;以及
生成将解析定向到所述基础设施的DNS响应。
2.如权利要求1所述的方法,其中将所述解析定向到所述基础设施包括提供到主机别名的重定向。
3.如权利要求1所述的方法,其中将所述解析定向到所述基础设施包括提供所述主机名到IP地址的解析。
4.如权利要求1所述的方法,其中接收所述基础设施的选择包括接收由所述代码确定的关于基础设施成本和访问质量的函数的最优的结果。
5.如权利要求1所述的方法,其中输送所述状态数据包括输送专用于web客户端位置的状态数据。
6.如权利要求1所述的方法,其中所述主机名包括资源提供方指示符,并且其中输送所述状态数据包括输送专用于所述资源提供方指示符的状态数据。
7.如权利要求1所述的方法,其中所述状态数据包括对基础设施使用的测量。
8.如权利要求1所述的方法,其中所述状态数据包括对访问质量的测量。
9.如权利要求1所述的方法,其中所述状态数据包括web客户端位置。
10.如权利要求1所述的方法,其中接收所述DNS查询包括注册权威域名服务器以接收所述DNS查询和从解析器接收所述DNS查询,并且其中生成所述DNS响应包括将所述DNS响应传送至所述解析器。
11.如权利要求1所述的方法,其中所述主机名包括域和关键字串,并且其中由所述主机名指示的所述代码的所述名称由所述关键字串所指示。
12.如权利要求1所述的方法,还包括接收所述代码,其中所述代码包括计算机可执行指令。
13.如权利要求12所述的方法,其中接收所述代码包括通过门户网站接收所述代码。
14.如权利要求1所述的方法,其中调用所述代码包括执行所述代码的实例和使针对所述代码的所述实例的请求排队。
15.如权利要求1所述的方法,其中调用所述代码包括在受限的运行时环境中执行所述代码。
16.一种用于提供对互联网资源的访问的系统,包括:
应用引擎,其被配置为具有用于接收包括计算机可执行指令的代码并且执行所述代码的实例的装置;以及
前端,其被配置为具有用于接收用于解析主机名的DNS查询,接收状态数据,通过由所述主机名指示的名称调用所述代码的所述实例,将所述状态数据输送至所述代码的所述实例,从所述代码的所述实例接收对基础设施的选择,以及生成将解析定向到所述基础设施的DNS响应的装置。
17.一种包括计算机可读介质的计算机程序产品,所述计算机可读介质包括计算机可读程序,当所述计算机可读程序在计算机上执行时,所述计算机可读程序使得所述计算机接收用于解析主机名的DNS查询,接收状态数据,通过由所述主机名指示的名称调用代码,将所述状态数据输送至所述代码,从所述代码接收对基础设施的选择,以及生成将解析定向到所述基础设施的DNS响应。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US25113609P | 2009-10-13 | 2009-10-13 | |
US61/251,136 | 2009-10-13 | ||
US25804209P | 2009-11-04 | 2009-11-04 | |
US61/258,042 | 2009-11-04 | ||
PCT/US2010/051720 WO2011046790A1 (en) | 2009-10-13 | 2010-10-07 | Dns application server |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102667749A true CN102667749A (zh) | 2012-09-12 |
Family
ID=43876447
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201080052941XA Pending CN102667749A (zh) | 2009-10-13 | 2010-10-07 | Dns应用服务器 |
Country Status (4)
Country | Link |
---|---|
US (2) | US9553844B2 (zh) |
EP (1) | EP2488957B1 (zh) |
CN (1) | CN102667749A (zh) |
WO (1) | WO2011046790A1 (zh) |
Families Citing this family (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011046790A1 (en) * | 2009-10-13 | 2011-04-21 | Martin Kagan | Dns application server |
CN102656579A (zh) | 2009-11-04 | 2012-09-05 | 塞德克西斯公司 | 互联网基础设施调查 |
US9906488B2 (en) | 2010-10-26 | 2018-02-27 | Cedexis, Inc. | Surrogate name delivery network |
US8745122B2 (en) * | 2011-06-14 | 2014-06-03 | At&T Intellectual Property I, L.P. | System and method for providing an adjunct device in a content delivery network |
EP2592814A1 (en) | 2011-11-08 | 2013-05-15 | VeriSign, Inc. | System and method for detecting DNS traffic anomalies |
KR101326360B1 (ko) | 2012-06-22 | 2013-11-11 | 가톨릭대학교 산학협력단 | Dns 서버 간의 보안 통신 방법 및 이를 위한 관할 dns 서버, 그리고 보안 통신 시스템 |
US10666701B2 (en) | 2012-11-16 | 2020-05-26 | Citrix Systems, Inc. | Adaptation of content delivery network to incremental delivery of large, frequently updated data sets |
US10320628B2 (en) | 2013-06-19 | 2019-06-11 | Citrix Systems, Inc. | Confidence scoring of device reputation based on characteristic network behavior |
US10397082B2 (en) | 2014-08-07 | 2019-08-27 | Citrix Systems, Inc. | Internet infrastructure measurement method and system adapted to session volume |
US10530738B2 (en) | 2014-08-07 | 2020-01-07 | Citrix Systems, Inc. | DNS resolution replay for bare domain names that map to “A” records |
CN104168316B (zh) * | 2014-08-11 | 2019-01-11 | 北京星网锐捷网络技术有限公司 | 一种网页访问控制方法、网关 |
US10891383B2 (en) | 2015-02-11 | 2021-01-12 | British Telecommunications Public Limited Company | Validating computer resource usage |
EP3329408A1 (en) * | 2015-07-31 | 2018-06-06 | British Telecommunications public limited company | Expendable access control |
WO2017021155A1 (en) | 2015-07-31 | 2017-02-09 | British Telecommunications Public Limited Company | Controlled resource provisioning in distributed computing environments |
EP3329409A1 (en) | 2015-07-31 | 2018-06-06 | British Telecommunications public limited company | Access control |
GB2545748B8 (en) * | 2015-12-24 | 2019-09-18 | Num Tech Ltd | Methods, apparatuses, and computer programs for data processing, and hierarchical domain name system zone files |
US11023248B2 (en) | 2016-03-30 | 2021-06-01 | British Telecommunications Public Limited Company | Assured application services |
WO2017167547A1 (en) | 2016-03-30 | 2017-10-05 | British Telecommunications Public Limited Company | Cryptocurrencies malware based detection |
WO2017167545A1 (en) | 2016-03-30 | 2017-10-05 | British Telecommunications Public Limited Company | Network traffic threat identification |
WO2017167544A1 (en) | 2016-03-30 | 2017-10-05 | British Telecommunications Public Limited Company | Detecting computer security threats |
WO2017167549A1 (en) | 2016-03-30 | 2017-10-05 | British Telecommunications Public Limited Company | Untrusted code distribution |
US10574674B2 (en) * | 2016-07-08 | 2020-02-25 | Nec Corporation | Host level detect mechanism for malicious DNS activities |
EP3382591B1 (en) | 2017-03-30 | 2020-03-25 | British Telecommunications public limited company | Hierarchical temporal memory for expendable access control |
WO2018178034A1 (en) | 2017-03-30 | 2018-10-04 | British Telecommunications Public Limited Company | Anomaly detection for computer systems |
US11586751B2 (en) | 2017-03-30 | 2023-02-21 | British Telecommunications Public Limited Company | Hierarchical temporal memory for access control |
US11562293B2 (en) | 2017-05-08 | 2023-01-24 | British Telecommunications Public Limited Company | Adaptation of machine learning algorithms |
EP3622447A1 (en) | 2017-05-08 | 2020-03-18 | British Telecommunications Public Limited Company | Interoperation of machine learning algorithms |
EP3622450A1 (en) | 2017-05-08 | 2020-03-18 | British Telecommunications Public Limited Company | Management of interoperating machine leaning algorithms |
US10834222B1 (en) | 2019-05-09 | 2020-11-10 | Akamai Technologies Inc. | Server utilizing multiple object retrieval candidates |
US11233768B1 (en) | 2020-09-30 | 2022-01-25 | Akamai Technologies, Inc. | CDN configuration tuning based on domain scan analysis |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2000014940A1 (en) * | 1998-09-03 | 2000-03-16 | Sun Microsystems, Inc. | System for responding to a resource request |
US20060112176A1 (en) * | 2000-07-19 | 2006-05-25 | Liu Zaide E | Domain name resolution using a distributed DNS network |
US20070214283A1 (en) * | 2006-03-07 | 2007-09-13 | Metke Anthony R | Method and apparatus for automated infrastructure ad hoc mode and autonomous ad hoc mode selection |
CN101052005A (zh) * | 2006-01-25 | 2007-10-10 | 国家研究开发公司 | 访问网络中的分布式服务 |
CN101310476A (zh) * | 2005-12-28 | 2008-11-19 | 香港应用科技研究院有限公司 | 基于dns的客户机-服务器系统及其在电子设备里的使用 |
Family Cites Families (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5694546A (en) * | 1994-05-31 | 1997-12-02 | Reisman; Richard R. | System for automatic unattended electronic information transport between a server and a client by a vendor provided transport software with a manifest list |
US6006260A (en) | 1997-06-03 | 1999-12-21 | Keynote Systems, Inc. | Method and apparatus for evalutating service to a user over the internet |
US6446121B1 (en) | 1998-05-26 | 2002-09-03 | Cisco Technology, Inc. | System and method for measuring round trip times in a network using a TCP packet |
US6108703A (en) * | 1998-07-14 | 2000-08-22 | Massachusetts Institute Of Technology | Global hosting system |
US20010049741A1 (en) * | 1999-06-18 | 2001-12-06 | Bryan D. Skene | Method and system for balancing load distribution on a wide area network |
US6754699B2 (en) * | 2000-07-19 | 2004-06-22 | Speedera Networks, Inc. | Content delivery and global traffic management network system |
US7543078B2 (en) * | 1999-12-31 | 2009-06-02 | Subdomain Identity Partners | Individuals' URL identity exchange and communications |
US20050091378A1 (en) | 2000-04-10 | 2005-04-28 | Jorg Nonnenmacher | Method and system for using mobile code to measure quality of service over a network |
US6996616B1 (en) | 2000-04-17 | 2006-02-07 | Akamai Technologies, Inc. | HTML delivery from edge-of-network servers in a content delivery network (CDN) |
US7562153B2 (en) * | 2000-05-12 | 2009-07-14 | AT&T Intellectual Property II, L. P. | Method and apparatus for content distribution network brokering and peering |
US7003555B1 (en) * | 2000-06-23 | 2006-02-21 | Cloudshield Technologies, Inc. | Apparatus and method for domain name resolution |
US7155723B2 (en) | 2000-07-19 | 2006-12-26 | Akamai Technologies, Inc. | Load balancing service |
US7912978B2 (en) | 2000-07-19 | 2011-03-22 | Akamai Technologies, Inc. | Method for determining metrics of a content delivery and global traffic management network |
US7574499B1 (en) * | 2000-07-19 | 2009-08-11 | Akamai Technologies, Inc. | Global traffic management system using IP anycast routing and dynamic load-balancing |
US7653700B1 (en) * | 2000-11-16 | 2010-01-26 | Microsoft Corporation | System and method for performing client-centric load balancing of multiple globally-dispersed servers |
US20020184368A1 (en) * | 2001-04-06 | 2002-12-05 | Yunsen Wang | Network system, method and protocols for hierarchical service and content distribution via directory enabled network |
US7185052B2 (en) * | 2001-05-16 | 2007-02-27 | Akamai Technologies, Inc. | Meta content delivery network system |
US20030079027A1 (en) * | 2001-10-18 | 2003-04-24 | Michael Slocombe | Content request routing and load balancing for content distribution networks |
US7289519B1 (en) * | 2002-05-01 | 2007-10-30 | Cisco Technology, Inc. | Methods and apparatus for processing content requests using domain name service |
JP2004266568A (ja) | 2003-02-28 | 2004-09-24 | Nec Corp | 名前解決サーバおよびパケット転送装置 |
US7499998B2 (en) * | 2004-12-01 | 2009-03-03 | Cisco Technology, Inc. | Arrangement in a server for providing dynamic domain name system services for each received request |
US8028090B2 (en) * | 2008-11-17 | 2011-09-27 | Amazon Technologies, Inc. | Request routing utilizing client location information |
US20090083413A1 (en) | 2007-09-24 | 2009-03-26 | Levow Zachary S | Distributed frequency data collection via DNS |
US7970820B1 (en) * | 2008-03-31 | 2011-06-28 | Amazon Technologies, Inc. | Locality based content distribution |
US7925782B2 (en) * | 2008-06-30 | 2011-04-12 | Amazon Technologies, Inc. | Request routing using network computing components |
US20100088405A1 (en) * | 2008-10-08 | 2010-04-08 | Microsoft Corporation | Determining Network Delay and CDN Deployment |
US8447856B2 (en) * | 2008-11-25 | 2013-05-21 | Barracuda Networks, Inc. | Policy-managed DNS server for to control network traffic |
US8234369B2 (en) | 2008-12-23 | 2012-07-31 | Verizon Patent And Licensing Inc. | Web page response monitoring |
JP5509754B2 (ja) * | 2009-09-15 | 2014-06-04 | 株式会社リコー | ソフトウェア管理装置、ソフトウェア配信システム、インストール方法およびプログラム |
US20110078327A1 (en) * | 2009-09-30 | 2011-03-31 | Prime Networks (Hong Kong) Limited | Content delivery utilizing multiple content delivery networks |
WO2011046790A1 (en) * | 2009-10-13 | 2011-04-21 | Martin Kagan | Dns application server |
CN102656579A (zh) | 2009-11-04 | 2012-09-05 | 塞德克西斯公司 | 互联网基础设施调查 |
EP2510453B1 (en) * | 2009-12-07 | 2016-10-12 | Coach Wei | Website performance optimization and internet traffic processing |
US8688775B2 (en) * | 2010-05-28 | 2014-04-01 | Juniper Network, Inc. | Application-layer traffic optimization service spanning multiple networks |
US8606847B2 (en) * | 2010-05-28 | 2013-12-10 | Juniper Networks, Inc. | Application-layer traffic optimization service map updates |
US8577992B1 (en) * | 2010-09-28 | 2013-11-05 | Amazon Technologies, Inc. | Request routing management based on network components |
US8943170B2 (en) * | 2011-07-08 | 2015-01-27 | Ming Li | Content delivery network aggregation with selected content delivery |
US8775564B1 (en) * | 2013-12-31 | 2014-07-08 | Limelight Networks, Inc. | Time based CDN traffic allocation |
-
2010
- 2010-10-07 WO PCT/US2010/051720 patent/WO2011046790A1/en active Application Filing
- 2010-10-07 CN CN201080052941XA patent/CN102667749A/zh active Pending
- 2010-10-07 EP EP10823851.0A patent/EP2488957B1/en active Active
- 2010-10-07 US US13/502,100 patent/US9553844B2/en active Active
-
2017
- 2017-01-23 US US15/412,310 patent/US9992157B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2000014940A1 (en) * | 1998-09-03 | 2000-03-16 | Sun Microsystems, Inc. | System for responding to a resource request |
US20060112176A1 (en) * | 2000-07-19 | 2006-05-25 | Liu Zaide E | Domain name resolution using a distributed DNS network |
CN101310476A (zh) * | 2005-12-28 | 2008-11-19 | 香港应用科技研究院有限公司 | 基于dns的客户机-服务器系统及其在电子设备里的使用 |
CN101052005A (zh) * | 2006-01-25 | 2007-10-10 | 国家研究开发公司 | 访问网络中的分布式服务 |
US20070214283A1 (en) * | 2006-03-07 | 2007-09-13 | Metke Anthony R | Method and apparatus for automated infrastructure ad hoc mode and autonomous ad hoc mode selection |
Also Published As
Publication number | Publication date |
---|---|
US20120246290A1 (en) | 2012-09-27 |
US9553844B2 (en) | 2017-01-24 |
WO2011046790A1 (en) | 2011-04-21 |
US9992157B2 (en) | 2018-06-05 |
EP2488957A1 (en) | 2012-08-22 |
EP2488957B1 (en) | 2019-12-04 |
EP2488957A4 (en) | 2013-06-12 |
US20170134338A1 (en) | 2017-05-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102667749A (zh) | Dns应用服务器 | |
US8065417B1 (en) | Service provider registration by a content broker | |
US8577992B1 (en) | Request routing management based on network components | |
US9160703B2 (en) | Request routing management based on network components | |
CN101981572B (zh) | 请求路由 | |
US8060616B1 (en) | Managing CDN registration by a storage provider | |
CN102077189B (zh) | 使用网络计算组件的请求路由 | |
US9003035B1 (en) | Point of presence management in request routing | |
US7958246B2 (en) | Establishing unique sessions for DNS subscribers | |
US10097398B1 (en) | Point of presence management in request routing | |
CN102047243A (zh) | 基于类别请求路由 | |
CN103119915A (zh) | 在联网环境中请求路由选择 | |
CN101600000A (zh) | IPv6用户访问IPv4站点的数据通信方法和系统 | |
US7987291B2 (en) | Data distribution using DNS | |
CN103338278A (zh) | 一种网页浏览加速方法及装置 | |
US20210176301A1 (en) | Method and apparatus for multi-vendor gtm fabric | |
CN107395778B (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 | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20120912 |