CN1175734A - 数字编码的演播的分配 - Google Patents

数字编码的演播的分配 Download PDF

Info

Publication number
CN1175734A
CN1175734A CN97115333A CN97115333A CN1175734A CN 1175734 A CN1175734 A CN 1175734A CN 97115333 A CN97115333 A CN 97115333A CN 97115333 A CN97115333 A CN 97115333A CN 1175734 A CN1175734 A CN 1175734A
Authority
CN
China
Prior art keywords
section
reception group
receiver
reception
asking
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
CN97115333A
Other languages
English (en)
Other versions
CN1101572C (zh
Inventor
J·K·梁
P·珀恩
F·T·K唐
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.)
Google LLC
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN1175734A publication Critical patent/CN1175734A/zh
Application granted granted Critical
Publication of CN1101572C publication Critical patent/CN1101572C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/173Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
    • H04N7/17309Transmission or handling of upstream communications
    • H04N7/17336Handling of requests in head-ends
    • 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/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • H04N21/23106Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion involving caching operations

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Information Transfer Between Computers (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Multi Processors (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明可以实施在包含下述装置的系统中;数字编码的演播的贮藏库、用于保持正在提供给接收机的演播的高速缓冲存储器以及用于将系统连接到接收机上的多信道广播网络。通过将接收机组合成接收演播段的多信道广播的接收组,系统便能满足任何数目的单个的接收机的请求,而与接收演播的其它接收机无关。对于线性演播,演播段可定义为等于持续时间,并且可以自动地将演播的顺序提供给接收组。

Description

数字编码的演播的分配
本发明涉及在与数据分配系统关联的接收机要求与方便时提供数字编码的演播。本发明致力于可靠地满足大量随机出现的接收机对数字编码的演播的需求问题,特别是来自演播的单一的存储拷贝,及特别是对具有线性格式的拷贝。
数字编码演播为以数字编码格式存储的演播。数字编码的演播的实例包括计算机生成的多媒体演播、存储在激光盘或磁带上的电影及数字化音频剪辑。数字编码的演播可通过数据服务器提供。
在一些情况中,数字编码演播可以是本质上线性的。线性演播的实例有电影、音乐电视及录音。线性演播可以以若干不同的数据加密格式数字编码。例如,视频可以以著名的MPEG或MPEG2格式编码。诸如MPEG与MPEG2等加密格式采用指定视频演播的帧速率及附属于各顺序的帧的特定数据的加密方法。
在其它情况中,数字编码的演播可以是使收视者能选择接收的演播的离散部分而不限于提供它们的顺序。这种演播的实例便是可以通过服务器得到的一组主页(home page),而服务器则是可以通过诸如互联网(Internet)上的“环球网”等网络访问的。包含在这种演播中的主页可提供包括线性演播(例如视频或音频)、图形显示、静止图象、文本及其它数据对象在内的各式各样类型的内容。
当前的技术能以各式各样的格式及在各式各样的媒体上存储数字编码的演播。当前的技术还能利用各式各样的已知传输媒体与协议将数字数据从一个装置传输到另一装置。还知道链接若干诸如计算机等数字数据处理装置以构成网络,从而允许在这些装置之间进行通信。
当前技术还使“无连接”(connectionless)数据分配系统能够工作。无连接数据分配系统是这样的系统,它并不维护诸如在电话系统中这样的系统的节点之间的专用“开路”连接,而是在必要时通过利用路由选择协议将有地址的数据包路由选择到目的节点而不重新建立连接的系统。无连接数据分配系统的一个实例便是利用超文本传送协议(http)在节点之间确定数据包路由的互联网上的环球网。利用http协议容许在系统的所有节点之间交换数据而无需维护系统的所有节点之间的专用开放连接。无连接环境中的已知数据传输技术包括多信道广播能力,即从一台设备同时向许多设备发送数据。本领域中的普通技术人员将认识到虽然多信道广播通信通常想象成是同时的,但一般并非真正同时的,而是在可量化的系统延时所限定的范围内基本上同时的。
当前技术还能通过数据分配系统向请求者提供数字编码的演播,其中该系统按收到的次序排队与处理这些请求。这种系统的服务于大量请求者的能力受到请求队列的大小与系统处理速度的限制。
虽然当前的知识能实现上述部件与技术的各种使用,但当前的数据分配系统在可靠地满足大量随机出现的接收机对数字编码的演播的需求的能力上当前是有限的。本发明通过这里公开的系统与操作方法致力于解决这一问题。
概括地说本发明将数字编码的演播看成由系统单独提供的预定义的离散的“段”构成。按照本发明的系统通过将各请求者分配给指定接收所请求的段的接收组来处理对演播的段的请求。在具有预定的持续时间的“请求窗口”时段内请求一段的各请求者将被分配给指定接收该段的公共接收组。在关闭该请求窗口时将该段提供给该接收组的成员。当接收组包含多个请求者时,通过多信道广播提供段数据,使得同时将所请求的段提供给接收组中的所有请求者。结果,系统以不大于与该特定的段关联的请求窗口的持续时间的延时提供演播的各段。这种操作方式比当前的无区别地排队所有请求的方法明显地提高系统效率。
本发明可用在各式各样的应用中。例如,考虑可通过互联网上的环球网服务器得到的多媒体演播。采用当前技术,对服务器提供的各种主页(例如可包含文本页、视频页、图形页、音频页与数据页)发出的请求将在系统队列中排队并由系统处理器串行地处理。从而当每次一页地用视频页数据向许多较早的请求者提供大量的视频页时,可能强迫请求文本页的请求者等待。
反之,按照本发明,服务器能提供的文本页、视频页与所有其它页将被作为“演播”的单个预定义的段对待。系统接收的各请求将导致将请求者分配给指定接收该所请求的段的接收组。在与该组关联的预定的请求窗口期间,各组收集新成员。在关闭请求窗口时各接收组接收其指定的段。通过用这一方式将接收机分组,响应对特定段的请求的系统延时将一贯地小于或等于该段的预定义的请求窗口。
当数字编码的演播包含诸如视频段等线性段时,本发明可进一步包含在向接收组提供了一段之后自动增量该接收组的段指定,从而自动地将演播的连续段提供给该组。在这些实施例中,对于该演播的所有段使用统一的请求窗口。
包含自动增量接收组段指定的本发明的实施例可加以优化来提供“视频点播”。作为例子,系统可将一部电影作为由预定的30秒的段组成的线性演播对待,所有的段具有统一的30秒钟请求窗口。按照本发明,在给定的30秒钟请求窗口中向系统请求该电影的每一个请求者都将被分配给指定接收表示电影的第一个30秒段的数据的单一接收组。在关闭请求窗口时将第一段的数据提供给该组。随后,在接收了表示第一个30秒段的数据之后,将重新指定该接收组接收表示该电影的第二个30秒段的数据。重复这一过程直到将整部电影提供给接收组。按照本发明的这一实施例的系统最佳地具有足够的处理与吞吐能力,在等于演播的请求窗口的时间间隔内提供演播的每一段的数据。例如,如果将一部两小时的电影分成30秒的段并采用30秒请求窗口,系统会很好地能够在30秒钟请求窗口内提供240个30秒段的各个的所有数据。以这一方式,电影实际上是以每30秒提供观看的。这一传输方法可称作“多流广播”(multistream simulcast)或“MSSC”。
MSSC提供的超过当前的视频点播技术的相对的优点随着系统使用而成比例地增加。为了说明,考虑向十万订户提供各种电影的按照本发明的视频点播系统。进一步假定一般的电影为两小时(或240个30秒段)长。该系统提供的老电影可在每十分钟一次的频率上请求。从而该电影的请求者很可能是30秒间隔内的唯一请求者,因此它将是其接收组的唯一成员。然而,30分钟以后接收到的对这一电影的另一请求将在30秒内从用来提供该电影的较早请求者的同一存储拷贝中加以完成。
作为比较,新公映的电影可能在30秒请求窗口内产生25次请求。按照本发明,在该30秒请求窗口内请求该电影的25个观众将被分配给单一接收组,各观众将同时收视第一与随后的30秒段的多信道广播。从而能够看出,通过指定30秒持续时间作为定义演播的段的基础,全体240个段的多流广播能服务于包含两小时电影的所有请求者的240个接收组。这些请求者将从单一的存储拷贝并以小于30秒的延时受到服务,只受网络一次能服务的观众数目的制约。取决于提供的演播的类型及对系统的需求,可以选用较长或较短的段。
上述本发明的各种实施例可以在各式各样的数据服务系统中实现。按照下面详细说明的本发明的示例性实施例,该系统可包含数字编码的演播的贮藏库(repository)、用于存储观众请求的演播段的数据的高速缓冲存储器及用于将系统连接到接收机上的多信道广播连接装置。按照为视频点播应用优化的本发明的实施例,本系统最好包括用于存储演播段的专用高速缓冲存储处理器、及用于分配演播段给接收机及管理接收组成员与段指定的专用数据输出处理器。
本发明还可包括在各种实施例中实践本发明所希望的附加新颖特征,其中包括为提供视频点播优化的实施例。这些新颖特征中可包含用于管理系统操作、管理高速缓冲存储处理器存储器分配、管理接收组的建立与成员及管理内部数据对象读取与更新操作的各种控制过程。本发明可以实现在用于在适当的计算机硬件上实现所公开的过程的计算机可用的介质中所存储的计算机可读的程序代码装置中。这种计算机可读的程序代码装置可以与实施本发明的硬件系统联合供应,也可独立于硬件系统供应。
从下面的详细描述与附图中将更容易理解上面提供的一般性说明以及与本发明相关的其它新颖特征、装置与操作方法,附图中:
图1描述按照先有技术的教导用于提供数字编码的演播的服务器系统;
图2描述按照本发明的用于提供数字编码的演播的数据服务器系统的实例;
图3提供在按照本发明的提供数字编码的演播的服务器系统中实现本发明的过程的实例;
图4a与4b描述在按照本发明分配线性演播给接收组中的第一与第二接连的间隔上接收组及与它们相关的演播段的实例;
图5示出实施本发明的第一系统的实例;
图6示出实施包含由前端本地管理器在本地管理的数据输出器复合装置的本发明的第二系统的实例;
图7以分类形式示出图5与图6的示例性系统的若干部件及分配给这些部件的各个的控制与处理功能;
图8a提供自动提供演播的连续的段的实施本发明的系统的数据输出器中的过程流程实例;
图8b提供用于处理对演播的请求实施本发明的系统的数据输出器中的过程流程的实例;
图9提供用于响应来自接收机的暂停与恢复命令的本发明的较佳实施例的数据输出器中的过程流程的实例;
图10a-10d描述本发明的较佳实施例的数据输出器从其接收组中消除发布暂停命令的接收机及在各种情况中将其重新分配给新组;
图11提供用于响应来自接收机的“变段”命令的本发明的较佳实施例的数据输出器中的过程流程的实例;
图12a-12c描述本发明的较佳实施例的数据输出器在各种情况中将发出变段命令的接收机重新分配给新接收组;
图13示出按照本发明的较佳实施例的包含第一与第二缓冲器及输入与输出耦合装置的数据输出器;
图14提供图13中所示的数据输出器中的过程流程的实例;
图15a提供用于供应段给数据输出器的本发明的较佳实施例的高速缓冲存储处理器的过程流程的实例;
图15b提供用于管理分配给演播的存储器容量的本发明的较佳实施例的高速缓冲存储处理器中的过程流程的实例;
图15c-15i示出按照图15b中所示的方法的存储器分配及存储在高速缓冲存储处理器存储区中的视频演播数据单位;
图16提供用于管理高速缓冲存储处理器分配的本发明的较佳实施例的目录服务器中的过程流程的实例;
图17提供包含服务器与数据对象的图5与6的实施例的部分增强图;
图18提供用于读取服务器所拥有的对象的本发明的较佳实施例的逻辑实体中的过程流程的实例;以及
图19提供用于更新服务器所拥有的对象的本发明的较佳实施例中的过程流程的实例。
I.用于提供数字编码的演播的本发明的一般应用
上面概括描述的本发明可以按照各式各样的数据服务应用使用。为了提供这一应用的示例性实例,首先参见图1,其中根据本技术中的当前知识示出用于在诸如环球网等无连接环境中的网络上提供多媒体演播的系统。图1的示例性演播由包含文本页102、视频页104、图形页106、音频页108及数据页110的离散部分构成。应指出,所示的多媒体演播只是示例性的,并且演播可由任何数量的各种页构成及这些页不必存储在服务器自身中。应进一步指出,给定的演播的页可以是也可以不是想要按预定的演播次序提供的。
按照本技术,如图1中所示,接收机100(接收机A、接收机B等)发出的对演播的各种页的请求将被排队在请求队列112中并由请求处理器按收到它们的次序串行地处理。当处理器响应一个给定的请求,例如请求RN时,后面的请求(RN+1、RN+2等)在队列中仍未受到服务。从而当一次一页地将相对地长的视频页104供给许多较早的请求者时,可以强迫请求演播的相对地短的文本页102的接收机去等待。
现在参见图2,其中示出按照本发明提供图1中的示例性多媒体演播的系统。如图2中所示,系统存储器中包含构成演播的按照本发明称作“段”的离散页。系统存储器还包含与演播的各离散段对应的接收组202-210。各接收组包含在预定的请求窗口中已请求相关的段的接收机的表。例如,演播的视频段104的接收组204包括接收机A与接收机B。接收组及与它们关联的段指定可以以表的形式存储在系统存储器中。从而在收到对段的请求时,系统处理器214通过将请求者分配给适当的接收组而立即处理它们。
图3的流程图中示出了诸如图2的示例性系统等系统中可以用来实现本发明的过程的实例。如图3中所示,当系统在300接收对数字编码的演播的一个段的请求时,系统在302判定是否存在指定接收所请求的段的接收组。如果不存在这样的组,便在309建立该段的接收组并在306开始向下计数请求窗口。随后,在308将该段的请求者分配给接收组。此后,系统在310继续监视请求窗口是否关闭,即从建立该接收组起是否已用完了等于请求窗口的预定持续时间的时间量。如果在关闭请求窗口之前接收到该段的又一请求,在308将请求者分配给该接收组。一旦关闭了请求窗口,便在314用多信道广播将段提供给分配给该接收组的全体请求者。然后在316从系统存储器中删除该接收组。在系统收到对该数字编码的演播的段的其它请求时,可以重新调用这一过程。
本领域中的普通技术人员将会理解,用于数字编码的演播的各种段的请求窗口对演播的各段可以是不同的。例如,鉴于对该段的相对需求量、分配该段所需的系统资源以及在接收该段时系统用户能容忍的延时量,可将演播的特定段的请求窗口进行选择以优化系统性能的。例如,再参见图2的系统存储器中所示的演播,可以发现提供这一演播的服务器每秒钟接收20个对文本段的请求,但每分钟只有10个对视频段的请求。从而,为文本段采用一秒的请求窗口并为视频段采用10秒的请求窗口可能是有利的。本领域中的普通技术人员还会理解,可以开发与实现过程来动态地重新定义用于数字编码的演播的各种段的请求窗口,以响应可变的系统负荷来优化系统性能。
从而概括地说本发明可以实施在提供数字编码的演播的系统中,该系统将数字编码的演播的预定义的段的各请求者分配给指定接收该段的接收组,并且在结束了自建立接收组时开始的请求窗口时段之后,该系统多信道广播该段给接收组的成员。本发明可应用于在无连接环境中供应数字编码的演播给多台接收机的任何系统中。这些系统中可包含数据库系统、多媒体服务器及视频点播系统。下面公开的是应与系统关联的接收者的要求提供电视与其它线性演播的包含优化本发明的附加新颖特征的本发明的实现的实例。
II提供线性演播特别是提供视频点播的本发明的一般实现
可以优化上面公开的发明来提供线性演播,特别是提供视频点播。概括地说,这些实现通过作为相等持续时间的预定义的段的序列提供线性演播而应用上面公开的方法。例如,可将两小时的电影作为由240个连续的30秒段而进行提供。这些实现还对演播的所有段采用统一的请求窗口。这一请求窗口等于演播的预定义的段持续时间。返回到上面开始的实例,具有30秒的段的电影的请求窗口为30秒。这些实现还包括通过无连接环境将各段多信道广播给各接收组的接收机,及自动地增量接收组的段指定,从而自动将演播的连续的段顺序地提供给接收组。
从而,按照本发明,在收到对电影的请求时,系统将请求者分配给一个接收组来接收所请求的电影的第一段,在经过了不长于请求窗口的持续时间的延时之后,向请求者提供第一段的数据。随后,自动地重新指定该请求者的接收组以提供电影的下一连续段。从而,从头到尾将整部电影提供给请求者。实现本发明的这一实施例的数据服务系统最好有足够的处理与吞吐能力,在等于演播的预定义的请求窗口的时段内多信道广播演播的每一段的数据。返回到上面开始的实例,这一系统将有能力在各个30秒请求窗口的行程中多信道广播电影的240段的各段。这样,在30秒开始时便能有效地接收到演播。
图4a与4b中示出可将诸如电视等线性演播的第一与接连的段提供给接收组的方式。图4a与4b各示出对应于线性演播的一条总的演播时间线400及对应于在相继的第一与第二时间X与X+L上的各演播时间线的不同的段402的若干接收组。在这些图中,L等于演播的请求窗口持续时间。再者,演播的各段402具有相等的预定的持续时间L。从而,例如,如果所示的演播为一部电影,各段及其相关的请求窗口可预定为30秒钟长。
沿图4a的时间线示出了对应于演播的三个不同段的三个接收组404、406、408。各接收组包括一台或多台与系统关联的接收机410。可以推想各接收组的成员在同一请求窗口内请求演播。再次假定将电影分成各具有30秒请求窗口的30秒的段,每三十秒将形成指定接收第一段的一个新组;并且在一个特定的30秒请求窗口中请求演播的每一个请求者将成为同一组的部分。从而,例如,从图4a的时间线能够推想最左侧的接收组404的4个成员在同一请求窗口中请求该演播。
图4b的时间线示出经过了在等于请求窗口的时段L之后同一个接收组与它们的对应段指定。继续上面开始的实例,图4b的时间线示出从图4a的时间线上所示的时刻开始经过30秒的间隔之后接收组及它们的相关段指定。可以看出现在指定各接收组接收相对于图4a的时间线上其指定的段的下一个相继的段。这最好由系统自动完成,如下面详细讨论的。此外,在图4b中还可看到构成指定接收第一段的接收组的一台新接收机。可以推想该接收机在紧接在图4a的最左接收组404的请求窗口后面的窗口中请求演播。
可以理解接收组的成员数目只受实现这一分组方法的系统的连接潜力的限制。可以考虑请求者的预期数目、提供的演播的数目与性质及系统吞吐能力来选择预定的段长度与请求窗口长度以求最好地适合系统需求。可以进一步理解以这一方式提供的演播不一定必须整部事先录制的,而可以是正在创造的产品,诸如“现场”视频或音频演播。
III用于提供视频点播的本发明的较佳实现
虽然节II中描述的方法通常应用在供应线性演播的数据服务系统中,可以加入附加的新颖特征来提供为视频点播应用优化的较佳实施例。例如,可向系统提供允许用户暂停视频演播的传输、或从正在接收的段向前或向后移动到不同的段的能力。再者,为了优化系统性能,可向系统提供动态地重新配置加在系统的各种高速缓冲存储处理器上的负荷的能力。也可采用新颖的“一切均不共享,一切均高速缓冲存储”(share nothing,cache everything)(SNCE)方法来控制系统内数据对象的读取与更新。
A.为提供视频点播优化的实施本发明的系统的基本配置
图5中示出了为视频点播优化的实施本发明的系统的第一实例。这一系统通常包括用于生成与管理视频演播数据的后端部分500及用于分配视频演播数据给接收机的前端部分502。后端部分500可包含存储在诸如磁带、硬盘、易失与/或非易失性半导体存储器以及激光盘等各种存储装置504上的视频演播的贮藏库503。存储装置是由一个或多个视频贮藏库服务器506访问的。这一个或多个视频贮藏库服务器506与诸如异步传输模式(ATM)交换网络等后端交换网络508接口。后端交换网络508为各耦合在其上的所有处理器提供无连接的环境并方便多信道广播。后端交换网络508还与起到供给演播数据给前端的后端贮藏库作用的多个高速缓冲存储处理器接口。指定一个高速缓冲存储处理器作为目录处理器512,它主要执行全系统控制与数据管理功能。
图5中所示的示例性系统的前端部分502包括多个数据输出处理器514,它们与后端交换网络508及前端交换网络516接口。前端交换网络在数据输出器514与接收机518之间提供一个无连接多信道广播环境。指定各接收机与前端的一个特定的数据输出器通信。接收机可采用许多形式。但其特征在于内部处理器、存储器及解码数据输出器提供的数据以产生视频显示的能力。从而接收机可包括个人计算机或专用的接收与解码单元(有时总称为“顶置盒”)。
图6中示出实施本发明的视频点播系统的另一实例。这一实施例类似于图5的。然而,在这一实施例中前端的一部分是由前端本地管理器620在本地管理的,管理器620承担诸如确定从本地接收机到本地数据输出器的路由选择请求及平衡本地数据输出器之间的传输负荷等管理功能。
图6的实施例还包括后端中的一个附加处理器,指定它作为“热备用”处理器622,这是本领域中众所周知的功能。热备用处理器可为目录处理器、一个或多个视频贮藏库服务器或一个或多个高速缓冲存储处理器提供后备,如为本系统需要所专门配备的。
在诸如图5与图6中示例的系统中,在从高速缓冲存储处理器到数据输出器或从数据输出器到接收机的传输时,表示一段视频所需的大量数据可以导致最好将各段作为若干独立的部分提供。从而,继续上面在节II中开始的实例,假定电影演播的各个30秒的段将作为各具有3秒持续时间的10个独立部分从高速缓冲存储处理器提供给数据输出器或从数据输出器提供给接收机。选择3秒部分持续时间来减少与系统关联的接收机中所需的缓冲存储器的量,如下面进一步详细讨论的。
为了减少便于数据部分从高速缓冲存储处理器到数据输出器及从数据输出器到接收机的传输所必需的控制处理量,最好以“推动”模式(push-mode)从高速缓冲存储处理器及数据输出器提供数据。在推动模式中,单一的动作起动进行中的数据输出过程并且输出过程一直继续到有意识地被终止。采用推动模式输出能减少系统部件之间必要的交互作用。例如,在这一系统中,数据输出器只需通知高速缓冲存储处理器它希望读该段便能请求从高速缓冲存储处理器传输一个演播段。此后,高速缓冲存储处理器便以3秒的部分推动段数据到数据输出器,直到提供了所有段数据或者数据输出器有意地终止数据供应为止。类似地,接收机只须对数据输出器发出演播的请求,便能从数据输出器接收整个演播。数据输出器随后将从高速缓冲存储处理器接收的段数据部分推到接收机,直到演播结束或接收机有意地终止或改变数据传输为止。在按照图5与6中所示的示例性系统的系统部件与功能的其余讨论中,假定所有高速缓冲存储处理器与数据输出器都是以推动模式操作。
通过将各种控制与处理功能特定地分配给各种系统部件,便可达到图5与6中所示的最佳的系统操作。图7以普通形式示出图5与6的示例性系统的若干主要部件及分配给这些部件中各个的控制与处理功能。如图7中所涉及的,为了授权与跟踪使用系统的接收机的目的,目录处理器512与系统管理单个接收机518的登录。目录处理器512还监视数据输出器所报告的接收组成员。此外,目录处理器512维护系统中其它实体可利用的数据对象的清单,并管理SNCE与高速缓冲存储处理器分配。
如图7中进一步所示,与目录处理器512及高速缓冲存储处理器510通信的视频贮藏库服务器506负责访问存储在系统存储装置504上的演播及提供视频数据给高速缓冲存储处理器510。高速缓冲存储处理器510可与视频贮藏库服务器506、目录处理器512及数据输出器514通信。高速缓冲存储处理器510负责从视频贮藏库服务器506取得视频数据并响应数据输出器的请求将段提供给数据输出器514。可通过多信道广播同时将一个段提供给一个以上数据输出器。高速缓冲存储处理器510进一步负责管理将要存储在高速缓冲存储器中的给定演播的量。
图7中所示的数据输出器514负责管理接收组,其中包括建立组、增加或删除成员、改变组成员的状态及改变组的段指定。数据输出器所管理的接收组包含通过该特定数据输出器与系统交互作用的接收机。数据输出器514还负责向高速缓冲存储处理器510请求演播的段及传输段数据给接收机518。通过多信道广播可将数据同时传输给一台以上接收机。
下面相对于其余的图讨论可以实现在诸如图5与6中所示的系统部件上的提供视频点播系统的上下文关系中的图7中所示的功能的各种过程。然后讨论配置成为预定数目的接收机提供视频点播的示例性系统的部件与性能规范。
B.数据输出器的操作
按照本发明的较佳实施例,数据输出器负责向接收组成员自动提供演播的连续的段及管理接收组成员。图8a中示出数据输出器可向接收组提供演播的连续的段的方式。图8b中示出数据输出器如何管理新接收组的建立及分配接收机到接收组的实例。在图8a与8b的讨论中,为了示例目的假定从接收机收到的请求为收视完整的视频演播的请求,及这些请求是作为收视从第一段开始的演播的请求对待的。然而,显而易见,所示的过程可用来建立任何新接收组或增加成员到任何存在的接收组,而和与该组关联的段无关。从而所示的过程也可用来处理从它暂停的段开始恢复演播的请求,或者从指定的段开始重新启动演播的请求。相对于图9-12更详细地讨论这两种选择。
如图8a中所示,过程在800开始,从数据输出器向高速缓冲存储处理器请求读取其接收组的指定段。这些段可以通过参照该数据输出器所维护与存储的接收组表确定。响应数据输出器的请求,随后以3秒钟的部分从高速缓冲存储处理器将段数据推动,并在802被数据输出器接收。当在804判定高速缓冲存储处理器已完成供给演播的全部段的所有部分时,数据输出器便在806增量接收组表中各组的段指定,并在808去掉任何组成员的“盲”(blind)状态。盲状态防止组成员接收来自数据输出器的段数据。盲状态的目的将相对于图8b说明。在增量了段指定并去掉盲状态之后,数据输出器在800再次请求从高速缓冲存储处理器读取其接收组的所有指定的段。
数据输出器中按照图8a的过程的组成员资格管理的实例示出在图8b中。当数据输出器在810收到来自接收机的提供从段N,例如演播的第一段,开始的演播的请求时,数据输出器便在812判定该段的段数据当前是否正在由高速缓冲存储处理器提供。如果高速缓冲存储处理器当前正在提供数据,数据输出器将采取行动将请求者作为盲接收机加在指定接收段N-1的组上,从而一旦高速缓冲存储处理器完成了提供数据,该请求者的组指定将增量到N且该请求者将失去其盲状态。相应地,数据输出器在814判定是否存在对于段N-1的接收组。如果不存在这样的组,在816从目录处理器请求段N-1在高速缓冲存储器中的位置,并在818建立指定接收段N-1的组。当请求者请求演播的第一段时,该组将指定为收视假想的段0,假定该段存在于与段1相同的高速缓冲存储器区中。一旦判定存在着段N-1的接收组,在820将接收机分配给该组,在822通知目录处理器接收机的分配,并且数据输出器824监视进一步的请求。
另外,如果在812判定高速缓冲存储处理器当前不在提供该段的段据,数据输出器将采取行动简单地将接收机分配给指定接收所请求的段的组,因为当高速缓冲存储处理器开始再一次提供段数据时,组指定将已经增量并且接收机将接收适当的段数据。从而,数据输出器在826判定是否已有段N的接收组。如果不存在这一组,在828从目录处理器请求段N在高速缓冲存储处理器中的位置并在830建立指定收视段N的组。一旦判定存在着段N的接收组,便在832将接收机分配给该组。在822通知目录处理器接收机的分配,并且数据输出器在824监视其它请求。
通过其接收组成员的控制,数据输出器也可提供基本的“停止”、“暂停”、“前进”与“倒退”功能。可以推想,数据输出器可通过从其接收组中去掉该接收机而停止传输演播给给定的接收机。图9示出在向接收机传输数据中提供暂停的过程的实例。当在段N期间数据输出器在900接收到暂停命令时,便在902通知目录处理器。然后从其接收组中去掉发出暂停命令的接收机。这可以通过更新接收组表将接收机从接收组记录中去掉来完成。在从接收组中被去掉时,接收机将不再接收进一步的数据多信道广播。随后,当在906接收到恢复命令时,便在908将接收机加在将在接下来接收整个段N的接收组上。将接收机分配给适当的接收组是以上面按照图8b描述的方式控制的。具体地,数据输出器在812判定高速缓冲存储处理器当前是否正在提供数据。如果当前正在提供数据,便在832将接收机作为盲接收机分配给当前正在接收段N-1的接收组。如果当前不在提供数据,便在820将接收机分配给指定接收段N的接收组。返回到图9,在放入组中时,在910通知目录处理器接收机的新组及段指定。
结合图10a-10d中描绘的时间段1000示出这一过程对接收组成员的影响。图10a的时间线示出三个接收组1010、1020、1030。图10b的时间线示出处理过来自最右边的接收组1030的单个成员的暂停命令之后的相同的组。该接收机不再是接收其前面指定的段N的接收组的成员,因此并不接收段N的段数据。在示出的实例中,应指出的是发布暂停命令的接收机在发布命令以前是其组中的唯一成员,并且因此在处理该命令时实际上消除了该组。图10c示出如果在将组的段指定已经增量了一次之后但在高速缓冲存储处理器再次开始提供段数据之前,处理恢复命令时的组成员的情况。在这一实例中,将简单地将接收机分配给指定接收在收到暂停命令期间的段的接收组1050。图10d示出如果在已经将组的段指定增量一次之后并且在高速缓冲存储处理器已再次开始提供数据之后,处理恢复命令时的组成员情况。在这一实例中,该接收机作为盲接收机1060分配给指定接收紧接在收到该暂停命令的段之前的段N-1的接收组1020。如前面在图8a中所示,当下一次增量段指定时,将去掉接收机的盲状态,而该接收机将与其组中的其余接收机一起接收段N的数据。
目录处理器可类似地提供“变段”功能给接收机,可用它来近似“前进”或“倒退”功能。图11示出用于改变接收机的段指定的过程的实例。当数据输出器在1100从接收机接收变段命令并在1110接收新段N的指定时,便在1120将发布该命令的接收机从其接收组移至接收整个段N的适当接收组。移动是以相对于图8b讨论的方式处理的。具体地,数据输出器在812判定高速缓冲存储处理器当前是否正在提供数据。如果当前正在提供数据,便在820将接收机作为盲接收机分配给当前正在接收段N-1的接收组。如果当前不正在提供数据,则在832将接收机分配给指定接收段N的接收组。将其放在组中时,在1130通知目录处理器接收机的新组与段指定。
结合图12a-12c的时间段1200示出了发布各种变段命令导致的接收组成员的影响。图12a的时间线示出三个接收组1210、1220、1230。图12b的时间线示出为对于图12a的三组的三个成员已经处理过变段命令之后的相同的组,其中各变段命令是在已经将组的段指定增量一次之后但在高速缓冲存储处理器开始再次提供段数据之前处理的。在这一实例中,将接收机简单地分配给指定接收它们分别指定的段的接收组。具体地,将已请求向前移动一段的最右边的组的唯一成员1240分配给指定接收下一接连的段的新接收组1250。应指出这一接收机为其前一接收组1230的唯一成员,从而它发布变段命令实际上导致消除其前一组。类似地,图12a最中央的组1220的接收机1260与1270分别请求向后移动两段与一段,这便导致将接收机1260加到图12a的最左边的组1210中、建立一个新接收组1280及实际上消除接收机的前一接收组1220。
反之,图12c示出如果在已将组的段指定增量一次之后且在高速缓冲存储处理器已开始再次提供段数据之后处理变段命令时的组成员的情况。在这一实例中,将接收机作为盲接收机分配给指定接收紧接在它们各自指定的段前面的段的接收组。具体地,将请求向前移动一段的最右边的组1230的唯一成员1240从其组1230中去掉;然后作为盲接收机再分配到该组。类似地,图12a的最中央的组1220的接收机1260与1270已分别请求向后移动两段与一段,这导致在第一段上建立一个新组1290,并将接收机1260作为盲接收机加在其中,并将另一接收机1270作为盲接收机加入图12a的最左边的组1210中。当再一次增量段指定时,将去掉各接收机的盲状态,并且各接收机将与其组中的其余接收机一起开始接收段数据。
可以根据系统性能规范改变数据输出器将段数据提供给接收组的接收机的特定方式。上面已提出希望以推动模式提供数据给接收机。图13与14中分别示出为视频点播应用优化的特殊数据输出器设计及相关的操作方法。图13示出最好在实施本发明的系统的数据输出器中采用的基本内部配置。这一配置中,数据输出器1300包括可以交替地耦合到数据输出器的输入端1330与输出端1340上的第一与第二缓冲器1310与1320。将缓冲器大小选择得足以接收预定持续时间的段部分,该段部分是受接收机的缓冲器容量支配的。例如,如果接收机缓冲器能可靠地保持三秒的数据,则可将从数据输出器到接收机的传递部分的大小选择为三秒钟。
如图14中所示,数据输出器的操作包括在1400在第一缓冲器中接收一个演播段的一部分,同时从第二缓冲器提供一个演播段的一部分,然后在1410耦合第一缓冲器到输出端及第二缓冲器到输入端。随后在1420,在第二缓冲器中接收一个演播段的一部分同时从第一缓冲器提供一个演播段的一部分。然后在1430将第一缓冲器耦合到输入端上同时将第二缓冲器耦合到输出端上,而重新开始这一进程。
这一方法及推进它的缓冲器配置是较佳的,因为明显地使数据输出器所需的存储空间量减少了。例如,如果将演播分成30秒的段并将各段以3秒的部分提供,数据输出器只须在任一时刻保持6秒的数据,便能为提供连续的演播提供足够的数据给接收机。
C.高速缓冲存储处理器的操作
如上所述,数据输出器通过从包含演播段的高速缓冲存储处理器请求演播段数据而接收演播段数据。这要求高速缓冲存储处理器包含适当的所请求的段数据并且高速缓冲存储处理器具有将该段提供给数据输出器的可靠方法。下面相对于图15a-15i讨论满足这些要求的方法。
图15a示出在高速缓冲存储处理器中用于将演播的段提供给请求这些段的数据输出器的过程流程的实例。概括地说,该进程包括提供该演播的各请求的段的部分,使得在时间L内已经提供了每一个所请求的段的每一部分,其中L为预定义的段持续时间与请求窗口的持续时间。这样,从上面采用的实例继续,如果演播为分成240个30秒的段的两小时电影,且要将各段分成10个3秒的部分,则提供每一段的第一部分、提供每一段的第二部分等等,直到提供了每一段的每一部分为止。
具体参见图15a,高速缓冲存储处理器通过在1500起动定义一个时间段的请求向下计数来开始这一进程,该时间段是在开始其下一个数据传输时段之前必须经过的时间。然后高速缓冲存储处理器在1510连续地交替检验请求窗口是否已关闭,意味着已过了向下计数的时段,并在1520检验是否已从数据输出器接收到任何段请求。当在关闭请求窗口之前接收到来自数据输出器的请求时,该请求便在1530进入高速缓冲存储处理器的供应队列。供应队列可以是将保持在高速缓冲存储器中的各段与请求该段的各数据处理器互相关联的表。
当判定请求窗口已经关闭时,高速缓冲存储处理器在1540设置两个计数器M与N,其中M表示要提供的当前部分而N表示要提供的当前段。然后高速缓冲存储处理器1550提供演播的第N段的第M部分。这一部分是作为寻址到各请求的数据处理器及标识演播段与部分的数据包提供的。从而在推到数据输出器时,将识别该数据包。推出这一包之后,高速缓冲存储处理器1560增量N,并在1550再次提供第M部分。当在1570判定已到达保持在高速缓冲存储处理器存储器中的段的最大NMAX时,在1580增量M,并在1550再一次提供各段的第M部分。在1590判定已提供了各段的第MMAX部分之后,高速缓冲存储处理器在1500起动新的向下计数并返回到处理数据输出器请求,直到向下计数再一次结束。
如相对于图15a所蕴含的,高速缓冲存储处理器只包含有限数目的演播段。图15b示出在高速缓冲存储处理器中用于管理在任何时刻存储在处理器中的段的数目的过程的实例。一般地说,这一进程包含实现用于只存储满足现有的接收组所需要的段数据的“轮转”存储器方案,并在继续满足新组的请求时扩充轮转。
具体参见图15b,当高速缓冲存储处理器在1501接收来自目录处理器的存储演播的请求时,高速缓冲存储处理器便在1502在其存储器中分配一个区用于存储该演播并通知目录处理器区名与大小。随后高速缓冲存储处理器在1503复制演播的该三个单位,在第一单位后面设置“低水位标志”(low water mark)并在第二单位后面设置“高水位标志”(high water mark)。从下面的讨论中,低与高水位标志的目的将是显而易见的。为了便于例示,特别是按照图15c-15i,假定复制到高速缓冲存储处理器中的演播“单位”等于各有三分钟持续时间的单位。这一教导将使本领域中的普通技术人员能采用不等的单位实现其它类似方法。
返回到图15b,一旦设置了低与高水位标志,便按照图15a的方法在1504提供段数据。这可以包含接收与处理其它数据输出器对其它演播段的请求。在将所有段数据提供给供应队列中的每一个请求者之后,高速缓冲存储处理器在1505判定任何这些请求是否是对落在高水位标志以上的段的。如果没有,高速缓冲存储处理器便在1504再次提供段数据,如图15a中所示。从而一个或多个数据输出器可在接连的请求窗口期间通过作出对接连的段的接连的请求而沿段数据的轮转前进。图15c中提供这一方案的示例,其中一个数据输出器1533已沿轮转1531前进以便从第二单位(该演播的3-6分钟)内接收数据,同时另一个稍晚请求数据的输出器1532已沿轮转前进以便从第一单位(演播的0-3分钟)内接收数据。能从图15c推想出所示的两个数据输出器沿轮转相距大约两分钟。
返回到图15b,如果任何数据输出器请求了高水位标志以上的数据,高速缓冲存储处理器便在1511判定是否任何数据输出器请求了低水位标志以下的数据。如果没有数据输出器请求低水位标志以下的数据,便在1512用在高水位标志以上的轮转单位后面来到的该演播的下一单位取代低水位标志以下的轮转单位中的数据。然后在1513将低与高水位标志向前移一个单位。图15d与15e中示出这些步骤。参见图15d,可以看到领先的数据输出器1533刚越过图15c的高水位标志1534,同时后面的数据输出器1532已超过图15c的低水位标志1535。结果可以复盖包含演播的0-3分钟的轮转单位来包含该演播的9-12分钟。然后将高与低水位标志前移一个单位。参见图15e,可以看到在通过了另一单位之后,将重复类似的复制与标志前移。因此,这两个数据输出器将继续环绕长度为三个单位的轮转进行,它是在每次前移高水位标志时用高水位标志以上的一个新的段数据单位周期性更新的。
回到图15b,也可以是这样的情况,当一个数据输出器通过了高水位标志时,另一个尚未到达低水位标志。这种情况示出在图15f-15g中。在图15g中可看到领先的数据输出器1541已到达图15f的高水位标志1544,但后面的数据输出器1543尚未碰上图15f的低水位标志1543。结果,如图15b中所示,高速缓冲存储处理器将在1514扩充分配给轮转的存储区,通知目录处理器这一扩充并在1515将演播的下一单位复制到扩充区中。然后在1516将高水平标志上移一个单位,但不移动低水位标志。参见图15g,可以看到当领先的数据输出器1541已到达图15f的高水位标志时,扩充轮转以包含该演播的另外9-12分钟并将高水平标志1544的位置前进一个单位。
再回到图15b,一旦前进了高水位标志,高速缓冲存储处理器返回到1504提供段数据,如图15a中所示。随后,如图15b中所示,高速缓冲存储处理器可以在1505判定领先数据输出器已越过了新的高水位标志,而进一步在1511判定后面的数据输出器已通过低水位标志。结果在1512将一个新单位写在轮转的老数据上而在1513前进低与高水位标志。作为这种判定的结果的低与高水位标志的前进示出在图15g与15h之间的变化中。如图15i中所示,这些数据输出器此后将继续环绕长度为4个单位的轮转前进,它是周期性地更新以在高水位标志1544以上包含一个新的段数据单位。可以理解在适当的环境中轮转会交替地继续扩大直到包含整个演播为止。
D.目录处理器的操作
如上所述,在处理请求新的演播、暂停命令、恢复命令或变段命令时,数据输出器通知目录处理器接收机的组成员。高速缓冲存储处理器也通知目录处理器分配给演播数据的各存储区的区名与地址,及这些区的每一次扩充。相应地,目录处理器包含足够的数据来管理高速缓冲存储处理器的分配。图16中提供用于管理高速缓冲存储处理器分配的目录处理器中的过程流程的实例。
更具体地,如图16中所示,当目录处理器在1600收到来自数据输出器的对演播的一个段的高速缓冲存储处理器地址的请求时,目录处理器首先在1610判定在高速缓冲存储处理器中是否可以得到该段。这可以通过参考目录处理器所维护的高速缓冲存储处理器分配表来确定。如果在1610判定当前不能从高速缓冲存储处理器得到该段,或者如果在1620判定将该数据输出器与包含所请求的段的处理器相关会导致该高速缓冲存储处理器试图为该演播扩充区域而超过其存储器容量,则目录处理器在1630分配一个新的高速缓冲存储处理器来存储该段并指令该高速缓冲存储处理器起动相对于图15a-15i讨论的轮转过程。一旦知道了包含请求的段的高速缓冲存储处理器地址与区,便在1640通知数据输出器高速缓冲存储处理器地址与区名。此后,数据输出器将直接与高速缓冲存储处理器交互作用以接收演播数据。
如上所述,目录处理器通常还负责管理系统中数据对象的读取与更新。系统中数据对象的读取与更新的管理最好采用基于下述三原则的新颖的“一切均不共享,一切均高速缓冲存储”(SNCE)规范来实现:
1)系统中一个以上逻辑实体可利用的对象只可由系统中一个且仅一个逻辑实体拥有;
2)已拥有的对象只能由拥有该对象的逻辑实体更新,但拥有的对象可由包括拥有者在内的任何逻辑实体读取;
3)对象的拥有者具有独占权来封锁所拥有的对象的读与更新。
图17中提供图5与图6中所示的一般形式的系统的部件的增强的示例。可以看到该系统包含各连接在一个或多个存储装置1710上的多个服务器1700。可以存储在这一系统的各种存储装置1710与服务器1700中的数据对象的实例包括目录处理器维护的高速缓冲存储器分配表、各高速缓冲存储处理器维护的供应队列及存储在存储装置中的视频演播文件。SNCE规范提供管理出现在这一系统中的对象的固定的读取与更新方法。
用于按照SNCE规范处理读取对象的请求的过程的实例示出在图18中。可以通过考虑已请求一个演播的数据输出器的一个实例来展示该过程。按照SNCE,数据输出器必须向其拥有者请求读取该对象(演播),在本例中拥有者为包括目录服务器与耦合在存储该演播的存储装置上的视频贮藏库服务器的逻辑实体。收到请求时,拥有者将允许请求者从包含该对象,在本例中为演播的高速缓冲存储处理器读取所请求的对象。这可能需要拥有者准备好演播然后将其复制到高速缓冲存储处理器中。
从而如图18中所示,逻辑实体在1800接收读取它所拥有的对象的请求。请求者,例如数据输出器,通过参照目录处理器维护与分配的对象拥有关系表而知道该对象的拥有关系。对象拥有者在1810判定请求的数据输出器是否登录为读取该对象。如果否,便在1820将该数据输出器增加到由拥有者维护的并且也高速缓冲存储在与拥有者关联的高速缓冲存储处理器中的“感兴趣的成员”表中。此后,拥有者在1830判定所请求的对象是否存储在高速缓冲存储处理器中。如果否,拥有者将对象准备到其本地存储器中然后在1840将对象复制到目录服务器分配的高速缓冲存储处理器中。一旦确定了对象在高速缓冲存储处理器中的位置,拥有者便在1850通知请求者该对象在高速缓冲存储器中的位置。此后请求者自由地直接从高速缓冲存储处理器请求读取。将理解这一说明与相对于图16描述的高速缓冲存储处理器分配的过程相符。
简短地说,SNCE规范规定接收读取一个对象的请求的对象拥有者不得直接将对象提供给请求者,而是将请求者引导到包含该对象的相关高速缓冲存储处理器上。从而回头参见图17,如果与目录处理器关联的服务器2为标记为对象Y的演播的拥有者,而服务器M(数据输出器)发送请求给服务器2要读取对象Y,服务器2将起动从高速缓冲存储处理器1对对象Y的复制。
如上所述,对象的拥有者还具有更新它所拥有的对象的独占权。图19示出按照SNCE更新对象的过程的实例。该过程可通过考虑实现在高速缓冲存储处理器中的动态地管理其内部存储器分配的轮转法来展示。在为给定的演播扩充其存储器分配的过程中,高速缓冲存储处理器必须通知目录处理器存储区的新地址。换言之,高速缓冲存储处理器必须请求更新目录处理器维护与拥有的高速缓冲存储器分配表。
从而,如图19中所示,目录处理器在1900收到来自高速缓冲存储处理器的更新其高速缓冲存储器分配表的更新对象请求。目录处理器在1910封锁读取或更新高速缓冲存储器分配表的进一步请求,并重新确定这些请求的路由到本地队列中。然后目录处理器1920更新其本地存储器中的高速缓冲存储器分配表。目录处理器在1930进一步更新在其关联的高速缓冲存储处理器中的高速缓冲存储器分配表,这是在目录处理器为目录处理器本身的情况下。然后在1940通知感兴趣的成员对高速缓冲存储器分配表的更新。感兴趣的成员为前面已读过高速缓冲存储器分配表的系统实体。通知过感兴趣的成员之后,在1950解除封锁及处理排队的请求。
如上所述,可采用两种封锁。在称作“排它封锁”的第一种中,在更新过程期间封锁防止更新与读取对象。反之,在称作“写封锁”的第二种封锁中,防止在更新过程期间更新,但允许在更新过程期间读取对象。这种读取称作“脏读取”。选择采用排它封锁或写封锁取决于提供精确地反映作为对象的主题的所有信息的必要性。
为了展示两种封锁的差别,考虑下述两种情况。第一种情况考虑存储在高速缓冲存储处理器中并表示演播的一部分的数据对象。有时可以更新这一对象来延长存储在高速缓冲存储处理器中的部分的长度;然而,对于响应读取请求提供一个单一的段给数据输出器的目的,在更新对象之前或之后将该段提供给数据输出器并无关系。结果,采用写封锁与这些对象配合是满意的。反之,第二种情况考虑存储在目录处理器中的高速缓冲存储器分配表。必须提供精确的数据给要求关于演播数据的信息的数据输出器,否则它会向错误的高速缓冲存储处理器错误地请求演播并会延迟将演播发送给接收机。因此,关于高速缓冲存储器分配表应当采用排它的封锁。
E.示例性视频点播的规范
如上所述,本发明的视频点播实施例将最佳地能够在等于与演播关联的预定义的请求窗口与预定义的段长度的时段L中多信道广播演播的所有段。选择来实现本发明的特定系统部件受到诸如提供的演播类型、提供的演播数目及服务的接收机数目等因素的限定。为了提供如何作出这些决定的实例,考虑设计成满足下述标准的系统:
1)系统必须能同时向全体30,000用户提供服务;
2)系统必须在所有时间上能向所有观众提供10部电影,每一部电影具有2小时的持续时间;
3)每部电影都是MPEG2编码的;并包括大约4G字节数据或大约每秒4.5M位数据;
4)每部电影都以预定的30秒段提供;以及
5)系统为全部10部电影的所有2400个段利用30秒的请求窗口。
再一次参见图2中所示的系统。假定该系统中所示的各处理节点包括一个RS/6000并且各交换机提供带多信道广播能力的无连接环境。这些交换机可包括ATM网络交换机。可进一步假定与系统关联的各接收机具有保持3秒钟MPEG2数据或大约1.7M字节存储器的足够存储器。从而可将部分的大小(数据输出器提供给接收机的部分的大小)选定为3秒钟。可进一步假定接收机包括一个处理器。这一接收机可以是诸如个人计算机或专用的视频解码器终端(有时称作“顶置盒”)。
向后从系统的接收机端开始工作,为了提供30,000观众每秒各4.5M位数据,用于提供信号给所有接收机的前端无连接环境必须能供给多达135G位/s。进一步假定在等于3秒的部分长度的时段内,各数据输出器能输出等于对于一部电影整个段数据部分负荷20%的数据,或大约80M字节。因此数据输出器必须能在大于213M位/s的速率上输入与输出。由于ATM适配器卡具有155M位/s的吞吐速率,因此数据输出器可设置三个ATM适配器卡用于输入及三个ATM适配器卡用于输出,为各数据输出器提供超过期望的输入与输出要求的455M位/s的输入与输出。
进一步假定各高速缓冲存储处理器设有2G字节的存储器。从而两个高速缓冲存储处理器便能存储整部电影。如上面所提及的,希望各高速缓冲存储处理器能在等于段长度与请求窗口L的时段内发送它所包含的所有的段。由于一个高速缓冲存储处理器可包含多达一部两小时电影的一半的段,或大约2.0G字节,高速缓冲存储处理器必须能以每30秒2G字节,或533M位/秒的速率提供段给数据输出器。因此高速缓冲存储处理器可设置五个ATM卡,从而允许775M位/s的最大输出速率,这大大超过了期望的输出要求。对于需要提供10部电影的系统,后端无连接环境必须能在每30秒中传输40G字节数据,从而需要10G位/s的带宽。这一带宽可以通过使用若干个IBM8220ATM交换机达到。
从而按照图2配置并使用上述部件的系统将能在规定的参数内在所有时间上提供点播的数字编码的演播。本领域中的普通技术人员将会理解这里描述的系统结构是高度可以伸缩的,并可适应于支持任何数目的演播与接收机。
从而,本发明可以实施在上述用于分配数字编码的演播的系统中。通过高速缓冲存储已被请求的演播,及通过将接收机分组成接收演播的多信道广播的段的接收组,系统便能响应接收机的请求提供演播给任何数目的接收机,不论该演播这时是否正在被其它接收机观看。在提供时间编码的演播时,系统将能很好地在等于请求窗口与单个段长度L的时段内多信道广播时间编码的演播的所有段,从而实质上每一个L秒都能接收到演播。
虽然上述特定实施例提供的结构与方法是发明人当前所知的用于实施本发明的最佳模式,本发明能具有各式各样的替代实施例。这里所描述的流程图、硬件配置与过程是示例性的。本领域中的普通技术人员知道可以对这里描述的实施例作出涉及等效部件、操作方法与使用方法的其它修改而不脱离下述权利要求书中所定义的发明范围。

Claims (55)

1.一种用于通过无连接环境分配表示数字编码的演播的数据的系统,包括:
用于接收接收机发出的对所述数字编码的演播的多个预定义的段中的一个段的请求的装置;
用于建立接收组的装置,所述接收组被指定接收所述的一个段;
用于分配所述接收机给所述接收组的装置;
用于在从建立所述接收组起经过一个预定时间量后,多信道广播所述的一个段给所述接收组的装置。
2.权利要求1的系统,其特征在于还包括:
用于接收另外的接收机发布的对所述的一个段的另外的请求的装置;以及
用于分配所述另外的接收机给所述接收组的装置。
3.权利要求2的系统,其特征在于用于多信道广播所述的一段给所述接收组的所述装置包括用于同时提供所述的一段给所述接收机与所述另外的接收机的装置。
4.权利要求1的系统,其特征在于还包括用于在所述提供所述的一段给所述接收组之后,删除所述接收组的装置。
5.权利要求1的系统,其特征在于所述数字编码的演播的所述多个预定义的段是要按预定的次序提供的,及所述系统还包括用于在将所述的一段提供给所述接收组之后,指定所述接收组去接收所述多个预定义的段中以所述预定的次序紧随在所述数字编码的演播的所述的一段后面的一段的装置。
6.一种用于分配表示数字编码的线性演播的数据的系统,包括:
一个或多个接收组,各所述一个或多个接收组具有指定要由其接收的所述数字编码的线性演播的预定义的持续时间的多个顺序段之一的指定;
用于在等于所述段的所述预定义的持续时间的间隔上将其指定的段周期性地提供给各所述一个或多个接收组的装置;以及
用于在将其指定的段提供给所述一个或多个接收组的每一个之后,增量所述一个或多个接收组的各个的所述指定的装置。
7.权利要求6的系统,其特征在于还包括:
用于接收接收机发布的对所述多个顺序段的一个所请求的段的请求的装置;以及
用于将所述接收机分配给所述一个或多个接收组中指定接收所述请求的段的一个接收组的装置。
8.权利要求7的系统,其特征在于还包括:
用于在所述接收请求时,判定是否指定了所述一个或多个接收组中任何一个去接收所述所请求的段的装置;以及
用于如果所述一个或多个接收组中没有一个被指定接收所述请求的段时,建立一个指定接收所述请求的段的接收组的装置。
9.一种用于分配表示数字编码的线性演播的数据的方法,包括:
周期性地将指定要由接收组接收的段提供给各所述一个或多个接收组,各所述一个或多个接收组具有要由其接收的所述数字编码的线性演播的预定义的持续时间的多个顺序的段中的一个的指定;以及
在将其指定的段提供给各所述一个或多个接收组之后,增量各所述一个或多个接收组的所述指定。
10.权利要求9的方法,其特征在于还包括:
接收接收机发布的对所述多个顺序的段的所请求的段的请求;以及
将所述接收机分配给所述一个或多个接收组中指定接收所述所请求的段的接收组。
11.权利要求10的方法,其特征在于还包括:
在所述接收到请求时,判定所述一个或多个接收组中是否指定了任何一个去接收所述所请求的段;以及
如果所述一个或多个接收组中没有一个被指定去接收所述所请求的段,便建立一个指定接收所述所请求的段的接收组。
12.一种计算机程序产品,包括在其中具有用于分配表示数字编码的演播的数据的计算机可读的程序代码装置的计算机可用的介质,计算机程序产品中的计算机可读的程序代码装置包括:
用于周期性地将指定的段提供给一个或多个接收组中的每一个的计算机可读的程序代码装置,各所述一个或多个接收组具有要由其接收的所述数字编码的线性演播的预定义的持续时间的多个顺序段中一个的指定;以及
计算机可读的程序代码装置,用于在将其指定的段提供给各所述一个或多个接收组中的每一个之后,增量各所述一个或多个接收组的所述指定。
13.权利要求12的计算机程序产品,其特征在于还包括:
计算机可读的程序代码装置,用于接收接收机发布的对所述多个顺序段的所请求的段的请求;以及
计算机可读的程序代码装置,用于将所述接收机分配给所述一个或多个接收组中指定接收所述所请求的段的接收组。
14.权利要求13的计算机程序产品,其特征在于还包括:
计算机可读的程序代码装置,用于在所述接收请求时,判定所述一个或多个接收组中是否指定了任何一个组去接收所述所请求的段;以及
计算机可读的程序代码装置,用于如果所述一个或多个接收组中没有一个被指定去接收所述所请求的段,便建立一个指定接收所述所请求的段的接收组。
15.一种用于分配表示数字编码的线性演播的数据的系统,包括:
一个或多个接收组,各所述一个或多个接收组具有指定要由其接收的所述数字编码的线性演播的多个预定义的段中的一个的指定;
用于接收接收机发布的、对以所述多个预定义的段中整个所请求的段开始的所述数字编码的线性演播的传输的请求的装置;
用于确定将在下一次接收整个所述所请求的段的所述一个或多个接收组中的一个接收组的装置;以及
用于将所述接收机分配给将在下一次接收整个所述所请求的段的所述接收组的装置。
16.权利要求15的系统,其特征在于所述用于将所述接收机分配给所述一个或多个接收组中将在下一次接收整个所述所请求的段的所述接收组的装置包括:
如果指定接收所述所请求的段的接收组当前不正在接收所述所请求的段,便将所述接收机分配给指定接收所述所请求的段的所述接收组的装置;以及
如果指定接收所述所请求的段的接收组当前正在接收所述所请求的段,便将所述接收机分配给指定接收紧接在所述所请求的段前面的一个段的接收组的装置。
17.权利要求15的系统,其特征在于各所述多个预定义的段具有统一的预定的持续时间,及所述系统还包括:
用于在小于所述统一的预定持续时间的时段内,将其指定的段提供给各所述一个或多个接收组的装置;以及
用于在所有所述一个或多个接收组已接收到它们指定的段之后,增量各所述一个或多个接收组的所述段指定的装置。
18.权利要求15的系统,其特征在于还包括:
用于在接收请求时,判定是否指定了所述一个或多个接收组中任何一个去接收所述所请求的段的装置;以及
如果所述一个或多个接收组中没有一个被指定接收所述所请求的段,便建立一个指定接收所述所请求的段的接收组的装置。
19.一种用于分配表示数字编码的线性演播的数据的方法,包括:
接收接收机发布的传输以所述数字编码的线性演播的多个预定义的段的整个所请求的段开始的所述数字编码的线性演播的请求;
从一个或多个接收组中确定下一次将接收整个所述所请求的段的接收组,各所述一个或多个接收组具有要由其接收的多个预定义的段中的一个的指定;以及
将所述接收机分配给将在下一次接收整个所述所请求的段的所述接收组。
20.权利要求19的方法,其特征在于所述将所述接收机分配给所述一个或多个接收组中将在下一次接收整个所述所请求的段的所述接收组包括:
如果指定接收所述所请求的段的接收组当前不正在接收所述所请求的段,便将所述接收机分配给指定接收所述所请求的段的所述接收组;以及
如果指定接收所述所请求的段的接收组当前正在接收所述所请求的段,便将所述接收机分配给指定接收紧接在所述所请求的段前面的段的接收组。
21.权利要求19的方法,其特征在于各所述多个预定义的段具有统一的预定持续时间,及所述方法还包括:
在小于所述统一的预定持续时间的时段内,将其指定的段提供给各所述一个或多个接收组;以及
在所有所述一个或多个接收组都已接收了它们指定的段之后,增量各所述一个或多个接收组的所述段指定。
22.权利要求19的方法,其特征在于还包括:
在接收请求时,判定在所述一个或多个接收组中是否指定了任何组去接收所述所请求的段;以及
如果所述一个或多个接收组中没有一个被指定去接收所述所请求的段,便建立一个指定接收所述所请求的段的接收组。
23.一种计算机程序产品,包括在其中具有用于分配表示数字编码的演播的数据的计算机可读的程序代码装置的计算机可用的介质,计算机程序产品中的计算机可读的程序代码装置包括:
计算机可读的程序代码装置,用于接收接收机发布的、对传输以所述数字编码的线性演播的多个预定义的段中整个所请求的段开始的所述数字编码的线性演播的请求;
计算机可读的程序代码装置,用于从一个或多个接收组中确定一个下一次将接收整个所述所请求的段的接收组,各所述一个或多个接收组具有要由其接收的所述数字编码的线性演播的多个预定义的段之一的指定;以及
计算机可读的程序代码装置,用于将所述接收机分配给下一次将接收整个所述所请求的段的所述接收组。
24.权利要求23的计算机程序产品,其特征在于所述用于确定将所述接收机分配给所述一个或多个接收组中下一次将接收整个所述所请求的段的所述接收组的计算机可读的程序代码装置包括:
计算机可读的程序代码装置,用于如果指定接收所述所请求的段的接收组当前不正在接收所述所请求的段,便将所述接收机分配给指定接收所述所请求的段的所述接收组;以及
计算机可读的程序代码装置,用于如果指定接收所述所请求的段的接收组当前正在接收所述所请求的段,便将所述接收机分配给指定接收紧接在所述所请求的段前面的段的接收组。
25.权利要求23的计算机程序产品,其特征在于各所述多个预定义的段具有统一的预定持续时间,及所述方法还包括:
计算机可读的程序代码装置,用于在小于所述统一的预定持续时间的时段中,将其指定的段提供给各所述一个或多个接收组;以及
计算机可读的程序代码装置,用于在所有所述一个或多个接收组都已接收了它们指定的段之后,增量各所述一个或多个接收组的所述段指定。
26.权利要求23的计算机程序产品,其特征在于还包括:
计算机可读的程序代码装置,用于在接收请求时,判定是否指定了所述一个或多个接收组中任何一个去接收所述所请求的段;以及
计算机可读的程序代码装置,用于如果所述一个或多个接收组中没有一个被指定去接收所述所请求的段,便建立一个指定接收所述所请求的段的接收组。
27.一种用于暂停数字编码的线性演播的传输的方法,包括:
接收接收机发布的暂停命令,所述接收机为指定接收所述数字编码的线性演播的多个预定义的段之一的接收组的一个成员;以及
从所述接收组中去掉所述接收机。
28.权利要求27的方法,其特征在于还包括:
接收所述接收机发布的恢复命令;
从一个或多个接收组中确定接收所述的一段的一个适当的接收组;以及
将所述接收机分配给所述适当的接收组。
29.权利要求28的方法,其特征在于确定所述适当接收组包括判定指定接收所述所请求的段的接收组当前是否正在接收所述所请求的段;以及
其中分配所述接收机包括:
如果指定接收所述所请求的段的所述接收组当前不正在接收所述所请求的段,便将所述接收机分配给指定接收所述所请求的段的所述接收组;以及
如果指定接收所述所请求的段的所述接收组当前正在接收所述所请求的段,便将所述接收机分配给指定接收紧接在所述所请求的段前面的段的接收组。
30.权利要求29的方法,其特征在于还包括:
如果没有指定所述一个或多个接收组中任何一个去接收所述所请求的段,便建立一个指定接收所述所请求的段的接收组。
31.一种用于暂停传输数字编码的线性演播的系统,包括:
用于接收接收机发布的暂停命令的装置,所述接收机为指定接收所述数字编码的线性演播的多个预定义的段之一的接收组的一个成员;以及
用于从所述接收组中去掉所述接收机的装置。
32.权利要求31的系统,其特征在于还包括:
用于接收所述接收机发布的恢复命令的装置;
用于从一个或多个接收组中确定接收所述的一段的一个适当的接收组的装置;以及
用于将所述接收机分配给所述适当的接收组的装置。
33.权利要求32的系统,其特征在于所述用于确定所述适当的接收组的装置包括用于判定指定接收所述所请求的段的接收组当前是否正在接收所述所请求的段的装置;以及
其中所述用于分配所述接收机的装置包括:
如果指定接收所述所请求的段的所述接收组当前不正在接收所述请求的段,便将所述接收机分配给指定接收所述所请求的段的所述接收组的装置;以及
如果指定接收所述所请求的段的所述接收组当前正在接收所述所请求的段,便将所述接收机分配给指定接收紧接在所述所请求的段前面的段的所述接收组的装置。
34.权利要求33的系统,其特征在于还包括:
如果没有指定所述一个或多个接收组中的一个去接收所述所请求的段,便建立一个指定接收所述所请求的段的接收组的装置。
35.一种在分配表示数字编码的线性演播的数据的系统中用于改变一个接收机的接收组成员的方法,包括:
接收接收机发布的变段命令,所述接收机为指定接收所述数字编码的线性演播的多个预定义的段之一的接收组的一个成员;
接收来自所述接收机的所述数字编码的线性演播的一个所请求的段的指定;
从所述接收组中去掉所述接收机;
为接收所述所请求的段从一个或多个接收组中确定一个适当的接收组;以及
将所述接收机分配给所述适当的接收组。
36.权利要求35的方法,其特征在于确定所述适当的接收组包括判定指定接收所述请求的段的接收组当前是否正在接收所述请求的段;以及
其中分配所述接收机包括:
如果指定接收所述所请求的段的所述接收组当前不正在接收所述所请求的段,便将所述接收机分配给指定接收所述所请求的段的所述接收组;以及
如果指定接收所述所请求的段的所述接收组当前正在接收所述所请求的段,便将所述接收机分配给指定接收紧接所述所请求的段前面的段的接收组。
37.权利要求36的方法,其特征在于还包括:
如果没有指定所述一个或多个接收组之一去接收所述所请求的段,便建立一个指定接收所述所请求的段的接收组。
38.一种在分配表示数字编码的线性演播的数据的系统中改变接收机的接收组成员的系统,包括:
用于接收接收机发布的变段命令的装置,所述接收机为指定接收所述数字编码的线性演播的多个预定义的段之一的接收组的一个成员;
用于接收来自所述接收机的所述数字编码的线性演播的所请求的段的指定的装置;
用于从所述接收组中去掉所述接收机的装置;
用于为接收所述所请求的段,从一个或多个接收组中确定一个适当的接收组的装置;以及
用于将所述接收机分配给所述适当的接收组的装置。
39.权利要求38的系统,其特征在于用于确定所述适当的接收组的所述装置包括用于判定指定接收所述所请求的段的接收组当前是否正在接收所述所请求的段的装置;以及
其中用于分配所述接收机的所述装置包括:
如果指定接收所述所请求的段的所述接收组当前不正在接收所述所请求的段,便将所述接收机分配给指定接收所述所请求的段的接收组的装置;以及
如果指定接收所述所请求的段的所述接收组当前正在接收所述所请求的段,便将所述接收机分配给指定接收紧接在所述所请求的段前面的段的接收组的装置。
40.权利要求39的系统,其特征在于还包括:
如果没有指定所述一个或多个接收组之一去接收所述所请求的段,便建立一个指定接收所述所请求的段的接收组的装置。
41.一种用于管理轮转数据服务装置中存储器分配的方法,包括:
定义一个存储区作为轮转区;
复制第一预定数目的数据单位到所述轮转区中;
在轮转区中距所述轮转区的起点预定数目的数据单位的点上设置一个低水位标志;
在轮转区中距所述轮转区的终点预定数目的数据单位的点上设置一个高水位标志;
从所述轮转区中提供顺序的数据部分给一个或多个接收机;
判定所述一个或多个接收机中任何一个是否已到达所述高水位标志;
如果所述一个或多个接收机中任何一个已到达所述高水位标志,判定所述一个或多个接收机中任何一个是否低于所述低水位标志;以及
如果所述一个或多个接收机中任何一个已到达所述高水位标志且所述一个或多个接收机中任何一个低于所述低水位标志,则扩充所述轮转区第二预定数目的数据单位,复制增加的第二预定数目的数据单位到所述轮转区的所述扩充部分中,并将所述高水位标志前进所述第二预定数目的数据单位。
42.一种用于管理轮转数据服务装置中存储器分配的系统,包括:
用于定义一个存储区作为轮转区的装置;
用于将第一预定数目的数据单位复制到所述轮转区中的装置;
用于在轮转区中距所述轮转区的起点预定数目的数据单位的点上设置低水位标志的装置;
用于在轮转区中距所述轮转区的终点预定数目的数据单位的点上设置高水位标志的装置;
用于从所述轮转区中提供顺序数据部分给一个或多个接收机的装置;
用于判定所述一个或多个接收机中任何一个是否已到达所述高水位标志的装置;
如果所述一个或多个接收机中任何一个已到达所述高水位标志,用于判定所述一个或多个接收机中任何一个是否低于所述低水位标志的装置;以及
如果所述一个或多个接收机中任何一个已到达所述高水位标志且所述一个或多个接收机中任何一个低于所述低水位标志,用于扩充所述轮转区第二预定数目的数据单位,复制增加的第二预定数目的数据单位到所述轮转区的所述扩充部分,及将所述高水位标志前进所述第二预定数目的数据单位的装置。
43.一种计算机程序产品,其中包括具有用于管理轮转数据服务装置中的存储器分配的计算机可读的程序代码装置的计算机可用的介质,计算机程序产品中的计算机可读的程序代码装置包括:
计算机可读的程序代码装置,用于定义一个存储区作为轮转区;
计算机可读的程序代码装置,用于复制第一预定数目的数据单位到所述轮转区中;
计算机可读的程序代码装置,用于在轮转区中距所述轮转区的起点预定数目的数据单位的点上设置低水位标志;
计算机可读的程序代码装置,用于在轮转区中距所述轮转区的终点预定数目的数据单位的点上设置高水位标志;
计算机可读的程序代码装置,用于从所述轮转区中提供顺序数据部分给一个或多个接收机;
计算机可读的程序代码装置,用于判定所述一个或多个接收机中任何一个是否已到达所述高水位标志;
计算机可读的程序代码装置,如果所述一个或多个接收机中任何一个已到达所述高水位标志,用于判定所述一个或多个接收机中任何一个是否低于所述低水位标志;以及
计算机可读的程序代码装置,如果所述一个或多个接收机中任何一个已到达所述高水位标志且所述一个或多个接收机中任何一个低于所述低水位标志,用于扩充所述轮转区第二预定数目的数据单位,复制增加的第二预定数目的数据单位到所述轮转区的所述扩充部分中,并且将所述高水位标志前进所述第二预定数目的数据单位。
44.一种用于处理读取数据服务器系统中的对象的请求的方法,包括:
接收读取数据服务器系统的一个逻辑实体所拥有的对象的请求;以及
把所述逻辑实体外部的数据服务器系统的高速缓冲存储处理器通知给所述请求的发布者,所述发布者可从中读取所述对象。
45.权利要求44的方法,其特征在于还包括作为与所述对象关联的感兴趣的成员登录所述发布者。
46.一种用于处理读取数据服务器系统中的对象的请求的系统,包括:
用于接收读取数据服务器系统的一个逻辑实体所拥有的一个对象的请求的装置;以及
将所述逻辑实体外部的数据服务器系统的高速缓冲存储处理器通知给所述请求的发布者的装置,所述发布者可从中读取所述对象。
47.权利要求46的系统,其特征在于还包括用于作为与所述对象关联的感兴趣的成员登录所述发布者的装置。
48.一种用于处理更新数据服务器系统中的对象的请求的方法,包括:
接收更新数据服务器系统的一个逻辑实体所拥有的对象的请求;
在接收到更新所述对象的所述请求时,封锁更新所述对象的另外的请求,并重新确定这些请求的路由到本地队列中;
在所述封锁另外的请求时,更新存储在所述逻辑实体中的所述对象的拷贝;以及
在所述更新存储在所述逻辑实体中的所述对象的所述拷贝时,从存储在所述逻辑实体中的所述更新过的对象更新所述逻辑实体外部的高速缓冲存储处理器中的所述对象。
49.权利要求48的方法,其特征在于还包括:
将所述对象的所述更新通知给与所述对象关联的感兴趣的成员。
50.权利要求48的方法,其特征在于还包括:
在所述高速缓冲存储处理器中的所述对象的所述更新时,处理任何封锁的更新请求。
51.权利要求48的方法,其特征在于还包括:
在收到更新所述对象的所述请求时,封锁读取所述对象的另外的请求,并重新确定这些请求的路由到本地队列。
52.一种用于处理更新数据服务器系统中的对象的请求的系统,包括:
用于接收更新数据服务器系统的一个逻辑实体所拥有的对象的请求的装置;
在收到更新所述对象的请求时,用于封锁更新所述对象的另外请求,并将这些请求的路由重新确定到本地队列的装置;
用于在封锁另外的请求时,更新存储在所述逻辑实体中的所述对象的拷贝的装置;以及
用于在更新存储在所述逻辑实体中的所述对象的所述拷贝时,从存储在所述逻辑实体中的所述更新过的对象更新所述逻辑实体外部的高速缓冲存储处理器的所述对象的装置。
53.权利要求52的系统,其特征在于还包括:
将所述对象的所述更新通知给与所述对象关联的感兴趣成员的装置。
54.权利要求52的系统,其特征在于还包括:
用于在更新所述高速缓冲存储处理器中的所述对象时,处理所述高速缓冲存储处理器中的所述对象的所述更新以后的任何封锁的更新请求的装置。
55.权利要求52的系统,其特征在于还包括:
用于在收到更新所述对象的所述请求时,封锁读取所述对象的另外的请求,并重新确定这些请求的路由到本地队列的装置。
CN97115333A 1996-09-04 1997-08-04 用于数字编码演播分配的方法及系统 Expired - Lifetime CN1101572C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/701,854 US5838912A (en) 1996-09-04 1996-09-04 Distribution of digitally encoded presentations
US701854 1996-09-04

Publications (2)

Publication Number Publication Date
CN1175734A true CN1175734A (zh) 1998-03-11
CN1101572C CN1101572C (zh) 2003-02-12

Family

ID=24818953

Family Applications (1)

Application Number Title Priority Date Filing Date
CN97115333A Expired - Lifetime CN1101572C (zh) 1996-09-04 1997-08-04 用于数字编码演播分配的方法及系统

Country Status (7)

Country Link
US (1) US5838912A (zh)
JP (1) JPH10116256A (zh)
KR (1) KR100269828B1 (zh)
CN (1) CN1101572C (zh)
GB (1) GB2317082B (zh)
HK (1) HK1009017A1 (zh)
TW (1) TW330261B (zh)

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6182224B1 (en) 1995-09-29 2001-01-30 Cisco Systems, Inc. Enhanced network services using a subnetwork of communicating processors
US5905871A (en) * 1996-10-10 1999-05-18 Lucent Technologies Inc. Method of multicasting
JP3592004B2 (ja) * 1996-10-31 2004-11-24 キヤノン株式会社 情報共有管理システム及び情報共有システム管理装置と方法
US6421706B1 (en) * 1998-02-25 2002-07-16 Worldcom, Inc. Multicast and unicast internet protocol content distribution having a feedback mechanism for real-time and store and forward information transfer
KR19990086460A (ko) * 1998-05-28 1999-12-15 전주범 주문형 비디오 시스템에서의 랜덤 억세스 구현 방법
KR100285590B1 (ko) * 1998-05-29 2001-04-02 전주범 브이오디(vod)서버시스템에서의서비스제어방법
US6438140B1 (en) * 1998-11-19 2002-08-20 Diva Systems Corporation Data structure, method and apparatus providing efficient retrieval of data from a segmented information stream
JP3780732B2 (ja) * 1999-03-10 2006-05-31 株式会社日立製作所 分散制御システム
US6381746B1 (en) * 1999-05-26 2002-04-30 Unisys Corporation Scaleable video system having shared control circuits for sending multiple video streams to respective sets of viewers
US6742019B1 (en) * 1999-07-23 2004-05-25 International Business Machines Corporation Sieved caching for increasing data rate capacity of a heterogeneous striping group
US7028096B1 (en) * 1999-09-14 2006-04-11 Streaming21, Inc. Method and apparatus for caching for streaming data
US6760045B1 (en) 2000-02-22 2004-07-06 Gateway, Inc. Simultaneous projected presentation of client browser display
US6801936B1 (en) * 2000-04-07 2004-10-05 Arif Diwan Systems and methods for generating customized bundles of information
US6678772B2 (en) * 2000-12-19 2004-01-13 International Businesss Machines Corporation Adaptive reader-writer lock
US7430627B2 (en) * 2000-12-19 2008-09-30 International Business Machines Corporation Adaptive reader-writer lock
US7124166B2 (en) 2001-04-30 2006-10-17 Aol Llc Duplicating digital streams for digital conferencing using switching technologies
US7266609B2 (en) * 2001-04-30 2007-09-04 Aol Llc Generating multiple data streams from a single data source
US8572278B2 (en) 2001-04-30 2013-10-29 Facebook, Inc. Generating multiple data streams from a single data source
WO2003105006A1 (en) * 2001-04-30 2003-12-18 America Online, Inc. Load balancing with direct terminal response
AU2002305256B2 (en) * 2001-04-30 2008-11-06 America Online, Inc. A duplicating switch for streaming data units to a terminal
US7237033B2 (en) * 2001-04-30 2007-06-26 Aol Llc Duplicating switch for streaming data units to a terminal
US7292571B2 (en) * 2001-04-30 2007-11-06 Aol Llc, A Delaware Limited Liability Company Load balancing with direct terminal response
US6981032B2 (en) * 2001-07-27 2005-12-27 International Business Machines Corporation Enhanced multicast-based web server
US8028092B2 (en) 2002-06-28 2011-09-27 Aol Inc. Inserting advertising content
JP4025593B2 (ja) * 2002-07-11 2007-12-19 富士通株式会社 放送型通信データ配送装置および放送型通信システム
JP4096670B2 (ja) * 2002-09-19 2008-06-04 富士ゼロックス株式会社 画像再生システム
US7761505B2 (en) 2002-11-18 2010-07-20 Openpeak Inc. System, method and computer program product for concurrent performance of video teleconference and delivery of multimedia presentation and archiving of same
US20040199906A1 (en) * 2003-04-01 2004-10-07 Mcknight Russell F. Systems and methods for saving files having different media types
TW200505240A (en) * 2003-07-24 2005-02-01 Compal Electronics Inc Transmission method of video file
EP1637999A1 (en) * 2004-09-20 2006-03-22 Sap Ag Data transmission apparatus and method having resume data transmission in case of interrupted transmission
DE102007007344A1 (de) * 2007-02-14 2008-08-28 Siemens Ag Verfahren zum Verteilen zumindest eines Datensegments mindestens eines Datenstroms an eine Gruppe von mehreren Nutzern in einem Netzwerk, sowie ein Nutzer und ein System
US20100179865A1 (en) * 2009-01-09 2010-07-15 Qualcomm Incorporated Multimedia content cache
US20140114766A1 (en) * 2012-10-19 2014-04-24 Electronics And Telecommunications Research Institute Apparatus and method for providing advertizing service to plurality of mobile devices

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0491069A1 (en) * 1990-12-18 1992-06-24 International Business Machines Corporation Selective data distribution method using unidirectional broadcast or multicast transmission
US5371532A (en) * 1992-05-15 1994-12-06 Bell Communications Research, Inc. Communications architecture and method for distributing information services
JPH06232234A (ja) * 1993-01-29 1994-08-19 Mitsubishi Electric Corp 光検知素子
CA2127347A1 (en) * 1993-07-07 1995-01-08 Donald F. Hooper Segmented video on-demand system
US5453779A (en) * 1994-03-15 1995-09-26 International Business Machines Corporation Scheduling policies with grouping for providing VCR control functions in a video server
US5461415A (en) * 1994-03-15 1995-10-24 International Business Machines Corporation Look-ahead scheduling to support video-on-demand applications
AU2123995A (en) * 1994-03-18 1995-10-09 Micropolis Corporation On-demand video server system
US5629732A (en) * 1994-03-29 1997-05-13 The Trustees Of Columbia University In The City Of New York Viewer controllable on-demand multimedia service
WO1995032586A1 (en) * 1994-05-23 1995-11-30 Chase Arnold L Selective sequential program control
US5668948A (en) * 1994-09-08 1997-09-16 International Business Machines Corporation Media streamer with control node enabling same isochronous streams to appear simultaneously at output ports or different streams to appear simultaneously at output ports
US5612742A (en) * 1994-10-19 1997-03-18 Imedia Corporation Method and apparatus for encoding and formatting data representing a video program to provide multiple overlapping presentations of the video program
US5512934A (en) * 1994-12-29 1996-04-30 At&T Corp. System and method for transmission of programming on demand
SE508240C2 (sv) * 1994-12-30 1998-09-21 Moelnlycke Ab Inkontinensskydd och metod för framställning av detta
US5682597A (en) * 1995-06-15 1997-10-28 International Business Machines Corporation Hybrid video-on-demand based on a near-video-on-demand system
US5666487A (en) * 1995-06-28 1997-09-09 Bell Atlantic Network Services, Inc. Network providing signals of different formats to a user by multplexing compressed broadband data with data of a different format into MPEG encoded data stream
US5933603A (en) * 1995-10-27 1999-08-03 Emc Corporation Video file server maintaining sliding windows of a video data set in random access memories of stream server computers for immediate video-on-demand service beginning at any specified location

Also Published As

Publication number Publication date
KR19980024119A (ko) 1998-07-06
HK1009017A1 (en) 1999-05-21
KR100269828B1 (ko) 2000-11-01
JPH10116256A (ja) 1998-05-06
GB9718089D0 (en) 1997-10-29
GB2317082B (en) 2001-04-18
GB2317082A (en) 1998-03-11
TW330261B (en) 1998-04-21
CN1101572C (zh) 2003-02-12
US5838912A (en) 1998-11-17

Similar Documents

Publication Publication Date Title
CN1101572C (zh) 用于数字编码演播分配的方法及系统
Vin et al. Designing a multiuser HDTV storage server
CN101764831B (zh) 一种流媒体数据共享方法、共享系统和流媒体节点
CA2547442C (en) Virtual file system
CN1134934C (zh) 用于根据客户特殊请求分发连续媒体内容的系统及方法
US6721850B2 (en) Method of cache replacement for streaming media
CN101039329A (zh) 基于媒体交付的网络电视系统的媒体交付系统
WO2013159703A1 (en) Offline download method, multimedia file download method and system thereof
US20050160137A1 (en) Collapsed distrubuted cooperative memory for interactive and scalale media-on-demand systems
CN1464751A (zh) 对等视频点播系统中的设备和方法
US20030154246A1 (en) Server for storing files
JP2003525486A (ja) 有限要求リオーダを用いるディスク・スケジューリング・システム
JP6478980B2 (ja) キャッシュベースのコンテンツ配信のためのシステム及び方法
CN101068341B (zh) 流媒体调度系统及其媒体文件调度方法
CN111263229A (zh) 一种视频分发方法、装置及电子设备
EP1390840A1 (en) System and method for scheduling the distribution of assets from multiple asset providers to multiple receivers
CN112543354A (zh) 业务感知的分布式视频集群高效伸缩方法和系统
CN1291566C (zh) 基于ip网络数字媒体传送方法
CN1905670A (zh) 基于网格技术的视频点播直播的实现方法和设备
US7113998B1 (en) System and method for grouping recipients of streaming data
JP2013149258A (ja) ポピュラリティによる情報のキャッシュ処理
CN101242520B (zh) 数据分发及缓冲
CN1207904C (zh) 存储和转发广播服务系统以及接收/存储设备
Hua et al. An adaptive video multicast scheme for varying workloads
Jadav et al. Design and evaluation of data access strategies in a high performance multimedia-on-demand server

Legal Events

Date Code Title Description
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C06 Publication
PB01 Publication
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: GOOGLE INC.

Free format text: FORMER OWNER: INTERNATIONAL BUSINESS MACHINES CORP.

Effective date: 20110414

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: NEW YORK, THE USA TO: CALIFORNIA, THE USA

TR01 Transfer of patent right

Effective date of registration: 20110414

Address after: American California

Patentee after: Google Inc.

Address before: American New York

Patentee before: International Business Machines Corp.

CX01 Expiry of patent term

Granted publication date: 20030212

CX01 Expiry of patent term