Dns兼容的pnrp对等网络名称编码的制作方法

文档序号:6553788阅读:182来源:国知局
专利名称:Dns兼容的pnrp对等网络名称编码的制作方法
DNS兼容的PNRP对等网络名称编码背景对等网络利用存在于一网络或Internet边缘处的相对功能较强的计算机(个 人计算机),它不仅仅执行客户机的计算任务。现代PC具有极快的处理器、 庞大的内存和大容量的硬盘,但在执行诸如电子邮件和Web浏览之类的常规客 户端/服务器计算任务时,没有一个部件可以得到充分利用。现代PC可以轻松 地同时充当许多类型的应用程序的客户机和服务器(对等方)。用于多种应用程序的典型计算模型是客户机/服务器模型。服务器计算机通常 具有大量资源并且对来自于各客户机计算机的对资源和数据的请求做出响应。客户 机计算机启动对服务器计算机中资源或数据的请求。这种客户机/服务器计算模型的一个很好的示例是Web浏览。因特网上的Web服务器通常是带有极快处理器(或 者多处理器)和大型硬盘阵列的高端专用服务器计算机。Web服务器存储与一Web 站点相关联的全部内容(HTML文件、图像、音频和视频文件等)并且听取参考 某一 Web页面上信息的进来的请求。当一网页被请求时,该Web服务器就把该页 面及其相关联的文件发送给请求的客户机。用于在各对等方之间发送信息的有关名称解析和对等组元发现的协议是对等 名称解析协议(PNRP) 。 PNRP使用多片云(cloud),其中一片云就是使用特定 范围地址的一组计算机。范围是地址在其上唯一的网络区域。PNRP云以用于IPv6 地址的地址范围为基础。对等方名称是用于通信的终端,它可以是一台计算机、 一个用户、 一个组、 一个服务,或者是您想要将其解析为IPv6地址、协议和端口号的其他任何东西。 PNRPID长度为256位,由以下几个部分组成高序位128位,即被称为对等ID,是分配给该终端的对等方名称的散列值。 低序位128位,用于服务位置,它是用以唯一识别相同云中的相同对等ID的 不同实例而生成的数字。对等ID和服务位置的256位组合允许从单台计算机注册多个PNRP ID。 将名称从基于服务器的环境翻译至基于对等的网络会随着对等计算使用的增
加而变得越来越重要。概述公开了一种将对等方名称转换成PNRP DNS的方法。该方法可以取得一对等 方名称并将其编码成常规的DNS主机名称。该方法还可以取得一 PNRP DNS名称 并将其转换成对等方名称。还公开了带有根据该方法的计算机可执行代码的计算机 可读介质以及执行该计算机代码的计算机系统。附1是可以根据权利要求书操作的计算系统的框图;图2是一种将对等方名称转换成PNRP DNS名称的方法的例示。图3是一种将PNRP DNS名称转换成对等方名称的方法的例示。描述虽然下文中将提出多个不同实施例的详尽描述,但是应该理解本专利的范 围由该专利末尾的权利要求所限定。仅应将这些详尽描述解释为说明性的,且 不描述每个可能实施例,因为描述所有可能的实施例即使不是不可能的也是不 现实的。可以使用当前的技术或提交该专利申请后发展出的技术来实现本发明 的各个可选实施例,它们也都落入权利要求所限制的范围内。应该理解的是,除非在本专利申请中使用"在此使用的术语'_'被定义为……"之类的句子对某一术语进行明确的定义,否则本发明并不试图明确 地或暗示性地限制术语的意义是超过其原始或通常的含义,并且不应基于本发 明任何部分(除了权利要求中的阐述)做出的描述将这些术语解释为在范围上 受到限制。至于在本专利申请结尾所述的权利要求中任何术语的范围是以该专 利申请中以一致的单一意义方式被参照,这样做是出于便于说明的目的使得读 者不致混淆,并且不试图将所述权利要求的术语以暗示或其他方式限制到某一 单一的意义上。最后,除非通过引用词语"意味着"以及未提及任何结构的功 能来限定某一权利要求元素,否则并非意味着要基于35 U.S.C. §112,第六段 的申请来解释任何权利要求元素的范围。

图1示出了可在其上实现本权利要求的方法和装置的各步骤的合适的计算系
统环境100的示例。计算系统环境100只是合适的计算环境的一个示例,并不旨在 对本权利要求的方法和装置的使用范围或功能提出任何限制。也不应该把计算环境 100解释为对示例性操作环境100中示出的任一组件或其组合有任何依赖性或要 求。本权利要求的方法和装置的步骤可用众多其它通用或专用计算系统环境或配 置来操作。适合在本权利要求的方法和装置使用的众所周知的计算系统、环境和/ 或配置的示例包括但不限于个人计算机、服务器计算机、手持或膝上型设备、多 处理器系统、基于微处理器的系统、机顶盒、可编程消费者电子产品、网络PC、 小型机、大型机、包含上述系统或设备中的任一个的分布式计算机环境等。本权利要求的方法和装置的步骤可在诸如程序模块等由计算机执行的计算机 可执行指令的通用语境中描述。 一般而言,程序模块包括例程、程序、对象、组件、 数据结构等,它们执行特定任务或实现特定抽象数据类型。本方法和装置也可以在 分布式计算环境中实现,其中任务由通过通信网络连接的远程处理设备执行。在分 布式计算环境中,程序模块可以位于包括存储器存储设备在内的本地和远程计算机存储介质中。参考图1,用于实现本权利要求的方法和装置的步骤的一个示例性系统包括计 算机110形式的通用计算设备。计算机110的组件可以包括但不限于,处理单元120、系统存储器130和将包括系统存储器在内的各种系统组件耦合至处理单元120 的系统总线121。系统总线121可以是若干类型的总线结构中的任一种,包括存储 器总线或存储器控制器、外围总线和使用各种总线体系结构中的任一种的局部总 线。作为示例而非限制,这样的体系结构包括工业标准体系结构(ISA)总线、微 通道体系结构(MCA)总线、扩展的ISA (EISA)总线、视频电子技术标准协会 (VESA)局部总线和外围部件互连(PCI)总线(也被称为Mezzanine总线)。 计算机110通常包括各种计算机可读介质。计算机可读介质可以是能够被计 算机IIO访问的任何可用介质,且包括易失性和非易失性介质、可移动和不可移动 介质。作为示例而非限制,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以任何方法或技术实现的用于存储诸如计算机可读指令、数据 结构、程序模块或其它数据等信息的易失性和非易失性、可移动和不可移动介质。 计算机存储介质包括,但不限于,RAM、 ROM、 EEPROM、闪存或其它存储器技 术、CD-ROM、数字多功能盘(DVD)或其它光盘存储、磁带盒、磁带、磁盘存 储或其它磁性存储设备、或能用于存储所需信息且可以由计算机110访问的任何其
它介质。通信介质通常具体化为诸如载波或其它传输机制等已调制数据信号中的计 算机可读指令、数据结构、程序模块或其它数据,且包含任何信息传递介质。术语 "已调制数据信号"指的是这样一种信号,其一个或多个特征以在信号中编码信息 的方式被设定或更改。作为示例而非限制,通信介质包括诸如有线网络或直接线连 接的有线介质,以及诸如声学、RF、红外线和其它无线介质的无线介质。上述中 任一个的组合也应包括在计算机可读介质的范围之内。系统存储器130包括易失性或非易失性存储器形式的计算机存储介质,诸如只读存储器(ROM) 131和随机存取存储器(RAM) 132。基本输入/输出系统133 (BIOS)包含有助于诸如启动时在计算机110中的元件之间传递信息的基本例程, 它通常存储在ROM 131中。RAM 132通常包含处理单元120可以立即访问和/或 目前正在操作的数据和/或程序模块。作为示例而非限制,图1示出了操作系统134、 应用程序135、其它程序模块136和程序数据137。计算机110也可以包括其它可移动/不可移动、易失性/非易失性计算机存储介 质。仅作为示例,图l示出了从不可移动、非易失性磁介质中读取或向其写入的硬 盘驱动器140,从可移动、非易失性磁盘152中读取或向其写入的磁盘驱动器151, 以及从诸如CD ROM或其它光学介质等可移动、非易失性光盘156中读取或向其 写入的光盘驱动器155。可以在示例性操作环境下使用的其它可移动/不可移动、易 失性/非易失性计算机存储介质包括,但不限于,盒式磁带、闪存卡、数字多功能 盘、数字录像带、固态RAM、固态ROM等。硬盘驱动器141通常由诸如接口 140 等不可移动存储器接口连接至系统总线121,磁盘驱动器151和光盘驱动器155通 常由诸如接口 150等可移动存储器接口连接至系统总线121。以上描述和在图1中示出的驱动器及其相关联的计算机存储介质为计算机 110提供了对计算机可读指令、数据结构、程序模块和其它数据的存储。例如,在 图1中,硬盘驱动器141被示为存储操作系统144、应用程序145、其它程序模块 146和程序数据147。注意,这些组件可以与操作系统134、应用程序135、其它程 序模块136和程序数据137相同或不同。操作系统144、应用程序145、其它程序 模块146和程序数据147在这里被标注了不同的标号是为了说明至少它们是不同的 副本。用户可以通过输入设备(诸如键盘162)和定点设备161 (诸如鼠标、跟踪 球或触摸垫)向计算机110输入命令和信息。其它输入设备(未示出)可以包括麦 克风、操纵杆、游戏垫、圆盘式卫星天线、扫描仪等。这些和其它输入设备通常由 耦合至系统总线的用户输入接口 160连接至处理单元120,但也可以由其它接口或 总线结构,诸如并行端口、游戏端口或通用串行总线(USB)连接。监视器191或其它类型的显示设备也经由接口,诸如视频接口 190连接至系统总线121。除监 视器以外,计算机也可以包括其它外围输出设备,诸如扬声器197和打印机196, 它们可以通过输出外围接口 195连接。计算机IIO可使用至一个或多个远程计算机(诸如远程计算机180)的逻辑连 接在网络化环境下操作。远程计算机180可以是个人计算机、手持式设备、服务器、 路由器、网络PC、对等设备或其它常见的网络节点,且通常包括上文相对于计算 机IIO描述的许多或所有元件。图1中所示逻辑连接包括局域网(LAN) 171和广 域网(WAN) 173,但也可以包括其它网络。这样的连网环境在办公室、企业范围 计算机网络、内联网和因特网中是常见的。当在LAN联网环境中使用时,计算机IIO通过网络接口或适配器170连接至 LAN 171。当在WAN联网环境中使用时,计算机IIO通常包括调制解调器172或 其它装置用于对诸如因特网等WAN 173建立通信。调制解调器172可以是内置或 外置的,它可以通过用户输入接口 160或其它合适的机制连接至系统总线121。在 网络化环境中,相对于计算机IIO描述的程序模块或其部分可以存储在远程存储器 存储设备中。作为示例而非限制,图1示出了远程应用程序185驻留在存储器设备 181上。可以理解,所示的网络连接是示例性的,且可以使用在计算机之间建立通 信链路的其它手段。PNRP ("对等方名称解析协议")是无服务器的并且允许机器在不使用服务 器的情况下将名称解析成IP地址的名称解析协议。用于PNRP对等方名称的基本 格式是唯一格式。因为PNRP对等方名称并非原始地就被理解DNS主机名称的全 部应用程序所理解,所以需要一种将对等方名称翻译成更通用的域名系统(DNS) 主机名称的机制。图2示出了一种将对等方名称转换成PNRP DNS-被编码名称的方法。在框200 处,可以使用一可逆编码进程来编码一分类符。该编码进程可以使用在可从 http:〃www.faqs.org/rfcs/rfc3492.html中获取RFC 3492中描述的常规弱码 (punycode)编码,它在此结合作为参考。在另一个实施例中,用于PNRP的各参数可以类似于弱码,但仍有些许不同。 在PNRP的情况下,"扩展集"可以是Unicode而"基本集"可以是('a'-'z', '0'-'9','-')。这意味着每个码点的数字等效值是61..7A (a-z)分别等于0至25 30..39 (0-9)分别等于26至35引导串参数值可以是base = 36tmin = 1tmax = 26skew = 38damp = 700initial—bias = 72initial—n = 1只有('a'-'z', '0'-'9')字符是基本字符集的一部分(在弱码中,低于0x80的所有字 符都是有效的基础字符)。某些编码示例可以是如下无格式Where do you want to go today 编石马的heredoyouwanttogotoday-macdeccf34gpu4905f无格式quake编码的quake-在框205处,编码一权限。该编码可以要求在该权限之前插入一可接收的字 符,诸如字符'p'。在另一个实施例中,如果该权限名称不安全,则该权限可以 被编码为'p0'。该权限可以限于40个十六进制字符。在框210处,可以评审该被编码分类符。该分类符可以限于长度不超过149 位。在框215处,做出所得的被编码分类符是否以不可接收的字符开始的判定。如 果在框215处的判定为是,则在框220处,可以在该不可接收的字符之前插入一预 定的可接收的字符并且控制行进至框225。不可接受字符的示例可以包括数字和短 划线以及被相关权限定义为不可接受的其他符号。可接受字符的一个示例是字母 "p"。如果在框215处的判定为非,则控制可以行进至框225。在框225处,做出所得的被编码分类符是否以不可接收的字符结尾的判定。 如果在框225处的判定为是,控制行进至在其中可在该不可接收的字符之后插入一 预定的可接收的字符的框230处,随后控制行进至框235。如果在框225处的判定 为非,则控制可以行进至框235。在框235处,做出所得的被编码分类符是否以预定的可接收字符开始或结尾 的判定。如果在框235处的判定为是,控制行进至在其中可以紧接于现有的预定的
可接收的字符插入一额外的预定的可接收字符的框240处,随后控制行进至框245。 如果在框235处的判定为非,则控制可以行进至框245。在框245处,做出所得的被编码分类符是否大于63个字符的判定。如果在框 244处的判定为是,则在框250处,所得的被编码分类符通过插入句点而被分解为 长度小于或等于63个字符的块,以确保没有块会长于63个字符。控制随后行进至 框255。如果在框245处的判定为非,则控制可以行进至框255。在框255处,DNS主机名称可以通过由被编码分类符开始而被创建。在框260 处,被编码的权限可以由一句点隔开而紧接地添加至被编码的分类符。在框265 处,可以在被编码的权限末尾添加诸如pnrp.net之类的预定的域名。可以要求所得 的DNS名称少于255个字符。在较高级别,本方法采取诸如下列的对等方名称<权限>.<分类符> 并且将其变为PNRPDNS兼容的名称,诸如被编码的分类符.被编码的权限.pnrp.netDNS编码的对等方名称还包括云(Cloud)名称,该云名称同样需要编码成 DNS编码的对等方名称。可以使用任何已知的编码方案来编码该云名称,并可将 其插入在".pnrp.net"之前。该云名称可以代表全球云、站点云、本地云、特定站 点云以及链接专用云。云还可以标识一个具体地址。全球云还可以将全球的潜在地 址分解为较小的子集,诸如用于每个大洲的地址可以具有相同的云名称。站点云可 以创建一个地址子集,该子集使用公用的范围提供商(诸如Comcast或Verizon) 或者公司(诸如Ford或Microsoft)。本地云可以包括使用相同一级路由器的每--台机器。特定站点云可以是相同站点上的所有机器。站点标识符可以使用由16个 十六进制字符组成的IPV6地址概念。链接专用云可以用于相同链接上的机器并且 可以使用在其中前12个十六进制字符相同但最后4个十六进制字符可能不同的 IPV6地址。有关IPV6地址的其他信息可以在http:〃www.ipv6.org处找到。图3示出了一种将DNS编码的对等方名称转换成规范的对等方名称的方法。 该方法类似于图2所述方法的逆过程。在框300处,如果诸如PNRP.net之类的预定域名是DNS名称的结尾字符, 则去除该预定域名(例如,PNRP.net)。在框310处,从分类符和权限中去除所有 前导和后尾的预定可接受字符。如上所述,可接受字符可以是"p"并且可以去除 所有在前导和后尾的"p"。
在框320处,从已编码分类符中去除所有的句点。该分类符可以已经长于63 个字符并且可能已经由插入的句点分解成较小的部分。需要在解码之前去除这些句 点。在框330处,解码该分类符。可以使用编码数据用的相同方案来解码该数据。 例如,如果使用弱码编码该数据,则使用逆弱码来解码该标识符。在框340处,解码该权限。这一解码可以足够简单以确保像在框300中描述 的那样去除预定的可接受字符,而在使用另一种编码方案的情况下,可以使用适当 的解码方案来解码该权限。在框350处,被解码的权限和被解码的分类符可以按"权限.标识符"的形式 排列成对等方名称。DNS编码的对等方名称可能还具有云名称。被解码的云名称 可以被解码并且用"云.权限.分类符"的形式附加至对等方名称。在较高的级别, 本方法采取诸如下列的PNRP DNS兼容名称被编码的分类符.被编码的权限.pnrp.net 并且将其变为对等方名称,诸如<权限>.<分类符>虽然前述正文阐明了多个不同实施例的详尽描述,但是应该理解本专利的范 围由本专利末尾的权利要求所限定。这些详尽描述仅应解释为示例性的,并且不描 述所有可能的实施例,这是因为描述每个可能的实施例,即使非不可能也是不现实 的。可以使用当前的技术或提交该专利申请后发展的技术来实现本发明的各个可选 实施例,它们也都落入权利要求所限制的范围内。这样,在此描绘和示出的技术及结构中可以在不背离本发明权利要求的精 神和范围的情况下做出许多修改和变化。因此,可以理解在此描述的方法和装 置仅用于说明,并且不限制权利要求的范围。
权利要求
1.一种将对等方名称转换成DNS编码的对等方名称的方法,包括使用可逆编码进程编码一分类符;编码一权限;评审被编码的分类符,包括如果所得的被编码的分类符以一不可接受的字符开始,则在该不可接受的字符之前插入一预定的可接受的字符;如果所述所得的被编码的分类符以一不可接受的字符结尾,则在该不可接受的字符之后插入所述预定的可接受的字符;如果所述所得的被编码的分类符以所述预定的可接受的字符开始或结尾,则紧接着现有的所述预定的可接受的字符之后插入一额外的预定的可接受的字符;如果所述所得的被编码的分类符长于63个字符,则通过插入句点把所述所得的被编码的分类符分解成短于或等于63个字符的块;以所述被编码的分类符开始作为DNS地址的开始;把被编码的权限添加至所述被编码的分类符,并由一句点隔开;将一预定域名添加至所述被编码的权限的结尾。
2. 如权利要求l所述的方法,其特征在于,不可接受的字符包括数字和短划线。
3. 如权利要求1所述的方法,其特征在于,所述预定的可接受的字符是"p"。
4. 如权利要求l所述的方法,其特征在于,所述分类符不超过149个字符。
5. 如权利要求1所述的方法,其特征在于,所述权限的长度短于或等于40 个十六进制的字符。
6. 如权利要求1所述的方法,其特征在于,所述DNS编码的对等方名称短 于255个字符。
7. 如权利要求l所述的方法,其特征在于,还包括使用弱码标准进行编码。
8. 如权利要求l所述的方法,其特征在于,所述对等方名称还包括云名称。
9. 如权利要求8所述的方法,其特征在于,所述云名称被插入到所述预定域 名之前且所述被编码的权限之后。
10. 如权利要求8所述的方法,其特征在于,所述云名称代表由全球云、站 点云、本地云、特定站点云和链接专用云组成的组中的至少一项。
11. 一种将DNS编码的对等方名称转换成规范的对等方名称的方法,包括.-如果预定域名是DNS名称的结尾字符,则去除所述预定域名; 从分类符和权限中去除所有前导和拖尾的预定的可接受的字符; 从被编码的分类符中去除所有句点;解码所述分类符;使用散列函数和公钥解码所述权限;将被解码的权限和被解码的分类符以"权限.分类符"的形式排列成所述对等方名称。
12. 如权利要求11所述的方法,其特征在于,还包括使用逆弱码解码所述分类符。
13. 如权利要求ll所述的方法,其特征在于,还包括解码进一步标识所述对 等方名称并以"云.权限.分类符"的形式组合的云名称。
14. -一种适于存储计算机可执行代码的计算机可读介质,其中所述计算机可 执行代码将DNS编码的对等方名称转换成规范的对等方名称、并将对等方名称转 换成DNS编码的对等方名称,其中所述计算机可执行代码包括计算机代码用于如果所述代码是将对等方名称转换成DNS编码的对等方名称,贝l」 使用可逆编码进程编码一分类符; 编码一权限;评审被编码的分类符,包括如果所得的被编码的分类符以一不可接受的字符开始,则在该不可接受的字符之前插入一预定的可接受的字符;如果所述所得的被编码的分类符以一不可接受的字符结尾,则在该不可接受的字符之后插入所述预定的可接受的字符;如果所述所得的被编码的分类符以所述预定的可接受的字符 开始或结尾,则紧接着现有的所述预定的可接受的字符之后插入一 额外的预定的可接受的字符;如果所述所得的被编码分类符长于63个字符,则通过插入句 点把所述所得的被编码的分类符分解成短于或等于63个字符的块; 以所述被编码的分类符作为DNS地址的开始; 把被编码的权限添加至所述被编码的分类符,并由一句点隔开; 将一预定域名添加至所述被编码的权限的结尾;以及 如果所述计算机代码是将DNS编码的对等方名称转换成规范的对等方名称,则如果预定域名是DNS名称的结尾字符,则去除所述预定域名;从分类符和权限中去除所有前导和拖尾的预定的可接受的字符;从被编码的分类符中去除所有句点;解码所述分类符;使用散列函数和公钥解码权限;将被解码的权限和被解码的分类符以"权限.分类符"形式排列成所述对 等方名称。
15. 如权利要求14所述的计算机可读介质,其特征在于,还包括使用弱码标 准进行编码。
16. 如权利要求14所述的计算机可读介质,其特征在于,所述对等方名称还 包括云名称。
17. 如权利要求14所述的计算机可读介质,其特征在于,所述云名称被插入到所述预定域名之前且所述被编码的权限之后。
18. 如权利要求14所述的计算机可读介质,其特征在于,还包括使用逆弱码解码所述分类符。
19. 如权利要求14所述的计算机可读介质,其特征在于,还包括解码进一步 标识所述对等方名称并以"云.权限.分类符"的形式组合的云名称。
20. 如权利要求14所述的计算机可读介质,其特征在于,所述DNS编码的 对等方名称短于255个字符。
全文摘要
公开了一种将对等方名称转换成PNRP DNS的方法。该方法可以取一对等方名称并将其编码成常规的DNS主机名。该方法还可以取一PNRP DNS名并将其转换成对等方名称。
文档编号G06F15/16GK101167067SQ200580049555
公开日2008年4月23日 申请日期2005年8月1日 优先权日2005年4月22日
发明者C·休特玛, N·霍顿, R·T·拉奥, R·塞米奥尼斯克, T·R·曼尼恩 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1