使用针对设备的web服务进行的跨网络漫游及解析的制作方法

文档序号:6566896阅读:212来源:国知局
专利名称:使用针对设备的web服务进行的跨网络漫游及解析的制作方法
使用针对设备的web服务进行的跨网络漫游及解析
背景
网络地址翻译器(NAT)是在传送包时能够翻译数据包的网际协议(IP)
地址和Tcp/uDP端口号的设备。例如,具有多台连接至咽特网的计^m的小型
企业网络可以使用NAT以用于这种连接。这种类型的企业通常必须从因特网服 制共应器(ISP)获得该网络上用于每个计算机的公共IP地址。然而,采用该 NAT,该小企业可以使用专用寻址,并且使该NAT将其专用地址鹏才到单个或 者多个公共IP地址。NAT ^X寸下面需求的组合的常见解决方法充分利用对因 特网的单个连接的使用而不是将多台计算机连接到因特网;使用专用地址;以
及在无须使用代理服务器的情况下提供对因特网资源的访问。同时,这些翻译 器通过隐藏内部IP地址提供了一种类型的防火墙保护,并且由于不可能与公司 的专用域之外的地址冲突从而能够使公司使用更多的因特网IP地址。
NAT技术中的一个主要障碍是存在可以被用于翻译网络通信的多个不同 的助、议。例如,许多用户或家用系统都使用Cone (圆锥型)、Full Cone (完全圆 锥型)或Restricted Cone (限制圆锥型)NAT技术,由此一些路由器可育^(寸于 UDP通信的作为Cone NAT运行而对于TCP通信作为对称NAT运行。在公司 情形中,更可能与硬件或软件防火墙一起f顿X寸称NAT。目前,为了在不同类 型的协议上进行通信,需要强制手动配置来适当地配置NAT以便在以上提及的 协议中的一种协议上进行通信。然而,为了在远程应用之间进行通信,许多网 络情形可能需要采用一个以上的协议。
在主机从一个网络移动到另一个网络,会出现其它问题,其中主机可能会 依赖本地网络分配其网络地址。该地址可能是因特网上的完整的可路由地址, 或者也可能是网络地址翻译(NAT)系统背后的不可路由地址。这些主机具有 通常被称为动态IP地址或NAT,ed (经过NAT的)IP地址。具有NAT,edIP地 址的设备一般不能接受弓l入的TCP连接用于服务,除非它们具有某种方法能注 册一个由NAT系统为该特定主机服务重新鹏寸的端口 。因特网上的另个主机--般不可能利用诸如域名系统(DNS)或服务等常规地址发现手段发现为该服务
4所分配的地址^^ 日划才的端口 。虽然一些服务解决了动态IP的问题(动态DNS),
但是它们一jl^寸缓存DNS服务器不起作用,并且它们一般不會统科斤动态端口号。
概述
为了提供此处所述的一些方面的基本理解,下面给出了简化了的概述。此 概述并不是广义的总的描述,也不旨在标出关键的/决定性的元件或者描绘此处 所述的各个方面的范围。其唯一目的是以简化的形式给出一些概念,作为后面 给出的更细化了的说明的前序。
提供了用于自动地确定和配置漫游或移动网络设备之间的通信能力的系 统和方法。通过创建主机可以用于与附加服务信息一起发现相关联的漫游服务 的网际协议(IP)地址和端口号的解析服务,减轻了传统系统必须手动配置和 预注册大型服务器系统的问题。例如,在设备或组件已经获取了IP地址并且已 经通过网络地址翻译器(NAT)鹏寸了端口之后,该设备可以联系各自的解析 服务,并因此以自动方式注册其相应的IP/Port (端口)对。也可以禾佣该解析 服务或另一种解析服务自动地/动态地定位感兴趣的其它网络组件。如果需要, 该解析服务可以存在于静态IP地址和公知的端口号上,但是也可以包括例如通 过公知的或者预定的端口标识使用DYN-DNS (动态域名服务)的动态组件。 也可以JOT其它解析方法来解丰刑科斤服务本身(例如,PNRP可以被用于找出该 解析服务)。
可以使用标准DNS或者动态DNS来解l^科斤服务,并且该解析服务可以 任选地利用对等网络解析协议来解析。有意联系漫游主机上的服务的主机通常 可以联系解析供应器或服务以便确定漫游设备的最新已知的IP地址和端口 。这 些移动主机然后可以直接联系那个IP/端口对上的服务。这种方案优于其它可能 方案的一个好处在于它通常不需要中央服务器或因特网基础设施修改。所解 决的问题的一个具体示例包括当两个或多个便携式电脑周游世界,其中web服 务主机在一个便携式电脑上而web服务客户机在另一个便携式电脑上之时。这 些便携式电脑是诸如在一具体示例中为酒店和热点(hotsport)等"公共"网络 上的漫游客人。因此, 一个便携式电脑具有原材料定价信息,而另一个则使用 原材料为销售人员动态地生成销售价格指导。如可以被理解的,例如,可以支 持各种应用诸如古董或葡萄酒的前景。该系统的其它方面包括NAT穿越系统和方法,从而在一个例子中,可以穿越级联的NAT组件以便支持各种自动化地址
确定和配置。
为了实现前述禾湘关目的,此处结合下面的说明和附图描述了某些示意性
的方面。这些方面指示可以实践的各种方式,并毋l:处旨在覆盖所有这些方式。
当结合附图考虑以下具体说明时,其它优点和新颖特征是显而易见的。
附图简述


图1是示出了网络漫游和解析系统的示意性框图。
图2是示出了解析供应方过程的流程图。
图3是示出了 NAT解析过程的流程图。
图4-7示出了用于自动化地:tjij科斤确定的示例性系统。
图8是用于客户机系统和服务的示例性发现系统。
图9是示出了适当的操作环境的示意性框图。
图10是样本计算环境的示意性框图。
具体说明
提供了用于在漫游对等设备之间进行自动化网络地址确定和通信的系统和 方法。 一方面,提供了一种网络通信系统。该系统包括用于用当前主机地址更 新解析供应器并且用于确定漫游主机服务地址和端口信息的方法。其它过程包 括通过网络地址翻译器打开端口以及结合级联的网络地址翻译器打开端口 。
如本申请中所使用的,术语"组件"、"翻译器"、"系统"、"X樣"等旨在 表示计算机相关实体,硬件,硬件和软件的组合,软件,或者执行过程中的软 件。例如,组件可以是,但并不限于,处理器上运行的过程,处理器,X像, 可执行文件,执行线程,禾骄,和/或计^m。作为示例,月艮务器上运行的应用 和服务器都可以是组件。 一个或多个组件可以驻留在处理和/或执行线程内,并
且组件可以位于一^s十算injt和/或分布在两个或多个计算机之间。还有,这些
组件可以从其上存储有各种数据结构的各种计算机可读介质中执行。诸如按照 具有一个或多个数据包(例如来自通过信号与本地系统、分布式系统中的另一 组件、禾口/或横跨诸如因特网等的网络与其它系统进行交互的一个组件的数据)
的信号,该组件可以mii本地和/或远程过程进^t信。
6开始参见图l,示出了自动化漫游和解析系统IOO。系统100包括网络110
(例如,因特网),其中一个或多个漫游设备120可以横跨该网络建:im信。系
统鄉包括用于确定用于设备120的网络地址的解析供应器130和有助于自动 化地址确定的发现组件140。事件组件150可以被^f共用于当设备120从一个位 置移动妾1拐一个位置时根据它们的路由变化来更,,科斤供应器130或发现组件 140。穿越组件160可以被提供用于将设备120与网络110隔离,或者路由来自 网络110的地址,或者提供防火墙支持。穿越组件160可以包括按照多个NAT 协议进行操作的一个或多个网络地址翻译器(NAT)。这些协议使得能够在一个 或多个终端用户应用之间进行通信。
一方面,系统100劍共了其中在通常不需要中央服务器或因特网基础设施 改变的情况下可以解析相关联的设备120的位置的系统。解析供应器130可以 存储例如友好设备名、GUID、公共nV端口对、NAT隧道期满时间以及路由至 设备的端口。设备解析供应器可以在例如通过DNS查询可以到达的静态或动态 EP上的公知端口上运行。如果需要,设备120可以向一个或多个设备解析供应 器注册其当前位置。解析供应器130通常可以利用来自域名服务(DNS)的友 好名进行访问。解析供应器130对传送友好设备名或GUID的地址的请求作出 响应。解析供应器130还可以具有访问控制列表(ACL)以用于查询,并且可 以通过例如使用客户机和服务器证书、共享机密或其它类型的安全机制的 SSI/TLS等安全套接来认证位置更新。
系统100允许在漫游或移动网络设备120之间自动地确定和构,信性能。 通过创建主机可以用于与附力口服务信息一起发现相关联的漫游服务的网际助、议 (IP)地址和端口号的解析服务,减轻了传统系统必须手动配置和预注册大型 服务器系统的问题。例如,在设备120或组件已经获取了IP地址并且已经通过 网络地址翻译器(NAT)组件160映射了端口之后,该设备可以联系各自的解 析服务130,并由此以自动方式注册其相应的IP/Port (端口)对。同样,也可以 联系相同或另一解析服务130,以便自动iik/动态地定位感兴趣的其它网络组件。 如果需要,该解析服务可以存在于静态的IP地址上以及公知的端口号上,但是 也可以包括例如通过公知的或者预定的端口标识使用DYN-DNS (动态域名服 务)的动态组件。它也可以直接利用PNPR (X搏名称解析协议)被定位到DNS 网关PNPR或用另一名称被定位到地址解析服务。
7解析服务或供应器130可以使用其传iti也址的内部数据库解析地址。有意
联系漫游主机上的服务的主机通常可以联系解析供应器130劍艮务,以便确定 漫游设备120的最新得知的IP地址和端口。然后,这些移动主机可以直接联系
那个nv端口对上的服务。这种方案优于其它可能方案之处在于,它通常不需要 中央服务器或因特网基础设施修改。系统ioo所解决的问题的一个具体示例是,
两个或多个便携式电脑跨不同的位置移动,其中web服务在一个便携式电脑上 而web服务客户机在其它便携式电脑上。如可以被理解的,例如,可以支持各 种通信应用。其它方面包括NAT穿越系统和方法,从而在一示例中可以穿越级 联的NAT组件160以便支持用于该设备120的自动化地址确定端口鹏才。
图2和3示出了用于漫游设备的自动化地址解析处理。出于解释简洁的目 的,虽然按照一系列或多个动作示出并描述了整套方法,但是应该理解和认识 到的是,由于一些动作可以按照不同的顺序和/或与不同于此处所示并且描述的 其它动作同时进行,所以本主题方法并不为此动作顺序所限定。例如,本领域 技术人员将理解,方法可以替换性地由诸如状态图中的一系列相互关联的状态 或事件来表示。此外,并非所有示出的动作都需要用于实现如此处所述的方法。
现在参见图2,示出了一种示意性解析供应器处理200。在这一方面,在 210示出了用当前主机传输地址更茅蹄科斤供应器的方法。这包括在220发送消息 以更新解析供应器,以及在230向该解析供应器发送参数。例如,在^fi事件 改变时漫游主机服别吏用例如WS-Eventing消息将SOAP消息发送给该解析供 应器。在230,这个事件包括,例如,该服务的友好名、GUID、可路由的公共 IP/端口对、专用IP/端口对、IP地址租约时间以及NAT隧道租约时间。
在240,提供了确定漫游主机的服务地址和IP端口的方法。这包括在250 通过定向WS-发现角科斤主机地址,以及在260用传输地址匹配来响应该发现请 求。在该示例中,为了解析主机的服务地址和端口,客户机主机使用了全局唯 一标识符(GU1D),并且禾佣对解析供应器的定向发现实现解析。在260,该解 析供应器用包含主机柳艮务地址的地址和端口信息的解析匹酉鹏行响应。
图3示出了用于穿越网络地址翻译器的示例性处理300。方法300用于用 当前主机地址更新解析供应器以及用于打开级联的网络地址翻译器(NAT)。处 理300包括在310自动地发现NAT或防火墙参数,以及在320请求网络地址。 据此,在330为漫游设备从设备池中选择地址。在340,解析供应器对具有外部地址的设备作出响应以进fi^信,而在350,多个级联的NAT被自动打开。为 了示出过程300,可以应用下面的例子。
被隐藏在NAT或防火墙后面的主机应当首先发现它们被与因特网隔离保 护了,并且不能接收外部发起的连接。想要获得外部访问的主机应当使用,例 如,WS-发5贼搜索WSD启用的NAT或防火墙。然后,该主机将从WSD启 用的NAT/防火墙请求外部IP地址和端口对。该主机可以向该NAT/防火墙呈递 安全凭证,以便证明已被授权接收外部发起的连接。该NAT/防火墙可以从其设 备IP池选择网际助议(EP)地址并从池中选择用于该IP地址的端口,并且然后 将该端口和IP日划寸到主机的内部IP/端口对。该NAT/防火墙然后可以,例如在 租约时间期间用外部日划寸的IP地址和端口号响应该主机设备。在350,提供了 用于打开级联的NAT的过程。例如,当主机位于级联的两个或多个NAT之后 时,S/Sil的NAT负责执行例如针X寸上游NAT/FW的WS-发现并请求将该主 机的端口和EP地址日划才到其外部端口中的一个。依次地,上游NAT/FW可以映 射可路由的IP/端口对,并且向该较低的NAT返回那个值。可以使用该主机设 备或较底层NAT的凭证来认证打开端口的每个NAT。
图4示出了用于地址解析的示例性系统400。在这个例子中,提供了用于 内部网络中的WS存储设备的数码相机客户机410。该相机410按照以下序列将 图像直接存储在个人计算机420上存储服务(WSSS)使用例如基于Web服 务的因特网网关设备(IGD) Web月艮务描述语言来请求外部lP/端口对。然后, WSSS将注册更新发送给可能位于该IGD中的其解析服务。该IGD存储用于 WSSS的外部M端口和内部IP/端口沐并且IGD发现服^[贞听WSSS的解析 请求。相机410连接到IGD的外部地址上的发现服务,并且IGD检测源自被本 地鹏寸的设备的解析消息。IGD解析至存储服务的内部IP地址和端口号,并且 相机410直接连接到便携式电脑420的存储服务。相机410 (或任意网络设备) 还可以将此复制给打印机服务430或后来的任意其它服务。
接着见图5,示出了外部网络位置解析系统500。在这个例子中,示例性系 统500可以操作如下相机510 (或其它漫游设备)连接到IGD的外部地址上 的发现服务,并且更新其传输地址信息。存储服务520移动到新的网络,并且 更新该IGD上的传输地址信息。相机510与存储服务520进行通信,由此向该 IGD发送解析i青求。IGD解析至横跨例如因特网的存储服务的公共IP和端口对。
9然后相机510 ilii其公共地址及反向NAT直接连接到便携式电脑的存储服务。 该存储服务可能需要解析相机,并且可以M向IGD ^^解析消息来实现。
接着见图6,示出了可替换的外部网络定位解析系统600。在该示例中,示 例性系统600操作如下相机610 (或其它漫游设备)连接到IGD的外部地址 上的发现服务。该IGD解析到存储服务的公共EP和端口对。相机610通过公共 地址及反向NAT直接连接到便携式电脑620的存储服务。相机610重,打印 机630 (或其它设备)的Web服务的査询,并且通过IGD的公共地址及反向 NAT连接到打印机或其它设备。
参见图7,示出了示例性的网络地址翻译器穿越系统700。在该示例中,该 系统为WSD设,供了因特网可路由IP地址和端口,并且为可能位于一个或 多个NAT之后该WSD设,供了那个可路由IP/端口对上的TCP隧道。例如, 它可以包括作为WSD客户机和服务器的IGD2 (710)和GID1 (720),其中IGDO
(730)是WSD服务器和发现代理。便携式电脑740从本地IGD (IGD2) 710 请求外部IP和端口对。IGD2映射一端口,并且AU:游IGD1 (720)请求外部 端口对鹏寸。IGD1鹏才一端口,并且从上游IGDO (730)请求外部端口对鹏寸。 IGDO映射一端口,并且用外部IP地址和端口对以及租约时间来响应IGD1
(720)。 IGD1将外部IP/端口传输给IGD2 (710), IGD2 (710)又将该IP/端口 对传输给便携式电脑740 (或其它计算设备)。现在,该便携式电脑740可以使 用外部IP/端口向解析供应器注册其位置。
图8是用于客户机系统和服务的示例性发现系统800。该系统800包括寻 求通过发现协议830与一个或多个目标服务820进行通信的一个或多个客户机 810。如所示出的, 一个或多个探测840可以在客户机810和服务830之间被定 向以便te:连接,其中响应于该探测各个消息可以从这對艮务被定向。
通常,多点传送发现助、议可以被提供用于定位服务820。发现的主要模式 是,客户机810搜索一个或多个目标服务820。为了根据目标服务的类型、目标 服务所驻留的范围或者两者找到目标服务820,客户机夂 测消息840 ,给多 点传送组;匹配该探测的目标服务直接向该客户机810发送响应。为了根据名 称定位目标服务的传输地址,客户机810将解附青求消息发送给同一多点传送 组,并且,匹配的目标服务820再 媳接向该客户机发送响应。为了使裕郇勺 需要降到劇氐,当目标服务加入该网络时,它向同一多点传送组发ia告消息。
10通过侦听该多点传送组,客户机810无需重复探测就可检测最近可用的目标服 务。
为了升级至大量的端点,如果在该网络上可以使用发现代理,则可以提供 多点传送抑制行为。特别地,当发现代理检测到由多点传送所发送的探测或解
析请求时,该发现代理发it^其本身的通告。通过侦听这些通告,客户机检测
发现代理,并且转换为使用发现代理专用协议。然而,如果发现代理没有回答, 则客户机回到使用此处所述的协议。
为了支持具有类似DHCP、 DNS、域控制器、目录等明确的网络管理服务 的网络,客户机和/或目标服务可以被配置为行为与此处所规定的不同。例如, 另一规范可以规定包含发现代理的地址的公知DHCP记录,并且遵循此规范会 要求端点向该发现代理而不是多点传送组发送消息。虽然可以在各种不同过程 中提供该配置的专用手段,但是期望任何这种配置都可以允许客户机和减目标 服务在谨慎管理并且自组织的网络之间进行平滑迁移。还可以使用多个发现代 理。例如,蜂窝电话可以更新工作发现代理和家用发现代理上的传输地址。解 析该蜂窝电话上的定位的客户机也可以使用代理来解析它。
下面示出了用于示例性探测消息的XML例子
(01) <s:Envelope
(02) xmlns:a="http:〃schemas.xmlsoap.oig/ws/2004/08/addressing"
(03) xm]ns:d="http:〃schemas.xmlsoap.o^g/ws/2004/l 0/discovery"
(04) xmlns:i="http:〃printer.example.oi^/2003/imaging"
(05) xmlns:s="http:〃www.w3.org/2003/05/soap-envelope" >
(06) <s:Header> (07) <a:Action>
(08) http://schemas.xmlsoap,Oig/ws/2004/l O/discoveiy/Probe
(09) </a:Action>
(10) <a:MessageID> (H) uuid:0a6dc791-2be64991-9afl"454778al917a
(12) 々a:MessageID>
(13) <a:To>urn:schemas-xmlsoap-org:ws:2004:10:discovery</a:To>
(14) </s:Header>
(15) <s:Body>
(16) <d:Prob^>(17) <d:Types>i:PrintBasic</d:Types> (18) <d:Scopes
(19) MatchBy="http:〃schemas.xmlsoap.oig/ws/2004/l O/discovery/ldap" >
(20) ldap:〃/ou=engineering,o=examplecom,c=us (21) </d:Scopes>
(22) 々d:Probe>
(23) </s:Body>
(24) <ys:Envelope>
上面例子中的行(07-09)表示该消息是探测,并且行(13)表示其正被发 送给公知的地址[RFC2141]。因为没有明确的ReplyToSOAP标头块[WS-寻地, 所以对此探测的任何响应将都作为UDP包被发送给探测传 鈉示头的源IP地址 和端口。行(17-21)规定了有关该探观啲两个约束条件行(17)约棘实现 基本打印类型的目标服务的响应;行(18-21)约束,例如用于工程部门范围内 的目标服务的响应。通常,只有同时满足这两个约束条件的目标服务才会作出 响应。尽管这个例子中包括两个约束条件,但是并不要求探测包括其任何一个。
下面的XML例子示出了响应于上面的例子中所描述的探测消息的示例性 探测匹配。
(01) <s:Envelope
(02) xmlns:a="http://schemas.xmlsoap.org/ws/2004/08/addressing"
(03) xmlns:d="http:〃schemas.xmlsoap.oig/ws/2004/l 0/discovery"
(04) xmlns:i="http:〃printer.example.org/2003/imaging"
(05) xmlns:s="http:〃www.w3.org/2003/05/soap-envelope" >
(06) <s:Header>
(07) <a:Action>
(08) http://schemas.xmlsoap.Org/ws/2004/l O/discoveiy/ProbeMatches
(09) </a:Action>
(10) <a:MessageID>
(11) Uuid:e32e6863-ea5e~4ee4-997e-69539dlfl2cc
(12) </a:MessageID>
(13) <a:RelatesTo>
(14) uuid:0a6dc791-2be6-4991-9afl454778a1917a
(15) 々a:RelatesTo>(16) <a:To>
(17) http:〃schemas.xmlsoa。.org/ws/2004/08/addressing/role/anonymous
(18) </a:To>
(19) </s:Header>
(20) <s:Body>
(21) <d:ProbeMatches>
(22) <d:ProbeMatch>
(23) <a:Endpoin^eference>
(24) <a:Address>
(25) uuid:98190dc2-0890~4ef8-ac9a-5940995e6119
(26) </a:Address>
(27) </a:EndpointReference>
(28) <d:Types>i:PrintBasic i:PrintAdvanced</d:Types>
(29) <d:Scopes>
(30) ldap:/〃oiP=engineering,a=examplecom,c=us
(31) Idap:/〃ou:floor2,ou:b42,ou:anyto職,o^examplecom,c^us
(32) 々d:Scopes>
(33) <d:XAddrs>http://pm-example/PRN42/b42- 1668-a</d:XAddrs>
(34) <d:MetadataVersion〉75965</d:MetadataVersion>
(35) </d:ProbeMatch〉
(36) 々d:ProbeMatohes>
(37) 々s:Body>
(38) </s:Envelope>
上面的探测响应消息中的行(07-09)指示该消息是一探测匹配,行(13-15)
指示它是对该示例响应之前的探测消息的响应。由于该探测不具有明确的 ReplyTo SOAP标头±央,所以行(16-18)指示该响应被发送至该探测的传输标头 的源IP地址和端口。行(22-35)描述了单个目标服务。行(23-27)包含用于 该目标服务的跨网络接口 、传输地址以及Ipv4/v6恒定不变的稳定的唯一^H只符。 在这种情况下,该值是UUID方案URL但如果它满足稳定性和唯一性要求, 则也可以是传输濯(类似33行中的URI)。行(28)歹咄了该目标服务实现
13的类型(参见,例如[WSDL l.l]),在该示例中,为与该探测匹配的基本打印
类型以及高级打印类型。
行(29-32)列出了两个管理范围, 一个是匹配该探测,以及另一个专用于 特定的物理位置。行(33)表示该目标服务可以到达的传送i也址;在该情形中 为单个HTTP传^i也址。行(34)包含用于该目标服务的元翻的版本;该版 本在用于目标服务的元 改变时递增(包括行28-33 )。
为了提供用于所公开的主题的各个方面的环境,图9和10以及后面的讨论
旨在提供对可在其中实现所公开的主题的各个方面的适当环境的简要的、 一般
性说明。以上虽然在运行于一个计算机和域多个计算机上的计算机程序的计算
机可执行指令的一般性环境中描述了该主题,但是本领域技术人员将认识到, 也可以结合其它禾聘模块来实现本发明。通常,禾歸模i央包括执行特定任务和/
或实现特定抽象数据类型的例程、程序、组件、数据结构等。此外,本领域技 术人员将理解,可以采用其它计算机系统配置来实施该方法,这些计算机系统 配置包括单处理器或多处理器计算机系统、小型计算设备、大型计算机以及个 人计算机、手持计算设备(例如个人数字助理(PDA)、电话、表……)、基于 微处理器的或可编程消费或工业电子产品等。所示出的各方面也可以在其中由 通M信网络链接的远程处理设备来执行任务的分布式计算环境中实施。然而, 即使不是所有的方面,某些方面也可以在单机计算机上实施。在分布式计算环 境中,,將模±央可以位于本地和远程存储器存取设备中。
参见图9,用于实现各个方面的示例性环境910包括计算机912。计tm 912包括处理单元914、系统存储器916以及系统总线918。系统总线918将包 括但并不限于系统存储器916的系统组件耦接到处理单元914。处理单元914 可以是各种可用处理器中的任意一种。双微处理器和其它多处理器架构也可以 被用作处理单元914。
系统总线918可以是包括存储器总线或存储器控制器、夕卜围总线或外部总
线、禾n/或JOT各种可用总线结构的局部总线在内的多种类型的总线结构(多种)
中的任意一种,以上各种可用总线结构包括,但并不限于,11位总线、工业标 准结构(ISA)、微通道结构(MSA)、扩展ISA (EISA)、智能驱动器电路(IDE)、 VESA局部总线(VLB)、外围组件互连(PCI)、通用串行总线(USB)、高级 图形接口 (AGP)、个人计算机存储器卡国际联合会总线(PCMCIA)、插件总
14线、蓝牙、火线1394以及小型计算机系统接口 (SCSI)。
系统存储器916包括易失性存储器920和非易失性存储器922。包含诸如 于起动期间在计算机912内各要素之间传送信息的基本例程的基本输A/输出系 统(BIOS)被存储在非易失性存储器922中。作为示例而非限定,非易失性存 储器922可以包括只读存储器(ROM)、可编程ROM (PROM)、电子可编程 ROM (EPROM)、电子可擦除ROM (EEPROM)或闪存。易失性存储器920 包括用作外部高速缓冲存储器的随机存取存储器(RAM)。作为示例而非限定, RAM可以诸如同步RAM (SRAM)、动态RAM (DRAM)、同步DRAM
(SDRAM)、双数据速率SDRAM (DDR SDRAM)、增强型SDRAM
(ESDRAM)、同步链接DRAM (SLDRAM)以及存储器总线直接RAM
(RDRAM)等多种形式得到。
计算机912还包括可移动/不可移动的、易失'f4/非易失性的计算机存储介 质。图9示出了,例如,磁盘存储器924。磁盘存储器924包括,但并不限于, 类似于磁盘驱动器、软盘驱动器、磁带驱动器、Jaz驱动器、Zip驱动器、LS-100 驱动器、闪存卡或记忆棒等的设备。此外,磁盘存储器924包括与其它存储介 质相分离或组合的存储介质,包括但并不限于,诸如压縮盘ROM设备
(CD-ROM)、 CD可记录驱动器(CD-R驱动器)、CD可重写设备(CD-RW驱 动器)或数通用盘ROM驱动器(DVD-ROM)等光盘驱动器。为了便于将磁盘 存储器设备924连接到系统总线918,通常使用诸如接口 926等可移动或不可移 动接口。
应当认识到图9描述了用作用户与合适的操作环境910中所描述的基本计 算机资源之间的媒介的软件。此软件包括操作系统928。可以被存储在磁盘存储 924上的操作系统928用于控制和分配计算机系统912的资源。系统应用930 通过被存储在系统存储器916中或磁盘存储924上的禾聘模i央932和禾I)^数据 934来利用操作系统928对资源的管理。
用户通过(诸)输入设备936将命令或信息输入到计算机912中。输入设 备936包括,但并不限于,诸如鼠标、足跟宗球、指示笔、触摸板等定点设备、 键盘、麦克风、操纵杆、游戏垫、盘式卫星天线、扫描仪、TV调谐器卡、数码 相机、数字视频相机、web相机等。这些以及其它输入设备通过系统总线918 经由(诸)接口端口 938连接到处理单元914。(诸)接口端口 938包括,例如,串行端口、并行端口、游戏端口以及通用串行总线(USB)。(诸)输出设备940 使用某些与(诸)输入设备936相同类型的端口。因此,例如,USB端口可以 被用于提供至U计算机912的输入,以及从计算机912向输出设备940输出信息。 输出适配器942被樹共用以示出输出设备940中类似于监视器、扬声器以及打 印机等一些输出设备940需要专用适配器。作为示例而非限,输出适配器942 包括提供输出设备940与系统总线918之间的连,幾置的视频卡和声卡。应当 注意,诸如(诸)远程计算机944等其它设备和/或设备的系统也提供了输入和 输出能力。
,计算机912可以在使用到诸如(诸)远程计f^几944等一个或多*程 计算机的本地连接的网络化环境中操作。(诸)远程计算机944可以是个人计算 机、服务器、路由器、网络PC、工作站、基于微处理器的电器、对等设备或其 它公共网络结点等,并且通常包括关于计算机912所描述的部分或所有要素。 出于简洁的目的,远程计算机(多个)944仅示出了存储器存储设备946。(诸) 远程计算机944通过网络接口 948被逻辑地连接到计算机912,并且然后通31il 信连接950物理iKfi^接。网络接口 948包括诸如局域网(LAN)和广域网 (WAN)等通信网络。LAN技术包括光纤分布式数据接口 (FDDI)、铜线分布 式数据接口 (CDDI)、以太网/EEEE8023、令牌网/EEE 802.5等。WAN技术包 括,但并不限于,点对点链接、如综合业务数字网(ISDN)等电路交互网络及 其变体、分组交换网络、数字用户线路(DSL)、 802.11G、 802.11A/B、 802.11N、 Zigbee、超宽带、蓝牙、ERDA以及IP/USB。
(诸)通信连接950涉及被用于将网络接口 948连接到总线918的硬件/ 软件。虽然出于说明清楚的目的而将通信连接950示于计算机912之内,但是 它也可以位于计算机912的外部。仅出于示例性目的,连接到网络接口 948所 需的硬件/软件包括,诸如包括常规电话级调制解调器、电缆调制解调器和DSL 调制解调器在内的调制解调器、ISDN适配器以及以太网卡等内部和外部技术。 图10是样本计算环境1000的示意性框图。系统1000包括一个或多个客户 机IOIO。(诸)客户机1010可以是硬件和/或软件(例如,线程、过程、计算设 备)。系统1000还包括一个或多个服务器1030。(诸)服务器1030也可以是硬 件和域软件(例如,线程、过程、计算设备)。例如,服务器1030可以容纳执 行变换的线程。客户机1010与服务器1030之间的一种可能的通信可以采取适于在两个或多个计tm过程之间传输的i^包的形式。系统iooo包括可用于便
于(诸)客户机1010与(诸)服务器1030之间的通信的通信框架1050。(诸) 客户机1010被可操作地连接到可以被用于存储(诸)客户机1010本地的信息 的一个或多个客户机数据存储器1060。對吸也,月艮务器(多个)1030丰鹏作地 连接到可以被用于存储服务器1030本地信息的一个或多个服务器数据存储器 1040。
以上已经描述的内容包括各种示例性方面。当然,不可能为了描述这些方 面的目的而描述可以想到的组件或方法的每一种组合,但是本领域普通技术人 员会意识到可能存在许多进一步的组合和置换。因此,此处所述的这些方面旨 在包含落在所附权禾腰求的精神和范围内的所有这种改变、修改和变化。此外, 对于在具体说明或权利要求中所使用的术语"包括(includes)"的程度而言,该 术语旨在以与术语"包括(comprising)"在权利要求中作为过渡词使用时被解 释的相类似的方式表示包含性的意思。
1权利要求
1、一种网络通信系统,包括解析供应器,用于自动地确定一个或多个漫游网络设备的网络地址;以及发现组件,用于帮助确定所述一个或多个漫游网络设备的网络地址。
2、 如权利要求1所述的系统,还包括至少一个网络地址翻译器组件。
3、 如权利要求2所述的系统,还包括与被用于确定和选择一个或多个NAT 类型的客户机相关联的查询组件。
4、 如权利要求i所述的系统,还包括用漫游地址信息更新戶;M解析供应器的事件组件。
5、 如权利要求1所述的系统,还包括用于确定所述漫游网络设备之间的连 接的至少一个协议发现组件。
6、 如权禾頓求l所述的系统,还包括用当前主机地址更新所述解析供应器 的组件。
7、 如权利要求1所述的系统,还包括用于将来自第一客户机组件的初始化 包发送给第二客户机组件的功能机构。
8、 如权利要求1所述的系统,还包括用于发送简单对象访问助、议消息的组
9、 如权利要求1所述的系统,还包括用于存储服务友好名称、GUID、可 路由公共地址和端口对、地址租约时间以及隧道租约时间的组件。
10、 如权利要求1所述的系统,还包括用于确定漫游主机服务地址和端口 的组件。
11、 如权利要求10戶脱的系统,还包括用于从发现组〗條测服务地址和端 口的客户机组件。
12、 如权利要求ll戶腿的系统,还包括用匹配所述探领啲地址和端口信息 X寸所述客户机组件作出响应的解析供应器。
13、 如权利要求1所述的系统,还包括用于在网络地址翻译器(NAT)之 后打开端口的组件。
14、 如权禾腰求13戶腿的系统,还包括用于确定来自所述NAT的外部地 址和端口信息的发现组件。
15、 如权利要求14戶脱的系统,还包括根据所述发现组件处理安全凭证的 组件。
16、 如权利要求1戶脱的系统,还包括其上存储有用于执行戶脱解析供应器或所述发现组件的计算机可读指令的计算机可读介质。
17、 一种网络发现方法,包括4鄉测消息从至少一个漫游客户机组件发送到至少一个目标服务; 接收来自所述目标服务的探测响应消息;以及部分地基于所述探测响应消息,自动地确定所述漫游客户机组件的网络地址。
18、 如权利要求17所述的方法,还包括用于生成外部网际协议(EP)地址 和端口的组件。
19、 如权利要求18所述的方法,还包括 曰划寸所述IP地址和端口;打开两个或多个级联的网络地址翻译器(NAT);以及 在所述NAT之间路由地址和端口信息。
20、 一种网络发现系统,包括 用于在至少两个网络组件之间通信的装置; 用于在戶腿网络组件之间发送探测消息的装置; 用于从戶腿网络组件的至少一个生成探测响应消息的装置;以及 用于基于所述网络组件之间的通信为所述网络组件确定网络地址的装置。
全文摘要
提供了便于在漫游对等设备之间进行自动化网络地址确定和通信的系统和方法。在一方面,提供了一种网络通信系统。该系统包括用于用当前传输地址更新解析供应器以及用于确定漫游服务地址和端口信息的方法。其它过程包括通过网络地址翻译器和防火墙打开并映射端口,以及结合级联的网络地址翻译器打开/映射端口。
文档编号G06F15/16GK101501665SQ200680010303
公开日2009年8月5日 申请日期2006年4月24日 优先权日2005年4月25日
发明者S·J·陈, W·R·威廉姆斯 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1