CN1528081A - 用于和无线设备的双方发起数据通信的方法和系统 - Google Patents
用于和无线设备的双方发起数据通信的方法和系统 Download PDFInfo
- Publication number
- CN1528081A CN1528081A CNA028140311A CN02814031A CN1528081A CN 1528081 A CN1528081 A CN 1528081A CN A028140311 A CNA028140311 A CN A028140311A CN 02814031 A CN02814031 A CN 02814031A CN 1528081 A CN1528081 A CN 1528081A
- Authority
- CN
- China
- Prior art keywords
- address
- network address
- public network
- wireless
- wireless device
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 68
- 230000006854 communication Effects 0.000 title claims abstract description 62
- 238000004891 communication Methods 0.000 title claims abstract description 58
- 230000007175 bidirectional communication Effects 0.000 claims abstract description 4
- 230000006870 function Effects 0.000 claims description 29
- 230000005540 biological transmission Effects 0.000 claims description 19
- 238000006243 chemical reaction Methods 0.000 claims description 8
- IRLPACMLTUPBCL-KQYNXXCUSA-N 5'-adenylyl sulfate Chemical compound C1=NC=2C(N)=NC=NC=2N1[C@@H]1O[C@H](COP(O)(=O)OS(O)(=O)=O)[C@@H](O)[C@H]1O IRLPACMLTUPBCL-KQYNXXCUSA-N 0.000 abstract description 55
- 238000013507 mapping Methods 0.000 description 24
- 230000007246 mechanism Effects 0.000 description 22
- 238000005516 engineering process Methods 0.000 description 21
- 238000010586 diagram Methods 0.000 description 15
- 230000008569 process Effects 0.000 description 6
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 230000008520 organization Effects 0.000 description 3
- 230000003139 buffering effect Effects 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011982 device technology Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/2514—Translation of Internet protocol [IP] addresses between local and global IP addresses
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/256—NAT traversal
- H04L61/2567—NAT traversal for reachability, e.g. inquiring the address of a correspondent behind a NAT server
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/256—NAT traversal
- H04L61/2575—NAT traversal using address mapping retrieval, e.g. simple traversal of user datagram protocol through session traversal utilities for NAT [STUN]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
- H04L61/4505—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
- H04L61/4511—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
- H04L61/4557—Directories for hybrid networks, e.g. including telephone numbers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5007—Internet protocol [IP] addresses
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5007—Internet protocol [IP] addresses
- H04L61/5014—Internet protocol [IP] addresses using dynamic host configuration protocol [DHCP] or bootstrap protocol [BOOTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5038—Address allocation for local use, e.g. in LAN or USB networks, or in a controller area network [CAN]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/04—Protocols specially adapted for terminals or networks with limited capabilities; specially adapted for terminal portability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/55—Push-based network services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/329—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W8/00—Network data management
- H04W8/26—Network addressing or numbering for mobility support
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W80/00—Wireless network protocols or protocol adaptations to wireless operation
- H04W80/04—Network layer protocols, e.g. mobile IP [Internet Protocol]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
- Mobile Radio Communication Systems (AREA)
- Radar Systems Or Details Thereof (AREA)
- Telephonic Communication Services (AREA)
Abstract
提供了用于利用诸如TCP/IP和UDP/IP的基于连接的或无连接协议,提供与无线设备的双方发起双向通信的方法和系统。提供了允许设备和系统连接到公共网际互连,以发起与连接到专用无线网络的无线设备的通信并向其发送数据,而不用暴露这些无线设备的非路由专用地址的地址管理代理系统(″AMPS″)。AMPS为在公共网络上与无线网络上的无线设备通信的请求方设备分配暂时使用的公共(路由)网络地址。一组公共地址,由AMPS维护并且根据需要动态地分配给无线网络设备。AMPS包括一或多个经过修改的DNS/API服务器,地址代理/路由器,地址管理数据服务器,数据仓库,和可选的负载均衡器。AMPS DNS′/API服务器接收来自公共网络上的设备针对特定无线设备的请求,并且返回合适的临时公共地址,该地址在内部被映射到无线设备的专用地址。
Description
技术领域
本发明涉及发起与无线设备的通信的方法和系统,尤其涉及从公共网络上的设备发起与专用网络上的设备的通信,以实现虚拟端到端连接的方法和系统。
背景技术
当我们全社会因企业和个人原因而努力进行国际水平的通信时,把网络计算机与其它计算机网络连接在一起的需要变得越来越重要。该需要驱使专业团体设计各种方式以互连不同物理网络上的设备,使得异构和同构网络上的设备可以用统一方式(或标准)彼此通信。这种互连技术通常被称作“网际互联”,“网间”,或简称为“网际”。全球网际互联的一种实现是因特网(英文第一字母通常大写以便与“网际”区分),最初由ARPA,NSF等出于教育和政府的目的而开发。因特网在其现在扩展的版本中,作为网络干线的复杂基础设施而连接到全世界的网络。其它(本地,区域,专用或公共)网络通过网关或路由器(还被称为网关服务器,网关系统,路由服务器,和路由系统)连接到因特网干线。在本文中,单独使用或用于修饰另一个名词的术语“路由器”或“网关”是可以互换使用的,并且一般是指任意硬件或软件,子系统,系统或代码,其能够在两个或更多同构或异构机器,系统或子系统之间传送数据分组(任何层次的网络或物理数据传送),而与特定网关/路由器机器或服务无关。在因特网环境中,路由器或网关的存在通常表示向另一个路由器或机器传送因特网数据报的能力。通常使用网络术语“主机”或“主机机器”表示被用来运行应用程序的机器;对于这里的目的,路由器/网关可以充当具有主机机器的功能,也可以是单独设备。
在因特网环境中,各种网络和设备使用诸如TCP/IP(或UDP/IP)的标准网络协议和模型通信。虽然在本文中假定读者熟悉网络概念,协议和标准,然而为方便起见,在此提供简要概述。有关网际互连,互联网,因特网的广泛背景信息及相关术语和背景技术可以在Tanenbaum,A.,计算机网络,Prentice-hall,N.J.,第3版,1996,及Comer,D.,TCP/IP网际互连,原理,协议及体系结构,Prentice Hall,N.J.,第4版,2000中找到。
TCP/IP及UDP/IP(或通常称作″UDP″)是指流行的传送层与网络层协议的组合,通常存在于网际互连环境(在所有这些层中还存在其它协议)。TCP/IP中的″IP″指″网际协议″,并且是规定如何组织和表示数据(数据报的格式和意义),以及如何使用通信事务路由数据的网络层协议。TCP(″传输控制协议″))和UDP(″用户数据报协议″)均是可在IP协议顶端实现的传送层协议,其分别支持基于连接的和无连接的数据传送。基于连接的数据传送意味着源和目的设备请求连接,并且接着通过″虚拟″连接以有序方式互相发送数据。术语″虚拟″在这里意味着,尽管连接不必是硬连线的,然而连接看上去是在源(请求方)和目的地(接收方)之间建立了直接管道。数据实际流过较低协议层以最终通过物理传输介质发送。无连接数据传送意味着源向目的地发送数据报,但是不保证传送到或数据以特定顺序到达。
IP协议还定义了统一的网络寻址机构,使得实现使用诸如TCP或UDP的IP的协议的机器能够指定其数据传送的源和目的地。网络寻址机构指定抽象地址和绑定协议,以把抽象地址映射到物理硬件地址。在本文中,统一的网络寻址机构一般被称为″IP地址″。IP地址通常以成″带小数点的十进制数″的表示方法书写,其中将地址指定为″w.x.y.z″(例如在32位地址中,各字母指定一个字节的信息)。例如,诸如″192.251.0.1″的IP地址可指定在网络″192″,子网″251″和域″0″上的主机。通过使用IP,通常某个范围的地址被保留给专用网络使用,并且其余IP地址被保留用于其它用途或公共(可路由)地址,这些均由授权组织来分配。多个专用网络可以在内部(当前为因特网域名地址管理机构,ICANN)分配相同(不可路由)的IP地址,但是使用唯一的公共IP地址连接到因特网。例如,在B类网络(在使用基于类的寻址约定的情况下,每个均允许有多达254个主机)中,专用地址的范围可以从192.168.0.0到192.168.255.0。本领域技术人员熟悉此寻址约定,并且假定读者也了解。对于本申请,IP地址被理解为在特定网际互连环境中有意义的(并被定义)的任何地址,尽管可以指代使用因特网IP寻址的例子。
通过提供向另一个路由器或基于IP地址的主机传送数据的路由器,支持IP的网络可以被连接到另一个基于TCP/IP或基于UDP/IP的互联网或因特网。路由器(或路由服务器/服务)通常包含路由表,该路由表判定向哪个机器(及可选地,哪个端口)发送给定目的IP地址的数据报。IP地址唯一标识路由器/主机,并且在典型的TCP/IP网络中,可以被映射到字串名,其例如将特定机器标识为较大的域的一部分。(虽然这里通常被称作基于TCP/IP的网络,然而本领域技术人员可认识到,该网络也可以是基于UDP(无连接)的,并且可以支持另一个会话管理系统。)
在典型的TCP/IP(互联)网络中,根据命名层次管理机器。一种这样的层次是域名系统(″DNS″),其规定特定机器怎样连接到其它机器。(术语DNS有时也用于指代实现DNS协议的服务器或服务。)例如,字符串″initials_machine.4thpass.service_provider.com″可以被用来指定属于你并且被连接到4thpass公司的LAN的机器,而4thpass公司的LAN则被连接到service_provider的WAN(广域网)。TCP/IP及UDP/IP为客户系统定义工具/库,其被用于确定特定路由器/机器的指定字串名的IP地址(互联网的逻辑地址)。一种这样的工具被称为DNS查询,并且包含例如被称作″GetHostByName″的API。GetHostByName返回指定字符串的IP地址。针对特定组织,网络或子网实现DNS标准的服务器机器在这里被简称为DNS,尽管可以结合单个物理机器上的其它网络服务提供DNS服务。
图1是使用TCP/IP或UDP/IP发送数据分组的基本因特网或互联网通信的示例性模块图。在图1中,示出主机机器101通过线路102被连接到因特网110。其它有线设备,比如主机140和141,被连接到专用(或公共)网络130,该网络可以是例如局域网(LAN)。网络130上的设备通过附加机器,即路由器121在因特网110上进行通信,其中路由器121被示出通过线路(例如电话线)连接。图中DNS服务器120还通过线路连接到因特网110。在基本的常见操作中,准备向设备140(通过TCP或UDP)发送数据分组的源设备(主机)101首先执行DNS查询以获得对应于代表设备140的字串名的IP地址。例如,为了向″initials_machine.4thpass.service_provider.com″发送数据,DNS 120可以对应于″4thpass.com″的DNS服务器。这个服务器知道如何定位其″域″中的机器,例如″initials_machine″,并且可以检索其相应的公共IP地址。当确定正确的(公共)IP地址时,DNS 120把这个地址返回到源设备101。接着,源设备101既可以打开TCP连接以与目的设备140通信,也可以简单地通过UDP或者其它无连接协议使用返回的公共IP地址发送分组。
发明内容
本发明的实施例提供了一种基于计算机和网络的方法和系统,用于利用诸如TCP/IP和UDP/IP的基于连接的或无连接协议,与无线设备进行双方发起的双向通信。示例性实施例提供了一种地址管理代理系统(″AMPS″),其允许连接到公共网际互连,比如因特网的设备和系统发起与连接到专用无线网络的无线设备的通信并向其发送数据,而不用暴露这些无线设备的非可路由专用地址。AMPS分配公共(可路由)网络地址,以被外部公共网络上的请求方设备临时用来与专用无线网络上的无线设备通信。例如在一个实施例中,一组公共地址,例如公共IP地址,由AMPS维护并且根据需要动态分配给无线网络设备。无线设备的临时公共地址到专用地址的映射由AMPS使用路由表和其它映射数据结构进行维护并且透明地更新。
在一个实施例中,AMPS包括一或多个经过修改的DNS/API服务器,一或多个地址代理/路由器,地址管理数据服务器,一或多个地址管理数据仓库,和可选的负载均衡器。AMPS DNS/API服务器从公共网络上的设备接收针对特定无线设备的请求,并且返回合适的临时公共地址,该地址被内部映射到无线设备的专用地址。接着,公共地址可被外部公共网络上的设备用于向无线设备发送数据。比如,临时公共地址是与地址代理/路由器之一相关的地址,该地址代理/路由器被连接到外部公共网络并且访问专用无线网络上的专用地址。在某些情况下,公共网络上期望向无线设备发送数据的设备使用基于连接的协议,例如TCP/IP发送数据。在其它情况下,设备使用诸如UDP(UDP/IP)的无连接协议发送数据。
根据一个方案,AMPS提供经过修改的DNS服务器,该DNS服务器改变作为调用标准DNS查询函数,例如GetHostByName的结果而返回的内容。在另一个方案中,AMPS实现专用于公共网络上的设备的API,以便用于查询指定无线设备的公共地址。使用结合因特网协议的专用API实现,AMPS可以把专用地址映射到仅仅包括IP地址的地址,或可以映射到(IP地址,端口)对。后一种实现可以扩展特定公共地址空间的用途。
AMPS技术可以被专用或公共网络上的有线设备使用,并且可以被这种网络上兼备源设备能力的无线设备使用,只要该设备被连接到可以寻址AMPS并且可以被AMPS寻址的公共网络。因而,AMPS机构可以被不同专用无线网络上的设备用来彼此通信。另外,AMPS机构可被用于诸如ATM网络的其它网际互连,并且可用于除TCP/IP或UDP之外的数据传送协议。
为了保证更大程度的安全,根据一个实施例,AMPS为每个地址映射维护一个有效期(Time to live)(TTL)参数。通过这种方式,一旦TTL数值表明映射已经过期,AMPS可以销毁映射,以及任何连接。此外,在某些实施例中,AMPS还在其自身的映射表中加入时间标记。在某个基于时间标记的超时周期之后,AMPS可以销毁映射,从而周期性地强制启动新映射。
附图说明
图1是使用TCP/IP或UDP/IP发送数据分组的基本因特网或互联网通信的示例性模块图。
图2是与无线设备的双向通信中使用的示例性地址管理代理系统的模块图。
图3是示例性地址管理代理系统的部件的示例性模块图。
图4是用于实施地址管理代理系统的实施例的通用计算机系统的示例性模块图。
图5是由公共网络上的设备使用地址管理代理系统向位于专用无线网络的无线设备发送数据时所执行的处理的示例性流程图。
图6是某些用于支持DNS/API服务器和地址代理/路由器的例程的地址管理代理系统数据仓库表的示例性模块图。
图7是由地址管理代理系统的DNS/API服务器提供的用于返回对应于指定唯一标识符的公共地址的示例性例程的示例性流程图。
图8是示例性地址管理代理系统的地址代理/路由器中用于接收数据的示例性例程的示例性流程图。
具体实施方式
本发明的实施例提供了一种基于计算机和网络的方法和系统,用于利用诸如TCP/IP和UDP/IP的基于连接的或无连接协议,与无线设备进行的双方发起的双向通信。示例性实施例提供了一种地址管理代理系统(″AMPS″),其允许连接到公共网际互连,比如因特网的设备和系统发起与连接到专用无线网络的无线设备的通信并向其发送数据,而不用暴露这些无线设备的非路由专用地址。
在现有的系统中,在连接到专用无线网络的无线设备和连接到公共有线网(例如,因特网)的有线设备之间的数据通信(数据信道上的通信)只能由无线设备发起。某些网络公司向无线设备分配固定的公共IP地址;然而,无线设备则需要具有接收和处理传入通信分组的客户端程序(例如,UDP堆栈)的能力。此外,这些无线设备是公共无线网络而不是专用无线网络的一部分。由于公共IP地址正变成非常稀缺的资源,并且目前对于为数百万设备的网络提供服务而言成本过高,实际上网络公司不能指望为其网络上的各个设备分配固定的公共IP地址。(虽然升级到IPv6会提供更多地址,然而当前的IPv4定义受到限制,并且归属大网络公司的无线用户的潜在数量非常高。在世界上的某些区域中,当前的公共地址方案受到更多的限制)。此外,这种寻址能力会把各个设备暴露在其它安全风险下,因为各个这种设备是可公开访问的网络的一部分,并且变得较难实施和推行安全措施。因而,与向设备分配固定公共IP地址相比,在现有无线网络中向设备分配专用IP地址是优选的。当无线网络是专用网时,网络公司系统(或在某些国家被称为运营商)的基础设施有意对公众隐藏无线设备的位置(地址)。
专用网络上的无线系统使用类似于网络地址转换(NAT)的技术向公共网络界发送来自无线设备的数据。在使用专用网络的典型网络公司基础设施中,当无线设备开机时(或在其它情况下,当设备尝试启动数据服务时),将其自身“注册”在网络公司基础设施上。网络公司通过DHCP(或类似DHCP的)服务器为无线设备动态分配专用非可路由地址。有关临时专用IP地址到设备公共IP地址的映射的信息被存储在内部网络公司数据库中,并且由诸如RADIUS服务器的网络公司服务来管理。
数据在从专用网络上的无线设备发送到互联网(或反之)时所采取的实际路径非常严重地依赖网络基础设施,即网络公司的技术,并且是专用的。尽管已经出现若干种标准,但是它们在本质上非常不同。例如在GPRS网络中,SGSN(服务GPRS节点)管理与无线设备的通信;而SGSN连接到GGSN(网关GPRS节点),以便连接到因特网网络。无论使用何种移动网络,无线设备和互联网之间的数据通信均涉及类似GGSN(或类似单元,取决于GPRS,GSM,CDMA或任何其他网络),DNS服务器,路由器和网关的各种网络单元。
有限的设施为从公共网络上的有线设备向无线网络上的移动设备(具有专用地址)发送短序列消息而存在,并且也依赖网络公司和网络技术。SMS(短消息系统)协议定义了这种消息的格式,但是不提供任何有关基础结构或数据传送的指导。另外,这种消息具有固定(非常短)长度,并且使用专用信道而非数据信道发送控制信息(信令信道)。
因此,不存在使用标准寻址方案建立与通过专用网络连接到的网络公司基础设施的无线设备建立双向通信信道的现有机构。也不存在任何从连接到公共网络的设备发起与这种无线设备的通信的机构。因而,现有系统的实施例不能支持从驻留于网络公司基础设施外部的有线设备到无线设备的任何类型的可编程数据″推送″。另外,有线设备不能直接响应从无线设备向公共(有线)网络上的设备发送的消息,因为包含在消息中的无线设备的地址可能不再有效。此外,不可能使用这些系统提供应用程序的空中无线供应(provisioning),也不能从网络公司基础设施外部的设备向无线设备发送其它编码。空中无线供应以及向无线设备动态供应和下载应用程序的相关技术在标题为″维护和发布无线应用程序的方法和系统″,2001年11月28日提交的美国专利申请09/997,402中详细讨论。因而,非常期望提供一种允许具有公共IP地址的外部设备发起与无线设备的双向通信的机构。
通过实现修改的DNS服务器并且当专用无线网络上的设备与公共有线网际互连界接口时充当所述设备的代理/路由器,地址管理代理系统实现了双方发起的双向通信。总之,由AMPS根据需要维护一组公共地址并且在活跃无线设备之中动态分配。图2是与无线设备的双向通信中使用的示例性地址管理代理系统的模块图。这里使用的术语″双向″意指数据路径和通信可以在两个端点系统之间的任意方向流动。图2示出了连接到公共网络210的有线设备201,202和203。本领域技术人员会认识到,这些设备可以连接到另一个专用或公共网络,其中所述网络通过一或多个有线设备被连接到公共网络210,然而仍然能实现这里讨论的功能。任何这样的变化均提供等同的功能,并且被明确地考虑和假定为本发明的一部分。在无线端,其能力可作为无线设备的代理(和路由器)的AMPS 220通过线路连接到公共网络210,并且通过标准的网络公司基础设施单元(未示出)连接到无线网络230。假定读者了解网络公司的基础设施单元,以及用于路由的基本机构,和把分组从有线网络转换到无线网络的机构。这些可使用模拟或数字技术,并且需要协议转换以便发送物理数据并且比如通过卫星最终发送给无线设备。无线技术和无线路由机构的详细背景信息在Stalling,W.,无线通信和网络,Prentice Hall,N.J.,2002中描述。在图2中,示出了通过各种无线单元(未示出)连接到无线网络230的无线设备240。
在操作中,当诸如有线设备201的有线设备期望向无线设备240发送数据时,有线设备首先需要确定公共网络210上无线设备240的可路由地址位置。然而,从图2可以观察到,无线设备240不直接连接到公共网络210。因而,有线设备必须使用地址管理代理系统220确定可路由(公共)地址,向其发送针对无线设备240的数据。为实现此任务,有线设备201执行查询(例如,修改的DNS查询)以便找到对应于无线设备240的可路由公共地址。地址管理代理系统220接收查询,并且确定和分配一组地址中的公共(可路由)地址,该地址可以被用作针对无线设备240的数据分组的目的地址。应当注意,虽然这里示出了DNS查询,然而如下面所述进一步描述的,地址管理代理系统修改DNS查询实现以处理无线设备技术,和/或提供可选的API以确定适用的可路由地址。一旦地址管理代理系统220已经向有线设备201返回可路由地址,则有线设备201可向该地址发送数据。地址管理代理系统220接收数据,根据需要转换格式和协议等等,并且通过无线网络230向无线设备240发送转换的数据。
图3是示例性地址管理代理系统的部件的示例性模块图。在一个实施例中,地址管理代理系统(AMPS)包括一或多个经过修改的DNS′/API服务器302,一或多个地址代理/路由器305,管理数据库或诸如地址管理数据仓库304的其它数据仓库的地址管理数据服务器303,及可选的负载均衡器301。DNS′/API服务器302被单独连接到公共网络310,或连接到依次被连接到公共网络310的负载均衡器301。类似地,每个地址代理/路由器305通过可路由(公共)地址也被连接到公共网络310,其中来自外部网络310的针对无线设备的数据被发送到该地址。DNS′/API服务器302或者是DNS服务器为增加与无线设备通信所需的功能而修改的实现,或者是实现一或多个专用API的服务器,下面会进一步描述。DNS′/API服务器302使用地址管理数据服务器303以辅助将无线设备的唯一标识符(例如,字串名)映射到公共网络310上的公共地址。公共地址组也由地址管理数据服务器303和数据仓库304来维护。地址管理数据服务器303和地址管理数据仓库304可以通过使用现有数据库技术,例如ODBC技术来实现,或可以被实现成诸如简单文本文件的结构。本领域技术人员会认识到,可以使用任何用于存储一组表格,数据,列表或映射的实施例。每个地址代理/路由器305也使用地址管理数据服务器303或等效装置根据需要产生和更新用来向无线设备分配公共地址的一系列路由表,并且更新无线设备的公共地址和不可路由(专用)地址之间的各种映射。地址管理数据服务器303代表DNS′/API服务器302和地址代理/路由器305维护的表格和映射将参照图6在下面描述。
虽然AMPS的技术通常适用于与无线设备通信的任何有线设备,但是短语″公共网络″(或″有线网络″)通常用于表示任何类型的网际互连环境,包含公共网络或在某处被连接到一或多个专用或公共网络的干线。此外,尽管这里描述的例子通常是指因特网,然而本领域技术人员会认识到,所描述的概念和发明适用于网际互连的其它形式和实施例,包含例如ATM类型的网络。
因而,本发明的技术也可以被第一无线网络上的一个设备用于与第二网络上的另一个无线设备通信--各个设备均结束与另一个网络的地址代理/路由器的通信。这个情况是可行的,因为每个无线网络(或其网络公司基础设施)连接到代理/路由器,而代理/路由器也连接(通过公共地址)到公共网络。此外,虽然公共网络在这里有时也称作有线网络,然而本领域技术人员会认识到,该术语可以涵盖任何公开可路由(公共)地址的网络。因而,具有唯一公共(和可路由)地址的无线网络也可以使用本发明的技术进行双向通信。并且,本领域技术人员会认识到,诸如无线设备,电话,手持电话等等的术语可以互换地用来指示任何类型的、能够与AMPS互操作的无线设备。此外,术语可以具有替代的写法(可能有或没有专门指出),并且本领域技术人员会认识到,所有这种术语的变化均已经被涵盖。
这里描述的示例性实施例提供应用程序,工具,数据结构和其它支持,以实现用于双向通信的一或多个有线和无线网络上的专用-公共地址映射。本领域技术人员会认识到,本发明的方法和系统的其它实施例可以用于许多其它目的,包含从诸如因特网的公共网络向无线设备推送信息和/或数据或代码。此外,尽管本文主要涉及通过网络发送的″数据″,然而本领域技术人员会认识到,所有类型的数据均可以使用这里描述的包含但不限于文本,图形,音频和视频的技术来传送。
并且,在下面的描述中,为了建立对本发明的方法和系统的技术的彻底理解,提出诸如数据格式和代码序列等等的许多特定细节。然而,本领域技术人员会认识到,如果没有这里描述的特定细节,或具有其它特定细节,例如对代码流的顺序进行转变,也可以实施本发明。
图4是用于实施地址管理代理系统的实施例的通用计算机系统的示例性模块图。通用计算系统400可以包括一或多个服务器和/或客户端计算系统,并且可以横跨分散的位置。此外,每个块可表示一或多个适合于特定实施例的这种块,或可以与其它块合并。各个块的地址管理代理系统410可物理驻留在一或多个机器上,所述机器使用标准的进程间通信机构互相通信。在示出的实施例中,计算机系统400包括计算机存储器(″存储器″)401,显示器402,中央处理单元(″CPU″)403,和输入/输出设备404。示出的地址管理代理系统410驻留于存储器401。地址管理代理系统410的部件最好在CPU 403上执行,并且管理无线网络上的无线设备的地址映射,如前面附图所示,以允许其它有线系统与无线设备通信。其它下载的代码405和可能的其它数据仓库也驻留在存储器410上,并且最好在一或多个CPU 403上执行。在典型的实施例中,AMPS 410包含一个或多个DNS′/API服务器411,一或多个地址代理/路由器412,地址管理数据服务器413,及地址管理数据仓库414。如前所述,根据具体实现,AMPS可包含其它数据仓库及诸如负载均衡器的部件。
在示例性实施例中,AMPS 410的部件通过修改现有的基于UDP的技术,例如DNS服务器和路由器来实现,其通常在用C编程语言编写的Linux/UNIX系统上实现。针对DNS′/API服务器411和地址代理/路由器412的编程接口可通过例如利用C,C++,C#和Java API,以及利用诸如XML的脚本语言或支持该语言的Web服务器的标准手段来实现。地址管理数据服务器413和地址管理数据仓库414在考虑到可伸缩性因素的情况下最好被实现为数据库系统而不是文本文件,并且可用SQL/ODBC数据库管理系统实现。DNS′/API服务器411和地址代理/路由器412通常使用Linux,UNIX,或其他基于UNIX,或类似UNIX的机器实现。
本领域技术人员会认识到,AMPS 410可以在包括多个,甚至异构的计算机系统和网络的分布式环境中实现。例如,在一个实施例中,DNS′/API服务器411,地址代理/路由器部件412,及地址管理数据服务器413与其数据仓库414全部位于物理上不同的计算机系统。在另一个实施例中,AMPS 410的各个部件均被驻留在分离的服务器机器上,并且可以从存储在地址管理数据仓库414的表格中远程查找到。此外,在某些情况下,整个AMPS系统410可以驻留在网络公司的基础设施内,并且被网络公司的基础设施完全包含。程序和数据的不同配置和位置均被考虑用于本发明的技术。在示例性实施例中,这些部件可并行和异步执行;因而部件可使用众所周知的消息传递技术进行通信。本领域技术人员会认识到,等价的同步实施例也被AMPS实现支持。并且,针对各个例程可以实现其它步骤,并且所述其它步骤以不同的顺序,在不同的例程中,仍然实现AMPS的功能。
对于地址管理代理系统的部件,存在若干的实现方案,在这里描述其中三种。本领域技术人员会认识到,可使用各种其它方案和组合。所有三种方案均分配被有线设备临时用来与无线设备通信的公共(可路由)网络地址。在一个实施例中,维护一组公共地址,例如公共IP地址并且根据需要动态分配给无线网络设备。例如,典型的B类因特网网络地址块允许约65,000个与无线设备的同时连接。尽管这个数字乍看之下似乎较大,但当考虑蜂窝电话和手机的数量时,例如连接到网络公司的蜂窝电话和手机的数量时,这个数字是相当有限的。
第一方案为无线设备提供公共地址映射,并且使用UDP协议使该映射有效。这是存储转发类型的方案。此方法的一个优点是其有利于通过无线连接进行基于UDP的针对无线设备的传输,并且允许与连接的公共端相连的设备发起连接。然而,缺点是标准UDP协议需要修改,或增加额外的API调用,以使请求方设备可标识目的无线设备。这些修改是必要的,因为UDP协议只支持IP地址的指定,并且不提供唯一标识设备的可选手段(诸如类似于TCP/IP协议的串)。由于期望隐藏这个(专用)地址,发送数据的标准UDP调用不满足需要。
用于实现AMPS的第二方案支持通过例如使用TCP/IP协议建立的点到点连接进行的全双向通信。(注意,这些相同技术还支持无连接UDP双向通信)。第二方案可以通过提供标准UDP或TCP/IP函数″GetHostByName″的修改实现来实施。GetHostByName API允许一个串指定来标识所指定的设备,并且返回IP地址数据结构。可选地,为增加所提供的安全级别,AMPS可以实现专用API以动态返回分配的,(当前)对应于所请求的无线设备的公共地址。专用API方案的缺点是公共网络上的设备(或希望获得与无线设备的连接的其它设备)需要在请求方设备的应用程序中包含专用代码。
第三方案类似于第二方案,但是使用″端口″概念提供更多潜在的同时连接。通过使用此方法,而不是仅返回有线网络上对应于无线设备的主机地址(地址代理/路由器的公共地址),AMPS还返回主机(地址代理/路由器)上的具体端口指定。端口及其实现在本领域是公知的,并且通常对应于由接收数据以跟踪针对不同位置的消息的机器所实现的队列。根据消息中的端口指定,接收数据的机器把消息传送到不同目的地,并且以通过端口(by-port)的方式处理必要的定序和握手。
端口通常被用于在单个物理地址上打开多个虚拟信道,并且潜在的把单个物理地址扩展到其它接近65,000的连接。这允许AMPS使用例如C类IP地址,对于实现到无线设备的接近1千6百万个同时连接(使用基于UNIX的系统)而言,通常C类IP地址比其它类型的地址更加便宜并且更容易实现。本领域技术人员会认识到,可用端口的数量及其具体实现与操作系统相关,并且直接与用于指定端口地址的比特数相关。
UDP(以及TCP/IP)协议目前支持端口抽象;然而,用于UDP和TCP/IP系统的标准DNS查询(例如,GetHostByName)不允许返回端口指定,并且把端口指定的控制留给请求方设备而不是接收方路由器。因而,根据实现AMPS的第三方案,最好由地址代理/路由器使用专用API指定端口,并且返回到具有主机指定的请求方设备。
在一个实施例中,脚本语言接口,比如XML,可以代替专用API(代码接口)被用来与专用地址映射函数接口。当使用XML时,DNS′/API服务器接受API调用作为XML投送事件(post event)并且返回XML格式的响应。针对使用其它语言模型和/或其它编程语言调用这个映射函数的类似支持也被考虑,并且将用于本发明的技术。XML类型的接口最小化请求方设备把API集成到其软件中的成本。
另外,当使用专用API时,请求方设备可以把额外数据推送到专用无线设备,而不需要其它编码工作。例如,针对与有线设备建立的连接类型对无线设备进行计费的计费代码可被推送到使用这种技术的无线设备。在标题为″基于传输的应用计费的方法和系统″,2002年2月26日提交的美国专利申请10/085,981中讨论了示例性的计费代码机构。
一些与安全相关的原因也表明期望使用专用API而不是UDP和TCP/IP的标准GetHostByName API。这些安全原因表明期望使用也需要专用API的基于端口的机构。首先,任何使用″GetHostByName″API和路由器协议的双向通信易于受到与该主机名相关的拒绝服务(DOS)攻击。在一或多个机器同时指定具有相同输入参数的相同GetHostByName时可发生DOS攻击,从而消除有足够公共地址(代理/路由器机器地址的)可用的可能性。第二,GetHostByName(或任何其他标准)API的使用也使得AMPS因DNS区传送而易受安全攻击。例如,当一个DNS向一或多个其它DNS服务器传送DNS查询以发现所请求的主机名时,发生DNS区传送。一个典型的情况涉及国家到国家的多个DNS转发段。DNS区服务器攻击的思路是通过插入恶意编码作为恶意DNS服务器,来捕捉在具体DNS服务器上的信息,并且模仿目的地址。第三,忽略连接的持续时间可以使数据被未经授权的请求方设备得到。具体地,由于映射被建立在公共设备和无线设备之间,公共设备可假定映射的存在时间比其实际存在的时间要长,并且可能完成(恶意或非恶意地)与错误设备的通信。因为某些DNS服务器实现忽略有效期设置,可能会出现这种情况。通过修改DNS服务器的实现,不管其实现标准的GetHostByName API,还是专用API,均可通过遵守专用和公共地址之间建立映射的TTL特征来避免这个问题。
图5-8描述了DNS′/API服务器和地址代理/路由器实现的具体例程的各种示例性实施例,用于实现参照图2和3描述的功能。图5是由公共网络上的设备使用地址管理代理系统向位于专用无线网络的无线设备发送数据时执行处理的示例性流程图。在步骤501,源(例如,有线)设备向AMPS请求指定无线设备的公共(可路由)地址。如上所述,用于检索这种地址的一个机构是使AMPS实现经过修改的DNS服务接口,诸如经过修改的GetHostByName例程。例如,GetHostByName例程可以被调用以指明字符串形式的唯一无线设备指定。字符串″personname.phone.wsp.com″是示例性字符串,表明对应于具有名称″person″,电话号码″phone″,位于无线服务提供商的简称为″wsp.com″的Web站点(DNS)的个人的无线设备。(例如,susan.ph2065551212.sprint.com可以指个人Susan,其具有电话号码206 555 1212,在sprint网上。)可由AMPS实现的另一个机构是提供分立(专用)的API,诸如″GetProxylP″,其返回对应于指定无线设备的公共(可路由)地址的指示。使用分立API对于安全原因是有用的;例如,骗子设备通过欺骗来截取可路由地址变得更加困难。另一个原因是控制返回的地址信息的实际格式,例如能够提供除地址代理/路由器的主机地址之外的端口指定。GetHostByName或诸如GetProxylP的专用API的实现将参照图7进一步讨论。
在步骤502,一旦无线设备的公共地址已经从AMPS返回,源设备从所指示的地址信息中提取实际地址位置(IPdata.ip),有效期参数(IPdata.TTL),并且例如当不使用标准的GetHostByName API时,可选的端口指定(IPdata.port)(如果有)。在步骤503,当源设备期望执行与无线设备的基于连接的通信时,打开诸如套接字的连接。在步骤504,有线设备确定有效期参数是否表明返回的无线设备公共地址已经过期,如果是这样的话,返回到步骤501以请求不同的地址,否则继续步骤505。AMPS使用有效期参数保证无线设备(可能或未能始终连接到无线网络并且开机)的公共地址没有超出该无线设备的可用周期。在某些实施例中,使用非常短的TTL参数,以防止出现有线设备能够监视具体公共地址上的活动并且把该地址用于其它目的的安全破绽。在步骤505,有线设备向无线设备发送数据分组(通过连接或不通过连接)。假定(但未示出)有线设备和无线设备使用在所使用的例如UDP或TCP/IP的传送协议中指定的标准调用进行通信。在步骤506,如果完成数据事务处理,那么有线设备完成工作,否则返回到步骤504检查TTL参数,以发送更多数据。
下面的表格1包含伪码,该伪码描述公共(请求方)设备通过使用地址管理代理系统如何能够使用如图5所述的经过修改的GetHostByName查询来获得对应于由电话号码″2065551212″标识的用户的公共地址的一个实现例子。从公共设备的角度看,以标准方式执行标准UDP和TCP/IP调用。
表1
InetAddress ip= InetAddress.GetHostByName (″2065551212.fourthDNS.att.com″); byte[ ]data; int destPort=80; //通过某个内部例程,例如populateDataBuffer()填充数据缓冲区 //该例程则使用setData()Java API。 int datasize=populateDataBuffer(data); DatagramSocket socket=new DatagramSocket(destPort,ip); //现在发送数据... DatagramPacket packet=new DatagramPacket(data,datasize); socket.send(packet);
下面的表格2包含伪码,该伪码描述在图5中描述的专用API机构的示例性实现,该机构被公共(请求方)设备用来获得由相同电话号码标识的用户的公共地址。在表格2中,公共设备调用专用API,GetProxylP,以得到包含所需信息的数据结构,所需信息包含分配的地址代理/服务器的公共地址。此后,公共设备可以使用相同技术(标准UDP或TCP/IP协议)发送数据。
表2
public class IPInfo { private String_publicIPAddress; private int_publicPort,_TTL; public String getPublicIPAddress(){ return_publicIPAddress; } <!-- SIPO <DP n="17"> --> <dp n="d17"/> public int getPublicPort(){ return_publicPort; } public int getTTL() { return_TTL; } } int destPort=80; IPInfo ipi=GetProxyIP(″2065551212.fourthDNS.att.com″, destPort); //x.y.z.q格式的ipi.getPublicIPAddress()的返回值 //例如:142.432.14.2 InetAddress ip= InetAddress.getByName(ipi.getPublicIPAddress()); byte[ ]data; //通过某个内部例程,例如populateDataBuffer()填充数据缓冲区 //该例程则使用setData()Java API。 int datasize=populateDataBuffer(data); DatagramSocket socket= new DatagramSocket(destPort,ipi.getPublicPort()); //现在发送数据... DatagramPacket packet=new DatagramPacket(data,datasize); socket.send(packet);
图6是某些用于支持DNS′/API服务器和地址代理/路由器的例程的地址管理代理系统的数据仓库表的示例性模块图。在一个实施例中,地址管理数据仓库包括3个表格:唯一标识符(唯一ID)-专用地址表610,公共-专用地址表630,及公共地址-代理/路由器机器表620。虽然示出3个表格,但是本领域技术人员会认识到,这些表格可包含其它数据,并且可以通过不同方式组织,包含不同数量的表格和具有不同的列或字段。另外,可以使用任何用于存储表格或列表数据的技术。为了支持把主机地址加上端口代号映射到无线设备的实施例,表格被相应修改。
唯一ID表610把无线设备的唯一字串名映射到由网络公司的基础设施分配的专用无线网络地址。在某些实施例中,当无线设备在开机时注册自身到网络公司基础设施时,网络公司基础设施使用类似DHCP协议的方法动态分配专用无线网络地址。因而,唯一ID表610可以稀疏地填充或动态产生记录,并且当设备注册和取消注册到网络公司基础设施系统时,被动态删除。
公共-专用地址表630包括一些字段/列,其中包含公共网络地址631,专用(无线)网络地址602,指定存储在字段631中的公共地址是空闲还是被使用的标志632,有效期(TTL)参数633,及其它连接数据634。在一个实施例中,AMPS的DNS′/API服务器查询表630以确定对应于指定的专用无线网络地址的公共网络地址,或分配未使用的公共网络地址(如字段632所示)并且把所确定的未使用公共地址映射到存储在字段602中的专用网络地址。
公共地址-代理/路由器机器表620包括公共网络地址字段631,和工作的代理/路由器机器621的指示。通过维护这种映射,AMPS能够用代理/路由器机器替换其它代理/路由器机器以提供更高程度的健壮性。各个代理/路由器机器具有预先配置的公共网络地址集合,比如象通常通过插入代理/路由器机器的网卡来配置的那样。这些地址以标准方式通过预先购买或从地址授权机构获得的方式来分配,所述机构目前是因特网域名地址管理机构(ICANN)。当机器被插入AMPS进行使用时,这些地址的指示被存储在字段631中。
在一个实施例中,公共网络地址和专用地址之间映射的时标也被标注在表格630中。在规定的超时之后,基于该时标,地址管理数据服务器向与映射相关的地址代理/路由器发送请求以解除公共到专用地址的映射,并且更新映射表630,因而把相关公共地址返回到未使用公共网络地址组中。
图7是由地址管理代理系统的DNS′/API服务器提供的用于返回对应于指定唯一标识符的公共地址的示例性例程的示例性流程图。基本上,这个例程实现了针对使用经过修改的GetHostByName接口或专用API,例如GetProxylP(参照图5所描述)的AMPS的DNS查询或DNS类查询的能力。总之,该例程动态地分配合适的地址代理/路由器机器以便与无线设备相关,并且返回该机器的公共地址(与TTL参数和可能的其它参数)。具体地,在步骤701,该例程确定由作为例程输入来传递的字符串参数所指定的无线设备的专用(不可路由)地址。例如,字符串参数可使用诸如″uniquelD.hostname.domain.tld″的字段,其在诸如公司网络的一个域中指定名称为″hostname″的机器上的典型个人/服务层次,这个域位于诸如″org″,″com″,″edu″等等的顶级域上。本领域技术人员会认识到,可以使用许多其它的字符串参数指定。一个用于实现这个例程的机构是向地址管理数据仓库请求信息。在一个实施例中,数据仓库存储将唯一ID映射到专用网络地址的表(见图6中的表610)。最好是,AMPS使用的任何机构均以安全方式存储这个数据,以便保持无线网络地址是私有的。在步骤702,如果公共网络地址已经被AMPS分配给指定设备并且仍然有效,则例程检索对应于指定设备的专用无线网络地址的公共网络地址。在一个实施例中,数据仓库存储专用无线网络地址和公共网络地址之间的该映射信息(例如参见图6中的表630)。如果公共网络地址尚未分配或无效,则例程使得新公共网络地址被分配,并且新公共地址与专用无线网络地址相关。接着数据仓库中的合适表格被更新。在步骤703,例程确定与分配的公共网络地址相关的地址代理/路由器机器(例如使用图6中表620)。在步骤704,例程向所确定的代理/路由器机器发送请求,以更新其把所确定的公共网络地址映射到专用无线网络地址的路由表。在步骤705,例程更新数据仓库中的信息以便包含任何其他与连接相关的信息(例如,图6的表630中的字段634),并且指示公共-专用地址关联的有效期(TTL)参数(例如,图6的表630中的字段633)。一旦所有的表已经在代理/路由器和数据仓库中被更新,则DNS′/API服务器返回相关地址代理/路由器机器的所确定的公共网络地址。如前所述,当使用基于端口的实现时,公共地址可以是(主机名,端口)对。
图8是示例性地址管理代理系统的地址代理/路由器中用于接收数据的示例性例程的示例性流程图。这个例程由地址代理/路由器实现,以便使用相关协议(例如,TCP/IP,UDP/IP等等)从有线设备接收数据。(数据被发送到特定地址代理/路由器,因为该地址代理/路由器的公共(可路由)地址被返回到请求方/源设备以响应AMPS的DNS′/API服务器的查询。)代理/路由器负责从有线网络向无线网络发送数据所需的任何数据转换(例如,如果网络公司基础设施希望在这个层次执行这种转换)。代理/路由器还负责通过无线网络向对应于公共地址(用来调用代理/路由器)的无线设备的专用无线地址传送数据。
具体地,在步骤801,例程确定(例如,根据地址管理数据仓库)对应于所调用的公共地址的专用无线地址,以及与这个映射相关的TTL参数。这些数值可以从例如图6的公共专用地址表630获得。在步骤802,例程确定所定的TTL参数是否指示映射已经过期,并且如果过期,则返回错误,否则继续步骤803。在步骤803,例程确定目标设备所需的格式(无线网络格式)。在步骤804,例程确定是否需要任意协议转换,如果需要,则继续步骤805,否则继续步骤806。注意,用于具体无线网络的转换,例如数据到″HTTP″分组的协议转换,可以由代理/路由器完成,或可以由网络公司基础设施内的某个其它部件完成。本领域技术人员会认识到,这些是示例性步骤,并且对于具体环境,不同格式化或不同协议转换的例程可以被增加或省略。在步骤806,地址代理/路由器例程发送数据分组(根据,已经被格式化,并且其协议得到转换)给所确定的无线设备的相关专用地址,并且返回。
通过上面的描述可以理解,尽管这里为了图解描述了本发明的具体实施例,但是可以在不偏离本发明的宗旨和范围的前提下进行各种修改。例如,本领域技术人员会认识到,这里讨论的用于建立双向通信的方法和系统适用于其它类型的公共网络和除因特网,TCP/IP和UDP之外的协议,甚至是多个这样的网络。例如,专用地址到公共地址的映射也可以提供给ATM网络以便把ATM网络上的设备连接到无线设备。本领域技术人员会认识到,这里讨论的方法和系统适用于不同的协议,通信介质(光学,无线,有线等等)和无线设备(比如无线手机,电子管理器,个人数字助理,便携电子邮件机器,游戏机,寻呼机,比如GPS接收器的导航设备等等),适用于不同的有线设备(比如信息站,个人计算机,大型机),并且适用于具有有线连接能力(例如,无线电子邮件)的无线设备,或可以被连接到接驳站以进行同步的PDA设备。
Claims (108)
1.一种计算机网络环境中用于在第一装置和第二装置之间建立双向通信信道虚拟通信信道的方法,所述第一装置使用公共网络地址连接到计算机网络环境,所述第二装置连接到无线通信网络并且具有专用地址,该方法包括:
接收来自第一装置的与第二装置通信的请求;
动态地从一组公共网络地址中确定一个公共网络地址;
把所确定的公共网络地址与第二装置的专用地址关联;和
把所确定的公共网络地址的指示返回给第一装置,使得第一装置可以接着使用所确定的公共网络地址向第二装置发送数据。
2.如权利要求1所述的方法,其中请求指示不同于第二装置的专用地址的第二装置的唯一标识,并且使用唯一标识把所确定的公共地址与第二装置的专用地址相关联。
3.如权利要求1所述的方法,还包括:
从第一装置接收针对所确定的公共网络地址的数据;和
使用与所确定的公共网络地址相关的专用网络地址透明地向第二装置传送接收的数据。
4.如权利要求3所述的方法,其中由通过计算机网络环境的公共网络地址连接到计算机网络环境的伪装系统执行透明传送。
5.如权利要求1所述的方法,其中第一装置是有线装置。
6.如权利要求1所述的方法,其中第一装置是无线装置。
7.如权利要求1所述的方法,其中第二装置是能够进行有线连接的装置。
8.如权利要求1所述的方法,其中第二装置是无线装置。
9.如权利要求1所述的方法,其中所确定的公共网络地址指定主机系统地址和端口规格。
10.如权利要求1所述的方法,其中所确定的公共网络地址指定网际协议(IP)地址。
11.如权利要求1所述的方法,其中由经过修改的DNS服务器执行该方法。
12.如权利要求1所述的方法,其中所接收的请求是计算机网络环境的标准API。
13.如权利要求12所述的方法,其中API是GetHostByNameAPI。
14.如权利要求1所述的方法,其中所接收的请求是计算机网络环境的经过修改的API,其指定主机名称和端口指示。
15.如权利要求1所述的方法,还包括:
使所确定的公共网络地址与超时周期关联;和
当超时周期过期时,销毁第二装置的所确定的公共网络地址和专用地址之间的关联。
16.如权利要求15所述的方法,其中超时周期被指定为有效期(TTL)数据。
17.一种连接到计算机网络环境、用于在第一装置和第二装置之间建立虚拟通信信道的地址代理管理系统,所述第一装置使用公共网络地址连接到计算机网络环境,所述第二装置连接到无线通信网络并且具有专用地址,所述地址代理管理系统包括:
域名服务(DNS),其被构造成:
接收来自第一装置的与第二装置通信的请求,
动态地从一组公共网络地址中确定一个公共网络地址;
把所确定的公共网络地址与第二装置的专用地址关联;和
把所确定的公共网络地址的指示返回给第一装置,使得第一装置可以接着使用所确定的公共网络地址向第二装置发送数据。
18.如权利要求17所述的系统,其中DNS是遵守UDP和TCP/IP标准中的至少一个的经过修改的DNS。
19.如权利要求17所述的系统,其中计算机网络环境是因特网。
20.如权利要求17所述的系统,其中根据网际协议(IP)寻址约定指定每个公共网络地址。
21.如权利要求17所述的系统,其中DNS使用数据库使所确定的公共网络地址与第二装置的专用地址相关联。
22.如权利要求17所述的系统,其中DNS使用数据库从一组公共网络地址中动态确定一个公共网络地址。
23.如权利要求17所述的系统,其中请求指示不同于第二装置的专用地址的第二装置的唯一标识,并且DNS使用唯一标识把所确定的公共地址与第二装置的专用地址相关联。
24.如权利要求17所述的系统,还包括:
专用地址管理路由器,其被构造成从第一装置接收针对所确定的公共网络地址的数据,并且使用与所确定的公共网络地址相关的专用网络地址向第二装置透明传送接收数据。
25.如权利要求24所述的系统,其中专用地址管理路由器通过计算机网络环境的公共网络地址被连接到计算机网络环境,并且通过确定与接收数据相关的专用网络地址,向第二装置的公共地址透明传送接收数据,使得数据通过无线通信网络被传递到位于所确定的专用网络地址的第二装置。
26.如权利要求24所述的系统,其中专用地址管理路由器使得当在透明传送接收数据之前适用时,执行接收数据的协议转换。
27.如权利要求17所述的系统,其中第一装置是有线装置。
28.如权利要求17所述的系统,其中第一装置是无线装置。
29.如权利要求17所述的系统,其中第二装置是能够进行有线连接的装置。
30.如权利要求17所述的系统,其中第二装置是无线装置。
31.如权利要求17所述的系统,其中所确定的公共网络地址指定主机系统地址和端口规格。
32.如权利要求17所述的系统,其中所确定的公共网络地址指定网际协议(IP)地址。
33.如权利要求17所述的系统,其中所接收的请求是计算机网络环境的标准API。
34.如权利要求33所述的系统,其中API是GetHostByNameAPI。
35.如权利要求17所述的系统,其中所接收的请求是新的API,其指定主机名称和端口指示。
36.如权利要求17所述的系统,其中DNS被进一步构造成:
使所确定的公共网络地址与超时周期关联;并且
使得当超时周期过期时,销毁第二装置的所确定的公共网络地址和专用地址之间的关联。
37.如权利要求36所述的系统,其中超时周期被指定为有效期(TTL)数据。
38.一种连接到计算机网络环境、用于在第一装置和第二装置之间建立虚拟通信信道的地址代理管理系统,所述第一装置使用公共网络地址连接到计算机网络环境,所述第二装置连接到无线通信网络并且具有专用地址,所述地址代理管理系统包括:
用于接收来自第一装置的与第二装置通信的请求的装置;
用于动态地从一组公共网络地址中确定一个公共网络地址的装置;
用于把所确定的公共网络地址与第二装置的专用地址关联的装置;和
用于把所确定的公共网络地址的指示返回给第一装置,使得第一装置可以接着使用所确定的公共网络地址向第二装置发送数据的装置。
39.一种包含指令的计算机可读存储器介质,所述指令用于通过各种操作控制计算机系统中的处理器在第一装置和第二装置之间建立双向通信信道虚拟通信信道,所述第一装置使用公共网络地址连接到计算机网络环境,所述第二装置连接到无线通信网络并且具有专用地址,所述操作包括:
接收来自第一装置的与第二装置通信的请求;
动态地从一组公共网络地址中确定一个公共网络地址;
把所确定的公共网络地址与第二装置的专用地址关联;和
把所确定的公共网络地址的指示返回给第一装置,使得第一装置可以接着使用所确定的公共网络地址向第二装置发送数据。
40.如权利要求39所述的计算机可读存储器介质,其中请求指示不同于第二装置的专用地址的第二装置的唯一标识,并且使用唯一标识把所确定的公共地址与第二装置的专用地址相关联。
41.如权利要求39所述的计算机可读存储器介质,所述指令还通过以下操作控制计算机处理器:
从第一装置接收针对所确定的公共网络地址的数据;和
使用与所确定的公共网络地址相关的专用网络地址透明地向第二装置传送接收的数据。
42.如权利要求41所述的计算机可读存储器介质,其中由通过计算机网络环境的公共网络地址连接到计算机网络环境的伪装系统执行透明传送。
43.如权利要求39所述的计算机可读存储器介质,其中第一装置是有线装置。
44.如权利要求39所述的计算机可读存储器介质,其中第一装置是无线装置。
45.如权利要求39所述的计算机可读存储器介质,其中第二装置是能够进行有线连接的装置。
46.如权利要求39所述的计算机可读存储器介质,其中第二装置是无线装置。
47.如权利要求39所述的计算机可读存储器介质,其中所确定的公共网络地址指定主机系统地址和端口规格。
48.如权利要求39所述的计算机可读存储器介质,其中所确定的公共网络地址指定网际协议(IP)地址。
49.如权利要求39所述的计算机可读存储器介质,其中由经过修改的DNS服务器执行该方法。
50.如权利要求39所述的计算机可读存储器介质,其中所接收的请求是计算机网络环境的标准API。
51.如权利要求50所述的计算机可读存储器介质,其中API是GetHostByName API。
52.如权利要求39所述的计算机可读存储器介质,其中所接收的请求是计算机网络环境的经过修改的API,其指定主机名称和端口指示。
53.如权利要求39所述的计算机可读存储器介质,所述指令还通过以下操作控制计算机处理器:
使所确定的公共网络地址与超时周期关联;和
当超时周期过期时,销毁第二装置的所确定的公共网络地址和专用地址之间的关联。
54.如权利要求53所述的计算机可读存储器介质,其中超时周期被指定为有效期(TTL)数据。
55.一种计算机网络环境中的方法,所述计算机网络环境通过地址管理代理系统连接到无线通信网络,无线通信网络连接到使用无线通信网络的专用网络地址的无线装置,无线装置具有相关的唯一标识符,地址管理代理系统具有计算机网络环境的公共网络地址,并且计算机网络环境使用计算机网络环境的公共网络地址连接到有线装置,该方法包括:
在有线装置的控制下,
使用地址管理代理系统的公共网络地址向地址管理代理系统发送请求,以得到有关计算机网络环境的用于和无线装置通信的公共网络地址的指示,所述请求指示与无线装置相关的唯一标识符;
在地址管理代理系统的控制下,
接收针对公共网络地址的指示的请求;
从计算机网络环境的多个可用公共网络地址中确定公共网络地址;
使所确定的公共网络地址与对应于所指示的唯一标识符的无线装置的专用网络地址相关;和
向有线装置传递所确定的公共网络地址的指示;和
在有线装置的控制下,
接收所指示的公共网络地址;和
使用所指示的公共网络地址向无线装置发送数据,使得有线装置得知有线装置正与无线装置直接通信。
56.如权利要求55所述的方法,还包括:
在地址管理代理系统的控制下,
接收从有线装置发送的数据;
确定与所指示的公共网络地址相关的专用网络地址;和
以对有线装置透明的方式通过无线通信网络向专用网络地址传送接收数据。
57.如权利要求55所述的方法,其中计算机网络环境是因特网,并且根据网际协议(IP)地址约定指定每个公共网络地址。
58.如权利要求55所述的方法,其中计算机网络环境是ATM网络。
59.如权利要求55所述的方法,其中所指示的公共网络地址是地址管理代理系统的公共网络地址,从有线装置发送的数据指示无线装置的唯一标识符,并且地址管理代理系统存储和向与所指示的唯一标识符相关的无线装置传递数据。
60.如权利要求55所述的方法,其中作为有线装置对计算机网络环境的地址映射函数的调用的结果,接收所指示的公共网络地址。
61.如权利要求60所述的方法,其中地址映射函数是计算机网络环境的标准函数。
62.如权利要求60所述的方法,其中地址映射函数是GetHostByName函数。
63.如权利要求55所述的方法,其中作为有线装置对返回主机系统地址和端口规格的函数的调用的结果,接收所指示的公共网络地址。
64.如权利要求63所述的方法,其中函数是定制的API。
65.如权利要求63所述的方法,其中函数支持XML接口。
66.如权利要求55所述的方法,还包括:
在无线装置的控制下,使用有线装置的公共网络地址向有线装置发送数据,从而执行双向通信。
67.如权利要求55所述的方法,其中在有线装置和无线装置之间建立虚拟端到端连接。
68.如权利要求55所述的方法,其中在有线装置和无线装置之间建立无连接通信路径。
69.一种计算机网络环境,包括:
使用无线通信网络的专用网络地址连接到无线通信网络的无线装置,所述无线装置具有相关的唯一标识符;
使用计算机网络环境的公共网络地址连接到计算机网络环境的有线装置,被构造成:
请求有关计算机网络环境的用于和无线装置通信的公共网络地址的指示,所述请求指示与无线装置相关的唯一标识符,
接收所指示的公共网络地址,和
使用所指示的公共网络地址向无线装置发送数据,使得有线装置使用虚拟端到端连接与无线装置直接通信;和
使用计算机网络环境的公共网络地址连接到计算机网络环境的地址管理代理系统,被构造成:
从有线装置接收请求,
从计算机网络环境的多个可用公共网络地址中确定公共网络地址,
使所确定的公共网络地址与对应于所指示的唯一标识符的无线装置的专用网络地址相关,和
向有线装置传递所确定的公共网络地址的指示。
70.如权利要求69所述的计算机网络环境,其中地址管理代理系统被进一步构造成:
接收从有线装置发送的数据,
确定与所指示的公共网络地址相关的专用网络地址,和
以对有线装置透明的方式通过无线通信网络向专用网络地址传送接收数据。
71.如权利要求69所述的计算机网络环境,其中计算机网络环境是因特网,并且根据网际协议(IP)地址约定指定每个公共网络地址。
72.如权利要求69所述的计算机网络环境,其中计算机网络环境是ATM网络。
73.如权利要求69所述的计算机网络环境,其中所指示的公共网络地址是地址管理代理系统的公共网络地址,从有线装置发送的数据指示无线装置的唯一标识符,并且地址管理代理系统被构造成存储和向与所指示的唯一标识符相关的无线装置传递数据。
74.如权利要求69所述的计算机网络环境,其中作为有线装置对计算机网络环境的地址映射函数的调用的结果,接收所指示的公共网络地址。
75.如权利要求74所述的计算机网络环境,其中地址映射函数是计算机网络环境的标准函数。
76.如权利要求74所述的计算机网络环境,其中地址映射函数是GetHostByName函数。
77.如权利要求69所述的计算机网络环境,其中作为有线装置对返回主机系统地址和端口规格的函数的调用的结果,接收所指示的公共网络地址。
78.如权利要求77所述的计算机网络环境,其中函数是定制的API。
79.如权利要求77所述的计算机网络环境,其中函数支持XML接口。
80.如权利要求69所述的计算机网络环境,其中无线装置被进一步构造成使用有线装置的公共网络地址向有线装置发送数据,从而执行双向通信。
81.如权利要求69所述的计算机网络环境,其中在有线装置和无线装置之间建立虚拟端到端连接。
82.如权利要求69所述的计算机网络环境,其中在有线装置和无线装置之间建立无连接通信路径。
83.一种计算机网络环境中与使用专用网络地址连接到地址管理代理系统的无线装置进行通信的方法,无线装置具有不是专用网络地址的相关唯一标识符,地址管理代理系统使用网络环境的公共网络地址连接到计算机网络环境,该方法包括:
向地址管理代理系统请求对应于与无线装置相关的唯一标识符的公共网络地址;
接收无线装置的公共网络地址的指示;和
向所指示的公共网络地址发送数据。
84.如权利要求83所述的方法,其中计算机网络环境是因特网。
85.如权利要求83所述的方法,其中根据网际协议(IP)地址标准指定所指示的公共网络地址。
86.如权利要求83所述的方法,其中唯一标识符是人名和电话号码中的至少一个,MSISDN号和ISMI号。
87.如权利要求83所述的方法,其中请求是标准API,使得以相同于和连接到计算机网络环境的有线装置的通信的方式执行与无线装置的通信。
88.如权利要求87所述的方法,其中API是GetHostByName函数调用。
89.如权利要求83所述的方法,其中无线装置的公共网络地址的指示是主机地址。
90.如权利要求83所述的方法,其中无线装置的公共网络地址的指示是主机地址和端口规格。
91.一种包含指令的计算机可读存储器介质,所述指令用于通过各种操作控制计算机处理器在计算机网络环境中与使用专用网络地址连接到地址管理代理系统的无线装置进行通信,无线装置具有不是专用网络地址的相关唯一标识符,地址管理代理系统使用网络环境的公共网络地址连接到计算机网络环境,所述操作包括:
向地址管理代理系统请求对应于与无线装置相关的唯一标识符的公共网络地址;
接收无线装置的公共网络地址的指示;和
向所指示的公共网络地址发送数据。
92.如权利要求91所述的计算机可读存储器介质,其中计算机网络环境是因特网。
93.如权利要求91所述的计算机可读存储器介质,其中根据网际协议(IP)地址标准指定所指示的公共网络地址。
94.如权利要求91所述的计算机可读存储器介质,其中唯一标识符是人名和电话号码中的至少一个,MSISDN号和ISMI号。
95.如权利要求91所述的计算机可读存储器介质,其中请求是标准API,使得以相同于和连接到计算机网络环境的有线装置的通信的方式执行与无线装置的通信。
96.如权利要求95所述的计算机可读存储器介质,其中API是GetHostByName函数调用。
97.如权利要求91所述的计算机可读存储器介质,其中无线装置的公共网络地址的指示是主机地址。
98.如权利要求91所述的计算机可读存储器介质,其中无线装置的公共网络地址的指示是主机地址和端口规格。
99.一种使用计算机网络环境的公共网络地址连接到计算机网络环境的有线装置,网络环境连接到使用网络环境的公共网络地址的地址管理代理系统,地址管理代理系统连接到使用专用网络地址的无线装置,无线装置具有不是专用网络地址的相关唯一标识符,所述有线装置包括:
通信代码模块,被构造成:
向地址管理代理系统请求对应于与无线装置相关的唯一标识符的公共网络地址,
接收无线装置的公共网络地址的指示;和
向所指示的公共网络地址发送数据。
100.如权利要求99所述的装置,其中计算机网络环境是因特网。
101.如权利要求99所述的装置,其中根据网际协议(IP)地址标准指定所指示的公共网络地址。
102.如权利要求99所述的装置,其中唯一标识符是人名和电话号码中的至少一个,MSISDN号和ISMI号。
103.如权利要求99所述的装置,其中请求是标准API,使得以相同于和连接到计算机网络环境的有线装置的通信的方式执行与无线装置的通信。
104.如权利要求103所述的装置,其中API是GetHostByName函数调用。
105.如权利要求99所述的装置,其中无线装置的公共网络地址的指示是主机地址。
106.如权利要求99所述的装置,其中无线装置的公共网络地址的指示是主机地址和端口规格。
107.如权利要求99所述的装置,其中通信代码模块实现与无线装置的UDP和TCP/IP通信中的至少一个。
108.如权利要求99所述的装置,其中通信代码模块实现与无线装置的UDP通信。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US29690201P | 2001-06-08 | 2001-06-08 | |
US60/296,902 | 2001-06-08 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1528081A true CN1528081A (zh) | 2004-09-08 |
Family
ID=23144044
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA028140311A Pending CN1528081A (zh) | 2001-06-08 | 2002-06-10 | 用于和无线设备的双方发起数据通信的方法和系统 |
Country Status (10)
Country | Link |
---|---|
US (1) | US20030028671A1 (zh) |
EP (1) | EP1400093B1 (zh) |
JP (1) | JP2004533190A (zh) |
KR (1) | KR20040034612A (zh) |
CN (1) | CN1528081A (zh) |
AT (1) | ATE328436T1 (zh) |
AU (1) | AU2002345633A1 (zh) |
DE (1) | DE60211897T2 (zh) |
ES (1) | ES2263791T3 (zh) |
WO (1) | WO2002102012A2 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104639564A (zh) * | 2015-03-03 | 2015-05-20 | 北京极科极客科技有限公司 | 一种udp协议的代理方法 |
CN112042159A (zh) * | 2018-02-28 | 2020-12-04 | 诺基亚技术有限公司 | 将3gpp网络透明集成到tsn工业网络中 |
Families Citing this family (61)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6725264B1 (en) * | 2000-02-17 | 2004-04-20 | Cisco Technology, Inc. | Apparatus and method for redirection of network management messages in a cluster of network devices |
US7092390B2 (en) | 2000-09-07 | 2006-08-15 | Sbc Technology Resources, Inc. | Internal substitution bi-level addressing for compatible public networks |
AU2002321558A1 (en) * | 2001-08-24 | 2003-03-10 | British Telecommunications Public Limited Company | Apparatus and method of coordinating network events |
US7187921B1 (en) | 2001-12-10 | 2007-03-06 | Bellsouth Intellectual Property Corporation | Apparatus, system and method for forwarding data sent to a wireless device to another address |
US7069336B2 (en) * | 2002-02-01 | 2006-06-27 | Time Warner Cable | Policy based routing system and method for caching and VPN tunneling |
US7065092B2 (en) * | 2002-07-31 | 2006-06-20 | Sbc Properties, L.P. | Resource reservation protocol based guaranteed quality of service internet protocol (IP) connections over a switched network using newly assigned IP addresses |
US7298750B2 (en) | 2002-07-31 | 2007-11-20 | At&T Knowledge Ventures, L.P. | Enhancement of resource reservation protocol enabling short-cut internet protocol connections over a switched network |
US7301951B2 (en) * | 2002-07-31 | 2007-11-27 | At&T Knowledge Ventures, L.P. | Resource reservation protocol based guaranteed quality of service internet protocol connections over a switched network |
US7272145B2 (en) | 2002-07-31 | 2007-09-18 | At&T Knowledge Ventures, L.P. | Resource reservation protocol based guaranteed quality of service internet protocol connections over a switched network through proxy signaling |
US7379971B2 (en) * | 2002-11-19 | 2008-05-27 | Microsoft Corporation | Time-to-disconnect enforcement when communicating with wireless devices that have transient network addresses |
US20040103153A1 (en) * | 2002-11-21 | 2004-05-27 | Chang Tsung-Yen Dean | Apparatus and method for providing smart network appliances |
KR100511479B1 (ko) * | 2002-12-27 | 2005-08-31 | 엘지전자 주식회사 | Nat를 갖는 망에서의 sip 서비스 방법 |
US20040260801A1 (en) * | 2003-02-12 | 2004-12-23 | Actiontec Electronics, Inc. | Apparatus and methods for monitoring and controlling network activity using mobile communications devices |
US20040158630A1 (en) * | 2003-02-12 | 2004-08-12 | Chang Tsung-Yen Dean | Monitoring and controlling network activity in real-time |
US7926104B1 (en) * | 2003-04-16 | 2011-04-12 | Verizon Corporate Services Group Inc. | Methods and systems for network attack detection and prevention through redirection |
US7447203B2 (en) | 2003-07-29 | 2008-11-04 | At&T Intellectual Property I, L.P. | Broadband access for virtual private networks |
US7739394B2 (en) * | 2003-07-29 | 2010-06-15 | At&T Intellectual Property I, L.P. | Bi-level addressing for internet protocol broadband access |
US7944947B2 (en) * | 2003-09-05 | 2011-05-17 | Nokia Corporation | Providing address information for reaching a wireless terminal |
US20050076141A1 (en) * | 2003-09-19 | 2005-04-07 | Williams Aidan Michael | Use of an autoconfigured namespace for automatic protocol proxying |
US20050210508A1 (en) * | 2004-03-19 | 2005-09-22 | Lau Vincent W | System and method for managing time-go-live information of media content |
GB2418321A (en) * | 2004-09-17 | 2006-03-22 | Compal Communications Inc | Method for establishing a socket connection between a client and a mobile station through a wireless network |
US20060168225A1 (en) * | 2004-10-29 | 2006-07-27 | John Gunning | Network and a distributed electronic commerce system using the network |
US7593930B2 (en) * | 2004-12-14 | 2009-09-22 | Sap Ag | Fast channel architecture |
US7600217B2 (en) * | 2004-12-14 | 2009-10-06 | Sap Ag | Socket-like communication API for Java |
US7580915B2 (en) * | 2004-12-14 | 2009-08-25 | Sap Ag | Socket-like communication API for C |
US7689989B2 (en) * | 2004-12-28 | 2010-03-30 | Sap Ag | Thread monitoring using shared memory |
US7552153B2 (en) * | 2004-12-28 | 2009-06-23 | Sap Ag | Virtual machine monitoring using shared memory |
US20060143389A1 (en) * | 2004-12-28 | 2006-06-29 | Frank Kilian | Main concept for common cache management |
US7539821B2 (en) * | 2004-12-28 | 2009-05-26 | Sap Ag | First in first out eviction implementation |
US7886294B2 (en) * | 2004-12-28 | 2011-02-08 | Sap Ag | Virtual machine monitoring |
US7562138B2 (en) * | 2004-12-28 | 2009-07-14 | Sap | Shared memory based monitoring for application servers |
US7523196B2 (en) * | 2004-12-28 | 2009-04-21 | Sap Ag | Session monitoring using shared memory |
US20060143256A1 (en) | 2004-12-28 | 2006-06-29 | Galin Galchev | Cache region concept |
US20060153118A1 (en) * | 2005-01-11 | 2006-07-13 | International Business Machines Corporation | System and method for wireless ip address capacity optimization |
US7436814B2 (en) * | 2005-04-22 | 2008-10-14 | Cisco Technology, Inc. | Selecting transport addresses to route streams between endpoints |
US7516277B2 (en) * | 2005-04-28 | 2009-04-07 | Sap Ag | Cache monitoring using shared memory |
US20070160034A1 (en) * | 2006-01-06 | 2007-07-12 | D.S.P. Group Ltd | Dual-protocol dual port telephone and method to connect another dual-protocol dual port telephone via IP network directly and without installation |
US8612556B2 (en) * | 2006-05-03 | 2013-12-17 | Comcast Cable Holdings, Llc | Method of provisioning network elements |
US20080069101A1 (en) * | 2006-09-15 | 2008-03-20 | Nokia Corporation | System and method of routing packets |
US8462628B2 (en) * | 2006-12-20 | 2013-06-11 | Integrated Device Technology, Inc. | Method of improving over protocol-required scheduling tables while maintaining same |
US8670316B2 (en) * | 2006-12-28 | 2014-03-11 | Telecom Italia S.P.A. | Method and apparatus to control application messages between client and a server having a private network address |
US8311042B2 (en) * | 2007-06-15 | 2012-11-13 | Mformation | System and method for automatic detection and reporting of the mapping between device identity and network address in wireless networks |
US7724707B2 (en) * | 2007-06-26 | 2010-05-25 | Motorola, Inc. | Network for a cellular communication system and a method of operation therefor |
SE0702582L (sv) * | 2007-11-15 | 2009-05-16 | Klap Worldwide Corp Ltd | Nätverk för kommunikation |
US9455924B2 (en) | 2008-01-02 | 2016-09-27 | Media Network Services As | Device and system for selective forwarding |
EP2294848B1 (en) | 2008-04-02 | 2016-03-09 | Vodafone Group PLC | Telecommunications network |
US8509235B2 (en) * | 2008-07-30 | 2013-08-13 | Blue Coat Systems, Inc. | Layer-2 packet return in proxy-router communication protocol environments |
US8196155B2 (en) * | 2008-10-08 | 2012-06-05 | Oracle International Corporation | XML-based event driven interface for OPC data access |
US8073934B1 (en) * | 2008-10-20 | 2011-12-06 | Amazon Technologies, Inc. | Automated load balancing architecture |
US7987255B2 (en) * | 2008-11-07 | 2011-07-26 | Oracle America, Inc. | Distributed denial of service congestion recovery using split horizon DNS |
US7924832B2 (en) * | 2008-11-13 | 2011-04-12 | Blue Coat Systems, Inc. | Facilitating transition of network operations from IP version 4 to IP version 6 |
US8578055B2 (en) * | 2009-07-09 | 2013-11-05 | International Business Machines Corporation | Propogation of DNS server IP addresses in a private network |
US8103795B2 (en) * | 2009-07-09 | 2012-01-24 | International Business Machines Corporation | TCP/IP host name resolution on a private network |
US8140669B2 (en) * | 2009-08-31 | 2012-03-20 | International Business Machines Corporation | Resolving hostnames on a private network with a public internet server |
US8902743B2 (en) * | 2010-06-28 | 2014-12-02 | Microsoft Corporation | Distributed and scalable network address translation |
US20120131162A1 (en) * | 2010-11-24 | 2012-05-24 | Brandt Mark S | Using a web service to delete dns records in a server hosting system |
CN101986608B (zh) * | 2010-12-13 | 2012-08-15 | 武汉大学 | 一种异构覆盖网络负载均衡程度的评价方法 |
US9015021B2 (en) * | 2011-10-25 | 2015-04-21 | Cellco Partnership | Multiple client simulator for push engine |
US10567518B2 (en) * | 2015-06-26 | 2020-02-18 | Western Digital Technologies, Inc. | Automatic discovery and onboarding of electronic devices |
CN106487864B (zh) | 2015-09-02 | 2019-09-27 | 华为终端有限公司 | 数据连接的建立方法、服务端及移动终端 |
CN107436850B (zh) * | 2015-09-21 | 2022-04-29 | 华为技术有限公司 | 计算机系统和计算机系统中端点设备访问的方法 |
Family Cites Families (53)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5634010A (en) * | 1994-10-21 | 1997-05-27 | Modulus Technologies, Inc. | Managing and distributing data objects of different types between computers connected to a network |
US6244758B1 (en) * | 1994-11-15 | 2001-06-12 | Absolute Software Corp. | Apparatus and method for monitoring electronic devices via a global network |
US6625652B1 (en) * | 1995-01-19 | 2003-09-23 | The Fantastic Corporation | System and method for host list pruning |
US6418324B1 (en) * | 1995-06-01 | 2002-07-09 | Padcom, Incorporated | Apparatus and method for transparent wireless communication between a remote device and host system |
US5812786A (en) * | 1995-06-21 | 1998-09-22 | Bell Atlantic Network Services, Inc. | Variable rate and variable mode transmission system |
US6041041A (en) * | 1997-04-15 | 2000-03-21 | Ramanathan; Srinivas | Method and system for managing data service systems |
US6134432A (en) * | 1997-06-17 | 2000-10-17 | Bulletin.Net, Inc. | System and process for allowing wireless messaging |
FI104668B (fi) * | 1997-07-14 | 2000-04-14 | Nokia Networks Oy | Liittymäpalvelun toteuttaminen |
US6023724A (en) * | 1997-09-26 | 2000-02-08 | 3Com Corporation | Apparatus and methods for use therein for an ISDN LAN modem that displays fault information to local hosts through interception of host DNS request messages |
US6665718B1 (en) * | 1997-10-14 | 2003-12-16 | Lucent Technologies Inc. | Mobility management system |
US6675208B1 (en) * | 1997-10-14 | 2004-01-06 | Lucent Technologies Inc. | Registration scheme for network |
US6377982B1 (en) * | 1997-10-14 | 2002-04-23 | Lucent Technologies Inc. | Accounting system in a network |
JPH11122301A (ja) * | 1997-10-20 | 1999-04-30 | Fujitsu Ltd | アドレス変換接続装置 |
GB2332288A (en) * | 1997-12-10 | 1999-06-16 | Northern Telecom Ltd | agent enabling technology |
JP3966598B2 (ja) * | 1998-03-04 | 2007-08-29 | 富士通株式会社 | サーバ選択システム |
US6233618B1 (en) * | 1998-03-31 | 2001-05-15 | Content Advisor, Inc. | Access control of networked data |
US6345304B1 (en) * | 1998-04-01 | 2002-02-05 | Xerox Corporation | Obtaining network addresses from identifiers |
US6058431A (en) * | 1998-04-23 | 2000-05-02 | Lucent Technologies Remote Access Business Unit | System and method for network address translation as an external service in the access server of a service provider |
US6011844A (en) * | 1998-06-19 | 2000-01-04 | Callnet Communications | Point-of-presence call center management system |
US6401128B1 (en) * | 1998-08-07 | 2002-06-04 | Brocade Communiations Systems, Inc. | System and method for sending and receiving frames between a public device and a private device |
US6421732B1 (en) * | 1998-08-27 | 2002-07-16 | Ip Dynamics, Inc. | Ipnet gateway |
US6317831B1 (en) * | 1998-09-21 | 2001-11-13 | Openwave Systems Inc. | Method and apparatus for establishing a secure connection over a one-way data path |
US6622157B1 (en) * | 1998-09-28 | 2003-09-16 | Certeon, Inc. | Extending network services using mobile agents |
JP3327225B2 (ja) * | 1998-10-29 | 2002-09-24 | 三菱マテリアル株式会社 | ネットワークアドレス変換装置およびその記録媒体 |
US6502135B1 (en) * | 1998-10-30 | 2002-12-31 | Science Applications International Corporation | Agile network protocol for secure communications with assured system availability |
US6161008A (en) * | 1998-11-23 | 2000-12-12 | Nortel Networks Limited | Personal mobility and communication termination for users operating in a plurality of heterogeneous networks |
US6657991B1 (en) * | 1998-12-21 | 2003-12-02 | 3Com Corporation | Method and system for provisioning network addresses in a data-over-cable system |
US6452920B1 (en) * | 1998-12-30 | 2002-09-17 | Telefonaktiebolaget Lm Ericsson | Mobile terminating L2TP using mobile IP data |
JP2000270007A (ja) * | 1999-03-12 | 2000-09-29 | Sony Corp | ネットワークシステム、ネットワークサーバ及び端末装置 |
US6731642B1 (en) * | 1999-05-03 | 2004-05-04 | 3Com Corporation | Internet telephony using network address translation |
US6769000B1 (en) * | 1999-09-08 | 2004-07-27 | Nortel Networks Limited | Unified directory services architecture for an IP mobility architecture framework |
US7934251B2 (en) * | 1999-12-02 | 2011-04-26 | Western Digital Technologies, Inc. | Managed peer-to-peer applications, systems and methods for distributed data access and storage |
US20040220926A1 (en) * | 2000-01-03 | 2004-11-04 | Interactual Technologies, Inc., A California Cpr[P | Personalization services for entities from multiple sources |
US20020091855A1 (en) * | 2000-02-02 | 2002-07-11 | Yechiam Yemini | Method and apparatus for dynamically addressing and routing in a data network |
US6714545B1 (en) * | 2000-03-03 | 2004-03-30 | Qwest Communications International, Inc. | VDSL data network, service and management architecture |
US6948003B1 (en) * | 2000-03-15 | 2005-09-20 | Ensim Corporation | Enabling a service provider to provide intranet services |
US6754709B1 (en) * | 2000-03-29 | 2004-06-22 | Microsoft Corporation | Application programming interface and generalized network address translator for intelligent transparent application gateway processes |
US7181542B2 (en) * | 2000-04-12 | 2007-02-20 | Corente, Inc. | Method and system for managing and configuring virtual private networks |
US7181766B2 (en) * | 2000-04-12 | 2007-02-20 | Corente, Inc. | Methods and system for providing network services using at least one processor interfacing a base network |
US6996628B2 (en) * | 2000-04-12 | 2006-02-07 | Corente, Inc. | Methods and systems for managing virtual addresses for virtual networks |
US6631416B2 (en) * | 2000-04-12 | 2003-10-07 | Openreach Inc. | Methods and systems for enabling a tunnel between two computers on a network |
US7085854B2 (en) * | 2000-04-12 | 2006-08-01 | Corente, Inc. | Methods and systems for enabling communication between a processor and a network operations center |
US6829654B1 (en) * | 2000-06-23 | 2004-12-07 | Cloudshield Technologies, Inc. | Apparatus and method for virtual edge placement of web sites |
US6772210B1 (en) * | 2000-07-05 | 2004-08-03 | Nortel Networks Limited | Method and apparatus for exchanging communications between telephone number based devices in an internet protocol environment |
US6910074B1 (en) * | 2000-07-24 | 2005-06-21 | Nortel Networks Limited | System and method for service session management in an IP centric distributed network |
AU2001284644A1 (en) * | 2000-08-16 | 2002-02-25 | Verisign, Inc. | A numeric/voice name internet access architecture and methodology |
US20020101859A1 (en) * | 2000-09-12 | 2002-08-01 | Maclean Ian B. | Communicating between nodes in different wireless networks |
KR20020027807A (ko) * | 2000-10-05 | 2002-04-15 | 이종석 | 인터넷을 이용한 전화서비스 방법 |
US20020078153A1 (en) * | 2000-11-02 | 2002-06-20 | Chit Chung | Providing secure, instantaneous, directory-integrated, multiparty, communications services |
US20020087722A1 (en) * | 2000-12-29 | 2002-07-04 | Ragula Systems D/B/A/ Fatpipe Networks | Domain name resolution making IP address selections in response to connection status when multiple connections are present |
US7164883B2 (en) * | 2001-02-14 | 2007-01-16 | Motorola. Inc. | Method and system for modeling and managing terrain, buildings, and infrastructure |
US20020138622A1 (en) * | 2001-03-21 | 2002-09-26 | Motorola, Inc. | Apparatus and method of using long lived addresses in a private network for push messaging to mobile devices |
US20060020688A1 (en) * | 2001-05-14 | 2006-01-26 | At&T Corp. | System having generalized client-server computing |
-
2002
- 2002-06-10 AU AU2002345633A patent/AU2002345633A1/en not_active Abandoned
- 2002-06-10 CN CNA028140311A patent/CN1528081A/zh active Pending
- 2002-06-10 JP JP2003504622A patent/JP2004533190A/ja not_active Withdrawn
- 2002-06-10 US US10/167,240 patent/US20030028671A1/en not_active Abandoned
- 2002-06-10 DE DE60211897T patent/DE60211897T2/de not_active Expired - Fee Related
- 2002-06-10 AT AT02744283T patent/ATE328436T1/de not_active IP Right Cessation
- 2002-06-10 EP EP02744283A patent/EP1400093B1/en not_active Expired - Lifetime
- 2002-06-10 ES ES02744283T patent/ES2263791T3/es not_active Expired - Lifetime
- 2002-06-10 KR KR10-2003-7016044A patent/KR20040034612A/ko not_active Application Discontinuation
- 2002-06-10 WO PCT/US2002/018485 patent/WO2002102012A2/en active IP Right Grant
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104639564A (zh) * | 2015-03-03 | 2015-05-20 | 北京极科极客科技有限公司 | 一种udp协议的代理方法 |
CN112042159A (zh) * | 2018-02-28 | 2020-12-04 | 诺基亚技术有限公司 | 将3gpp网络透明集成到tsn工业网络中 |
US11632810B2 (en) | 2018-02-28 | 2023-04-18 | Nokia Technologies Oy | Transparent integration of 3GPP network into TSN based industrial network |
CN112042159B (zh) * | 2018-02-28 | 2024-01-16 | 诺基亚技术有限公司 | 将3gpp网络透明集成到tsn工业网络中 |
Also Published As
Publication number | Publication date |
---|---|
WO2002102012A3 (en) | 2003-04-03 |
ATE328436T1 (de) | 2006-06-15 |
WO2002102012A2 (en) | 2002-12-19 |
EP1400093B1 (en) | 2006-05-31 |
US20030028671A1 (en) | 2003-02-06 |
ES2263791T3 (es) | 2006-12-16 |
EP1400093A2 (en) | 2004-03-24 |
KR20040034612A (ko) | 2004-04-28 |
DE60211897D1 (de) | 2006-07-06 |
JP2004533190A (ja) | 2004-10-28 |
DE60211897T2 (de) | 2006-10-19 |
AU2002345633A1 (en) | 2002-12-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1528081A (zh) | 用于和无线设备的双方发起数据通信的方法和系统 | |
US8090843B2 (en) | Creating a public identity for an entity on a network | |
Gilligan et al. | Basic socket interface extensions for IPv6 | |
US9002983B2 (en) | System, method and computer program product for selectively caching domain name system information on a network gateway | |
CN1965515B (zh) | 用于使IPv4私有网络中的节点经由IPv6接入网络到达IPv4公共网络节点的布置 | |
CN1756259B (zh) | 因特网协议网络中使用网络地址翻译的方法和系统 | |
EP0998099B1 (en) | Network address management | |
CN101375566B (zh) | 利用动态dns的域名系统和动态dns服务器全局地址管理方法 | |
CN1711743A (zh) | 在数据网络中允许远程访问的方法和设备 | |
JP2003244184A (ja) | ドメインネームの管理方法及びこれに適した装置 | |
US8161135B2 (en) | Device identification number based name service | |
CN101136910B (zh) | 网络地址和协议翻译设备与应用层网关设备 | |
EP1326404A1 (en) | Apparatus, method and system for converting internet protocol adresses | |
CN101795303A (zh) | 能够连接到具有本地地址域的网络的方法及系统 | |
CN1586065A (zh) | 利用网络地址转换的对等网络通信 | |
WO2008081080A1 (en) | Direct domain name service query | |
CN101002427A (zh) | 用于动态设备地址管理的方法和系统 | |
CN1926840A (zh) | 在至少两台计算设备间建立连接时的地址和端口号提取 | |
CN101325580A (zh) | 基于nat-pt的ftp应用层网关的实现方法 | |
CN1984146A (zh) | Dstm通信网络中的验证系统和方法 | |
Reynolds | BOOTP vendor information extensions | |
CN101074991A (zh) | 地理位置信息处理方法、系统及地理信息系统中间件装置 | |
US20070118884A1 (en) | Name resolution system using name registration intermediary and name resolution intermediary | |
CN1933483A (zh) | 一种网络应用单击单点登录的系统和方法 | |
JPH09282259A (ja) | ネットワークシステム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |