用于访问居于防火墙的具有动态IP-地址的web设备的系统和方法

文档序号:7638768阅读:323来源:国知局
专利名称:用于访问居于防火墙的具有动态IP-地址的web设备的系统和方法
技术领域
本发明总体涉及移动电子设备上的web服务器。更具体地,本 发明涉及访问位于防火墙之后的移动电子设备上的web服务器。
背景技术
目前,用于移动设备诸如移动电话的网络连接性由运营商来提 供。网络连接性可以包涉及系统的使用,使得通用分组无线业务 (GPRS)允许跨移动电话网络发送和接收信息。可能期望一种置于 该移动设备之上的服务器,其中该服务器可由在因特网上的设备上 运4亍的客户端访问。然而在这种系统中,目前存在多种障碍必须加以克服。在当前 的运营商网络中,对移动设备分配临时网际协议(IP)地址。因此, 尝试访问在这种设备上的web服务器的客户端设备必须提供有 一种 到达该服务器的方式,该方式独立于已经分配给移动设备的IP地址。 这构成了这种系统中的基本可访问能力问题。然而,即使具有内置服务器的移动设备被分配静态IP地址,或 者如果使用了诸如动态域名系统(DNS)的技术,该服务器将仍是 不可访问的。这是由于以下事实运营商防火墙通常不允许创建从 因特网上的设备到运营商网络内的移动设备的连接。作为代替的是, 必须创建从运营商网络的内部出发并且向外延伸到客户端设备的连 接。尽管已经尝试解决这个可访问能力的问题,但是这些所提出的 解决方案中的每个都具在严重的缺陷。 一个提出的解决方案涉及端 口碰撞。通过端口碰撞,当某些防火墙端口编号在"秘密"序列中碰撞时,则一个特定端口编号被打开一'j、,险时间。这个概念在www.linuxiournal.com/article.php sid=6811中有讨i仑。另一解决方案 涉及使用防火墙控制协议(FCP),其可以支持第三、信任方动态地 控制防火墙(即打开哪些端口 ,端口被打开的时间段,允许哪些客 户端具有打开的端口等等)。FCP在www.iptel.org/fcp/ietf-fcp.ppt中 有讨论。然而,对于这两种系统,要求至少给予网络外的设备某种 对防火墙的间接控制。为了满足这一要求,运营商将需要在它们的 基础设施中投资更多并且可能尝试解决目前还没有的工业标准的问 题。而且使防火墙动态可配置还将导致需要修改web浏览器,这是 不希望发生的。除此之外,即使拥有服务器的移动设备和从该服务器进行访问 的设备处于同一运营商网络中,即使客户端知道临时IP地址,仍不 存在该服务器可被访问的保证。特别地,典型运营商通常不直接在 移动设备之间现时路由分组。发明内容本发明通过引入网关解决上述问题,该网关从因特网上的客户 端设备向诸如移动电话的移动设备上的web服务器透明地传递请 求。类似地,该网关从移动web服务器应答发起该请求的客户端。本发明的系统和方法提供了高于传统系统的多个优点。本发明 允许在当前存在的运营商网络中访问诸如移动电话的移动设备上的 web服务器,而不要求来自相应设备的运营商的任何参与。附加地, 本发明允许诸如移动电话的设备成为因特网的正式成员,不必等待 移动IPv6协议变为可用。根据结合附图的下述详细描述,本发明的这些和其他目的、优 势以及特征,与本发明的操作方式和组织将一并变得明显,其中类 似元素在贯穿下文中描述的多个附图具有类似标号。


图1是根据本发明的实施方式的系统的概观示图;图2是可以用于本发明实施的移动电话的透视图;图3是图2中的移动电话的电话电路的示意性表示;图4是根据本发明的一个实施方式的简化移动设备、客户端设备以及网关计算机/网关服务器的表示;图5是示出了根据本发明的一个实施方式实施的流程图;以及 图6是示出了在运营商阻碍待使用特定端口的事件中打开客户端设备和网关计算机之间的套接口的过程的流程图。
具体实施方式
图1示出了在其中可以使用本发明的系统10,该系统包括可以 通过网络进行通信的多个通信设备。系统IO可以包括有线网络或者 无线网络的任何组合,其中无线网络包括,但不限于移动电话网络、 无线局域网(LAN)、蓝牙个人局域网、以太网LAN、令牌环LAN、 广域网、因特网等等。系统IO可以包括有线通信设备和无线通信设 备两者。作为示例,图1中的所示的系统10包括移动电话网11和因特 网28。到因特网28的连接性可以包括,但不限于远程无线连接、短 距离无线连接以及各种无线连接,包括但不限于,电话线、电缆、 电源线等等。系统IO的示例性通信设备可以包括,但不限于移动电话12、PDA 和移动电话的组合14、 PDA16、集成消息收发设备(IMD) 18、台 式计算机20以及笔记本计算机22。通信设备可以固定,或者当通信 设备由正在移动的个人携带时,该通信设备可以是移动的。通信设 备还可以位于以下运输模式中,该传输模式包括但不限于,汽车、 卡车、出租车、公共汽车、船舶、飞机、自行车、摩托车等等。其 中 一些或者所有通信设备可以向基站24发送和接收呼叫和消息并且 可以通过无线连接25与服务供应商进行通信到基站24。基站24可 以连接到网络服务器26,该网络服务器26允许移动电话网11和因特网28之间的通信。系统10可以包括附加的通信设备和不同类型 的通信设备。通信设备可以使用各种传输技术来进行通信,其中包括但不限 于,码分多址(CDMA)、移动通信全球系统(GSM)、全球移动 通信系统(UMTS)、时分多址(TDMA)、频分多址(FDMA)、 传输控制协议/网际协议(TCP/IP)、短消息收发服务(SMS)、多 媒体消息收发服务(MMS)、电子邮件、即时消息收发服务(IMS)、 蓝牙、IEEE 802.il等。通信设备可以使用各种媒体进行通信,包括 但不限于,无线电、红外、激光、电缆连接等等。图2和图3示出了根据本发明的一个实施方式的一个代表性移 动电话12。然而,应该理解到本发明并不旨在限于一种特定类型的 移动电话12或者其他电子设备。图2和图3的移动电话12包括外 壳30、液晶显示器形式的显示器32、小键盘34、麦克风36、耳机 38、电池40、红外端口 42、天线44、才艮据本发明的一个实施方式的 UICC形式的智能卡46、读卡器48、无线接口电路52、编解码器电 路54、控制器56以及存储器58。各电路和元件是现有技术中已知 的所有类型,例如在Nokia移动电话范畴内。在图4中以筒化形式示出的本发明在以下情形下操作,其中不 具有固定IP地址的移动设备100居于运营商防火墙之后。防火墙防 止创建从网络外部到移动设备100的连接,而是仅允许从移动设备 100到网络外部创建连接。本发明解决了以下情形下的问题,其中 web服务器110在移动设备上运行,并且希望对于因特网28上的至 少一个客户端设备120 (移动设备和/或固定设备两种)而言服务器 IOO是可访问的。根据本发明,在因特网上的客户端设备120和移动设备100上 的web服务器110之间的通信中所使用的协议如下当由客户端设 备120将请求发送到web服务器110时,该请求包含关于电子设备 100意图请求的信息。网关计算机130仍建立在运营商防火墙之外, 因特网上的某处。网关计算机130包括在两个端口上侦听的网关服务器140。对于因特网28上的客户端设备120而言一个端口 (HTTP 端口)是已知的,则该端口称为指定端口。客户端设备120、移动设 备100和网关计算机130都可以拥有图3中所示的电路类型和功能 性类型。包含web服务器110的移动设备100进行到打开对网关服务器 140的指定端口的连接。对每个移动设备100分配名称并且将其布置 使得DNS查找该名称带来网关计算机130的IP地址得以返回。网 关服务器140寻找从各种客户端设备120到已知端口所到达的每个 请求,并且使用该内容以便推知移动设备100意图的请求。然后网 关服务器140在由移动设备100打开的连接上传递该^清求。移动设 备100上的Web服务器110随即在同一连接上返回应答,并且将该 应答传送到客户端设备120。在此过程中,看起来好像移动设备100 上的web服务器IIO从因特网上的任何客户端设备120直接可访问。 这样,移动i殳备100已经变为可寻址并且可访问。本发明的实施通常如下所述并且如图5中所示。在此特定的实 施中,移动设备100包括移动电话,并且协议是HTTP。在此实施中, DNS,皮配置为所有DNS查找特定扩展中的结尾,诸如"name.nm", 得到网关计算机的IP地址。仅出于说明的目的,假设IP地址是 10.20.30.40。在实践中,这意味着查找诸如aUce.name.mu和 bob.name.mu得到IP地址10.20.30.40。如前所述,网关计算机130包括网关服务器140,该网关服务器 侦听通用HTTP端口 80以及例如端口 2050。在移动电话上,在步骤 500, web服务器110开始运行,并且其侦听通常的HTTP端口 80。 然而,由于上述问题,所以此web服务器IIO对于移动电话外部的 任何设备不可访问。而且,运行另一过程,在此称为连接者。在步 骤505,连接者打开到端口 2050的套接口。作为打开该套接口的一 部分,连接者声明移动电话的标识。作为此打开序列的一部分,网 关服务器140知晓移动电话的名称。在此示例中,移动电话称为 "alice."。在因特网上的某人尝试浏览alice.name.mu的事件中,发生以下 系列事件。在步骤510,客户端设备120上的浏览器执行查找 alice.name.mu。在步骤515,此查找返回10.20.30.40作为网关服务器 140的IP地址的结果。在步骤520,浏览器进行到10.20.30.40上的 HTTP端口 80并且传送常规HTTP请求。HTTP请求报头在其头字 段中包括alice.name.mu。
在步骤525,根据头字段的值,网关服务器推知对于请求的接收 方。如果名为alice的设备已经打开到网关服务器140的连接,则在 步骤535,网关服务器140在该连接上发送请求到移动电话。如果移 动电话没打开到网关服务器的连接,则在步骤530,网关服务器140 以适合的错误应答做出响应。当该请求到达移动电话上的连接者时, 在步骤540,连接者将其传送到在移动电话上运行的web服务器110。 当web服务器应答时,在步骤545连接者将应答发送回网关服务器。 然后在步骤550网关服务器进行将其发送回做出初始请求的浏览器。 因此,对于使用浏览器的个体而言,看起来好^f象使用url alice.name.mu. 可直4妄访问移动电话。
图5中所示的解决方案依赖于移动设备100能够打开从移动设 备100到网关服务器140的TCP/IP套接口。然而,运营商可以通过 阻碍在移动设备IOO和网关计算机130之间的通信中所使用的端口 来防止发生此创建。图6是示出了根据本发明的一个实施方式解决 此问题的处理的流程图。在此处理中,假设运营商不阻碍每个潜在 端口,并且运营商不阻碍端口 80。
如图6中所示,在步骤600移动设备IOO尝试打开到网关服务 器140的套接口。如果其尝试成功,则不需要附加动作并且如上所 述地进行图5中的处理。其在步骤610中表示。如果该尝试失败, 这可能由于运营商在其防火墙中已经阻碍了所期望的端口的事实。 作为响应,在步骤620,移动i殳备100使用常规web端口 80打开了 到网关计算机130的HTTP连接。这个步骤很可能成功,因为运营 商阻碍此端口是极不可能的。在步骤630,移动设备100传送使用特定URL的HTTP请求并且通知网关服务器140不能再使用特定端口 。 在步骤640,网关服务器140使用不同的端口创建另一传入套接口并 且,在HTTP应答中通知移动设备100端口号。然后重复此过程直 到找到打开端口,此时套接口是打开的。即使是可能的,该系统也 使得其很困难,因为运营商要防止实施本发明的解决方案的连接, 除非阻碍了所有端口,除非在每个连接上执行业务量分析,否则其 将无目的地给予2G和3G网络。
本发明在方法步骤的常用环境中进行描述,其可以通过程序产 品在 一 个实施方式中实施,该程序产品包括可由网络互连环境中的 计算机执行的计算机可执行指令,诸如程序代码。
通常地,程序模块包括例行程序、程序、对象、组件、数据结 构等等,其可以执行特定任务或者实施特定抽象数据类型。与数据 结构相关联的计算机可执行指令、以及程序模块表示用于执行在此 公开的方法步骤的程序代码的示例。这种可执行指令的特定序列或 者相关联的数据结构表示用于实施这些步骤中所描述的功能相对应 的动作的示例。
本发明的软件和web实施可以用标准程序技术来完成,用基于 规则的逻辑、以及其他逻辑来完成各种数据库搜索步骤、关联步骤、 对比步骤以及决定步骤。还应该注意到在此所使用的和在权利要求 书中所使用的词语"组件"和"模块"旨在包括使用一个或者多个 软件代码线路的实施,和/或硬件实施、和/或用于接收手动输入的设 备。
为了示意和描述的目的已经进行了对本发明的实施方式的上述 描述。不意在穷举或者将本发明限于所公开的精确形式,并且可以 从上述教导或者从本发明的实践获取修改和变形。选择了实施方式 并对其进行了描述是为了解释本发明的原理,以及其实际应用使得 本领域技术人员能够在各种实施方式中利用本发明,以及具有各种 适合于特定使用所期望的各种修改。
权利要求
1.一种提供访问居于防火墙之后的电子设备上的web服务器的的方法,包括使得网关服务器位于所述防火墙以外,所述网关服务器拥有对应于预定DNS扩展的IP地址,其中所述web服务器的DNS名包括所述预定DNS扩展;当客户端设备尝试使用所述DNS名联系所述电子设备时,使得所述网关服务器接收所述联系尝试以及其中所包含的信息;以及使得所述网关服务器传送包含在所述联系尝试中的信息到所述web服务器。
2. 根据权利要求1所述的方法,进一步包括使得所述网关服务器接收来自所述web服务器的响应信息;以及使得所述网关服务器中继所述响应信息到客户端设备。
3. 根据权利要求1所述的方法,进一步包括当所述网关服务器接收到所述联系尝试以及其中所包含的信息 时,确定所述web服务器是否具有与所述网关服务器的打开连接; 以及如果所述web服务器不具有与所述网关服务器的打开连接,则 传送错误应答到所述客户端设备。
4. 根据权利要求1所述的方法,其中所述网关服务器和所述web 服务器通过指定端口进行通信,该指定端口与所述客户端设备用于 与所述网关服务器进行通信的端口相分立。
5. 根据权利要求1所述的方法,在使得所述网关服务器传送包 含在到所述web服务器的联系尝试中的信息之前,进一步包括使得所述电子设备尝试使用web端口打开与所述网关服务器之 间的套4妄口 ,如果所述电子设备不能打开所述套接口 ,则使得所述电子设备打开到所述网关服务器的HTTP连接,使用特定URL将HTTP请求从所述电子设备传送到所述网关服务器;使得所述网关服务器使用附加端口创建附加传入套接口;将所述附加端口的编号通知给所述电子设备;使得所述电子设备尝试使用所述附加端口打开与所述网关服务 器之间的套接口;以及继续使得所述电子设备尝试使用附加端口打开与所述网关服务 器的套接口直到尝试成功。
6. —种用于提供通过防火墙访问web服务器的系统,包括 电子设备,位于所述防火墙之后并且该电子设备包括所述web服务器,所述web服务器拥有具有预定DNS扩展的DNS;以及 网关设备,位于所述防火墙之外并且该网关设备包括网关服务器,所述网关服务器具有对应于所述DNS扩展的IP地址,其中,当客户端设备尝试使用所述DNS名联系所述电子设备时,所述网关服务器接收所述联系尝试以及其中所包含的信息,所述网关服务器将包括在所述联系尝试中的信息传送到所述web服务器。
7. 根据权利要求6所述的系统,其中所述网关服务器接收来自 所述web服务器的响应信息并且将所述响应信息中继到所述客户端 设备。
8. 根据权利要求6所述的系统,其中所述网关服务器和所述web 服务器通过指定端口进行通信,该指定端口与所述客户端设备用于 与所述网关服务器进行通信的端口相分立。
9. 根据权利要求6所述的系统,其中当所述网关服务器接收到 所述联系尝试以及其中所包含的信息时,所述网关服务器确定所述答到其不存在打开连接的所述客户端设备。
10. —种用于提供通过防火墙访问web服务器的计算机程序产 品,包4舌用于提供网关设备上的网关服务器的计算机代码,所述网关服务器具有对应于DNS扩展的IP地址;用于接收来自客户端设备的针对所述防火墙之后的电子设备的 联系尝试的计算机代码,所述电子设备具有包括所述DNS扩展的 DNS名;以及用于将包括在所述联系尝试中的信息传送到所述电子设备上的 所述web服务器的计算机代码。
11. 根据权利要求10所述的计算机程序产品,进一步包括用于接收来自所述web服务器的响应信息的计算机代码;以及 用于中继所述响应信息到所述客户端设备的计算机代码。
12. 根据权利要求10所述的计算机程序产品,进一步包括用于在接收到所述联系尝试以及其中所包含的信息之后,确定所 述web服务器是否具有与所述网关服务器的打开连接的计算机代 码;以及用于如果所述web服务器不具有与所述网关服务器的打开连接, 则向所述客户端设备传输错误应答的计算机代码。
13. 根据权利要求10所述的计算机程序产品,其中所述网关服 务器和所述web服务器通过指定端口进行通信,所述指定端口与所 述客户端设备用于与所述网关服务器进行通信的端口相分立。
14. 一种用于通过防火墙提供到web服务器的通信的网关设备, 包括处理器;以及存储单元,可操作地连接到所述处理器,所述存储单元包括 用于提供所述网关设备上的网关服务器的计算机代码,所述网关服务器具有对应于DNS扩展的IP地址;用于接收来自客户端设备的针对所述防火墙之后的移动电子设备的计算机代码,所述移动电子设备具有包括所述DNS扩展的DNS名;以及用于将包括在所述联系尝试中的信息传送到所述电子设备上的所述Web服务器的计算机代码。
15. 根据权利要求14所述网关设备,其中所述存储单元进一步 包括用于接收来自所述web服务器的响应信息的计算机代码;以及 用于中继所述响应信息到所述客户端设备的计算机代码。
16. 根据权利要求14所述网关设备,其中所述存储单元进一步 包括用于在接收到所述联系尝试以及其中所包含的信息之后,确定所 述web服务器是否具有与所述网关服务器的打开连接的计算机代 码;以及用于如果所述web服务器不具有与所述网关服务器的打开连接 则传送错误应答到所述客户端设备的计算机代码。
17. 根据权利要求14所述网关设备,其中所述网关服务器和所 述web服务器通过指定端口进行通信,所述指定端口与所述客户端 设备用于与所述网关服务器进行通信的端口相分立。
18. —种电子设备,包括 处理器;以及存储单元,可操作地连接到所述处理器并且包括用于提供所述电子设备上的web服务器的计算机代码;算机代码,所述DNS扩展对应于用于防火墙之外的网关设备的IP 地址,其中所述电子设备位于所述防火墙之内;用于接收包括在来自所述防火墙之外的客户端设备的联系 尝试中的信息的计算机代码,所述信息通过所述网关服务器被传送 到所述web服务器。
19. 根据权利要求18所述的电子设备,其中所述存储单元进一 步包括用于将响应信息传送到所述网关服务器的计算机代码,所述 网关服务器中继所述响应信息到所述客户端设备。
20. 根据权利要求18所述的电子设备,其中所述网关服务器和所述web服务器通过指定端口进行通信,所述指定端口与所述客户 端设备用于与所述网关服务器进行通信的端口相分立。
21. —种用于支持与防火墙之外的客户端设备进行通信的计算 机程序产品,包括用于提供电子设备上的web服务器的计算机代码;代码,所述DNS扩展对应于用于防火墙之外的网关设备的IP地址, 其中所述电子设备位于所述防火墙之内;用于接收包括在来自所述防火墙之外的客户端设备的联系尝试 中的信息,所述信息通过所述网关服务器被传送到所述web服务器。
22. 根据权利要求21所述的计算机程序产品,进一步包括用于尝试使用web端口打开从所述电子设备的与所述网关服务 器之间的套接口的计算机代码; '计算机代码,用于如果所述电子设备不能打开所述套接口,则如 下进行打开从所述电子设备到所述网关服务器的HTTP连接, 使用特定URL将HTTP请求从所述电子设备传送到所述网关服务器;以及当响应于所述HTTP请求从所述网关服务器接收到多个附加端口时,尝试使用所述附加端口打开从所述电子设备的与所述网关服务器之间的套接口;以及用于继续尝试使用附加端口打开从所述电子设备的与所述网关 设备的套接口直到尝试成动的计算机代码。
全文摘要
一种用于提供访问位于防火墙内的电子设备上的web服务器的系统和方法。网关设备包括在防火墙之外提供的网关服务器。网关设备包括对应于在web服务器的DNS名中所使用的同一DNS扩展的IP地址。当客户端设备尝试通过DNS名联系web服务器时,该请求传送到网关服务器,然后该网关服务器与该web服务器进行通信。
文档编号H04L29/02GK101228762SQ200680026629
公开日2008年7月23日 申请日期2006年6月2日 优先权日2005年6月3日
发明者F·多萨, J·维克芒, S·帕尔科 申请人:诺基亚公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1