CN118285106A - 针对网络辅助公布-订阅系统的优化SRv6组播 - Google Patents
针对网络辅助公布-订阅系统的优化SRv6组播 Download PDFInfo
- Publication number
- CN118285106A CN118285106A CN202180104386.9A CN202180104386A CN118285106A CN 118285106 A CN118285106 A CN 118285106A CN 202180104386 A CN202180104386 A CN 202180104386A CN 118285106 A CN118285106 A CN 118285106A
- Authority
- CN
- China
- Prior art keywords
- multicast
- stream
- network
- tree
- information
- 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
- 230000005540 biological transmission Effects 0.000 claims abstract description 253
- 238000000034 method Methods 0.000 claims abstract description 27
- 230000004044 response Effects 0.000 claims description 9
- 238000004891 communication Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 12
- 230000008569 process Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 230000001413 cellular effect Effects 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/64—Addressing
- H04N21/6405—Multicasting
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/16—Multipoint routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/262—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
- H04N21/26275—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists for distributing content or additional data in a staggered manner, e.g. repeating movies on different channels in a time-staggered manner in a near video on demand system
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/34—Source routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/76—Routing in software-defined topologies, e.g. routing between virtual machines
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Databases & Information Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
在用于实现针对网络辅助发布‑订阅系统的SRv6组播的系统、装置、方法和非暂态计算机可读介质中,可以使源主机设备从软件定义网络(SDN)控制器获得组播调度信息,该组播调度信息包括与网络相关联的多个组播树相关的信息,多个组播树中的每个组播树包括至少一个网络节点,以及基于组播调度信息,使用组播组会话树将与源组播流传输相关联的多个多流组播传输传输到多个目的地主机设备,所述组播组会话树与期望的组播组相关联,所述组播组包括源主机设备和多个目的地主机设备。
Description
背景技术
技术领域
各种示例性实施例涉及针对网络辅助发布-订阅系统提供IPv6分段路由(SRv6)组播的方法、装置、系统和/或非暂态计算机可读介质。
相关技术描述
随着第5代移动网络(5G)网络和其他高速网络的部署,支持网络的设备和/或应用日益增多,例如物联网(IoT)设备、自主设备、工业传感器、支持网络的医疗设备、流式音频/视频应用、视频会议应用、IP语音(VOIP)应用等。随着联网设备和传感器数目的大量增加,通过网络传输的数据也相应增加,特别是需要严格服务质量(QoS)的数据,如超低延时、高可靠性等,和/或大规模扩展等。因此,提出了一种网络辅助发布-订阅架构,其中一个或多个目的地主机设备(如边缘设备、边缘网络节点、目的地节点等)"订阅"由源主机设备(如源设备、源网络节点、源节点等)使用SRv6组播标准"发布"的组播流。
在SRv6组播标准中,组播组是在期望和/或预定义的组播树上创建的,SRv6源主机设备和/或软件定义网络(SDN)控制器通过将分段列表(例如,与SRv6组播树的中间网络节点对应的SRv6地址列表)嵌入到组播分组的SRv6头部,来控制组播分组(例如,组播流)的路由路径,并由此处理复杂的计算和大量与树相关的数据,以实现针对组播传输的流量工程和/或QoS组播路由,而不需要有中间(例如内部)网络节点执行额外的处理。当SRv6组播分组遍历组播树网络时,它会沿着分组头部的分段列表中标识的分段网络路径转发到组播树的下一个网络节点,然后从分段列表中移除每个访问过的网络节点的SRv6地址。如果在分段列表中遇到任何复制分段,SRv6网络节点可基于下游路径列表复制SRv6组播分组,并将复制后的分组转发到其适当的网络路径/目的地,从而实现点对多点传输。
发明内容
至少一个示例性实施例涉及源主机设备。
在至少一个示例性实施例中,设备可以包括:存储计算机可读指令的存储器;以及处理电路,被配置为执行所述计算机可读指令以使所述设备:从软件定义网络(SDN)控制器获得组播调度信息,所述组播调度信息包括与网络相关联的多个组播树相关的信息,所述多个组播树中的每个组播树包括至少一个网络节点,以及基于组播调度信息,使用组播组会话树将与源组播流传输相关联的多个多流组播传输传输到多个目的地主机设备,所述组播组会话树与期望的组播组相关联,所述组播组包括源主机设备和多个目的地主机设备。
一些示例性实施例规定,组播调度信息包括与多个组播树的每个网络节点相关联的传输带宽信息,以及指示每个目的地主机设备订阅的多个组播树中的单个组播树的树订阅信息;组播组会话树包括从源主机设备到多个目的地主机设备中的每个目的地主机设备的多个分段网络路径;并且多个分段网络路径中的每个分段网络路径基于传输带宽信息和树订阅信息而被确定。
一些示例性实施例规定,组播调度信息包括关于组播组会话树的信息,所述组播组会话树由SDN控制器基于组播调度信息从多个组播树确定。
一些示例性实施例规定,所述设备还被使得:基于所述组播调度信息,从所述多个组播树确定所述组播组会话树。
一些示例性实施例规定,所述设备还被使得通过以下方式传输所述多个多流组播传输:基于所述组播调度信息将所述源组播流传输划分成B个多流组播传输,其中B是大于1的整数。
一些示例性实施例规定,所述设备还被使得通过以下方式传输所述多个多流组播传输:使用所述组播组会话树的到多个目的地主机设备中的每个目的地主机设备的不同分段网络路径,将所述B个多流组播传输中的每一个多流组播传输传输到所述多个目的地主机设备中的每个目的地主机设备。
一些示例性实施例规定,将所述B个多流组播传输中的每个多流组播传输传输到所述多个目的地主机设备中的每个目的地主机设备使目的地主机设备中的每个目的主机设备:从所述源主机设备接收所述B个多流组播传输;以及从接收到的B个多流组播传输中恢复所述源组播流传输。
一些示例性实施例规定,所述设备还被使得通过以下方式传输所述多个多流组播传输:使用编解码参数将所述B个多流组播传输编解码为C个子流传输,其中C>B;以及使用不同分段网络路径将所述C个子流传输中的任意N个不同子流传输传输到所述多个目的地主机设备中的每个目的地主机设备,其中N≥B且N≤C。
一些示例性实施例规定,所述设备还被使得:从所述SDN控制器接收所述编解码参数,所述编解码参数包括只指示使用Fountain码编解码还是Raptor码编解码的信息、B的值和C的值;以及基于接收到的所述编解码参数,执行所述B个多流组播传输到所述C个子流传输的编解码。
一些示例性实施例规定,所述设备还被使得:确定所述编解码参数,所述确定包括确定使用Fountain码编解码还是Raptor码编解码、确定B的值以及确定C的值;以及基于所确定的编解码参数,执行所述B个多流组播传输到所述C个子流传输的编解码。
一些示例性实施例规定,将所述N个不同子流传输传输到所述多个目的地主机设备中的每个目的地主机设备使所述目的地主机设备中的每个目的地主机设备:接收至少B个子流;基于所述N个子流传输的分组头部中包括的编解码参数信息,解码所述B个多流组播传输;以及从解码后的B个多流组播传输恢复所述源组播流传输。
至少一个示例性实施例涉及一种软件定义网络(SDN)控制器设备。
在至少一个示例性实施例中,所述设备可以包括:存储计算机可读指令的存储器;以及处理电路,被配置为执行所述计算机可读指令以使所述设备,获得与网络的多个主机设备相关的拓扑信息、链路容量信息和组播组信息,基于所述拓扑信息、所述链路容量信息和所述组播组信息,确定与至少一个组播组相关联的组播调度信息,所述组播调度信息包括,与所述网络相关联的多个组播树相关的信息,所述多个组播树中的每个组播树包括至少一个网络节点,与所述多个组播树的每个网络节点相关联的传输带宽信息,以及树订阅信息,指示每个主机设备订阅的所述多个组播树中的单个组播树,以及将所述组播调度信息的至少一部分传输到所述网络的主机设备中的每个主机设备。
一些示例性实施例规定,所述设备还被使得,针对所述多个组播树中的每个组播树:基于所述传输带宽信息和所述树订阅信息,确定所述组播树的每个主机设备之间的多个分段网络路径;以及基于确定出的多个分段网络路径,配置所述组播树中包括的每个网络节点。
一些示例性实施例规定,所述设备还被使得:从源主机设备接收多流组播传输请求,多流请求包括与源组播流传输和所述组播组信息相关的信息;以及响应于所述多流组播传输请求确定所述组播调度信息,所述确定包括:基于与所述源组播流传输相关的信息和指示期望的组播组的信息,从所述多个组播树确定组播组会话树。
一些示例性实施例规定,所述设备还被使得:确定指示将所述源组播流传输划分成的多流组播传输的数目的值B,其中B是大于1的整数。
一些示例性实施例规定,所述设备还被使得:响应于所述多流组播传输请求,确定针对所述源组播流传输的编解码参数,所述确定所述编解码参数包括,确定针对所述多流组播传输的编解码是使用Fountain码编解码还是Raptor码编解码;以及确定指示将所述源组播流传输划分成的多流组播传输的数目的值B,以及确定指示将所述B个多流组播传输划分成的子流传输的数目的值C,其中B和C为大于1的整数,且C>B。
至少一个示例性实施例涉及一种操作源主机设备的方法。
在至少一个示例性实施例中个,所述方法可以包括:从软件定义网络(SDN)控制器获得组播调度信息,所述组播调度信息包括与网络相关联的多个组播树相关的信息,所述多个组播树中的每个组播树包括至少一个网络节点,以及基于所述组播调度信息,使用组播组会话树将与源组播流传输相关联的多个多流组播传输传输到多个目的地主机设备,所述组播组会话树与期望的组播组相关联,所述组播组包括所述源主机设备和所述多个目的地主机设备。
一些示例性实施例规定,所述组播调度信息包括与所述多个组播树的每个网络节点相关联的传输带宽信息,以及指示每个目的地主机设备订阅的所述多个组播树中的单个组播树的树订阅信息;所述组播组会话树包括从所述源主机设备到所述多个目的地主机设备中的每个目的地主机设备的多个分段网络路径;并且多个分段网络路径中的每个路径基于所述传输带宽信息和所述树订阅信息而被确定。
一些示例性实施例规定,所述组播调度信息包括关于所述组播组会话树的信息,所述组播组会话树由SDN控制器基于所述组播调度信息从所述多个组播树确定。
一些示例性实施例规定,所述方法还包括:基于所述组播调度信息,从所述多个组播树确定所述组播组会话树。
至少一个示例性实施例涉及源主机设备。
在至少一个实施例中,所述设备可以包括用于以下的部件:从软件定义网络(SDN)控制器获得组播调度信息,所述组播调度信息包括与网络相关联的多个组播树相关的信息,所述多个组播树中的每个组播树包括至少一个网络节点,以及基于所述组播调度信息,使用组播组会话树将与源组播流传输相关联的多个多流组播传输传输到多个目的地主机设备,所述组播组会话树与期望的组播组相关联,所述组播组包括所述源主机设备和所述多个目的地主机设备。
一些示例性实施例规定,所述组播调度信息包括与所述多个组播树的每个网络节点相关联的传输带宽信息,以及指示每个目的地主机设备订阅的所述多个组播树中的单个组播树的树订阅信息;所述组播组会话树包括从所述源主机设备到所述多个目的地主机设备中的每个目的地主机设备的多个分段网络路径;以及多个分段网络路径中的每个路径基于所述传输带宽信息和所述树订阅信息而被确定。
一些示例性实施例规定,所述组播调度信息包括所述组播组会话树的信息,所述组播组会话树由SDN控制器基于所述组播调度信息从所述多个组播树确定。
一些示例性实施例规定,所述设备还包括用于以下的部件:基于所述组播调度信息,从所述多个组播树确定所述组播组会话树。
一些示例性实施例规定,所述设备还包括用于通过以下方式传输所述多个多流组播传输的部件:基于所述组播调度信息将所述源组播流传输划分成B个多流组播传输,其中B是大于1的整数。
一些示例性实施例规定,所述设备还包括用于通过以下方式传输所述多个多流组播传输的部件:使用所述组播组会话树的到所述多个目的地主机设备中的每个目的地主机设备的不同分段网络路径,将所述B个多流组播传输中的每个多流组播传输传输到所述多个目的地主机设备中的每个目的地主机设备。
一些示例性实施例规定,将所述B个多流组播传输中的每个多流组播传输传输到所述多个目的地主机设备中的每个目的地主机设备使所述目的地主机设备中的每个目的地主机设备:从所述源主机设备接收所述B个多流组播传输;以及从接收到的B个多流组播传输中恢复所述源组播流传输。
一些示例性实施例规定,所述设备还包括用于通过以下方式传输所述多个多流组播传输的部件:使用编解码参数将所述B个多流组播传输编解码为C个子流传输,其中C>B;以及使用不同的分段网络路径将所述C个子流传输中的任意N个不同子流传输传输到所述多个目的地主机设备中的每个目的地主机设备,其中N≥B且N≤C。
一些示例性实施例规定,所述设备还包括用于以下的部件:从所述SDN控制器接收所述编解码参数,所述编解码参数包括指示使用Fountain码编解码还是Raptor码编解码的信息、B的值和C的值;以及基于接收到的所述编解码参数,执行所述B个多流组播传输到所述C个子流传输的编解码。
一些示例性实施例规定,所述设备还包括用于以下的部件:确定所述编解码参数,所述确定包括确定使用Fountain码编解码还是Raptor码编解码、确定B的值以及确定C的值;以及基于确定出的所述编解码参数,执行所述B个多流组播传输到所述C个子流传输的编解码。
一些示例性实施例规定,将所述N个不同的子流传输传输到所述多个目的地主机设备中的每个目的地主机设备使所述目的地主机设备中的每个设备:接收至少B个子流;基于所述N个子流传输的分组头部中包括的编解码参数信息,解码所述B个多流组播传输;以及从解码后的B个多流组播传输恢复所述源组播流传输。
至少一个示例性实施例涉及软件定义网络(SDN)控制器设备。
在至少一个示例性实施例中,所述设备可以包括用于以下的部件:获得与网络的多个主机设备相关的拓扑信息、链路容量信息和组播组信息,基于所述拓扑信息、所述链路容量信息和所述组播组信息,确定与至少一个组播组相关联的组播调度信息,所述组播调度信息包括,与所述网络相关联的多个组播树相关的信息,所述多个组播树中的每个组播树包括至少一个网络节点,与所述多个组播树的每个网络节点相关联的传输带宽信息,以及树订阅信息,指示每个主机设备订阅的所述多个组播树中的单个组播树,以及将至少部分所述组播调度信息传输到所述网络的每个所述主机设备。
一些示例性实施例规定,所述设备还包括用于以下的部件,针对所述多个组播树中的每个组播树:基于所述传输带宽信息和所述树订阅信息,确定所述组播树的每个主机设备之间的多个分段网络路径;以及基于所确定的多个分段网络路径,配置所述组播树中包括的每个网络节点。
一些示例性实施例规定,所述设备还包括用于以下的部件:从源主机设备接收多流组播传输请求,多流请求包括与源组播流传输和所述组播组信息相关的信息;以及响应于所述多流组播传输请求确定所述组播调度信息,所述确定包括:基于与所述源组播流传输相关的信息和指示期望的组播组的信息,从所述多个组播树确定组播组会话树。
一些示例性实施例规定,所述设备还包括用于以下的部件:确定指示将所述源组播流传输划分成的多流组播传输的数目的值B,其中B是大于1的整数。
一些示例性实施例规定,所述设备还包括用于以下的部件:响应于所述多流组播传输请求,确定针对所述源组播流传输的编解码参数,所述确定所述编解码参数包括,确定针对所述多流组播传输的编解码是使用Fountain码编解码还是Raptor码编解码;以及确定指示将所述源组播流传输划分成的多流组播传输的数目的值B,以及确定指示将所述B个多流组播传输划分成的子流传输的数目的值C,其中B和C为大于1的整数,且C>B。
附图说明
说明书附图包含在说明书中并构成说明书的一部分,示出了一个或多个示例性实施例,并与说明书一起解释了这些实施例。在图中:
图1示出了根据至少一个示例性实施例的组播通信系统;
图2示出了根据至少一个示例性实施例的示例性网络设备的框图;
图3示出了根据至少一个实施例的示例性组播网络;
图4示出了根据至少一个示例性实施例的与图3的组播网络对应的示例性单流组播树;
图5示出了根据至少一个示例性实施例的与图3的组播网络对应的示例性多流组播树;
图6A和图6B示出了根据一些实施例的组播流和经编解码的多流组播树的示例性编解码;以及
图7至图8示出了根据一些示例性实施例的示例性流程图。
具体实施方式
现在将参考附图对各种示例性实施例进行更全面的描述,在附图中示出了一些示例性实施例。
本文公开了详细的示例性实施例。然而,本文公开的具体结构和功能细节仅为描述示例性实施例的目的而具有代表性。然而,示例性实施例可以以多种替代形式体现,不应被理解为仅限于本文所阐述的示例性实施例。
可以理解的是,尽管本文可能使用术语"第一"、"第二"等来描述各种元素,但这些元素不应受到这些术语的限制。这些术语只是用来区分一个元素和另一个元素。例如,第一元素可称为第二元素,类似第,第二元素也可称为第一元素,而不背离示例性实施例的范围。如本文所使用的,术语"和/或"包括一个或多个相关联的所列项目的任何及所有组合。
可以理解的是,当元件被称为"连接"或"耦合"到另一个元件时,它可以直接连接或耦合到另一个元件,也可以存在中间元件。相反,当一个元件被称为"直接连接"或"直接耦合"到另一个元件时,不存在中间元件。用于描述元件之间关系的其他词语也应作类似解释(例如,"之间"与"直接之间"、"相邻"与"直接相邻"等)。
本文使用的术语仅用于描述特定实施例,无意限制示例性实施例。如本文所使用的,单数形式的"一(a)"、"一(an)"和"该(the)"旨在也包括复数形式,除非上下文另有明确说明。应进一步理解的是,本文中使用的术语"包括(comprises)"、"包括(comprising)"、"包含(includes)"和/或"包含(including)"指明了所述特征、整数、步骤、操作、元素和/或部件的存在,但并不排除存在或添加一个或多个其他特征、整数、步骤、操作、原件、部件和/或其群组。
还应注意的是,在一些替代实现方式中,所指出的功能/动作可能不按图中指出的顺序执行。例如,连续示出的两幅图实际上可能基本上同时执行,或者有时可能以相反的顺序执行,这取决于所涉及的功能/动作。
以下描述中提供了具体细节,以提供对示例性实施例的透彻理解。然而,本领域普通技术人员可以理解,示例性实施例可以在没有这些具体细节的情况下实施。例如,为了避免不必要的细节模糊示例性实施例,可以用框图显示系统。在其他情况下,为避免模糊示例性实施例,可在不显示不必要细节的情况下示出公知的过程、结构和技术。
此外,需要注意的是,示例性实施例可以描述为在流程图、作业图、数据流图、结构图或框图中描绘的过程。虽然流程图可以将操作描述为顺序过程,但许多操作可以并行、并发或同时执行。此外,操作的顺序也可以重新安排。进程可在操作完成后终止,但也可能有图中未包括的其他步骤。进程可以对应于方法、函数、过程、子例程、子程序等。当进程与函数对应时,其终止可能与函数返回调用函数或主函数相对应。
此外,如本文所述,术语"存储器"可代表用于存储数据的一种或多种设备,包括随机存取存储器(RAM)、磁性RAM、核心存储器和/或其他用于存储信息的机器可读介质。术语"存储介质"可代表用于存储数据的一种或多种设备,包括只读存储器(ROM)、随机存取存储器(RAM)、磁性RAM、核心存储器、磁盘存储介质、光学存储介质、闪存设备和/或其他用于存储信息的机器可读介质。术语"计算机可读介质"可包括但不限于便携式或固定式存储设备、光学存储设备、无线信道以及能够存储、包含或携带指令和/或数据的各种其他介质。
此外,示例性实施例可以由硬件电路和/或软件、固件、中间件、微码、硬件描述语言等结合硬件(例如,由硬件执行的软件等)来实现。当以软件、固件、中间件或微码实现时,执行期望任务的程序代码或代码段可存储在机器或计算机可读介质(如非暂态计算机存储介质)中,并加载到一个或多个处理器上以执行期望任务。
代码段可代表过程、函数、子程序、程序、例程、子例程、模块、软件包、类或者指令、数据结构或程序语句的任意组合。代码段可通过传递和/或接收信息、数据、变元、参数或存储器内容与另一代码段或硬件电路耦合。信息、变元、参数、数据等可通过任何合适的方式传递、转发或传输,包括存储器共享、信息传递、令牌传递、网络传输等。
在本申请中,术语"电路"和/或"硬件电路"可指以下一个或多个或全部:(a)仅硬件电路实现方式(例如,仅在模拟和/或数字电路中的实现方式);(b)硬件电路和软件的组合,例如(如适用的话):(i)模拟和/或数字硬件电路与软件/固件的组合;以及(ii)具有软件(包括数字信号处理器)的硬件处理器的任何部分、软件和存储器,它们共同作用使装置(例如移动电话或服务器)执行各种功能;以及(c)硬件电路和/或处理器,例如微处理器或微处理器的一部分,其需要软件(例如固件)进行操作,但当操作不需要软件时,软件可能不存在。例如,电路更具体地可以包括但不限于中央处理器(CPU)、算术逻辑单元(ALU)、数字信号处理器、微型计算机、现场可编程门阵列(FPGA)、片上系统(SoC)、可编程逻辑单元、微处理器、专用集成电路(ASIC)等。
电路的这一定义适用于本申请中该术语的所有用法,包括在任何权利要求中。作为进一步的示例,如在本申请中使用的,术语"电路"还包括仅由硬件电路或处理器(或多个处理器)或硬件电路或处理器的一部分及其(或它们的)附带软件和/或固件组成的实现方式。例如,如果适用于特定的权利要求元件,则术语"电路"还包括针对移动设备的基带集成电路或处理器集成电路,或服务器、蜂窝网络设备或其他计算或网络设备中的类似集成电路。
虽然为了清晰和方便起见,本公开的各种示例性实施例结合SRv6和/或5G标准进行了讨论,但示例性实施例并不局限于此,本领域的普通技术人员会认识到示例性实施例可适用于其他组播流式标准和/或无线通信标准,例如4G标准、5G标准、Wi-Fi标准、未来的6G标准、未来的7G标准等。
各种示例性实施例针对SRv6组播标准的增强,通过使用多流组播和/或编解码多流组播来提高所实现的网络传输速率和/或降低网络节点处理等,从而提高终端节点处理效率和/或提高沿组播网络进行组播传输的网络效率。然而,实施例并不局限于此,例如,示例性实施例并不局限于SRv6组播标准和/或IPv6网络,还可进一步应用于其他组播标准和/或其他分段路由网络(例如,分段网络等),例如多协议标签交换(MPLS)网络等。
图1示出了根据至少一个示例性实施例的组播通信系统。如图1所示,组播通信系统包括SDN控制器100、源主机设备s、多个终端主机设备(例如,边缘网络节点等),如第一目的地主机设备d1、第二目的地主机设备d2和/或第三目的地主机设备d3等,和/或多个中间网络节点,但示例性实施例不限于此。此外,组播通信系统可包括一个或多个组播树,组播树包括一个或多个网络节点,例如组播树T1和T2,但实施例不限于此。根据一些示例性实施例,组播通信系统可以包括更多或更少的组成元素。例如,无线通信系统可以包括更多或更少的终端主机设备、更多的SDN控制器和/或可以省略SDN控制器,可以包括更多或更少的组播树、更多或更少的网络节点等、额外的网络设备,如基站、路由器、接入点、网关等。
SDN控制器100、源主机设备s、多个终端主机设备和/或多个网络节点可通过无线网络连接,例如蜂窝无线接入网(例如,3G无线接入网、4G-长期演进(LTE)网络、5G-新无线电(例如,5G)无线网络、6G无线网络、WiFi网络等)和/或有线网络。无线和/或有线网络可以指互联网、内联网、广域网等。
根据一些示例性实施例,SDN控制器100可以是网络控制器,它通过有线和/或无线网络等与终端主机设备s、d1、d2和/或d3等和/或中间网络节点(例如网络节点v1、v2和/或v4等)进行通信、对其进行控制和/或配置。根据至少一个示例性实施例,SDN控制器可以是至少一个网络服务器、至少一个基站、至少一个接入点(AP)、至少一个路由器等,但示例性实施例不限于此。此外,终端主机设备可被视为网络节点,反之亦然,网络节点(例如,s、v1、v2、v4、d1、d2和/或d3等)可以是驻留在有线和/或无线网络上并能够通过网络接收和/或发送数据的网络设备,例如计算机、服务器、接入点、路由器等,但示例性实施例并不限于此。根据至少一个示例性实施例,SDN控制器100可以传输组播流式配置信息和/或用组播流式配置信息配置每个终端主机设备和/或网络节点s、v1、v2、v4、d1、d2和/或d3等。例如,SDN控制器100可以接收以下至少一项:网络拓扑信息(例如,与从例如个体节点可到达的相邻网络节点等相关的信息),链路容量信息(例如,网络节点(例如,网络分段)之间的期望和/或最大传输速率等),树信息(例如,从终端主机设备选择的多个预配置和/或预定义的组播树中识别和/或指示期望(例如,预配置和/或预定义等)的组播树的树订阅信息等),组播组信息(例如,指示特定终端主机设备订阅哪些组播组和/或作为哪些组播组成员的信息等),和/或针对组播传输的QoS设置和/或针对组播组的集合等,并且基于接收到的信息,SDN控制器100可以确定针对期望组播组的每个目的地终端主机设备的一个或多个组播树,例如,基于当前网络流量条件、组播传输和/或组播组的QoS需求、期望(例如,增加、优化和/或最大化)链路容量信息等的组播树T1和T2。此外,根据至少一个示例性实施例,SDN控制器100还可以基于组播配置设置来配置网络节点,例如s、v1、v2、v4、d1、d2和/或d3等,所述组播配置设置例如为组播树配置信息(例如,由SDN控制器100基于接收到的信息配置的组播树等)、多流调度信息、针对组播传输使用的组播传输类型(例如,针对组播传输选择和/或指示单流组播传输、多流组播传输、编解码多流组播传输等中的至少一种)、将源组播传输划分成的组播流的数目、针对组播流的编解码参数等,但示例性实施例并不限于此。此外,根据一些示例性实施例,SDN控制器100可从网络中省略,SDN控制器100的功能和/或操作可由源主机设备和/或其他网络设备等执行,但示例性实施例并不限于此。SDN控制器100的操作将结合图3至图8详细讨论。
终端主机设备s、d1、d2和/或d3等可以是(但不限于)个人计算机、服务器、移动设备、智能手机、平板计算机、膝上型计算机、可穿戴设备、物联网(IoT)设备、传感器(例如,温度计、湿度传感器、压力传感器、运动传感器、加速度计等)、致动器、机器人设备、机器人、无人机、连接的医疗设备、电子健康设备、智能城市相关设备、安全摄像头、自主设备(例如自动驾驶汽车等)、台式计算机和/或能够通过有线和/或无线网络进行通信的任何其他类型的固定或便携式设备。终端主机设备S、d1、d2和/或d3等可根据SDN控制器100等提供的组播配置设置和/或根据严格的延时、可靠性和/或准确性要求(例如期望的网络和/或组播QoS标准等)配置为发送和/或接收数据,但示例性实施例并不限于此。
根据至少一个示例性实施例,终端主机设备S、d1、d2和/或d3等可以是至少一个期望组播组的成员,并且可以被配置为发布和/或订阅组播组上的组播传输。根据至少一个示例性实施例,终端主机设备s可以是源终端主机设备,例如,向已订阅终端主机设备S的终端主机设备(例如,目的地终端主机设备d1、d2和/或d3等)发布和/或传输源传输流等的终端主机设备,但示例性实施例不限于此,例如,一个或多个目的地终端主机设备也可以是源终端主机设备,和/或源终端主机设备可以是目的地终端主机设备等。此外,根据至少一个示例性实施例,在发布源组播传输之前,源终端设备s可以向SDN控制器100发送组播请求,并响应于组播请求,SDN控制器100可以从网络中包括的和/或针对期望组播组预配置的多个组播树,确定和/或选择到已订阅源终端主机设备s的每个目的地主机设备(例如,目的地主机设备d1、d2和/或d3等)的分段网络路由。此外,SDN控制器100可以在不从终端主机设备接收特定组播请求的情况下确定和/或选择每个主机设备之间的分段网络路由,例如,在组播网络的配置过程中,在向组播网络和/或组播组添加/移除网络节点和/或终端主机设备的过程中,响应于组播网络中的流量条件、链路容量等的变化,但示例性实施例并不限于此。
例如,如图1所示,存在组播树T1和组播树T2,其用于经由网络节点v1、v2、v4等将组播传输从源主机设备s传输到目的地主机设备d1至d3中的每一个,但示例性实施例并不限于此。此外,如图1所示,一个或多个网络节点(例如,目的地网络节点d2和d3)可包含于多个组播树(例如,树T1和T2)中和/或成为其中的一部分,但示例性实施例并不限于此。在这种情况下,网络节点(例如d2和d3)和/或SDN控制器100可以选择和/或选出要使用的单个组播树和/或组播分段路由,并且所选择的单个组播树和/或组播分段路由的标识可以传输和/或存储在SDN控制器100等的存储器中,以用于确定在组播传输中使用的网络路径和/或网络路由,但示例性实施例并不限于此。在主机设备之间的组播树和/或分段路由将结合图3至图6B进一步详细讨论。
虽然图1示出了网络上的组播组,但示例性实施例并不限于此,例如,网络可以包括多个组播组等。
图2示出了根据至少一个实施例的示例性网络设备的框图。图2的网络设备可对应于图1的任何SDN控制器100、终端主机设备S、d1、d2和d3和/或中间网络节点v1、v2、v4等中的任意一个,但示例性实施例并不限于此。
参考图2,网络设备2000可包括处理电路,例如至少一个处理器2100、至少一个通信总线2200、存储器2300、至少一个网络接口2400和/或至少一个输入/输出(I/O)设备2500(例如,显示面板、键盘、触摸屏、鼠标、麦克风、相机、扬声器等),但示例性实施例不限于此。例如,网络设备2000可以包括多个无线天线阵列(未示出)、多个网络接口等、多个I/O设备和/或其任意组合。存储器2300可以包括各种专用程序代码,包括计算机可执行指令,这些指令可使网络设备2000执行示例性实施例中的一种或多种方法。此外,网络设备2000的至少一个I/O设备2500可以是可选的。
在至少一个示例性实施例中,处理电路可以包括至少一个处理器(和/或处理器核心、分布式处理器、联网处理器等),例如至少一个处理器2100,其可被配置为控制网络设备2000的一个或多个元件,并由此使网络设备2000执行各种操作。处理电路(例如,至少一个处理器2100等)被配置为通过从存储器2300中取回程序代码(例如,计算机可读指令)和数据来执行进程,从而执行整个网络设备2000的专用控制和功能。一旦专用程序指令被加载(例如,加载到至少一个处理器2100等),至少一个处理器2100就执行专用程序指令,由此将至少一个处理器2100转变为专用处理器。
在至少一个示例性实施例中,存储器2300可以是非暂态计算机可读存储介质,可以包括随机存取存储器(RAM)、只读存储器(ROM),和/或永久大容量存储设备,如磁盘驱动器或固态驱动器。存储器2300中存储有与操作网络设备2000有关的程序代码(即,计算机可读指令),例如结合图7至图8讨论的方法、至少一个网络接口2400和/或至少一个I/O设备2500等。可以使用与网络设备2000连接的驱动机构(未示出),或通过至少一个网络接口2400和/或至少一个I/O设备2500等,从独立于存储器2300的非暂态计算机可读存储介质加载这些软件元素。
在至少一个实施例中,通信总线2200可以支持在网络设备2000的元件之间进行通信和数据传输。总线2200可以使用高速串行总线、并行总线和/或任何其他适当的通信技术来实现。根据至少一个示例性实施例,网络设备2000可以包括多个通信总线(未示出),例如地址总线、数据总线等。
网络设备2000可以作为例如SDN控制器、终端主机设备、网络节点等运行,但示例性实施例并不限于此。
网络设备2000还可以包括至少一个网络接口2400和/或至少一个I/O设备2500等。网络接口2400可以是有线和/或无线网络接口,可以使网络设备2000能够与后端网络上的网络设备进行通信和/或传输数据,例如核心网络网关(未示出),数据网络(例如,数据网络105),如互联网、内联网、广域网、电话网络、VoIP网络等,以及组播网络上的网络设备,如图1的终端主机设备和/或网络节点S、v1、v2、v4、d1、d2和/或d3等,但示例性实施例并不限于此。
根据至少一个示例性实施例,至少一个网络接口2400可以包括相关联的无线电单元阵列(未示出),并可用于根据无线接入技术(如4G LTE无线信号、5G NR无线信号、6G无线信号等)将无线信号传输到至少一个用户设备,如终端主机设备S、d1、d2和/或d3等,和/或到核心网络(如后端网络、回程网络、骨干网络、数据网络等),但示例性实施例并不限于此。根据一些示例性实施例,I/O设备2500可以是单个天线,或者可以是多个天线等。例如,I/O设备2500可以被配置为波束网格(GoB),其以不同的方向、角度、频率和/或以不同延迟等传输多个波束,但示例性实施例并不限于此。根据一些示例性实施例,网络接口2400也可以是有线网络接口卡,如以太网接口卡等,但示例性实施例并不限于此。
虽然图2描绘了网络设备2000的示例性实施例,但网络设备并不限于此,可以包括适合所演示目的的附加和/或替代架构。例如,网络设备2000的功能可以在位于核心网络的多个网络功能之间进行划分等,但示例性实施例并不限于此。
图3示出了根据至少一个示例性实施例的示例性组播网络。图4示出了根据至少一个示例性实施例的与图3的组播网络对应的示例性单流组播树。图5示出了根据至少一个示例性实施例的与图3的组播网络对应的示例性多流组播树。图6A和图6B示出了根据一些示例性实施例的组播流和经编解码的多流组播树的示例性编解码。
现在参考图3,图3是根据至少一个示例性实施例的包括源网络节点S、中间网络节点i1至i3和/或目的地网络节点d1至d3的示例性组播网络,但示例性实施例并不限于此,例如,可以包括更多或更少的源网络节点、中间网络节点、目的地网络节点等。此外,如图3所示,组播网络可包括多个树T1至T3,但示例性实施例并不限于此,网络中可包括更多或更少的组播树。此外,根据一些示例性实施例,网络控制器(未示出)(例如,SDN控制器100)可以连接到组播网络,但示例性实施例并不限于此。在图3至图6B中,为了描述简单明了,假定网络节点之间每个链路的可能最大传输速率和/或链路容量为1,但示例性实施例并不限于此,最大传输速率和/或链路容量可以是任何期望值。
如图3所示,源节点S可以基于从网络控制器(例如,SDN控制器100)接收的和/或获得的和/或由源节点S自己确定的组播调度信息,沿着树T1、T2和T3将组播传输传输到目的地节点d1至d3中的每个节点,但示例性实施例并不限于此。更具体地,如图3所示,源节点S可通过树T1(例如,节点S->节点i1->节点d1)和/或T3(例如,节点S->节点i3->节点d1)将源传输传输到目的地节点d1,可通过树T1(例如,节点S->节点i1->节点d2)和/或T2(例如,节点S->节点i2->节点d2)将源传输传输到目的地节点d2,并且可以通过树T2(例如,节点S->节点i2->节点d3)和/或T3(例如,节点S->节点i3->节点d3)将源传输传输到目的地节点d3,等等,但示例性实施例并不限于此。
现在参考图4,图4示出了源节点S执行向目的地节点d1至d3的单流组播的示例,但示例性实施例并不限于此。在图4中,假定源节点S传输组播流到目的地节点d1至d3,目的地节点d1订阅和/或选择了树T1,并且目的地节点d3订阅了树T2,但示例性实施例不限于此。此外,根据至少一个示例性实施例,源节点S可以使用图3中的树T1或树T2将组播流传输到目的地节点2,但是示例性实施例并不限于此。源节点S可以传输与源组播传输相关联的组播数据分组,其包括组播头部(例如SRv6头部等),该头部包括指示针对组播传输的至少唯一流标识符(例如,流ID)的信息,以及指示每个数据分组到其相应目的地节点的分段网络路径的分段网络路径信息和数据分组排序信息等,从而组播数据分组依次到达每个目的地节点d1至d3,因此源节点S和/或目的地节点d1至d3无需执行额外处理。然而,由于源节点将完整的组播传输(例如,与组播传输相关联的所有数据分组)沿着单个网络路径从源节点传输到每个目的地,例如,通过i1将组播传输的所有数据分组传输到节点d1,因此最大传输速率被限制为1。
现在参考图5,图5示出了源节点S执行到目的地节点d1至d3的多流组播(例如,无编解码多流组播等)的示例,但实施例并不限于此。在图5中,与图4的单流组播相比,源节点S可以通过多个组播流将源组播传输传输到目的地节点d1至d3中的每个节点,或者换句话说,源节点S可以执行多流组播,从而将最大传输速率增加到使用图4的单流组播实现的最大传输速率1以上。根据至少一个示例性实施例,源节点S可以将源组播传输划分成(例如,拆分等)两个或更多个子流,并通过不同的分段网络路径将两个或更多个子流传输到目的地节点d1至d3中的每一个,使得目的地节点d1至d3中的每一个以任意顺序接收与两个或更多个子流相关联的所有数据分组,将接收到的分组存储在缓冲器中,例如,重新排序缓冲器、重新排序存储器等,然后将数据分组组装成正确的顺序,以重新创建原始源传输,但示例性实施例并不限于此。例如,如图5所示,源节点S可以将原始源组播传输拆分成三个子流,即子流A至C,但示例性实施例并不限于此。如图所示5,源节点S可同时将子流A以最大传输速率(例如链路传输速率)的1/2沿树T1传输到目的地节点d1和d2,例如,源节点S将子流A数据分组传输到中间节点i1和i2,中间节点i1和i2基于子流A分组的组播分组头部中包含的网络路径信息复制子流A分组,并且中间节点i1和i2将子流A分组转发给目的地节点d1和d2等。同时,源节点S可以将子流B的分组以最大传输速率的1/2沿树T2传输到目的地节点d2和d3,或者换句话说,源节点S可以将子流B分组传输到中间节点i2和i3,中间节点i2和i3基于子流B分组的组播分组头部中包含的网络路径信息复制子流B分组,并且中间节点i2和i3将子流B分组转发给目的地节点d2和d3等。此外,源节点S还可以将子流C的分组以最大传输速率的1/2沿树T3传输到目的地节点d1和d3,或者换句话说,源节点S可以将子流C的数据分组传输到中间节点i1和i3,并且中间节点i1和i3基于子流C分组的组播分组头部中包含的网络路径信息复制子流C分组,并将子流C分组转发给目的地节点d1和d3等。本领域普通技术人员可以理解,源节点S与每个中间节点i1至i3之间的链路传输速率分别加起来为1(例如,针对每个网络分段的最大传输速率),但在每个目的地节点d1至d3处实现的总传输速率加起来为1.5,因此,与图4的单流组播传输相比,使用多流组播传输可实现增加的传输速率。然而,由于源组播传输被拆分成多个子流,因此与图4的单流组播解决方案相比,源节点S和目的地节点d1至d3执行额外的处理。
现在参考图6A和图6B,根据至少一个示例性实施例,源节点S可向目的地节点d1至d3中的每个节点执行编解码多流组播,但并不限于此。与图4的单流组播方案以及图5的多流组播方案相比,编解码多流组播可进一步增加组播传输的最大传输速率,但可能会导致源节点S和目的地节点d1至d3等执行额外的处理。更具体地,源节点S可以对源组播传输执行编解码,例如流式(B,C)编解码等,以便补偿网络损失(例如,丢失的分组、网络节点之间链路连接丢失等),并使目的地节点d1至d3能够使用少于源传输的全部数据分组等重新创建原始源传输,但示例性实施例并不限于此。换句话说,目的地节点d1至d3可以接收源组播传输的C个子流(例如分组)中的B个,其中B小于C,每个目的地节点d1至d3可以基于接收到的分组重新创建丢失的数据分组,并因此基于接收到的数据分组重新创建源传输。例如,源节点S可以将原始源传输拆分成B个未编解码的子流,其中B是大于1的整数,如图6A所示,B可以为2,但示例性实施例不限于此。接下来,源节点S可以使用编解码方案(例如Fountain码编解码或Raptor码编解码)从B个未编解码的分组生成C个编解码的分组,其中C是大于B的整数,但示例性实施例不限于此。然后,源节点S可使用B x C随机编解码矩阵A对C个编解码分组进行编解码,其中A是随机的。由于A是高概率随机的,编解码矩阵具有全秩,因此目的地节点d1至d3中的每一个可以通过解码C个编解码分组中的B个分组(例如,不同的分组)来重新生成原始源传输的所有分组。换句话说,如图6A所示,只要目的地节点接收到总共3个编解码分组中的2个,该目的地节点就可以通过解码接收到的2个编解码分组来重新生成丢失的编解码分组的数据,并因此可以重新生成原始源传输流,但示例性实施例并不限于此。
图6B示出了源节点S执行到目的地节点d1至d3的编解码多流组播的示例,并假设B=2和C=3以及网络的每个链路的最大传输速率为1,但示例性实施例并不限于此,其他值可用于B、C和每个网络链路的最大传输速率。根据至少一个示例性实施例,源节点S可将原始组播传输拆分成B个未编解码子流。然后,源节点S可使用编解码方案(例如Fountain码和/或Raptor码等)将B个子流分组编解码为C个编解码子流分组,其中C>B,但示例性实施例不限于此。此外,源节点S可以将指示源传输ID的流ID、子流ID和分段网络路径信息包含到编解码子流的每个分组的头部中。接下来,源节点S将每个编解码子流的分组传输到B个目的地节点,例如,源节点S可通过树T1将编解码子流X的分组传输到目的地节点d1和d2,可通过树T2将编解码子流Y的分组传输到目的地节点d2和d3,可通过树T3将编解码子流Z的分组传输到目的地节点d1和d3,但示例性实施例并不限于此。由于源节点S仅以最大传输速率1沿在节点S与中间节点i1至i3之间的每条链路传输单个编解码子流,因此与图5的多流组播示例方案相比,每个目的地节点d1至d3实现最大组播传输速率为2,但示例性实施例并不限于此。此外,从图6B可知,每个目的地节点仅接收有源节点S传输的C个编解码子流的子集。例如,目的地节点d1接收编解码子流X和Z的分组,目的地节点d2接收编解码子流X和Y的分组,以及目的地节点d3接收编解码子流Z和X的分组等。然而,由于目的地节点d1至d3接收到的分组是经编解码的,并且只是C个编解码子流的子集,因此目的地节点d1至d3必须执行额外的处理,以解码N个接收到的编解码子流,其中N=B,并且必须从未接收到的C-N个子流(例如,丢失的1个子流)重新生成丢失的分组,以便重新生成原始的源组播传输。
现在参考图7,图7是示出根据至少一个示例性实施例由网络设备确定多流调度信息的方法的流程图。根据至少一个示例性实施例,执行图7的操作的网络设备可以是网络控制器,例如SDN控制器100等,和/或可以是源主机设备,例如源主机设备S等,但示例性实施例并不限于此,并且网络设备可以是连接到和/或包含于组播组中的任何网络设备等。在操作S7010中,网络设备可获得(例如,接收、确定等)拓扑信息(例如,网络拓扑信息、网络架构、链路连接信息等)、链路容量信息(例如,最大链路传输速率、当前链路传输速率等)、树订阅信息(例如,指示多个树中与主机设备订阅的网络拓扑和/或组播网络相关联的树的信息等)和/或组播组信息(例如,源组播传输将被传输到的期望组播组的标识等)等中的至少一项,但示例性实施例并不限于此,例如可以包括其他信息,如针对期望组播传输的QoS设置、有关期望组播传输大小的信息等。例如,网络设备可以从源主机设备S等处获得拓扑信息、链路容量信息和/或组播组信息等,作为多流组播会话请求的一部分,但示例性实施例并不限于此,例如,网络设备还可以从目的地源设备(例如,d1至d3等)、一个或多个中间网络节点i1至i3等、核心网、网络运营商、网络管理员等处接收拓扑信息、链路容量信息和/或组播组信息等。
在操作S7020中,网络设备可以基于获得的信息确定多流调度信息和/或编解码参数,但不限于此。例如,网络设备可以基于从与组播组等相关联的一个或多个主机设备和/或网络节点获得和/或与其相关联的拓扑信息、树订阅信息、链路容量信息等确定针对期望的组播组的多流调度信息,但示例性实施例并不限于此。根据至少一个示例性实施例,多流调度信息可以包括与所确定的和/或所选择的与组播请求和/或期望的组播组相关联的组播组会话树相关的信息,该组播组会话树包括从源节点S到期望的组播组的每个目的地节点(例如,d1至d3)的分段网络路径等。此外,多流调度信息可以包括与针对组播组会话树中每个分段网络路径的组播传输速率相关的信息等。此外,多流调度信息还可以包括编解码参数信息,例如与要使用的多流组播传输类型有关的信息(例如,单流组播传输、多流组播传输、编解码多流组播传输等)、针对期望的多流组播传输的子流数目、对子流编码的编解码类型、针对期望的多流组播传输的每个数据分组的大小等相关信息,但示例性实施例并不限于此。
根据至少一个示例性实施例,如果所选择的组播传输类型被确定为未编解码的组播传输(例如,未编解码的单流组播传输或未编解码的多流组播传输等),这可以基于与组播组和/或组播传输相关联的QoS设置来确定,可以基于网络运营商设置、主机设备设置、网络请求等来确定,网络设备可通过求解以下线性规划问题,来确定未编解码的组播组会话树,以期望的组播速率(例如,增加的、改进的、优化的和/或最大化的组播传输速率)传输每个流:
其中,d对应于要到达的每个目的地节点;i是个体流;T是所有适用网络树的集合;j是多个网络树中的个体树T;c(e)是网络链路的链路容量e(例如,所获得的网络拓扑的网络边缘);k是期望流的数目(例如,如果所选择的组播传输协议是单流组播,则k=1;如果所选择的组播传输协议是多流组播或编解码多流组播,则k>1;等等);λ=从源网络节点传输到所有目的地网络节点而没有违背链路容量的最大速率;如果流i被分配给树j,则yij=1;如果流i未被分配给树j,则yij=0。
方程组1的求解为未编解码组播传输提供了组播组会话树(和/或组播组会话树的集合),还为每个流设置了期望的传输速率,以增加、改善、优化和/或最大化组播组会话传输。更具体地,方程组1的第一个等式确保每个目的地接收每个流,方程组1的第二个等式对遍历链路e并与链路容量限制等对应的流的数目进行计数。
根据至少一个示例性实施例,如果所选择的组播传输类型被确定为编解码组播传输(例如,编解码多流组播传输等),这也可以基于与组播组和/或组播传输相关联的QoS设置来确定,可以基于网络运营商设置、主机设备设置、网络请求等来确定,网络设备可通过求解以下线性规划问题,确定编解码组播组会话树,以期望的组播速率(例如,增加的、改进的、优化的和/或最大化的组播传输速率)传输每个流:
其中w=可实现的最大组播速率;wj=在树j上发送的传输流的量;δ=1/w;以及zj=wj/w。
方程组2的求解为编解码组播传输提供了组播组会话树(和/或组播组会话树的集合),还为每个流设置了期望的传输速率,以增加、改善、优化和/或最大化组播组会话传输。更具体地,方程组2的第一个等式确保w的流到达每个目的地,方程组2的第二个等式强制执行链路容量约束等。此外,由于使用编解码组播传输,并非每个个体分组和/或流(例如,子流)都被每个目的地节点接收(例如,并非每个分组和/或子流都由源节点传输到每个目的地节点),而是相反,方程组2确保有足够的分组/子流到达每个目的地节点(例如,C个编解码分组/编解码子流中的B个分组/子流),从而每个目的地节点都能够从接收到的内容等重新创建和/或重新生成原始源传输。
此外,方程组2的解可用于计算编解码参数B和C,通过将方程组2的解输入以下算法:
其中,z* j=在树Tj上发送的传输流的最佳分数;z* j/δ*=在树Tj上发送的实际传输流;β=每个流的传输速率;C=R=编解码流的总数;并且B=∑j Fj=流的最小数目。
根据至少一个示例性实施例,如果所选择的组播传输类型被确定为未编解码的组播多个组播组传输(例如,被传输到多个组播组的未编解码的组播传输等),这可基于与组播组和/或组播传输相关联的QoS设置确定,可基于网络运营商设置、主机设备设置、网络请求等确定,网络设备可通过求解以下线性规划问题,确定未编解码的组播组会话树,以期望的组播速率(例如,增加的、改进的、优化的和/或最大化的组播传输速率)传输每个流:
其中G=组播组的整个集合g;D=针对组播传输的目的地节点的集合;sg=组g的源节点,Dg=针对组g的目的地节点的集合;rg=针对组g的期望速率;如果组播组g使用树j,则wg j被设为1。
求解方程组3可为未编解码的组播多个组播组传输组播传输提供组播组会话树(和/或组播组会话树的集合),还可为每个流设置期望的传输速率,以提高、改善、优化和/或最大化多个组播组会话传输。更具体地,方程组3的第一个等式确保为组g传输速率rg,方程组3的第二个等式确保链路利用率不超过δ等。此外,方程组3可通过获得方程组3的未编解码多组组播方程的近似解,针对编解码多流多个组播组传输进行扩展。
在操作S7030中,一旦网络设备确定了多流调度信息和/或编解码参数,网络设备就会将多流调度信息和/或编解码参数的至少一部分传输给源主机设备和/或一个或多个目的地目的地主机设备,但不限于此。
现在参考图8,图8是示出根据至少一个示例性实施例操作源主机设备的方法的流程图。根据至少一个示例性实施例,图8的源主机设备可以对应于图1和图3至图6B的源主机设备S等,但实施例并不限于此。在操作S8010中,源主机设备可以将多流组播会话请求传输到网络控制器(例如SDN控制器100等),但示例性实施例并不限于此。例如,根据一些示例性实施例,组播网络可以省略网络控制器,并且源主机设备可以在内部处理请求等。多流组播会话请求可包括与源组播传输相关联的拓扑信息、链路容量信息和/或组播组信息中的至少一项,但不限于此。例如,请求还可以包括诸如针对期望组播传输的QoS设置、关于期望组播传输大小的信息等的信息。
在操作S8020中,源主机设备可以从网络控制器等接收多流调度信息和/或编解码参数,但示例性实施例并不限于此。例如,根据一些示例性实施例,源主机设备可以自己确定多流调度信息和/或编解码参数,而不是从网络控制器接收此类信息,但示例性实施例并不限于此。根据至少一个示例性实施例,多流调度信息可以包括与组播请求和/或期望组播组相关联的组播组会话树相关的信息,组播组会话树包括从源节点到期望组播组的每个目的地节点的分段网络路径等。此外,多流调度信息可包括与针对组播组会话树的每个分段网络路径的组播传输速率相关的信息等。此外,多流调度信息还可以包括编解码参数信息,例如与要使用的多流组播传输类型(例如,单流组播传输、多流组播传输、编解码多流组播传输等)、针对期望多流组播传输的子流数目(例如,针对非编解码多流组播传输的B值,针对编解码多流组播传输的B和/或C值等)、对子流编码的编解码类型、针对期望的多流组播传输的每个数据分组的大小等相关信息,但示例性实施例并不限于此。
在操作S8030中,源主机设备可以基于多流调度信息和/或编解码参数对源组播传输执行处理。例如,源主机设备可以基于多流调度信息,编码具有到期望的目的地主机设备的相关联分段网络路径的源组播传输的每个数据分组的每个分组头部,源主机设备可以基于编解码参数将源组播传输拆分为多个组播子流,源主机设备可以基于编解码参数对每个组播子流进行编码等,但示例性实施例并不限于此。
在操作S8040中,源主机设备可基于多流调度信息使用组播组会话树将多流组播传输传输到目的地主机设备。此外,响应于从源主机设备接收多流组播传输,每个目的地主机设备可基于多流调度信息和/或与期望组播组和/或期望组播会话相关联的编解码参数重新生成原始源组播传输。例如,目的地源设备可以对接收到的未编解码子流重新排序,以重新生成原始源组播传输;目的地源设备可以对接收到的编解码子流进行解码,并可以基于接收到的解码后的子流和编解码参数重新生成丢失的子流等,但示例性实施例并不限于此。
本书面说明使用了所公开主题的示例,以使本领域的任何技术人员能够实施本主题,包括制造和使用任何设备或系统,以及执行任何纳入的方法。本主题的可专利范围由权利要求书定义,并可包括本领域技术人员想到的其他示例。这些其他示例均在权利要求书的范围之内。
Claims (20)
1.一种源主机设备,包括:
存储计算机可读指令的存储器;以及
处理电路,被配置为执行所述计算机可读指令以使所述设备:
从软件定义网络(SDN)控制器获得组播调度信息,所述组播调度信息包括与网络相关联的多个组播树相关的信息,所述多个组播树中的每个组播树包括至少一个网络节点,以及
基于所述组播调度信息,使用组播组会话树将与源组播流传输相关联的多个多流组播传输传输到多个目的地主机设备,所述组播组会话树与期望的组播组相关联,所述组播组包括所述源主机设备和所述多个目的地主机设备。
2.根据权利要求1所述的设备,其中
所述组播调度信息包括与所述多个组播树的每个网络节点相关联的传输带宽信息,以及指示每个目的地主机设备订阅的所述多个组播树中的单个组播树的树订阅信息;
所述组播组会话树包括从所述源主机设备到所述多个目的地主机设备中的每个目的地主机设备的多个分段网络路径;并且
所述多个分段网络路径中的每个分段网络路径基于所述传输带宽信息和所述树订阅信息而被确定。
3.根据权利要求2所述的设备,其中
所述组播调度信息包括关于所述组播组会话树的信息,所述组播组会话树由所述SDN控制器基于所述组播调度信息从所述多个组播树确定。
4.根据权利要求2至3中任一项所述的设备,其中所述设备还被使得:
基于所述组播调度信息,从所述多个组播树确定所述组播组会话树。
5.根据权利要求1至4中任一项所述的设备,其中所述设备还被使得通过以下方式传输所述多个多流组播传输:
基于所述组播调度信息将所述源组播流传输划分成B个多流组播传输,其中B是大于1的整数。
6.根据权利要求5所述的设备,其中所述设备还被使得通过以下方式传输所述多个多流组播传输:
使用所述组播组会话树的到所述多个目的地主机设备中的每个目的地主机设备的不同分段网络路径,将所述B个多流组播传输中的每个多流组播传输传输到所述多个目的地主机设备中的每个目的地主机设备。
7.根据权利要求6所述的设备,其中将所述B个多流组播传输中的每个多流组播传输传输到所述多个目的地主机设备中的每个目的地主机设备使所述目的地主机设备中的每个目的地主机设备:
从所述源主机设备接收所述B个多流组播传输;以及
从接收到的所述B个多流组播传输中恢复所述源组播流传输。
8.根据权利要求5至7中任一项所述的设备,其中所述设备还被使得通过以下方式传输所述多个多流组播传输:
使用编解码参数将所述B个多流组播传输编解码为C个子流传输,其中C>B;以及
使用不同分段网络路径将所述C个子流传输中的任意N个不同子流传输传输到所述多个目的地主机设备中的每个目的地主机设备,其中N≥B且N≤C。
9.根据权利要求8所述的设备,其中所述设备还被使得:
从所述SDN控制器接收所述编解码参数,所述编解码参数包括指示使用Fountain码编解码还是Raptor码编解码的信息、B的值和C的值;以及
基于接收到的所述编解码参数,执行所述B个多流组播传输到所述C个子流传输的编解码。
10.根据权利要求6至9中任一项所述的设备,其中所述设备还被使得:
确定所述编解码参数,所述确定包括确定使用Fountain码编解码还是Raptor码编解码、确定所述B的值以及确定所述C的值;以及
基于所确定的所述编解码参数,执行所述B个多流组播传输到所述C个子流传输的所述编解码。
11.根据权利要求8至10中任一项所述的设备,其中将所述N个不同子流传输传输到所述多个目的地主机设备中的每个目的地主机设备使所述目的地主机设备中的每个目的地主机设备:
接收至少B个子流;
基于所述N个子流传输的分组头部中包括的编解码参数信息,解码所述B个多流组播传输;以及
从解码后的所述B个多流组播传输恢复所述源组播流传输。
12.一种软件定义网络(SDN)控制器设备,所述设备包括:
存储计算机可读指令的存储器;以及
处理电路,被配置为执行所述计算机可读指令以使所述设备,
获得与网络的多个主机设备相关的拓扑信息、链路容量信息和组播组信息,
基于所述拓扑信息、所述链路容量信息和所述组播组信息,
确定与至少一个组播组相关联的组播调度信息,所述组播调度信息包括,
与所述网络相关联的多个组播树相关的信息,所述多个组播树中的每个组播树包括至少一个网络节点,
与所述多个组播树的每个网络节点相关联的传输带宽信息,以及
树订阅信息,指示每个主机设备订阅的所述多个组播树中的单个组播树,以及
将所述组播调度信息的至少一部分传输到所述网络的所述主机设备中的每个主机设备。
13.根据权利要求12所述的SDN控制器设备,其中所述设备还被使得,针对所述多个组播树中的每个组播树:
基于所述传输带宽信息和所述树订阅信息,确定所述组播树的每个主机设备之间的多个分段网络路径;以及
基于确定出的所述多个分段网络路径,配置所述组播树中包括的每个网络节点。
14.根据权利要求12至13中任一项所述的SDN控制器设备,其中所述设备还被使得:
从源主机设备接收多流组播传输请求,所述多流请求包括与源组播流传输和所述组播组信息相关的信息;以及
响应于所述多流组播传输请求确定所述组播调度信息,所述确定包括:基于与所述源组播流传输相关的信息和指示所述期望的组播组的所述信息,从所述多个组播树确定组播组会话树。
15.根据权利要求14所述的SDN控制器设备,其中所述设备还被使得:
确定指示将所述源组播流传输划分成的多流组播传输的数目的值B,其中B是大于1的整数。
16.根据权利要求14至15中任一项所述的SDN控制器设备,其中所述设备还被使得:
响应于所述多流组播传输请求,确定针对所述源组播流传输的编解码参数,所述确定所述编解码参数包括,
确定针对所述多流组播传输的所述编解码是使用Fountain码编解码还是Raptor码编解码;以及
确定指示将所述源组播流传输划分成的多流组播传输的数目的值B,以及确定指示将所述B个多流组播传输划分成的子流传输的数目的值C,其中B和C为大于1的整数,且C>B。
17.一种操作源主机设备的方法,包括:
从软件定义网络(SDN)控制器获得组播调度信息,所述组播调度信息包括与网络相关联的多个组播树相关的信息,所述多个组播树中的每个组播树包括至少一个网络节点,以及
基于所述组播调度信息,使用组播组会话树将与源组播流传输相关联的多个多流组播传输传输到多个目的地主机设备,所述组播组会话树与期望的组播组相关联,所述组播组包括所述源主机设备和所述多个目的地主机设备。
18.根据权利要求17所述的方法,其中
所述组播调度信息包括与所述多个组播树的每个网络节点相关联的传输带宽信息,以及指示每个目的地主机设备订阅的所述多个组播树中的单个组播树的树订阅信息;
所述组播组会话树包括从所述源主机设备到所述多个目的地主机设备中的每个目的地主机设备的多个分段网络路径;并且
所述多个分段网络路径中的每个路径基于所述传输带宽信息和所述树订阅信息而被确定。
19.根据权利要求18所述的方法,其中所述组播调度信息包括关于所述组播组会话树的信息,所述组播组会话树由所述SDN控制器基于所述组播调度信息从所述多个组播树确定。
20.根据权利要求18至19中任一项所述的方法,还包括:
基于所述组播调度信息,从所述多个组播树确定所述组播组会话树。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2021/060794 WO2023096645A1 (en) | 2021-11-24 | 2021-11-24 | Optimized srv6 multicasting for network assisted publish-subscribe systems |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118285106A true CN118285106A (zh) | 2024-07-02 |
Family
ID=86540169
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180104386.9A Pending CN118285106A (zh) | 2021-11-24 | 2021-11-24 | 针对网络辅助公布-订阅系统的优化SRv6组播 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN118285106A (zh) |
WO (1) | WO2023096645A1 (zh) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5946316A (en) * | 1997-01-17 | 1999-08-31 | Lucent Technologies, Inc. | Dynamic distributed multicast routing protocol |
US7808930B2 (en) * | 2005-10-26 | 2010-10-05 | Cisco Technology, Inc. | Dynamic multipoint tree rearrangement |
EP1959637B1 (en) * | 2007-02-16 | 2009-08-12 | NTT DoCoMo, Inc. | Method and apparatus for session aware connectivity control |
TWI351849B (en) * | 2007-12-31 | 2011-11-01 | Ind Tech Res Inst | Apparatus and method for transmitting streaming se |
-
2021
- 2021-11-24 CN CN202180104386.9A patent/CN118285106A/zh active Pending
- 2021-11-24 WO PCT/US2021/060794 patent/WO2023096645A1/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2023096645A1 (en) | 2023-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10608873B2 (en) | Methods and devices for media processing in distributed cloud | |
TWI653855B (zh) | 網路路線優化方法及軟體定義網路控制器 | |
CN105830031B (zh) | 用于选择媒体处理单元的方法和网络节点 | |
EP4329258A1 (en) | Notification method and apparatus for computing power resources, storage medium, and electronic apparatus | |
US9473414B2 (en) | Method and system for supporting packet prioritization at a data network | |
CN111800757A (zh) | 带动态确定性缩放的边缘服务器cpu | |
Hansen et al. | Network coded software defined networking: Enabling 5G transmission and storage networks | |
CN103563475B (zh) | 用于利用多描述编码的移动多媒体服务的多路径管理架构和协议 | |
US9397926B2 (en) | Peer-influenced aggregate member selection | |
CN107222427A (zh) | 一种报文处理的方法及相关设备 | |
EP3949468A1 (en) | Apparatus, method and computer program for group communication | |
EP3734917B1 (en) | Downlink message sending method and apparatus and downlink message forwarding method and apparatus | |
CN109861925B (zh) | 数据传输方法、相关装置及网络 | |
CN102368739A (zh) | 面向包-电路交换片上路由器的广播机制路由算法 | |
CN105723664A (zh) | 一种通信方法、装置、控制器和转发面设备 | |
Luo et al. | Enhancing responsiveness and scalability for OpenFlow networks via control-message quenching | |
WO2017006361A1 (en) | A device within a wireless peer-to-peer network, wireless communication system and control method | |
US20180212861A1 (en) | Distributing network path information in a network environment | |
JP2020156088A (ja) | パケット伝送方法及び装置 | |
WO2012018339A1 (en) | Application of unequal error protection rateless codes in multimedia streaming over multi-path networks | |
US9998355B2 (en) | Methods and systems for traffic engineering with redundancy | |
JP6050720B2 (ja) | コアネットワークにおけるゲートウェイのセッション情報を移行させるシステム及び方法 | |
CN118285106A (zh) | 针对网络辅助公布-订阅系统的优化SRv6组播 | |
WO2023079340A1 (en) | Method, apparatus, and computer program product for local bridging using a multiport device | |
US20140133483A1 (en) | Distributed Switch Architecture Using Permutation Switching |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication |