CN105392025B - 用户侧带宽聚合的方法、设备和内容分发系统 - Google Patents

用户侧带宽聚合的方法、设备和内容分发系统 Download PDF

Info

Publication number
CN105392025B
CN105392025B CN201510920766.6A CN201510920766A CN105392025B CN 105392025 B CN105392025 B CN 105392025B CN 201510920766 A CN201510920766 A CN 201510920766A CN 105392025 B CN105392025 B CN 105392025B
Authority
CN
China
Prior art keywords
equipment
order
network
level
virtualization controller
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.)
Expired - Fee Related
Application number
CN201510920766.6A
Other languages
English (en)
Other versions
CN105392025A (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.)
1Verge Internet Technology Beijing Co Ltd
Original Assignee
1Verge Internet Technology Beijing Co Ltd
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 1Verge Internet Technology Beijing Co Ltd filed Critical 1Verge Internet Technology Beijing Co Ltd
Priority to CN201510920766.6A priority Critical patent/CN105392025B/zh
Publication of CN105392025A publication Critical patent/CN105392025A/zh
Application granted granted Critical
Publication of CN105392025B publication Critical patent/CN105392025B/zh
Expired - Fee Related 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/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • 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/25Management 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
    • 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/633Control signals issued by server directed to the network components or client
    • H04N21/6332Control signals issued by server directed to the network components or client directed to client

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

本发明涉及一种用户侧带宽聚合的方法、设备和内容分发系统,其中该方法包括:位于内容分发网络的虚拟化控制器接收用户终端的播放器发送的内容分发请求;根据各网络设备的状态信息进行设备分级,其中,分级结果包括所述网络设备为第一级设备或第二级设备;将所述分级结果下发给对应的网络设备;控制所述第一级设备和所述第二级设备之间建立超文本传输协议HTTP连接;向所述用户终端的播放器返回至少一个第二级设备的地址信息,以利用所返回的第二级设备的可用带宽向所述用户终端的播放器进行内容分发。本发明不仅能够较好的聚合用户侧网络设备的带宽,提供较高质量的服务内容,还有利于扩展系统规模。

Description

用户侧带宽聚合的方法、设备和内容分发系统
技术领域
本发明涉及互联网技术领域,尤其涉及一种用户侧带宽聚合的方法、设备和内容分发系统。
背景技术
网络音视频直播技术是一种重要的互联网热门应用,其在后台数据传输端的架构发展经历了单服务器阶段、服务器集群阶段以及CDN(Content Delivery Network,内容分发网络)+客户端P2P阶段等。
其中,在单服务器阶段,只有单台服务器提供服务,用户终端的播放器通过流媒体协议直接连接到服务器,获取音视频数据,并在本地解码播放。
在服务器集群阶段,采用多种热备份的服务器集群方案或者是从源服务器到边缘服务器进行CDN分发的组网方案。此时用户终端的播放器通过服务器端的负载均衡调度,连接到某一台服务器,然后通过流媒体协议(如RTMP(Real Time Messaging Protocol,实时消息传输协议)/RTSP(Real Time Streaming Protocol,实时流传输协议)/MMS(MultiMedia Server,多媒体服务器)等),或基于HTTP(超文本传输协议,Hyper Text TransferProtocol)(如HLS(Http Live Streaming,HTTP流媒体直播)/HTTP下载(download)等)进行传输的协议获取音视频数据,并在本地解码播放。这种纯服务器的解决方案,可以将服务器部署在IDC(Internet Data Center,互联网数据中心)机房里,以保证在线时长和服务带宽质量,缺点是成本较高。
在CDN+客户端P2P阶段,由于同时在线人数的不断增加,以及服务器带宽成本的压力,可以利用客户端来分担一部分访问压力。通常视频数据从生产端(摄像机/摄像头拍摄后进行数字编码并通过流媒体协议推送到源服务器)出来,进入CDN网络,通过CDN网络分发到CDN的边缘节点,在这里会按照P2P传输的需求对数据进行分割以适应P2P传输。同时需要在客户端部署一个P2P服务的代理,这样客户端的播放器可以从P2P代理获取数据。不同客户端的P2P代理还可以通过P2P协议互相共享数据。这样就分担了服务器的访问压力。另一方面,由于P2P网络的不稳定,要想保证数据传输质量不间断,还可以进行设定,让P2P代理在无法从别的P2P代理(对端PEER)获取数据时直接访问CDN网络里的服务器。例如专利CN201510150133.1就采用了这种CDN+P2P的架构。CDN+P2P的架构可以分担一部分服务器的访问压力,降低带宽成本,同时还可以保证服务质量。
但是P2P代理模块加入/退出P2P网络是不受控制的,完全取决于客户是否选择观看对应的直播频道,也就意味着,这一部分来自于客户端的带宽无法挪作它用。如果直播结束或用户退出收看,来自于客户端的这部分带宽就没有了。
发明内容
技术问题
有鉴于此,本发明要解决的技术问题是,如何提高用户侧带宽的利用率,以保证内容分发系统所分发的内容的服务质量。
解决方案
为了解决上述技术问题,根据本发明的一实施例,提供了一种用户侧带宽聚合的方法,包括:
位于内容分发网络的虚拟化控制器接收用户终端的播放器发送的内容分发请求;
所述虚拟化控制器根据各网络设备的状态信息进行设备分级,其中,分级结果包括所述网络设备为第一级设备或第二级设备,所述第一级设备为中间设备,所述第二级设备为边缘设备;
所述虚拟化控制器将所述分级结果下发给对应的网络设备;
所述虚拟化控制器控制所述第一级设备和所述第二级设备之间建立超文本传输协议HTTP连接;
所述虚拟化控制器向所述用户终端的播放器返回至少一个第二级设备的地址信息,以利用所返回的第二级设备的可用带宽向所述用户终端的播放器进行内容分发。
对于上述方法,在一种可能的实现方式中,所述虚拟化控制器根据各网络设备的状态信息进行设备分级,包括:
所述虚拟化控制器获取其所能管辖的网络设备的状态信息,所述网络设备的状态信息包括所述网络设备的可用带宽和NAT拓扑状态,在所述NAT拓扑状态中,第一状态表示所述网络设备具有公网IP地址,第二状态表示所述网络设备在NAT后且属于非对称网络NAT类型,第三状态表示所述网络设备在NAT后且属于对称网络NAT类型;
所述虚拟化控制器从其所能管辖的网络设备中选取多个空闲网络设备,并根据内容分发需求和各所述空闲网络设备的可用带宽,选取NAT拓扑状态为第一状态的部分设备作为第二级设备,所述内容分发需求包括直播节目的总带宽和码流,其中,所述第二级设备与客户端连接并能够与至少一个所述第一级设备建立HTTP连接,两个所述第二级设备之间禁止建立HTTP连接;
所述虚拟化控制器根据所述内容分发需求、所选取的第二级设备的数量和剩余的所述空闲网络设备的可用带宽,选取NAT拓扑状态为第一状态的部分设备作为第一级设备,和/或,选取NAT拓扑状态为第二状态的部分设备作为第一级设备,其中,所述第一级设备与所述内容分发网络连接,两个NAT拓扑状态为第一状态的第一级设备之间允许建立HTTP连接。
对于上述方法,在一种可能的实现方式中,所述虚拟化控制器控制所述第一级设备和所述第二级设备之间建立HTTP连接,包括:
对于每个所述第二级设备,所述虚拟化控制器向所述第二级设备下发第一级设备编号列表;
所述虚拟化控制器获取所述第二级设备根据所述第一级设备编号列表所选取的感兴趣的第一级设备的编号;
所述虚拟化控制器向所述第二级设备感兴趣的第一级设备发送所述第二级设备的地址信息,由收到所述地址信息的第一级设备主动向所述第二级设备发送HTTP连接请求以建立HTTP连接。
对于上述方法,在一种可能的实现方式中,还包括:
在所述第二级设备与至少一个第一级设备成功建立HTTP连接后,所述至少一个第一级设备将从云端的CDN模块获取的数据发送给所述第二级设备;
所述第二级设备将所接收到的所有数据进行组合,将得到的完整内容发送给所述用户终端的播放器。
对于上述方法,在一种可能的实现方式中,还包括:
所述第二级设备向所述至少一个第一级设备返回拒绝命令,接收到所述拒绝命令的第一级设备停止向所述第二级设备发送数据。
对于上述方法,在一种可能的实现方式中,还包括:
接收到所述拒绝命令的第一级设备与所述第二级设备保持HTTP连接,并按照预定间隔向所述第二级设备发送心跳报告。
对于上述方法,在一种可能的实现方式中,还包括:
所述虚拟化控制器检测各所述网络设备的运行状态;
在某个网络设备处于掉线的状态下,所述虚拟化控制器将掉线的网络设备的编号从可用设备列表中删除。
为了解决上述技术问题,根据本发明的另一实施例,提供了一种虚拟化控制器,其设置于云端的内容分发网络中,包括:
客户端接口模块,与用户终端的播放器相通信,用于接收所述用户终端的播放器发送的内容分发请求;
分级模块,与各网络设备相通信,用于根据各网络设备的状态信息进行设备分级,其中,分级结果包括所述网络设备为第一级设备或第二级设备,所述第一级设备为中间设备,所述第二级设备为边缘设备;
网络设备接口模块,与各所述网络设备相通信,用于将所述分级结果下发给对应的网络设备;
HTTP连接控制模块,与各所述网络设备相通信,用于控制所述第一级设备和所述第二级设备之间建立HTTP连接;
所述客户端接口模块还用于向所述用户终端的播放器返回至少一个第二级设备的地址信息,以利用所返回的第二级设备的可用带宽向所述用户终端的播放器进行内容分发。
对于上述虚拟化控制器,在一种可能的实现方式中,所述分级模块包括:
NAT探测单元,用于获取所述虚拟化控制器所能管辖的网络设备的状态信息,所述网络设备的状态信息包括所述网络设备的可用带宽和NAT拓扑状态,在所述NAT拓扑状态中,第一状态表示所述网络设备具有公网IP地址,第二状态表示所述网络设备在NAT后且属于非对称网络NAT类型,第三状态表示所述网络设备在NAT后且属于对称网络NAT类型;
第二级设备选取单元,用于从所述虚拟化控制器所能管辖的网络设备中选取多个空闲网络设备,并根据内容分发需求和各所述空闲网络设备的可用带宽,选取NAT拓扑状态为第一状态的部分设备作为第二级设备,所述内容分发需求包括直播节目的总带宽和码流,其中,所述第二级设备与客户端连接并能够与至少一个所述第一级设备建立HTTP连接,两个所述第二级设备之间禁止建立HTTP连接;
第一级设备选取单元,用于根据所述内容分发需求、所选取的第二级设备的数量和剩余的所述空闲网络设备的可用带宽,选取NAT拓扑状态为第一状态的部分设备作为第一级设备,和/或,选取NAT拓扑状态为第二状态的部分设备作为第一级设备,其中,所述第一级设备与所述内容分发网络连接并能够与至少一个所述第二级设备相通信,两个NAT拓扑状态为第一状态的第一级设备之间允许建立HTTP连接。
对于上述虚拟化控制器,在一种可能的实现方式中,HTTP连接控制模块包括:
列表发送单元,对于每个所述第二级设备,所述列表发送单元用于向所述第二级设备下发第一级设备编号列表;
编号获取模块,用于获取所述第二级设备根据所述第一级设备编号列表所选取的感兴趣的第一级设备的编号;
地址发送单元,用于向所述第二级设备感兴趣的第一级设备发送所述第二级设备的地址信息,由收到所述地址信息的第一级设备主动向所述第二级设备发送HTTP连接请求以建立HTTP连接。
对于上述虚拟化控制器,在一种可能的实现方式中,还包括:
容错模块,用于检测各所述网络设备的运行状态,在某个网络设备处于掉线的状态下,所述虚拟化控制器将掉线的网络设备的编号从可用设备列表中删除。
为了解决上述技术问题,根据本发明的另一实施例,提供了一种网络设备,包括:
接收模块,与虚拟化控制器相通信,用于从所述虚拟化控制器接收分级结果,所述分级结果包括所述网络设备为第一级设备或第二级设备,所述第一级设备为中间设备,所述第二级设备为边缘设备;在所述网络设备为第二级设备的情况下,所述接收模块用于从所述虚拟化控制器接收第一级设备编号列表;
选取模块,与所述接收模块连接,用于在所述接收模块接收到所述第一级设备编号列表的情况下,从所述第一级设备编号列表中选取感兴趣的第一级设备的编号;
发送模块,与所述选取模块连接,用于将所述选取模块所选取的第一级设备的编号返回给所述虚拟化控制器,由所述虚拟化控制器向所述第二级设备感兴趣的第一级设备发送所述第二级设备的地址信息。
对于上述网络设备,在一种可能的实现方式中,
所述接收模块还用于在所述网络设备为第一级设备的情况下,从所述虚拟化控制器接收第二级设备的地址信息;
所述发送模块还用于在所述接收模块接收到第二级设备的地址信息的情况下,主动向所述第二级设备发送HTTP连接请求以建立HTTP连接。
为了解决上述技术问题,根据本发明的另一实施例,提供了一种内容分发系统,包括:
内容分发网络CDN模块,用于提供直播节目数据流;
虚拟化控制器,采用权利要求8至11中任一项所述的虚拟化控制器;
多个网络设备,与所述虚拟化控制器相通信,采用权利要求12或13所述的虚拟化控制器。
有益效果
本发明实施例中,虚拟化控制器在接收用户终端的播放器的内容分发请求后,能够根据各网络设备的状态信息将网络设备分为第一级设备或第二级设备,并控制所述第一级设备和所述第二级设备之间建立HTTP连接,不仅能够较好的聚合用户侧网络设备的带宽,来提供不弱于IDC服务器的较高质量的服务内容,例如高质量的直播节目数据流,还有利于扩展系统规模。
根据下面参考附图对示例性实施例的详细说明,本发明的其它特征及方面将变得清楚。
附图说明
包含在说明书中并且构成说明书的一部分的附图与说明书一起示出了本发明的示例性实施例、特征和方面,并且用于解释本发明的原理。
图1示出根据本发明一实施例的内容分发系统的结构框图;
图2示出根据本发明一实施例的内容分发系统按照功能模块划分的结构框图;
图3示出根据本发明一实施例的内容分发系统中RD组网的流程图;
图4示出根据本发明一实施例的虚拟化控制器的结构框图;
图5示出根据本发明另一实施例的虚拟化控制器的结构框图;
图6示出根据本发明一实施例的网络设备的结构框图;
图7示出根据本发明一实施例的用户侧带宽聚合的方法的流程图;
图8示出根据本发明一实施例的用户侧带宽聚合的方法的流程图。
具体实施方式
以下将参考附图详细说明本发明的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。
在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
另外,为了更好的说明本发明,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本发明同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本发明的主旨。
当前在互联网最后一公里的用户侧的接入带宽日益增长,大多数时候用户侧的上行/下行带宽都是大大富余的。遵从带宽摩尔定律,采用内容分发网络(CDN)加上基于互联网最后一公里的接入端进行虚拟化的方案,将用户侧的网络设备的带宽聚合起来,能够提高用户侧的带宽利用率,减轻服务器侧的带宽压力。其中,用户侧的网络设备可以用RD(Real Device,真实设备)来表示。
本发明实施例通过在RD中部署代理模块,通过虚拟化API(ApplicationProgramming Interface,应用程序编程接口)与部署在云端的虚拟化控制器进行通信。通过虚拟化控制器的调度将RD集中起来,并通过这些RD将用户侧的富余带宽进行集中管理,提供CDN加速服务。
不同于IDC机房的服务器,RD具有自身的特点。相比较于IDC机房的服务器,一方面,RD的运营/购置成本非常低,同时单位带宽价格也很低。另一方面,RD的稳定性、可靠性、在线时长、运算能力、能提供的带宽总量也大大低于服务器。此外,由于RD接入互联网的拓扑复杂多变。有相当比例的RD处于NAT(Network Address Translation,网络地址转换)或者防火墙后边,可能导致外部的设备/播放器无法直接访问这部分RD的直播CDN服务。在RD处于NAT或者防火墙后边,使得外部的设备/播放器无法直接访问这部分RD的直播CDN服务时,可以采用P2P的穿透技术,来使得某些处于NAT/防火墙后边的RD可以有效地贡献上行带宽。但不是所有处于NAT/防火墙后的设备都可以进行直接的P2P连接。这里说的直接的P2P连接是指不经过中间设备进行数据中转的情况。对于NAT/防火墙的类型,可以分为如下几种情况,具体解释可以参见RFC3489协议:
a.完全圆锥(Full Cone)
b.受限圆锥(Restricted Cone)
c.端口受限圆锥(Port Restricted Cone)
d.对称网络(Symmetric)
这里,如果处于对称网络NAT的后边,通常无法不通过一个中转(代理)和另一个对端(peer)设备建立P2P连接。如果要利用处于这种网络环境的RD来提供带宽加速服务,会变得比较困难。
综上,本发明实施例针对RD的特点,可以有效的克服其缺点,发挥其低成本优势,集合这些零散带宽并有效加以利用,具体可以参见以下实施例。
实施例1
图1示出根据本发明一实施例的内容分发系统的结构框图。如图1所示,该内容分发系统主要可以包括:CDN模块11,用于提供直播节目数据流。虚拟化控制器13,其具体结构可以参见下述实施例的相关描述。多个网络设备17,用于与所述虚拟化控制器13相通信,其具体结构可以参见下述实施例的相关描述。多个网络设备通过所述虚拟化控制器13建立HTTP连接,以从所述CDN模块11获取所述直播节目数据流,并将所获取的所述直播节目数据流发送给用户终端19的播放器。
其中,用户侧的网络设备可以用RD来表示,RD可以是例如一台能上网的PC(Personal Computer,个人计算机),也可以是一台路由器,也可以是一个IP(InternetProtocol,互联网协议)机顶盒等。用户侧可以通过多种方式接入互联网,如PPPoE(Point-to-Point Protocol over Ethernet,以太网上运行点对点协议)、小区宽带、光纤等。RD可以直接接入互联网,也可以通过别的设备接入。
具体而言,如图2所示,本发明实施例的内容分发系统按照功能可以划分为以下几个模块:
NAT拓扑探测模块21,包括部署在网络设备如RD上的NAT探测客户端211,以及部署在云端的NAT探测服务器213,NAT探测服务器213可以设置在云端的虚拟化控制器中也可以单独设置服务器。通过让NAT探测客户端211和云端的NAT探测服务器213进行NAT通信探测,可以得到当前网络设备的NAT网络拓扑状况。拓扑状况包括如下几种状态:
(1)RD直接接入公网,不在NAT的后边。
(2)RD处于NAT设备的后端,例如可以分为完全圆锥、受限圆锥、端口受限圆锥、对称网络等情况。
虚拟化调度模块23,包括部署在RD上的虚拟化客户端代理模块231(可以通过软件程序来实现),以及部署在云端的虚拟化控制器13。虚拟化控制器13通过虚拟化API与虚拟化客户端代理模块231进行通信,从而实现对RD的管理。用户终端19的播放器会首先访问该虚拟化控制器13,以获取RD的访问地址,之后播放器再去连接RD。
云端的CDN模块11。不同于部署在最后一公里的RD,云端CDN模块11可以部署在IDC机房,以提供稳定可靠的直播节目数据流。
RD的对外直播模块29,部署在RD上,用于将从云端CDN模块11,或者是对端的其他RD获取的直播节目流,向用户终端19的播放器进行传输。其中,用户终端19的播放器也可以叫做用户终端的播放器,可以是安装在用户PC/移动设备等用户终端上的音视频播放器,是直播节目流的最终消费者。
RD上的数据收发模块28,包括数据上传模块281和数据接收模块282。数据上传模块281用于向别的RD的数据接收模块282发送数据。同时两个模块之间可以直接交互一些控制信息。如数据收发确认、重传标志、数据标志、简单的命令,如拒绝再次传输数据的拒绝命令,或者是心跳报告等。
本发明实施例利用上述NAT拓扑探测模块21、虚拟化调度模块23、CDN模块11、对外直播模块29、数据收发模块28等进行的RD组网方案,来实现带宽虚拟化聚合的效果。带宽聚合过程具体可以包括以下阶段:
首先,对虚拟化控制器进行初始化,设定虚拟化控制器所能管辖的RD集合。此外虚拟化控制器还会定期更新其所辖RD的部分信息,如RD所能提供的上行/下行带宽总量等。
其次,虚拟化控制器定期更新RD的状态信息。具体而言,部署在RD上的虚拟化客户端代理模块可以定期向云端的虚拟化控制器汇报RD的状态信息。这些状态信息可以包括:(1)通过RD上的NAT探测程序获得的当前RD的接入互联网的拓扑状态;(2)RD当前传输的上行/下行数据总量,根据不同时段得到的这个数据量的差值可以得出当前RD消耗的上行/下行带宽,再通过步骤1得到的RD上行/下行带宽总量,可以计算出当前RD所能提供的上行/下行带宽总量;(3)当前RD的服务状态,如是否在进行直播加速服务,直播加速服务的频道,对等端的RD列表等;(4)用户终端19的播放器连接到RD上的连接数。
其中,虚拟化控制器可以根据各RD的NAT拓扑状态,将其所辖RD分为三种类型:
i.不在NAT/防火墙后,具有公网IP;
ii.在NAT后,且不是对称网络NAT类型;
iii.在NAT后,且是对称网络NAT类型。
在提供直播节目CDN加速服务时,虚拟化控制器可以根据RD的NAT类型将其归集到不同的转发群体中。
然后,如图3所示,当有直播CDN需求时,虚拟化控制器可以进行如下步骤以便选取所管辖的RD进行组网:
步骤301、虚拟化控制器将RD按其作用分为2级。
第1级的RD是作为直播数据传输的中间者,作用是从云端CDN或者是其他的第1级RD获取直播节目流,并将直播节目流分享给第1级的RD,或者是第2级的RD;第2级的RD是作为整个虚拟化CDN加速方案的边缘设备,直接向用户终端的播放器提供直播节目流,并且第2级的RD之间不会分享数据,只会被动的从第1级RD接收数据。
步骤302、虚拟化控制器按照直播节目所需总带宽的设定,从空闲RD池中选取一批RD作为第2级的设备。其中,选取依据可以是该RD的接入互联网拓扑为不在NAT/防火墙的后边,具有公网IP(即上述的i型),直接接入互联网。此外选取的RD的数目可以按照如下示例方法确定:假定直播节目总带宽是M,直播节目的码流是b,每个RD可以提供的上行带宽是Ri(i=1,2,3,…N),且Ri>2b,设置一个初始计数值Ms=M,每选取一个RDi设备,就让Ms=Ms–Ri,直到Ms<0,停止。
步骤303、虚拟化控制器从空闲RD池中剩余的RD中选取一批RD作为第1级的设备。其中,选取依据是该RD虽然在NAT/防火墙后,且不是对称网络的NAT类型(即上述的ii型)。如果这种RD类型的已经分配完毕,可以选取具有公网IP(即上述的i型),不在NAT后的RD来代替。选取的第1级设备的数量,按照如下方法确定:假定一共选取了n个第2级的RD,直播节目的码流是b,那么总共需要第1级RD向第2级RD提供n*b的上行带宽。与选取第2级的要求类似,假设每个RD可提供上行带宽是Ri(i=1,2,3…n),要求Ri>2b,设置一个初始计数值Ms=n*b,每选取一个RDi设备,就让Ms=Ms-Ri,直到Ms<0,停止。其中,第1级设备彼此之间不互相连接。这是因为第1级设备有可能处在NAT后,不借助P2P的NAT穿透方式,难以建立直接的连接。
步骤304、所有RD之间通过HTTP的方式进行连接。
具体地,首先虚拟化控制器可以将分级结果下发给对应的RD,即每个RD都会知道自己是属于第1级设备还是第2级设备。其次第2级设备可以运行一个HTTP的服务器,并将自己监听的HTTP服务端口通过虚拟化API报告给虚拟化控制器。另一方面,虚拟化控制器可以将第1级的RD编号列表通过API方式告诉第2级的RD,当第1级RD过多时,虚拟化控制器可以只下发其中一部分RD编号列表到对应的第2级的RD,下发的原则优选为负载最轻/离第2级设备最接近等。下面以某一个第2级RD为例,具体说明第1级和第2级的设备之间的数据传输过程:
步骤3041、某个第2级RD从接收到的第1级RD编号列表中选取若干感兴趣的第1级RD编号,并将感兴趣的第1级RD编号通过虚拟化API上报给虚拟化控制器。
步骤3042、虚拟化控制器是消息传递的中间者,虚拟化控制器通过虚拟化API向每个第1级RD传达对他感兴趣的第2级RD的地址信息,包括该第2级RD的IP地址以及其监听的HTTP端口等。
步骤3043、收到该第2级RD的地址信息的第1级RD(可能是一个或者多个)可以尝试建立和对他感兴趣的第2级RD的HTTP连接,如果连接成功,该第1级RD可以尝试将从云端CDN模块获取的数据发送给该第2级RD。发送时可以带上一个私有协议的封装报文头部,头部发送者,数据编号等信息。第2级RD收到该报文之后,可以返回的信息包括:确认是否继续接收数据,如果第2级RD不愿意再接收数据,可以在返回信息里说明(例如携带拒绝命令),这时第1级设备就可以终止发送数据。
步骤3044、第2级RD按从若干第1级RD收到的数据按照编号进行组合,可以得到一个完整的内容例如视频节目流,并转发给用户终端的播放器。
在一种可能的实现方式中,第2级RD可以维护一个能够向其发送数据的第1级RD的状态信息列表,剔除不可用或者是网速较慢的连接第1级RD,也可以选择发送拒绝接收数据的命令(即、拒绝命令)给数据发送者(状态信息列表中的某个第1级RD)。数据发送者(第1级RD)在收到拒绝发送数据的命令后,可以仍然保持和数据接收者(第2级RD)之间的连接,但是数据发送者可以定期向数据接收者发送一个心跳的报告,数据接收者可以选择在合适的时候再次让数据发送者发送数据。
进一步地,当第2级设备觉得第1级设备不够用时,可以通过虚拟化API再向虚拟化控制器申请新的第1级设备列表。
此外,当与虚拟化控制器的通信暂时不可用时,所有的RD维持原有状态不变。而虚拟化控制器可以将通信中断的RD从可用设备列表中剔除,不再进行调度,直到通信再次建立。
举例而言,虚拟化控制器可以维护一张全局的第1级RD列表(即、可用设备列表),当有第2级RD请求时,虚拟化控制器从可用设备列表中选取一批第1级RD的编号发给请求设备。如果将通信中断的RD从可用设备列表中删除后,虚拟化控制器不再对该RD进行调度,如果该RD的通信再次建立,可以将该RD的编号再次加入可用设备列表,这样就可以继续调度该RD了。
本发明实施例由于按照HTTP组网方式,由于并非P2P方式,第1级RD之间默认不能互相传输数据。但是作为一种优化的方案,为了能更好的减轻云端CDN的访问压力,如果第1级RD选取的也是具有公网IP不在NAT后的RD(即上述的i型),则其他的第1级RD也可以访问这样的第1级RD,向其发送数据。建立HTTP连接的过程和上述方案相同。
本发明实施例的内容分发网络,在进行用户侧RD组网是,可以将RD分为2种级别,第1级可以和云端CDN服务器或者别的第1级设备连接,第2级从第1级获取数据,并作为整个CDN加速服务的边缘设备向用户终端的播放器(消费者)传输数据。并且,通过在RD设备上增加新的数据收发模块,可以利用HTTP协议在不同RD上传输数据,优点包括连接建立简单、易维护、成功率高等。此外,为了保证错误处理,在各RD设备的数据收发模块之间进行数据传输时,可以增加封装的私有协议头部,传输一些控制信息,又实现了RD之间通信自管理的优点。此外,由于采用P2P云端管理控制具有连接方式复杂、受云端服务器影响不方便大规模部署等缺点,与P2P连接相比,本发明是类似采用虚拟化控制器控制设备之间建立HTTP连接,可以更有利于扩展系统规模,还可以通过虚拟化控制器的全局调度,有利于保证系统的总体负载均衡。
实施例2
图4示出根据本发明一实施例的虚拟化控制器的结构框图。如图4所示,本发明实施例的虚拟化控制器13可以设置于上述实施例中的云端的内容分发网络中,作为上述实施例中所述的内容分发网络的一个组成部分。其中,该虚拟化控制器主要可以包括:
客户端接口模块31,与用户终端19的播放器相通信,用于接收所述用户终端19的播放器发送的内容分发请求。
分级模块33,与各网络设备17相通信,用于根据各网络设备17的状态信息进行设备分级,其中,所述分级结果包括所述网络设备17为第一级设备或第二级设备,所述第一级设备为中间设备,所述第二级设备为边缘设备;其中,第一级设备和第二级设备的具体分级过程可以参见实施例1中图3及其相关描述。
网络设备接口模块35,与各所述网络设备17相通信,用于将所述分级结果下发给对应的网络设备17。
HTTP连接控制模块37,与各所述网络设备17相通信,用于控制所述第一级设备和所述第二级设备之间建立HTTP连接。
其中,所述客户端接口模块31还用于向所述用户终端19的播放器返回至少一个第二级设备的地址信息,以利用所返回的第二级设备的可用带宽向所述用户终端19的播放器进行内容分发。
本实施例的虚拟化控制器,客户端接口模块在接收用户终端的播放器的内容分发请求后,分级模块能够根据各网络设备的状态信息将网络设备分为第一级设备或第二级设备,网络设备接口模块将分级结果下发给对应的网络设备后,HTTP连接控制模块控制所述第一级设备和所述第二级设备之间建立HTTP连接,能够较好的聚合用户侧网络设备的带宽,来提供不弱于IDC服务器的较高质量的服务内容,例如高质量的直播节目数据流,并且更有利于扩展系统规模。
实施例3
图5示出根据本发明另一实施例的虚拟化控制器的结构框图。图5中标号与图4相同的组件具有相同的功能,为简明起见,省略对这些组件的详细说明。
如图5所示,与图4所示虚拟化控制器的主要区别在于,该虚拟化控制器的分级模块33具体可以包括:
NAT探测单元331,用于获取所述虚拟化控制器所能管辖的网络设备17的状态信息,所述网络设备17的状态信息包括所述网络设备17的可用带宽和NAT拓扑状态,在所述NAT拓扑状态中,第一状态表示所述网络设备17具有公网IP地址,第二状态表示所述网络设备17在NAT后且属于非对称网络NAT类型,第三状态表示所述网络设备17在NAT后且属于对称网络NAT类型;
第二级设备选取单元333,用于从所述虚拟化控制器所能管辖的网络设备中选取多个空闲网络设备,并根据内容分发需求和各所述空闲网络设备17的可用带宽,选取NAT拓扑状态为第一状态的部分设备作为第二级设备,所述内容分发需求包括直播节目的总带宽和码流,其中,所述第二级设备与客户端连接并能够与至少一个所述第一级设备建立HTTP连接,两个所述第二级设备之间禁止建立HTTP连接;
第一级设备选取单元335,用于根据所述内容分发需求、所选取的第二级设备的数量和剩余的所述空闲网络设备17的可用带宽,选取NAT拓扑状态为第一状态的部分设备作为第一级设备,和/或,选取NAT拓扑状态为第二状态的部分设备作为第一级设备,其中,所述第一级设备与所述内容分发网络连接,两个NAT拓扑状态为第一状态的所述第一级设备之间允许建立HTTP连接。
在一种可能的实现方式中,HTTP连接控制模块37包括:
列表发送单元371,对于每个所述第二级设备,所述列表发送单元371用于向所述第二级设备下发第一级设备编号列表;
编号获取模块373,用于获取所述第二级设备根据所述第一级设备编号列表所选取的感兴趣的第一级设备的编号;
地址发送单元375,用于向所述第二级设备感兴趣的第一级设备发送所述第二级设备的地址信息,由收到所述地址信息的第一级设备主动向所述第二级设备发送HTTP连接请求以建立HTTP连接。
在一种可能的实现方式中,虚拟化控制器还可以包括:
容错模块39,用于检测各所述网络设备17的运行状态,在某个网络设备处于掉线的状态下,所述虚拟化控制器将掉线的网络设备17的编号从可用设备列表中删除。
本实施例的虚拟化控制器,客户端接口模块在接收用户终端的播放器的内容分发请求后,分级模块能够根据各网络设备的状态信息将网络设备分为第一级设备或第二级设备,网络设备接口模块将分级结果下发给对应的网络设备后,HTTP连接控制模块通过返回的第一级设备编号列表,来控制所述第一级设备和所述第二级设备之间建立HTTP连接。其中,即使某一第一级设备位于在NAT后,如果该第一级设备属于非对称网络NAT类型,则由于该第一级设备能够主动向对它感兴趣的第二级设备发起HTTP连接,因此该第一级设备能够从云端CDN服务器或其他第一级设备获取所要分发的内容,在通过HTTP连接由第二级设备发送给向用户终端的播放器。也即是说,第二级设备能从第一级设备获取数据并作为整个CDN加速服务的边缘设备向用户终端的播放器(消费者)传输数据,从而能够较好的聚合用户侧网络设备的带宽,来提供不弱于IDC服务器的较高质量的服务内容。
并且,在第一级设备编号列表中包括多个第一级设备的编号,在某一设备不可用的情况下,第二级设备还可以尝试连接其他第一级设备,从而避免出现单点故障。
进一步地,容错模块能够实时剔除不可用的网络设备,以减少不可用的网络设备对带宽的浪费。
实施例4
图6示出根据本发明一实施例的网络设备的结构框图。如图6所示,本发明实施例的网络设备17可以设置于上述实施例中的内容分发网络的用户侧,作为上述实施例中所述的内容分发网络的一个组成部分。具体而言,HTTP管理服务器主要可以包括:
接收模块61,与虚拟化控制器相通信,用于从所述虚拟化控制器接收分级结果,所述分级结果包括所述网络设备为第一级设备或第二级设备,所述第一级设备为中间设备,所述第二级设备为边缘设备;在所述网络设备为第二级设备的情况下,所述接收模块用于从所述虚拟化控制器接收第一级设备编号列表;
选取模块63,与所述接收模块61连接,用于在所述接收模块61接收到所述第一级设备编号列表的情况下,从所述第一级设备编号列表中选取感兴趣的第一级设备的编号;
发送模块66,与所述选取模块63连接,用于将所述选取模块63所选取的第一级设备的编号返回给所述虚拟化控制器13,由所述虚拟化控制器13向所述第二级设备感兴趣的第一级设备发送所述第二级设备的地址信息。
在一种可能的实现方式中,所述接收模块61还用于在所述网络设备17为第一级设备的情况下,从所述虚拟化控制器13接收第二级设备的地址信息;
所述发送模块还用于在所述接收模块61接收到第二级设备的地址信息的情况下,主动向所述第二级设备发送HTTP连接请求以建立HTTP连接。
具体而言,在网络设备17为第二级设备的情况下,虚拟化控制器13向该第二级设备发送第一级设备编号列表,该第二级设备从中选取感兴趣的第一级设备的编号,并将所选取的编号返回给虚拟化控制器13。虚拟化控制器13向该第二级设备感兴趣的第一级设备发送该第二级设备的地址信息,收到该第二级设备的地址信息的第一级设备向对自己感兴趣的该第二级设备发送HTTP连接请求以建立二者的HTTP连接。成功建立HTTP请求之后,第一级设备可以从云端的CDN模块获取数据,并将所获取的数据发送给第二级设备。第二级设备则可以将所接收到的多个第一级设备的数据,按编号整理得到完整的内容,然后发送给用户终端19的播放器进行播放。
本实施例的网络设备的具体功能可以参见图3及其的相关描述,网络设备能够与虚拟化控制器相通信,在虚拟化控制器的控制下,与其他的网络设备之间建立HTTP连接,从而较好的聚合用户侧网络设备的带宽,来提供不弱于IDC服务器的较高质量的服务内容,还有利于扩展系统规模。并且,第一级设备编号列表可以包括多个第一级设备的编号,在某一第一级设备不可用的情况下,第二级设备还可以尝试连接其他第一级设备,从而避免出现单点故障。
实施例5
图7示出根据本发明一实施例的用户侧带宽聚合的方法的流程图。如图7所示,该用户侧带宽聚合的方法主要可以包括:
步骤101、位于内容分发网络的虚拟化控制器接收用户终端的播放器发送的内容分发请求。
步骤102、虚拟化控制器根据各网络设备的状态信息进行设备分级,所述分级结果包括所述网络设备为第一级设备或第二级设备,所述第一级设备为中间设备,所述第二级设备为边缘设备,具体示例可以参见图3及其相关描述中的第1级RD和第2级RD。
步骤103、虚拟化控制器将所述分级结果下发给对应的网络设备。
步骤104、虚拟化控制器控制所述第一级设备和所述第二级设备之间建立HTTP连接。
步骤105、虚拟化控制器向所述用户终端的播放器返回至少一个第二级设备的地址信息,以利用所返回的第二级设备的可用带宽向所述用户终端的播放器进行内容分发。
本实施例的用户侧带宽聚合的方法,虚拟化控制器在接收用户终端的播放器的内容分发请求后,能够根据各网络设备的状态信息将网络设备分为第一级设备或第二级设备,并控制所述第一级设备和所述第二级设备之间建立HTTP连接,不仅能够较好的聚合用户侧网络设备的带宽,来提供不弱于IDC服务器的较高质量的服务内容,例如高质量的直播节目数据流,还有利于扩展系统规模。
实施例6
图8示出根据本发明一实施例的用户侧带宽聚合的方法的流程图。图8中标号与图7相同的步骤具有相同的含义,为简明起见,省略对这些步骤的详细说明。
如图8所示,与图7所示的用户侧带宽聚合的方法的主要区别在于,该用户侧带宽聚合的方法的步骤102具体可以包括:
步骤201、虚拟化控制器获取其所能管辖的网络设备的状态信息,所述网络设备的状态信息包括所述网络设备的可用带宽和NAT拓扑状态,在所述NAT拓扑状态中,第一状态(参见实施例1中对i型的相关描述)表示所述网络设备具有公网IP地址,第二状态(参见实施例1中对ii型的相关描述)表示所述网络设备在NAT后且属于非对称网络NAT类型,第三状态(参见实施例1中对iii型的相关描述)表示所述网络设备在NAT后且属于对称网络NAT类型;
步骤202、虚拟化控制器从其所能管辖的网络设备中选取多个空闲网络设备,并根据内容分发需求和各所述空闲网络设备的可用带宽,选取NAT拓扑状态为第一状态的部分设备作为第二级设备,所述内容分发需求包括直播节目的总带宽和码流,其中,所述第二级设备与客户端连接并能够与至少一个所述第一级设备建立HTTP连接,两个所述第二级设备之间禁止建立HTTP连接;
步骤203、虚拟化控制器根据所述内容分发需求、所选取的第二级设备的数量和剩余的所述空闲网络设备的可用带宽,选取NAT拓扑状态为第一状态的部分设备作为第一级设备,和/或,选取NAT拓扑状态为第二状态的部分设备作为第一级设备,其中,所述第一级设备与所述内容分发网络连接,两个NAT拓扑状态为第一状态的所述第一级设备之间允许建立HTTP连接。
其中,第一级设备和第二级设备可以参见实施例1中对第1级RD和第2级RD的相关解释和示例。
在一种可能的实现方式中,步骤104具体可以包括:
步骤204、对于每个所述第二级设备,所述虚拟化控制器向所述第二级设备下发第一级设备编号列表;
步骤205、虚拟化控制器获取所述第二级设备根据所述第一级设备编号列表所选取的感兴趣的第一级设备的编号。
步骤206、虚拟化控制器向所述第二级设备感兴趣的第一级设备发送所述第二级设备的地址信息,由收到所述地址信息的第一级设备主动向所述第二级设备发送HTTP连接请求以建立HTTP连接。
在一种可能的实现方式中,该用户侧带宽聚合的方法还可以包括:在所述第二级设备与至少一个第一级设备成功建立HTTP连接后,所述至少一个第一级设备将从云端的CDN模块获取的数据发送给所述第二级设备;所述第二级设备将所接收到的所有数据进行组合,将得到的完整内容发送给所述用户终端的播放器。
具体而言,可以将需要发送的完整内容经进行数据分片并连续编号,每个分片一个编号,第二级设备收到数据后按照分片的编号进行排序即可组成一个完整的内容例如直播视频流。使用分片的好处是可以从不同的设备获取不同的分片。例如从设备A获取数据分片1、3、5,从设备B获取数据分片2、4、6。
在一种可能的实现方式中,该用户侧带宽聚合的方法还可以包括:所述第二级设备向所述至少一个第一级设备返回拒绝命令,接收到所述拒绝命令的第一级设备停止向所述第二级设备发送数据。
在一种可能的实现方式中,该用户侧带宽聚合的方法还可以包括:接收到所述拒绝命令的第一级设备与所述第二级设备保持HTTP连接,并按照预定间隔向所述第二级设备发送心跳报告。
在一种可能的实现方式中,该用户侧带宽聚合的方法还可以包括:所述虚拟化控制器检测各所述网络设备的运行状态;在某个网络设备处于掉线的状态下,所述虚拟化控制器将掉线的网络设备的编号从可用设备列表中删除。
本实施例的用户侧带宽聚合的方法,虚拟化控制器在接收用户终端的播放器的内容分发请求后,能够根据各网络设备的状态信息将网络设备分为第一级设备或第二级设备,并控制所述第一级设备和所述第二级设备之间建立HTTP连接,不仅能够较好的聚合用户侧网络设备的带宽,来提供不弱于IDC服务器的较高质量的服务内容,例如高质量的直播节目数据流,还有利于扩展系统规模。
并且,在第一级设备编号列表中包括多个第一级设备的编号,在某一设备不可用的情况下,还可以尝试连接其他设备,从而避免出现单点故障。
进一步地,采用容错机制能够实时剔除不可用的网络设备,以减少不可用的网络设备对带宽的浪费。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (14)

1.一种用户侧带宽聚合的方法,其特征在于,包括:
位于内容分发网络的虚拟化控制器接收用户终端的播放器发送的内容分发请求;
所述虚拟化控制器根据各网络设备的状态信息进行设备分级,其中,分级结果包括所述网络设备为第一级设备或第二级设备,所述第一级设备为中间设备,所述第二级设备为边缘设备;
所述虚拟化控制器将所述分级结果下发给对应的网络设备;
所述虚拟化控制器控制所述第一级设备和所述第二级设备之间建立超文本传输协议HTTP连接;
所述虚拟化控制器向所述用户终端的播放器返回至少一个第二级设备的地址信息,以利用所返回的第二级设备的可用带宽向所述用户终端的播放器进行内容分发。
2.根据权利要求1所述的方法,其特征在于,所述虚拟化控制器根据各网络设备的状态信息进行设备分级,包括:
所述虚拟化控制器获取其所能管辖的网络设备的状态信息,所述网络设备的状态信息包括所述网络设备的可用带宽和NAT拓扑状态,在所述NAT拓扑状态中,第一状态表示所述网络设备具有公网IP地址,第二状态表示所述网络设备在NAT后且属于非对称网络NAT类型,第三状态表示所述网络设备在NAT后且属于对称网络NAT类型;
所述虚拟化控制器从其所能管辖的网络设备中选取多个空闲网络设备,并根据内容分发需求和各所述空闲网络设备的可用带宽,选取NAT拓扑状态为第一状态的部分设备作为第二级设备,所述内容分发需求包括直播节目的总带宽和码流,其中,所述第二级设备与客户端连接并能够与至少一个所述第一级设备建立HTTP连接,两个所述第二级设备之间禁止建立HTTP连接;
所述虚拟化控制器根据所述内容分发需求、所选取的第二级设备的数量和剩余的所述空闲网络设备的可用带宽,选取NAT拓扑状态为第一状态的部分设备作为第一级设备,和/或,选取NAT拓扑状态为第二状态的部分设备作为第一级设备,其中,所述第一级设备与所述内容分发网络连接,两个NAT拓扑状态为第一状态的第一级设备之间允许建立HTTP连接。
3.根据权利要求2所述的方法,其特征在于,所述虚拟化控制器控制所述第一级设备和所述第二级设备之间建立HTTP连接,包括:
对于每个所述第二级设备,所述虚拟化控制器向所述第二级设备下发第一级设备编号列表;
所述虚拟化控制器获取所述第二级设备根据所述第一级设备编号列表所选取的感兴趣的第一级设备的编号;
所述虚拟化控制器向所述第二级设备感兴趣的第一级设备发送所述第二级设备的地址信息,由收到所述地址信息的第一级设备主动向所述第二级设备发送HTTP连接请求以建立HTTP连接。
4.根据权利要求3所述的方法,其特征在于,还包括:
在所述第二级设备与至少一个第一级设备成功建立HTTP连接后,所述至少一个第一级设备将从云端的CDN模块获取的数据发送给所述第二级设备;
所述第二级设备将所接收到的所有数据进行组合,将得到的完整内容发送给所述用户终端的播放器。
5.根据权利要求1至4中任一项所述的方法,其特征在于,还包括:
所述第二级设备向至少一个第一级设备返回拒绝命令,接收到所述拒绝命令的第一级设备停止向所述第二级设备发送数据。
6.根据权利要求5所述的方法,其特征在于,还包括:
接收到所述拒绝命令的第一级设备与所述第二级设备保持HTTP连接,并按照预定间隔向所述第二级设备发送心跳报告。
7.根据权利要求5所述的方法,其特征在于,还包括:
所述虚拟化控制器检测各所述网络设备的运行状态;
在某个网络设备处于掉线的状态下,所述虚拟化控制器将掉线的网络设备的编号从可用设备列表中删除。
8.一种虚拟化控制器,其设置于云端的内容分发网络中,其特征在于,包括:
客户端接口模块,与用户终端的播放器相通信,用于接收所述用户终端的播放器发送的内容分发请求;
分级模块,与各网络设备相通信,用于根据各网络设备的状态信息进行设备分级,其中,分级结果包括所述网络设备为第一级设备或第二级设备,所述第一级设备为中间设备,所述第二级设备为边缘设备;
网络设备接口模块,与各所述网络设备相通信,用于将所述分级结果下发给对应的网络设备;
HTTP连接控制模块,与各所述网络设备相通信,用于控制所述第一级设备和所述第二级设备之间建立HTTP连接;
所述客户端接口模块还用于向所述用户终端的播放器返回至少一个第二级设备的地址信息,以利用所返回的第二级设备的可用带宽向所述用户终端的播放器进行内容分发。
9.根据权利要求8所述的虚拟化控制器,其特征在于,所述分级模块包括:
NAT探测单元,用于获取所述虚拟化控制器所能管辖的网络设备的状态信息,所述网络设备的状态信息包括所述网络设备的可用带宽和NAT拓扑状态,在所述NAT拓扑状态中,第一状态表示所述网络设备具有公网IP地址,第二状态表示所述网络设备在NAT后且属于非对称网络NAT类型,第三状态表示所述网络设备在NAT后且属于对称网络NAT类型;
第二级设备选取单元,用于从所述虚拟化控制器所能管辖的网络设备中选取多个空闲网络设备,并根据内容分发需求和各所述空闲网络设备的可用带宽,选取NAT拓扑状态为第一状态的部分设备作为第二级设备,所述内容分发需求包括直播节目的总带宽和码流,其中,所述第二级设备与客户端连接并能够与至少一个所述第一级设备建立HTTP连接,两个所述第二级设备之间禁止建立HTTP连接;
第一级设备选取单元,用于根据所述内容分发需求、所选取的第二级设备的数量和剩余的所述空闲网络设备的可用带宽,选取NAT拓扑状态为第一状态的部分设备作为第一级设备,和/或,选取NAT拓扑状态为第二状态的部分设备作为第一级设备,其中,所述第一级设备与所述内容分发网络连接并能够与至少一个所述第二级设备相通信,两个NAT拓扑状态为第一状态的第一级设备之间允许建立HTTP连接。
10.根据权利要求9所述的虚拟化控制器,其特征在于,HTTP连接控制模块包括:
列表发送单元,对于每个所述第二级设备,所述列表发送单元用于向所述第二级设备下发第一级设备编号列表;
编号获取模块,用于获取所述第二级设备根据所述第一级设备编号列表所选取的感兴趣的第一级设备的编号;
地址发送单元,用于向所述第二级设备感兴趣的第一级设备发送所述第二级设备的地址信息,由收到所述地址信息的第一级设备主动向所述第二级设备发送HTTP连接请求以建立HTTP连接。
11.根据权利要求10所述的虚拟化控制器,其特征在于,还包括:
容错模块,用于检测各所述网络设备的运行状态,在某个网络设备处于掉线的状态下,所述虚拟化控制器将掉线的网络设备的编号从可用设备列表中删除。
12.一种网络设备,其特征在于,包括:
接收模块,与虚拟化控制器相通信,用于从所述虚拟化控制器接收分级结果,所述分级结果包括所述网络设备为第一级设备或第二级设备,所述第一级设备为中间设备,所述第二级设备为边缘设备;在所述网络设备为第二级设备的情况下,所述接收模块用于从所述虚拟化控制器接收第一级设备编号列表;
选取模块,与所述接收模块连接,用于在所述接收模块接收到所述第一级设备编号列表的情况下,从所述第一级设备编号列表中选取感兴趣的第一级设备的编号;
发送模块,与所述选取模块连接,用于将所述选取模块所选取的第一级设备的编号返回给所述虚拟化控制器,由所述虚拟化控制器向所述第二级设备感兴趣的第一级设备发送所述第二级设备的地址信息。
13.根据权利要求12所述的网络设备,其特征在于,
所述接收模块还用于在所述网络设备为第一级设备的情况下,从所述虚拟化控制器接收第二级设备的地址信息;
所述发送模块还用于在所述接收模块接收到第二级设备的地址信息的情况下,主动向所述第二级设备发送HTTP连接请求以建立HTTP连接。
14.一种内容分发系统,其特征在于,包括:
内容分发网络CDN模块,用于提供直播节目数据流;
虚拟化控制器,采用权利要求8至11中任一项所述的虚拟化控制器;
多个网络设备,与所述虚拟化控制器相通信,采用权利要求12或13所述的网络设备。
CN201510920766.6A 2015-12-11 2015-12-11 用户侧带宽聚合的方法、设备和内容分发系统 Expired - Fee Related CN105392025B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510920766.6A CN105392025B (zh) 2015-12-11 2015-12-11 用户侧带宽聚合的方法、设备和内容分发系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510920766.6A CN105392025B (zh) 2015-12-11 2015-12-11 用户侧带宽聚合的方法、设备和内容分发系统

Publications (2)

Publication Number Publication Date
CN105392025A CN105392025A (zh) 2016-03-09
CN105392025B true CN105392025B (zh) 2018-09-07

Family

ID=55423789

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510920766.6A Expired - Fee Related CN105392025B (zh) 2015-12-11 2015-12-11 用户侧带宽聚合的方法、设备和内容分发系统

Country Status (1)

Country Link
CN (1) CN105392025B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105703959B (zh) * 2016-04-08 2019-09-17 合一网络技术(北京)有限公司 网络设备的分级方法及设备
CN105959312A (zh) * 2016-07-04 2016-09-21 合网络技术(北京)有限公司 网络设备的分级方法及装置
CN106790532B (zh) * 2016-12-21 2020-06-30 清华大学深圳研究生院 一种基于边缘网络聚合的在线直播上传方法及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102231761A (zh) * 2011-08-12 2011-11-02 乐视网信息技术(北京)股份有限公司 一种p2p数据交互方法
CN103634692A (zh) * 2013-12-06 2014-03-12 南京理工大学连云港研究院 基于cdn和p2p的混合流媒体视频点播系统

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7203871B2 (en) * 2004-06-03 2007-04-10 Cisco Technology, Inc. Arrangement in a network node for secure storage and retrieval of encoded data distributed among multiple network nodes
US8305895B2 (en) * 2007-03-26 2012-11-06 Cisco Technology, Inc. Adaptive cross-network message bandwidth allocation by message servers
CN103747042A (zh) * 2013-12-24 2014-04-23 乐视网信息技术(北京)股份有限公司 一种信息获取方法和装置
CN104394221B (zh) * 2014-11-28 2015-12-30 合一网络技术(北京)有限公司 利用边缘服务节点为流媒体应用进行加速处理的方法和系统
CN104717304B (zh) * 2015-03-31 2018-04-03 北京科技大学 一种cdn‑p2p内容优化选择系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102231761A (zh) * 2011-08-12 2011-11-02 乐视网信息技术(北京)股份有限公司 一种p2p数据交互方法
CN103634692A (zh) * 2013-12-06 2014-03-12 南京理工大学连云港研究院 基于cdn和p2p的混合流媒体视频点播系统

Also Published As

Publication number Publication date
CN105392025A (zh) 2016-03-09

Similar Documents

Publication Publication Date Title
Shen et al. Peer-to-peer media streaming: Insights and new developments
EP2104287B1 (en) A method for client node network topology construction and a system for stream media delivery
CN105392068B (zh) 分布式多传输信道网络直播视频并行分发方法及系统
CN201491019U (zh) 支持多终端的网络视频系统
Sweha et al. Angelcast: cloud-based peer-assisted live streaming using optimized multi-tree construction
CN104954866B (zh) 一种流媒体数据直播中播放点动态控制方法
AU2016245350A1 (en) Systems, devices and methods for distributing data with multi-tiered encoding
CN103634692A (zh) 基于cdn和p2p的混合流媒体视频点播系统
CN106464680A (zh) 内容分发网络中的带宽管理
CN101146021A (zh) 内容分发网络的路由系统及方法
CN105430046B (zh) 一种利用虚拟化技术实现的cdn加速系统及方法
CN104967866B (zh) 一种动态自适应的p2p直播流媒体子流调度方法
Tashtarian et al. $\mathsf {HxL3} $: Optimized Delivery Architecture for HTTP Low-Latency Live Streaming
CN105392025B (zh) 用户侧带宽聚合的方法、设备和内容分发系统
CN105577646B (zh) 用户侧带宽聚合的方法、设备和内容分发系统
CN109688417A (zh) 一种数据分发系统、方法、装置、电视盒子及存储介质
CN102780710A (zh) 基于内容分发网络的节点调度方法
CN110445723A (zh) 一种网络数据调度方法及边缘节点
CN100531384C (zh) 一种集群式流媒体系统中动态节目的分发和服务方法
D'Amico et al. An SDN/NFV telco operator platform for video broadcasting
CN101132390A (zh) 基于p2p技术的流媒体系统
CN110213334A (zh) 一种共享文件的传输方法及装置
CN102845042B (zh) 一种应用层多个活动物理接口的带宽聚集系统及方法
CN104780591B (zh) 终端设备间业务互操作实现方法、装置、系统及相关设备
Khalid et al. An SDN-based device-aware live video service for inter-domain adaptive bitrate streaming

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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20180907

Termination date: 20181211

CF01 Termination of patent right due to non-payment of annual fee