CN106162209B - 一种基于sdn技术的内容分发网络直播***与方法 - Google Patents

一种基于sdn技术的内容分发网络直播***与方法 Download PDF

Info

Publication number
CN106162209B
CN106162209B CN201610509159.5A CN201610509159A CN106162209B CN 106162209 B CN106162209 B CN 106162209B CN 201610509159 A CN201610509159 A CN 201610509159A CN 106162209 B CN106162209 B CN 106162209B
Authority
CN
China
Prior art keywords
node
edge
sdn
path
video
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.)
Active
Application number
CN201610509159.5A
Other languages
English (en)
Other versions
CN106162209A (zh
Inventor
孙毅
丁东辉
邓波
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Institute of Computing Technology of CAS
Original Assignee
Institute of Computing Technology of CAS
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Institute of Computing Technology of CAS filed Critical Institute of Computing Technology of CAS
Priority to CN201610509159.5A priority Critical patent/CN106162209B/zh
Publication of CN106162209A publication Critical patent/CN106162209A/zh
Application granted granted Critical
Publication of CN106162209B publication Critical patent/CN106162209B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2187Live feed
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network 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/63Control 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/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
    • H04N21/64723Monitoring of network processes or resources, e.g. monitoring of network load
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network 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/63Control 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/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
    • H04N21/64723Monitoring of network processes or resources, e.g. monitoring of network load
    • H04N21/64738Monitoring network characteristics, e.g. bandwidth, congestion level
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network 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/63Control 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/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
    • H04N21/64784Data processing by the network
    • H04N21/64792Controlling the complexity of the content stream, e.g. by dropping packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network 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/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Databases & Information Systems (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提出一种基于SDN技术的内容分发网络直播***与方法,涉及互联网技术领域,该***包括一个中心服务器,多个CDN结点,多个播放器,多个SDN交换机,多个所述CDN节点包括内部CDN结点与边缘CDN结点,所述内部CDN结点连接至所述中心服务器,并通过SDN交换机与边缘CDN结点相连,所述边缘CDN节点连接所述播放器,其中所述中心服务器与直播源相连接,进行视频直播时,所述中心服务器将来自直播源的视频片段下发至各个所述内部CDN结点,所述内部CDN结点暂存来自所述中心服务器的视频片段,并经由所述SDN交换机将视频片段下发至所述边缘CDN结点,所述播放器通过所述SDN交换机连接至最近的所述边缘CDN结点,并从所述边缘CDN结点获取实时视频片段。

Description

一种基于SDN技术的内容分发网络直播***与方法
技术领域
本发明涉及互联网技术领域,特别涉及一种基于SDN技术的内容分发网络直播***与方法。
背景技术
内容分发网络(Content Delivery Network,CDN)是一种将网络内容,如视频、网页等,从远程中心服务器分发至距离用户较近的缓存服务器,从而使用户能够就近访问所请求内容的技术,CDN技术不仅可以减轻中心服务器的负载,而且能够提升用户可感知的服务质量。
在传统的内容分发技术中,中心服务器将内容复制到下属的多个CDN结点中,用户通过DNS查询等方式,连接至最近的CDN结点,从而获取所需内容。
专利CN102231749A公开了一种利用CDN网络传输直播流的***。在此***中,终端播放器,边缘CDN结点,内部CDN结点,以及直播源服务器构成以直播源为根的树状结构。终端播放器将直播请求逐级发送至直播源服务器,各级CDN结点暂存直播源服务器发出的视频片段文件。通过这种逐级缓存机制,缩短了用户获取直播视频所需的时延。
然而,在视频直播时,由于网络的不稳定性,用户也常常难以获得较好的服务体验,例如,当网络中某一局部的访问量激增时,用户端经常出现观看视频卡顿等现象。
经过研究,我们认为,在传统的CDN方案中,CDN的提供商难以从用户的角度感知服务质量,同时,由于用户采用DNS方式连接至CDN结点,提供商无法获取网络的全局拓扑信息,因而无法对某一局部的状态变化及时作出调整,使其满足直播流的传输需求,当用户的服务质量不佳时,***只能简单地更换CDN结点,但很多时候,真正影响服务质量的瓶颈在于CDN结点与用户之间的传输路径,在传统的网络中,传输路径由转发设备的路由协议决定,***难以依据自身的需求选择合适的转发路径。
近年来,软件定义网络(Software Defined Network,SDN)日益成为工业界与学术界的研究热点,SDN的核心理念为控制平面与转发平面的分离,控制平面依据用户需求与网络状态,实时调度资源,而转发平面则专注于数据包的转发,OpenFlow是SDN架构中最具影响力的协议,在这一协议中,控制平面向转发平面下发一种被称作流表项(Flow TableEntry)的数据结构,数据包的包头与流表项相匹配,从而完成数据转发、流量统计等功能。
可以看出,SDN架构的集中控制技术,提供了网络的动态信息获取、转发路径调整等功能,从而能够解决上述问题。基于这一背景,本发明提出了一种基于SDN技术的直播***与方法。
发明内容
针对现有技术的不足,本发明提出一种基于SDN技术的内容分发网络直播***与方法。
本发明提出一种基于SDN技术的内容分发网络直播***,用于视频直播,包括:
一个中心服务器,多个CDN结点,多个播放器,多个SDN交换机,多个所述CDN节点包括内部CDN结点与边缘CDN结点,所述内部CDN结点连接至所述中心服务器,并通过SDN交换机与边缘CDN结点相连,所述边缘CDN节点连接所述播放器,其中所述中心服务器与直播源相连接,进行视频直播时,所述中心服务器将来自直播源的视频片段下发至各个所述内部CDN结点,所述内部CDN结点暂存来自所述中心服务器的视频片段,并经由所述SDN交换机将视频片段下发至所述边缘CDN结点,所述播放器通过所述SDN交换机连接至最近的所述边缘CDN结点,并从所述边缘CDN结点获取实时视频片段。
还包括SDN控制器Ci与Ce,其中设内部CDN结点与边缘CDN结点互联的SDN网络为Neti,Neti包含若干由SDN交换机互联组成的路径,所述SDN交换机通过OpenFlow协议与SDN控制器Ci通信;
边缘CDN结点通过另一SDN网络Nete与播放器互联,SDN网络Nete包含若干由SDN交换机互联组成的路径,在SDN网络Nete中,SDN交换机通过OpenFlow协议与SDN控制器Ce通信。
所述播放器包含监控模块以及请求模块,监控模块负责从用户角度监控当前的服务质量,若出现影响用户服务质量的情况,则请求模块向SDN控制器Ce发送服务质量请求。
还包括假设发送服务质量请求的播放器为p,播放器p经由Nete中的传输路径re连接至边缘CDN结点Se,边缘CDN结点Se经由Neti中的传输路径ri连接至内部CDN结点Si
SDN控制器Ce在收到来自播放器的服务质量请求后,执行以下步骤。
步骤1.SDN控制器Ce从服务质量请求中解析出播放器p的地址,播放器p所连接的边缘CDN结点Se的地址,以及播放器p的播放参数;
步骤2.SDN控制器Ce通过OpenFlow协议获取路径re上每段链路的状态信息,并判断路径re是否满足视频数据的传输需求;
步骤3.如果链路re无法满足视频数据的传输需求,SND控制器Ce通过OpenFlow协议获取播放器p与边缘CDN结点Se之间全部链路的状态信息。
步骤4.SND控制器Ce以播放器p与边缘CDN结点Se之间的链路状态与交换机跳数为度量,在Nete内为播放器p与边缘CDN结点Se间的视频流指定一条新的转发路径。
步骤5.如果在步骤2中,路径re的链路状态满足视频的传输需求,则SDN控制器Ce获取边缘CDN结点Se当前的负载信息,判断边缘CDN结点Se的当前负载是否满足视频分发的需求;
步骤6.如果边缘CDN结点Se的负载大于一阈值,无法满足视频内容分发需求,那么SDN控制器Ce获取其余边缘CDN结点的性能信息;如果存在负载满足视频分发需求的其余边缘CDN结点,SDN控制器Ce依据边缘CDN结点的地理位置,选择其中一个边缘CDN结点Se`,然后,播放器p重新连接至Se`,从Se`获取视频片段。
还包括步骤7.如果在步骤5中,边缘CDN结点Se的负载能够满足视频内容分发需求,SDN控制器Ce向SDN控制器Ci发送服务质量请求。
步骤8.SDN控制器Ci接收到服务质量请求后,通过OpenFlow协议获取路径ri的状态信息,并判断路径ri的状态是否满足视频数据的传输需求;
步骤9.如果路径ri的状态无法满足视频数据的传输需求,SDN控制器Ci通过OpenFlow协议获取内部CDN结点Si与边缘CDN结点Se之间全部链路的状态信息。
步骤10.SDN控制器Ci以内部CDN结点Si与边缘CDN结点Se之间的链路状态与交换机跳数为度量,在Neti内为内部CDN结点Si与边缘CDN结点Se间的视频流指定一条新的转发路径;
步骤11.如果在步骤8中,路径ri能够满足视频的传输需求,则SDN控制器Ci获取内部CDN结点Si当前的负载状况,判断内部CDN结点Si负载是否满足视频的分发需求;
步骤12.如果内部CDN结点Si的负载大于一阈值,SDN控制器Ci获取其余内部CDN结点的性能信息;如果存在负载状况满足视频分发需求的其余内部CDN结点,SDN控制器Ci选择其中一个内部CDN结点Si`,然后,边缘CDN结点Se重新连接至Si`,从Si`获取视频片段;
步骤13.如果在步骤11中,内部CDN结点Si的当前负载能够满足内容分发的需求,则SDN控制器Ci认为影响服务质量的瓶颈存在于中心服务器或边缘CDN结点Si与中心服务器间的网络。
本发明还提出一种利用如权利要求1所述***的视频直播方法,包括:
所述中心服务器与直播源相连接,进行视频直播时,所述中心服务器将来自直播源的视频片段下发至各个所述内部CDN结点,所述内部CDN结点暂存来自所述中心服务器的视频片段,并经由所述SDN交换机将视频片段下发至所述边缘CDN结点,所述播放器通过所述SDN交换机连接至最近的所述边缘CDN结点,并从所述边缘CDN结点获取实时视频片段。
还包括SDN控制器Ci与Ce,其中设内部CDN结点与边缘CDN结点互联的SDN网络为Neti,Neti包含若干由SDN交换机互联组成的路径,所述SDN交换机通过OpenFlow协议与SDN控制器Ci通信;
边缘CDN结点通过另一SDN网络Nete与播放器互联,SDN网络Nete包含若干由SDN交换机互联组成的路径,在SDN网络Nete中,SDN交换机通过OpenFlow协议与SDN控制器Ce通信。
所述播放器包含监控模块以及请求模块,监控模块负责从用户角度监控当前的服务质量,若出现影响用户服务质量的情况,则请求模块向SDN控制器Ce发送服务质量请求。
还包括假设发送服务质量请求的播放器为p,播放器p经由Nete中的传输路径re连接至边缘CDN结点Se,边缘CDN结点Se经由Neti中的传输路径ri连接至内部CDN结点Si
SDN控制器Ce在收到来自播放器的服务质量请求后,执行以下步骤。
步骤1.SDN控制器Ce从服务质量请求中解析出播放器p的地址,播放器p所连接的边缘CDN结点Se的地址,以及播放器p的播放参数;
步骤2.SDN控制器Ce通过OpenFlow协议获取路径re上每段链路的状态信息,并判断路径re是否满足视频数据的传输需求;
步骤3.如果链路re无法满足视频数据的传输需求,SND控制器Ce通过OpenFlow协议获取播放器p与边缘CDN结点Se之间全部链路的状态信息。
步骤4.SND控制器Ce以播放器p与边缘CDN结点Se之间的链路状态与交换机跳数为度量,在Nete内为播放器p与边缘CDN结点Se间的视频流指定一条新的转发路径。
步骤5.如果在步骤2中,路径re的链路状态满足视频的传输需求,则SDN控制器Ce获取边缘CDN结点Se当前的负载信息,判断边缘CDN结点Se的当前负载是否满足视频分发的需求;
步骤6.如果边缘CDN结点Se的负载大于一阈值,无法满足视频内容分发需求,那么SDN控制器Ce获取其余边缘CDN结点的性能信息;如果存在负载满足视频分发需求的其余边缘CDN结点,SDN控制器Ce依据边缘CDN结点的地理位置,选择其中一个边缘CDN结点Se`,然后,播放器p重新连接至Se`,从Se`获取视频片段。
还包括步骤7.如果在步骤5中,边缘CDN结点Se的负载能够满足视频内容分发需求,SDN控制器Ce向SDN控制器Ci发送服务质量请求。
步骤8.SDN控制器Ci接收到服务质量请求后,通过OpenFlow协议获取路径ri的状态信息,并判断路径ri的状态是否满足视频数据的传输需求;
步骤9.如果路径ri的状态无法满足视频数据的传输需求,SDN控制器Ci通过OpenFlow协议获取内部CDN结点Si与边缘CDN结点Se之间全部链路的状态信息。
步骤10.SDN控制器Ci以内部CDN结点Si与边缘CDN结点Se之间的链路状态与交换机跳数为度量,在Neti内为内部CDN结点Si与边缘CDN结点Se间的视频流指定一条新的转发路径;
步骤11.如果在步骤8中,路径ri能够满足视频的传输需求,则SDN控制器Ci获取内部CDN结点Si当前的负载状况,判断内部CDN结点Si负载是否满足视频的分发需求;
步骤12.如果内部CDN结点Si的负载大于一阈值,SDN控制器Ci获取其余内部CDN结点的性能信息;如果存在负载状况满足视频分发需求的其余内部CDN结点,SDN控制器Ci选择其中一个内部CDN结点Si`,然后,边缘CDN结点Se重新连接至Si`,从Si`获取视频片段;
步骤13.如果在步骤11中,内部CDN结点Si的当前负载能够满足内容分发的需求,则SDN控制器Ci认为影响服务质量的瓶颈存在于中心服务器或边缘CDN结点Si与中心服务器间的网络。
由以上方案可知,本发明的优点在于:
发明的优点在于,***能够实时获取客户端的服务质量,并且定位服务质量的瓶颈在于CDN结点还是结点间的路径。当瓶颈存在于结点间的转发路径时,***可以动态调整转发路径,而不是简单地更换CDN结点,从而避免了频繁切换CDN结点导致的播放卡顿现象。
附图说明
图1示出了本发明一个实施例的***结构图;
图2示出了SDN控制器Ce接收到播放器发送的QoS请求后执行的流程;
图3示出了SDN控制器Ci接收到SDN控制器Ce发送的QoS请求后执行的流程。
具体实施方式
本发明的目标在于提供一种基于SDN技术的内容分发网络直播***与方法,用以在视频直播时,能够依据网络或服务器的实时状态,实时调整提供服务的CDN结点或转发路径,从而提升用户端的服务质量(Quality of Service,QoS)。
如图1所示,本***包括一个中心服务器,多个CDN结点,多个播放器,多个SDN交换机,以及SDN控制器Ci和Ce
所述CDN结点分为内部CDN结点与边缘CDN结点。内部CDN结点连接至中心服务器,并通过SDN网络连接至边缘CDN结点。
同一个内部CDN结点可以连接多台边缘CDN结点,而同一边缘CDN点又可以连接多个播放器。通过这种方式,本发明***被组织为一个以中心服务器为根结点的树状结构。
设内部CDN结点与边缘CDN结点互联的SDN网络为Neti。Neti包含若干由SDN交换机互联组成的路径,所述SDN交换机通过OpenFlow协议与SDN控制器Ci通信,此外,内部CDN结点也能够通过额外的路径与Ci通信。
边缘CDN结点一方面通过Neti与内部CDN结点互联,另一方面通过另一SDN网络Nete与播放器互联,与Neti类似,Nete也包含若干由SDN交换机互联组成的路径。
在Nete中,SDN交换机通过OpenFlow协议与SDN控制器Ce通信。播放器与边缘CDN结点也能够通过额外的路径与SDN控制器Ce通信。
中心服务器与直播源相连接。进行视频直播时,中心服务器将来自直播源的视频片段下发至各个内部CDN结点,所述内部CDN结点暂存来自中心服务器的视频片段,并经由Neti将视频片段下发至所述边缘CDN结点,所述播放器通过Nete连接至最近的边缘CDN结点,并从所述边缘CDN结点获取实时视频片段。
所述播放器是运行于客户端主机的软件,包含监控模块以及请求模块。监控模块负责从用户角度监控当前的服务质量(QoS),若出现影响用户服务质量的情况,如缓冲时间过长等,请求模块向SDN控制器Ce发送QoS请求。
假设发送QoS请求的播放器为p,播放器p经由Nete中的传输路径re连接至边缘CDN结点Se,边缘CDN结点Se经由Neti中的传输路径ri连接至内部CDN结点Si
控制器Ce在收到来自播放器的QoS请求后,执行以下步骤。
步骤1.Ce从QoS请求中解析出所述播放器p的地址,p所连接的边缘CDN结点Se的地址,以及播放器p的播放参数,如缓冲时间等。
步骤2.Ce通过OpenFlow协议获取路径re上每段链路的状态信息,如可用带宽、丢包率等,并判断re是否满足视频数据的传输需求。
步骤3.如果re无法满足视频数据的传输需求,Ce通过OpenFlow协议获取p与Se之间全部链路的状态信息。
步骤4.Ce以p与Se之间的链路状态和交换机跳数为度量,在Nete内为p与Se间的视频流指定一条新的转发路径。
步骤5.如果在步骤2中,re的链路状态能够满足视频的传输需求,那么Ce获取Se当前的负载信息,如内存、CPU占用率,所连接的播放器数等,据此判断Se的当前负载是否满足视频分发的需求。
步骤6.如果Se的负载大于一阈值,无法满足视频内容分发需求,那么Ce获取其余边缘CDN结点的性能信息。如果存在负载满足视频分发需求的其余边缘CDN结点,Ce依据边缘CDN结点的地理位置,选择其中一个边缘CDN结点Se`。然后,播放器p重新连接至Se`,从Se`获取视频片段。
步骤7.如果在步骤5中,Se的负载能够满足视频内容分发需求,控制器Ce向控制器Ci发送QoS请求。
步骤8.控制器Ci接收到QoS请求后,通过OpenFlow协议获取路径ri的状态信息,并判断ri状态是否满足视频数据的传输需求。
步骤9.如果当前路径状态无法满足视频数据的传输需求,Ci通过OpenFlow协议获取Si与Se之间全部链路的状态信息。
步骤10.Ci以Si与Se之间的链路状态和交换机跳数为度量,在网络Neti内为Si与Se间的视频流指定一条新的转发路径。
步骤11.如果在步骤8中,ri能够满足视频的传输需求,那么Ci获取Si当前的负载状况,如内存、CPU占用率、所连接的边缘CDN结点数量等,据此判断Si负载是否满足视频的分发需求。
步骤12.如果Si的负载大于一阈值,Ci获取其余内部CDN结点的性能信息。如果存在负载状况满足视频分发需求的其余内部CDN结点,Ci选择其中一个内部CDN结点Si`,然后,Se重新连接至Si`,从Si`获取视频片段。
步骤13.如果在步骤11中,Si的当前负载能够满足内容分发的需求,所述SDN控制器Ci认定影响服务质量的瓶颈存在于中心服务器或Si与中心服务器间的网络。
以下为本发明的实施例,如下所示:
下面将详细描述本发明的各个方面的特征和示例性实施例,在下面的详细描述中,提出了许多具体细节,以便提供对本发明的全面理解,但是,对于本领域技术人员来说很明显的是,本发明可以在不需要这些具体细节中的一些细节的情况下实施,下面对实施例的描述仅仅是为了通过示出本发明的示例来提供对本发明的更好的理解,本发明决不限于下面所提出的任何具体配置和算法,而是在不脱离本发明基本思想的前提下覆盖了元素、部件和算法的任何修改、替换和改进。
图1为本发明一个实施例的***结构图,该***包括一台中心服务器,一组内部CDN结点,一组边缘CDN结点,多个播放器,SDN控制器Ce、Ci,以及SDN网络Nete、Neti,其中,Nete、Neti分别包含多条由SDN交换机互联组成的路径。
Neti中的SDN交换机通过OpenFlow协议与SDN控制器Ci通信,与之类似,Nete中的SDN交换机通过OpenFlow协议与SDN控制器Nete通信。
除此之外,内部CDN结点通过额外的路径与SDN控制器Ci通信,各个边缘CDN结点以及播放器通过额外的路径与Ce通信。
内部CDN结点连接至中心服务器,并通过SDN网络Neti中的路径与多个边缘CDN结点互联,边缘CDN结点一方面通过SDN网络Neti与内部CDN结互联,另一方面通过SDN网络Nete与多个播放器互联。
同一个内部CDN结点可以连接多台边缘CDN结点,而同一边缘CDN点又可以连接多个播放器,因而,所述内容分发***被组织为一个以中心服务器为根结点的树状结构,而播放器为***的叶子结点。
在进行视频直播时,中心服务器将来自直播源的视频片段不断下发至内部CDN结点,而内部CDN结点缓存来自中心服务器的视频片段,并通过SDN网络Neti中的转发路径,将视频片段发送至各个边缘CDN结点。当某一播放器p试图播放直播视频时,将通过DNS域名解析等方式,经由网络Nete中的路径,连接至最近的边缘CDN结点,如Se,这样,Se就可以把从某个内部CDN结点获取的视频片段发送至播放器p。
所述播放器为运行于客户端主机的应用程序,包含监控模块与请求模块。其中,监控模块可以从用户的角度监控当前的服务质量。例如,播放的缓冲时间,是衡量服务质量的重要因素之一。当缓冲时间过长时,监控模块将告知请求模块,随后,请求模块向SDN控制器Ce发送QoS请求。
控制器Ce在接收到播放器p发送的QoS请求后,运行如图2所示的流程。
设p与Se间的路径为re,Se连接的内部CDN结点为Si,Se与Si间的路径为ri
步骤S201中,控制器Ce从所述QoS请求中解析出p与Se的地址,以及视频的播放参数,如缓冲时间等。
步骤S202中,控制器Ce获取路径re上每段链路的状态信息。所述链路状态信息包括可用带宽、丢包率等。
在OpenFlow 1.0及以上协议中,每一流表项内均维护一个计数器(Counter)字段,该字段可以统计每端口接收的字节数、丢弃的分组数等内容,因而,Ce能够便捷地获取每段链路的状态信息。
步骤S203中,Ce判断re上每段链路的状态是否满足视频传输的需求。例如,在YouTubeTM中,对于1080p的视频,推荐带宽为5Mb/S,对于720p的视频,推荐带宽为2.5Mb/S。若re中存在某条链路,其可用带宽远小于推荐带宽,说明re无法满足视频的传输需求,所述流程图由步骤S203转至步骤S204。
由于在SDN网络Nete中,存在多条从播放器p至边缘CDN结点Se的路径,因而,步骤S204中,所述控制器Ce获取p与Se之间全部链路的状态信息。
步骤S205中,Ce以链路状态和所经过的交换机跳数为度量,通过最短路径优先算法,为p与Se指定一条新路径。
在具体实施中,Ce先从p与Se之间的全部链路中,筛选出带宽、丢包率等性能指标满足视频传输需求的链路,然后依据所经过交换机的跳数,运行最短路径优先算法,为p与Se之间直播流的传输指定一条新的转发路径。
如果现有路径re能够满足视频直播流传输的需求,说明影响用户服务质量的瓶颈可能存在于边缘CDN结点Se,于是,流程图2从步骤S203转至步骤S206。
步骤S206中,Ce获取Se的负载信息,如内存、CPU使用率、并发连接的播放器数等。
步骤S207中,Ce判断Se的负载是否满足内容分发需求。
如果Se的负载过大,无法满足视频内容分发的需求,那么在步骤S208中,Ce获取其余边缘CDN结点的性能信息。
随后,在步骤S209中,如果存在满足内容分发需求的其余边缘CDN结点,Ce依据播放器p与各边缘CDN结点的距离,为播放器重新选择一个新的CDN结点Se`,随后,p与Se`建立HTTP连接,p从Se`处获取下一视频片段。
如果在步骤S207中,Se的负载能够满足内容分发的需求,说明影响服务质量的瓶颈存在于Se的上层网络,也就是说,Se未从Si处及时获得视频片段,据此,当Se内最新视频片段的获取时间与当前时间的差值大于某一阈值t1时,流程图2从步骤S207转至S210。
步骤S210中,SDN控制器Ce向SDN控制器Ci发送QoS请求。
Ci收到来自Ce的QoS请求后,执行如图3所示的步骤。
步骤S301中,控制器Ci从所述QoS请求中解析出Se与Si的地址,如IP地址。
步骤S302中,Ci通过OpenFlow协议获取路径ri上的链路状态信息。
步骤S303中,Ci判断ri上的链路状态是否满足视频数据的传输需求,如果链路状态无法满足视频数据的传输需求,流程图3从步骤S303进入步骤S304。
步骤S304中,Ci获取Si与Se之间全部链路的状态信息。
然后,在步骤S305中,以各段链路的状态以及交换机跳数为度量,为Si与Se之间直播流的传输选择一条新的路径。
如果在步骤303中,ri的状态能够满足视频数据的传输需求,说明影响用户服务质量的因素可能存在于内部CDN结点Si自身。于是,流程图3从步骤S303进入步骤S306。
步骤S306中,所述控制器Ci获取Si当前的负载状况,如内存、CPU占用率,所连接的边缘CDN结点数量等。
随后,在步骤S307中,判断Si的负载状况是否满足视频的分发需求。
如果Si的负载过大,那么在步骤S308中,SDN控制器Ci获取其余内部CDN结点的性能信息。
如果***中存在负载状况满足视频分发需求的其余内部CDN结点,则在步骤S309中,所述SDN控制器依据各个内部CDN结点与Se的距离,为Se重新选择一个内部CDN结点Si`,接着,Se断开与Si的连接,与Si`建立新的HTTP连接,进而从Si`获取视频片段,并将其转发至包括p在内的各个播放器。
如果在步骤S307中,Si的负载能够满足内容分发的需求,说明Si也未能存储实时的视频片段。此时,流程图3从步骤S307转至S310。
步骤S310中,控制器Si认定影响性能的瓶颈在于中心服务器或者中心服务器与内部CDN结点间的网络。此时,控制器Ci构造一个回复消息,告知无法改善QoS,Ci将所述回复消息发送至控制器Ce,然后,Ce将所述回复消息发送至播放器p。

Claims (6)

1.一种基于SDN技术的内容分发网络直播***,用于视频直播,其特征在于,包括:
一个中心服务器,多个CDN结点,多个播放器,多个SDN交换机,多个所述CDN节点包括内部CDN结点与边缘CDN结点,所述内部CDN结点连接至所述中心服务器,并通过SDN交换机与边缘CDN结点相连,所述边缘CDN节点连接所述播放器,其中所述中心服务器与直播源相连接,进行视频直播时,所述中心服务器将来自直播源的视频片段下发至各个所述内部CDN结点,所述内部CDN结点暂存来自所述中心服务器的视频片段,并经由所述SDN交换机将视频片段下发至所述边缘CDN结点,所述播放器通过所述SDN交换机连接至最近的所述边缘CDN结点,并从所述边缘CDN结点获取实时视频片段;
还包括SDN控制器Ci与Ce,其中设内部CDN结点与边缘CDN结点互联的SDN网络为Neti,Neti包含若干由SDN交换机互联组成的路径,所述SDN交换机通过OpenFlow协议与SDN控制器Ci通信;
边缘CDN结点通过另一SDN网络Nete与播放器互联,SDN网络Nete包含若干由SDN交换机互联组成的路径,在SDN网络Nete中,SDN交换机通过OpenFlow协议与SDN控制器Ce通信;
设发送服务质量请求的播放器为p,播放器p经由Nete中的传输路径re连接至边缘CDN结点Se,边缘CDN结点Se经由Neti中的传输路径ri连接至内部CDN结点Si
SDN控制器Ce在收到来自播放器的服务质量请求后,执行以下步骤:
步骤1.SDN控制器Ce从服务质量请求中解析出播放器p的地址,播放器p所连接的边缘CDN结点Se的地址,以及播放器p的播放参数;
步骤2.SDN控制器Ce通过OpenFlow协议获取路径re上每段路径的状态信息,并判断路径re是否满足视频数据的传输需求;
步骤3.如果路径re无法满足视频数据的传输需求,SND控制器Ce通过OpenFlow协议获取播放器p与边缘CDN结点Se之间全部路径的状态信息;
步骤4. SND控制器Ce以播放器p与边缘CDN结点Se之间的路径状态与交换机跳数为度量,在Nete内为播放器p与边缘CDN结点Se间的视频流指定一条新的转发路径;
步骤5.如果在步骤2中,路径re的路径状态满足视频的传输需求,则SDN控制器Ce获取边缘CDN结点Se当前的负载信息,判断边缘CDN结点Se的当前负载是否满足视频分发的需求;
步骤6. 如果边缘CDN结点Se的负载大于一阈值,无法满足视频内容分发需求,那么SDN控制器Ce获取其余边缘CDN结点的性能信息;如果存在负载满足视频分发需求的其余边缘CDN结点,SDN控制器Ce依据边缘CDN结点的地理位置,选择其中一个边缘CDN结点Se`,然后,播放器p重新连接至Se`,从Se`获取视频片段。
2.如权利要求1所述的基于SDN技术的内容分发网络直播***,其特征在于,所述播放器包含监控模块以及请求模块,监控模块负责从用户角度监控当前的服务质量,若出现影响用户服务质量的情况,则请求模块向SDN控制器Ce发送服务质量请求。
3.如权利要求2所述的基于SDN技术的内容分发网络直播***,其特征在于,还包括步骤7. 如果在步骤5中,边缘CDN结点Se的负载能够满足视频内容分发需求,SDN控制器Ce向SDN控制器Ci发送服务质量请求;
步骤8.SDN控制器Ci接收到服务质量请求后,通过OpenFlow协议获取路径ri的状态信息,并判断路径ri的状态是否满足视频数据的传输需求;
步骤9. 如果路径ri的状态无法满足视频数据的传输需求,SDN控制器Ci通过OpenFlow协议获取内部CDN结点Si与边缘CDN结点Se之间全部路径的状态信息;
步骤10.SDN控制器Ci以内部CDN结点Si与边缘CDN结点Se之间的路径状态与交换机跳数为度量,在Neti内为内部CDN结点Si与边缘CDN结点Se间的视频流指定一条新的转发路径;
步骤11.如果在步骤8中,路径ri能够满足视频的传输需求,则SDN控制器Ci获取内部CDN结点Si当前的负载状况,判断内部CDN结点Si负载是否满足视频的分发需求;
步骤12. 如果内部CDN结点Si的负载大于一阈值,SDN控制器Ci获取其余内部CDN结点的性能信息;如果存在负载状况满足视频分发需求的其余内部CDN结点,SDN控制器Ci选择其中一个内部CDN结点Si`,然后,边缘CDN结点Se重新连接至Si`,从Si`获取视频片段;
步骤13.如果在步骤11中,内部CDN结点Si的当前负载能够满足内容分发的需求,则SDN控制器Ci认为影响服务质量的瓶颈存在于中心服务器或边缘CDN结点Si与中心服务器间的网络。
4.一种利用如权利要求1所述***的视频直播方法,其特征在于,包括:
所述中心服务器与直播源相连接,进行视频直播时,所述中心服务器将来自直播源的视频片段下发至各个所述内部CDN结点,所述内部CDN结点暂存来自所述中心服务器的视频片段,并经由所述SDN交换机将视频片段下发至所述边缘CDN结点,所述播放器通过所述SDN交换机连接至最近的所述边缘CDN结点,并从所述边缘CDN结点获取实时视频片段;
所述视频直播方法还包括SDN控制器Ci与Ce,其中设内部CDN结点与边缘CDN结点互联的SDN网络为Neti,Neti包含若干由SDN交换机互联组成的路径,所述SDN交换机通过OpenFlow协议与SDN控制器Ci通信;
边缘CDN结点通过另一SDN网络Nete与播放器互联,SDN网络Nete包含若干由SDN交换机互联组成的路径,在SDN网络Nete中,SDN交换机通过OpenFlow协议与SDN控制器Ce通信;
所述视频直播方法还包括设发送服务质量请求的播放器为p,播放器p经由Nete中的传输路径re连接至边缘CDN结点Se,边缘CDN结点Se经由Neti中的传输路径ri连接至内部CDN结点Si
SDN控制器Ce在收到来自播放器的服务质量请求后,执行以下步骤;
步骤1.SDN控制器Ce从服务质量请求中解析出播放器p的地址,播放器p所连接的边缘CDN结点Se的地址,以及播放器p的播放参数;
步骤2.SDN控制器Ce通过OpenFlow协议获取路径re上每段路径的状态信息,并判断路径re是否满足视频数据的传输需求;
步骤3.如果路径re无法满足视频数据的传输需求,SND控制器Ce通过OpenFlow协议获取播放器p与边缘CDN结点Se之间全部路径的状态信息;
步骤4. SND控制器Ce以播放器p与边缘CDN结点Se之间的路径状态与交换机跳数为度量,在Nete内为播放器p与边缘CDN结点Se间的视频流指定一条新的转发路径;
步骤5.如果在步骤2中,路径re的路径状态满足视频的传输需求,则SDN控制器Ce获取边缘CDN结点Se当前的负载信息,判断边缘CDN结点Se的当前负载是否满足视频分发的需求;
步骤6. 如果边缘CDN结点Se的负载大于一阈值,无法满足视频内容分发需求,那么SDN控制器Ce获取其余边缘CDN结点的性能信息;如果存在负载满足视频分发需求的其余边缘CDN结点,SDN控制器Ce依据边缘CDN结点的地理位置,选择其中一个边缘CDN结点Se`,然后,播放器p重新连接至Se`,从Se`获取视频片段。
5.如权利要求4所述的视频直播方法,其特征在于,所述播放器包含监控模块以及请求模块,监控模块负责从用户角度监控当前的服务质量,若出现影响用户服务质量的情况,则请求模块向SDN控制器Ce发送服务质量请求。
6.如权利要求5所述的视频直播方法,其特征在于,还包括步骤7. 如果在步骤5中,边缘CDN结点Se的负载能够满足视频内容分发需求,SDN控制器Ce向SDN控制器Ci发送服务质量请求;
步骤8.SDN控制器Ci接收到服务质量请求后,通过OpenFlow协议获取路径ri的状态信息,并判断路径ri的状态是否满足视频数据的传输需求;
步骤9. 如果路径ri的状态无法满足视频数据的传输需求,SDN控制器Ci通过OpenFlow协议获取内部CDN结点Si与边缘CDN结点Se之间全部路径的状态信息;
步骤10.SDN控制器Ci以内部CDN结点Si与边缘CDN结点Se之间的路径状态与交换机跳数为度量,在Neti内为内部CDN结点Si与边缘CDN结点Se间的视频流指定一条新的转发路径;
步骤11.如果在步骤8中,路径ri能够满足视频的传输需求,则SDN控制器Ci获取内部CDN结点Si当前的负载状况,判断内部CDN结点Si负载是否满足视频的分发需求;
步骤12. 如果内部CDN结点Si的负载大于一阈值,SDN控制器Ci获取其余内部CDN结点的性能信息;如果存在负载状况满足视频分发需求的其余内部CDN结点,SDN控制器Ci选择其中一个内部CDN结点Si`,然后,边缘CDN结点Se重新连接至Si`,从Si`获取视频片段;
步骤13.如果在步骤11中,内部CDN结点Si的当前负载能够满足内容分发的需求,则SDN控制器Ci认为影响服务质量的瓶颈存在于中心服务器或边缘CDN结点Si与中心服务器间的网络。
CN201610509159.5A 2016-06-30 2016-06-30 一种基于sdn技术的内容分发网络直播***与方法 Active CN106162209B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610509159.5A CN106162209B (zh) 2016-06-30 2016-06-30 一种基于sdn技术的内容分发网络直播***与方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610509159.5A CN106162209B (zh) 2016-06-30 2016-06-30 一种基于sdn技术的内容分发网络直播***与方法

Publications (2)

Publication Number Publication Date
CN106162209A CN106162209A (zh) 2016-11-23
CN106162209B true CN106162209B (zh) 2019-10-18

Family

ID=57350788

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610509159.5A Active CN106162209B (zh) 2016-06-30 2016-06-30 一种基于sdn技术的内容分发网络直播***与方法

Country Status (1)

Country Link
CN (1) CN106162209B (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106878769B (zh) * 2017-02-23 2020-05-19 北京潘达互娱科技有限公司 直播视频质量监测方法和装置
CN107864092B (zh) * 2017-10-31 2020-03-27 山东师范大学 一种基于多播技术的云内容分发方法、装置
CN107659666A (zh) * 2017-11-03 2018-02-02 山东师范大学 基于移动用户的实时视频分发***及方法
CN109862377B (zh) 2017-11-30 2020-12-01 华为技术有限公司 视频传输方法、装置、***及计算机可读存储介质
CN109905734A (zh) * 2017-12-08 2019-06-18 北京京东尚科信息技术有限公司 直播分流的方法及装置、直播***、存储介质及电子设备
CN108712458B (zh) * 2018-03-30 2021-06-18 中国科学院信息工程研究所 支持内容控制的软件定义网络控制器
CN108769743B (zh) * 2018-05-11 2020-11-06 中兴通讯股份有限公司 一种视频播放控制方法、***、节点和计算机存储介质
CN108924579A (zh) * 2018-08-28 2018-11-30 深圳市网心科技有限公司 视频网络***、回源网络节点设备、方法和存储介质
CN112788050A (zh) * 2021-01-25 2021-05-11 山东云缦智能科技有限公司 基于内容分发网络实现低延时直播的***及方法
CN116996481B (zh) * 2023-09-27 2024-02-23 联通在线信息科技有限公司 直播数据获取方法、装置、电子设备和存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102118270A (zh) * 2011-03-04 2011-07-06 华为技术有限公司 一种度量用户体验质量QoE的方法及装置
CN102231749A (zh) * 2011-08-12 2011-11-02 乐视网信息技术(北京)股份有限公司 一种利用cdn网络传输直播流的***和方法
CN103795805A (zh) * 2014-02-27 2014-05-14 中国科学技术大学苏州研究院 基于sdn的分布式服务器负载均衡方法
WO2016058417A1 (zh) * 2014-10-13 2016-04-21 中兴通讯股份有限公司 基于软件定义网络实现内容分发网络的方法及***
CN105681413A (zh) * 2016-01-14 2016-06-15 北京邮电大学 一种cdn与isp协同处理数据的方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102118270A (zh) * 2011-03-04 2011-07-06 华为技术有限公司 一种度量用户体验质量QoE的方法及装置
CN102231749A (zh) * 2011-08-12 2011-11-02 乐视网信息技术(北京)股份有限公司 一种利用cdn网络传输直播流的***和方法
CN103795805A (zh) * 2014-02-27 2014-05-14 中国科学技术大学苏州研究院 基于sdn的分布式服务器负载均衡方法
WO2016058417A1 (zh) * 2014-10-13 2016-04-21 中兴通讯股份有限公司 基于软件定义网络实现内容分发网络的方法及***
CN105681413A (zh) * 2016-01-14 2016-06-15 北京邮电大学 一种cdn与isp协同处理数据的方法及装置

Also Published As

Publication number Publication date
CN106162209A (zh) 2016-11-23

Similar Documents

Publication Publication Date Title
CN106162209B (zh) 一种基于sdn技术的内容分发网络直播***与方法
Nam et al. Towards QoE-aware video streaming using SDN
CN109787921B (zh) Cdn带宽调度方法、采集及调度服务器和存储介质
Egilmez et al. OpenQoS: An OpenFlow controller design for multimedia delivery with end-to-end Quality of Service over Software-Defined Networks
US8565218B2 (en) Flow path discovery in network to guarantee multiple metric QoS constraints
US11522786B2 (en) Packet forwarding path determining method, device, and system
CN106454414B (zh) 一种多径网络实时视频传输方法
CN106302209B (zh) 一种片上网络NoC及数据传输的方法
KR101486418B1 (ko) 또 다른 쌍에 가깝게 위치한 쌍들의 그룹을 결정하는 방법, 연관된 서버, 및 분석 디바이스
CN101425973A (zh) 一种ip组播在等价多路径上的选路方法
Venkataraman et al. Quantifying video-QoE degradations of internet links
Egilmez et al. Openqos: Openflow controller design and test network for multimedia delivery with quality of service
Oche et al. Quality of service management for IPTV services support in VANETs: a performance evaluation study
Nishiyama et al. A cooperative user-system approach for optimizing performance in content distribution/delivery networks
CN107659853B (zh) 一种自适应流媒体直播控制***
Kalpana et al. Route availability with QoE and QoS metrics for data analysis of video stream over a mobile ad hoc networks
Li et al. On the performance of adaptive video caching over information-centric networks
Okumus et al. Inter-domain qos routing on diffserv networks: a region-based approach
Volkert et al. Multipath video streaming based on hierarchical routing management
Liu et al. P2broadcast: A hierarchical clustering live video streaming system for P2P networks
Lal et al. A rate adaptive and multipath routing protocol to support video streaming in manets
Lal et al. An adaptive cross-layer routing protocol for delay-sensitive applications over MANETs
Hu et al. Path selection with joint latency and packet loss for edge computing in SDN
Siddiqa et al. EMCA: Efficient multicasting and collision avoidance in CC-MANETs
Neto et al. Scalable multimedia group communications through the over-provisioning of network resources

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