在视频服务器与客户端之间平衡负载的方法和系统的制作方法

文档序号:7990325阅读:182来源:国知局
在视频服务器与客户端之间平衡负载的方法和系统的制作方法
【专利摘要】通过允许服务器和客户端相互交换资源能力在数字视频分发系统中于视频服务器与其视频客户端之间平衡负载和资源要求的方法和系统。在接收到对可利用的视频内容当中的视频流的请求时,服务器基于哪个实体(客户端或服务器)能更好地缩放所请求的视频流来确定是它还是发请求的客户端应当缩放视频流,以符合发请求的客户端的资源和分辨能力。
【专利说明】在视频服务器与客户端之间平衡负载的方法和系统
【技术领域】
[0001]本发明一般地涉及视频分发系统,并且特别地涉及用于在视频分发网络内于网络视频记录仪与一个或多个客户端计算机之间智能共享计算机资源的方法和系统。
【背景技术】
[0002]网络视频记录仪(“NVR”)是与通信网络耦接的基于互联网协议(“IP”)的设备。NVR是经由网络来接收数字图像和/或视频流并且按数字格式来记录它们的数字服务器。因为它们是基于IP的,所以NVR可以经由例如局域网(“LAN”)或者经由互联网来远程管理。NVR能够同步地记录并远程访问来自IP摄像机的实时视频流。
[0003]NVR服务器典型地按照没有理想地与客户端的显示分辨率匹配的分辨率将视频数据发送给客户端计算机。这对于网络带宽利用是低效率的,并且对于客户端侧的CPU利用也是低效率的。例如,如果客户端试图在4X4的矩阵中显示16个图像,则每个图像的必要分辨率可以是很适度的。但是,服务器能够不必将16D1或百万像素分辨率的视频流输送给客户端。这浪费了网络带宽并且使客户端计算机置于比必要负载重得多的计算负载。这对于资源密集型的CODEC是特别重要的,例如,使用H.264或MPEG-4压缩标准的CODEC。
[0004]典型地,上述问题通过使用能够输送多个同步流的视频采集设备来缓解,其中一个流将被输送用于记录,而另一个则用于在客户端计算机进行实时观看。但是,来自视频采集设备的多个流远不是理想的解决方案。其中之ー是,NVR服务器需要支持多个客户端连接。因此,希望采集设备输送可能需要给或许10个或更多的単独客户端输送视频的众多分辨率是不可行的,其中每个客户端可能需要不同的分辨率。其次,该尝试没有为在客户端计算机上的存储视频的回放提供解决方案。
[0005]因此,所需要的是用于在视频服务器和客户端计算机之间智能共享计算机负载和网络带宽的系统和方法,以允许视频分发系统最小化网络带宽,同时还高效率地在网络上分发可利用的计算机资源。

【发明内容】

[0006]本发明有利地提供了用于通过允许服务器和客户端相互交换资源能力在视频服务器与其视频客户端之间于数字视频分发系统内智能地共享负载和资源要求的方法和系统。在接收到对可利用的视频内容当中的视频流的请求时,服务器基于哪个实体(客户端或服务器)能更好地缩放所请求的视频流来确定是它还是发请求的客户端应当缩放视频流,以符合发请求的客户端的资源和分辨能力。在本发明的ー个方面,本发明提供了用于在视频分发网络中的视频服务器与视频客户端之间平衡负载的方法。该方法包括:接收来自至少ー个视频客户端的对可利用的视频内容的列表当中的视频流的请求,所请求的视频流符合该至少ー个视频客户端的资源能力,确定对视频流的请求是否来自该至少ー个视频客户端当中具有最低资源能力的客户端,如果发请求的客户端在该至少一个视频客户端当中具有最低资源能力,则计算用于给发请求的客户端提供满足发请求的客户端的资源能力的所选视频流的必要资源,并且通过确定视频服务器是否将转码所选的视频流来在视频分发网络中平衡资源。
[0007]在本发明另一方面,本发明提供了用于在视频分发网络中于视频服务器和视频客户端之间平衡负载的系统。该系统包括含有可利用的视频内容的列表的数据库以及与数据库通信的视频服务器。视频服务器适应于接收来自视频客户端的对可利用的视频内容的列表中的视频流的请求,所请求的视频流符合发请求的视频客户端的资源能力,并且确定对视频流的请求是否来自该至少ー个视频客户端当中具有最低资源能力的客户端。如果发请求的客户端在该至少一个视频客户端当中具有最低资源能力,则视频服务器计算用于给发请求的客户端提供满足发请求的客户端的资源能力的所选视频流的必要资源,并且通过确定视频服务器是否将转码所选视频流来在视频分发网络中平衡资源。
[0008]在又一方面,本发明提供了用于在视频分发网络中于视频服务器与至少ー个视频客户端之间平衡负载的方法。该方法包括:给视频服务器发送对可利用的视频内容的列表中的视频流的请求,给视频服务器发送与发请求的视频客户端相应的资源能力,视频服务器通过确定是视频服务器还是发请求的视频客户端将缩放所选视频流来在视频分发网络中平衡资源,并且重新发送对缩放的视频流的请求。
【专利附图】

【附图说明】
[0009]关于本发明及其所附优点和特征的更全面的理解通过參考下面结合附图来考虑的详细描述将变得更容易理解,在附图中:
[0010]图1是根据本发明的原理来构造的系统的示意图;
[0011]图2是示出根据本发明的原理的在NVR服务器与客户端计算机之间的交互的示意图;
[0012]图3是根据本发明的原理的由NVR服务器执行的示例性过程的流程图;以及
[0013]图4是示出根据本发明的原理的由视频客户端计算机以及由NVR服务器执行的示例性过程的流程图。
【具体实施方式】
[0014]在详细地描述根据本发明的示例性实施例之前,应当注意,这些实施例主要在于与用于实现视频分发系统和方法相关的装置构件和处理步骤的组合,所述系统和方法用于在视频分发网络中于视频服务器和客户端计算机之间智能地共享计算机负载,以允许视频分发系统最小化网络带宽并且在网络上同时分发可利用的计算机资源。
[0015]因此,系统和方法构件在适当的情况下于附图中由常规的符号表示,仅示出与对本发明的实施例的理解相关的那些具体细节,以免使本公开内容因对获益于本文的描述的本领域技术人员而言明显的细节而变得不明确。
[0016]如同本文所使用的,诸如“第一”和“第二”、“顶部”和“底部”等关系术语可以仅用于将ー个实体或元件与另ー个实体或元件区分开,而并不必要求或暗示在此类实体或元件之间的任何物理或逻辑上的关系。
[0017]本发明的一种实施例有利地提供了用于通过允许服务器和客户端相互交换资源能力而在数字视频分发系统中于服务器和客户端计算机之间平衡负载和资源要求的方法和系统。这样的布局还允许可利用的网络带宽的高效使用。在接收到对可利用的视频内容当中的视频流的请求时,服务器能够基于哪个实体(客户端或服务器)具有必要的处理资源来确定是它还是发请求的客户端应当缩放视频流。
[0018]现在參照附图,在附图中相同的附图标记指示相同的元件,在图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通信来描述,但是本发明并不限定于此。应当想得到,任何适合的网络通信协议都能够被用来实现本文所描述的发明。
[0019]应注意,尽管在此使用术语“视频”和“显示”,但是应当理解,本发明并不仅限于只有视频的内容的显示。正因如此,这些术语在本文中被定义为包括多媒体内容,以及内容的播放,即,显示视频的显示以及音频部分的听觉播放。
[0020]假定在网络16中的每个视频客户端14都具有对于它能够播放的数字视频内容的类型的限制。经由网络16到达视频客户端14的视频内容在服务器12编码并且需要在视频客户端14解码。到达视频客户端14的每个视频流能够由具体的CODEC (“编码器/解码器”)来分类,例如,CODEC A、CODEC B、CODEC C等,如图1所示。视频客户端14创建用于存储连同用于显示每个视频流的视频客户端14的解码资源能力和/或分辨能力一起的可由服务器12利用的每个视频流的客户端资源能力表19,例如,以下表1所表示的示例性表。如同本说明书通篇所使用的,术语“分辨能力”和“资源能力”可互換地用来指示视频客户端14的用于解码和/或显示所引入的视频内容的处理、存储、显示和/或解码能力。
[0021]表1
[0022]
【权利要求】
1.一种用于在视频分发网络中的视频服务器与至少ー个视频客户端之间进行资源平衡的方法,所述方法包括: 接收来自视频客户端的对可利用的视频内容的列表中的视频流的请求,被请求的视频流符合发请求的视频客户端的资源能力; 确定对所述视频流的所述请求是否来自在所述至少一个视频客户端当中具有最低资源能力的客户端; 如果所述发请求的客户端在所述至少一个视频客户端当中具有最低资源能力,则计算用于向所述发请求的客户端提供满足所述发请求的客户端的资源能力的选择的视频流的必要资源;以及 通过确定所述视频服务器是否将要对所述选择的视频流进行转码来在所述视频分发网络中平衡资源。
2.根据权利要求1所述的方法,其中如果确定所述视频服务器将要转码,还包括:在所述视频服务器上对所述选择的视频流进行转码。
3.根据权利要求2所述的方法,还包括:更新所述可利用的视频内容的列表以包含被转码的视频流。
4.根据权利要求3所述的方法,还包括:要求所述视频客户端发出对被转码的视频流的请求。
5.根据权利要求1所述的方法,其中如果所述视频服务器将不对所述视频流进行转码,还包括:向所述发请求的视频客户端发送指示视频服务器将不对所述选择的视频流进行转码的消息。
6.根据权利要求1所述的方法,还包括:生成限定所述视频服务器转码视频流的能力的转码资源表。
7.根据权利要求6所述的方法,还包括:在每个视频客户端的请求之后更新所述转码资源表。
8.根据权利要求1所述的方法,其中确定所述视频服务器是否将要对所述选择的视频流进行转码包括:计算所述视频服务器的转码资源。
9.根据权利要求8所述的方法,其中确定所述视频服务器是否将要对所述选择的视频流进行转码包括:将所述发请求的视频客户端的资源能力与所述视频服务器的所述转码资源进行比较。
10.根据权利要求2所述的方法,其中对所述选择的视频流进行转码包括:使用少于预定量的转码资源。
11.一种用于在视频分发网络中的视频服务器与至少ー个视频客户端之间进行资源平衡的视频分发系统,包括: 含有可利用的视频内容的列表的数据库;以及 与所述数据库通信的视频服务器,所述视频服务器适用于: 从视频客户端接收对可利用的视频内容的列表中的视频流的请求,被请求的视频流符合发请求的视频客户端的资源能力; 确定对所述视频流的所述请求是否来自在所述至少一个视频客户端当中具有最低资源能力的客户端;如果所述发请求的客户端在所述至少一个视频客户端当中具有最低资源能力,则计算用于向所述发请求的客户端提供满足所述发请求的客户端的资源能力的选择的视频流的必要资源;以及 通过确定所述视频服务器是否将要对所述选择的视频流进行转码来在所述视频分发网络中平衡资源。
12.根据权利要求11所述的系统,其中如果所述视频服务器确定它能够转码,则所述视频服务器适用于对所述选择的视频流进行转码。
13.根据权利要求12所述的系统,其中所述视频服务器更新所述可利用的视频内容的列表以包括被转码的视频流。
14.根据权利要求13所述的系统,其中所述视频服务器周期性地发布所述可利用的视频内容的列表。
15.根据权利要求11所述的系统,其中如果所述视频服务器将不对所述视频流进行转码,则所述视频服务器向所述发请求的视频客户端发送指示视频服务器将不对所述选择的视频流进行转码的消息。
16.根据权利要求11所述的系统,其中所述视频服务器生成限定所述视频服务器转码视频流的能力的转码能力表。
17.根据权利要求16所述的系统,其中所述视频服务器在每个视频客户端的请求之后更新所述转码能力表。
18.根据权利要求11所述的系统,其中所述视频服务器通过计算所述视频服务器的转码资源来确定对所述选择的视频流进行转码。
19.根据权利要求18所述的系统,其中所述视频服务器通过将所述发请求的视频客户端的资源能力与所述视频服务器的所述转码资源进行比较来确定对所述选择的视频流进行转码。
20.一种用于在视频分发网络中的视频服务器与至少ー个视频客户端之间进行资源平衡的方法,所述方法包括: 向所述视频服务器发送对可利用的视频内容的列表中的视频流的请求; 向所述视频服务器发送与发请求的视频客户端对应的资源能力,所述视频服务器通过确定是所述视频服务器还是所述发请求的视频客户端将缩放选择的视频流来在所述视频分发网络中平衡资源;以及 重新发送对被缩放的视频流的请求。
【文档编号】H04N21/647GK103597844SQ201280026259
【公开日】2014年2月19日 申请日期:2012年4月17日 优先权日:2011年4月19日
【发明者】W·A·马丁 申请人:传感电子有限责任公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1