用于检测多个ip地址的系统和方法

文档序号:7689655阅读:222来源:国知局
专利名称:用于检测多个ip地址的系统和方法
技术领域
本发明涉及一种访问用于给定的域名的多于一个IP地址的系统和方法。 更具体地,本发明从联网的库中检索域名的多个IP地址,并且将列表返回 给其中用户从该列表选择各地址之一的客户端。
背景技术
域名服务器负责解析到因特网协议(IP)地址的域名。当用户输入统一资源定位符(URL)(如www.ibm.com )时,域名系统(DNS)服务器被用来查找 Web站点(网站)的IP地址(在此情形中,国际商业机器公司的Web站点)。 域名是极其方便的,因为它们比相对长的、数字的地址更"用户友好"。因 为人们记忆词或短语远远胜过数字地址,所以域名极大地帮助用户定位特定 的Web站点。客户端(如运行"浏览器"软件的个人计算机)连接到大的计算 机网络,如因特网。当用户将URL(其包括域名)输入Web浏览器中时,DNS 服务器^皮用来查找该URL的IP地址并返回该IP地址,因此该IP地址能够 被用来访问网络资源(例如,IBM Web站点)。存在大量的DNS服务器,其在大的计算机网络(如因特网)上提供域 名解析。特定的客户端将经常存储几个DNS服务器地址(例如, 一级和二级 DNS服务器)。这些DNS服务器地址引用确定特定的客户端将使用哪个DNS 服务器来解析域名资源的请求。尽管DNS使得定位网络资源的任务更容易, 但是目前的系统还面对特定的各种挑战。面对目前的DNS的一个挑战是,通过规则,DNS服务器对于任何给定 的URL仅仅能够包括一个IP地址。这是挑战因为尽管DNS通常是大的分 布式数据库,但是由一个DNS服务器维护的给定的URL的IP地址没有必 要是与由另一个DNS服务器维护的相同的IP地址。为什么给定的URL的 各IP地址从一个DNS服务器到下一个DNS服务器不同,存在许多理由。 有时候IP地址基于法律、语言差别等纟皮有目的地改变。因为IP地址可能不 同,所以提供服务(如客户帮助台(help desk)操作)正日益受到挑战。使用 一个DNS服务器的帮助台雇员,可能访问与正在使用不同的DNS服务器 的客户不同的ip地址(因此不同的内容)。面对目前的DNS的另一个挑战在基于用户的需要重新引导用户到不同 的Web站点方面。例如,某些企业有各种商业单位和/或商业伙伴,其每个 有它们自己的网络存在。然而,如果用户不能够记住他或她希望访问的各个 商业单位/伙伴的名称(例如,域名),则该用户经常需要首先访问一级商业站 点,并且浏览到其它商业单位/伙伴的"链接"列表。这导致一级站点接收可 能被引导离开该一级站点的业务。如果一级站点正在经历问题或者不可用, 则加剧了这种挑战,因为用户将不能容易地访问商业单位/伙伴的站点。发明内容已经发现利用一种系统、方法和计算机程序产品解决了上述挑战,该系 统、方法和计算机产品收集其每个对应于共同域名的多个IP地址。提供了 域名的列表用来收集相对应的IP地址。对于每个接收的域名,从大量DNS 表中检索IP地址。从为每个域名检索的收集的IP地址中识别唯一的IP地址。 所述域名和它们相关联的IP地址被存储在域名库中。在另一个实施例中,从各DNS表检索IP地址包括从管理各种DNS 表的DNS服务器请求每个IP地址。在该实施例中,在所述域名库中,存储 与提供识别的唯一 IP地址之一的每个DNS服务器相对应的DNS服务器IP 地址。在一个实施例中,在访问域名库的第 一服务器接收来自客户端计算机系 统的请求。所述请求通过计算机网络接收,并且所述请求包括请求的域名。 所述第一服务器识别请求是多个IP地址请求,并且从域名库检索响应的多 个IP地址,其中所述响应的IP地址的每个对应于请求的域名。然后将响应 的多个IP地址发送到客户端计算机系统。在另一个实施例中,在客户端计算机系统接收响应的多个IP地址,并 且在显示屏幕上显示给用户。该用户然后选择IP选择之一。将请求发送到, 对应于由该用户选择的IP地址的第二服务器(如web服务器)。在另一个实 施例中,动态地将该客户端计算机系统的缺省DNS服务器改变为提供由用 户选择的所述IP地址的DNS服务器。在一个实施例中,访问网络资源,该网络资源对应于存储在域名库中的唯一识别的IP地址之一。从所述被访问的网络资源检索描述文本数据,并 且与域名和唯一的IP地址一起被存储在域名库中。在另 一个实施例中,访问域名库的第 一服务器从客户端计算机系统接收 请求,所述请求通过计算机网络接收,并且所述请求包括请求的域名。所述 请求被识别为多个IP地址请求。从域名库冲全索响应的多个IP地址,所述响 应的IP地址的每个对应于由用户请求的域名。从域名库检索DNS服务器IP地址和描述文本数据,所述DNS服务器IP地址和描述文本数据的每个对应 于所检索的IP地址之一。然后将所述响应的多个IP地址、响应的多个DNS 服务器IP地址、和响应的多个描述文本数据发送到所述客户端计算机系统。在另 一个实施例中,在客户端计算机系统接收所述响应的多个IP地址、 响应的多个DNS服务器IP地址和响应的多个描述文本数据。在客户端计算 机系统显示所述数据,并且用户选择各选择之一。对应于该选择的IP地址 被用来从网络资源(如web站点)请求数据。前文是概述,并且因此根据必要性包括细节的简化、概括和省略;因此, 本领域技术人员将意识到,该概述仅仅是说明性的,并且意图不在于用任何 方式限制。在下文提出的非限制的详细描述中,仅仅由权利要求定义的本发 明的其它方面、发明性特征和优点将变得明显。


通过参照附图,本发明可以被更好地理解,而且使得其许多目的、特征 和优点对本领域技术人员明显,在附图中图1是示出用来给客户端提供对应于单个域名的多个IP地址的各组件 的系统图的实施例;图2是示出由收集对应于单个域名的一个或多个IP地址的DNS抓取器 应用采取的各步骤的流程图的实施例;图3是示出由DNS抓取器收集的、并存储在域名库中的数据的细节的 流程图的实施例;图4是示出在客户端请求域名解析并且服务器提供一个或多个对应于请 求的域名的IP地址的情况下,由客户端和服务器采取的各步骤的流程图的 实施例;图5是示出由图4的服务器采取的、用于检索对应于请求的域名的所有已知的IP地址的各步骤的细节的流程图的实施例;图6是示出由图4的客户端采取的、用于管理由服务器返回的多个IP 地址的各步骤的细节的流程图的实施例;图7是示出在图4和6中示出的客户端从由服务器返回的多个IP地址 列表中、选择IP地址的细节的流程图的实施例;图8是示出在图6和7中示出的客户端可选地改变由客户端使用的DNS 服务器、以符合由服务器返回并且由该客户端选择的IP地址的细节的流程 图的实施例;图9是示出使用增强的DNS服务器的替代实施例的系统图的实施例, 该增强的DNS服务器维护具有多个IP地址的DNS表;图IO是示出每个域名具有多个IP地址的增强的DNS表的细节的图的 实施例;图ll是示出由客户端和增强的DNS服务器采取的、用来提供与由客户 端请求的域名相对应的多个IP地址的各步骤的流程图的实施例;以及图12是数据处理系统的方块图的实施例,在该数据处理系统中能够实 现在此描述的各方法。
具体实施方式
下面旨在提供本发明的例子的详细描述,并且不应该被当作本发明自身 的限制。相反,任何数量的变化可以落入由权利要求定义的本发明的范围内。图1是示出用来给客户端提供对应于单个域名的多个IP地址的各组件 的系统图。客户端计算机系统IOO发送域名解析请求,以便解析给定域名的 IP地址。网络服务提供商120为客户端计算机系统IOO提供网络连接性,允 许客户端计算机系统IOO连接到计算机系统150。在客户端计算机系统上运 行的客户端应用的例子是浏览器软件应用。大的组织可以提供网络服务提供 商120,而家用的和小的企业经常使用因特网服务提供商(ISP)来连接到计算 机网络。客户端计算机系统连接到其的计算机网络的 一个例子是因特网。客户端IOO典型地识别少量的域名服务(DNS)服务器,该客户端从该少 量的域名服务服务器接收对应于域名的IP地址。当客户端100正在检索对 应于域名的单个IP地址时,客户端识别的(例如,缺省的)DNS服务器被访 问。在图1中所示的例子中,DNS服务器A(130)被用来解析域名。当DNS服务器A 130接收域名时,它从其目录(域名目录A 140)中检索对应于域名的 IP地址。许多DNS服务器存在于大的计算机网络(如因特网)中。由于各种原 因,对应于域名的IP地址可能从一个DNS服务器到下一个不同。在图1中, 示出DNS服务器B(160)具有相应的域名目录B(170)。为给定域名列出的IP 地址可以是目录A(140)中的一个IP地址和目录B(170)中的不同IP地址。换 句话说,使用DNS服务器A(130)的客户端计算机系统将被引导到与使用 DNS服务器B(160)的另一个客户端计算机系统不同的网络资源(例如,Web 页等)。如果客户端计算机系统IOO是由正试图帮助正使用DNS服务器B的 客户的帮助台技术人员正在使用的帮助台计算机,则由客户提出的问题或疑 问可能不出现在帮助台技术人员面前,因为该客户端计算机系统正访问不同 的IP地址,因此不同的网络资源(例如,Web页)正由客户端访问。在一个实施例中,DNS抓取器175通过从对应于相同域名的许多DNS 服务器检索许多IP地址,帮助解决该矛盾。对应于相同域名的唯一的IP地 址由DNS抓取器175收集,并且存储在域名库180中。返回到客户端计算机系统100,如果客户端希望^f企索给定域名的多个IP 地址,则域名解析请求从识别域名并且指示多个IP地址被请求(如果可用 的话)的客户端计算机系统发送。网络服务提供商120或客户端的DNS服 务器(例如,DNS服务器A 130)将该请求转发到库服务器190。该库服务器 访问域名库180,并且检索已经(由DNS抓取器175)找到的所有IP地址,以 便与请求的域名相符。该多个IP地址响应由库服务器190发送回客户端计 算机系统。该多个IP地址响应能够包括除了多个IP地址外的其它信息。该 另外的信息能够包括DNS服务器IP地址,其中该IP地址(例如,DNS月l 务器A 130或B 160的IP地址)由DNS抓取器175发现;以及从在给定的IP 地址的网络资源(例如,Web站点)检索的描述文本。选择对话窗105在客户端计算机系统被显示,详述被发现对应于请求的 域名的多个IP地址。在一个实施例中,客户端计算机系统100的用户具有 将客户端计算机系统100使用的缺省的DNS服务器IP地址、改变为提供由 用户选择的IP地址的DNS服务器IP地址的选择。换句话说,如果用户选择 在窗105中显示的由DNS服务器B 160提供的IP地址,则客户端计算机系 统100的缺省DNS服务器IP地址将被改变为指向DNS服务器B 160,而不是DNS服务器A 130。图2是示出由收集对应于单个域名的一个或多个IP地址的DNS抓取器 采取的各步骤的流程图。在图2中,由DNS抓取器(例如,在图1中显示的 DNS抓取器175)执行的处理开始于200。在步骤210,从域名数据存储215 选择第一域名。存储在域名数据存储215中的域名与由使用得到的域名库 180的客户端所需的服务范围有关。例如,如果组织正在使用DNS抓取器来 识别遍及计算机网络(例如,遍及因特网)对应于该组织的域名的IP地址,则 其中该组织感兴趣的域名将被存储在域名数据存储215中。另一方面,如果 得到的域名库180旨在由具有不同需要的各种客户端使用,则巨大数量的域 名将被存储在域名数据存储215中。各种域名能够从各种DNS服务器或者 从搜索引擎收集,该搜索引擎跟踪被搜索引擎的用户请求的域名。在步骤220, DNS抓取器从DNS服务器地址列表225检索第一 DNS服 务器地址,并且从选择的DNS服务器接收选择的域名的IP地址。在DNS可以决定仅仅包括来自已知的相对等效的DNS服务器组中的单个DNS服务 器,以便减少被搜索的DNS服务器的数量。而且,基于服务器的位置(例如, 该服务器所处的国家),DNS服务器可以被包括在DNS服务器地址列表225 中。用此方式,由于各种国家的法律要求或者国籍而具有不同IP地址的DNS 服务器可以被包括在DNS服务器地址列表225中。在步骤240,在域名库180中检查选择的域名和从选择的DNS服务器接库180的决定(决定250)。如果该IP地址不存在于对应于该域名的域名库 180中,则决定250分支到"否"分支255,因此,在预定过程260,域名库 180被更新(见图3和关于对域名库180进行的更新的处理细节的相应文本)。 另一方面,如果接收的IP地址字段已存在于对应于该域名的域名库180中, 则决定250分支到"是"分支265,绕过预定过程260。定2 70)。如果存在多个DNS服务器要检查,则决定270分支到"是"分支 272,其循环回来从列表225选择下一个DNS服务器,并且从下一个选择的 DNS服务器接收和处理IP地址。该循环继续直到不存在更多的DNS服务器 要检查,在此点决定270分支到"否"分支275。在循环遍各DNS服务器之后,做出关于在域名数据存储215中是否存 在更多域名要处理的另一个确定(决定280)。如果存在另外的域名要检查, 则决定280分支到"是"分支282,其循环回来从域名数据存储215选择下 一个域名,并且收集对应于重新选择的域名的IP地址。该循环继续直到不 存在更多的域名要处理,在此点决定280分支到"否"分支285,并且DNS 抓取器处理在295结束。图3是示出由DNS抓取器收集的并且存储在域名库中的数据的细节的 流程图。该过程由如图2中所示的预定过程步骤260调用。图3处理在300 开始,因此,在步骤310,在域名库180创建新项目。如所示,域名库180 包括四个字段。这些字段包括域名字段325,其被用来存储域名(例如, ibm.com)。所述字段还包括IP地址字段335,其被用来存储IP地址,其中 域名在由各DNS服务器之一维护的各DNS表(DNS目录)之一中被引用。在 域名库180中的这些字段还包括DNS IP地址字段345,其被用来存储其中 发现该域名的该IP地址的DNS服务器的IP地址。最后,域名库180包括描 述文本字段375,其被用来存储与其中发现该域名的该特定IP地址相对应的 描述文本。在一个实施例中,存储在描述文本字段375中的描述文本通过访 问对应于该IP地址的网络资源(例如,web站点)收集。在选^^哪个IP地址 来访问时该描述文本对终端用户有用。例如,假定如xyz.com的域名具有至少两个不同的IP地址,在中国的 一个具有中文Web页,而在美国的一个具有英文Web页。这两个IP地址的 域名字段将是相同的(xyz.com), IP地址将是两个不同的数字,并且DNS服 务器IP地址也将不同(例如, 一个是美国的DNS服务器,而一个是中国的 DNS服务器)。最后,从由这两个IP地址寻址的Web页收集的描述文本不同, -一个将是英文文本,另一个将是中文文本。当呈现给请求对应于xyz.com 的IP地址的用户时,域名将不会提供进一步有用的信息,因为用户已经知 道xyz.com是正在搜索的域名。而且,尽管彼此不同,所述IP地址和DNS 服务器IP地址信息为数字格式,并且因此让用户难以在二者之间区分。然 而,描述文本在被显示给用户时,将在xyz.com站点的中文版和该站点的英 文版之间易于区分,因为一个描述文本将以英文出现,而另一个将以中文出 现。在一个实施例中,DNS抓取器收集描述文本,如在步骤350所示。然而, 如果期望域名库180将相当大,则该系统能够在步骤350约束收集描述文本,12并且能够替代收集当域名实际被用户请求时的描述文本。在步骤320,域名被添加到在域名库180中创建的新条目(例如,添加 "xyz.com")。在步骤330,由引用xyz.com域名的各DNS服务器之一识别 的IP地址被添加到域名库180。在步骤340,其中发现特定IP地址的DNS 服务器IP地址被添加到域名库180。在步骤350,由所述IP地址引用的网络资源(如Web站点)被访问, 并且所述描述文本从该网络资源收集并且被包括在域名库180的描述文本字 段375中。如所示,该IP地址被用来通过计算机网络150从网络资源360 请求数据。在步骤370,网络资源(例如,Web页)将数据(例如,网页)返 回到DNS抓取器应用,并且标题或其它的描述文本从返回的数据提取并且 被存储在描述文本字段375中。在用于重新创建的条目的数据已经被添加到域名库180后,在步骤395, 如图3中所示的处理结束并且处理返回到调用例程(图2)。图4是示出在客户端请求域名解析并且服务器提供一个或多个对应于请 求的域名的IP地址的情况下,由客户端和服务器采取的各步骤的流程图。 客户端处理在400开始,因此,在步骤405,用户在客户端计算机系统设置 并且存储选项。这些选项由运行在客户端计算机系统上的一个或多个软件应 用(如web浏览器)使用。这些选项包括是否客户端希望接收用于给定域 名的多个IP地址;是否系统应该动态改变客户端缺省DNS服务器IP地址以 便与多个IP地址选择相符;以及是否该客户端想要让描述文本信息被显示, 即使这样的信息不由执行域名解析的服务器提供。在步骤410,在指示期望多个IP地址之后,客户端将域名输入软件应用 (如浏览器),并且将请求的域名发送到正在为客户端执行域名解析的服务 器(例如,缺省的DNS服务器等)。域名解析请求415通过计算机网络(如因 特网)发送到缺省服务器。域名解析服务器处理在420开始,因此,在步骤425,服务器从其各客 户端之一接收请求。做出关于客户端是否正在请求与在客户端的请求中提供 的域名相对应的多个IP地址的确定(决定430)。如果客户端没有请求与所述 域名相对应的多个IP地址,则决定430分支到"否,,分支435,因此,在步 骤440,使用标准DNS解析(例如,使用由该特定的域名服务器维护的域名 目录,而不涉及由其它DNS服务器为该域名维护的IP地址)检索单个IP地址。该单个IP地址(或者错误,如果没有找到该域名)被返回到客户端作为响应分组450。另一方面,如果为所述域名请求多个IP地址,则决定430 分支到"是"分支455,因此,在预定过程460,对应于该域名的所有已知 IP地址被检索,并且在多个IP地址响应465中返回到客户端(见图5和检索 所有这样的已知IP地址涉及的处理细节的相应文本)。如将在图5的描述中 解释的,响应分组465除了实际的IP地址外,还包括其它的信息,如DNS 服务器IP地址和描述文本信息。返回到客户端处理,在步骤470,客户端从客户端的缺省域名解析服务 器接收响应。然后做出关于所述客户端是否正在请求多个IP地址的确定(决 定475)。如果没有请求多个IP地址,则决定475分支到"否"分支480,因 此在步骤485,客户端自动使用返回的IP地址,以从由该返回的IP地址引 用的网络资源请求数据,如来自由返回的IP地址引用的web站点的Web页。 另一方面,如果客户端正在请求多个IP地址,则决定475分支到"是"分 支490,因此,在预定过程495,对应于多个IP地址的信息被显示给用户并 且系统处理该多个IP地址响应。图5是示出由图4的服务器采取的、用于检索对应于请求的域名的所有 已知的IP地址的各步骤的细节的流程图。用来检索与请求的域名相对应的 所有已知IP地址的处理在500开始,因此,在步骤510,在域名库180中搜 索请求的域名的第一条目。做出关于用于请求的域名的条目是否在域名库 180中发现的确定(决定520)。如果用于请求的域名的条目没有发现,则决定 520分支到"否"分支525,因此,在步骤530,错误被返回到所述客户端, 指示请求的域名没有发现。另一方面,如果在域名库180中发现域名,则决定520分支到"是"分 支535,并且做出关于在域名库180中是否存在用于该域名的多个IP地址的 另一个确定(决定540)。如果不存在用于该域名的多个条目,则决定540分 支到"否"分支545,因此,在步骤550,创建响应分组465,其包括为该域 名找到的单个IP地址、其中发愁该IP地址的DNS服务器的DNS服务器IP 地址、以及描述文本信息(如果有)。在步骤590,响应分组465被返回到客 户端计算机系统。返回到决定540,如果发现用于请求的域名的多个条目,则决定540分 支到"是"分支555,因此,在步骤560,响应分组465被创建,并且为该域名找到的第一 IP地址、其中发现该第一 IP地址的DNS服务器的DNS服 务器IP地址、和对应于该第一 IP地址的描述文本信息(如果有),被插入响 应分组465中。在步骤570,用于请求的域名的下一个条目被检索,并且用 于该下一个条目的数据(IP地址、DNS服务器IP地址、描述文本)被插入响 应分组465中。做出关于在与请求的域名相对应的域名库180中是否存在更 多条目的确定(决定575)。如果存在更多条目要从用于为请求的域名从域名 库180检索,则决定575分支到"是"分支580,其循环回来以从域名库180 检索下一个条目,并且将检索到的数据插入响应分组465中。该循环继续直 到来自域名库180的、引用请求的域名的所有条目已经检索,在此点,决定 575分支到"否"分支585,因此在步骤590,响应分组465返回到客户端计 算机系统。图6是示出由图4的客户端采取的、用于管理由服务器返回的多个IP 地址的各步骤的细节的流程图。图6示出由图4所示的预定过程495执行的 各步骤。图6处理在600开始,因此,在步骤605,接收被创建并且由客户 端的缺省域名解析服务器返回的响应分组465。做出关于是否该响应错误的 确定(决定610)。如果该响应是错误响应,则决定610分支到"是"分支615, 因此,在步骤620,该错误被显示(例如,请求的域名没有被发现)。另一方面,如果该响应不是错误响应,则决定610分支到"否"分支625, 因此,做出另一个决定。现在,做出关于是否多个IP地址被包括在响应分 组465中的确定。如果多个IP地址没有被包括在响应分组465中(即,仅仅 单个IP地址被包括),则决定630分支到"否"分支635,因此在预定过程 640,如果期望并且必要,则客户端缺省DNS服务器被改变(见图8和改变 缺省DNS服务器的涉及的处理细节的相对应的文本)。在步骤645,从由包 括在响应分组465中的IP地址引用的网络资源请求数据(例如,从由包括在 所示响应分组的IP地址引用的web服务器请求Web页)。返回到决定630, 如果响应分组465包括多个IP地址,则用户在预定过程655选择各IP地址 之一,并且从选择的IP地址请求数据,如来自由选择的IP地址引用的web 服务器的Web页(见图7和用于处理细节的对应文本)。在已经从由在响应分组465包括的IP地址引用的网络资源检索数据之 后,做出关于是否重置客户端的缺省DNS服务器的确定(决定660)。如果客 户端的缺省DNS服务器的重置已经被请求,则决定660分支到"是"分支665,因此,在步骤670,客户端缺省DNS服务器被重置回到DNS服务器 IP地址,其在图8中当客户端的DNS服务器被改变时被存储。另一方面, 如果没有请求客户端的DNS服务器的重置,则决定660分支到"否"分支 675,绕过步骤670。在预定过程680,客户端的下一个请求被处理,并且该客户端能够改变 确定如何处理请求的选项(见图4和用于处理的对应文本)。做出关于是否客 户端已经请求退出应用或继续从网络资源检索数据的确定(决定685)。如果 客户端继续从网络资源检索数据,则决定685分支到"是"分支688,其循 环回来以处理下一个响应。该循环继续直到用户请求退出应用,在此点决定 685分支到"否"分支690,并且应用在695退出。图7是示出在图4和6中示出的客户端从由服务器返回的多个IP地址 列表中、选4奪IP地址的细节的流程图。用于选4奪IP地址的处理在700开始, 因此,在步骤705,接收包括多个IP地址的响应分组。在图7中,(图4、 5 和6中所示的)响应分组465已经被扩展到两个示例响应分组701和702。第 一示例响应分组701显示其中普通域名被用来引用具有不同内容的其它IP 地址的例子。在示出的例子中,响应分组701包括引用"书籍"、"电子"、"鞋 类"和"衣力l"的Web站点的IP地址。由这些IP地址引用的Web站点可 能不通过相同的公司或组织运行,但是相反,可能根据各公司之间的协议建 立。例如,如果提供"书籍"的公司是大而且有名的公司,那么出售电子器 件、鞋以及衣服的小公司可以与大的书籍的公司签定协议来使用相同的域名 (例如,"book.com"),但是具有引用这些其它企业的另外的IP地址。示例响应分组702显示另 一个例子,其更多地基于各个国家的地理和法 律规定。域名(如xyz.com)可以由单个公司拥有,但是为了符合规定或者 提供更适应世界的特定部分的站点,可能使用分开的IP地址。在分组702 中所示的例子中,用于域名(例如,xyz.com)的第一IP地址有一个IP地址和 位于美国的域名服务器。然而,已经为相同的域名建立其它IP地址并引用 不同的Web站点(例如, 一个针对中国读者,而另一个针对韩国读者)。这 些其它IP地址在服务其它国家(例如,中国和韩国)的DNS服务器中被引用。回到流程图,在步骤705,接收包括用于相同域名的多个IP地址的响应 分组。做出关于是否已经为每个IP地址提供描述文本的确定(决定710)。如 果还没有提供描述文本,则决定710分支到"否"分支715,因此,在步骤做出关于是否用户已经请求这样的描述文本信息的确定(决定720)。如果用户已经请求了描述文本信息,则决定720分支到"是"分支725,因此,在 步骤730,没有对应的描述文本信息的每个IP地址被访问,并且从对应该IP 地址的网络资源(例如,web站点)收集描述文本信息。另一方面,如果用户 还没有请求描述文本信息,则决定720 "否"分支735。返回到决定710,如 果描述文本信息被包括在响应分组,则决定710分支到"是"分支718,绕 过步骤720和730。在步骤740,创建选择对话窗750。选择对话窗750列出在响应分组中 返回的每个IP地址的信息(例如,对应每个IP地址的描述文本、IP地址本身、 其中发现IP地址的DNS服务器的IP地址等)。在步骤760,接收来自IP选择对话窗750的用户的选择。该用户的选择 包括选择的IP地址以及其中发现选择的IP地址的DNS服务器的IP地址。 在预定过程770,如果期望并且必要的话,则基于用户选择的选项和由该用 户选择的特定IP地址,改变客户端的缺省DNS服务器(见图8和处理细节的 相对应的文本)。在步骤780,从与用户选择的IP地址相对应的网络资源请 求数据(例如,从由选择的IP地址引用的Web服务器请求Web页)。在795, 处理接着返回到调用例程(见图6)。图8是示出在图6和7中示出的客户端可选地改变由客户端使用的DNS 服务器、以符合由服务器返回并且由该客户端选择的IP地址的细节的流程 图。处理在800开始,因此,在步骤810,在客户端计算机系统存储的用户 的偏好被检索。做出关于是否用户已经请求动态改变用户的缺省DNS服务 器的确定(决定820)。如果用户已经请求动态改变缺省DNS服务器,则决定 820分支到"是,,分支825,因此,在步骤830,比较与选择的IP地址(作为 多个IP地址请求的结果返回的单个IP地址、或由用户从对应于请求的域名 的多个IP地址的列表选择的IP地址)相对应的DNS服务器与客户端的缺省 DNS服务器。做出关于各DNS服务器是否是相同的服务器的确定(决定840)。如果各 服务器不是相同的,则决定840分支到"否"分支845,因此,在步骤850, 客户端的当前缺省DNS服务器IP地址被存储,并且在步骤860,客户端的 缺省DNS服务器IP地址被改变为与响应中的或者由用户选择的IP地址一致 的DNS服务器IP地址。返回到决定840,如果客户端的当前缺省DNS服务器与对应于选择的IP地址的DNS服务器相同,则决定840分支到"是"分 支865,绕过步骤850和860。返回到决定820,如果客户端已经请求客户端 缺省DNS服务器不被动态改变,则决定820分支到"否"分支875,绕过步 骤830至860。在返回895,处理返回到调用例程(图6或7)。图9是示出使用增强的DNS服务器的替代实施例的系统图的实施例, 该增强的DNS服务器维护具有多个IP地址的DNS表。在图9中所示的组 件基本上与图1中所示的那些类似,仅仅少数例外。与图1中所示的DNS 服务器不同,图9中所示的DNS服务器900是增强的域名服务器,其支持 处理每个与单个域名相对应的多个IP地址。因此,相对于由图1中所示的 域名服务器管理的目录,域名目录(表)950被增强。对域名表950的一个增 强在于与传统的域名目录不同,它能够存储给定域名的多个IP地址。对 域名表950的另一个增强是每个域名的条目(IP地址)之一被标注为缺省条 目(IP地址)。如果用户正在请求域名的单个IP地址,则增强的域名服务器 900返回对应于该IP地址的缺省IP地址。如图9中所示,在一个实施例中,通过利用域名库180更新增强的域名 表950。域名库180利用DNS抓取器175和图2和3中示出的各步骤生成。 在图1中所示的系统图和图9中所示的系统图之间的另一个不同是图9中 的得到的多个IP地址选择窗(窗905),包括关于哪个IP地址是存储在客户端 的缺省DNS服务器的缺省IP地址的指示符。同样,其它的商业单元能够具 有分开的域名,其引用回到缺省的books.com Web站点(IP地址"A")。例 如,"gizmo.com"被显示为具有引用电子器件IP地址(IP地址"B")的缺省 IP地址的域名。然而,该站点也引用提供书籍信息的IP地址(IP地址"B")。 因此,如果用户请求对应于"gizmo.com"的多个IP地址,则多个IP地址对 话将被显示,注释IP地址"B"是缺省IP地址,并且在此出售"电子器件", 但IP地址"A"也将被示出,并且描述文本将指示这是在此用户能够购买书 籍的站点。最后的两个i或名(shoes.com和clothing.com)示出4皮此交叉引用。图IO是示出每个域名具有多个IP地址的增强的DNS表的细节的图。 在表1000中示出增强的域名表950的细节。包括在增强的域名表950中的 字段包括域名字段1010、 IP地址字段1020、描述文本字段1030和布尔缺省 字段1040。利用这些字段,给定域名能够具有许多IP地址,同时各IP地址 之一纟皮注释为缺省IP地址。18示例DNS表1090列出增强的域名表中的各条目如何能用来从单独的域 名引用多个IP地址的例子。在该例子中,域名"books.com"被4个不同的 IP地址引用,符号地表示为IP地址"A"至"D"。然而,每个IP地址的描 述文本表示只有这些IP地址之一 (引用"A")引用提供"书籍"的网络资 源,并且该引用被注释为用于"books.com"域名的缺省IP地址。其它的各 引用引用各商业单位或商业伙伴的网络资源。在所示的例子中,"B"引用指 向"电子器件",而"C"引用指向"鞋类",而"D"指向"衣服"。如果用 户请求"books.com"的多个IP地址,则将产生显示,列出有关IP地址"A" 至"D"的信息,并且注释"A"引用是缺省IP地址。用此方式,如果"books.com" 域名被购物不相干的项目(如"电子器件"或"鞋类")的消费者信任,则 检索对应于"books.com"的多个IP地址将会允许用户直接选择并且导航到 其它各Web站点之 一 ,而不必知道其它站点的名称并且不必通过 "books.com"导航(例如,使用在"books.com"站点上的"链接"区域)去 找到提供想要的商品的关联公司。图ll是示出由客户端和增强的DNS服务器采取的、用来提供与由客户 端请求的域名相对应的多个IP地址的各步骤的流程图。客户端处理在1100 开始,因此,在步骤1104,客户端发送域名解析请求1108到支持每个域名 多个IP地址的客户端的缺省DNS服务器。该请求识别所述域名以及是否用 户希望接收该域名的多个IP地址。DNS服务器处理在1110开始,因此,在步骤1112,该服务器接收由客 户端发送的域名解析请求1108。在步骤1116,服务器在域名表950中搜索 请求的域名。基于所述搜索做出关于是否在域名表中发现请求的域名的确定 (决定1120)。如果在所述域名表中没有发现请求的域名,则决定1120分支 到"否"分支1122,因此,在步骤1124,错误分组1125被返回到所述客户 端,指示对于请求的域名没有发现IP地址。另一方面,如果对于所述域名 发现了至少一个IP地址,则决定1120分支到"是"分支1126。做出关于是否对于所述域名用户请求多个IP地址的确定(决定1128)。如 果对于域名用户没有请求多个IP地址,则决定1128分支到"否"分支1130,因此,在步骤1132,对应于该域名的缺省IP地址以分组1133被返回到客户二山柳。另 一方面,如果对于给定域名请求多个IP地址,则决定1128分支到"是"分支1134,因此,在步骤1136,创建响应1138,其将保持关于每个引用相 同的域名的一个或多个IP地址的信息。在步骤1140,第一IP地址连同对应 于所述IP地址的描述文本、以及关于所述IP地址是否是所述域名的缺省IP 地址的指示符,被插入响应1138中。在步骤1142,在域名表950中搜索引 用请求的域名的另一个条目。做出关于是否在所述域名表中发现所述下一个 条目的确定(决定1144)。如果发现下一个条目,则决定1144分支到"是', 分支1146,其循环回来以在响应1138中插入重新发现的引用,并且查找对 所述域名的下一个引用。该循环继续直到没有发现更多的引用请求的域名的 条目,在此时决定1144分支到"否"分支1148,因此,在步骤1150,响应 1138被返回到客户端计算机系统。返回到客户端处理,在步骤1152客户端计算机系统从DNS服务器接收 所述响应。做出关于是否响应是错误的确定(决定1156)。如果响应是错误, 则决定1156分支到"是"分支1158,因此,在步骤1160,显示错误消息(例 如,指示没有发现请求的域名),并且处理结束。另一方面,如果响应不是错误,则决定1156分支到"否"分支1162, 因此,做出关于是否响应包括单个IP地址的确定(决定1164)。如果响应仅仅 包括单个IP地址,则决定1164分支到"是"分支1166,因此,在步骤1168, 从对应于单个IP地址的网络资源(例如,web站点)请求数据。另一方面,如果响应包括多个IP地址,则决定1164分支到"否,,分支 1170,因此,在步骤1172,显示选^^对话窗。该对话窗包括对应于在响应 1138中包括的每个IP地址的任何描述文本信息、以及显示哪个选择是缺省 选捧的指示符。在步骤!176,用户从对话窗选择各选择之一,并且在步骤 1180,从对应于由用户选择的IP地址的网络资源(例如,web站点)请求数据。图12图示数据处理系统1201,其是能够执行在此描述的计算操作的计 算机系统的简化示例。计算机系统1201包括处理器1200,其耦合到主机总 线1202。 二级(L2)高速緩冲存储器1204,也耦合到主机总线1202。主机到 PCI桥1206耦合到主存储器1208,包括高速緩沖存储器和主存储器控制功 能,并且提供总线控制以便处理在PCI总线1210、处理器1200、 L2高速緩 冲器1204、主存储器1208和主机总线1202之间的传输。主存储器1208耦 合到主机到PCI桥1206以及主机总线1202。仅仅由(各)处理器1200使 用的设备(如LAN卡1230 )耦合到PCI总线1210。服务处理器接口和ISA访问通道(pass-through) 1212提供在PCI总线1210和PCI总线1214之间 的接口 。用此方式,PCI总线1214与PCI总线1210隔离。如快闪存储器1218 的各设备耦合到PCI总线1214。在一个实施例中,快闪存储器1218包括BIOS 代码,其并入各种低级系统功能和系统引导功能必需的处理器可执行代码。PCI总线1214为由(各)主机处理器1200和服务处理器1216共享的 各种设备提供接口,该设备包括例如快闪存储器1218。 PCI到ISA桥1235 提供总线控制,以便处理在PCI总线1214和ISA总线1240之间的传输、通 用串行总线(USB)功能1245、电力管理功能1255,并且能够包括未示出的其 它功能元件,如实时时钟(RTC)、 DMA控制、中断支持和系统管理总线支持。 非易失性RAM 1220被附接到ISA总线1240。服务处理器1216包括JTAG 和I2C总线1222,用于在各初始化步骤期间与(各)处理器1200的通信。 JTAG/I2C总线1222还耦合到L2高速緩冲器1204、主机到PCI桥1206和 主存储器1208,提供在处理器、服务处理器、L2高速緩沖器、主机到PCI 桥和主存储器之间的通信路径。服务处理器1216还访问系统电力资源,用 于关断(power down)信息处理系统1201 。外围设备和输入/输出(1/0)设备能够被附接到各种接口 (例如,耦合到 ISA总线1240的并行接口 1262、串行接口 1264、键盘接口 1268以及鼠标 接口 1270)。或者,许多I/O设备能够由附接到ISA总线1240的超级I/O控 制器(未示出)容纳。为了将计算机系统1201附接到另一个计算机系统以通过网络复制文件, LAN卡1230被耦合到PCI总线1210。类似地,为了将计算机系统1201耦 合到ISP以利用电话线连接连接到因特网,调制解调器1275被连接到串行 端口 1264和PCI到ISA桥1235。尽管图12示出了一种信息处理系统,但是信息处理系统可以采用许多 形式。例如,信息处理系统可以采用桌面型、服务器、便携式、膝上型、笔 记本或其它形式因素计算机或数据处理系统。此外,信息处理系统还可以采 取其它形式因素,如个人数字助理(PDA)、游戏设备、ATM机、便携式电话 设备、通信设备或包括处理器和存储器的其它设备。本发明的一个优选实现是软件应用,即,指令(程序代码)组或代码模块 中的其它功能性描述材料,其可以例如驻留在计算机的随机存取存储器中。 直到由计算机要求,该指令组可以被存储在另一个计算机存储器中,例如,在硬盘驱动中、或可移除存储器(如光盘(用于在CD ROM中的最终使用) 或软盘(用于在软盘驱动中的最终使用)中、或者经由因特网或其它计算机 网络下载。因此,本发明可以实现为用于在计算机中使用的计算机程序产品。计算机实现,但是本领域技术人员也将认识到,这些方法可以以硬件、固件 或被构成来执行要求的各方法步骤的更特别的装置执行。功能描述材料是给 机器授予功能的信息。功能描述材料包括但不限于计算机程序、指令、规则、 事实、可计算的功能的定义、对象以及数据结构。尽管已经示出和描述了本发明的特定实施例,但是基于在此的教导,将 对本领域技术人员显而易见的是可以进行各种变化和修改,而不偏离本发明 及其更广的方面。因此,权利要求要在它们的范围内包括所有这些变化和修 改,如同在本发明的真正精神和范围内。而且,要理解的是本发明仅仅由权 利要求定义。本领域技术人员将理解的是,如果想要特定数量的介绍的权利 要求元素,则这种意图将在权利要求书中明确详述,并且在缺少这种描述时, 这种限制也不存在。对于非限制的例子,为了有助于理解,权利要求包括介 绍性的短语"至少一个"和"一个或多个"的使用,用于介绍各权利要求元 素。然而,这样的短语的使用不应该被解释为暗示由不定冠词"一个(a)" 或"一个(an)"介绍的权利要求元素,将包括这样介绍的权利要求元素的 任何特定的权利要求,限制为仅仅包括一个这样的元素的发明,即使在相同 的权利要求包括介绍性短语"一个或多个"或"至少一个"、以及不定冠词 如"一个(a)"或"一个(an)"时;对于定冠词在权利要求中的使用也一 样成立。
权利要求
1.一种检测多个IP地址的计算机实现的方法,该多个IP地址每个对应于共同域名,所述方法包括接收多个域名;对于每个接收的域名从多个DNS表检索多个IP地址;识别为每个域名检索的多个IP地址的一个或多个唯一的IP地址,其中为至少一个域名识别多个唯一的IP地址;以及在域名库中存储域名和每个识别的唯一的IP地址。
2. 如权利要求1所述的方法,其中从多个DNS表检索多个IP地址还包 括从多个DNS服务器请求所述多个IP地址的每个,其中每个DNS服务 器管理DNS表之一,所述方法还包括在所述域名库中,存储与提供识别的唯一的IP地址之一的每个DNS服 务器相对应的DNS服务器IP地址。
3. 如权利要求2所述的方法,还包括在访问域名库的第一服务器接收来自客户端计算机系统的请求,所述请 求通过计算机网络接收,并且所述请求包括请求的域名; 识别该请求是多个IP地址请求;从域名库检索响应的多个IP地址,每个响应的IP地址对应于请求的域 名;以及将响应的多个IP地址发送到客户端计算机系统。
4. 如权利要求3所述的方法,还包括 在所述客户端计算机系统接收响应的多个IP地址; 在客户端计算机系统显示接收的响应的多个IP地址; 在客户端计算机系统接收IP地址选择;以及发送第二请求到第二服务器,其中所述第二服务器对应于选择的IP地址。
5. 如权利要求4所述的方法,其中由第一服务器发送到客户端的响应的 多个IP地址包括对应于每个IP地址的DNS服务器IP地址,所述方法还包 括在接收IP地址选择之后,将在客户端计算机系统处的缺省DNS服务器指定改变为对应于选择的IP地址的DNS服务器IP地址。
6. 如权利要求2所述的方法,还包括访问多个网站,所述多个网站的每个对应于唯一的识别的IP地址之一;以及从多个访问的网站检索描述文本数据,其中所述存储还包括在域名库中 存储检索的描述文本数据以及域名和唯一的IP地址。
7. 如权利要求6所述的方法,还包括在访问域名库的第 一服务器处接收来自客户端计算机系统的请求,所述 请求通过计算机网络接收,并且所述请求包括请求的域名; 识别所述请求是多个IP地址请求;从域名库检索响应的多个IP地址,所述响应的IP地址的每个对应于请 求的域名;从域名库检索来自多个存储的DNS服务器IP地址的多个响应的DNS 服务器IP地址、和来自多个存储的描述文本数据的多个响应的描述文本数 据,所述响应的多个DNS服务器IP地址的每个和所述响应的多个描述文本 ^:据的每个对应于响应的多个IP地址之一;以及将所述响应的多个IP地址、响应的多个DNS服务器IP地址、和响应的 多个描述文本数据发送到所述客户端计算机系统。
8. 如权利要求7所述的方法,还包括在客户端计算机系统接收所述响应的多个IP地址、响应的多个DNS服 务器IP地址和响应的多个描述文本数据;在客户端计算机系统显示接收的响应的多个描述文本数据;在客户端计算机系统,接收对应于显示的响应的多个描述文本数据之一的选择;从多个接收的响应的多个IP地址识别选择的IP地址,其中所述选择的 IP地址对应于选择的描述文本数据;以及发送第二请求到第二服务器,其中所述第二服务器对应于选择的IP地址。
9. 一种信息处理系统,包括 一个或多个处理器;由至少 一个所述处理器可访问的存储器; 由至少 一个所述处理器可访问的非易失性存储设备; 网络接口适配器,其将所述信息处理系统连接到计算机网络;以及 存储在所述存储器中的指令组,其中所述一个或多个处理器执行所述指令组,以便执行检测其每个对应于共同域名的多个IP地址的动作,所述动作包括接收多个域名; 对于每个接收的域名从多个DNS表检索多个IP地址;识别为每个域名^r索的多个IP地址的一个或多个唯一的IP地址, 其中为至少一个域名识别多个唯一的IP地址;以及在存储在非易失性存储设备上的域名库中存储域名和每个识别的 。舉一的IP地址。
10. 如权利要求9所述的信息处理系统,其中从多个DNS表检索多个IP 地址还包括从多个DNS服务器请求所述多个IP地址的每个,其中每个 DNS服务器管理DNS表之一,所述指令组还执行动作,该动作包括在所述域名库中存储DNS服务器IP地址,该DNS服务器IP地址与提 供所述识别的唯一 IP地址之一的每个DNS服务器相对应。
11. 如权利要求IO所述的信息处理系统,其中所述指令组还执行动作, 该动作包括在访问域名库的第 一服务器处接收来自客户端计算机系统的请求,所述 请求通过计算机网络接收,并且所述请求包括请求的域名; 识别该请求是多个IP地址请求;从域名库检索响应的多个IP地址,所述响应的IP地址的每个对应于请 求的域名;以及将响应的多个IP地址发送到客户端计算机系统。
12. 如权利要求IO所述的信息处理系统,其中所述指令组还执行动作, 该动作包括访问多个网站,所述多个网站的每个对应于所述唯一识别的IP地址之 一;以及从所述多个被访问的网站检索描述文本数据,其中所述存储还包括在所述域名库中,与域名和所述唯一的IP地址一起存储一企索的描述文本数据。
13. 如权利要求9所述的信息处理系统,其中所述指令组还执行动作,该 动作包括从客户端计算机系统接收请求,所述请求通过计算机网络接收,并且所 述请求包括请求的域名;识别请求是多个IP地址请求;从域名库检索响应的多个IP地址,所述响应的IP地址的每个对应于请 求的域名;从域名库检索来自多个存储的DNS服务器IP地址的多个响应的DNS 服务器IP地址、和来自多个存储的描述文本数据的多个响应的描述文本数 据,所述响应的多个DNS服务器IP地址的每个和所述响应的多个描述文本 数据的每个对应于响应的多个IP地址之一;以及将所述响应的多个IP地址、响应的多个DNS服务器IP地址、和响应的 多个描述文本数据发送到所述客户端计算机系统。
14. 一种存储在计算机可读介质中的计算机程序产品,包括功能性描述材 料,其在由信息处理系统执行时,使得信息处理系统通过执行根据权利要求 1至8的任何一个的方法中的动作,检测其每个对应于共同域名的多个IP地 址。
全文摘要
提供了一种系统、方法和程序产品,其收集其每个对应于共同域名的多个IP地址。提供了域名的列表用来收集相对应的IP地址。对于每个接收的域名,从大量DNS表中检索IP地址。从为每个域名检索的收集的IP地址中识别唯一的IP地址。所述域名和它们相关联的IP地址被存储在域名库中。
文档编号H04L12/56GK101262477SQ20081008326
公开日2008年9月10日 申请日期2008年3月4日 优先权日2007年3月9日
发明者胡安·F·奥巴斯, 莱克什米·波特卢里, 达梅什·N·巴克塔 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1