专利名称:多媒体内容点播的多播传送的制作方法
技术领域:
本发明大体来说涉及在计算机网络上传输多媒体内容,且更具体来说涉及多媒体 内容传送系统及通过多媒体的选择性多播将网络带宽消耗效率最大化的方法。
背景技术:
多播是其中源主机向一群目的主机发送消息的通信模式。尽管这可以通过向每一 目的主机发送单播(点对点)消息来完成,但建立对目的主机的连接所要求的带宽及 处理功率的添加消耗使得在这一情形中单播是不合希望的。因此,使用多播的主要优 势是降低带宽消耗。存在许多要求向数以百计的目的主机传输包的应用程序。发送到 这些目的主机的包在其到其目的地的路径上共享一群链路。由于多播要求仅由源主机 传输单个包且仅在必要时(也就是说,在多播传送树的分叉处)重复这一包,所以多 播传输可以保存宝贵的网络资源。
多播的另一重要特征及本申请案所关注的另一重要特征是其对"数据广播"应用 的支持。最近几年,因特网上的多媒体传输已经变得越来越受欢迎。这些传输也称为 "网络传播(webcast)"、"音频传播(audiocast)"、"视频传播(vid醒st)"、 "个人传播(podcast)"和其他相依于多媒体内容类型的奇特术语。最受欢迎的是音 频及视频信号从服务器到一群接收客户机的捕获、压縮及传输。多播可用于将多媒体 内容有效分布到所有客户机,而不是使用各参与客户机之间的一组点对点连接。客户 机经常可以在任一时间加入或离开音频传播或视频传播。由多播提供的加入及离开组 群的灵活性可以使得对可变成员关系的管理更加易于处理。然而,多播或广播多媒体 内容的当前系统总是广播所有内容而不管客户机是否正在请求所述内容。在这一方面, 数据传播与无线电台或电视台相类似,无线电台或电视台分别广播无线电或电视信号, 而不管是否有人在收听或观看。然而,在因特网上,这种类型的盲目广播 (broadcasting-in-the-blind)可能导致稀有网络资源的低效使用和最严重的网络拥塞。 因此,希望一种可以选择性地基于客户机使用或请求来多播其流式内容的多媒体系统。
发明内容
本发明通过提供新颖的流式多媒体广播系统及方法来解决现有技术中存在的问 题,所述新颖的流式多媒体广播系统及方法基于客户机请求及使用来选择性地多播其 内容。具体来说,本系统包含与多个源进行通信且具有多个客户机的服务器。所述服 务器确定所述客户机的至少一者是否正请求接收至少一个源。然后,所述服务器分别 向提出请求的客户机多播这些所请求源。在客户机均不请求特定源的情况下,服务器 不会多播所述特定源。在所有客户机均停止请求服务器当前正在多播的特定源的情况 下,服务器终止所述特定源的多播。通过选择性地多播所述可用的源,可以保存重要 的网络资源且可以避免网络拥塞。
在本发明的某些实施例中,存在用于执行一种通过网络将流式媒体内容从至少一 个源传送到多个客户机的方法的方法/装置/系统,所述方法包括下述行为向多个客户 机中的至少一个客户机多播第一流式内容,及在确定所述多个客户机均不希望继续接 收第一流式内容时终止第一流式内容的多播。在某些实施例中,存在一种如上文/下文 所述的方法/系统/设备,其中在网络协议的应用层做出所述确定,尽管在其他实施例中, 确定不是在应用层做出,且在某些实施例中,终止多播/阻止多播包含停止/阻止流式媒 体内容进入网络/在网络中传播。
上文及下文所论述的某些实施例进一步包含下述行为在多播第一流式内容之 前,确定所述多个客户机中的至少一个客户机是否希望从所述至少一个源接收流式内 容。在某些实施例中,存在一种如上文/下文所述的方法/系统/设备,其中确定所述多 个客户机中的至少一个客户机是否希望从所述至少一个源接收流式内容的行为包括估 计从所述多个客户机中的一个或一个以上客户机接收的轮询消息,所述轮询消息可指 示一个或一个以上客户机继续从所述至少一个源接收流式内容的希望。
在某些实施例中,存在一种如上文/下文所述的方法/系统/设备,其中确定所述多 个客户机中的至少一个客户机是否希望从所述至少一个源接收流式内容的行为包括 基于多个当前已接收的轮询消息中的至少一者来估计从所述多个客户机中的一个或一 个以上客户机接收的轮询消息,所述轮询消息可指示一个或一个以上客户机继续从所 述至少一个源接收流式内容的希望;及当前是否已接收至少一个轮询消息。在某些实
施例中,存在一种如上文/下文所述的方法/系统/设备,其中确定所述多个客户机中的 至少一个客户机是否希望从所述至少一个源接收流式内容的行为包括向多个客户机中 的一个或一个以上客户机发送轮询消息,其中所述轮询消息向相应接收方请求确认所 述轮询问题的相应接收方希望继续从所述至少一个源接收流式内容。
在某些实施例中,存在一种如上文/下文所述的方法/系统/设备,其中确定所述多
个客户机中的至少一个客户机是否希望从所述至少一个源接收流式内容的行为包括 向多个客户机中的一个或一个以上客户机发送轮询消息,所述轮询消息向相应接收方
请求确认轮询问题的相应接收方希望继续从所述至少一个源接收流式内容;及下述至少一者估计来自所述轮询问题的相应接收方的响应,及估计来自所述轮询问题的相 应接收方的响应缺失。
在某些实施例中,存在一种如上文/下文所述的方法/系统/设备,其中在终止流式 内容之前,确定所述多个客户机中的至少一个客户机是否希望从所述至少一个源接收 流式内容,及当在网络协议的应用层处确定客户机均不希望从所述至少一个源接收流 式内容的情况下终止所述多播。
在某些实施例中,存在一种如上文/下文所述的方法/系统/设备,其进一步包括下 述行为在向所述多个客户机中的至少一个客户机多播第一流式内容之后,及在所述 多个客户机均不希望继续接收所述至少一个源的情况下终止所述第一流式内容的多播 之前,辨识至少一个其他客户机希望接收所述第一流式内容,及将所述至少一个其他 客户机添加到构成所述第一流式内容多播的多播传输的多播地址中。
在某些实施例中,存在一种如上文/下文所述的方法/系统/设备,其中确定所述多 个客户机中的至少一个客户机是否希望从所述至少一个源接收流式内容的行为包括下 述至少一者对与服务器的开放TCP套接口连接的数量计数,所述服务器向多个客户 机中的至少一个客户机多播第一流式内容;及确定是否存在与服务器的开放TCP套接 口连接,所述服务器基于所计数的开放TCP套接口连接向多个客户机中的至少一个客 户机多播第一流式内容。
在某些实施例中,存在一种如上文/下文所述的方法/系统/设备,其中确定所述多 个客户机中的至少一个客户机是否希望从所述至少一个源接收流式内容的行为包括下 述至少一者对与服务器的开放TCP套接口连接的数量计数,所述服务器向多个客户
机中的至少一个客户机多播第一流式内容,且在开放TCP套接口连接的数量低于某一 数字时确定客户机均不希望从所述至少一个源接收流式内容;及确定是否存在对服务 器的开放TCP套接口连接,所述服务器向所述多个客户机中的至少一个客户机多播第 一流式内容,及在确定不存在开放TCP套接口连接的情况下确定客户机均不希望从所 述至少一个源接收流式内容。在某些实施例中,存在一种如上文/下文所述的方法/系统 /设备,其中在仍然产生流式内容并将其发送到服务器时发生在确定所述多个客户机均 不希望继续接收所述至少一个源时终止第一流式内容多播的行为。在某些实施例中, 存在一种如上文/下文所述的方法/系统/设备,其中第一流式内容包含由视频摄像机系 统产生的视频内容。在某些实施例中,存在一种如上文/下文所述的方法/系统/设备,
其进一步包括利用与所述至少一个源通信的服务器向多个客户机中的至少一个客户
机多播第一流式内容,其中所述至少一个源向所述服务器传输第一流式内容,其中所
述多播通过下述的至少一者来发生 一个或一个以上无线接入点、 一个或一个以上数 字订户线、 一个或一个以上广域网络连接、及一个或一个以上局域网络连接,其中所 述第一内容包含文本、图片、视频及音频内容的至少一者。在某些实施例中,存在一 种如上文/下文所述的方法/系统/设备,其中第一流式内容包含由第一视频摄像机系统 产生的视频内容,所述方法进一步包括下述行为向所述多个客户机中的至少一个客户机多播至少一个第二流式内容,所述第二流式内容包含由第二视频摄像机系统产生 的视频内容;及在确定所述多个客户机均不希望继续接收第二流式内容时终止第二流 式内容多播,其中所述多播行为通过同一服务器发生。
在某些实施例中,存在一种如上文/下文所述用于将流式媒体内容从至少一个源传 送到多个客户机的方法/系统/设备,其包括下述行为使用服务器从至少一个源接收第 一流式内容;及下述至少一者在从服务器多播第一流式内容之前确定所述多个客户 机中的至少一个客户机是否希望从所述至少一个源接收流式内容,以使所述多个客户 机中的一者或一者以上可以接收第一流式内容;在从所述服务器多播第一流式内容之 前确定多个客户机中的至少一个客户机是否希望从所述至少一个源接收流式内容,以 使所述多个客户机中的一者或一者以上可以接收第一流式内容,其中在确定所述多个 客户机中的至少一个客户机希望从所述至少一个源接收流式内容的情况下多播所述第 一流式内容,以使所述多个客户机中的至少一者可接收第一流式内容,且其中在确定 客户机均不希望从所述至少一个源接收流式内容的情况下阻止第一流式内容的多播; 确定所述多个客户机中先前已从至少一个源接收从服务器多播的流式内容的至少一个 客户机是否希望继续从所述至少一个源接收流式内容以确定是否断开从服务器多播的 第一流式内容;及确定所述多个客户机中先前已从至少一个源接收从服务器多播的流 式内容的至少一个客户机是否希望继续从所述至少一个源接收从服务器多播的流式内 容,以确定是否断开从所述至少一个服务器多播的第一流式内容,其中在确定所述多 个客户机中先前已从至少一个源接收从服务器多播的流式内容的至少一个客户机不希 望继续从所述至少一个源接收流式内容的情况下,终止所述第一流式内容的多播,且 其中在确定所述多个客户机中先前已从至少一个源接收从服务器多播的流式内容的至 少一个客户机希望继续从所述至少一个源接收流式内容的情况下,继续多播所述第一
流式内容。
参照下列说明、附加权利要求书和附图,将更好地理解本发明的这些和其他特征、 方面及优势,其中
图1是本发明的优选实施例的计算机网络的示意图。
具体实施例方式
参照图1,其显示网络系统的实例,其中存在通过各种网络连接与服务器进行通
信的5个客户机和3个摄像机(或源)。尽管下列说明为便利起见将涉及通过摄像机 捕获的视频,但应了解,本发明可以容纳所有类型的流式内容,包含而不限于例如文 本、图片和音频等格式。此外,在某些实施例中,可以利用各种类型的网络及/或对服 务器的连接。此外,客户机及源的数量也可以变化。因此,在某些实施例中,客户机
11和源可以通过任一数量的方式连接到服务器,所述方式包含(仅举例说明而非限制) 无线接入点、数字订户线、广域网络连接及/或局域网络连接。
图1描绘其中存在5个客户机和3个视频源的系统的实例。在典型的多播IP视 频系统中,所有3个摄像机将随时向网络的所有部分进行广播。因此,在每个摄像机 传输lMbps数据的情况下,广播区域A和广播区域B将各自处理3Mbps的数据,且 在每一客户机上将有3Mbps进入每一网络接口卡(NIC)。如果存在300个摄像机, 则所述数字将是300Mbps,且这可能导致引起网络拥塞。
在实施本发明某些实施例的系统中,在一个客户机请求视频前视频服务器将不发 送任何视频。以此方式,服务器将在其从单个客户机接收到对特定资源的请求时开始 多播。在其接收到接续请求的情况下,则其将继续将所述资源流化。当客户机不再希 望所述流时,服务器将注意到所述情况并在客户机不希望所述流时就停止流化。
本发明的某些实施例的服务器可能包含可以包含实施本文所述的某些或全部实 施例的逻辑的处理器,所述服务器可以从与其通信的摄像机接收稳定的视频流。然而, 服务器不会像现有技术中那样总是多播所有的这些视频馈送。相反,其检查是否存在 任何客户机正向任一特定摄像机请求观看任何视频。如果没有任何客户机向特定摄像 机请求视频,则服务器不会多播所述摄像机的内容。然而,如果至少一个客户机希望 观看来自特定摄像机的视频,则服务器向所述客户机多播所述摄像机的视频流。如果 后续的其他客户机想要接收所述摄像机的视频馈送,则服务器仅注意到存在额外客户 机,并将所述客户机添加到多播传输的多播地址中。可以了解,在某些实施方案中, 这会保存足够的网络资源,因为仅做出任一特定摄像机的视频的单传输。然而,就像 随时可能发生的那样,如果所有客户机都停止请求特定视频馈送,则服务器可以终止 所述视频的多播,以进一步保存网络资源。回头参考先前进行的不完善的无线电和电 视类推,可以了解到本系统停止对无人收听或观看的内容进行数据传播。
"通过终止多播"等是指在客户机均不希望接收流式媒体内容的情况下阻止将所 述内容放置在网络上,及在客户机均不希望继续接收流式媒体内容的情况下暂停通过 网络传播所述内容。也就是说,在本发明的某些实施例中,如果客户机均不希望所述 内容,则由(例如)视频摄像机发送到服务器的内容并未置于网络上(且因此不被多 播)。在这点上,在某些实施例中,存在视频分布系统,其包括服务器和多个适于分 别向服务器发送流式视频内容的摄像机。所述服务器适于接收至少某些所发送的流式 视频内容,且适于通过网络向多个客户机多播至少某些所接收的流式媒体内容。进一 步地,在此系统中,能够由服务器接收的流式视频内容的总位速率超过网络带宽,且 服务器适于通过下述确定来将相应流式媒体内容的多播次数限定为总位速率不超过网 络带宽确定所接收流式视频内容的至少一者是否希望由客户机观看,且在所述至少 一个客户机不希望观看所接收流式视频的情况下不将所述至少一个所接收流式视频放 置在网络上。在这种实施例中,50、 60、 70、 80、 90、 100、 300或更多个摄像机可能 与服务器通信,且可能避免网络饱和的负面影响,即使对服务器的输入超过网络带宽。例如,在UDP业务的情形中,将不存在视频延时或减速,而在TCP业务的情形中, 将不存在数据传送停止等,因为由于仅请求来自某些摄像机的某些内容而仅将那些内 容放在网络上/或将大量不希望的内容从网络移除,以使总位速率低于最大带宽。因此, 在某些实施例中,本发明使得系统能够基于客户机希望而准许管理通过网络传播的内 容。
在本发明的某些实施例中,不把内容放在网络上会减轻利用网络转换(switch) / 网络交换(switching)增加利用带宽的效率的希望。
尽管跟踪特定视频馈送的请求数量的方法是多种多样的,但一实例是对特定摄像 机对服务器的开放TCP套接口连接的数量计数。当客户机向服务器请求特定视频馈送 时,通常通过将其自身的TCP套接口打开到服务器来建立连接。当客户机希望停止观 看视频馈送时,关闭这一相同TCP套接口。在这种制度下,观看特定摄像视频馈送的 客户机数量总是对应于服务器处的开放TCP套接口数量。通过对开放TCP套接口的 数量计数,服务器可以容易地确定是继续多播特定摄像机视频馈送还是终止所述多播。 尽管对开放TCP套接口计数是一种确定对特定摄像机内容感兴趣的客户机数量的方 法,但任何建立与服务器的连接的通信协议(例如HTTP等)均可以用作指示符。
另一选择为,客户机可以向服务器发送规则的轮询消息以指示其仍然对接收摄像 机内容感兴趣。然后,服务器可以记录当前接收的轮询消息数量以确定是否继续所述 视频多播。另一选择为,客户机可以发送指示其对特定摄像机的视频馈送感兴趣的消 息,且然后所述服务器可以周期性地向正在观看的客户机发送轮询消息以确保其仍然 对接收所述内容感兴趣。通过记录来自客户机的响应,服务器可以确定继续对视频馈 送进行数据传播。在本发明的某些实施例中,确定所述多个客户机中的至少一个客户 机是否希望从所述至少一个源接收流式内容。这一确定可以包含基于当前接收的大量 轮询消息的至少一者及当前是否已接收到至少一个轮询消息来估计从所述多个客户机 中的一个或一个以上客户机接收的轮询消息,所述轮询消息可以指示一个或一个以上 客户机继续从所述至少一个源接收流式内容的希望。在这点上,如果在由系统管理器 等识别的预定或可变时间内尚未接收到轮询消息,则可以确定客户机均不希望接收流 式视频。在某些实施例中,这一确定包含向一个或多个客户机发送轮询消息,所述轮 询消息向相应接收方请求确认所述轮询问题的相应接收方希望继续从所述至少一个源 接收流式内容的确认。这可以进一步包含估计来自轮询问题的相应接收方的响应及/ 或估计来自轮询问题的相应接收方的响应缺失,其中如果所述响应可指示接收内容的 否定希望,及/或如果没有接收到任何响应,则可以确定客户机均不希望接收这一内容。
因此,可以看出,本发明的某些实施例通过提供可以基于客户机使用及/或请求来 选择性地多播其流式多媒体内容的系统来提供对现有技术问题的独特解决方案。
本发明的某些实施例可以使用编程/逻辑/软件/控制等方式在网络协议的所谓应用 层实施。在某些实施例中,应用层允许用户通过应用程序存取网络上的信息。这个层 可能是用户与应用程序及因此与网络交互作用的主接口。应用层协议的某些实例包含
13(仅举例说明而非限定)远程登录、文件传送协议(FTP)、简单邮件传送协议(SMTP) 和超文本传送协议(HTTP)。在某些实施例中,网络协议可以包含开放系统互连(OSI) 模型的7个层中的某些或全部,应用层类似于所述模型的第七层。也就是说,在具有 7层结构的0SI模型的网络中,实施本发明某些实施例的编程、逻辑、软件及/或控制 将在第七层或其等效层。
在本发明的例示性实施例中,存在用于通过网络将流式媒体内容从至少一个源传 送到多个客户机的方法。这一方法可以包括下述行为向多个客户机中的至少一个客 户机多播第一流式内容,及当在网络协议的应用层确定所述多个客户机均不希望继续 接收第一流式内容时终止所述第一流式内容的多播,所述确定可以使用(例如)应用 层处的逻辑来完成。
本发明包含用于实践本发明的方法、用以实践本发明的软件、用以实践本发明的 逻辑(包含硬件、软件及/或固件)、及经配置以实施本发明的设备。因此,本发明包 含用于实施实践本发明的算法以及本文所述的系统及方法、且还用于控制本文所述装 置及方法的实施方案的程序产品及硬件及固件。
应注意,本文使用的术语"处理器"囊括简单电路和复杂电路以及计算机处理器。 进一步应注意,本发明的教示可以结合下述一者或二者的教示2001年7月25 曰由彼得.莫特(PeterMottur)和伊桑.齐默尔(Ethan Zimmer)提出申请且名称为"用 于网络摄像机控制的方法及系统(Methods and Systems for Networked Camera Control)" 的美国专利申请案第09/912,869号,及2002年11月21日由彼得.莫特(Peter Mottur) 提出申请且名称为"控制对网络装置的接入的方法及系统(Methods and Systems to Control Access to Network Devices)"的美国专利申请案第10/301,344号,这些申请案 的内容全文均以引用的方式并入本文中。在参照关于本文所述摄像机网络和辅助组件 的教示时尤其如此。
在本发明的某些实施例中,存在如上文/下文所述的方法/系统/设备,其包括下述 行为使用服务器从至少一个源接收第一流式内容;将第一流式内容置于网络上并多 播所述第一流式内容;及在使用服务器从所述至少一个源接收第一流式内容时确定所
述多个客户机是否已全部停止希望从所述至少一个源接收经多播的第一流式内容,且
如果确定所述多个客户机已全部停止希望从至少一个源接收经多播的第一流式内容, 则阻止第一流式内容继续进入网络,且如果确定所述多个客户机中的至少一个继续希 望从所述至少一个源接收经多播的第一流式内容,则继续所述第一流式内容的多播及 继续将第一流式内容置于网络上。在某些实施例中,存在如上文/下文所述的方法/系统
/设备,其包括下述行为确定所述多个客户机中的至少一个客户机是否希望接收所述 多个源中的至少一个源;向所述至少一个客户机多播所述至少一个源;及在所述多个 客户机均不希望继续从所述至少一个源接收内容的情况下终止所述至少一个源的多 播。
在某些实施例中,存在如上文/下文所述的方法/系统/设备,其中服务器适于从第一源接收第一流式媒体内容且适于向所述多个客户机中的至少一个客户机多播所接收 的第一流式媒体内容,其中所述服务器包含在某些实施例中在网络协议的应用层处的 逻辑,所述逻辑确定所述多个客户机中的任一者是否希望下述至少一者接收所述第 一流式媒体内容的多播传输;及继续接收第一流式媒体内容的多播传输,且其中所述 服务器包含在某些实施例中在网络协议的应用层处的逻辑以执行下述至少一者如果 确定客户机均不希望接收第一流式媒体内容的多播传输则不起始所述第一流式媒体内 容的多播;及如果确定客户机均不希望继续接收所述第一流式媒体内容的多播传输则 终止所述第一流式媒体内容的多播。在某些实施例中,存在如上文/下文所述的方法/ 系统/设备,其中所述服务器包含执行下述的逻辑在某些实施例中,在网络协议的应 用层处估计从所述多个客户机中的一个或一个以上客户机接收的轮询消息,所述轮询 消息可指示一个或一个以上客户机希望从所述至少一个源接收及继续接收流式内容的 至少一者,及基于所述估计来确定是否执行下述至少一者如果确定客户机均不希望 接收第一流式媒体内容的多播传输则不起始所述第一流式媒体内容的多播;且如果确 定客户机均不希望继续接收第一流式媒体内容的多播传输则终止所述第一流式媒体内 容的多播。在某些实施例中,存在如上文/下文所述的方法/系统/设备,其中所述服务 器适于向所述多个客户机中的一个或一个以上客户机发送轮询消息,所述轮询消息请 求确认轮询问题的相应接收方希望从至少一个源接收和继续接收流式内容中的至少一 者,其中所述服务器包含在网络协议的应用层处的逻辑,所述逻辑执行下述至少一者 分析对轮询消息的所接收响应及估计对轮询消息的所接收响应的缺失,以执行下述至 少一者确定关于所述多个客户机中的至少一个客户机是否希望下述至少一者从所 述至少一个源接收流式内容及继续接收流式内容。在某些实施例中,存在如上文/下文
所述的方法/系统/设备,其中存在适于从第一源接收第一流式媒体内容且适于向所述多 个客户机中的至少一个客户机多播所接收的第一流式媒体内容的服务器,其中所述服 务器包含用以确定所述多个客户机中的任一者是否希望下述至少一者的逻辑接收所 述第一流式媒体内容的多播传输;及继续接收所述第一流式媒体内容的多播传输,且 其中所述服务器包含用于下述至少一者的逻辑阻止第一流式媒体内容被置于网络上, 及在发生下述至少一者时阻止第一流式媒体内容继续被置于网络上确定客户机均不 希望接收所述第一流式媒体内容的多播传输;且确定客户机均不希望继续接收所述第 一流式媒体内容的多播传输。
在某些实施例中,存在如上文/下文所述的方法/系统/设备,其中所述服务器包含 用于以下的逻辑估计从所述多个客户机的一个或一个以上客户机接收的轮询消息的 逻辑,所述轮询消息指示一个或一个以上客户机希望从所述至少一个源接收及继续接 收流式内容中的至少一者,及基于所述估计来确定是否执行下述的至少一者阻止第 一流式媒体内容被置于网络上,及在下述至少一者的情况下阻止第一流式媒体内容继 续被置于网络上确定客户机均不希望接收第一流式媒体内容的多播传输;及如果确 定客户机均不希望继续接收第一流式媒体内容的多播传输。在某些实施例中,存在如上文/下文所述的方法/系统/设备,其中所述服务器适于向所述多个客户机中的一个或 一个以上客户机发送轮询消息,所述轮询消息请求确认所述轮询问题的相应接收方希 望从所述至少一个源接收及继续接收流式内容中的至少一者,其中所述服务器包含用 以执行下述至少一者的逻辑分析对轮询消息的所接收响应,及估计对轮询消息的所 接收响应的缺失,以执行下述至少一者确定关于所述多个客户机中的至少一个客户 机是否希望下述的至少一者从所述至少一个源接收流式内容及继续接收流式内容。
在某些实施例中,存在程序产品,其包括用于将流式媒体内容从至少一个源传 送到多个客户机的程序产品,所述程序产品包括用于在被执行时致使机器执行上文及/ 或下文所述的各种行为、方法等的某些或全部的机器可读程序码。在某些实施例中, 机器是服务器系统,且在某些实施例中,程序产品适于在网络协议的应用层处加以利 用。
在某些实施例中,存在用于将流式媒体内容从至少一个源传送到多个客户机的程 序产品,所述程序产品包括用于在被执行时致使机器执行上文及/或下文所述的各种方 法/行为等的某些或全部的机器可读程序码。在某些实施例中,存在如上文/下文所述的 方法/系统/设备,其用于通过网络分布多个流式视频内容而不会由于所述多个流式视频 内容的总位速率而超过网络带宽容量,所述方法包括下述行为如果所述多个流式视 频内容的总位速率达到网络带宽容量那么执行上文/下文所述的各种行为/方法等的某 些或全部,其中第一流式内容是第一流式视频内容。
在某些实施例中,存在如上文/下文所述的方法/系统/设备,其包含在所述多个流 式视频内容的总位速率将超过网络带宽容量时阻止新的客户机接收第一流式内容。在 某些实施例中,存在如上文/下文所述的方法/系统/设备,其包含一旦阻止新的客户机 接收第一流式内容则向新的客户机提供消息来通告拒绝接收第一流式内容。在某些实 施例中,存在如上文/下文所述的方法/系统/设备,其用于通过网络分布多个流式视频 内容而不会由于所述多个流式视频内容的总位速率而超过网络带宽容量,所述方法包 括下述行为在所述多个流式视频内容的总位速率达到网络带宽容量的情况下执行上 文及/或下文所述各种行为/方法中的某些或全部,其中第一流式内容是第一流式视频内 容。
在某些实施例中,存在如上文/下文所述的方法/系统/设备,其进一步包括向所 述多个客户机中的一个或一个以上客户机多播至少一个第二流式内容,所述第二流式
内容包含由第二视频摄像机系统产生的视频内容;及在某些实施例中,在网络协议的 应用层处,在确定所述多个客户机中的至少一者希望继续接收第二流式内容之后继续 所述第二流式内容的多播,其中在某些实施例中,多播行为通过同一服务器发生。在 某些实施例中,存在如上文/下文所述的方法/系统/设备,其中存在视频分布系统,其 包括服务器;及多个摄像机,所述摄像机适于向服务器发送相应的流式视频内容, 其中所述服务器适于接收至少某些所发送的流式视频内容及适于通过网络向多个客户 机多播至少某些所接收的流式媒体内容,其中所述流式视频内容的能够由服务器接收的总位速率超过网络带宽,且其中所述服务器适于通过下述来将相应流式媒体内容的 多播次数限制为总位速率不会超过网络带宽确定所接收流式视频内容的至少一者是 否希望由客户机观看,且在所述至少一个客户机不希望观看所接收流式视频的情况下 不把所述至少一个所接收流式视频置于网络上。
在给出本发明所述揭示内容的情况下,所属技术领域中的技术人员将了解可能存 在其他实施例和修改在本发明范围和精神内。因此,所属技术领域的技术人员从本揭 示内容可获得的在本发明范围及精神内的所有修改将包含为本发明的进一步实施例。 因此,本发明的范围将如随附权利要求书中所列举来界定。
权利要求
1、一种用于通过网络将流式媒体内容从至少一个源传送到多个客户机的方法,所述方法包括以下行为向所述多个客户机中的至少一个客户机多播第一流式内容;及一旦在网络协议的应用层处做出所述多个客户机均不希望继续接收所述第一流式内容的确定,那么终止所述第一流式内容的所述多播。
2、 如权利要求1所述的方法,其进一步包括以下行为在多播所述第一流式内 容之前,确定所述多个客户机中的至少一个客户机是否希望从所述至少一个源接收流 式内容。
3、 如权利要求2所述的方法,其中所述确定所述多个客户机中的至少一个客户 机是否希望从所述至少一个源接收流式内容的行为包括估计从所述多个客户机中的一 个或一个以上客户机接收轮询消息,所述轮询消息指示一个或一个以上客户机希望继 续从所述至少一个源接收流式内容。
4、 如权利要求2所述的方法,其中所述确定所述多个客户机中的至少一个客户 机是否希望从所述至少一个源接收流式内容的行为包括在所述网络协议的所述应用层 处基于以下中的至少一者来估计从所述多个客户机中的一个或一个以上客户机接收的 轮询消息,所述轮询消息指示一个或一个以上客户机希望继续从所述至少一个源接收 流式内容最近接收的轮询消息的数量;及 最近是否已接收到至少一个轮询消息。
5、 如权利要求2所述的方法,其中所述确定所述多个客户机中的至少一个客户机是否希望从所述至少一个源接收流式内容的行为包括向所述多个客户机中的一个或 一个以上客户机发送轮询消息,所述轮询消息请求从相应接收方确认轮询问题的所述 相应接收方希望继续从所述至少一个源接收流式内容。
6、 如权利要求2所述的方法,其中所述确定所述多个客户机中的至少一个客户 机是否希望从所述至少一个源接收流式内容的行为包括向所述多个客户机中的一个或一个以上客户机发送轮询消息,所述轮询消息请求 从相应接收方确认所述轮询问题的所述相应接收方希望继续从所述至少一个源接收流式内容;及以下中的至少一者-估计来自所述轮询问题的相应接收方的响应;及估计来自所述轮询问题的相应接收方的响应缺失。
7、 如权利要求1所述的方法,其进一步包括以下行为在终止所述流式内容之 前,在所述网络协议的所述应用层处确定所述多个客户机中的至少一个客户机是否希望从所述至少一个源接收流式内容,及如果在所述网络协议的所述应用层处确定客户 机均不希望从所述至少一个源接收流式内容,那么终止所述多播。
8、 如权利要求1所述的方法,其进一步包括以下行为在向所述多个客户机中 的至少一个客户机多播第一流式内容之后,及在所述多个客户机均不希望继续接收所 述至少一个源的情况下终止所述第一流式内容的所述多播之前,在所述网络协议的所 述应用层处辨识至少一个其他客户机希望接收所述第一流式内容并将所述至少一个其 他客户机添加到构成所述第一流式内容的所述多播的多播传输的多播地址中。
9、 如权利要求2所述的方法,其中所述确定所述多个客户机中的至少一个客户 机是否希望从所述至少一个源接收流式内容的行为包括对到服务器的开放TCP套接口连接的数量进行计数,所述服务器向所述多个客户 机中的至少一个客户机多播所述第一流式内容;及基于所计数的开放TCP套接口连接的所述数量来确定是否存在到向所述多个客 户机中的至少一个客户机多播所述第一流式内容的服务器的开放TCP套接口连接。
10、 如权利要求2所述的方法,其中所述确定所述多个客户机中的至少一个客户 机是否希望从所述至少一个源接收流式内容的行为包括以下中的至少一者对到服务器的开放TCP套接口连接的数量进行计数,所述服务器向所述多个客户 机中的至少一个客户机多播第一流式内容,及如果开放TCP套接口连接的数量低于某 一数字,那么确定客户机均不希望从所述至少一个源接收流式内容;及确定是否存在到向所述多个客户机中的至少一个客户机多播所述第一流式内容 的服务器的开放TCP套接口连接,及如果确定不存在开放TCP套接口连接,那么确 定客户机均不希望从所述至少一个源接收流式内容。
11、 如权利要求l所述的方法,其中在所述流式内容仍在产生并发送到所述服务 器时, 一旦确定所述多个客户机均不希望继续接收所述至少一个源那么终止所述第一 流式内容的所述多播的行为发生。
12、 如权利要求l所述的方法,其中所述第一流式内容包含由视频摄像机系统产 生的视频内容。
13、 如权利要求l所述的方法,其进一步包括利用与所述至少一个源通信的服务器向所述多个客户机中的至少一个客户机多 播所述第一流式内容,其中所述至少一个源向所述服务器传输所述第一流式内容,其 中所述多播通过以下中的至少一者发生.-一个或一个以上无线接入点, 一个或一个以上数字订户线, 一个或一个以上广域网络连接,及一个或一个以上局域网络连接, 其中所述第一内容包含文本、图片、视频及音频内容中的至少一者。
14、 如权利要求l所述的方法,其中所述第一流式内容包含由第一视频摄像机系 统产生的视频内容,所述方法进一步包括以下行为向所述多个客户机中的至少一个客户机多播至少第二流式内容,所述第二流式内 容包含由第二视频摄像机系统产生的视频内容;及当在所述网络协议的所述应用层处做出所述多个客户机均不希望继续接收所述 第二流式内容的确定时,终止所述第二流式内容的所述多播,其中所述多播行为通过同一服务器发生。
15、 一种用于将流式媒体内容从至少一个源传送到多个客户机的方法,其包括以 下行为使用服务器从所述至少一个源接收第一流式内容;及 以下中的至少一者在网络协议的应用层处确定在从所述服务器多播所述第一流式内容之前所述 多个客户机中的至少一个客户机是否希望从所述至少一个源接收流式内容, 以便所述多个客户机中的一者或一者以上可以接收所述第一流式内容; 在网络协议的应用层处确定在从所述服务器多播所述第一流式内容之前所述 多个客户机中的所述至少一个客户机是否希望从所述至少一个源接收流式内 容,以便所述多个客户机中的一者或一者以上可以接收所述第一流式内容, 其中如果确定所述多个客户机中的所述至少一个客户机希望从所述至少一个 源接收流式内容,那么多播所述第一流式内容以使所述多个客户机中的至少 一者可以接收所述第一流式内容,且其中如果确定客户机均不希望从所述至 少一个源接收流式内容,那么阻止所述第一流式内容的所述多播; 在网络协议的应用层处确定所述多个客户机中先前已从所述至少一个源接收 从所述服务器多播的所述流式内容的至少一个客户机是否希望继续从所述至 少一个源接收流式内容,以在网络协议的所述应用层处确定是否断开从所述 服务器多播所述第一流式内容;及在网络协议的应用层处确定所述多个客户机中先前已从所述至少一个源接收从所述至少一个服务器多播的所述流式内容的至少一个客户机是否希望继续从所述至少一个源接收从所述服务器多播的流式内容,以在网络协议的所述应用层处确定是否断开从所述至少一个服务器多播所述第一流式内容,其中如果确定所述多个客户机中先前己从所述至少一个源接收所述流式内容的所 述至少一个客户机希望不继续从所述至少一个源接收流式内容,那么终止所述第一流式内容的多播,且其中如果在网络协议的所述应用层处确定所述多 个客户机中先前己从所述至少一个源接收所述流式内容的所述至少一个客户 机希望继续从所述至少一个源接收流式内容,那么继续多播所述第一流式内 容。
16、 一种用于通过包含服务器的网络将流式媒体内容从至少一个源传送到多个客 户机的方法,所述方法包括以下行为使用服务器从所述至少一个源接收第一流式内容;将所述第一流式内容置于所述网络上并多播所述第一流式内容;及 在使用所述服务器从所述至少一个源接收所述第一流式内容时,确定所有所述多 个客户机是否已停止希望从所述至少一个源接收所述多播的第一流式内容,且如果做 出所有所述多个客户机已停止希望从所述至少一个源接收所述多播的第一流式内容的 确定,那么阻止所述第一流式内容继续进入所述网络,且如果做出所述多个客户机中 的至少一者继续希望从所述至少一个源接收所述多播的第一流式内容的确定,那么继 续所述第一流式内容的多播并继续将所述第一流式内容置于所述网络上。
17、 一种用于将流式多媒体内容从多个源传送到多个客户机的方法,其包括以下行为确定所述多个客户机中的至少一个客户机是否希望接收所述多个源中的至少一 个源;向所述至少一个客户机多播所述至少一个源;及如果所述多个客户机均不希望继续从所述至少一个源接收内容,那么终止所述至 少一个源的所述多播。
18、 一种用于通过网络将流式媒体内容从至少一个源传送到多个客户机的设备, 所述设备包括服务器,其适于从第一源接收第一流式媒体内容并适于向所述多个客户机中的至 少一个客户机多播所述接收的第一流式媒体内容,其中所述服务器在网络协议的应用层处包含用以确定所述多个客户机中的任一 者是否希望以下中至少一者的逻辑接收所述第一流式媒体内容的多播传输;及 继续接收所述第一流式媒体内容的多播传输,及 其中所述服务器在所述网络协议的所述应用层处包含用于以下中的至少一者的 逻辑如果确定客户机均不希望接收所述第一流式媒体内容的所述多播传输,那么不起始所述第一流式媒体内容的多播;及如果确定客户机均不希望继续接收所述第一流式媒体内容的所述多播传输, 那么终止所述第一流式媒体内容的多播。
19、 如权利要求18所述的设备,其中所述服务器包含用于以下的逻辑在所述网络协议的所述应用层处估计从所述多个客户机中的一个或一个以上客户机接收的轮 询消息,所述轮询消息指示一个或一个以上客户机希望从所述至少一个源接收及继续接收流式内容中的至少一者;及基于所述估计来确定是否执行以下中至少一者如果确定客户机均不希望接收所述第一流式媒体内容的所述多播传输,那么 不起始所述第一流式媒体内容的多播;及如果确定客户机均不希望继续接收所述第一流式媒体内容的所述多播传输, 那么终止所述第一流式媒体内容的多播。
20、 如权利要求18所述的设备,其中所述服务器适于向所述多个客户机中的一 个或一个以上客户机发送轮询消息,所述轮询消息请求确认轮询问题的相应接收方希 望从所述至少一个源接收及继续接收流式内容中至少一者,其中所述服务器在所述网 络协议的所述应用层处包含用于以下中至少一者的逻辑分析对所述轮询消息的所接 收响应,及估计对所述轮询消息的所接收响应的缺失,以执行以下中的至少一者做 出关于所述多个客户机中的至少一个客户机是否希望以下中至少一者的确定从所述 至少一个源接收流式内容及继续接收流式内容。
21、 一种用于通过网络将流式媒体内容从至少一个源传送到多个客户机的设备, 所述设备包括服务器,其适于从第一源接收第一流式媒体内容,且适于向所述多个客户机中的 至少一个客户机多播所述接收的第一流式媒体内容,其中所述服务器包含用以确定所述多个客户机中的任一者是否希望以下中至少 一者的逻辑-接收所述第一流式媒体内容的多播传输;及 继续接收所述第一流式媒体内容的多播传输,及 其中所述服务器包含用于以下中至少一者的逻辑如果发生以下中至少一者,那 么阻止将所述第一流式媒体内容置于所述网络上且阻止将所述第一流式媒体内容继续 置于所述网络上确定客户机均不希望接收所述第一流式媒体内容的所述多播传输;及 确定客户机均不希望继续接收所述第一流式媒体内容的所述多播传输。
22、 如权利要求21所述的设备,其中所述服务器包含用于以下的逻辑估计从 所述多个客户机中的一个或一个以上客户机接收的轮询消息,所述轮询消息指示一个 或一个以上客户机希望从所述至少一个源接收及继续接收流式内容中的至少一者;及 基于所述估计确定是否执行以下中的至少一者如果发生以下中的至少一者,那么阻 止将所述第一流式媒体内容置于所述网络上且阻止将所述第一流式媒体内容继续置于 所述网络上-确定客户机均不希望接收所述第一流式媒体内容的所述多播传输;及 是否确定客户机均不希望继续接收所述第一流式媒体内容的所述多播传输。
23、 如权利要求21所述的设备,其中所述服务器适于向所述多个客户机中的一 个或一个以上客户机发送轮询消息,所述轮询消息请求确认所述轮询问题的相应接收 方希望从所述至少一个源接收及继续接收流式内容中的至少一者,其中所述服务器包含用于以下中的至少一者的逻辑分析对所述轮询消息的所接收响应,及估计对所述 轮询消息的所接收响应的缺失,以执行以下中的至少一者做出关于所述多个客户机 中的至少一个客户机是否希望以下中的至少一者的确定从所述至少一个源接收流式 内容及继续接收流式内容。
24、 一种程序产品,其包括程序产品,其用于将流式媒体内容从至少一个源传送到多个客户机,其包括用于 在被执行时致使机器执行如权利要求1所述的方法的机器可读程序码,其中所述机器 是服务器系统,且其中所述程序产品适于在网络协议的应用层处加以利用。
25、 一种程式产品,其包括-程序产品,其用于将流式媒体内容从至少一个源传送到多个客户机,其包括用于在被执行时致使机器执行如权利要求16所述方法的机器可读程序码,其中所述机器是服务器系统。
26、 一种通过网络分布多个流式视频内容而不会由于所述多个流式视频内容的总 位速率而超出网络带宽容量的方法,所述方法包括以下行为执行如权利要求1所述的行为,其中如果所述多个流式视频内容的所述总位速率 达到所述网络带宽容量,那么第一流式内容是第一流式视频内容。
27、 如权利要求26所述的方法,其进一步包含-如果所述多个流式视频内容的所述总位速率将超过所述网络带宽容量,那么阻止 新的客户机接收所述第一流式内容。
28、 如权利要求27所述的方法,其进一步包括一旦阻止所述新的客户机接收所述第一流式内容,那么向所述新的客户机提供通 告关于拒绝接收所述第一流式内容的消息。
29、 一种通过网络分布多个流式视频内容而不会由于所述多个流式视频内容的总位速率而超出网络带宽容量的方法,所述方法包括以下行为执行如权利要求16所述的行为,其中如果所述多个流式视频内容的所述总位速 率达到所述网络带宽容量,那么第一流式内容是第一流式视频内容。
30、 如权利要求l所述的方法,其进一步包括向所述多个客户机中的至少一个客 户机多播至少第二流式内容,所述第二流式内容包含由第二视频摄像机系统产生的视 频内容;及当在所述网络协议的应用层处确定所述多个客户机中的至少一者希望继续接收 所述第二流式内容之后继续所述第二流式内容的所述多播, 其中所述多播行为通过同一服务器发生。
31、 一种视频分布系统,其包括-服务器;及多个摄像机,其适于向所述服务器发送相应的流式视频内容, 其中所述服务器适于接收至少某些所述发送的流式视频内容,且适于通过网络向多个客户机多播至少某些所述接收的流式媒体内容,其中所述服务器所能够接收的所述流式视频内容的总位速率超出网络带宽,及 其中所述服务器适于通过以下方式将相应流式媒体内容的多播次数限制为不超出所述网络带宽的总位速率确定客户机是否希望观看所述接收的流式视频内容中的至少一者,且如果所述至少一个客户机不希望观看所述接收的流式视频,那么不把至少一个接收的流式视频置于所述网络上。
全文摘要
本发明揭示一种与多个多媒体源相连接的具有多个客户机的服务器。所述服务器确定所述客户机中的至少一者是否请求接收所述源中的至少一者。然后,所述服务器分别向提出请求的客户机多播这些所请求的源。如果所述客户机均不请求特定源,那么所述服务器不多播所述特定源。如果所有所述客户机均停止请求所述服务器当前正多播的特定源,那么所述服务器终止所述特定源的多播。
文档编号G06F15/16GK101548275SQ200680039733
公开日2009年9月30日 申请日期2006年9月11日 优先权日2005年9月9日
发明者乔纳森·希尔顿·库珀 申请人:史密斯探测公司