Dns应用服务器的制作方法

文档序号:6351180阅读:223来源:国知局
专利名称:Dns应用服务器的制作方法
技术领域
本发明总体上涉及数据通信,并且尤其涉及用于访问计算机资源的方法、系统和计算机程序产品。相关串请本申请要求于2009年10月13日提交的题为“DNS Application Server”的美国临时专利申请61/251,136和于2009年11月11日提交的题为“Resource InfrastructureData Survey”的美国临时专利申请61/258,042的权益,上述二者通过引用结合于此。
背景技术
web客户端通过发起域名系统(DNS)查询以便解析诸如www. example, com的完全限定域名(FQDN)或主机名来获得用于访问互联网资源(“资源”)的互联网协议(IP)地址。IP地址使得web客户端能够创建通过其与资源进行通信的IP连接。FQDN到IP地址的解析或转换在 P. Mockapetris 的题为 “DOMAIN NAMES IMPLEMENTATION 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响应的
>j-U ρ α装直。依据本发明另外的实施例,还提供了一种包括计算机可读介质的计算机程序产品,计算机可读介质包括计算机可读程序,当计算机可读程序在计算机上执行时,计算机可读程序使得计算机接收用于解析主机名的DNS查询,接收状态数据,通过由主机名指示的名称调用包括计算机可执行指令的代码,将状态数据输送至代码,从代码接收对基础设施的选择,以及生成将解析定向到基础设施的DNS响应。根据以下对本发明实施例的详细描述,本发明将被更全面地理解。


图I是根据本发明实施例的用于提供对包括DNS应用服务器的互联网资源的访问的系统的示意性图示;图2是根据本发明实施例的用于配置选择器代码的系统的示意性图示;以及图3是根据本发明实施例的用于提供对互联网资源的访问的处理的流程图。
具体实施例方式图I是根据本发明实施例的用于提供对包括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的域名服务器功能,诸如通常通过用户数据报协议(TOP)接收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的名称可以是Scodel。随选择器代码28的调用而被包括或者在选择器代码28的调用之后,前端24向选择器代码28发送选择器请求36,其是提供状态数据集合的消息或连接。可以利用应用引擎30将选择器请求36输送至选择器代码28。该请求可以通过诸如Java MessageService(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域内的主机名的数据库之类的资源,上述数据库诸如RPhostl. example, com。为了得到对该资源的访问,web客户端请求到指示主机名和资源名称的URL的连接,即RPhostl. 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被配置为具有映射以将主机名RPhostl. example, com重定向至前端24对其具有权威性的主机别名。在本发明的实施例中,前端24对于与由资源提供方所拥有的域不同的域具有权威性。例如,在说明性情形中,前端24可以对域DNSappserv.net具有权威性。由RP域名服务器46返回的主机别名包括两个部分,一个是前端24对其具有权威性的域DNSappserv. net,而另一个部分是包括选择器代码的名称或指示符的关键字串。关键字串还可以包括具体指不资源提供方的标签。关键字串中还可以包括附加的指示符,包括待传递至选择器代码的参数。在示例性情形中,对于选择器代码“Scodel”和资源提供方指示符“RP1”而言,关键字串可以被定义为Scodel-RPl。以资源记录格式编写的相对应的主机别名可以是Scodel-RPLDNSappserv.net。关键字串中所包括的指示符无需通过字符(诸如点或连字符)进行定界。指示符也可以被编码。由RP域名服务器46给出的指定了主机别名Scodel-RPl. DNSappserv. net的DNS响应被返回至解析器。解析器确定前端24是被注册为解析主机别名的权威域名服务器,并且向前端24发出新的DNS查询56以用于解析主机别名。前端24解析主机别名以提取选择器代码28的标识符,也就是“Scodel”。前端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连接或者到事务应用服务器的连接的时间)、传输速度(通常以字节/秒进行测量)、错误率(诸如坏字节或坏分组的百分比)、连接抖动(对诸如传输速度或错误率的可变性之类的质量可变性的测量)和可用性比率(例如,连接或服务完成的比率)。基础设施使用状态数据可以包括对瞬时突发速率(S卩,由基础设施所传送和/或接收的资源内容以字节/秒来测量的瞬时吞吐量)和合计使用(即,在给定时间段内所传输的字节总数)的统计。基础设施使用状态数据还可以包括所服务的请求的数目、开放连接的数目、事务处理率(transaction rate)、临界阈值(threshold margin)、月下载总量或合计处理负载。前端24可以基于在关键字串中包括的资源提供方指示符来限制所接收的状态数据。例如,在这里所描述的示例性情形中,传递至选择器代码“Scodel”的状态数据将被限制为与基础设施44a和44b相关的状态数据。在以下关于图2进一步描述的一个实施例中,当上传选择器代码时,资源提供方还指定与代码相关的状态数据变量的集合。前端24还可以基于web客户端位置来限制所接收的状态数据,web客户端的位置的范围可以从给定的网络或城市到国家或大陆。由web客户端体验到的访问质量可以根据web客户端位置而大幅变化。结果,响应于来自具体web客户端的DNS查询,对访问质量的相关测量是从相同的接近web客户端位置所确定的那些测量。对访问质量和使用的测量也可以通过对多个状态数据测量进行平均来确定。一旦接收到选择器请求36,选择器代码就对所接收的状态数据的集合执行一个或多个逻辑运算和数学运算,以便选择客户端将在那里访问所期望资源的基础设施。在一个实施例中,选择器代码中的逻辑确定偏好指标(preference index),从而使得具有最佳(最高或最低)偏好指标的基础设施被选择为最优。偏好指标可以是在成本和访问质量之间的最优权衡的函数。
选择器代码可以包括资源提供方为每个基础设施的不同类型的使用而支付的价格(即,定价费率表),包括突发费用(burst rate)和承诺水平价格。例如,基础设施44a和44b可以分别是主要基础设施和次要基础设施。资源提供方可以每个月为主要基础设施的使用而支付统一费用,直到已经达到了某合同所规定的承诺水平的使用。超出合同所规定的承诺水平的使用可以以更高的费率进行计费。结果,选择器代码可以被配置为将主要基础设施的合同所规定的承诺水平与状态数据中所包括的合计使用测量进行比较。当已经达到合同所规定的承诺水平时,选择器代码可以选择次要基础设施而不是主要基础设施。类似地,如果针对主要基础设施的定价针对不同水平的突发费用而改变,则次要基础设施可以是优选的,也就是说,在突发费用超过合同所规定的标准水平时次要基础设施是最优的。选择器代码还可以被编程为仅在对次要基础设施的访问质量的一个或多个实时测量满足最低标准的另外情况下才选择次要基础设施。因此,可以理解的是,选择器代码可以被编程为优化访问质量和基础设施成本,其中实现这样的优化可以包括在两个目标之间进行权衡。选择器代码的实施不需要被限制为具体的编程语言或编程范例。在一个实施例中,选择器代码以通用脚本语言PHP进行编程。应用引擎可以是PHP解释程序,或者可以对脚本化的选择器代码进行编译以便在没有解释程序的情况下执行。在附件I的示例选择器程序中,通过将基础设施的成本因数乘以基础设施的响应时间来针对每个基础设施计算偏好指标,响应时间包括在状态数据中。选择器代码生成包括新的主机别名的输出38,这是针对基础设施44a和44b之一的主机名解析。例如,针对基础设施44a的主机名解析可以是RPhostl. cdl. net,而针对基础设施44b的主机名解析可以是RPhostl. 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的示意性图示。在以上关于图I所描述的本发明实施例中,选择器代码被置于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)之类的集成电路。所要理解的是,以上所描述的实施例通过示例被加以引用,并且本发明并不局限于以上已经特别示出和描述的内容。相反,本发明的范围包括以上所描述的各种特征的组合和子组合二者,以及本领域技术人员在阅读了以上描述之后可以对其进行的没有在现有技术中所公开的变化和修改。附录样本选择器代码< php /* * Sample App: Optimize for Cost * Description: Use CDNresponse times and per-CDN costs to select most cost-effective CDNprovider */
function process_request($request,$radar) { /* * $request provides all ofthe request parameters
*provided by the user. $radar provides an array of CDN*response times relevant to the requester. */
// Set the return URLs to use depending on the provider$address["edgecast"] = ”wac.l3BE.edgecastcdn.net,edgecast”;
$ addres s [" cdnetworks" ] = "nl.panthercdn.com,cdnetworks";$address["yacast"] = "http5 .mhvcdn.yacast.net,yacast";
// Set provider costs selected. $cost["edgecast"] = 21;·$cost["cdnetworks"] = 20;
$cost["yacast"] = 20;
// Sort the response times from low to high.asort($radar[Mhttp_rtt"]);
Il Sort the costs from low to high, asort($cost);
// Select from among the address that we have performancedata SavailableAddrs = array_intersect_key(Saddress,
$radar["http_rtt"]);
// Next select from the addresses that we have price datafor SpricedAddrs = array—intersect—key( $cost,
SavailableAddrs);
//rank the remaining addresses from low to highasort($pricedAddrs);
//initialize selector response $response =
/* For each provider that has price and performance data,*we will determine the current cost by multiplying the*cost value of the provider by the response time* of the provider. This gives us best value provider. */foreach ($pricedAddrs as $key => $value) { $costed[$key]=$value * $radar["http_rtt"][$key]; }
Il Sort the list based on the cost/response time value.asort($costed);
// double check that a response address exists, return itif ($address[key($costed)]) { return$address[key($costed)]; }
// Otherwise, return the default, return $default_url; } >
权利要求
1.一种用于提供对互联网资源的访问的方法,包括 接收用于解析主机名的DNS查询; 接收状态数据; 通过由所述主机名指示的名称调用代码; 将所述状态数据输送至所述代码;· 从所述代码接收对基础设施的选择;以及 生成将解析定向到所述基础设施的DNS响应。
2.如权利要求I所述的方法,其中将所述解析定向到所述基础设施包括提供到主机别名的重定向。
3.如权利要求I所述的方法,其中将所述解析定向到所述基础设施包括提供所述主机名到IP地址的解析。
4.如权利要求I所述的方法,其中接收所述基础设施的选择包括接收由所述代码确定的关于基础设施成本和访问质量的函数的最优的结果。
5.如权利要求I所述的方法,其中输送所述状态数据包括输送专用于web客户端位置的状态数据。
6.如权利要求I所述的方法,其中所述主机名包括资源提供方指示符,并且其中输送所述状态数据包括输送专用于所述资源提供方指示符的状态数据。
7.如权利要求I所述的方法,其中所述状态数据包括对基础设施使用的测量。
8.如权利要求I所述的方法,其中所述状态数据包括对访问质量的测量。
9.如权利要求I所述的方法,其中所述状态数据包括web客户端位置。
10.如权利要求I所述的方法,其中接收所述DNS查询包括注册权威域名服务器以接收所述DNS查询和从解析器接收所述DNS查询,并且其中生成所述DNS响应包括将所述DNS响应传送至所述解析器。
11.如权利要求I所述的方法,其中所述主机名包括域和关键字串,并且其中由所述主机名指示的所述代码的所述名称由所述关键字串所指示。
12.如权利要求I所述的方法,还包括接收所述代码,其中所述代码包括计算机可执行指令。
13.如权利要求12所述的方法,其中接收所述代码包括通过门户网站接收所述代码。
14.如权利要求I所述的方法,其中调用所述代码包括执行所述代码的实例和使针对所述代码的所述实例的请求排队。
15.如权利要求I所述的方法,其中调用所述代码包括在受限的运行时环境中执行所述代码。
16.一种用于提供对互联网资源的访问的系统,包括 应用引擎,其被配置为具有用于接收包括计算机可执行指令的代码并且执行所述代码的实例的装置;以及 前端,其被配置为具有用于接收用于解析主机名的DNS查询,接收状态数据,通过由所述主机名指示的名称调用所述代码的所述实例,将所述状态数据输送至所述代码的所述实例,从所述代码的所述实例接收对基础设施的选择,以及生成将解析定向到所述基础设施的DNS响应的装置。
17.—种包括计算机可读介质的计算机程序产品,所述计算机可读介质包括计算机可读程序,当所述计算机可读程序在计算机上执行时,所述计算机可读程序使得所述计算机接收用于解析主机名的DNS查询,接收状态数据,通过由所述主机名指示的名称调用代码,将所述状态数据输送至所述代码,从所述代码接收对基础设施的选择,以及生成将解析定向到所述基础设施的DNS响应。
全文摘要
一种用于提供对互联网资源的访问的方法,包括接收包括待解析的主机名的DNS查询,接收状态数据,通过由主机名指示的名称调用代码,将状态数据输送至代码,从代码接收对基础设施的选择,以及生成将解析定向到基础设施的DNS响应。
文档编号G06F15/16GK102667749SQ201080052941
公开日2012年9月12日 申请日期2010年10月7日 优先权日2009年10月13日
发明者M·卡甘 申请人:塞德克西斯公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1