WAN/WLAN单播和多播通信的方法和装置

申请号 CN201080049674.0 申请日 2010-10-21 公开(公告)号 CN102598727A 公开(公告)日 2012-07-18
申请人 讯宝科技公司; 发明人 K·R·凯尔; W·J·萨柯达;
摘要 在通过网关组件耦合的广域网(WAN)和无线局域网(WLAN)内,在多个移动设备之间提供IP单播通信。移动设备和WLAN之间的数据通信使第一单播IP地址关联于该移动设备。加入WLAN内的多播组,将预定的多播IP地址用作目的地IP地址,并将第一单播IP地址用作源地址,。设备断开与WLAN内的数据通信,由此释放第一单播IP地址。在移动设备和WAN之间建立数据通信,由此接收与移动设备关联的第二单播IP地址。设备随后经由WAN自动地与网关组件通信,以 指定 第二单播IP地址作为移动设备在多播组内的源地址。
权利要求

1.一种在使用IP单播通信的广域网和使用IP多播通信的无线局域网内在多个移动设备之间提供通信的方法,其中所述广域网和所述无线局域网是通过网关组件耦合的,所述方法包括:
在移动设备和无线局域网之间建立数据通信,由此接收与所述移动设备关联的第一单播IP地址;
加入所述无线局域网内的多播组,并向所述多播组登记,将预定的多播IP地址用作目的地IP地址,并将所述第一单播IP地址用作源地址;
断开与所述无线局域网内的数据通信,由此释放所述第一单播IP地址;
在所述移动设备和所述广域网之间建立数据通信,由此接收与所述移动设备关联的第二单播IP地址;以及
经由所述广域网自动地与所述网关组件通信,以指定所述第二单播IP地址作为所述移动设备在所述多播组内的源地址。
2.如权利要求1所述的方法,其特征在于,还包括将所述网关组件的公共网络地址存储在所述移动设备中,并且用于自动地与所述网关组件通信的步骤包括将消息发送至所述公共网络地址。
3.如权利要求1所述的方法,其特征在于,所述多播组是因特网组管理协议组。
4.如权利要求1所述的方法,其特征在于,所述移动设备被配置成提供步话机服务。
5.如权利要求1所述的方法,其特征在于,用于建立数据通信的步骤包括提供选自由语音、数据、视频、文本和图像组成的组的一个或多个类型的同时通信。
6.一种数据通信系统,包括:
通过网关组件耦合的广域网和无线局域网;以及
移动设备;
其中所述移动设备配置成建立与所述无线局域网的数据通信,接收与所述移动设备关联的第一单播IP地址,通过向所述无线局域网内的多播组登记,将预定的多播IP地址用作目的地IP地址并将所述第一单播IP地址用作源地址从而加入所述多播组;并且所述移动设备进一步配置成与所述无线局域网断开,释放所述第一单播IP地址,建立与所述广域网的数据通信,由此接收与所述移动设备关联的第二单播IP地址;并经由所述广域网自动地与所述网关组件通信,以指定所述第二单播IP地址作为所述移动设备在所述多播组内的源地址。
7.如权利要求6所述的系统,其特征在于,所述移动设备进一步配置成存储所述网关组件的公共网络地址并自动地与所述网关组件通信。
8.如权利要求6所述的系统,其特征在于,所述多播组是因特网组管理协议组。
9.如权利要求6所述的系统,其特征在于,所述移动设备被配置成提供步话机服务。
10.如权利要求6所述的系统,其特征在于,所述移动设备配置成提供选自由语音、数据、视频、文本和图像组成的组的一个或多个类型的同时通信。
11.如权利要求6所述的系统,其特征在于,所述移动设备包括逻辑,所述逻辑配置成检测IP地址或网络已改变,将当前单播IP地址传递至所述网关组件。
12.如权利要求11所述的系统,其特征在于,当在多个网络之间漫游时,所述移动设备将信息发送至WLAN中的设备。
13.一种包含计算机可用介质的计算机程序产品,所述计算机可用介质具有表现在其中的计算机可读程序代码,所述计算机可读程序代码适于被执行以在广域网和无线局域网内实现多播和单播通信,包括:
在移动设备和所述无线局域网之间建立数据通信,由此接收与所述移动设备关联的第一单播IP地址;
加入所述无线局域网内的多播组,并向所述多播组登记,将预定的多播IP地址用作目的地IP地址,并将所述第一单播IP地址用作源地址;
断开与所述无线局域网内的数据通信,由此释放所述第一单播IP地址;
在所述移动设备和所述广域网之间建立数据通信,由此接收与所述移动设备关联的第二单播IP地址;以及
经由所述广域网自动地与网关组件通信,以指定所述第二单播IP地址作为所述移动设备在所述多播组内的源地址。
14.如权利要求13所述的计算机程序产品,其特征在于,还包括将所述网关组件的公共网络地址存储在所述移动设备中,并且用于自动地与所述网关组件通信的步骤包括将消息发送至公共网络地址。
15.如权利要求13所述的计算机程序产品,其特征在于,所述多播组是因特网组管理协议组。
16.如权利要求13所述的计算机程序产品,其特征在于,所述移动设备被配置成提供步话机服务。
17.如权利要求13所述的计算机程序产品,其特征在于,用于建立所述数据通信的步骤包括提供选自由语音、数据、视频、文本和图像组成的组的一个或多个类型的同时通信。
18.如权利要求13所述的计算机程序产品,其特征在于,所述计算机可读程序代码被提供在所述移动设备中。

说明书全文

WAN/WLAN单播和多播通信的方法和装置

[0001] 本发明总地涉及与移动设备一同使用的单播和多播通信,更具体地涉及这类设备和协议在WAN和WLAN这两种环境中的使用。
[0002] 背景
[0003] 单播和多播IP通信在企业内使用多个移动设备的环境中已获得广泛普及。按键通话(PTT)是市场中被较多请求特征中的一个,它需要将传统步话机功能整合到强有的移动数据设备中,并且其主要语音需求是一对多的寻呼以及一对一的直接本地拨号。
[0004] 目前已知的IP单播和多播系统在许多方面都是不尽如人意的。例如,在许多组织中,雇员在一天的一部分时间位于无线局域网(WLAN)之内,而在这一天的剩余时间位于该局域网之外(即在WAN内)。尽管可绑PSTN和VIOP网以在WLAN和WAN之间提供步话机功能,然而这类方案需要使用附加的服务器和其它基础设施,并且没有为用户提供无缝通信体验。
[0005] 因此,需要在WAN和WLAN这两种环境中实现多播/单播功能的无缝、无服务器整合。根据后续的详细描述和所附权利要求,并结合附图和上述对技术领域以及背景的陈述,本发明的其它期望的特征和特性将变得易懂。
[0006] 附图简述
[0007] 通过结合以下附图参考详细描述和权利要求书,可获得对本发明的更完整的理解,其中相同附图标记表示这些附图中的相似要素。
[0008] 图1示出有益于描述本发明的示例性WAN/WLAN环境;
[0009] 图2是包含在示例性移动设备中的各种功能的概念性方框图
[0010] 图3是根据一实施例的移动设备的简化的、概念性方框图。
[0011] 详细描述
[0012] 总地来说,本发明涉及在跨越WAN和WLAN系统的多个移动设备之间提供IP多播通信(例如按键通话(PTT)通信)而不需要针对该目的的专用服务器的系统和方法。
[0013] 在一个实施例中,首先在移动设备和无线局域网之间建立数据通信,由此接收与该移动设备关联的第一单播IP地址。移动设备随后加入无线局域网内的多播组,并向该多播组登记,将预定的多播IP地址用作目的地IP地址,并将第一单播IP地址用作源地址。设备断开与无线局域网内的数据通信,由此释放第一单播IP地址。在移动设备和广域网之间建立数据通信,由此接收与移动设备关联的第二单播IP地址。设备随后经由广域网自动地与网关组件通信,以指定第二单播IP地址作为该移动设备在多播组内的源地址。
[0014] 以下的详细描述实际上仅仅是说明性的,且不旨在限制本发明或限制本发明的应用和使用。并且,无意被前述技术领域、背景、概述或以下详细描述中展现的任何被表示或隐含的理论所约束。为简洁起见,这里不需要描述与用户界面组件、网络通信、多播、移动计算设备等关联的传统技术和原理。
[0015] 现在参见图1,将要描述有益于解说本发明操作的示例性无线网络。如图所示,广域网(WAN)102和无线局域网(WLAN)104以传统方式经由网关组件(“IP网关”或简称“网关”)150耦合。WLAN 104可限于单件设施106,或可延及任何数量的这类设施、校园、工厂等。
[0016] WLAN 104一般包括一个或多个接入点(或端口)110、111,它们可通信地耦合至网关150,并配置成与任何数量的移动设备(例如移动设备121-127)关联或有利于与之无线通信。在图示实施例中,如业内已知的那样,WLAN 104根据IEEE 802.11协议工作。WLAN104一般包括数个其它组件,例如路由器、交换机等,为清楚起见在附图中未予以示出。
[0017] WAN 102通常包括网络140(例如因特网)以及配置成与移动设备121-127无线通信的一个或多个基站塔或其它组件130。如已知的那样,(相比WLAN),WAN是覆盖相对宽阔的地理区域的网络,并一般通过公共交换电话网(PSTN)、租用线路、卫星等接入。
[0018] 如前面提到的,例如WLAN 104等现代IP分组交换网提供多播——即移动设备121加入WLAN 104内的一个或多个多播组(或向该一个或多个多播组登记)的能力。一旦移动设备121是一个组的成员,则它能接收经由WLAN 104发送至该组的任何消息和数据(例如IP数据包)。一种这样的多播协议是通过IGMP(因特网组管理协议)提供的,在这里对IGMP作出引用而不丧失一般性。
[0019] 根据本发明,移动设备121可在WAN 102和WLAN 104之间无缝地“漫游”,同时保持接收其所加入的组的多播消息的能力。此外,这种功能的提供不需要额外的服务器来管理消息的路由。
[0020] 总地来说,一示例性方法如下地进行。首先,WLAN 104(例如IP网关150和移动设备121-127)被预先配置以实现这里描述的方法。该方法起始包括:将网关150的公共IP地址存入移动设备121,并在移动设备121内安装合适的客户软件(将在下文中更详细地描述)。
[0021] 接着,例如通过传统的IEEE 802.11关联程序,在移动设备121和WLAN 104之间建立数据通信。在建立该通信的过程中,移动设备121获得用于在WLAN 104内进行后继通信的第一单播IP地址。
[0022] 移动设备104随后加入WLAN 104中的一个多播组,将其当前IP地址指定为其多播网络地址——即该组的多播应当被路由至的那个地址。也就是说,在登记期间,将一预定的多播IP地址用作目的地IP地址,并且将第一单播IP地址用作源地址。在所说明的实施例中,遵循IGMP多播协议。在这一情形下,网关150和接入点110、111,连同其它网络组件(例如交换机等),一般将管理用于提供多播的任何路由表。
[0023] 此时,移动设备被配置成针对WLAN104内的其它移动设备122-127发送和接收单播和多播消息。
[0024] 接着,用户离开设施106,由此断开与WLAN 104的连接。这释放了第一单播IP地址。此时,移动设备121(图示为121(a))可使用任何适宜方法建立与WAN 102的数据通信,这取决于网络的性质。结果,移动设备121接收第二单播IP地址,除用于WLAN 104的第一IP地址外,移动设备121更适宜存储该第二单播IP地址。
[0025] 在接收到WAN 102的单播IP地址后,移动设备121利用存储的网关150的公共IP地址,经由WAN 102自动与网关150通信,并指定该第二WAN IP地址为其新的多播网络地址。网关104处理该请求,而后发送至该组的所有多播消息被送至WANIP地址,而不是被送至WLANIP地址。
[0026] 反之,当移动设备121离开WAN 102并回到WLAN 104时,消息被自动送至网关150,指令其使用之前的IP地址(或新获得的IP地址)作为其当前多播地址。在一典型实施例中,设备121从网络获得新的IP地址,但不保证该IP地址与之前任一IP地址是相同的。
[0027] 移动设备可配置成在这种背景下提供任何数量不同的通信服务,包括例如步话机服务、按键通话服务等。在各种实施例中,提供语音、数据、视频、文本和/或图像的同时通信。
[0028] 如前面提到的,在WAN 102和WLAN 104之间提供无缝移动的智能在极大程度上是通过移动设备自身提供的,而不是通过处理路由表等的专用服务器提供的。因此,如图2中概念性描述的那样,移动设备121将包括经由硬件和软件的任意组合实现的数个功能模块,包括步话机无缝驱动器(WTS-D)208、步话机无缝会话管理器(WTS-SM)204、步话机无缝用户界面(WTS-UI)206、步话机无缝管理器(WTS-M)202、WLAN 104用无线驱动器210以及与WAN 102通信的无线驱动器211。
[0029] WTS-D 208负责来自套接字(socket)(例如windows套接字)的UDP话务处理。它管理抖动、服务质量(QoS)分组标签、数据编码/解码以及UDP分组管理。它也可负责IGMP以对多播话务进行登记。它也处理输入音频话务以确定是否打算将其用于移动设备内的步话机(WT)服务。
[0030] WTS-SM 204负责管理为一对一通信建立的任何语音会话,或侦听特定信道上的WT啁啾声,或管理使用中的任何视频/文本/数据/语音服务的会话。它因此提供应用层逻辑。
[0031] 从用户的度看,会话是几个人就一特定的话题进行简短的谈话,然后“被执行”。WTS中的会话的概念在许多方面是有益的,例如:它允许用户阻塞信道上的一个会话,而允许下一信道被听到;它允许设备进入使语音性能和/或用户体验最佳的特殊工作模式;并且当用户需要在非常用信道上作出应答时,它简化了用户界面行为。
[0032] 当无线驱动器加电时,或者在设备于网络之间过渡时IP地址改变的情况下,WTS-M负责获取单播IP地址,WTS-M 202负责将分配的IP与当前使用的数据网络(例如WAN(分组数据网、3G、EDGE等)或WLAN(局域WiFi 802.11网等))关联。发起与网关150或AP 110/111的通信以改变多播组的源IP地址的逻辑驻留在WTS-M 202中。它的责任是确保在WLAN 104内更新正确的源IP地址以使多播分组被路由至设备121。
[0033] 如前面提到的,WTS-D 208提供多个独立的会话流。下面将描述提供该会话流的一种机制。
[0034] 在一个实施例中,WTS-D 208基于不同的UDP端口号来区别信道。给定一基本(base)UDP端口U和信道N,则该信道被标识为UDP端口U+(N*2)。通过这种方法,可定义很大数量的信道。
[0035] 最好始终对一给定信道使用相同的UDP端口,而同一信道上的不同会话则由RTP报头中的SSRC字段来标识。如果可能,源和目的地UDP端口号是相同的,尽管协议未如此要求并且在一些系统上也许是不可能的。
[0036] 为了优化在多种操作系统上的实现,WTS-D 208还将信道号映射到D类IP地址范围和802.11MAC多播地址范围两者上。根据一个实施例,该算法类似于用于UDP端口号的算法,即:对于一给定的信道N和基本D类IP地址I,地址I+N将用于所有的信道N的话务。同样,给定基本MAC多播地址为值M,则地址M+N将用于所有的信道N的话务。
[0037] 基本UDP端口号、D类IP地址以及802.11多播地址是在每个设备上优选设定的配置项(并且针对每个设备是相同的)。例如,在一特定客户网络中,用于信道2多播的D类IP地址可以是224.0.0.2,并具有10000的基本UDP端口,可在端口10002上提供信道2的传输。因此,WTS-D在224.0.0.2:10002上发送并侦听信道2的RTP音频话务。
[0038] 当无线驱动器加电时,WTS-M 202接收IP地址,同时设施中的设备获得例如173.1.1.100的本地IP地址,并且WT端口和多播IP是预定义的,例如224.0.0.2:10002。
[0039] WTS-M 202可具有多种功能来提供需要的WT功能性。例如,在一个实施例中,提供下列功能:WTS_Initialize、WTS_Set_String_Property、WTS_Set_Integer_Property、WTS_Create、WTS_Start、WTS_Set_Text、WTS_Announcement_Start、WTS_Send_Audio、WTS_Announcement_Stop、WTS_Get_Sender_Ip、WTS_Get_Text、WTS_Receive_Audio、WTS_Set_Filler_Callback、WTS_Destroy以及WTS_Shutdown。
[0040] 为了开始会话,则模块调用:
[0041] intWTS_Initialize(int multicastIp,int RTPport);
[0042] 这为特定信道以及多播IP返回指向WTS_INSTANCE的指针。结果,所有未来的调用流程使用所返回的WTS_INSTANCE而继续。例如,为了开始一WT会话,则可使用下列命令:
[0043] int WTS_Start(WTS_INSTANCE wts_instance);
[0044] 接着,当设备漫游到WiFi覆盖区之外时,无线驱动器自动向WAN 102内的分组数据登记,以获得新的IP地址,例如10.0.0.45。这种变化被WTS_M202检测到,随后它使用IGMP将多播登记分组发送至属于网关150的预定的(和预存储的)公共IP地址(例如123.123.123.123)。
[0045] 网关150随后自动将分组从10.0.0.45:10002重新路由至224.0.0.2:10002。当前正处于WLAN 104之外的设备121能将多播话务发送至WLAN 104内的WT组。在相反方向上,IP网关150接收224.0.0.2:100002的多播分组,随后该分组路由至10.0.0.45:1002。因此,工作在WAN 102中的设备能接收WT啁啾声,就像它已在WLAN 104上登记过那样。
[0046] 可实现NAT、防火墙等的IP网关150能支持外部IP地址和内部IP地址之间的直接映射,或支持完全锥形NAT(一对一NAT)。一旦内部地址(iAddr:port1)被映射至外部地址(eAddr:port2),来自iAddr:port1的任何分组将通过eAddr:port2被发送。任何外部主机可通过将分组送至eAddr:port2而将分组发送至iAddr:port1。
[0047] 尽管经常要求完全避免NAT,然而如果公共IP地址可供网络调用服务器使用,则使用NAT是有益的(如果可用的话)。如果网关150连接至网络140和WLAN 104两者,则可从WLAN 104内部和外部两地到达RTP端口,且主要考虑因素变为确保RTP适当流动。网关150不需要配置成在接口之间进行路由或提供伪装;它只桥接入站和出站的RTP话务。
[0048] 在一个示例中(假设网关105利用Linux操作系统),可使用下列配置形式:
[0049] iptables-t nat-A PREROUTING-i eth0-p udp\
[0050] -m udp--dport10000:10100-j DNAT\
[0051] --to-destination 192.168.1.10
[0052] 其中etho被代之以防火墙的外部接口(例如123.123.123.123),并且192.168.1.10被代之以多播话务的地址(224.0.0.2)。这些规则指令Linux内核转换在给定范围内正在进入外部接口的任何UDP分组的目的地地址。相比路由后阶段,这发生在路由前阶段,因为目的地地址正在被转换。此时,来自网络140的RTP分组将被转发至内部多播地址。
[0053] 由WTS-UI 206提供用来实现前述方法的用户界面可依赖于例如正在使用的硬件和软件平台而改变。用户界面可包括任何数量的传统已知的要素,例如窗口、文本框、输入框、复选框、单选按钮、触发按钮、标准按钮、滑尺、触摸感应区、下拉菜单等。
[0054] 前述用户界面的细节和方法可实现在多种移动设备121中,例如包括蜂窝电话(或“智能电话”)、GPS系统、电子书阅读器、写字板计算机、上网本计算机、售卖点设备、游戏设备以及可包括一个以上触摸屏显示器的任何其它装置。然而,一般来说,这些设备通常是专用或通用计算设备,其包括一个或多个微处理器存储器组件以及如业内已知的类似器件。
[0055] 同样,这里描述的系统和方法可实现在目前已知或今后研发出的任何移动设备中。参见图3,例如典型的移动设备121一般包括一个或多个处理器302、一个或多个存储器设备304(例如闪存、硬盘、微型SD卡等)、RF收发机模块306(例如根据IEEE 802.11,Zigbee等工作)、显示器310(例如触摸屏显示器)以及输入设备308(按钮、LED等)。在任何给定实施例中,可存在额外的电子器件,通常包括电源模块(例如电池、充电电路等)、外围接口、一个或多个外部端口(例如USB、防火墙等)、音频模块以及例如加速传感器、方位传感器和接近传感器等一个或多个传感器(未示出)。
[0056] 总地来说,根据一个实施例的计算机程序产品包括其中体现有计算机可读程序代码的计算机可用介质(例如存储器304、光驱、USB驱动器等),其中计算机可读程序代码适于由(与操作系统一同使用的)处理器302执行,以实现用于产生用户界面并实现前述方法的方法。在这个方面,程序代码可以用任何要求的语言来实现,并可(例如通过C、C++、Java、Actionscript、Objective-C、Javascript、CSS、XML等)实现为机器码、汇编码、字节码、可解释源代码等。
[0057] 虽然在上述详细描述中给出了至少一个示例实施例,但应当理解存在大量的变型。还应理解,本文中描述的示例实施例或多个示例实施例不旨在以任何方式限制本发明的范围、适用性或配置。相反,上述详细描述将为本领域普通技术人员提供用于实现所描述的实施例或多个实施例的方便和教导性的路线图。应当理解,可在元件的功能和安排上作出各种改变,而不背离本发明及其法律等同物的范围。
QQ群二维码
意见反馈