CN104486290A - 一种基于OpenFlow的流媒体云透明服务装置 - Google Patents
一种基于OpenFlow的流媒体云透明服务装置 Download PDFInfo
- Publication number
- CN104486290A CN104486290A CN201410663798.8A CN201410663798A CN104486290A CN 104486290 A CN104486290 A CN 104486290A CN 201410663798 A CN201410663798 A CN 201410663798A CN 104486290 A CN104486290 A CN 104486290A
- Authority
- CN
- China
- Prior art keywords
- service
- streaming media
- transparent
- cloud
- client
- 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.)
- Granted
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于OpenFlow的流媒体云透明服务装置,包括流媒体业务管理单元、透明服务控制单元和OpenFlow网络转发单元,实现了流媒体云端和用户端之间的相互透明性,为流媒体服务向云形态转变提供了技术支持。本发明内容可用于流媒体云服务系统中的服务透明性问题,具体包括流媒体云端对用户端的透明性问题中的节点失效、负载分布不均衡以及移动自动切换问题和用户端对流媒体云端的透明性问题中的用户终端切换问题;本发明还能够灵活控制服务流的转发路径,以起到网络优化的作用。因此,本发明可以适用于广域的流媒体云服务系统,当然也适用于局域的流媒体服务系统;而且利用本发明的原理,结合SDN技术也可以实现一种基于SDN的流媒体云透明服务装置。
Description
技术领域
本发明涉及多媒体网络通信领域,尤其涉及一种基于OpenFlow技术实现流媒体云透明服务的装置。
背景技术
随着计算机技术的发展、网络技术的提高以及网络用户数量的增加,流媒体服务得到了快速发展,例如视频点播服务等。传统流媒体服务系统主要由流媒体服务端、传统分发网络和客户端组成。为了改善流媒体服务质量,一些技术已经成功应用在传统流媒体服务系统上,例如CDN技术、P2P技术和集群技术等,但是这些技术自身也存在着一些局限性,如扩展性、可靠性、服务封装能力等。因此,单纯利用CDN技术、P2P技术或集群技术都很难尽善尽美解决流媒体服务系统的现有问题。
近年来,云计算得到了快速兴起和发展。考虑到云计算具有虚拟资源池化、对用户透明、可弹性扩展和服务可靠性等特点,越来越多的专业人员考虑将流媒体服务向云形态转变,因而流媒体云的概念应运而生。流媒体云,将庞大的资源和超强的计算能力包装为整体而进行统一的管理,支持用户在任意位置、使用各种终端设备获取透明的服务,能够很好的解决传统流媒体服务系统所遇到的问题。流媒体云通过在不同地理位置分别放置媒体边缘云(子云),将用户所请求的内容推到网络边缘,用于减小用户响应延迟和减轻骨干网络流量负载;而且子云内部的各服务节点按照云计算的方式组织起来,能够动态适应系统负载变化以及用户端请求规模变化等情形。
流媒体云能够有效解决传统流媒体服务的问题,但是将流媒体服务向云形态转变也面临着很多困难。首先是节点失效问题,由于流媒体云是将各类资源进行虚拟化而统一管理,长期运行必然会增加系统出现节点失效的概率;当系统内有节点失效时,需要从其余节点里选择合适的节点而及时准确的接纳失效节点上正在运行的流媒体服务,以保证流媒体服务对用户的透明性。再次是负载分布不均衡问题,当各类影片资源在虚拟服务节点上的分布不合理时,就会导致各节点的负载分布不够均衡,进而降低整个系统的服务容量;一种有效的方法是对流媒体服务进行服务节点的切换,重新调整系统中服务的分布,但这要以保证服务节点的切换对用户的透明性为前提。另一方面,为了更好的支持移动终端设备,基于流媒体云的服务系统(流媒体云服务系统)需要支持用户终端切换和移动自动切换的功能。用户终端切换,需要流媒体云服务系统保证在用户终端发生切换时,连续的流媒体服务不随之改变,即实现用户终端的无缝切换。移动自动切换,当用户终端在服务过程中发生了地理位置的移动时,为了保证良好的服务效果,需要将流媒体服务的服务端切换至更合适的子云,这需要流媒体云服务系统保证服务端的切换对用户的透明性。总之,流媒体云服务系统需要解决服务端(流媒体云端)对用户端的透明性以及用户端对服务端(流媒体云端)的透明性问题;其中服务端对用户端的透明性问题包括节点失效问题,负载分布不均衡问题和移动自动切换问题,用户端对服务端的透明性问题就是用户终端切换问题。
为了解决流媒体服务的透明性问题,已经有相关专业人员进行了研究而且提出了一些技术。其中,用于解决服务端对用户端的透明性问题的技术包括进程迁移技术、应用层迁移技术等;用于解决用户端对服务端的透明性问题的技术包括基于web的迁移技术和基于SCTP的迁移技术等。但是,这些技术只是单一的针对服务端或者用户端,因而并不适用于要求流媒体云端与用户端之间相互透明的流媒体云服务系统。而且,这些技术也存在着一些问题;例如,应用层迁移技术需要RTSP代理节点作为媒介,这往往成为整个系统服务性能瓶颈,而且其没有考虑到网络层状态同步的问题,因而只适用于局域的集群系统,而不适用于网络环境变化的迁移情形;进程迁移技术需要在流媒体服务器上通过linux内核完成网络层状态的同步,但这样会额外增加流媒体服务器负担。
OpenFlow主要由OpenFlow交换机和控制器两部分组成,实现了控制层和数据层的分离。OpenFlow交换机主要由流表、安全通道和OpenFlow协议组成。流表是交换机进行转发控制的核心数据结构,交换机通过查找匹配的流表项来决定对数据包的操作。控制器通过OpenFlow协议对交换机中流表进行配置,从而实现对整个网络的集中控制。尽管OpenFlow技术在虚拟机迁移、无线网络切换等方面取得了一定成果,但是这些方法并不适合于对透明性要求更高的流媒体云服务系统。
发明内容
本发明公开了一种基于OpenFlow的流媒体云透明服务装置,其包括流媒体业务管理单元、透明服务控制单元和OpenFlow网络转发单元。本发明实现了流媒体云服务系统中流媒体云端和用户端的相互透明性;在用户端,客户端不需要关心流媒体云端中服务节点是否发生了切换,只需要始终将原始服务节点看作为流媒体服务的发送方;在流媒体云端,服务节点也不需要关心用户客户端是否发生了切换,只需要始终将原始客户端看作为流媒体服务的接收方。
所述的流媒体业务管理单元包括一台流媒体业务管理服务器,主要功能包括,监测流媒体服务在流媒体云端和用户端中的服务状态、辅助流媒体云端完成原服务节点和新服务节点之间的应用层状态同步、生成合适的透明服务策略、将透明服务策略信息以网络通信的方式发送给所述的透明服务控制单元。
进一步的,所述的服务状态,记录了流媒体服务在流媒体云端或者用户端中是否需要进行服务节点或者客户端的切换以及切换的类型。按照流媒体服务是否同时进行服务节点和客户端的切换,可以将服务状态分为三种,仅服务节点切换、仅客户端切换和服务节点与客户端双切换;其所对应的三种流媒体服务类型分别为,仅服务节点切换的服务、仅客户端切换的服务和服务节点与客户端双切换的服务。流媒体业务管理服务器会定期监测流媒体云端内部各服务节点的运行状态,收集各服务节点的负载信息以及用户端中移动终端的地理位置信息,当流媒体云端出现节点失效或者负载分布不均衡、用户端出现移动终端所在的地理位置的变化时,流媒体云端中的一些流媒体服务就需要进行服务节点的切换,其所对应的服务状态也会随之变化。流媒体业务管理服务器还会监测用户端中客户端的切换情况,当用户主动更换了访问终端时,用户端的流媒体服务就需要进行客户端的切换,其所对应的服务状态也会随之变化。
更进一步的,所述的服务节点或者客户端的切换,是指流媒体云端为流媒体服务所对应的流媒体会话选择一个新节点作为当前实际服务节点,代替原服务节点为用户端继续提供服务流,或者根据客户端的切换情况,用户端将新客户端作为流媒体会话的当前实际客户端,代替原客户端继续接收来自流媒体云端的服务流。
更进一步的,所述的流媒体会话,是指在用户第一次向流媒体云端请求流媒体服务时,由流媒体云端所选择的一个服务节点作为原始服务节点,与用户客户端(原始客户端)建立的会话,记录了原始服务节点和原始客户端的网络层信息,例如IP地址、MAC地址和端口;而且流媒体会话还作为流媒体服务的唯一标识,即无论流媒体服务进行了多少次服务节点或者客户端的切换,其所对应的流媒体会话的基本信息不会有任何变化。
进一步的,所述的应用层状态同步,是指流媒体云端的原服务节点和新服务节点,在应用层上对流媒体服务完成相关状态的同步,以确保流媒体云端发送给用户端的服务流在应用层上的连续性;其中,应用层上的相关状态包括流媒体服务所对应的流媒体资源名称、流媒体服务的码率和当前播放时间。
进一步的,所述的透明服务策略,是由流媒体业务管理服务器依据各流媒体服务的所述的服务状态、流媒体云服务系统的资源部署及负载分布信息计算而来,用于确定哪些流媒体服务需要进行服务节点的切换、哪些流媒体服务需要进行客户端的切换、哪个服务节点作为需要进行服务节点切换的流媒体服务的新服务节点、哪个客户端作为需要进行客户端切换的流媒体服务的新客户端。所述的透明服务策略的具体内容与导致流媒体服务发生服务节点或者客户端切换的原因密切相关。对于节点失效问题而引起的切换,需要进行服务节点切换的流媒体服务就是失效节点上正在运行的服务,新服务节点需要流媒体业务管理服务器根据其余各节点的运行状态以及资源部署情况进行确定;对于负载分布不均衡问题而引起的切换,需要流媒体业务管理服务器根据流媒体服务在各服务节点中的分布情况,确定需要进行服务节点切换的流媒体服务以及对应的新服务节点;对于移动自动切换问题而引起的切换,需要进行服务节点切换的流媒体服务就是当前客户端正在访问的服务,新服务节点需要流媒体业务管理服务器从距离用户最近的子云里进行选择;对于用户终端切换问题而引起的切换,需要进行客户端切换的流媒体服务就是原客户端正在访问的服务,新客户端就是用户需要切换到的终端设备上的客户端。
进一步的,所述的透明服务策略信息,记录了与所述的透明服务策略相关的流媒体服务的信息,用于所述的透明服务控制单元能够据此计算得到合适的转发策略,并且通过OpenFlow交换机完成网络层状态同步。所述的透明服务策略信息的具体内容与流媒体服务的所述的服务状态密切相关。对于仅服务节点切换的服务,所述的透明服务策略信息,记录了流媒体服务的新服务节点的地址及端口、原始客户端的地址及端口、原始服务节点的地址及端口、当前客户端的地址及端口信息;其中,新服务节点和原始客户端的地址及端口信息用于生成与网络层状态同步相关的流表规则的匹配字段,原始服务节点和当前客户端的地址及端口信息用于生成流表规则的操作。对于仅客户端切换的服务,所述的透明服务策略信息,记录了流媒体服务的当前服务节点的地址及端口、原始客户端的地址及端口、原始服务节点的地址及端口、新客户端的地址及端口信息;其中,当前服务节点和原始客户端的地址及端口信息用于生成与网络层状态同步相关的流表规则的匹配字段,原始服务节点和新客户端的地址及端口信息用于生成流表规则的操作。对于服务节点与客户端双切换的服务,所述的透明服务策略信息,记录了流媒体服务的新服务节点的地址及端口、原始客户端的地址及端口、原始服务节点的地址及端口、新客户端的地址及端口信息;其中,新服务节点和原始客户端的地址及端口信息用于生成与网络层状态同步相关的流表规则的匹配字段,原始服务节点和新客户端的地址及端口信息用于生成流表规则的操作。
更进一步的,所述的网络层状态同步,是指在流媒体服务进行服务节点或者客户端的切换之后,所述的透明服务装置对流媒体服务流的数据包在传输层、网络层和数据链路层上进行修改,以使服务流能够成功到达当前客户端,确保流媒体服务的连续性;修改的内容包括数据包的IP地址、MAC地址和端口。
所述的透明服务控制单元,主要由一台透明服务控制器组成,运行着网络操作系统,能够对OpenFlow交换机进行管理和控制;其主要功能是,接收来自所述的流媒体业务管理单元的透明服务策略消息,先根据所掌握的整个网络的拓扑结构以及链路状况信息,选择合适的OpenFlow交换机,再依据透明服务策略消息,分别为所选择的交换机生成合适的转发策略,并且以controller-to-switch消息的形式,将转发策略通过OpenFlow安全通道发送给各交换机。
进一步的,所述的转发策略,是指由所述的透明服务控制单元根据流媒体服务在流媒体云端和用户端中的所述的服务状态,向OpenFlow交换机所下发的流表规则,具体包括用于网络层状态同步的流表规则和用于数据流转发的流表规则。
更进一步的,所述的用于网络层状态同步的流表规则,负责对流媒体服务流的数据包的字段进行修改,以完成流媒体服务在网络层上的状态同步,进而保证服务节点的切换对用户端的透明性以及客户端的切换对流媒体云端的透明性。修改数据包的字段的方法与流媒体服务的类型相关。对于仅服务节点切换的服务,需要将新服务节点发送给原始客户端的服务流的源地址及端口改为原始服务节点的地址及端口,而且需要将服务流的目标地址和端口改为当前客户端的地址及端口;对于仅客户端切换的服务,需要将当前服务节点发送给新客户端的服务流的源地址及端口改为原始服务节点的地址及端口,而且需要将服务流的目标地址及端口改为新客户端的地址及端口;对于服务节点与客户端双切换的服务,需要将新服务节点发送给原始客户端的服务流的源地址及端口改为原始服务节点的地址及端口,而且需要将服务流的目标地址及端口改为新客户端的地址及端口。
更进一步的,所述的用于数据流转发的流表规则,负责将流媒体云端与用户端之间的服务流按照最合理的路径进行转发,以保证高质量的流媒体服务。当流媒体服务进行了服务节点或者客户端的切换时,所述的透明服务控制单元会根据流媒体服务流的转发需要,通知OpenFlow交换机删除或者修改切换前的服务流的流表规则,增加切换后的服务流的流表规则,以保证当前服务流能够从各交换机的正确端口转发出去,按照最合理的路径到达当前客户端。
所述的OpenFlow网络转发单元,主要由一台或者多台OpenFlow交换机组成;其主要功能是,接收来自所述的透明服务控制单元的所述的转发策略,在网络层上帮助流媒体云服务系统完成所述的网络层状态同步,而且能够按照所述的用于数据流转发的流表规则,传递流媒体云端与用户端之间的服务流,以保证服务节点的切换对用户端的透明性以及客户端的切换对流媒体云端的透明性。
本发明一种基于OpenFlow的流媒体云透明服务装置,主要由流媒体业务管理单元、透明服务控制单元和OpenFlow网络转发单元组成,利用OpenFlow技术能够实现控制层和数据层相互分离的特性,实现了流媒体云端和用户端的相互透明性,有效解决了现有技术只是单一的针对服务端对用户端的透明性或者用户端对服务端的透明性的问题,进而为流媒体服务向云形态转变提供了技术支持。具体来说,利用本发明,可以实现在流媒体服务因为流媒体云端的节点失效、负载分布不均衡以及移动自动切换等问题而进行了服务节点的切换时,流媒体云端对用户端的透明性;而且可以实现,在流媒体服务因为用户终端切换问题而进行了客户端的切换时,用户端对流媒体云端的透明性。另外,本发明装置可以嵌入到传统分发网络来传递流媒体云端与用户端之间的服务流,而且借助OpenFlow网络能够对数据流转发路径进行灵活控制的特性,可以对服务流的转发路径进行优化,以提高流媒体服务系统的整体服务质量。总之,本发明借助OpenFlow技术能够实现控制层和网络层相互分离以及可以通过设置流表规则对匹配数据包的字段进行修改的特性,实现了流媒体云端和用户端之间的相互透明性,可以应用于广域的流媒体云服务系统,并具有较高的使用价值。
附图说明
图1为典型流媒体云服务系统的结构示意图;
图2为本发明装置的功能原理示意图;
图3为依据本发明的一种流媒体云服务系统的物理结构示意图;
图4为依据本发明的OpenFlow交换机底层架构示意图;
图5为本发明实施例中服务节点与客户端双切换实例示意图;
图6为本发明实施例中服务节点与客户端双切换实例的流表规则示意图。
具体实施方式
下面结合说明书附图说明本发明的具体实施方式。
图1为流媒体云服务系统的结构示意图,流媒体云端包括分布在不同地区A、B、C和D的四个媒体边缘云(子云);在网络拓扑结构上,为了降低服务时延,流媒体云端将服务推到处于云边缘的各个子云,每个子云分别面向的是各自地区中采用不同终端接入的用户;为了避免传统流媒体服务系统单点失效的问题,子云内部的各服务节点之间以及不同子云之间都采用分布式的方式进行组织和管理。
为了解决流媒体云服务系统中流媒体云端和用户端相互透明性的问题,本文借助OpenFlow技术设计了一种流媒体云透明服务装置。下面结合图2对本发明装置实现流媒体云端和用户端之间相互透明性的原理进行说明。在原始服务节点和原始客户端之间建立流媒体会话后,原始服务流由流媒体云端发送给用户端;其中,原始服务节点作为原始服务流的发送方,原始客户端作为原始服务流的接收方。因为流媒体云端对用户端具有透明性,用户端始终将原始服务节点看作为流媒体服务的发送方,因此本发明的流媒体云透明服务装置相当于一个虚拟原始服务节点,能够为用户端提供连续的、可以被当前客户端成功播放的服务流;因为用户端对流媒体云端具有透明性,流媒体云端始终将原始客户端看作为流媒体服务的接收方,因此本发明的流媒体云透明服务装置又相当于一个虚拟原始客户端,能够接收来自当前服务节点发送给用户端的服务流,对服务流进行网络层状态同步的处理后,成功转发给当前客户端。如图2中虚线所示,当流媒体服务在流媒体云服务系统中没有进行任何的服务节点或者客户端的切换时,本发明的流媒体云透明服务装置此时只起到数据流转发的作用;来自原始服务节点的原始服务流经过流媒体云透明服务装置的转发后,直接到达原始客户端。如图2中直线所示,当流媒体服务在流媒体云端里进行了服务节点的切换或者在用户端里进行了客户端的切换时,本发明的流媒体云透明服务装置此时起到网络层状态同步和数据流转发的作用;来自当前服务节点的当前服务流需要先进行网络层状态同步,然后由流媒体云透明服务装置转发给当前客户端。
图3是利用本发明装置而设计的一种流媒体云服务系统的物理结构示意图,自上而下分别为流媒体云端(SMC)、流媒体云透明服务装置(TSD)和用户端(USER);其中,流媒体云透明服务装置(TSD)既能够作为通信桥梁传递流媒体云端(SMC)和用户端(USER)之间的服务流,又能够实现流媒体服务在网络层上的同步。具体地,本发明一种基于OpenFlow的流媒体云透明服务装置包括流媒体业务管理单元(TSD_SMU)、透明服务控制单元(TSD_TSCU)和OpenFlow网络转发单元(TSD_OF_NFU),通过向上和向下的通信接口,分别与流媒体云端(SMC)和用户端(USER)进行通信。
流媒体业务管理单元(TSD_SMU)主要由一台流媒体业务管理服务器(TSD_SM)组成,主要功能包括,监控流媒体云端(SMC)、监测用户端(USER)中流媒体服务的客户端切换情况、当流媒体云端内有流媒体服务发生服务节点的切换时辅助原服务节点和新服务节点完成应用层状态同步、生成合适的透明服务策略和将透明服务策略信息发送给透明服务控制单元(TSD_TSCU)。
1)监控流媒体云端。流媒体业务管理服务器会定期监测流媒体云端内部各服务节点的运行状态,用于确定各服务节点是在线还是失效;流媒体业务管理服务器还会定期向各服务节点收集负载信息,用于判断流媒体云端的负载分布情况;当流媒体云端出现节点失效或者负载分布不均衡问题时,流媒体业务管理服务器会立即触发服务节点的切换。
2)监测用户端。当用户端发生了终端设备的切换时,流媒体业务管理服务器接收来自用户端的客户端切换消息,确定需要进行客户端切换的流媒体服务以及新客户端的地址及端口信息,触发客户端的切换。
3)辅助完成应用层状态同步。当流媒体云服务系统有流媒体服务进行了服务节点的切换时,为了保证服务节点切换前后的流媒体服务的连续性,需要新服务节点以相同的应用层状态代替原服务节点向用户端继续发送服务流。在流媒体服务进行了服务节点的切换时,流媒体业务管理服务器会辅助原服务节点和新服务节点,在应用层上完成状态同步,确保新服务节点能够在正确的播放时间点、按照相同的码率将服务流发送给用户端。
4)生成透明服务策略,发送透明服务策略信息。当流媒体云服务系统因为节点失效、负载分布不均衡或者移动自动切换等问题而需要对一些流媒体服务进行服务节点的切换时,流媒体业务管理服务器会根据流媒体云端各服务节点的运行状态、各服务节点的负载情况、各子云的地理位置分布等信息,生成针对服务节点切换的透明服务策略,用来确定需要进行服务节点切换的流媒体服务以及合适的新服务节点;当流媒体云服务系统因为用户终端切换而需要对流媒体服务进行客户端的切换时,流媒体业务管理服务器会根据切换前后的终端设备,生成针对客户端切换的透明服务策略,确定需要进行客户端切换的流媒体服务以及正确的新客户端。透明服务策略信息则记录了透明服务策略中流媒体服务的相关信息,会由流媒体业务管理服务器以网络通信的方式发送给透明服务控制单元,用于透明服务控制单元计算得到转发策略,通过OpenFlow交换机完成网络层状态同步。
透明服务控制单元(TSD_TSCU)主要由一台透明服务控制器(TSD_TSC)组成,运行着网络操作系统,能够对OpenFlow交换机进行管理和控制;其主要功能包括,接收来自流媒体业务管理单元(TSD_SMU)的透明服务策略消息、获取网络信息、生成合适的转发策略和将转发策略发送给OpenFlow网络转发单元(TSD_OF_NFU)。
1)接收透明服务策略信息。透明服务控制器与流媒体业务管理服务器在指定端口建立网络通信连接,流媒体业务管理服务器按照特定的格式发送透明服务策略消息。当透明服务控制器确认有透明服务策略消息传来时,就会触发转发策略生成模块,生成合适的转发策略。
2)生成转发策略。转发策略生成模块会从透明服务策略消息里,按照事先规定的格式提取出进行服务节点或者客户端切换的流媒体服务的相关信息,包括流媒体服务的新服务节点的地址及端口信息、原始客户端的地址及端口信息、原始服务节点的地址及端口信息、新客户端的地址及端口信息;根据透明服务控制器所掌握的网络信息,确定合适的转发策略;其中,转发策略里包含了用于网络层状态同步的策略和用于数据流转发的策略。
3)将转发策略发送给OpenFlow网络转发单元。透明服务控制器根据网络拓扑结构和各链路状况信息,选择合适的OpenFlow交换机,将转发策略按照OpenFlow协议要求,以controller-to-switch消息的形式,通过OpenFlow安全通道下发给所选择的交换机;其中,转发策略具体是指由透明服务控制器下发给OpenFlow交换机的流表规则,包括用于网络层状态同步的流表规则和用于数据转发的流表规则。具体地,当需要为某个OpenFlow交换机添加一条用于修改流媒体服务流的数据包字段的流表时,透明服务控制器就会将相关信息添加在OFPT_FLOW_MOD消息里,通过安全通道下发给交换机,其中command字段设置为OFPFC_ADD,match字段为所添加流表的匹配字段,在instructions字段里将操作类型ofp_action_type子字段设置为OFPAT_SET_FIELD,以及对操作实体ofp_action_set_field子字段按照需要进行合理设置;当需要为某个OpenFlow交换机添加一条用于流媒体服务流转发的流表时,控制器就会将相关信息添加在OFPT_FLOW_MOD消息里,通过安全通道下发给交换机,其中command字段设置为OFPFC_ADD,在instructions字段里将操作类型ofp_action_type子字段设置为OFPAT_OUTPUT,以及在操作实体ofp_action_output子字段里将port设置为正确的交换机端口;当需要为某个OpenFlow交换机删除一条流表时,控制器会将相关信息添加在OFPT_FLOW_MOD消息里,通过安全通道下发给交换机,其中command变量设置为OFPFC_DELETE,match变量为需要删除的流表匹配字段。
OpenFlow网络转发单元(TSD_OF_NFU)主要由一台或者多台OpenFlow交换机(TSD_OFS)组成,主要功能包括,与透明服务控制器按照标准OpenFlow协议进行通信、辅助流媒体云服务系统完成流媒体服务的网络层状态同步、传递流媒体云端与用户端之间的服务流。
1)与透明服务控制器进行OpenFlow通信。OpenFlow交换机是运行OpenFlow交换机协议的网络转发设备,需要与透明服务控制器通过标准OpenFlow协议进行通信,用于接收透明服务控制器所下发的设置流表、查询数据流信息等指令。另外,对于进入交换机但没有匹配流表而无法确定怎样操作的数据包,OpenFlow交换机会将其封装在OFPT_PACKET_IN消息里,而发送给透明服务控制器,由控制器对数据包进行合理处理。
2)辅助完成网络层状态同步。当流媒体云服务系统因为节点失效、负载分布不均衡或者移动自动切换等问题而需要对一些流媒体服务进行服务节点的切换时,在流媒体业务管理单元的辅助下,原服务节点和新服务节点只是完成了流媒体服务的应用层状态的同步,因此需要OpenFlow转发网络在透明服务控制器的管理下完成流媒体服务的网络层状态同步,以保证流媒体服务流能够成功到达当前客户端而且顺利播放;当流媒体云服务系统因为用户终端切换而需要对流媒体服务进行客户端的切换时,流媒体服务不需要进行应用层状态同步,但仍然需要通过OpenFlow交换机和透明服务控制器,完成网络层状态的同步,以保证流媒体服务流能够成功到达新客户端而且顺利播放。具体地,完成网络层状态同步需要透明服务控制单元下发给OpenFlow交换机用于网络层状态同步的流表规则,由相关OpenFlow交换机按照流表规则对流媒体服务流的数据包进行处理。
3)传递流媒体云端与客户端之间的服务流。OpenFlow交换机根据由透明服务控制器所下发的用于数据流转发的流表规则,将流媒体云端发送给用户端的服务流的数据包从正确的端口转发出去,以保证服务流由流媒体云端以最优的路径成功发送给用户端。
下面以一个流媒体服务进行服务节点与客户端双切换的实例详细说明透明服务控制单元(TSD_TSCU)下发给OpenFlow网络转发单元(TSD_OF_NFU)中OpenFlow交换机的流表项以及操作的格式。
如图5所示,流媒体云服务系统包括流媒体云端SMC、流媒体云透明服务装置TSD和用户端USER,其中SMC包括原始服务节点SMC_OSN和新服务节点SMC_NSN,TSD包括一台流媒体业务管理服务器TSD_SM、一台透明服务控制器TSD_TSC和一台OpenFlow交换机TSD_OFS,USER包括原始客户端USER_OUC和新客户端USER_NUC;图中节点之间的直连接线表示两个节点之间存在数据流的传递,箭头方向表示数据流的传递方向,其中虚线表示SMC_OSN和USER_OUC之间的原始服务流,实线表示SMC_NSN和USER_NUC之间的新服务流。假设SMC_OSN的IP地址为192.168.105.11,MAC地址为00-00-00-00-00-01,端口号为12;SMC_NSN的IP地址为192.168.105.12,MAC地址为00-00-00-00-00-02,端口号为34;USER_OUC的IP地址为192.168.105.13,MAC地址为00-00-00-00-00-03,端口号为56;USER_NUC的IP地址为192.168.105.14,MAC地址为00-00-00-00-00-04,端口号为78。TSD_OFS通过其端口1与SMC_OSN相连接,通过其端口2与SMC_NSN相连接,通过其端口3与USER_OUC相连接,通过其端口4与USER_NUC相连接。如图5中直连接虚线所示,最开始SMC_OSN和USER_OUC建立流媒体会话,服务流由SMC_OSN经过TSD_OFS转发到USER_OUC;如图5中直连接实线所示,在流媒体服务过程中,服务节点由SMC_OSN切换至SMC_NSN,客户端由USER_OUC切换至USER_NUC。那么,为了保证用户能够享受到连续的服务,针对SMC_NSN发送给用户端的服务流,由TSD_TSC向TSD_OFS所下发的流表项以及对应操作如图6所示,其中包含了用于网络层状态同步的流表规则和用于数据流转发的流表规则。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同限定。
Claims (12)
1.一种基于OpenFlow的流媒体云透明服务装置,其特征在于,包括流媒体业务管理单元、透明服务控制单元和OpenFlow网络转发单元,实现了流媒体云服务系统中流媒体云端和用户端的相互透明性;其中,所述的流媒体业务管理单元包括一台流媒体业务管理服务器;所述的透明服务控制单元包括一台透明服务控制器;所述的OpenFlow网络转发单元包括一台或者多台OpenFlow交换机。
2.如权利要求1所述的流媒体云透明服务装置,其特征在于,所述的流媒体业务管理单元,能够监测流媒体服务在流媒体云端和用户端中的服务状态、辅助流媒体云端完成原服务节点和新服务节点之间的应用层状态同步、生成合适的透明服务策略、将透明服务策略信息以网络通信的方式发送给所述的透明服务控制单元;其中,服务状态记录了流媒体服务在流媒体云端或者用户端中是否需要进行服务节点或者客户端的切换以及切换的类型。
3.如权利要求2所述的流媒体云透明服务装置,其特征在于,所述的透明服务策略,是由流媒体业务管理服务器依据各流媒体服务的服务状态以及流媒体云服务系统的资源部署、负载分布信息计算而来,用于确定哪些流媒体服务需要进行服务节点的切换、哪些流媒体服务需要进行客户端的切换、哪个服务节点作为需要进行服务节点切换的流媒体服务的新服务节点、哪个客户端作为需要进行客户端切换的流媒体服务的新客户端。
4.如权利要求2所述的流媒体云透明服务装置,其特征在于,所述的透明服务策略信息,记录了与所述的透明服务策略相关的流媒体服务的信息,用于所述的透明服务控制单元能够据此计算得到合适的转发策略,并且通过OpenFlow交换机完成网络层状态同步;其基本内容包括流媒体服务的原始服务节点的地址及端口、原始客户端的地址及端口、当前服务节点的地址及端口、当前客户端的地址及端口信息。
5.如权利要求4所述的流媒体云透明服务装置,其特征在于,所述的网络层状态同步,是指在流媒体服务进行服务节点或者客户端的切换之后,所述的流媒体云透明服务装置对流媒体服务流的数据包在传输层、网络层和数据链路层上进行修改,以使服务流能够到达当前客户端而且被成功播放;修改的内容具体包括数据包的IP地址、MAC地址和端口。
6.如权利要求1所述的流媒体云透明服务装置,其特征在于,所述的透明服务控制单元,主要功能包括,接收来自所述的流媒体业务管理单元的透明服务策略消息、生成合适的转发策略、将转发策略发送给OpenFlow交换机;具体地,生成合适的转发策略的功能,是指所述的透明服务控制器先根据所掌握的整个网络的拓扑结构以及链路状况信息,选择合适的OpenFlow交换机,再依据所述的透明服务策略消息,分别为所选择的交换机生成对应的转发策略;将转发策略发送给OpenFlow交换机的功能,是指所述的透明服务控制器将转发策略按照OpenFlow协议,以controller-to-switch消息的形式,通过OpenFlow安全通道发送给对应的交换机。
7.如权利要求6所述的流媒体云透明服务装置,其特征在于,所述的转发策略,是指由所述的透明服务控制单元根据流媒体服务在流媒体云端和用户端中的服务状态,向OpenFlow交换机所下发的流表规则,具体包括用于网络层状态同步的流表规则和用于数据流转发的流表规则。
8.如权利要求7所述的流媒体云透明服务装置,其特征在于,所述的用于网络层状态同步的流表规则,负责对流媒体服务流的数据包的字段进行修改,完成流媒体服务在网络层上的状态同步;其中,修改数据包的字段的基本方法是,将当前服务节点发送给原始客户端的服务流的源地址及端口改为原始服务节点的地址及端口,而且将服务流的目标地址和端口改为当前客户端的地址及端口。
9.如权利要求7所述的流媒体云透明服务装置,其特征在于,所述的用于数据流转发的流表规则,负责将流媒体云端与用户端之间的服务流从各交换机的正确端口转发出去,按照最合理的路径到达当前客户端。
10.如权利要求1所述的流媒体云透明服务装置,其特征在于,所述的OpenFlow网络转发单元,主要功能包括,接收来自所述的透明服务控制单元的所述的转发策略、在网络层帮助流媒体云服务系统完成所述的网络层状态同步、按照流表规则传递流媒体云端与用户端之间的服务流。
11.如权利要求1到10中任一权利要求所述的流媒体云透明服务装置,其特征在于,实现了流媒体云服务系统中流媒体云端和用户端之间的相互透明性;在用户端,客户端不需要关心流媒体云端中服务节点是否发生了切换,只需要始终将原始服务节点看作为流媒体服务的发送方;在流媒体云端,服务节点也不需要关心用户客户端是否发生了切换,只需要始终将原始客户端看作为流媒体服务的接收方。
12.如权利要求1到10中任一权利要求所述的流媒体云透明服务装置,其特征在于,用于广域的流媒体云服务系统,或用于局域的流媒体服务系统。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410663798.8A CN104486290B (zh) | 2014-11-18 | 2014-11-18 | 一种基于OpenFlow的流媒体云透明服务装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410663798.8A CN104486290B (zh) | 2014-11-18 | 2014-11-18 | 一种基于OpenFlow的流媒体云透明服务装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104486290A true CN104486290A (zh) | 2015-04-01 |
CN104486290B CN104486290B (zh) | 2017-10-03 |
Family
ID=52760794
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410663798.8A Active CN104486290B (zh) | 2014-11-18 | 2014-11-18 | 一种基于OpenFlow的流媒体云透明服务装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104486290B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105072162A (zh) * | 2015-07-21 | 2015-11-18 | 哈尔滨理工大学 | 一种基于sdn和云平台的大型网络游戏架构系统及方法 |
CN107086963A (zh) * | 2017-03-10 | 2017-08-22 | 中国传媒大学 | 一种基于sdn的目的端精准视频切换方法 |
CN109905364B (zh) * | 2019-01-08 | 2021-04-20 | 山东省计算中心(国家超级计算济南中心) | 一种基于sdn架构的流媒体数据包的传输方法及系统 |
CN113992949A (zh) * | 2021-10-28 | 2022-01-28 | 广州华多网络科技有限公司 | 混流服务切换方法及其装置、设备、介质、产品 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103236945A (zh) * | 2013-04-08 | 2013-08-07 | 北京天地互连信息技术有限公司 | 基于OpenFlow的FlowVisor网络系统 |
CN103905523A (zh) * | 2013-12-23 | 2014-07-02 | 浪潮(北京)电子信息产业有限公司 | 一种基于sdn的云计算网络虚拟化实现方法及系统 |
US20140281020A1 (en) * | 2013-03-15 | 2014-09-18 | International Business Machines Corporation | Source-driven switch probing with feedback request |
-
2014
- 2014-11-18 CN CN201410663798.8A patent/CN104486290B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140281020A1 (en) * | 2013-03-15 | 2014-09-18 | International Business Machines Corporation | Source-driven switch probing with feedback request |
CN103236945A (zh) * | 2013-04-08 | 2013-08-07 | 北京天地互连信息技术有限公司 | 基于OpenFlow的FlowVisor网络系统 |
CN103905523A (zh) * | 2013-12-23 | 2014-07-02 | 浪潮(北京)电子信息产业有限公司 | 一种基于sdn的云计算网络虚拟化实现方法及系统 |
Non-Patent Citations (1)
Title |
---|
战立松: "基于OpenFlow的流媒体云服务迁移技术研究", 《中国优秀硕士学位论文全文数据库》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105072162A (zh) * | 2015-07-21 | 2015-11-18 | 哈尔滨理工大学 | 一种基于sdn和云平台的大型网络游戏架构系统及方法 |
CN107086963A (zh) * | 2017-03-10 | 2017-08-22 | 中国传媒大学 | 一种基于sdn的目的端精准视频切换方法 |
CN107086963B (zh) * | 2017-03-10 | 2018-10-09 | 中国传媒大学 | 一种基于sdn的目的端精准视频切换方法 |
CN109905364B (zh) * | 2019-01-08 | 2021-04-20 | 山东省计算中心(国家超级计算济南中心) | 一种基于sdn架构的流媒体数据包的传输方法及系统 |
CN113992949A (zh) * | 2021-10-28 | 2022-01-28 | 广州华多网络科技有限公司 | 混流服务切换方法及其装置、设备、介质、产品 |
CN113992949B (zh) * | 2021-10-28 | 2023-04-28 | 广州华多网络科技有限公司 | 混流服务切换方法及其装置、设备、介质、产品 |
Also Published As
Publication number | Publication date |
---|---|
CN104486290B (zh) | 2017-10-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104205748B (zh) | 具有协调的业务方向的机架间冗余 | |
CN103841056B (zh) | 一种基于软件定义网络的开放存储管理调度方法和系统 | |
CN105162704B (zh) | Overlay网络中组播复制的方法及装置 | |
CN104468358A (zh) | 分布式虚拟交换机系统的报文转发方法及设备 | |
CN105264493A (zh) | 信息中心网络上的动态虚拟机迁移 | |
CN100505692C (zh) | 高性能路由器bgp路由协议分布并行实现方法 | |
CN108574616A (zh) | 一种处理路由的方法、设备及系统 | |
CN104106240A (zh) | 覆盖网络中转发和地址解析的平衡 | |
CN105247822A (zh) | 通过路由重新发起的方式链接服务区 | |
CN104618243B (zh) | 路由方法、装置及系统、网关调度方法及装置 | |
CN104243270A (zh) | 一种建立隧道的方法和装置 | |
US20140226525A1 (en) | Safe Multicast Distribution with Predictable Topology Changes | |
CN101005456A (zh) | 一种媒体流转发方法和媒体服务器 | |
CN103209088A (zh) | 环网标签交换路径创建方法及相关设备和通信系统 | |
CN104023006A (zh) | 一种基于应用层中继的多径传输系统及方法 | |
CN104396214B (zh) | 针对使用路径中信令的设备和基础设施部件的丰富媒体状态和反馈 | |
CN103916320B (zh) | 一种vm设备跨网迁移后的报文处理方法及装置 | |
CN104980355A (zh) | 一种sdn环境下的源端可控组播数据传输方法及系统 | |
CN104486290A (zh) | 一种基于OpenFlow的流媒体云透明服务装置 | |
CN104936254A (zh) | 基于软件定义网络的无线网络无缝移交方法及其装置 | |
CN103067287B (zh) | 在转发和控制分离架构下实现虚拟可编程路由器的方法 | |
CN104506459B (zh) | 智慧协同网络中的数据包传输方法、装置和系统 | |
CN105376292A (zh) | 基于名称的转发中的显式策略反馈 | |
CN105306365A (zh) | 一种电力通信网络及其扩容与抗毁路由路径确定方法 | |
CN106790146A (zh) | 一种云环境下基于sdn技术实现移动组播的系统及其运行方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |