CN104246737A - 在内容分发网络中使用视频流的连接池技术的***和方法 - Google Patents

在内容分发网络中使用视频流的连接池技术的***和方法 Download PDF

Info

Publication number
CN104246737A
CN104246737A CN201280059467.2A CN201280059467A CN104246737A CN 104246737 A CN104246737 A CN 104246737A CN 201280059467 A CN201280059467 A CN 201280059467A CN 104246737 A CN104246737 A CN 104246737A
Authority
CN
China
Prior art keywords
server
media content
connection
reusable
connection pool
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
Application number
CN201280059467.2A
Other languages
English (en)
Other versions
CN104246737B (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN104246737A publication Critical patent/CN104246737A/zh
Application granted granted Critical
Publication of CN104246737B publication Critical patent/CN104246737B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/65Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • 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/2183Cache memory
    • 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/222Secondary servers, e.g. proxy server, cable television Head-end
    • H04N21/2225Local VOD servers
    • 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/637Control signals issued by the client directed to the server or network components
    • H04N21/6377Control signals issued by the client directed to the server or network components directed to server

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明提供了在内容分发网络(CDN)中使用视频流的连接池的***和方法。一种通过代理服务器在内容分发网络(CDN)中使用连接池技术的实施例方法包括:接收来自客户端的对媒体内容的请求;如果代理服务器上没有缓存相应的媒体内容,向控制服务器发送查询以找到具有所述媒体内容的源媒体服务器;接收来自所述控制服务器的关于具有所述客户端请求的所述媒体内容的所述源媒体服务器的信息;以及如果可重用连接未被占用,使用来自所述代理服务器和所述源媒体服务器之间的可重用连接池中的第一可重用连接向所述具有所述媒体内容的所述源媒体服务器转发所述对媒体内容的请求。

Description

在内容分发网络中使用视频流的连接池技术的***和方法
本发明要求2011年12月1日递交的发明名称为“在内容分发网络中使用视频流的连接池的***和方法(Systems and Methods for ConnectionPooling for Video Streaming in Content Delivery Networks)”的第61/565746号美国临时专利申请案的在先申请优先权,以及2012年12月3日递交的发明名称为“在内容分发网络中使用视频流的连接池的***和方法(Systems and Methods for Connection Pooling for Video Streaming inContent Delivery Networks)”的第13/691970号美国非临时专利申请案的在先申请优先权,以上在先申请的内容以引入的方式并入本文文中。
技术领域
本发明涉及视频流的***和方法,且在特定实施例中,涉及在内容分发网络中使用视频流的连接池的***和方法。
背景技术
近年来,内容分发网络在互联网上的应用大范围扩散,包括网页对象托管、文件/文档散播、多媒体流等等。在这些应用之中,视频流近来在CDN上变得越来越流行,并且引起大量数据在边缘代理和源媒体服务器之间交换。及时平稳地将网络资源充分利用到流视频传输如今引起人们进行广泛的研究和大量的工作。
目前,流媒体行业经历了从如实时流协议(RTSP)等经典流协议回到如微软IIS平滑流和苹果HTTP直播流等普通超文本传输协议(HTTP)的稳步转变。在自适应流媒体***中,每个指定编码比特率的视频版本对应一个文件。(即使同一视频,使用不同的编码比特率对应的是不同的文件)。由于播放器客户端依次单独请求每个来自媒体服务器的视频时间片,代理和源服务器之间的传输控制协议(TCP)连接,致力于来自不同客户端的特定数据的各自请求,需要频繁重复建立和拆掉。例如,250KB块大小的900MB视频至少产生3600次的TCP连接建立,更不用说一般大小为几千兆字节的HD视频。由于TCP连接建立是一件繁琐的工作,这样通常使访问速度变慢,最终影响视频流畅度。
发明内容
一种通过代理服务器在内容分发网络(CDN)中使用连接池技术的实施例方法包括:接收来自客户端的对媒体内容的请求;如果代理服务器上没有缓存相应的媒体内容,向控制服务器发送查询以找到具有所述媒体内容的源媒体服务器;接收来自所述控制服务器的关于具有所述客户端请求的所述媒体内容的所述源媒体服务器的信息;以及如果可重用连接未被占用,使用来自所述代理服务器和所述源媒体服务器之间的可重用连接池中的第一可重用连接向所述具有所述媒体内容的所述源媒体服务器转发所述对媒体内容的请求。
一种通过代理服务器在内容分发网络(CDN)中使用连接池技术的实施例方法包括:接收来自客户端的对媒体内容的请求;如果所述媒体内容没有缓存,向控制服务器发送查询以找到具有所述媒体内容的源媒体服务器;接收来自所述控制服务器的关于所述具有客户端请求的所述媒体内容的所述源媒体服务器的信息;以及如果来自所述代理服务器和所述源媒体服务器之间的可重用连接池中的可重用连接的带宽小于阀值以及来自所述缓存服务器和所述源媒体服务器之间的可重用连接池中的可重用连接未被占用,向缓存服务器重定向所述对媒体内容的请求。
一种通过缓存服务器在内容分发网络(CDN)中使用连接池技术的实施例方法包括:接收来自代理服务器的对媒体内容的请求;确定所述媒体内容没有缓存;以及使用来自所述缓存服务器和所述源媒体服务器之间的可重用连接池中的可重用连接向源媒体服务器转发所述对媒体内容的请求。
一种内容分发网络(CDN)中的实施例代理服务器包括:一种客户端网络接口,用于接收来自客户端的对媒体内容的请求;一种可操作地耦合到所述客户端网络接口的处理器,所述处理器用于确定所述媒体内容是否没有缓存;一种可操作地耦合到所述处理器的控制服务器网络接口,所述控制服务器网络接口用于,如果所述媒体内容缓存缺失,向控制服务器发送查询以找出具有所述媒体内容的源媒体服务器以及接收来自所述控制服务器的关于具有所述媒体内容的所述源媒体服务器的信息;以及一种可操作地耦合到所述处理器的源媒体服务器网络接口,所述源媒体服务器网络接口用于,如果所述可重用连接未被占用,使用来自所述代理服务器和所述源媒体服务器之间的可重用连接池中的可重用连接向具有所述媒体内容的所述源媒体服务器转发所述对媒体内容的请求。
一种内容分发网络(CDN)中的实施例缓存服务器包括:一种代理服务器网络接口,用于接收来自代理服务器的对媒体内容的请求;一种可操作地耦合到所述代理服务器网络接口的处理器,所述处理器用于确定所述媒体内容没有缓存;以及一种可操作地耦合到所述处理器的源媒体服务器网络接口,所述源媒体服务器网络接口用于使用来自所述缓存服务器和所述源媒体服务器之间的可重用连接池中的可重用连接向源媒体服务器转发所述对媒体内容的请求。
附图说明
为了更完整地理解本发明及其优点,现在参考下文结合附图进行的描述,其中:
图1示出了具有带宽感知连接池的CDN网络的***架构;
图2示出了具有带宽感知连接池的代理结构;
图3示出了通过代理服务器在内容分发网络中使用连接池技术的实施例方法;
图4示出了通过代理服务器在内容分发网络中使用连接池技术的实施例方法;
图5示出了通过缓存服务器在内容分发网络中使用连接池技术的实施例方法;
图6进一步详细地示出了实施例代理服务器;
图7进一步详细地示出了实施例缓存服务器;
图8为一种计算平台的方框图,所述计算平台可用来根据实施例实施如下文所述的设备和方法。
除非另有指示,否则不同图中的对应标号和符号通常指代对应部分。绘制各图是为了清楚地说明实施例的相关方面,因此未必是按比例绘制的。
具体实施方式
下文将详细论述当前优选实施例的制作和使用。但应了解,本发明提供了许多可以在多种具体环境中实施的适用的发明概念。所论述的具体实施例仅为说明性的,而不限制本发明的范围。
将结合具体上下文中的优选实施例来描述本发明,即,内容分发网络(CDN)内的服务器。然而,本发明中的概念还可以应用于其他类型的设备和其他类型的网络或具有其他部件的通信***。
现参考图1,示出了内容分发网络(CDN)12的实施例***架构10。如图所示,实施例***架构10通常包括客户端14、边缘缓存服务器(也称为代理服务器)16、控制服务器18、中间层缓存服务器(也称为中继节点)20,以及源媒体服务器22。正如以下将更加充分说明的那样,这些设备使用连接24或连接池28中的一个或多个可重用连接26通过内容分发网络12进行通信或为通信提供信息。
应该认识到实施例***架构10可包括部件、设备、硬件等等,为便于图示,这些未包含在图1中。此外,应该认识到实施例***架构10还可包括,例如更多或较少客户端14和缓存服务器20和更多代理服务器16、控制服务器18,以及源媒体服务器22。
一般来说,实施例***架构10提供一种连接管理机制以调整视频流应用的要求。实际上,以及如下更加充分的说明,实施例***架构10包括用于内容分发网络12中视频流应用的带宽感知连接池机制。实施例***架构10还包括新颖的中继节点选择方案和中继确定算法。
连接池技术是一种维护传输控制协议(TCP)连接,从而可以在需要向服务器(例如源媒体服务器22)进一步请求时重用可重用连接26的技术。连接池技术通过避免频繁昂贵的连接建立和断开过程有效地提高了网络性能。为了支持来自客户端14的大量请求,智能维护和管理代理服务器16和源媒体服务器22之间的可重用连接26。当在代理服务器16和源媒体服务器22之间使用的可重用连接26的数量变多时,这意味着每个可重用连接26可以共享有限的带宽,控制服务器18帮助选择最佳缓存服务器20以补充可用带宽。如图1所示,每个缓存服务器20还维护连接池28中的一些到源媒体服务器22的可重用连接26。
实施例包括带宽感知连接池机制,其整合TCP连接管理和应用层TCP中继用于快速媒体访问和分发。实施例包括中继节点选择方案和中继确定算法。实施例共同考虑传输层连接池技术和应用层中继方案。实施例可应用于视频/音频传输、文件传输、数据传送、传输网络、CDN等等。
如图1所示,实施例维护代理服务器16和源媒体服务器22之间的可重用连接26实例的连接池28以使访问速度更快。具体而言,代理服务器16和源媒体服务器22之间的可重用连接26可根据需要建立。在完成其使用之后,当另一客户端请求到达时,可重用连接26返回连接池28在稍后时间点进行重用。这样,多数客户端请求不会在建立新连接时引起过载,因为代理服务器16可以找到和使用来自连接池28的现有可重用连接26。
当连接池28的大小随着大量客户端14请求同时到达的可能性而增加时,但是,每个可重用连接26只能共享有限的带宽。在这些情况下,简单的连接池技术可能不足以完全支持客户端请求。为此目的,实施例带宽感知连接池机制实现快速访问和高带宽数据传输。具体而言,当代理服务器16处的可重用连接26之中共享的带宽降低到某个水平或阀值时,选择最佳缓存服务器20(也称为中继节点)帮助转发代理服务器16和源媒体服务器22之间的数据,其实际上补充可用带宽以满足更多的客户端14请求。
如图1所示,每个缓存服务器20维护具有到媒体服务器的可重用连接26的其中一个连接池28。因此,可以有效地执行中继操作。实施例共同整合传输层连接管理和应用层中继方案以加快媒体流的数据传输。
下面结合图1和图2论述带宽感知连接池机制的实施例。当播放器客户端14打算请求某个视频内容时,客户端14首先与控制服务器18协商。控制服务器18通知客户端14可以与之关联的代理服务器16以向其获取被请求的内容。在接收到来自客户端14的请求之后,代理服务器16检查自身来确定该内容是否本地缓存或缓存缺失。如果代理服务器16具有该内容,代理服务器16正好直接服务于客户端14。否则,代理服务器16通过向控制服务器18发送查询以找到源媒体服务器22。控制服务器18进行源选择并通知代理服务器16关于远程源媒体服务器22的信息。伴随着源媒体服务器22的信息,控制服务器18还基于某些原则和标准给代理服务器16提供与所选中间层缓存服务器18(作为中继节点使用)有关的信息,中间层缓存服务器可以由代理服务器16在后续阶段使用。
在获得源信息之后,代理服务器16确定如何接受来自客户端14的请求并快速访问源媒体服务器22。代理服务器16首先调查代理服务器16和源媒体服务器22之间的连接池28中可重用连接26的数目和目前使用中的可重用连接26的数目。然后,代理服务器16确定是否需要缓存服务器20容纳来自客户端14的请求。对于不需要缓存服务器20这种较简单的情况来说,代理服务器16找到来自连接池28的可重用连接26以向源媒体服务器22转发客户端14的请求。在连接池28中所有可重用连接26目前都被占用这种通常罕见的情况中,代理服务器16能够向源媒体服务器22提出一个新的可重用连接26。对于采用缓存服务器20这种较复杂的情况来说,代理服务器16向缓存服务器20重定向客户端14的请求。
如果缓存服务器20上没有缓存相应的被请求的内容,缓存服务器20在其自己的连接池28中找到可重用连接26或建立到源媒体服务器22的新的可重用连接26。这样,不用在代理服务器16和源媒体服务器22之间建立端到端连接,应用层中继协助充分利用连接资源。在实施例中,缓存服务器20能够用作其他客户端请求的代理服务器(如代理服务器16)。因此,缓存服务器20能够确定传入请求是直接来自请求访问的客户端14还是来自请求转发的代理服务器16。
综上所述,可见看出试图使用现有可用的可重用连接26进行快速访问。来自代理服务器自身拥有的连接池28中的可重用连接26并不是唯一可使用的可重用连接。实际上,可以从仔细选择的缓存服务器20的连接池28中获得帮助。此外,由于缓存服务器20协助容纳更多请求以及将媒体流重新路由在各种路径中时,可以实现更多吞吐量而且客户端14可以实现流畅的终端用户体验。
以下论述的实施例带宽感知连接池机制的几个方面,包括缓存服务器20(即,中继节点)选择、中继确定和连接池管理。
对于缓存服务器20选择,控制服务器18确定如何为代理服务器16选择一个最佳的缓存服务器20。不同于仅仅着重于可用带宽的传统中继选择,实施例共同考虑可用带宽和连接池28中的可用的可重用连接26,连接池28由连接到源媒体服务器22的缓存服务器20维护。例如,假设存在候选缓存服务器20集都具有可用连接以帮助转发每个代理服务器16的业务。控制服务器18基于定期从缓存服务器20收集到的信息从候选集中选择最佳的缓存服务器20。可以定义最佳性原则为,例如,选择具有最大可用端到端带宽的加权和以及特定缓存服务器20和源媒体服务器22之间的连接池中的空闲可重用连接26的数目的缓存服务器20。
中继确定基于中继确定原则确定代理服务器16是否需要缓存服务器20的帮助。例如,中继确定原理包括如下部分所述的中继确定算法,其保证每个连接可以共享的最小带宽以及如果可能的话,如何尝试利用高带宽传输。设定每个缓存服务器20的连接池28中可重用连接26的最大数目,其是确保每个来自客户端14的请求能够使用一定数量的带宽(如果访问接受的话)的界限。为了最小化额外开销,在寻求缓存服务器20的帮助之前,代理服务器16通常首先使用其资源。当其自己的连接池28中存在空闲的可重用连接26时,代理服务器16倾向于重用这些空闲的可重用连接。如果缓存服务器20的可用带宽和空闲的可重用连接26明显高于代理服务器16的,考虑缓存服务器20进行快速传输。下面的表1描述了实施例算法的细节。
表1:中继确定算法的伪代码
对于连接池28管理,每个代理服务器16负责管理到源媒体服务器22的连接池28的管理。在实施例中,代理服务器16维护记录列表,其包括服务器IP、服务端口号、TCP选项(套接ID、IP4/IP6)、连接状态(空闲或占用)以及连接池28中每个可重用连接26的其他有用信息。一旦存在新建立的可重用连接26、连接状态转变、错误发生引起的断开、服务器侧导致的连接终止等等就更新该记录列表。代理服务器16可以设定连接池28中可重用连接26的最大数目,可重用连接26可以连接到源媒体服务器22。该最大数目可以基于,例如可用带宽的测量和基于经验值动态设定以满足应用需要。可以周期以适度间隔调整该最大数目。在另一实施例中,代理服务器16还可以为连接池28中的可重用连接26的数目设定一个最大界限,可重用连接26可以连接到源媒体服务器22。该界限可以基于经验值静态地设定为一个常数以满足应用需要。或者,其可以基于可用带宽的测量动态设定。可以周期以适度间隔调整该界限值。例如,当可用带宽减少时,界限值相应地降低,当可重用连接不使用时,释放连接池28中多余的可重用连接26。
现参考图2,图解30共同示出了通过代理/中继节点结构32代理服务器16和缓存服务器20进行的一些操作。尽管示意图的整体特性,应注意,并不是所有图解30中的元素都应用到代理服务器16的操作,并不是所有图解30中的元素都应用到缓存服务器20的操作。例如,代理和缓存服务器可以互相交换和/或执行传统上由另一个执行的一些任务。例如,为了转发其他请求业务,代理服务器可作为缓存服务器,同时缓存服务器可作为代理用于其本地请求。再例如,当代理/中继节点结构32表示图1中代理服务器16的操作时,可以忽略表示图2中的代理服务器16以及对应的确定代理服务器16上是否没有缓存相应的媒体内容。换句话说,只有与客户端14、控制服务器18、源媒体服务器22以及缓存服务器20之间的相关操作才适用于它。又例如,当代理/中继节点结构32表示缓存服务器20的操作时,忽略中继节点20和对应的转发/重定向请求。换句话说,只有与客户端14、控制服务器18、源媒体服务器22以及代理服务器16之间的相关操作才适用于它。
现参考图3,示出了由代理服务器16在内容分发网络12中使用连接池技术的实施例方法34。在方框36中,接收来自客户端14的对媒体内容的请求。在方框38中,如果代理服务器上没有缓存相应的媒体内容,向控制服务器18发送查询以找到具有媒体内容的源媒体服务器22。在方框40中,接收来自控制服务器的关于具有客户端14请求的媒体内容的源媒体服务器22的信息。在方框42中,如果可重用连接26未被占用,使用来自代理服务器16和源媒体服务器22之间的可重用连接池28中的可重用连接26向源媒体服务器22转发对媒体内容的请求。
在实施例中,根据缓存服务器20和源媒体服务器22之间可用的辅助可重用连接26的带宽对是否使用缓存服务器20以容纳对媒体内容的请求进行确定。
现参考图4,示出了由代理服务器16在内容分发网络12中使用连接池技术的实施例方法44。在方框46中,接收来自客户端14的对媒体内容的请求。在方框48中,如果代理服务器上没有缓存相应的媒体内容,向控制服务器18发送查询以找到具有媒体内容的源媒体服务器22。在方框50中,接收来自控制服务器18的关于具有客户端14请求的媒体内容的源媒体服务器22的信息。在方框52中,如果来自代理服务器16和源媒体服务器22之间的可重用连接池28中的可重用连接26的带宽低于阀值,向缓存服务器20重定向对媒体内容的请求。
现参考图5,示出了由缓存服务器20在内容分发网络12中进行使用连接池技术的实施例方法54。在方框56中,接收来自代理服务器16的对媒体内容的请求。在方框58中,对代理服务器上没有缓存相应的媒体内容进行确定。在方框60中,使用缓存服务器20和源媒体服务器22之间的可重用连接池28中的可重用连接26向源媒体服务器转发对媒体内容的请求。
现参考图6,进一步详细示出实施例代理服务器16。如图所示,实施例代理服务器16包括客户端网络接口62、处理器64、控制服务器网络接口66、源媒体服务器网络接口68,以及缓存服务器网络接口70。实施例代理服务器16还可包括其他硬件和部件,为便于图示,这些未在图2中绘出。
客户端网络接口62用于接收来自图1中客户端14的对媒体内容的请求。处理器64可操作地耦合到客户端网络接口62并用于确定是否没有缓存客户端14请求的媒体内容。处理器64还用于根据可重用连接池28中可重用连接26的带宽确定是否使用其中一个缓存服务器20容纳对媒体内容的请求。此外,处理器64用于确定可重用连接池28内可重用连接26的数目以及可重用连接池28内哪一个可重用连接26目前在使用。
控制服务器网络接口66可操作地耦合到处理器64。控制服务器网络接口66用于向图1中控制服务器18发送查询以找到具有媒体内容的源媒体服务器22(如果代理服务器上没有缓存相应的媒体内容)。控制服务器网络接口66还用于接收来自图1的控制服务器18的关于具有媒体内容的源媒体服务器22的信息。在实施例中,控制服务器网络接口66用于接收关于可用于容纳对媒体内容的请求的最佳缓存服务器20的其他信息。
源媒体服务器网络接口68可操作地耦合到处理器64。源媒体服务器网络接口68用于向图1中的具有媒体内容的源媒体服务器22转发对媒体内容的请求。在实施例中,如果可重用连接26未被占用,源媒体服务器网络接口68使用来自代理服务器16和源媒体服务器22之间的可重用连接池28中的其中一个可重用连接26转发对媒体内容的请求。
缓存服务器网络接口70用于,如果可重用连接26之间共享的可重用连接池28的带宽低于阀值,向图1中的其中一个缓存服务器20重定向对媒体内容的请求。
现参考图7,进一步详细示出实施例缓存服务器20。如图所示,缓存服务器20包括代理服务器网络接口72、处理器74,以及源媒体服务器网络接口76。代理服务器网络接口72用于接收来自代理服务器16的对媒体内容的请求。在实施例中,代理服务器网络接口72用于向代理服务器16发送从源媒体服务器22接收的媒体内容。
处理器74可操作地耦合到代理服务器网络接口72并用于确定代理服务器上是否没有缓存相应的媒体内容。源媒体服务器网络接口76可操作地耦合到处理器74。源媒体服务器网络接口76用于使用来自缓存服务器20和源媒体服务器22之间的连接池28中的可重用连接26向源媒体服务器22转发对媒体内容的请求。在实施例中,源媒体服务器网络接口76还用于通过可重用连接26接收来自源媒体服务器22的媒体内容。
图8是处理***80的方框图,可以用来实现下文公开的设备和方法。特定设备可以利用所示的所有部件,或仅部件的子集,而集成水平随设备的不同而不同。进一步地,设备可以包括部件的多个实例,如多个处理单元、处理器、存储器、发送器、接收器等等。处理***80可以包括配备有一个或多个输入/输出设备82的处理单元,所述输入/输出设备包括扬声器、麦克风、鼠标、触摸屏、按键、键盘、打印机、显示器等等。处理***80可以包括中央处理器(CPU)84、存储器86、大容量存储设备88、视频适配器90以及连接到总线94的I/O接口92。
总线94可以含有一个或多个类型的若干总线架构,包括存储总线或者存储控制器、外设总线以及视频总线等等。CPU84可包括任意类型的电子数据处理器(图6中的处理器64或图7中的处理器74)。存储器86可包括任意类型的***存储器,比如静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、同步DRAM(SDRAM)、只读存储器(ROM)或其组合等等。在实施例中,存储器86可包括在开机时使用的ROM以及执行程序时使用的程序和数据存储的DRAM。
大容量存储器设备88可包括任意类型的存储器设备,其用于存储数据、程序和其他信息,并使这些数据、程序和其他信息通过总线94访问。大容量存储器设备88可包括如下项中的一种或多种:固态磁盘、硬盘驱动器、磁盘驱动器、光盘驱动器等等。
视频适配器90和I/O接口92提供接口以耦合外部输入输出设备至处理单元。如图所示,输入输出设备的示例包括耦合至视频适配器90的显示器和耦合至I/O接口92的鼠标/键盘/打印机。其它设备可以耦合至处理***80,可以利用附加的或更少的接口卡。例如,可使用如通用串行总线(USB)(未示出)等串行接口卡将接口提供给打印机。
处理单元80还可以包括一个或多个网络接口96,所述网络接口可包括以太网电缆等有线链路和/或接入节点或不同网络的无线链路。网络接口96允许处理单元80通过网络与远程***或单元通信。例如,所述网络接口96可通过一个或多个发射器/发射天线和一个或多个接收器/接收天线提供无线通信。在实施例中,处理***80(也称为处理单元)耦合到局域网98或广域网98用于数据处理并与远程设备,比如其他处理单元、互联网、远程存储设施等,进行通信。
虽然已参考说明性实施例描述了本发明,但此描述并不旨在限制本发明。所属领域的技术人员在参考该描述后,将会明白说明性实施例的各种修改和组合,以及其他实施例。因此,希望所附权利要求书涵盖任何此类修改或实施例。

Claims (29)

1.一种通过代理服务器在内容分发网络(CDN)中使用连接池技术的方法,其特征在于,所述方法包括:
接收来自客户端的对媒体内容的请求;
如果所述媒体内容没有缓存,向控制服务器发送查询以找到具有所述媒体内容的源媒体服务器;
接收来自所述控制服务器的关于具有所述客户端请求的所述媒体内容的所述源媒体服务器的信息;
确定是否使用代理服务器和所述源媒体服务器之间的连接池或使用缓存服务器以容纳所述对所述媒体内容的请求;以及
如果代理服务器和源媒体服务器之间的所述连接池可用,使用所述代理服务器和所述源媒体服务器之间的所述连接池中的第一可重用连接或新建立的连接向所述具有所述媒体内容的源媒体服务器转发所述对所述媒体内容的请求。
2.根据权利要求1所述的方法,其特征在于,当至少一个可重用连接未被占用或根据连接池管理标准可以建立新的连接时,代理服务器和源媒体服务器之间的所述连接池可用。
3.根据权利要求2所述的方法,其特征在于,所述连接池管理标准包括所述连接池中可重用连接的最大数目,其动态地设定以满足应用需要。
4.根据权利要求2所述的方法,其特征在于,所述连接池管理标准包括所述连接池中的可重用连接可用的带宽量是否超过阀值。
5.根据权利要求4所述的方法,其特征在于,所述阀值根据所述连接池中所述可重用连接的可用带宽的动态测量而确定。
6.根据权利要求1所述的方法,其特征在于,进一步包括根据所述缓存服务器和所述源媒体服务器之间可用的辅助可重用连接的带宽确定是否使用缓存服务器来容纳所述对所述媒体内容的请求。
7.根据权利要求1所述的方法,其特征在于,进一步包括在发送步骤之前确定所述媒体内容是否没有缓存。
8.根据权利要求1所述的方法,其特征在于,进一步包括接收来自所述控制服务器的关于可用于容纳所述对媒体内容的请求的缓存服务器的其他信息。
9.根据权利要求8所述的方法,其特征在于,进一步包括同时接收关于所述源媒体服务器的信息以及关于所述缓存服务器的其他信息。
10.根据权利要求3所述的方法,其特征在于,进一步包括,在转发步骤之前,确定所述连接池内所述可重用连接的数目。
11.根据权利要求1所述的方法,其特征在于,进一步包括,在转发步骤之前,确定所述连接池内哪些可重用连接目前正在使用。
12.根据权利要求1所述的方法,其特征在于,进一步包括,如果所述连接池中的每个可重用连接被占用,在所述代理服务器和所述源媒体服务器之间的所述连接池中建立一个新的连接。
13.根据权利要求1所述的方法,其特征在于,进一步包括通过所述可重用连接接收来自所述源媒体服务的由所述客户端请求的所述媒体内容。
14.根据权利要求1所述的方法,其特征在于,进一步包括,向所述客户端发送从所述源媒体服务器接收的所述媒体内容。
15.一种通过代理服务器在内容分发网络(CDN)中使用连接池技术的方法,其特征在于,所述方法包括:
接收来自客户端的对媒体内容的请求;
如果所述媒体内容没有缓存,向控制服务器发送查询以找到具有所述媒体内容的源媒体服务器;
接收来自所述控制服务器的关于具有所述客户端请求的所述媒体内容的所述源媒体服务器的信息;以及
如果来自所述代理服务器和所述源媒体服务器之间的所述可重用连接池中的可重用连接的带宽小于阀值以及所述缓存服务器和所述源媒体服务器之间的可重用连接池中的可重用连接未被占用,向缓存服务器重定向所述对媒体内容的请求。
16.根据权利要求15所述的方法,其特征在于,进一步包括在所述重定向步骤之前,确定所述可重用连接的带宽。
17.根据权利要求15所述的方法,其特征在于,进一步包括在发送步骤之前确定所述媒体内容是否没有缓存。
18.根据权利要求15所述的方法,其特征在于,进一步包括接收来自所述控制服务器的关于可用于容纳所述对媒体内容的请求的缓存服务器的其他信息。
19.一种通过缓存服务器在内容分发网络(CDN)中使用连接池技术的方法,其特征在于,所述方法包括:
接收来自代理服务器的对媒体内容的请求;
确定所述媒体内容是否没有缓存;以及
使用来自所述缓存服务器和所述源媒体服务器之间的可重用连接池的可重用连接向源媒体服务器转发所述对所述媒体内容的请求。
20.根据权利要求19所述的方法,其特征在于,进一步包括通过所述可重用连接接收来自所述源媒体服务的所述媒体内容。
21.根据权利要求20所述的方法,其特征在于,进一步包括,向所述代理服务器发送从所述源媒体服务器接收的所述媒体内容。
22.一种内容分发网络(CDN)中的代理服务器,其特征在于,包括:
客户端网络接口,用于接收来自客户端的对媒体内容的请求;
可操作地耦合到所述客户端网络接口的处理器,所述处理器用于确定所述所述媒体内容是否没有缓存,以及确定是否使用代理服务器和所述源媒体服务器之间的连接池或使用缓存服务器来容纳所述对所述媒体内容的请求;
可操作地耦合到所述处理器的控制服务器网络接口,所述控制服务器网络接口用于,如果所述媒体内容没有缓存,向控制服务发送查询以找到具有所述媒体内容的源媒体服务器以及用于接收来自所述控制服务器关于所述具有所述媒体内容的源媒体服务器的信息;以及
可操作地耦合到所述处理器的源媒体服务器网络接口,所述源媒体服务器网络接口用于,如果代理服务器和源媒体服务器之间的所述连接池可用,使用所述连接池中的可重用连接或新建立的连接向所述具有所述媒体内容的源媒体服务器转发所述对所述媒体内容的请求。
23.根据权利要求22所述的代理服务器,其特征在于,所述处理器用户根据所述缓存服务器和所述源媒体服务器之间可用的辅助可重用连接的带宽确定是否使用缓存服务器来容纳所述对所述媒体内容的请求。
24.根据权利要求22所述的代理服务器,其特征在于,所述控制服务器网络接口用户接收其他关于可用于容纳所述对媒体内容的请求的缓存服务器的信息。
25.根据权利要求22所述的代理服务器,其特征在于,所述处理器用于确定所述连接池内的所述可重用连接的数量以及所述连接池内的哪些可重用连接目前正在使用。
26.根据权利要求22所述的代理服务器,其特征在于,缓存服务器网络接口用于,如果所述可重用连接之间共享的连接池的带宽小于阀值,向缓存服务器重定向所述对媒体内容的请求。
27.一种内容分发网络(CDN)中的缓存服务器,其特征在于,包括:
代理服务器网络接口,用于接收来自代理服务器的对媒体内容的请求;
可操作地耦合到所述代理服务器网络接口的处理器,所述处理器用于确定所述媒体内容没有缓存;以及
可操作地耦合到所述处理器的源媒体服务器网络接口,所述源媒体服务器网络接口用于使用来自所述缓存服务器和所述源媒体服务器之间的所述可重用连接池的可重用连接向源媒体服务器转发所述对所述媒体内容的请求。
28.根据权利要求27所述的缓存服务器,其特征在于,所述源媒体服务器网络接口用于通过所述可重用连接接收来自所述源媒体服务器的所述媒体内容。
29.根据权利要求28所述的缓存服务器,其特征在于,所述代理服务器网络接口用于将从所述源媒体服务器接收到的所述媒体内容发送到所述代理服务器。
CN201280059467.2A 2011-12-01 2012-12-03 在内容分发网络中使用视频流的连接池技术的***和方法 Active CN104246737B (zh)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201161565746P 2011-12-01 2011-12-01
USUS61/565,746 2011-12-01
US61/565,746 2011-12-01
US13/691,970 2012-12-03
US13/691,970 US9124674B2 (en) 2011-12-01 2012-12-03 Systems and methods for connection pooling for video streaming in content delivery networks
PCT/US2012/067599 WO2013082595A1 (en) 2011-12-01 2012-12-03 Systems and methods for connection pooling for video streaming in content delivery networks
USUS13/691,970 2012-12-03

Publications (2)

Publication Number Publication Date
CN104246737A true CN104246737A (zh) 2014-12-24
CN104246737B CN104246737B (zh) 2017-09-29

Family

ID=48524819

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201280059467.2A Active CN104246737B (zh) 2011-12-01 2012-12-03 在内容分发网络中使用视频流的连接池技术的***和方法

Country Status (4)

Country Link
US (1) US9124674B2 (zh)
EP (1) EP2786262A4 (zh)
CN (1) CN104246737B (zh)
WO (1) WO2013082595A1 (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104967861A (zh) * 2015-05-27 2015-10-07 上海美琦浦悦通讯科技有限公司 Cdn网络中的视频缓存***及方法
CN105577468A (zh) * 2015-12-10 2016-05-11 中国航空工业集团公司西安航空计算技术研究所 一种机载网络服务的tcp连接处理方法
WO2017113302A1 (zh) * 2015-12-31 2017-07-06 华为技术有限公司 一种媒体服务代理的方法、设备及***
CN108111866A (zh) * 2016-11-24 2018-06-01 法乐第(北京)网络科技有限公司 音视频播放的控制方法及***
CN108337327A (zh) * 2018-04-26 2018-07-27 拉扎斯网络科技(上海)有限公司 一种资源获取方法和代理服务器
CN109413453A (zh) * 2018-10-19 2019-03-01 广州酷狗计算机科技有限公司 视频播放方法、装置、终端及存储介质
CN109818810A (zh) * 2019-03-18 2019-05-28 深圳市网心科技有限公司 一种接入服务器连接优化方法、接入服务器以及通信***

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9268798B2 (en) 2013-04-26 2016-02-23 Oracle International Corporation Support for cloud-based multi-tenant environments using connection labeling
US9569472B2 (en) 2013-06-06 2017-02-14 Oracle International Corporation System and method for providing a second level connection cache for use with a database environment
US9720970B2 (en) 2013-06-06 2017-08-01 Oracle International Corporation Efficient storage and retrieval of fragmented data using pseudo linear dynamic byte array
US9600546B2 (en) 2013-06-06 2017-03-21 Oracle International Corporation System and method for marshaling massive database data from native layer to java using linear array
US9785687B2 (en) 2013-06-06 2017-10-10 Oracle International Corporation System and method for transparent multi key-value weighted attributed connection using uni-tag connection pools
US9747341B2 (en) 2013-06-06 2017-08-29 Oracle International Corporation System and method for providing a shareable global cache for use with a database environment
US9894125B2 (en) * 2013-07-03 2018-02-13 Avago Technologies General Ip (Singapore) Pte. Ltd. Redistributing sources for adaptive bit rate streaming
US9113229B2 (en) * 2013-09-12 2015-08-18 Verizon Patent And Licensing Inc. Automated content ingestion
WO2015057229A1 (en) * 2013-10-17 2015-04-23 Hewlett-Packard Development Company, L.P. Storing data at a remote location based on predetermined criteria
US9197717B2 (en) 2013-11-27 2015-11-24 At&T Intellectual Property I, Lp Server-side scheduling for media transmissions according to client device states
CN105007313B (zh) * 2015-07-03 2019-05-14 许继集团有限公司 一种终端接入方法和用于节能服务的海量数据传输***
CN105956138B (zh) * 2016-05-11 2019-07-12 北京百度网讯科技有限公司 数据库连接的控制方法和装置
US11082246B1 (en) * 2017-03-10 2021-08-03 Infinesse Corporation Synchronization source (SSRC) mapping for real-time interactive multipoint server-routed conferencing with dynamic renegotiation of multimedia-sending participants
CN113301136B (zh) * 2021-05-17 2022-12-30 银清科技有限公司 业务请求处理方法及装置

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1422468A (zh) * 2000-02-07 2003-06-04 内特里公司 用于高性能传递万维网内容的方法
US20040088413A1 (en) * 2002-11-04 2004-05-06 Bhogi Sankara R. Dynamically configurable resource pool
CN101087403A (zh) * 2007-05-31 2007-12-12 吴彬 基于p2p技术上的分布式流媒体点播***及其点播流媒体节目的实现方法
CN101170452A (zh) * 2007-11-30 2008-04-30 中国电信股份有限公司 增强管理能力的内容分发网络业务提供点***及所属网络
CN101399965A (zh) * 2008-09-28 2009-04-01 中兴通讯股份有限公司 一种基于epg服务器实现媒体内容定位的方法和装置
CN101406025A (zh) * 2006-03-28 2009-04-08 汤姆森许可贸易公司 针对内容传递网络的集中式调度器
CN101431532A (zh) * 2008-12-15 2009-05-13 中国电信股份有限公司 一种内容路由方法、负载均衡设备和资源管理设备
CN101540775A (zh) * 2009-04-30 2009-09-23 华为技术有限公司 内容分发方法、装置与内容分发网络***

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1269714B1 (en) * 2000-03-30 2006-08-30 Intel Corporation Method and device for distributed caching
US7299291B1 (en) * 2000-05-18 2007-11-20 Akamai Technologies, Inc. Client-side method for identifying an optimum server
US20030174648A1 (en) * 2001-10-17 2003-09-18 Mea Wang Content delivery network by-pass system
US8151323B2 (en) 2006-04-12 2012-04-03 Citrix Systems, Inc. Systems and methods for providing levels of access and action control via an SSL VPN appliance
US9432433B2 (en) 2006-06-09 2016-08-30 Qualcomm Incorporated Enhanced block-request streaming system using signaling or block creation
US20120089700A1 (en) 2010-10-10 2012-04-12 Contendo, Inc. Proxy server configured for hierarchical caching and dynamic site acceleration and custom object and associated method

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1422468A (zh) * 2000-02-07 2003-06-04 内特里公司 用于高性能传递万维网内容的方法
US20040088413A1 (en) * 2002-11-04 2004-05-06 Bhogi Sankara R. Dynamically configurable resource pool
CN101406025A (zh) * 2006-03-28 2009-04-08 汤姆森许可贸易公司 针对内容传递网络的集中式调度器
CN101087403A (zh) * 2007-05-31 2007-12-12 吴彬 基于p2p技术上的分布式流媒体点播***及其点播流媒体节目的实现方法
CN101170452A (zh) * 2007-11-30 2008-04-30 中国电信股份有限公司 增强管理能力的内容分发网络业务提供点***及所属网络
CN101399965A (zh) * 2008-09-28 2009-04-01 中兴通讯股份有限公司 一种基于epg服务器实现媒体内容定位的方法和装置
CN101431532A (zh) * 2008-12-15 2009-05-13 中国电信股份有限公司 一种内容路由方法、负载均衡设备和资源管理设备
CN101540775A (zh) * 2009-04-30 2009-09-23 华为技术有限公司 内容分发方法、装置与内容分发网络***

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104967861A (zh) * 2015-05-27 2015-10-07 上海美琦浦悦通讯科技有限公司 Cdn网络中的视频缓存***及方法
CN104967861B (zh) * 2015-05-27 2019-01-22 上海赛特斯信息科技股份有限公司 Cdn网络中的视频缓存***及方法
CN105577468A (zh) * 2015-12-10 2016-05-11 中国航空工业集团公司西安航空计算技术研究所 一种机载网络服务的tcp连接处理方法
CN105577468B (zh) * 2015-12-10 2019-04-05 中国航空工业集团公司西安航空计算技术研究所 一种机载网络服务的tcp连接处理方法
WO2017113302A1 (zh) * 2015-12-31 2017-07-06 华为技术有限公司 一种媒体服务代理的方法、设备及***
CN108111866A (zh) * 2016-11-24 2018-06-01 法乐第(北京)网络科技有限公司 音视频播放的控制方法及***
CN108337327A (zh) * 2018-04-26 2018-07-27 拉扎斯网络科技(上海)有限公司 一种资源获取方法和代理服务器
CN109413453A (zh) * 2018-10-19 2019-03-01 广州酷狗计算机科技有限公司 视频播放方法、装置、终端及存储介质
CN109413453B (zh) * 2018-10-19 2021-08-27 广州酷狗计算机科技有限公司 视频播放方法、装置、终端及存储介质
CN109818810A (zh) * 2019-03-18 2019-05-28 深圳市网心科技有限公司 一种接入服务器连接优化方法、接入服务器以及通信***

Also Published As

Publication number Publication date
EP2786262A1 (en) 2014-10-08
WO2013082595A1 (en) 2013-06-06
US20130144984A1 (en) 2013-06-06
US9124674B2 (en) 2015-09-01
CN104246737B (zh) 2017-09-29
EP2786262A4 (en) 2014-12-03

Similar Documents

Publication Publication Date Title
CN104246737A (zh) 在内容分发网络中使用视频流的连接池技术的***和方法
JP6915027B2 (ja) ライブストリーミングセグメント化方法、装置及びシステム
CN101540775B (zh) 内容分发方法、装置与内容分发网络***
US10367852B2 (en) Multiplexed demand signaled distributed messaging
CN101637006B (zh) 用于使用uddi来调解web服务的方法和设备
US20140165119A1 (en) Offline download method, multimedia file download method and system thereof
CN101026631B (zh) 基于cdn结构的iptv***的媒体交付***
CN103188574B (zh) 传输网络视频的方法及***
WO2011158183A1 (en) Server side push mechanisms for internet protocol television (iptv) updates
CN102055718B (zh) 一种在http streaming***中实现分层请求内容的方法,装置和***
CN106533932B (zh) 一种用于推送即时消息的方法和装置
CN103108008B (zh) 一种下载文件的方法及文件下载***
CN101262488B (zh) 一种内容分发网络***及方法
CN105379295A (zh) 分段内容的流送
CN102882829A (zh) 一种转码方法及***
US20100198977A1 (en) Automatic live stream trees
CN101159580B (zh) 内容分发网络中内容p2p化方法及***
CN114465989B (zh) 流媒体数据处理方法、服务器、电子设备和可读存储介质
WO2017161757A1 (zh) 一种流媒体文件分发方法及***
US9992140B2 (en) Electronic apparatus, server, and control method of system
CN107438201B (zh) 消息处理***、方法及装置
CN101262489B (zh) 一种内容分发网络***及方法
CN102571409A (zh) 一种用于实现业务跨终端使用的业务请求管理***及方法
CN103442034B (zh) 一种基于云计算技术的流媒体服务方法和***
KR20150011087A (ko) 컨텐츠 전송 서비스를 위한 분산 캐싱 관리 방법 및 이를 위한 중앙 관리 장치

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