CN103597844B - 在视频服务器与客户端之间平衡负载的方法和系统 - Google Patents
在视频服务器与客户端之间平衡负载的方法和系统 Download PDFInfo
- Publication number
- CN103597844B CN103597844B CN201280026259.2A CN201280026259A CN103597844B CN 103597844 B CN103597844 B CN 103597844B CN 201280026259 A CN201280026259 A CN 201280026259A CN 103597844 B CN103597844 B CN 103597844B
- Authority
- CN
- China
- Prior art keywords
- video
- client
- videoconference client
- request
- video server
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/65—Transmission of management data between client and server
- H04N21/658—Transmission by the client directed to the server
- H04N21/6582—Data stored in the client, e.g. viewing habits, hardware capabilities, credit card number
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/239—Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests
- H04N21/2393—Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests involving handling client requests
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/24—Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
- H04N21/2405—Monitoring of the internal components or processes of the server, e.g. server load
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/258—Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
- H04N21/25808—Management of client data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/442—Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
- H04N21/4424—Monitoring of the internal components or processes of the client device, e.g. CPU or memory load, processing speed, timer, counter or percentage of the hard disk space used
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Computer Graphics (AREA)
- Computer Networks & Wireless Communication (AREA)
- General Engineering & Computer Science (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Information Transfer Between Computers (AREA)
Abstract
通过允许服务器和客户端相互交换资源能力在数字视频分发系统中于视频服务器与其视频客户端之间平衡负载和资源要求的方法和系统。在接收到对可利用的视频内容当中的视频流的请求时,服务器基于哪个实体(客户端或服务器)能更好地缩放所请求的视频流来确定是它还是发请求的客户端应当缩放视频流,以符合发请求的客户端的资源和分辨能力。
Description
技术领域
本发明一般地涉及视频分发系统,并且特别地涉及用于在视频分发网络内于网络视频记录仪与一个或多个客户端计算机之间智能共享计算机资源的方法和系统。
背景技术
网络视频记录仪(“NVR”)是与通信网络耦接的基于互联网协议(“IP”)的设备。NVR是经由网络来接收数字图像和/或视频流并且按数字格式来记录它们的数字服务器。因为它们是基于IP的,所以NVR可以经由例如局域网(“LAN”)或者经由互联网来远程管理。NVR能够同步地记录并远程访问来自IP摄像机的实时视频流。
NVR服务器典型地按照没有理想地与客户端的显示分辨率匹配的分辨率将视频数据发送给客户端计算机。这对于网络带宽利用是低效率的,并且对于客户端侧的CPU利用也是低效率的。例如,如果客户端试图在4×4的矩阵中显示16个图像,则每个图像的必要分辨率可以是很适度的。但是,服务器能够不必将16D1或百万像素分辨率的视频流输送给客户端。这浪费了网络带宽并且使客户端计算机置于比必要负载重得多的计算负载。这对于资源密集型的CODEC是特别重要的,例如,使用H.264或MPEG-4压缩标准的CODEC。
典型地,上述问题通过使用能够输送多个同步流的视频采集设备来缓解,其中一个流将被输送用于记录,而另一个则用于在客户端计算机进行实时观看。但是,来自视频采集设备的多个流远不是理想的解决方案。其中之一是,NVR服务器需要支持多个客户端连接。因此,希望采集设备输送可能需要给或许10个或更多的单独客户端输送视频的众多分辨率是不可行的,其中每个客户端可能需要不同的分辨率。其次,该尝试没有为在客户端计算机上的存储视频的回放提供解决方案。
因此,所需要的是用于在视频服务器和客户端计算机之间智能共享计算机负载和网络带宽的系统和方法,以允许视频分发系统最小化网络带宽,同时还高效率地在网络上分发可利用的计算机资源。
发明内容
本发明有利地提供了用于通过允许服务器和客户端相互交换资源能力在视频服务器与其视频客户端之间于数字视频分发系统内智能地共享负载和资源要求的方法和系统。在接收到对可利用的视频内容当中的视频流的请求时,服务器基于哪个实体(客户端或服务器)能更好地缩放所请求的视频流来确定是它还是发请求的客户端应当缩放视频流,以符合发请求的客户端的资源和分辨能力。在本发明的一个方面,本发明提供了用于在视频分发网络中的视频服务器与视频客户端之间平衡负载的方法。该方法包括:接收来自至少一个视频客户端的对可利用的视频内容的列表当中的视频流的请求,所请求的视频流符合该至少一个视频客户端的资源能力,确定对视频流的请求是否来自该至少一个视频客户端当中具有最低资源能力的客户端,如果发请求的客户端在该至少一个视频客户端当中具有最低资源能力,则计算用于给发请求的客户端提供满足发请求的客户端的资源能力的所选视频流的必要资源,并且通过确定视频服务器是否将转码所选的视频流来在视频分发网络中平衡资源。
在本发明另一方面,本发明提供了用于在视频分发网络中于视频服务器和视频客户端之间平衡负载的系统。该系统包括含有可利用的视频内容的列表的数据库以及与数据库通信的视频服务器。视频服务器适应于接收来自视频客户端的对可利用的视频内容的列表中的视频流的请求,所请求的视频流符合发请求的视频客户端的资源能力,并且确定对视频流的请求是否来自该至少一个视频客户端当中具有最低资源能力的客户端。如果发请求的客户端在该至少一个视频客户端当中具有最低资源能力,则视频服务器计算用于给发请求的客户端提供满足发请求的客户端的资源能力的所选视频流的必要资源,并且通过确定视频服务器是否将转码所选视频流来在视频分发网络中平衡资源。
在又一方面,本发明提供了用于在视频分发网络中于视频服务器与至少一个视频客户端之间平衡负载的方法。该方法包括:给视频服务器发送对可利用的视频内容的列表中的视频流的请求,给视频服务器发送与发请求的视频客户端相应的资源能力,视频服务器通过确定是视频服务器还是发请求的视频客户端将缩放所选视频流来在视频分发网络中平衡资源,并且重新发送对缩放的视频流的请求。
附图说明
关于本发明及其所附优点和特征的更全面的理解通过参考下面结合附图来考虑的详细描述将变得更容易理解,在附图中:
图1是根据本发明的原理来构造的系统的示意图;
图2是示出根据本发明的原理的在NVR服务器与客户端计算机之间的交互的示意图;
图3是根据本发明的原理的由NVR服务器执行的示例性过程的流程图;以及
图4是示出根据本发明的原理的由视频客户端计算机以及由NVR服务器执行的示例性过程的流程图。
具体实施方式
在详细地描述根据本发明的示例性实施例之前,应当注意,这些实施例主要在于与用于实现视频分发系统和方法相关的装置构件和处理步骤的组合,所述系统和方法用于在视频分发网络中于视频服务器和客户端计算机之间智能地共享计算机负载,以允许视频分发系统最小化网络带宽并且在网络上同时分发可利用的计算机资源。
因此,系统和方法构件在适当的情况下于附图中由常规的符号表示,仅示出与对本发明的实施例的理解相关的那些具体细节,以免使本公开内容因对获益于本文的描述的本领域技术人员而言明显的细节而变得不明确。
如同本文所使用的,诸如“第一”和“第二”、“顶部”和“底部”等关系术语可以仅用于将一个实体或元件与另一个实体或元件区分开,而并不必要求或暗示在此类实体或元件之间的任何物理或逻辑上的关系。
本发明的一种实施例有利地提供了用于通过允许服务器和客户端相互交换资源能力而在数字视频分发系统中于服务器和客户端计算机之间平衡负载和资源要求的方法和系统。这样的布局还允许可利用的网络带宽的高效使用。在接收到对可利用的视频内容当中的视频流的请求时,服务器能够基于哪个实体(客户端或服务器)具有必要的处理资源来确定是它还是发请求的客户端应当缩放视频流。
现在参照附图,在附图中相同的附图标记指示相同的元件,在图1中示出了包括视频服务器12和一个或多个视频客户端计算机14的视频分发系统10。视频服务器12经由通信网络16与视频客户端14通信。举例来说,通信网络16能够是广域网(“WAN”)或局域网(“LAN”)通信网络。视频服务器12可以是能够采集数字视频内容并经由通信网络16将该内容发送给视频客户端14的基于互联网协议(“IP”)的设备,例如,网络视频记录仪(“NVR”)。服务器12包括负载平衡模块17和硬件,例如,CPU、存储器、I/O接口,以及软件,所述软件用于执行本文所描述的功能并且使服务器12能够接收来自远程IP摄像机的图像并在内部存储设备中或者在外部位置远程地存储和管理视频内容。服务器12可以具有内部数据库或者连接至外部数据库,该外部数据库含有能够在网络16上通过一个或多个视频客户端14来访问的所存储的视频内容。视频客户端14能够是具有播放数字视频内容的能力的任何计算设备,例如,台式计算机或膝上型计算机、移动设备,例如,个人数字助理(“PDA”)、移动电话、平板电脑、多媒体播放器。视频客户端14包括诸如存储器、CPU、I/O接口、数据存储之类的硬件,以及用于允许它接收并查看数字视频图像的软件。尽管本发明参照IP通信来描述,但是本发明并不限定于此。应当想得到,任何适合的网络通信协议都能够被用来实现本文所描述的发明。
应注意,尽管在此使用术语“视频”和“显示”,但是应当理解,本发明并不仅限于只有视频的内容的显示。正因如此,这些术语在本文中被定义为包括多媒体内容,以及内容的播放,即,显示视频的显示以及音频部分的听觉播放。
假定在网络16中的每个视频客户端14都具有对于它能够播放的数字视频内容的类型的限制。经由网络16到达视频客户端14的视频内容在服务器12编码并且需要在视频客户端14解码。到达视频客户端14的每个视频流能够由具体的CODEC(“编码器/解码器”)来分类,例如,CODEC A、CODEC B、CODEC C等,如图1所示。视频客户端14创建用于存储连同用于显示每个视频流的视频客户端14的解码资源能力和/或分辨能力一起的可由服务器12利用的每个视频流的客户端资源能力表19,例如,以下表1所表示的示例性表。如同本说明书通篇所使用的,术语“分辨能力”和“资源能力”可互换地用来指示视频客户端14的用于解码和/或显示所引入的视频内容的处理、存储、显示和/或解码能力。
表1
CODEC | 能力(Mb/s) |
CODEC A | x |
CODEC B | y |
CODEC C | z |
由于某些视频流的复杂性以及它们如何由来源进行编码,客户端14可能不具有资源能力,以充分地解码和/或显示所引入的视频内容。因而,视频客户端14计算它的用于解码和显示每个视频流的能力。客户端14能够订购服务以允许它访问含有可由不同的服务器12利用的实时的和所记录的视频内容的矩阵。例如,表2在下面示出了由不同来源给出的不同视频流的列表。
表2
来源 | CODEC | 数据速率(Mb/s) | 开始时间 | 结束时间 |
A | CODEC A | x | a | 现在 |
A | CODEC B | y | b | a |
B | CODEC C | z | c | 现在 |
来源A以特定的数据率(x)来提供视频流(CODEC A),具有开始时间(a)。来源A还提供具有不同的数据速率(y)的CODEC B,具有不同的开始时间(b)和结束时间(a)。来源B提供视频流CODEC A和CODEC C。来自来源B的用于CODEC C的数据速率(z)不同于来自来源A的用于CODEC A的数据速率(x)。取决于每个视频流的数据速率,客户端14具有用于解码和显示该视频流的内容的不同资源和能力。
服务器12还创建列出每个视频流(即,CODEC A、CODEC B、CODEC C)的表,它已经变得在网络16上可获得以便分发。下面给出了示例性的表3。
表3
CODEC | 解码能力(Mb/s) |
CODEC A | a |
CODEC B | b |
CODEC C | c |
服务器12公布其实时视频内容的可利用性,以及其所记录的视频内容的可利用性,以允许在网络16中的客户端14选择所期望的视频流。如果转码是必要的,服务器12计算其缩放或转码每个视频流所必需的资源。如同本技术领域所熟知的,转码是一种编码格式到另一种的转换。在有必要改编数字文件使得视频内容能够在不同的播放设备上观看时,转码通常是有必要的。因而,由客户端14请求的视频流可能需要被转码,以便使视频在客户端14上播放和观看。
有利地,本发明允许服务器12确定是它还是发请求的客户端14更能处理转码过程。为了完成该过程,服务器12在视频流的发送之前计算其解码能力并且然后在接收到来自客户端14的对视频流的请求时计算其解码能力。服务器12然后将该总数除以它支持的保留的通道数,以获得每个通道资源预算。
最初,服务器12和客户端14生成用于定义它们的解码视频的能力的表格(并且在客户端14的情形中,还显示该视频)。这些表格列出针对处理最低的视频分辨率所需要的资源进行规格化的可利用资源,例如,以用于每种类型的视频CODEC的例如通用中间格式(“CIF”)。这些表格在启动时从保守的值开始,并且随着时间而改进。这些表格被周期性地更新,尤其是在视频流请求之后。另外,服务器12公布它所具有的用于实时的和预先记录的视频的视频流列表。预先记录的视频表还含有时间信息,因为不同的CODEC随时间推移可以被用于相同的视频来源。在网络16内的客户端14订购该信息并且每当服务器更新其表格上的信息时接收新的或更新的信息。
图2示出了在它们通信以便在通过网络16来分发视频内容时平衡处理和网络负载时于视频服务器12与视频客户端14之间的交互的一种示例性实施例。客户端14请求来自服务器12的分辨率与由客户端能力表19示出的客户端的显示分辨率要求相应的视频内容。包含于客户端的请求内的是客户端14已经编入预算以便能够处理该请求的CODEC类型的可利用的处理资源的测量。客户端14还给服务器12发送客户端的当前CPU和存储器的使用。客户端14保留含有每个可利用的视频流所需要的平均的CPU使用的客户端使用表18并且因而能够在该请求下包括其用于所请求的视频流的资源能力。在接收到来自客户端14的请求时,服务器12检查其有用的内容,以确定服务器12是否具有在发请求的客户端的资源能力之内的任何视频流,并且作出是客户端14还是服务器12应当缩放所请求的视频的决定。该决定通过将随请求一起发送的客户端资源能力信息与服务器12上的可利用资源进行比较来作出。如同上文所讨论的,服务器12保留它自己的用于每个CODEC的转码能力表20。服务器12给客户端发送拒绝客户端12的请求或者通过给客户端12提供由客户端14用来检索所请求的视频流的信息(例如,URL)而作出应答的消息。在存在对服务器12的多个客户端请求的情况下,服务器12以可利用的最低的资源(即,CPU和存储器)为来自客户端14的转码请求服务。客户端14进而经由例如实时流协议(“RTSP”)请求来再次作出视频流请求,其中视频内容已经由服务器12缩放以使发请求的客户端14能够处理并显示视频内容。
图3是由负载平衡模块17执行的示例性过程的流程图,该负载平衡模块17能够是服务器12的一部分或者与服务器12通信。当在网络16中的一个或多个视频客户端14请求来自服务器12的视频内容时,每个客户端14与其请求一起包括其用于处理所请求的视频流的能力。每个客户端14的请求包括用于显示视频的每个客户端14的资源能力以及其用于解码所编码的视频流和转码视频信号的能力。因而,服务器12知道每个发请求的客户端14的资源能力。以该信息,服务器12确定发请求的客户端14中的哪个客户端14具有最低的客户端资源(步骤S22)。如果请求来自不具有发请求的客户端中的最低的客户端资源的客户端14,服务器拒绝来自该客户端14的转码请求(步骤S24)。应当注意,服务器12通常具有比网络16中的客户端14大的资源,因为服务器12必须对视频内容进行解码,缩放和编码。作为用于确定它是否具有用于转码的必要计算机资源的准则,服务器12可以确定转码特定的视频流所需的资源量是否小于预定量。
如果,在步骤S22,服务器12确定发请求的客户端14具有最低的客户端资源,则服务器12将开始转码过程(步骤S26)。服务器12然后计算给客户端14提供满足客户端14的预算要求和最小带宽的视频流所需要的必要资源(步骤S28)。然后必须确定客户端请求是否在服务器12的能力之内(步骤S30)。如果客户端请求处于服务器12的能力之内,则服务器12给客户端14发送拒绝客户端的转码请求的消息(步骤S32)。但是,如果服务器12具有用于转码客户端请求的资源,则它执行转码操作并且公布流的可利用性(步骤S34)。
图4的流程图示出了利用本发明的一种实施例的由服务器12和客户端14采用的示例性过程。视频服务器12公布可利用的视频流的池(步骤S33)。视频客户端14请求从可由服务器12利用的视频内容的公布池中选择视频流(步骤S35)。客户端14基于其显示分辨率来计算播放视频所需要的必要资源(步骤S36)。客户端14为所选的视频流计算其能力预算(步骤S38)。客户端资源能力预算基于客户端因素来确定,例如,其分辨能力、其CPU能力以及其解码并显示每个CODEC类型的能力。客户端14确定它能够显示可利用的内容中的什么视频流,以便最小化其CPU负载。一旦客户端14完成了该步骤,客户端14就与服务器12通信以确定服务器12是否具有接近于,即,在预定的资源差异之内的视频流,以满足客户端14的要求(步骤S40)。客户端14能够通过最初提供误差百分比来调整其CPU能力要求,使得它能够搜索在其理想的CPU负载的预定百分比(即,x%)之内的可利用的视频内容。在一种实施例中,x被设置为很低的值,并且在必要时,例如,如果在初始范围内没有可利用的视频流,则增加。
如果在由客户端14设定的约束之内有合适的视频流可利用(步骤S42),客户端14将其请求发送给服务器12。如果没有这样的流可利用,则客户端14确定其资源的最大值是否正在被使用(步骤S43)。如果客户端14的资源已经达到了它们的最大水平,则客户端14能够应用资源降低策略,例如,减少它能够接收的每秒的帧数,只显示选择的帧等,直到有合适的流可利用(步骤S44)。在一种实施例中,客户端14能够将一个或多个视频流标记为“优先流”,从而允许某些临界的视频流在客户端资源低时保留它们的帧率。一旦客户端14调整了它的帧要求,若必要,服务器12则选择在满足客户端14的帧率要求的同时使服务器12的解码资源最小化的它可利用的视频流(步骤S46)。服务器12基于包括在网络带宽要求最小化的同时满足服务器12的视频流预算以及客户端14的视频流预算的编码要求在内的多种因素来计算其编码资源的可利用性(步骤S48)。如果服务器12确定它具有足够的可利用资源来转码视频流(步骤S50和S52),则服务器12转码所请求的视频流,更新其可利用的流的列表以包含具有新转码的分辨率的视频流并且公布视频流内容的更新列表(步骤S54)。如果服务器12不具有必要的资源,则服务器12拒绝来自客户端14的对该特定视频流的请求,并且将消息发送客户端14以通过例如增大“x”的值来递增客户端14的流预算,即,调整其视频要求,使得客户端14能够重新开始其对可利用的视频流的搜索(步骤S56)。
本发明能够以硬件、软件或硬件和软件的组合来实现。任一种计算系统,或者适用于执行本文所描述的方法的其它装置,都适合于执行本文所描述的功能。
硬件和软件的典型组合能够是具有一个或多个处理元件以及存储于存储介质上的计算机程序的专用计算机系统,所述计算机程序在被装载并被执行时控制着计算机系统,使得它执行本文所描述的方法。本发明还能够以计算机程序产品来实现,该计算机程序产品包括允许实现本文所描述的方法的所有特征,并且在被装载到计算系统中时能够执行这些方法。存储介质指的是任何易失性的或非易失性的存储设备。
在本发明的背景下的计算机程序或应用意指一组指令以任意语言、代码或符号的任意表示,其中该组指令旨在促使具有信息处理能力的系统直接地或者在以下a)转换为另一种语言、代码或符号;b)以不同的材料形式的再现中的任一项或两者之后执行特别的功能。
另外,除非另有说明,否则应当注意,并非所有附图都是按比例的。重要的是,本发明在不脱离本发明的精神和本质属性的情况下能够以其它具体的形式来实现,并且因此,对于本发明的范围的指示应当参照所附的权利要求书,而不是前面的说明书。
Claims (17)
1.一种用于在视频分发网络中的视频服务器与至少一个视频客户端之间进行资源平衡的方法,所述方法包括:
接收来自视频客户端的对可利用的视频内容的列表中的视频流的第一请求,被请求的视频流符合发请求的视频客户端的资源能力;
通过以下步骤来在所述视频分发网络中平衡资源:
确定所述视频服务器的用于转码的可利用资源;
确定所述视频客户端的用于转码的可利用资源;
将所述视频服务器的所述可利用资源与所述视频客户端的所述可利用资源相比较;
基于所述比较确定所述视频服务器和所述视频客户端中哪一个要对所述被请求的视频流进行转码;以及
如果确定所述视频服务器要进行转码:则
拒绝来自所述视频客户端的所述第一请求;
在所述视频服务器处对选择的视频流进行转码;以及
一旦接收到来自所述视频客户端的后续请求,则向视频客户端提供被转码的视频流。
2.根据权利要求1所述的方法,其中来自所述视频客户端的所述第一请求包括所述视频客户端的所述可利用资源的测量,所述视频客户端的所述可利用资源包括发请求的视频客户端的CPU的利用和存储器的利用中的至少一种。
3.根据权利要求2所述的方法,其中确定发请求的视频客户端和视频服务器中的哪一个要对所述选择的视频流进行转码包括:将在所述第一请求中接收到的所述视频客户端的所述可利用资源的所述测量与所述视频服务器的可利用资源相比较。
4.根据权利要求1所述的方法,其中如果所述视频服务器将不对所述视频流进行转码,该方法还包括:向所述发请求的视频客户端发送指示视频服务器将不对所述选择的视频流进行转码的消息。
5.根据权利要求1所述的方法,还包括:生成限定所述视频服务器转码视频流的能力的转码资源表。
6.根据权利要求5所述的方法,还包括:在每个视频客户端的请求之后更新所述转码资源表。
7.根据权利要求1所述的方法,其中在所述视频服务器处确定可利用资源包括:计算所述视频服务器的转码资源。
8.根据权利要求1所述的方法,还包括:
从至少一个其它视频客户端接收至少一个请求;
确定视频客户端中哪一个具有最低资源能力;以及
在为其它请求服务之前先为来自具有所述最低资源能力的所述客户端的请求服务,所述服务包括:在所述视频分发网络中平衡所述资源。
9.根据权利要求1所述的方法,其中对所述选择的视频流进行转码包括:使用少于预定量的转码资源。
10.一种用于在视频分发网络中的视频服务器与至少一个视频客户端之间进行资源平衡的视频分发系统,包括:
配置为包含可利用的视频内容的列表的数据库;以及
与所述数据库通信的视频服务器,所述视频服务器具有存储软件的非易失性存储器,所述软件当被CPU执行时将所述视频服务器配置为:
从视频客户端接收对可利用的视频内容的列表中的视频流的第一请求,被请求的视频流符合发请求的视频客户端的资源能力;
通过以下各项来在所述视频分发网络中平衡资源:
确定所述视频服务器的用于转码的可利用资源;
确定所述视频客户端的用于转码的可利用资源;
将所述视频服务器的所述可利用资源与所述视频客户端的所述可利用资源相比较;
基于所述比较确定所述视频服务器和所述视频客户端中哪一个要对所述被请求的视频流进行转码;以及
如果确定所述视频服务器要进行转码:则
拒绝来自所述视频客户端的所述第一请求;
在所述视频服务器处对选择的视频流进行转码;以及
一旦接收到来自所述视频客户端的后续请求,则向视频客户端提供被转码的视频流。
11.根据权利要求10所述的系统,其中来自所述视频客户端的所述第一请求包括所述视频客户端的所述可利用资源的测量,所述视频客户端的所述可利用资源包括发请求的视频客户端的CPU的利用和存储器的利用中的至少一种,所述视频服务器的所述可利用资源包括所述视频服务器的CPU的利用和存储器的利用中的至少一种,并且
将所述视频服务器的所述可利用资源与所述视频客户端的所述可利用资源相比较包括:将所述视频客户端的CPU的利用和存储器的利用中的至少一种的测量与所述视频服务器的CPU的利用和存储器的利用中的至少一种相比较。
12.根据权利要求11所述的系统,其中所述视频服务器还配置为周期性地发布所述可利用的视频内容的列表。
13.根据权利要求10所述的系统,其中如果所述视频服务器将不对所述视频流进行转码,则所述视频服务器还配置为向所述发请求的视频客户端发送指示视频服务器将不对所述选择的视频流进行转码的消息。
14.根据权利要求10所述的系统,其中所述视频服务器还配置为生成限定所述视频服务器转码视频流的能力的转码能力表。
15.根据权利要求14所述的系统,其中所述视频服务器还配置为在每个视频客户端的请求之后更新所述转码能力表。
16.根据权利要求10所述的系统,其中在所述视频服务器处确定可利用资源包括计算所述视频服务器的转码资源。
17.根据权利要求16所述的系统,其中所述视频服务器还配置为:
从至少一个其它视频客户端接收至少一个请求;
确定视频客户端中哪一个具有最低资源能力;以及
在为其它请求服务之前先为来自具有所述最低资源能力的所述客户端的请求服务,所述服务包括:在所述视频分发网络中平衡所述资源。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/089,503 US9258625B2 (en) | 2011-04-19 | 2011-04-19 | Method and system for load balancing between a video server and client |
US13/089,503 | 2011-04-19 | ||
PCT/GB2012/050842 WO2012143705A1 (en) | 2011-04-19 | 2012-04-17 | Method and system for load balancing between a video server and client |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103597844A CN103597844A (zh) | 2014-02-19 |
CN103597844B true CN103597844B (zh) | 2017-03-22 |
Family
ID=46018000
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201280026259.2A Expired - Fee Related CN103597844B (zh) | 2011-04-19 | 2012-04-17 | 在视频服务器与客户端之间平衡负载的方法和系统 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9258625B2 (zh) |
EP (1) | EP2700241B1 (zh) |
CN (1) | CN103597844B (zh) |
WO (1) | WO2012143705A1 (zh) |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8549571B2 (en) * | 2009-09-15 | 2013-10-01 | Envysion, Inc. | Video streaming method and system |
GB2494153B (en) * | 2011-08-31 | 2018-11-28 | Metaswitch Networks Ltd | Selection of codecs |
US9166882B1 (en) * | 2011-12-13 | 2015-10-20 | Amazon Technologies, Inc. | Remote browsing session management |
US9019338B2 (en) * | 2012-02-29 | 2015-04-28 | Logitech Europe S.A. | Multicasting a video to a plurality of clients based on a single stream |
US8970658B2 (en) | 2012-04-20 | 2015-03-03 | Logitech Europe S.A. | User interface allowing a participant to rejoin a previously left videoconference |
CN103079089B (zh) * | 2012-12-27 | 2016-09-07 | 合一网络技术(北京)有限公司 | 一种用于将视频文件动态生成为ts文件的装置及方法 |
US9225768B2 (en) * | 2013-02-06 | 2015-12-29 | Sap Portals Israel Ltd | Providing network-applicable content |
CN105814899B (zh) * | 2013-12-16 | 2019-08-13 | 三星电子株式会社 | 用于分享内容的服务器装置、客户机装置以及用于分享内容的方法 |
US10182257B2 (en) * | 2014-07-31 | 2019-01-15 | Clipchamp Ip Pty Ltd | Client-side video transcoding and processing |
EP2988517A1 (en) * | 2014-08-21 | 2016-02-24 | Facebook, Inc. | Systems and methods for recipient-side image processing |
US9489711B2 (en) | 2014-08-21 | 2016-11-08 | Facebook, Inc. | Systems and methods for recipient-side image processing |
US20160092037A1 (en) * | 2014-09-25 | 2016-03-31 | Osix Corporation | Computer-Implemented Methods, Computer Readable Media, And Systems For Distributed Processing |
US10650014B2 (en) | 2015-04-09 | 2020-05-12 | International Business Machines Corporation | Data ingestion process |
CN105243078B (zh) * | 2015-08-28 | 2018-09-28 | 北京奇艺世纪科技有限公司 | 一种文件资源的分发方法、系统和装置 |
CN106657191B (zh) * | 2015-11-02 | 2020-10-16 | 杭州华为企业通信技术有限公司 | 一种负载均衡方法及相关装置、系统 |
CN106101744B (zh) * | 2016-06-23 | 2020-07-10 | 深圳创维-Rgb电子有限公司 | 一种在线播放电视的方法及装置 |
US10725759B2 (en) * | 2016-10-03 | 2020-07-28 | Avaya Inc. | Web application system and method to dynamically select between local installed and cloud-based resources |
US10057373B1 (en) * | 2017-05-15 | 2018-08-21 | Palantir Technologies Inc. | Adaptive computation and faster computer operation |
CN109936750B (zh) * | 2017-12-15 | 2022-04-19 | 华平信息技术股份有限公司 | 通信系统、微控制器及其应用的视频转码方法及系统 |
CN108111913B (zh) * | 2017-12-22 | 2021-08-27 | 北京奇艺世纪科技有限公司 | 一种直播视频流的生成方法、装置及电子设备 |
CN109788254B (zh) * | 2019-01-30 | 2021-01-08 | 安徽睿极智能科技有限公司 | 一种自适应网络的实时高清视频流分发方法及其系统 |
US11360798B2 (en) * | 2019-11-25 | 2022-06-14 | Nutanix, Inc. | System and method for internal scalable load service in distributed object storage system |
CN111601118B (zh) * | 2020-05-13 | 2023-01-13 | 广州市百果园信息技术有限公司 | 直播视频的处理方法、系统、装置及终端 |
US20220337868A1 (en) * | 2021-04-19 | 2022-10-20 | Synamedia Limited | Rendering video frames for a user interface operation performed at a client device |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1787639A (zh) * | 2004-12-07 | 2006-06-14 | 三星电子株式会社 | 双向无线通信的光网络 |
Family Cites Families (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5754658A (en) * | 1996-04-19 | 1998-05-19 | Intel Corporation | Adaptive encryption to avoid processor oversaturation |
JPH11150711A (ja) * | 1997-11-17 | 1999-06-02 | Nec Corp | ビデオ会議データ転送装置 |
CN1428046A (zh) * | 2000-03-08 | 2003-07-02 | 通用仪器公司 | 个人通用记录器及其实现和使用方法 |
EP1358742B1 (de) * | 2001-02-07 | 2012-04-04 | Siemens Aktiengesellschaft | Verfahren zur nachrichtenversendung aus einem mms-system und einrichtung hierfür |
US8151308B1 (en) * | 2001-12-28 | 2012-04-03 | Microsoft Corporation | Modifying the behavior of a multimedia transport system in response to detected capabilities of a client system |
BRPI0407187A (pt) * | 2003-02-04 | 2006-02-07 | Koninkl Philips Electronics Nv | Método para transmitir mensagem de multimìdia, programa de computação, portador de gravação, sistema de comunicação |
CA2537280C (en) * | 2003-08-29 | 2014-04-01 | Rgb Networks, Inc. | Advanced, self-balancing video multiplexer system |
WO2005029237A2 (en) * | 2003-09-15 | 2005-03-31 | Digital Networks North America, Inc. | Method and system for adaptive transcoding and transrating in a video network |
US7174385B2 (en) * | 2004-09-03 | 2007-02-06 | Microsoft Corporation | System and method for receiver-driven streaming in a peer-to-peer network |
KR100732114B1 (ko) * | 2005-03-07 | 2007-06-27 | 엘지전자 주식회사 | 휴대단말기에서의 메시지의 사진변환 방법 |
CN100471114C (zh) * | 2005-07-01 | 2009-03-18 | 萧学文 | 一种通过移动终端访问电脑资源的方法及系统 |
US7555715B2 (en) * | 2005-10-25 | 2009-06-30 | Sonic Solutions | Methods and systems for use in maintaining media data quality upon conversion to a different data format |
US8458753B2 (en) | 2006-02-27 | 2013-06-04 | Time Warner Cable Enterprises Llc | Methods and apparatus for device capabilities discovery and utilization within a content-based network |
US8370732B2 (en) * | 2006-10-20 | 2013-02-05 | Mixpo Portfolio Broadcasting, Inc. | Peer-to-portal media broadcasting |
IL180566A (en) * | 2007-01-04 | 2013-03-24 | Boaz Fletcher | Electronic messaging system and method |
US20080205389A1 (en) | 2007-02-26 | 2008-08-28 | Microsoft Corporation | Selection of transrate and transcode processes by host computer |
CN101374209B (zh) * | 2007-08-21 | 2011-09-28 | 康佳集团股份有限公司 | 基于igrs的数字家庭电视服务器 |
US8250179B2 (en) | 2007-11-30 | 2012-08-21 | At&T Intellectual Property I, L.P. | Systems, methods, and computer products for providing podcasts via IPTV |
US20100017516A1 (en) | 2008-07-16 | 2010-01-21 | General Instrument Corporation | Demand-driven optimization and balancing of transcoding resources |
CN101360059A (zh) * | 2008-09-05 | 2009-02-04 | Tcl通力电子(惠州)有限公司 | 一种网络内容共享系统和方法 |
US9473812B2 (en) * | 2008-09-10 | 2016-10-18 | Imagine Communications Corp. | System and method for delivering content |
US8706910B2 (en) * | 2008-10-28 | 2014-04-22 | Panzura, Inc. | Dynamically adaptive network-based data processing system and method |
US9049477B2 (en) * | 2008-11-13 | 2015-06-02 | At&T Intellectual Property I, Lp | Apparatus and method for managing media content |
US8301697B2 (en) * | 2009-06-16 | 2012-10-30 | Microsoft Corporation | Adaptive streaming of conference media and data |
US8903895B2 (en) | 2009-07-22 | 2014-12-02 | Xinlab, Inc. | Method of streaming media to heterogeneous client devices |
CN101635635B (zh) * | 2009-08-25 | 2011-12-07 | 北京原力创新科技有限公司 | 云模式流媒体服务平台 |
US9424444B2 (en) * | 2009-10-14 | 2016-08-23 | At&T Mobility Ii Llc | Systems, apparatus, methods and computer-readable storage media for facilitating integrated messaging, contacts and social media for a selected entity |
CN101917385B (zh) * | 2009-11-17 | 2013-05-01 | 新奥特(北京)视频技术有限公司 | 调度服务器及多媒体转码用的分布式系统 |
US8392533B2 (en) * | 2010-08-24 | 2013-03-05 | Comcast Cable Communications, Llc | Dynamic bandwidth load balancing in a data distribution network |
US8654640B2 (en) * | 2010-12-08 | 2014-02-18 | General Instrument Corporation | System and method for IP video delivery using distributed flexible channel bonding |
WO2012142508A1 (en) * | 2011-04-15 | 2012-10-18 | Skyfire Labs, Inc. | Real-time video optimizer |
-
2011
- 2011-04-19 US US13/089,503 patent/US9258625B2/en active Active
-
2012
- 2012-04-17 EP EP12717457.1A patent/EP2700241B1/en active Active
- 2012-04-17 CN CN201280026259.2A patent/CN103597844B/zh not_active Expired - Fee Related
- 2012-04-17 WO PCT/GB2012/050842 patent/WO2012143705A1/en active Application Filing
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1787639A (zh) * | 2004-12-07 | 2006-06-14 | 三星电子株式会社 | 双向无线通信的光网络 |
Also Published As
Publication number | Publication date |
---|---|
EP2700241A1 (en) | 2014-02-26 |
EP2700241B1 (en) | 2019-06-12 |
US9258625B2 (en) | 2016-02-09 |
CN103597844A (zh) | 2014-02-19 |
US20120271948A1 (en) | 2012-10-25 |
WO2012143705A1 (en) | 2012-10-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103597844B (zh) | 在视频服务器与客户端之间平衡负载的方法和系统 | |
US11330332B2 (en) | Systems and methods for transmission of data streams | |
CN102143385B (zh) | 媒体播放处理方法、数字媒体服务器和系统 | |
CN103765905B (zh) | 多媒体流的自适应转码的方法和装置 | |
CN103583050B (zh) | 空间分段的内容的递送 | |
US9426018B1 (en) | Feedback optimized video coding parameters | |
CN102934453B (zh) | 用于输送视频服务到服务群组的自适应速率改变 | |
CA2841377C (en) | Video transcoding services provided by searching for currently transcoded versions of a requested file before performing transcoding | |
CN100542275C (zh) | 内容递送系统、通信装置和通信方法 | |
US20130198788A1 (en) | Social video network | |
CN105191322A (zh) | 使用按需转码的多画面网络数字视频记录的系统和方法 | |
CA2881012A1 (en) | Secure event broadcasting system and method | |
CN102299917A (zh) | 在视频会议中结合直接和路由通信 | |
Laghari et al. | The state of art and review on video streaming | |
CN102571409A (zh) | 一种用于实现业务跨终端使用的业务请求管理系统及方法 | |
CN104396269A (zh) | 动态插播过渡 | |
Pan et al. | OJUMP: Optimization for joint unicast‐multicast panoramic VR live streaming system | |
CN111147952B (zh) | 一种监控资源数据发送方法、装置及存储介质 | |
Chen et al. | Edgevr360: Edge-assisted multiuser-oriented intelligent 360-degree video delivery scheme over wireless networks | |
CN102316359A (zh) | 传输视频数据的方法和装置 | |
CN116939236A (zh) | 基于视联网的数据转码方法、装置及计算机可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20170322 |
|
CF01 | Termination of patent right due to non-payment of annual fee |