首页> 中国专利> 用户设备中对三重播放服务的支持

用户设备中对三重播放服务的支持

摘要

由不同服务提供商提供的若干服务能够通过一个或多个网关从单个用户设备进行访问。为了确保服务质量控制,每个服务提供商向用户设备分配不同的地址。在用户设备处定义不同的转发信息库和服务映射,包括针对每个服务提供商的一个这样的转发信息库以及针对给定服务提供商所提供的每个服务类型的一个服务映射。分配给用户设备的单独地址与单独服务映射相关。定义不同的虚拟局域网(VLAN),每个包含转发信息库之一和服务映射之一。由网关添加到分组且到达用户设备的标签被用来将分组与正确的服务提供商以及与正确的服务类型联系起来。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2023-09-22

    未缴年费专利权终止 IPC(主分类):H04L29/06 专利号:ZL2008801111146 申请日:20080917 授权公告日:20130619

    专利权的终止

  • 2013-06-19

    授权

    授权

  • 2010-10-20

    实质审查的生效 IPC(主分类):H04L29/06 申请日:20080917

    实质审查的生效

  • 2010-09-01

    公开

    公开

说明书

技术领域

本发明涉及用于在用户设备和多个服务提供商之间交换数据分组的方法和用户设备。

背景技术

随着高性能网际协议(IP)设备的出现,提供在单个设备上使用的各种同时服务变得很普遍。例如,用户可以在相同设备上获得语音、数据和视频服务。这种能力有时被称为“三重播放”。当向用户提供的所有服务都是由相同的服务提供商提供时,可以简单地实现用户设备和服务提供商网络之间的连接性。然而,用户可能更喜欢从一个访问提供商购买连接服务,然后从多个不同的服务提供商购买增值服务。

图1a(现有技术)示出提供许多服务的IP网络100。网络100包括用户设备(UD)110、网关(GW)120以及三个服务提供商(SP)SP-1、SP-2和SP-3。GW 120通常属于因特网服务提供商(ISP),其向终端用户提供连接性服务。服务提供商提供增值服务。IP网络100允许UD 110经由GW 120连接到任何数目的SP以从中获得各种类型的增值服务。例如,SP-1可以提供电话服务诸如IP语音(VoIP)服务,SP-2可以提供视频服务诸如IP电视(IPTV)服务,而SP-3可以提供基本的因特网服务诸如电子邮件、文件传输协议(FTP)和web(网络)浏览。为了实现对在UD 110接收的来自任一SP的服务的建立,UD 110发起对服务的请求,该请求通过GW 120向选择的SP进行发送。各种IP地址被用于UD 110、GW 120和SP之间的通信,如图1b所示,图1b是IP地址关联的现有技术表示。GW 120向UD 110分配例如等于142.1.0.10的IP地址USER-ADDR并且通知UD 110等于142.1.0.1的用户侧GW IP地址GW-UD-ADDR。所选择的SP例如SP-1向GW 120分配等于45.3.0.1的服务器侧IP地址GW-SP-ADDR-1并且提供关于其自己的等于45.3.0.20的IP地址SP-ADDR-1的信息。然后SP IP地址和GW 120服务器侧IP地址能够被用作源地址和目的地地址以在其间交换数据分组。而且,UD IP地址和GW用户侧IP地址能够被用作源地址和目的地地址以在UD 110和GW 120之间交换数据分组。打算在UD 110和SP之一之间传输的分组由GW 120转发到其目的地。因为该UD或其它UD可以通过相同的GW 120向各个SP发起若干服务请求,所以接收到服务请求的每个SP向GW 120分配不同的IP地址并且通知GW 120其自己的IP地址。

当前所用的IP地址多半是根据网际协议版本4(IPv4)定义的,所述IPv4由因特网工程任务组(IETF)的请求注解(RFC)791定义。公共域中的地址供应不足;根据IPv4的IP地址空间的范围受限于4,294,967,296个可能的唯一地址。因为一些被保留用于诸如专用网(~1800万个地址)或多播地址(~100万个地址)之类的特殊用途,所以公共域中可用地址的实际数目甚至更少。如IETF的RFC 2460中定义的IP版本6(IPv6)具有宽得多的可能IP地址范围。虽然理论上可以向全世界的每个具备因特网能力的设备分配唯一地址,但是这只能通过在避免地址冲突方面的巨大努力才能实现。如此,在IPv6的情况下仍然存在具有冲突IP地址的可能性。结果,普遍的是在专用网内使用专用IP地址,因为专用网能够管理其地址从而确保不会发生地址冲突。然而,专用IP地址只能在专用IP域内辨别。

在IETF的RFC 793传输控制协议(TCP)中定义的TCP套接字以及在电气与电子工程师协会(IEEE)的802.3ac标准中定义的VLAN标签是用来针对不同应用而区分到达用户设备的分组的众所周知的方法。这些方法不能克服在分配给终端用户设备的冲突IP地址之间的任何混淆。因而这些方法只有在通常由网关把单个IP地址分配给终端用户设备时起作用。服务提供商提供各种类型的服务,诸如例如FTP、VoIP和IPTV,它们要求不同的服务质量(QoS)特性。由网关向终端用户设备分配IP地址把控制提供给终端用户的QoS留给网关。

当前没有用于允许用户设备连接到多个服务提供商域的具有同时访问若干服务的能力、具有受控的服务质量而没有专用IP地址之间的冲突风险的高效手段。

发明内容

因此,本发明的宽泛目标是通过使用用于由各个服务器向用户设备分配专用地址而地址之间没有冲突的方法和用户设备来提供对三重播放服务的支持。

本发明的第一方面针对一种在用户设备和多个服务提供商之间交换数据分组的方法。该方法包括在用户设备中定义对应至少两个服务提供商的至少两个转发信息库(FIB)。每个FIB包括对应服务提供商的网际协议(IP)地址和标识。每个FIB还与至少一个服务类型、与由对应服务提供商分配给用户设备的对应IP地址、以及与对应标签相关联。标签被插入数据分组中。然后该标签被用来识别用户所选择的服务提供商以及服务类型,服务提供商以及服务类型这两者都对应于数据分组。

本发明的第二方面针对以上方法的变型,其中与所选择的服务提供商对应的FIB包括第一和第二虚拟局域网(VLAN)。第一VLAN包括用户设备、所选择的服务类型和所选择的服务提供商。第二VLAN包括另一服务类型。

本发明的第三方面针对一种用于与多个服务提供商交换数据分组的用户设备。用户设备包括输入/输出端口,用于从服务提供商接收数据分组。用户设备具有能够处理数据分组的两个或更多服务单元,每个服务单元支持至少一个服务类型。在用户设备内,存储器存储对应至少两个服务提供商的至少两个转发信息库(FIB)。每个FIB包括服务提供商的标识以及所识别的服务提供商的IP地址。每个FIB还与至少一个服务类型、与由对应服务提供商分配给用户设备的对应IP地址、以及与对应标签相关联。服务选择器从所接收的数据分组获取(retrieve)标签、通过使用该标签从存储器读取均由用户选择的服务类型和所选择的服务提供商的标识、以及基于所选择的服务类型和所选择的服务提供商的标识向两个或更多服务单元之一转发所接收的数据分组。

附图说明

为了更详细地理解发明、其进一步目标和优点,现在可以参照以下描述并结合附图,其中:

图1a是提供许多服务的IP网络的现有技术表示;

图1b是IP地址关联的现有技术表示;

图2a示出根据本发明的示例性三重播放网络;

图2b示出根据本发明的示例性IP地址关联;

图3a示出存在于用户设备内的服务类型到服务提供商映射表;

图3b示出存在于用户设备内的转发信息库表;

图3c示出存在于用户设备内的路由表;

图4示出根据本发明一方面的在用户设备和多个服务提供商之一之间交换数据分组的方法;

图5示出根据本发明一些方面的多转发信息库表的示例性内容;

图6是示出根据本发明其它方面的在用户设备和服务提供商之间的数据分组交换的顺序图;

图7示出根据本发明构建的示例性用户设备;以及

图8示出用于支持本发明的示例性网关。

具体实施方式

将具体参照优选实施例的各种示例性使用和方面来描述本发明的创新教导。然而,应当理解这个实施例仅提供本发明的创新教导的许多有利使用的一些示例。一般而言,在本申请的说明书中所做的陈述不必限制本发明的各个要求保护方面中的任何方面。此外,一些陈述可以适用于一些发明特征而不适用于其它特征。在图的描述中,相似的数字表示本发明的相似元件。

本发明提供了用于在用户设备和多个服务提供商之间交换数据分组的方法和用户设备。各种服务提供商提供各种服务类型,以允许终端用户享受所谓的‘三重播放’服务。为了使得服务提供商能够向用户设备分配IP地址,支持服务提供商控制服务质量,同时防止专用地址之间的任何歧义或冲突的风险,提供了路由的虚拟化,这在下面进行解释。

因特网工程任务组(IETF)的请求注解(RFC)3222将转发信息库(FIB)定义为包含转发IP分组或数据报所必需的信息的表。通常利用发送IP分组的节点中的FIB来实施IP路由。在本发明中,通过定义多FIB架构来提供IP路由的虚拟化,每个FIB对应于一个IP域。定义了虚拟局域网(VLAN),其中用户设备和服务提供商之一被指派到逻辑组内以进行给定服务类型的服务会话。对于每个SP,在用户设备中实施被实施为不同虚拟IP栈的不同FIB。对于每个服务会话,对不同SP使用特定FIB允许该SP向用户设备分配不同的IP地址。这些分配与服务映射相关联,每个服务映射包括相关SP的标识、SP的地址以及服务类型。FIB可以具有与在SP和UD之间定义的一个或多个服务映射对应的一个或多个VLAN。UD可以建立与为相同SP或为不同SP定义的一个或多个服务映射对应的一个或多个服务会话。为了支持一个SP向相同UD提供多于一个服务的情况,定义逻辑接口来区分服务会话。如本文所教导的,称为标签的特定标识符与每个逻辑接口相关联并且被添加到在用户设备和任一服务提供商之间交换的每个数据分组,以供在用户设备和网关之间使用。标签使得用户设备能够唯一地识别定义用户设备和服务提供商之一之间的关系的FIB以及定义FIB内的服务会话的逻辑接口。不管用户设备、网关和服务提供商的IP地址是公共的还是专用的并且不管IP地址的值是不同还是重叠,通过使用逻辑接口来将包含在数据分组中的标签与服务映射进行关联,多FIB架构的使用使得能够在用户设备和服务提供商之间正确地路由分组。

在本发明的背景下,用户设备可以包括一个或多个互连部件。一个部件例如路由器可以充当进入用户域的入口点并且其它部件可以与之连接。用户设备或其部件可以采取各种形式,诸如计算机、电视机顶盒、运动图像专家组(MPEG)音频层3(MP3)播放器、个人视频播放器、个人数字助理、移动终端等等。

网关可以是路由器、无线局域网(WLAN)路由器、接入节点、接入边缘站点等等。典型地,网关适配与用户设备的本地通信以及指向远程服务提供商的全球通信。典型的网关为大量的用户设备服务。代替在单个节点中实施,网关的特征可以被在若干节点之间共享。网关可以直接连接到用户设备,或者可以可替换地通过包括其它路由器、接入节点、蜂窝通信装备等等的间接装置进行连接。一个用户设备可以通过一个网关或通过不同网关而得到对不同服务提供商的访问。

服务提供商可以包括一个或许多服务器。对于其提供的每种服务类型,服务提供商可以具有一个服务器。可替换地,给定的服务器可以能够支持若干服务类型。相同服务提供商域内的若干服务器可以用于分载、冗余,或者可以根据离请求用户域的地理距离进行选择。服务器可以仅授权对服务的访问而相同服务提供商的一个或多个其它服务器可以实际上递送内容给用户。通常,可以考虑术语‘服务器’和‘服务提供商’的等效性来阅读本发明的以下描述。

现在参照附图,其中图2a示出根据本发明的示例性三重播放网络200。该网络包括用户设备(UD)210、网关(GW)230、一个或多个服务提供商(SP)250,并且还可以包括接入网(AN)220和区域网(RN)240。通过GW 230以及可选地通过AN 220和RN 240为UD 210提供对SP 250的访问。AN 220可以包括接入节点、路由器、附加网关等等。RN 240还可以包括路由器和网关。可替换地,UD 210可以直接连接到GW 230。在另一个实施例中,GW 230可以直接连接到一个或多个SP250。典型的三重播放网络(诸如图2a的网络200)通常将包括数十或数百个GW 230,每个GW 230提供到许多UD 210的连接性。不同GW230可以将给定UD 210连接到不同的SP 250。网络200将提供对可能分布在很大地理区域或全世界中的大量SP 250的访问。因而为了说明目的而大大简化了图2a的三重播放网络200。按照本发明的教导,三重播放网络200包括UD 210和GW 230的附加特征以支持多FIB架构的建立以定义用于连接UD 210与SP 250的VLAN。

为了实现对在UD 210接收的来自任一SP的服务的建立,UD 210发起对服务的请求,该请求通过GW 230向所选择的SP进行发送。所选择的SP向UD 210分配IP地址并且提供关于其自己IP地址的信息。然后SP和UD 210IP地址能够被用作源地址和目的地地址以在其间交换数据分组。因为该UD或其它UD可以发起若干服务请求,接收到服务请求的每个SP向每个请求UD分配不同的IP地址。每个SP还向GW 230分配两个IP地址,其中一个地址被用于将GW 230连接到任何数目的用户设备(诸如UD 210),另一个地址被用于将GW 230连接到SP。包括SP的地址和分配给GW 230及分配给UD 210的地址的IP地址信息被从SP发送到GW 230,GW 230进而向UD 210转发该地址信息。在GW 230和给定SP之间,使用GW 230的逻辑接口来分离业务。这个逻辑接口被关联到GW 230的端口。一个逻辑接口连接到单个SP。图2b示出根据本发明的示例性IP地址关联。SP-1具有等于45.3.0.20的IP地址SP-ADDR-1。SP-1向UD 210分配等于72.3.0.10的USER-ADDR-1。SP-1还向GW 230分配等于72.3.0.1的GW-UD-ADDR-1以支持GW 230到各个用户设备的连接。GW 230具有面向SP-1的标识为端口A的逻辑接口。SP-1分配等于45.3.0.1的GW-SP-ADDR-1以连接端口A到SP-1。SP-1、GW 230和UD 210的这些地址与端口A上的逻辑接口一起允许建立用于在UD 210和SP-1之间发送分组(有时称为数据报)的路由。例如,UD 210可以发送目的地地址为45.3.0.20且源地址为72.3.0.10的打算发往SP-1的分组,在UD 210的连接到GW 230的通过使用72.3.0.1可寻址的接口的端口上发送分组。GW 230通过使用在地址45.3.0.1上的连接到其的端口A向SP转发分组。如图2b所示,SP-2向UD 210分配USER-ADDR-2以及向GW 230分配GW-UD-ADDR-2和GW-SP-ADDR-2,而SP-3向UD 210分配USER-ADDR-3以及向GW 230分配GW-UD-ADDR-3和GW-SP-ADDR-3。端口B和端口C分别被用来分别使用地址GW-SP-ADDR-2和GW-SP-ADDR-3将GW 230连接到SP-2和SP-3。当然,本领域技术人员将会意识到以上地址值是示例性的并且任何范围内的任何IP地址不管是IP版本4还是IP版本6地址都可以用在本发明的上下文中。

如果多于一个UD连接到相同的GW 230,则每个UD需要从它从中接收服务的每个SP获得不同的IP地址。GW 230仅需要每逻辑接口一个IP地址以将任何数目的UD连接到相同的SP。例如,GW-UD-ADDR-1被用于将任何数目的UD连接到SP-1。

UD 210可以同时支持若干SP所提供的服务。在UD 210和所有SP之间使用公共IP地址的情况下,在通过GW 230从SP之一接收到分组时,分组的目的地地址的验证指示该分组是与SP-1、SP-2还是与SP-3提供的服务类型相关,因为是这些SP之一已经分配了等于目的地地址的UD 210IP地址。结果,假设没有IP地址冲突,UD 210可以根据目的地地址来确定该分组是与电话服务(SP-1)、视频服务(SP-2)还是与基本因特网服务(SP-3)相关并且相应地对其进行处理。为了向服务提供商发送数据,UD 210仅需要将符合分组的感兴趣的服务类型的相关SP的地址选择作为该分组的目的地地址。

UD 210、GW 230和SP-1可以形成专用网,其中由SP-1分配给GW 230和UD 210的地址能够在这些节点之间路由数据分组,因为这样的地址在专用IP域内是唯一的。两个不同的服务提供商可能不属于相同的专用网。结果,两个或更多SP可能向相同的UD 210分配相同的专用IP地址,从而导致地址之间的混淆也就是冲突。两个或更多SP也可能具有与其自己地址相同的IP地址,意味着例如SP-ADDR-2和SP-ADDR-3可以具有等同值。在另一种情形中,相同的地址可以由第一SP分配给UD并且由第二SP用作其自己的地址。这些情形将导致IP地址的冲突,致使不可能确凿地确定在UD 210和各个SP之间交换的分组的感兴趣的服务类型。将关于以下图描述的本发明的多FIB架构通过使用添加到在UD 210和任何SP之间交换的每个数据分组的附加标签而解决了IP地址之间的任何冲突。

现在参照图3a、3b和3c,它们分别示出服务类型到SP映射表800、FIB表820和路由表840,这三个表存在于用户设备内。三个表的一些内容被持久地存储在那些表中,而其它内容可以被动态地定义,这将在下面进行描述。服务类型到SP映射表800包括服务类型802,例如众所周知的因特网浏览器、商业视频观看器、电子邮件客户端应用、IP语音(VoIP)客户端等等。UD所支持的每个服务类型通常被映射到至少一个SP 804。UD的用户可以例如使用相同的视频应用从如行808和810上所示的多于一个SP选择接收电影、新闻广播以及其它类型的视频服务,行808和810这两者说明了不同的服务映射。对于映射到一个SP的每个应用,SP地址806被存储在映射表800中,从而完成服务映射808、810或812。SP地址806可以被永久地存储在映射表800中,或者可以例如通过使用动态主机配置协议(DHCP)而被动态地获得,这是本领域内众所周知的。SP地址806可以在与SP初始建立服务会话时被获得。服务映射812的示例性SP地址806的值是50.3.1.x,意味着地址范围而不是单个地址可以被用来连接到SP以访问其浏览器服务。在IP的情况下,地址范围也被称为网络地址。

UD将用于每个SP的一个FIB存储在FIB表820中。如图3b所示,FIB 826被存储用于SP-1而FIB 828被存储用于SP-3,其中SP-1和SP3也存在于映射表800中。FIB表820为每个服务映射再现SP 804和SP地址806。FIB表还包括UD的逻辑接口822,包括由SP 804提供的每服务一个逻辑接口822。形成行830、832或834的一个FIB与一个逻辑接口的组合,实际上表示一个VLAN。UD能够在其上连接的GW的地址824也是FIB的一部分。在许多情况下,GW的地址824是在初始会话建立时从GW获得的。

为了允许访问来自给定SP的服务,UD构建路由表840。路由表840再现所选择SP 804的标识以及与所选择SP 804提供的所选择服务类型802相关联的逻辑接口822。另外,添加标签846和物理接口842,该标签846有时可以被称为VLAN标签。标签846可以由UD生成或从GW接收。UD可以包括单个物理接口以用于所有其通信需要,例如无线终端的无线电连接或者计算机的以太网连接。另一个UD可以包括若干物理接口,例如蜂窝无线电接口和红外端口或者计算机的各种串行端口。路由表840的物理接口842是用于与给定SP通信的实际接口。在逻辑接口822上供UD所用的IP地址848也是路由表840的一部分。UD IP地址848通常从SP 804获得,例如作为从SP 804接收的服务响应的结果。

标签846可以采取各种形式和格式。例如,如果UD和GW之间的通信是通过使用以太网进行的,则标签846可以是根据电气与电子工程师协会(IEEE)802.3ac标准、作为对以太网帧的帧格式扩展而添加的VLAN标签。为了说明目的,VLAN标签846按照IEEE 802.3ac标准被描绘为表示4个字节的4字母串。尤其是在UD和GW之间的通信是通过与以太网不同的传输机制进行的情况下,也可以使用定义包括UD和SP的逻辑组的其它方式。为简化起见使用在一般文献中针对以太网络定义的术语VLAN标签,尽管可以使用其它传输媒介并且因而也可以使用具有不同格式的标签。

当用户希望得到对服务的访问时,他/她选择服务类型,并且如果针对该服务存在多于一个SP,则用户还选择实际的SP。例如,为从SP-1接收视频服务,用户选择例示为图3a的映射表800的服务映射808的组合。对于该视频服务,SP-1的SP地址806是50.3.1.15。这个SP地址806可以被先验获知,或者可以稍后在从SP-1接收到服务响应后被输入到映射表800中。SP-1和服务类型的这一选择使得UD指向图3b的FIB 826,因为这个FIB是针对与SP-1的连接而定义的。FIB 826内的两个不同行或VLAN能够通过使用SP-1的不同IP地址来寻址。地址50.3.1.15引起选择具有等于‘M’的逻辑接口822的行830。进而,等于‘M’的逻辑接口822在图3c的路由表840上被映射到识别端口‘K’的物理接口842、等于‘ABCD’的VLAN标签846、以及由SP-1分配给UD的等于60.3.1.10的IP地址848,这个分配要么最初要么在初始会话建立后进行。现在UD能够使用60.3.1.10作为其自己地址、50.3.1.15作为SP-1地址、通过使用等于60.3.1.1的GW地址824经过GW通过使用端口‘K’进行连接、还向每个分组添加等于‘ABCD’的VLAN标签846而与SP-1交换分组。如果另一个SP已经向这个UD分配了也等于60.3.1.10的相同IP地址,则数据分组能够通过使用存在于与该另一SP交换的分组中的不同标签加以区分。

为了描述图2a的GW 230、SP 250和UD 210如何协作来建立和使用VLAN和服务映射,现在参照图4,图4示出根据本发明一方面的在用户设备和多个服务提供商之一之间交换数据分组的方法。一个给定UD 210已提出从一个选择的SP 250获得选择的服务类型的请求,该请求已传送通过GW 230。SP 250已经向UD 210以及GW 230分配了地址,例如IP地址。

该方法始于步骤310,其中建立逻辑组以识别获得服务的UD 210和提供该服务的SP 250。被定义来使UD 210与SP 250相关的逻辑组包括服务映射、相关联标签以及FIB。服务映射包括SP 250提供给UD210的服务类型、SP 250的标识、以及SP 250的地址。FIB包括SP 250的地址、SP 250分配给UD 210的地址、为连接到UD 210而分配给GW230的地址、以及UD 210的逻辑接口的识别。GW 230通知UD 210在FIB中包含的地址。同时,由UD 210或GW 230创建标签并且这些节点中创建标签的这个节点通知另一节点。在步骤320,在UD 210和SP250之间交换数据分组,该数据分组传送通过GW 230。数据分组可以是源自UD 210的将向SP 250发送的上行(upstream)分组。可替换地,数据分组可以是源自SP 250、到达GW 230的将向UD 210转发的下行(downstream)分组。对于上行分组由UD 210或者对于下行分组由GW 230把识别逻辑组的标签添加到数据分组,从而提供数据分组内服务映射的指示。优选地,标签是插入到在UD 210和GW 230之间交换的数据帧的介质访问控制(MAC)层中的VLAN标签。在步骤330,由接收点从数据帧中提取标签,如果这是下行分组的话该接收点是UD210,如果这是上行分组的话该接收点是GW 230。通过使用标签,即使当不同逻辑组中定义的不同SP共享等同地址时或者当不同逻辑组中定义的不同SP已经向UD 210分配了等同地址时,接收点也能够识别数据分组与哪个服务类型和SP 250相关。

图5示出根据本发明一些方面的多FIB表400的示例性内容。多FIB表400被设计来克服地址冲突。在图5的示例性实施例中示出IP地址,但是本发明也可以有利地应用于使用其它地址类型例如电话号码、统一资源定位符(URL)、会话描述协议(SDP)会议号、异步传输模式(ATM)地址、网间分组交换(IPX)地址等等的情况。因为SP分配给UD和GW的IP地址可能是专用的,所以它们可能不是唯一的。因而,可能发生定义为向两个不同实体分配相同地址值的地址冲突。多FIB表400优选地由GW生成并存储在GW中。示例性多FIB表400包括以下列:第一列包括VLAN标签410。第二列包括由SP分配给UD的IP地址,在此被标识为USER-ADDR 420。第三列包括由SP分配给GW的用于GW和UD之间的通信的地址,在此被标识为GW-UD-ADDR 430。第四列包括由SP分配给GW的用于GW和SP之间的通信的更多地址,被标识为GW-SP-ADDR 470。第五列包括用于GW到SP的连接的采用端口标识形式的GW的逻辑接口440。第六列列出SP的地址,在此被标识为SP-ADDR 450。在GW-SP-ADDR 470和SP-ADDR 450是公共IP地址的情况下,可以省略逻辑接口440。地址的格式能够依照众所周知的网际协议版本4(IPv4)或网际协议版本6(IPv6)标准。也可以使用除了IP地址之外的其它地址类型。VLAN标签的格式可以依照IEEE 802.3ac标准,或者可以采取从GW的观点来看唯一识别给定UD和给定SP之间的关系的任何其它形式。

除标题行459之外的VLAN表400的每一行识别从GW的观点来看是实际的VLAN。一个VLAN包括一个VLAN标签410和一个FIB460,该FIB 460包括一个USER-ADDR 420、一个GW-UD-ADDR 430、一个GW-SP-ADDR 470、一个逻辑接口440以及一个SP-ADDR 450。虽然仅示出一些行,但是多FIB表400通常将包括数目大很多的行,例如数千行。行451示出为与一个SP通信的第一UD定义的VLAN。SP具有等于50.3.1.5的SP-ADDR 450。GW通过使用端口A连接到SP。在初始会话建立时,SP向GW以及第一UD分配IP地址。GW获得等于60.3.1.1的GW-UD-ADDR 430以及等于50.3.1.22的GW-SP-ADDR460,而第一UD获得等于60.3.1.10的USER-ADDR 420。VLAN标签410被分配以唯一地识别VLAN。所示的VLAN标签410具有值‘ABCD’。

行452示出与通过相同GW从与行451中所示的相同SP获得服务的第二UD相关的另一个VLAN。如此,行452上SP的SP-ADDR 450具有与行451上相同的值,其为50.3.1.15。因为SP和GW之间存在相同的关系,所以行452中的GW-UD-ADDR 430和GW-SP-ADDR 470值与行451中的相同,并且端口A也用来将GW连接到SP。该相同SP通常向该第二UD分配不同的专用IP地址,所以行452的USER-ADDR 420值与行451的不同。等于‘KLMN’的VLAN标签410被分配给行452的VLAN。

作为多FIB表400如何可以用来克服IP地址冲突的示例,第三UD从另一个SP获得服务。在行453的示例中,该另一SP向GW分配GW-UD-ADDR 430,该GW-UD-ADDR 430与行451和452中分配的GW-UD-ADDR 430冲突。GW-UD-ADDR 430值之间的冲突由于如下事实而得以克服:在图5的示例中不同逻辑接口440(端口B)和等于50.3.11.14的不同GW-SP-ADDR 470被用来将GW连接到该SP。SP向第三UD分配也与行451的USER-ADDR 420冲突的USER-ADDR 420。然而,等于‘WXYZ’的VLAN标签410被分配给行453的VLAN。行451和453的两个FIB 460包括分配给相同GW的等同GW-UD-ADDR 430以使用不同端口来连接UD与两个不同SP。这两个FIB 460还包括分配给不同UD的等同IP地址420。然而,不同VLAN标签410允许完全区分两个VLAN。当源IP地址等于60.3.1.10的USER-ADDR 420的上行分组到达GW时,GW能够通过使用包括在上行分组中的等于‘WXYZ’的VLAN标签410而很容易将第三UD与第一UD识别分开,尽管它们使用等同IP地址。

作为多FIB表400如何可以用来克服IP地址冲突的另一个示例,第一UD在从一个SP获得了服务而引起行451的VLAN的建立后从另一个SP获得服务。该另一SP具有等于50.3.1.17的IP地址。在行455上创建VLAN,其中SP的IP地址被存储为SP-ADDR 450。SP向GW分配等于60.3.1.1的GW-UD-ADDR 430和等于50.3.1.50的GW-SP-ADDR 470(所述GW进而选择端口D),并且向第一UD分配等于60.3.1.10的USER-ADDR 420;这些地址和端口也被存储在行455上。在这个示例中,相同UD已经被从两个不同SP分配了相同IP地址值,如行451和455上所示。若不利用本发明,第一UD可能混淆进入的下行分组,因为它不知道该分组与哪个服务相关。等于‘EFGH’的VLAN标签410被添加到行455的VLAN。按照本发明,当下行分组从SP之一到达GW 430时,GW 430添加其值为‘ABCD’或‘EFGH’的VLAN标签410,这就使该第一UD与分组所源自的SP相关。现在包括VLAN标签410的该分组被转发到UD。UD使用存在于进入的下行分组中的VLAN标签410来识别发端SP,从而也识别与分组相关的服务的类型。

现在将参照图6来描述完整的服务建立,图6是示出根据本发明其它方面的在用户设备和服务提供商之间的数据分组交换的顺序图。图6所示的事件涉及图2a的三重播放网络200的节点。图2a的AN 220和RN 240透明地转发消息和分组,并且因而未示于图6上。该过程始于步骤500,其中UD 210通常遵照用户命令向选择的SP 250发送服务请求,请求建立服务会话。至少部分根据用户所选择的服务类型来做出SP 250的选择,如图3a、3b和3c的前面描述中所讨论的。UD 210具有能够处理在服务请求中指示的服务类型的虚拟路由器协议栈。该服务请求通常传送通过GW 230,但是这可以以透明的方式发生。在步骤502,SP 250进行内部检查以验证UD 210被授权访问该服务、资源可用等等。在步骤504,SP 250向UD 210分配IP地址以及向GW 230分配两个IP地址,如关于图5的多FIB表400所描述的。如果另一个UD与相同SP 250之间的服务会话中已经涉及相同的GW 230,则向GW 230分配IP地址可以不是必需的,在这种情况下它已经具有SP 250分配的IP地址。在步骤506,作为服务响应的一部分,SP 250将分配给UD 210和GW 230的IP地址连同其自己的IP地址一起发送。

为了填充图5的多FIB表400,GW 230可以在步骤508拦截服务响应。在这种情况下,GW 230存储服务会话的FIB 460内容。分配给UD 210的IP地址被存储在列420中,分配给GW 230的IP地址被存储在列430和470中,用于GW 230和SP 250之间的通信的端口被识别并存储在列440中,而SP 250的IP地址被存储在列450中,所有都在相同行上。GW 230也可以把唯一的VLAN标签分配在相同行的列410中,从而完成该服务会话的VLAN。GW 230然后向UD 210转发服务响应,在服务响应内已添加了VLAN标签(如果由GW 230创建的话)。对步骤508可替换地,步骤506的服务响应可以透明地传过GW 230。在这种情况下,UD 210还在步骤510向GW 230发送产生FIB 460的请求,该请求包括UD 210所生成的VLAN标签和IP地址。GW 230在步骤512以FIB 460被产生的指示进行应答。例如通过在步骤500让UD 210生成VLAN标签以及将其插入服务请求中,步骤500-512的顺序可以被稍微修改。在这种情况下,GW 230将优选地在转发服务请求到SP 250之前存储VLAN标签。步骤500-512的确切顺序因而可以具体改变而不偏离本发明的精神。

相同或其它UD可以与相同或其它SP以如上文描述的相同方式建立服务会话。这样的其它事件未示于图6上,但是将引起在图5的多FIB表400上创建更多VLAN。

在步骤514,SP 250在下行方向上通过GW 230向UD 210发送数据分组。除了与SP 250提供的服务类型相关的有效载荷之外,分组还包括等于SP 250的自身IP地址的源地址以及等于SP 250分配给UD210的IP地址的目的地地址。在包括由SP 250分配给GW 230用于其间通信的IP地址的路由上发送下行分组,该分组到达由GW 230选择的逻辑接口或端口以用于与SP 250通信。在步骤516,GW 230通过将在其上接收到下行分组的逻辑接口以及源IP地址和目的地IP地址与多FIB表400内的一行的FIB 460内容进行匹配而从多FIB表400中选择VLAN。GW 230将来自匹配行的VLAN标签添加到下行分组。在步骤518,下行分组被从GW 230转发到UD 210。在步骤520,UD 210通过在提取有效载荷之前使用VLAN标签来识别SP 250且将分组内部路由到适于处理所选择服务类型的虚拟路由器协议栈来处理该分组。VLAN标签被用来定位图3c的路由表840,从而指向图3b的FIB表820的FIB和VLAN以及还指向图3a的映射表800的正确服务映射。在表800中识别服务类型802,所以该有效载荷能够由正确的虚拟路由器协议栈来处理。

可能存在其中UD 210享受来自两个不同SP 250的具有相同类型的两个并行服务的事件。例如,可能存在以下情况,其中UD 210实际上包括两个IPTV接收机,每个接收机具有其自己的虚拟栈以用于并行接收两个单独的视频节目。通过使用VLAN标签,UD 210能够完全区分两个服务提供并且基于服务类型和SP 250的标识正确地路由每个分组到正确的虚拟栈。

尽管两个不同UD 210可能已经被不同的SP 250分配了等同的IP地址,其将会被指定为从SP 250接收的下行分组中的目的地地址,但是GW 230在步骤516通过使用接收到下行分组的逻辑接口以及源和目的地IP地址而从其多FIB表400中恰当地识别正确的VLAN。同样,在其中相同UD 210已经被两个不同SP 250分配了等同IP地址的情况下,UD 210将能够在步骤520通过使用VLAN标签使下行分组的有效载荷与正确的服务会话相关。

在步骤522,UD 210向GW 230发送打算去往SP 250的上行分组。该上行分组包括与UD 210正在与这个特定SP 250进行的服务会话相关的VLAN标签。具体地,VLAN标签提供关于UD 210正在使用哪个虚拟路由器协议栈来发送上行分组的指示。在步骤524,GW 230使用VLAN标签来识别多FIB表400中的正确VLAN,从而确保即使在两个不同UD 210共享相同的专用IP地址的情况下上行分组也被转发到正确的SP 250。

现在将参照图7来描述先前图中所使用的用户设备的示例性构造,图7示出根据本发明构建的示例性用户设备。示例性UD包括被标识为服务单元610、620和630的三个服务单元,其例如可以分别用于VoIP、IPTV和普通因特网应用。本领域技术人员将会很容易意识到UD可以包括任何数目的服务单元并且可以适于处理各种类型设备所感兴趣的任何类型的有效载荷和任何种类的应用。服务单元610、620和630均实施用于它们实施的服务类型的虚拟路由器协议栈。UD还包括输入/输出(I/O)端口640、存储器650和服务选择器660。存储器650存储图3a、3b和3c的映射表800、FIB表820以及路由表840。存储器650是非易失性存储器或永久存储器,其能够被电擦除和再编程并且可以被实施为例如闪存或数据存储模块。

在一些实施例中包括用于接收和发送信号的两个不同端口的I/O端口640通过GW、可能通过AN 220与SP通信。I/O端口640可以支持各种类型的物理连接,诸如蜂窝无线电、WLAN、蓝牙TM、同轴电缆、双绞铜线、第5类电缆等等。I/O端口640支持分组通信,例如发送和接收IP数据报。

当UD的用户希望发起与所选择SP的给定服务类型的服务会话时,他/她在用户接口(未示出)上输入命令。该用户接口调用相关服务单元610、620或640,其格式化服务请求消息并且将其转发到服务选择器660。服务选择器660然后查阅存储器650中的映射表800,使用选择的SP从SP标识804列表中进行读取以及使用选择的服务类型从服务类型802列表中进行读取,从而选择一个服务映射。在一些情况下,UD仅知道一个SP支持给定服务类型;在这样的情况下,用户将仅选择给定服务类型并且将不需要选择SP,因为服务类型在映射表800的一个服务映射内将是唯一的。服务选择器660请求I/O端口640发送包括所选择SP和所请求服务类型这两者的指示的服务请求。服务请求到达SP的方式可能涉及本领域内众所周知的SP的地址解析,该方式在本发明的范围之外。I/O端口640然后接收服务响应,该服务响应包括服务会话的地址信息并且如果VLAN标签由GW定义的话则可选地包括VLAN标签。I/O端口640转发服务响应到服务选择器660。如果未从GW接收到,则服务选择器660可以自主生成VLAN标签。所接收的地址信息包括服务选择器660在映射表800中和在FIB表820中存储的SP的地址。地址信息还包括服务选择器660在FIB表820中存储的GW的地址。地址信息还包括SP分配给UD的地址,服务选择器660将该地址作为UD IP地址848存储在路由表840中。最后,服务选择器660定义被用来将路由表840与FIB表820的行(其中SP地址806和GW地址824被存储用于当前服务会话)所识别的VLAN联系起来的逻辑接口822的值。当然,在映射表800中仅有一个服务映射匹配与逻辑接口822相关的服务提供商标识804和地址806。服务选择器660还通知适当的服务单元610、620或630(这取决于哪个能够处理该服务类型):包含在FIB中的IP地址和可能适合于建立服务会话的服务响应的任何内容。

当下行数据分组到达I/O端口640时,I/O端口640将分组转发到服务选择器660。服务选择器从分组中提取VLAN标签并且将其用作存储器650的路由表840中的指针以读取逻辑接口822,其进而与FIB表820的FIB联系起来以提供SP地址806和SP标识804。服务选择器660然后通过使用SP地址806和SP标识804来读取映射表800的相关服务映射中的服务类型802。通过除分组中包括的任何源地址、目的地地址和端口信息之外还考虑来自分组的VLAN标签,服务选择器660实际上实现了多FIB实施方式,由此通过使用VLAN标签值来选择在服务单元610、620和630中实施的虚拟路由器协议栈之一。通过使用VLAN标签从存储器650获得服务类型后,服务选择器660根据服务类型和服务提供商标识将分组中包括的任何有效载荷转发到适当的服务单元610、620或630。

当服务单元610、620或630之一有数据要发送到该单元与其正在进行服务会话的SP时,服务单元准备有效载荷(包括对会话的服务类型和SP标识的指示),并且将其发送到服务选择器660。服务选择器660使用服务类型802和SP标识804作为指针来从存储器650读取服务映射,从而导向FIB中的VLAN、进一步导向逻辑接口,然后导向VLAN标签。服务选择器660然后将VLAN标签添加到有效载荷以形成完整的上行分组并且请求I/O端口640将该分组发送到SP。

现在参照图8来描述先前图中所使用的网关的示例性构造,图8示出用于支持本发明的示例性网关。GW包括用于一方面与SP通信而另一方面与UD通信的端口。根据底层传输技术以及AN 220或RN 240的存在,可以有许多将GW与每个SP或与每个UD连接的不同物理端口。可替换地,给定物理端口可以复用在GW与若干SP或UD之间交换的数据流以支持多个逻辑端口。图8的GW因而包括多个用户侧I/O端口720和多个服务器侧I/O端口710,这些各种I/O端口要么是物理端口要么是逻辑端口。用户侧I/O端口720将GW连接到UD,而服务器侧I/O端口710将GW连接到SP。GW还包括处理器730和图5的前面描述中所介绍的多FIB表400。

处理器730使用例如在服务器侧I/O端口710处接收的服务响应消息中包含的信息来填充多FIB表400中的行内容。在特定的物理或逻辑端口上接收服务响应,该特定的物理或逻辑端口作为GW逻辑接口440被存储在多FIB表400中。服务响应包括被存储为SP-ADDR 450的源地址、被存储为USER-ADDR 420的目的地地址、以及由SP分配给GW 240的作为GW-UD-ADDR 430和GW-SP-ADDR 470的地址,所有都在相同行上。GW-UD-ADDR 430与用户侧I/O端口720联系起来,并且GW-SP-ADDR 470与服务器侧I/O端口710联系起来,这些端口被用于与服务响应相关的服务会话。处理器730还可以生成在GW内优选唯一的VLAN标签,并且将其存储为多FIB表400中的VLAN标签410。在多FIB表430的行中存储了定义性相关地址以及可选地VLAN标签410后,处理器730添加VLAN标签到服务响应内容并且请求用户侧I/O端口720将服务响应转发到UD。如果GW没有定义VLAN标签410,则用于存储为VLAN标签410的值可以从UD在用户侧I/O端口720上被接收并且被存储在多FIB表400中。

当与服务会话相关的下行数据分组在特定物理或逻辑端口上到达服务器侧I/O端口710时,处理器730将该特定物理或逻辑端口与多FIB表400的内容进行匹配以定位包含用于该会话的VLAN定义的行。因为在多FIB表400中可能存在具有相同逻辑接口440的多个行,所以包含在下行数据分组中的源地址和目的地地址可以进一步用来唯一地识别包含正确VLAN定义的行。处理器730将来自该行的VLAN标签410添加到下行数据分组并且请求用户侧I/O端口720将其转发到UD。当上行数据分组到达用户侧I/O端口720时,处理器730从分组中提取VLAN标签并且使用它来匹配包含具有相同值的VLAN标签410的行。处理器从而识别所感兴趣的包括GW逻辑接口400的FIB,并且请求服务侧I/O端口710通过使用GW逻辑接口400来转发上行数据分组。

尽管在附图中图示了并且在前面的具体实施方式中描述了本发明的方法和用户设备的优选实施例的若干方面,但是要理解本发明不限于所公开的实施例,而是能够进行众多重新布置、修改和替换而不偏离所附权利要求所阐述和定义的本发明的精神。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号