CN101242520B - 数据分发及缓冲 - Google Patents

数据分发及缓冲 Download PDF

Info

Publication number
CN101242520B
CN101242520B CN2008100026684A CN200810002668A CN101242520B CN 101242520 B CN101242520 B CN 101242520B CN 2008100026684 A CN2008100026684 A CN 2008100026684A CN 200810002668 A CN200810002668 A CN 200810002668A CN 101242520 B CN101242520 B CN 101242520B
Authority
CN
China
Prior art keywords
data
memory devices
devices array
data block
stored
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.)
Active
Application number
CN2008100026684A
Other languages
English (en)
Other versions
CN101242520A (zh
Inventor
迈克尔·A·卡恩
马修·G·萨金特
小弗朗西斯·J·施蒂夫特
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 Technology Holdings LLC
Original Assignee
Broadbus Technologies Inc
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 Broadbus Technologies Inc filed Critical Broadbus Technologies Inc
Publication of CN101242520A publication Critical patent/CN101242520A/zh
Application granted granted Critical
Publication of CN101242520B publication Critical patent/CN101242520B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B21/00Exercising apparatus for developing or strengthening the muscles or joints of the body by working against a counterforce, with or without measuring devices
    • A63B21/40Interfaces with the user related to strength training; Details thereof
    • A63B21/4027Specific exercise interfaces
    • A63B21/4033Handles, pedals, bars or platforms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2801Broadband local area networks
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B2209/00Characteristics of used materials
    • A63B2209/08Characteristics of used materials magnetic
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B2213/00Exercising combined with therapy
    • A63B2213/007Exercising combined with therapy combined with magnetotherapy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biophysics (AREA)
  • Orthopedic Medicine & Surgery (AREA)
  • General Health & Medical Sciences (AREA)
  • Physical Education & Sports Medicine (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明涉及数据分发及缓冲。此处的一种点播服务器系统,包括:存储器控制器,其协调对一个或多个基于闪速的存储器设备的存取。该闪速设备存储大量视频内容,该视频内容可以通过相应的网络,由多个目的地的每一个选择性地点播观看。除了具有对闪速存储器设备阵列的存取权之外,存储器控制器还具有对对应的读取缓冲器及写入缓冲器的存取权。读取缓冲器及写入缓冲器的使用允许存储器控制器在将存储在写入缓冲器中的数据传递到存储器设备阵列、与将存储器设备阵列中的数据传递到读取缓冲器之间进行切换。写入缓冲器存储可以被不同用户选择观看的点播视频内容。读取缓冲器存储当前被流传送到用户的点播视频内容片段。

Description

数据分发及缓冲
背景技术
现有技术已经使得更快并且更高效地为点播有线网络的订户传送信息成为可能。例如,在有线网络空间中,目前,数字有线电视为订户提供许多频道,用于接收在相应的电视上点播重放的不同类型的流数据内容。
根据现有的有线电视技术,相应订户有时在他们的家庭中具有通常所说的机顶盒设备,其接收由对应的有线电视公司所管理的服务器发射的编码数字信息。相应机顶盒在接收到编码数字信息时,执行用于重放用途的解码功能。一旦经过解码,在观看者家庭中的相应机顶盒采用从选定频道中得到的解码数据的合适“栅格化”信号来驱动对应的电视系统。因此,电视观看者能够观看由有线电视公司发射并由对应机顶盒接收的对应电视节目。
通常,对应的有线电视公司保持或具有对信息库的存取权,该信息可以被分发到对应的目标机顶盒。因此,订户可以从信息库中选择条目,以在家庭环境中观看。
发明内容
一种用于自有线电视公司所管理的相应服务器提供内容的解决方案涉及将内容临时存储在一个或多个RAM(例如,随机存取存储器)类型的存储器设备中。当这样使用时,诸如整个电影的内容可以存储在RAM中,用于分发到启动点播观看电影的一个或多个订户。
与如上所述的临时存储全部内容(例如,从开始到结束的若干电影)以分发到相应订户的现有存储器(例如RAM)使用相关联的一个缺点是,与基于RAM的存储器设备相关联的成本。例如,考虑到被配置为分发大量内容(例如,很多不同的电影)的服务器将需要巨大数量的基于RAM的存储器设备,以具有为很多不同订户提供很多不同类型电影的能力。
对使用基于RAM的存储器的可能替代方案是将内容存储在基于磁盘的存储器设备中。由于从基于磁盘的存储器设备中提供(例如,流传送)内容可能是慢的并由此不能提供真正的点播(on-demand)体验,其中,多个用户中的每一个可以控制对来自远程服务器的内容的接收,所以该解决方案是不可接受的。
下面的公开内容包括用于处理及分发内容的若干有用实施例。例如,此处的一个实施例包括允许相对高带宽的接口,以经由相应数据处理系统的一部分,快速地(相对于磁盘)从一个或多个闪速设备中检索数据,该相应数据处理系统的一部分实现长的数据猝发,而该数据处理系统的其它部分管理较短的数据猝发。
例如,根据将在下面详细描述的一般实施例,此处的系统包括存储器控制器,其协调对一个或多个基于闪速的存储器设备的存取。在这种实施例中,存储器控制器除了具有闪速存储器设备阵列之外,还具有对应的读取缓冲器以及写入缓冲器。读取缓冲器及写入缓冲器的使用允许存储器控制器在将存储在写入缓冲器的数据切换到存储器设备阵列、以及将存储器设备阵列中的数据传递到读取缓冲器之间进行切换。
在具体实施例中,存储在写入缓冲器中的数据是视频内容,例如存储在存储器设备阵列中用于基于点播分发给订户的电影。读取缓冲器可以被配置为包括一个或多个基于RAM的存储器设备,其存储从存储器设备阵列中检索到的数据片段(例如,视频内容的一部分)。因此,不同于直接分发来自存储器设备阵列的数据,存储器控制器按照从读取缓冲器(例如,高速缓冲存储器)流传送数据来分发视频内容。在接收到提供当前不在读取缓冲器中的视频内容分段(section)的命令时,存储器控制器启动对用于随后片段的闪速存储器设备阵列的存取。存储器控制器重复从读取缓冲器流传送数据并更新读取缓冲器内容的这个过程,直到相应服务器全部分发了所请求的内容,或者相应订户发出用于停止流传送对应内容的命令。
在一个实施例中,该内容包括用于导航用途的嵌入式指针。例如,存储在写入缓冲器、闪速存储器设备阵列、及读取缓冲器中的内容中的指针指向前进及后退到内容中的不同位置。观看流传送的视频内容的用户可以从相应的机顶盒发出命令,例如播放、快速前进、暂停、倒回等。在相应服务器处管理视频内容流传送的处理器,基于对与流传送的内容相关联的导航指针的使用,依照发出的命令来导航及分发内容的不同部分。换句话说,在服务器处的过程根据用户命令的接收,使用不同的导航指针来流传送内容的不同部分。
这里的技术同样适用于例如这样的应用:该应用为多个点播订户生成并分发诸如实况数据流或预先记录的数据流的可导航数据流。然而,应注意,在此,这些配置不限于在这种应用中使用,并由此,这里的配置及其变形同样适用于其它应用。
除了经由诸如逻辑电路、缓冲器、寄存器等的离散硬件组件来潜在实现之外,这里的其它实施例可以包括诸如计算机化设备(例如,计算机处理器系统、主机计算机、个人计算机、工作站等)的硬件平台,该硬件平台被配置为支持管理内容的存储及分发的前述技术。在这种实施例中,计算机化设备包括存储器系统、处理器(例如,处理设备)、以及相应的互连。互连将处理器耦合到存储器系统。采用应用程序(例如,软件代码)来编码存储器系统,当该应用程序在处理器上执行时,允许对内容的管理及分发。
在此公开的本申请的其它实施例还包括软件程序,以执行上面所概括并将在下面详细公开的方法实施例及操作。更具体地,这里的实施例包括计算机程序产品(例如,计算机可读介质),其上包括编码的计算机程序逻辑,该计算机程序产品可以在计算机化设备上执行,以如在此说明的来管理内容的存储及分发。计算机程序逻辑,当在带有计算系统的至少一个处理器上执行时,促使处理器来执行在此指示为本公开实施例的操作(例如,方法)。在此进一步公开的这种设置通常被提供为软件、代码和/或其它数据结构,其被设置或编码在计算机可读介质上,该计算机可读介质例如是光学介质(例如,CD-ROM)、软盘、或硬盘、或其它介质,诸如在一个或多个ROM或RAM或PROM芯片中的固件或微代码,或者作为专用集成电路(ASIC)或现场可编程门阵列(FPGA),或者作为在一个或多个模块、共享库中的可下载软件图像等。可以将软件或固件或其它这种配置安装在计算机化设备上,以促使计算机化设备中的一个或多个处理器来执行在此说明的技术。
本申请的一个更具体的实施例针对计算机程序产品,其包括计算机可读介质,该计算机可读介质具有存储在其上的指令,用于根据这里的实施例来支持内容的管理及分发。当指令被相应计算机设备的处理器执行时,促使处理器来执行如下步骤:i)接收对内容流的特定部分的请求;ii)响应于接收请求,启动从闪速存储器设备阵列存取数据块,该数据块包括内容流的特定部分以及内容流的对应相连部分;iii)将所存取的数据块的至少一部分存储在(基于RAM的)读取缓冲器中,用于基于点播流传送到相应的目的地;以及,iv)启动将内容流的特定部分传输到相应目的地。本公开的其它实施例包括软件程序和/或硬件,来执行上面所概括并将在下面详细公开的任何方法实施例步骤及操作。
请注意,本发明内容并没有指定本公开内容或所要求保护的发明的每一个实施例和/或增加的新颖方面。相反,本发明内容只提供了对不同实施例及相对于现有技术的对应新颖点的初步讨论。对于本发明的额外细节和/或可能性视角(变换),读者可以参考本公开的详细描述部分以及对应的附图。
附图说明
根据下面对在附图中所说明的优选实施例更为具体的描述,本申请的前述及其它目标、特征及优势将是显而易见的,其中,在不同视图中,相同的附图标记表示相同的部分。附图没有必要地进行比例缩放,相反,重点放在说明实例实施例、原理及概念上。
图1是根据这里的实施例的实例内容管理器的图示。
图2是根据这里的实施例包括指向将来片段及过去片段的多组指针的实例数据流的图示。
图3是图示说明根据这里的实施例的缓冲流传送内容的实例的图示。
图4是根据这里的实施例的存储器控制器的实例体系结构的图示。
图5是图示说明根据这里的实施例缓冲及分发内容的技术的流程图。
图6和图7组合在一起形成图示说明根据这里的实施例缓冲及分发(distribution)内容的更为具体的技术的流程图。
具体实施方式
下面的公开内容包括几个有用的实施例,其支持对闪速存储器(flash memory)及基于RAM的存储器设备的有效率使用。例如,点播服务器系统在此包括存储器控制器,其协调对一个或多个基于闪速存储器的存储器设备的存取。闪速存储器设备存储大量内容(例如,包括嵌入式指针信息组的视频内容),其可以由多个目的地的每一个通过相应的网络选择性地点播观看。
除了具有对闪速存储器设备阵列的存取权之外,存储器控制器还具有对对应的读取缓冲器及写入缓冲器的存取权。当对应的用户只请求闪速设备中的少量数据时,读取缓冲器能够存储从闪速设备中读出的大量数据。根据这里的实施例高度获得高闪速读取性能的方式是发起大的猝发读取。当流传送数据时,在任何给定时间,对应的处理引擎对闪速设备进行存取并且利用少量的数据。在特定流内,读取存取可以线性地寻址。因此,如果将初始的大猝发的剩余部分存储在较高带宽的读取缓冲器中,那么可以实现最高的可能闪速吞吐量。由于类似的原因,系统不仅可以包括写入缓冲器,如在此进一步所描述的,还可以促进读取/写入交织。
根据这里的实施例的高速缓冲存储器(高速缓冲存储器)对数据进行高速缓存,例如被转发到请求用户的流传送数据。在一个实施例中,写入缓冲器存储点播视频内容,其可以由不同的用户选择来观看。读取缓冲器存储当前流传送给该用户的点播视频内容片段(segment)。
图1是描述根据这里的实施例的通信系统100的实例的图示。在本实例的情况中,通信系统100(例如,内容仓库(content repository)及数据流传送系统)包括:内容管理器105、网络150(例如,共用或专用网络)、仓库180、数据流调节器109、以及用于观看视频信息、收听音频信息等的多个用户域190(例如,诸如用户域190-1,…,用户域190-M的家庭环境)。
在示出的实施例中,内容管理器105包括:主机系统115、存储器控制器120、写入缓冲器122、读取缓冲器124、以及存储器设备145。每个用户域190(例如,诸如个人家庭的订户环境)包括相应的媒体播放器192(例如,诸如电视、计算机系统、音频系统等的媒体播放器192-1,…,媒体播放器192-M)、以及机顶盒194(例如,机顶盒194-1,…,机顶盒194-M)。内容管理器105驻留在相对于用户域190的远程服务器位置处。
根据一个实现方案,与用户域190-1相关联的相应用户(例如,订户)为相应的机顶盒194-1提供一个或多个输入信号196-1(例如,由诸如订户操作的手持无线远程控制设备的设备所生成的导航控制信号),用于控制由相应媒体播放器192-1(例如,电视、视频播放器、音乐播放器等)重放的内容的流传送(例如,视频和/或音频信息)。在这种实现方案中,相应的机顶盒194-1将从相应的订户接收到的输入控制信号196-1通过网络150传送到主机系统115,该主机系统115至少部分地管理将合适的数据提供给用户域190。
根据通过用于给定内容流的网络150、从相应用户域190接收到的命令(例如,开始、停止、快速前进、倒回等),内容管理器105的主机系统115与存储器控制器120进行通信。例如,主机系统115可以向相应的机顶盒194传送待进行流传送内容的标题(或者其它独特的标识符)和/或待进行流传送的对应内容的位置。
如早先所讨论的,存储器控制器120管理从存储器设备145中提取数据的操作,该存储器设备145用于将流临时存储在读取缓冲器124中。存储器控制器120将合适的内容通过网络150转发到观看或记录内容流的相应订户,或者使主机系统115能够通过网络150将合适的内容流传送到观看或记录内容流的相应订户。如果主机系统115尝试检索没有在读取缓冲器124中发现的数据片段(例如,在高速缓冲存储器缺失时的存取结果),那么存储器控制器120启动对存储器设备145的存取,以将请求的片段以及相应内容流的其它片段传递到读取缓冲器124中。在一个实施例中,存储器控制器120可以期望对内容流的新片段的需求,用于存储在读取缓冲器124中(根据检测到主机系统115流传送数据并发射来自存储在读取缓冲器124中的内容范围的末端的数据),以便主机系统115可以为相应的订户提供不中断的观看体验。
因此,每个家庭环境可以包括相对简单的机顶盒194,其允许相应的用户通过网络150向内容管理器105接收(例如,流传送数据)及发射(例如,输入命令)。如图所示,内容管理器105可以是位于中心位置的服务器,其根据用户请求,处理很多异步数据流并将这些异步数据流分发到不同的目的地。
在启动通过网络150向订户流传送内容之前,中心管理器105启动将内容存储在存储器设备145中。例如,仓库180可以包括内容库,例如根据MPEG(运动图像专家组)格式编码的许多电影。仓库180中的内容可以包括或可以不包括导航指针组。如果不包括,那么对于转发到内容管理器105的多个内容流(例如,电影)的每一个,数据流调节器109将导航指针组嵌入到对应的内容片段中,如图2所示。
更具体地,图2是根据这里的实施例,插入到相应的内容流201中的指针组的图示。内容流中的片段可以包括一个或多个不同类型的MPEG帧信息(例如,I帧、B帧、P帧等)。片段可以是一个或多个图像组(例如,GOP)。
诸如插入的导航指针(例如,PS1、PS2等)组的元数据可以包括前进指针(例如,FPT1、FPT2、FPT3等)及后退指针(例如,BPT1、BPT2、BPT3等)。作为实例,从仓库180接收到的内容流201可以初始包括SEG2、SEG3、SEG4、SEG5等等。数据流调节器109产生内容流202,以包括指到内容流其它位置的前进及后退指针。因此,在通过网络150接收到来自观看内容流(201或202)的订户的不同命令时,主机系统115能够执行下述操作:诸如相同内容片段的重复传输(例如,响应接收到暂停命令)、以正常观看速率来流传送内容流片段(例如,根据播放命令)、发射内容流的未来片段(例如,根据接收到快速前进命令)、发射内容流的早先片段(例如,基于接收到倒回(rewind)命令)等等。
因此,内容流202中的前进及后退指针的一个用途是允许相应的用户控制在相应媒体播放器上重放存储在仓库180中的相应数据流的哪部分。例如,插入的前进指针(例如,FPT1、FPT2、FPT3)及后退指针(例如,BPT1、BPT2、BPT3)允许相应的用户以不同的速率来执行诸如快速前进及倒回功能的导航。换句话说,如果订户启动了慢的快速前进速率,那么每片段之间的FPT1提供跳过相应内容流中下一个相连帧的方式。FPT2允许跳过两个片段到随后的片段,并由此提供更快的快速前进速率。FPT3允许跳过10个片段到随后的片段,并由此为订户提供再快一些的快速前进速率。在后两种FPT2和FPT3的情况下,订户可以分别观看内容流202的每第三和第十帧(例如,片段)。请注意,在相应内容流中的后退指针(例如,可以使用BPT向后导航)采用相似的方式。
再次参考图1,数据流调节器109提供内容流202,其包括指到主机系统115的插入的导航指针组。主机系统115接下来启动将内容流202存储到写入缓冲器122中。在检测到存储在写入缓冲器122中的内容流202的一部分(例如,一个或多个片段及对应的指针)超过阈值时,存储器控制器120启动将写入缓冲器中的内容流202的一部分存储到存储器设备145中。
用于启动传递的阈值可以至少部分地基于用于写入存储器设备145的块规模(size)。例如,在一个实施例中,内容管理器105可以包括闪速存储器设备阵列,用于存储内容流202以及其它相似的内容流。存储器设备145的阵列可以需要将指定的数据字节数目写入到存储中。当写入缓冲器122包括多于特定内容流的指定字节数目时,可以将特定内容从写入缓冲器122传递到存储器设备145。
可以将存储在存储器设备145中的内容流202分发给一个或多个订户。假设在本实例的情况中,在环境190-1中的相应用户生成输入196-1(例如,经由远程控制设备的命令),以使与从读取缓冲器124流传送的内容相关联的当前观看点快速前进。数据流管理器105以及更具体地主机设备115,通过网络150接收该命令,并且此后使用(从读取缓冲器124中接收到的)相应内容流中的前进指针用于向前跳,并且通过网络150将来自数据流140中不同位置的数据流传送到用户,如早先所讨论的。如所提到的,前进指针FPT1启用第一快速前进速率,前进指针FPT2启用第二快速前进速率,前进指针FPT3启用第三快速前进速率等等。在一个实施例中,网络150表示诸如互联网、广域网、局域网等网络。因此,数据流管理器105-1用作集中的位置,其管理到诸如环境190的多个不同位置的数据的流传送。
尽管主机系统115可以接收来自读取缓冲器124的内容流202,但是主机系统115可以从内容流202中去除导航指针,并且只将原始的MPEG数据信息发射给用户。在这种实施例中,主机系统115使用如上讨论的导航指针,从而根据从订户接收到的相应命令来流传送合适的内容。
图3是根据这里的实施例,内容存储及分发系统的实例的图示。在该实例实施例中,根据图1的图示,存储器控制器120在将内容从写入缓冲器122传递到闪速存储器设备阵列345及将闪速存储器设备阵列345中的内容传递到读取缓冲器124(例如,高速缓冲存储器)之间进行协调。如在图3中所描述的,可以将读取缓冲器124划分为多个存储区域324(例如,区域324-1,…,区域324-M),用于存储在网络150上通过主机系统115流传送到相应订户的内容的各部分(例如,如上讨论的多个片段,但不是整个电影)。例如,读取缓冲器124的区域324-1可以存储流传送到用户域190-1的内容,读取缓冲器124的区域324-M可以存储流传送到用户域190-M的内容,等等。
存储器控制器120在将早先的片段传输到相应的订户之后,将存储在闪速存储器设备阵列345中的下一个片段组(或者按照前进方向或者按照反方向)传递到区域324中。在一个实施例中,主机系统115生成使用新数据更新区域324的请求,这对于支持将数据连续地流传送给订户是必要的。可选情况下,存储器控制器120可以监测给定区域的流传送数据的当前片段位置,并且在必要时,通过将存储在闪速存储器设备阵列345中的随后内容片段传递到读取缓冲器124的对应区域中,来更新读取缓冲器124中的区域。
因此,这里的实施例支持如下操作:保持闪速存储器设备阵列345,以存储视频数据的一个或多个逻辑分组,该视频数据的一个或多个逻辑分组能够由相应订户按照相连的方式进行重放;分配读取缓冲器124(例如,基于RAM的存储器)的各部分,以存储视频数据的一个或多个逻辑分组的不同对应片段,用于通过网络150流传送到不同的相应目的地;以及,当由主机系统115将读取缓冲器中的当前片段流传送到相应的目的地时,将区域324(例如,基于RAM的存储器的各部分)更新为视频数据的一个或多个逻辑分组的相应新片段。
在一个实施例中,分发系统300包括闪速存储器设备阵列345(例如,基于NAND技术的阵列),其包括:闪速存储器设备380-1、闪速存储器设备380-2、…、闪速存储器设备380-J。闪速存储器设备阵列345可以包括64个DIMM(Dual In-Line Memory Modules)(双重内嵌式内存模块)。每个DIMM在其上可以具有8个(32吉字节)(32Gigabyte)闪速存储器设备。存储器控制器120将内容作为条数据(stripped data)存储在闪速存储器设备阵列345中。
通常,存储器控制器120从闪速存储器设备阵列345中存取数据块(例如,多个字节),而不是存取单一字节。可以将块规模指定为来自每个闪速存储器设备的2千字节(two kilobytes)(即,页面)的数据。假设在闪速存储器设备阵列345中存在512个闪速存储器设备(例如,多个DIMM中每一个DIMM的每个具有64乘8个闪速设备),那么从闪速存储器设备阵列345中的单一存取可以包括超过1兆字节(onemegabyte)的数据。
将这种数据组块(chunk)从闪速存储器设备阵列345传递到读取缓冲器124中的区域324将花费大量的时间,以及需要读取缓冲器124具有非常大的规模,尤其如果读存储124存储用于流传送到很多不同订户的内容。为了减轻一个或两个这些问题,存储器控制器120可以将相应的存取截断为少于整个块。换句话说,可以从闪速存储器设备阵列345的指定地址来执行读取操作,并且该读取操作被提早截断。这允许闪速存储器设备的存储器子系统阵列345同时改善读取数据的粒度,并且通过对从闪速存储器设备阵列345中存取到的数据的整个页面不进行时钟输出,来降低执行读取操作所花费的时间。基于NAND的闪速存储器设备支持读取截断,并且可用在这里描述的一个实施例中。
存储器控制器120可以启动相应的块存取,并且将用于从闪速存储器设备阵列345中读取数据的猝发规模设定为25%。在块存取的块读取阶段期间,在闪速存储器设备阵列345中的数据是可用(例如,可以从存储器设备的对应感测放大器中读取)之后,存储器控制器120仅仅存取可用数据块的一部分(例如,在该实例中为25%)。因此,在本实例的情况中,存储器控制器120将不存取来自闪速存储器设备阵列345中每个闪速存储器设备的2千字节的可用数据。相反,存储器控制器120将只存取并传递每闪速存储器设备的2千字节的四分之一(例如,512字节),用于传递到读取缓冲器124中的合适区域。基于将猝发规模设定为25%,存储器控制器120传递来自闪速存储器设备阵列345的可用的1兆字节的四分之一(例如,按照512个闪速存储器设备进行条划分(striped))。因此,这里的实施例可以包括:启动从闪速存储器设备阵列345中读取数据块;在数据块可用于从存储器设备阵列中检索之后,将读取截断为仅仅检索数据块的一部分,而不是检索全部数据块;以及,将检索到的数据块的一部分存储在读取缓冲器124的区域324中,该区域被分配用于将数据块的一部分基于点播流传送到相应的订户目的地。在此描述的过程限制了整体存储子系统的吞吐量,但是允许设计成为切实可行的。在缓冲器规模及整体吞吐量之间进行折中。
将内容写入闪速存储器设备阵列345可以需要擦除旧数据,并且此后将新数据写入闪速存储器设备阵列345。在允许将数据从存储器设备阵列345传递到读取缓冲器124与将数据从写入缓冲器122传递到闪速存储器设备阵列345之间,存储器控制器120可以允许修改模式,其中可以修改存储在闪速存储器设备阵列345中的数据。例如,存储器控制器120可以接收待存储在存储器设备阵列345指定位置的数据的新页面。响应于接收到新页面,存储器控制器120检索包括当前页面的相连页面的范围,该当前页面存储在存储器设备阵列中的、将被新页面改写的位置。在本地缓冲器中,存储器控制器120将检索到的多个页面范围中的当前页面替换为新页面。存储器控制器120启动擦除先前检索到的相连页面范围的范围。在擦除之后,并且在修改模式时,存储器控制器120启动存储多个检索到的页面,但是写入到指定位置的页面除外。在该实例中,将新页面而不是旧页面写入到指定位置。
因此,这里的实施例通过将数据的若干页面写入到64个页面的块内并且不丢失数据的其它页面,来支持对闪速存储器中数据的有效率的修改。例如,根据如上讨论的实施例,存储器控制器120可以将64个页面读入到缓冲区中,擦除存取到的64个页面的块,并且将任何新页面与旧页面组合,用于将块写回到闪速存储器设备阵列345中。
图4是图示说明根据这里的实施例,用于实现一个或多个处理功能(例如,存储器控制器处理功能)的样本体系结构的图示。例如,如图所示,可以在相应的计算机系统中实现内容管理器105,该计算机系统包括处理器313以及对应的软件代码(例如,存储器控制器应用程序120-2),以执行在本文件中讨论的实施例。如早先所讨论的,并且作为对图4中示出的实施例的替代,可以经由诸如逻辑门、缓冲器等硬件组件、或者合适硬件及合适软件资源这两种类型的组合,来实现存储器控制器120及内容管理器105。
如图4所示,本实例的内容管理器105(例如,计算机系统)包括互连311,其耦合存储器系统312、处理器313、输入/输出接口314。输入/输出接口314允许(enable)内容管理器105存取写入缓冲器122、存储器设备145、读取缓冲器124、以及主机系统115,以及/或者与写入缓冲器122、存储器设备145、读取缓冲器124、以及主机系统115进行通信。
采用存储器控制器应用程序120-1来编码存储器系统312,存储器控制器应用程序120-1支持协调在写入缓冲器122与存储器设备145之间的数据传递、存储器设备145与读取缓冲器124之间的数据传递,并且与主机系统115进行通信的功能。存储器控制器应用程序120-1可以实施为软件代码,例如,支持根据在此描述不同实施例的处理功能的数据和/或逻辑指令(例如,存储在存储器中或者诸如磁盘的其他计算机可读介质的代码)。在操作期间,处理器313经由互连311对存储器系统312进行存取,以便开动(launch)、运行、执行、解释或另外执行存储器控制器应用程序120-1的逻辑指令。存储器控制器应用程序120-1的执行产生了存储器控制器过程120-2中的处理功能。换句话说,存储器控制器过程120-2表示如在图1中所讨论的存储器控制器的一个或多个部分。
应注意,在图4的示出的计算机系统中执行的存储器控制器应用程序120-1可以表示为存储器控制器应用程序120-1和/或存储器控制器过程120-2中的一个或两个。为了该讨论的目的,将一般性的提及存储器控制器120,作为执行或支持多种步骤及功能操作,以实行在此讨论的技术。
还应注意,这里的实例配置包括存储器控制器应用程序120-1本身(即,未执行或未进行的逻辑指令和/或数据)。存储器控制器应用程序120-1可以存储在计算机可读介质(诸如软盘)、硬盘或光学介质上。存储器控制器应用程序120-1还可以存储在存储器系统312中,例如以固件、只读存储器(ROM)的形式,或者如在该实例中,作为在例如随机存取存储器(RAM)中可执行的代码。除了这些实施例之外,还应了解,这里的其它实施例包括在处理器313中执行存储器控制器应用程序120-1,作为存储器控制器过程120-2。因此,本领域的技术人员应了解,数据通信设备可以包括其它过程和/或软件和硬件组件,用于执行在此描述的功能。
图5是图示说明根据这里的实施例,使用闪速存储器或其它类型的存储器设备145来促进内容分发的技术的流程图。请注意,将关于图1-4中的如上所讨的实施例来描述图5。此外,如上所述,请注意,可以使用硬件和/或软件来实现存储器控制器120以及相关功能。
在步骤510中,存储器控制器120接收对诸如内容流202的内容流的特定部分的请求。
在步骤520中,响应于接收该请求,存储器控制器120启动从存储器设备145(例如,闪速存储器设备阵列)存取数据块(例如,多个数据字节)。由存储器控制器120所存取的数据块可以包括由主机系统115请求的内容流202的特定部分,以及该内容流的对应相连部分。换句话说,主机系统115可以请求存储器设备145中内容流202的片段SEG100。响应于该请求,存储器控制器120可以启动从存储器设备145中存取数据块,包括SEG100到SEG150,尽管主机系统115请求仅对SEG100进行检索,用于存储在读取缓冲器122中以及通过网络150在未来传输到对应的订户。
在步骤530,存储器控制器120将所有(例如,SEG100到SEG150)或者一部分(例如,如果发生存取被截断,那么是25%)存取到的数据块(例如,SEG100到SEG112)存储在读取缓冲器124中,用于基于点播流传送到相应的目的地,例如用户域190-1处的订户。在步骤540中,存储器控制器120启动通过主机系统115将由请求所指定的内容流的特定部分传输到相应订户目的地。
图6和图7组合在一起形成根据这里的实施例的协调数据传递及数据分发的技术的流程图600(例如,流程图600-1以及流程图600-2)。
在图6中流程图600-1的步骤610中,存储器控制器120接收来自主机系统115对内容流的特定部分的请求,该内容流例如是存储在存储器设备145中的内容流202。可以响应于订户将命令发送到主机系统115以观看内容流,而发生来自主机系统115的请求。在一个实施例中,订户从存储在存储器设备145中的内容列表中选择内容流(例如,电影)。
在步骤615,响应于接收第一请求,存储器控制器120启动从(基于闪速的阵列)存储器设备145存取数据块(例如,多个数据字节)。被存取的数据块包括由存储器控制器120所请求的内容流的特定部分,以及从主机系统115转发以被订户观看的内容流的对应相连(contiguous)部分。
在与步骤615相关联的子步骤620中,存储器控制器120启动从闪速存储器设备阵列145读取数据块。
在与步骤615相关联的子步骤625中,在数据块可用于从存储器设备145中检索之后,存储器控制器截断从存储器设备145的相应数据读取,以检索数据块的一部分(例如,数据块的25%),而不是检索来自存储器设备145的所有数据块。换句话说,如上所述,存储器控制器120可以向存储器设备请求比存储器控制器120实际传递到读取缓冲器124中的更大的数据块。这可能要求增加的存取数目,以将存储器设备145中的数据传递到读取缓冲器124。然而,传递及存储读取缓冲器124中较小部分的数据降低了必须用来实现读取缓冲器124的基于RAM的存储器的量。
在步骤630中,存储器控制器120将从存储器设备145存取的数据块的至少一部分存储在读取缓冲器124中,用于基于点播流传送到诸如用户域190的相应的目的地。
在步骤635中,存储器控制器120启动通过主机系统115将由该请求所指定的内容流特定部分传输到相应订户目的地。
在步骤640中,存储器控制器120接收对内容流202的不同或其它部分的其他请求(例如,第二请求)。
在步骤645中,存储器控制器120启动从读取缓冲器向主机系统115传输新近请求的一部分内容。在这种情况下,由于读取缓冲器124恰巧当前存储了由主机系统115所请求的内容片段,所以发生高速缓冲存储器一致(hit)(例如,读取缓冲器124是高速缓冲存储器)。
在步骤650,如上所述,在允许将数据从存储器设备145移动到读取缓冲器124的传递操作的同时,存储器控制器120还保持写入缓冲器122,用于临时存储用于最终存储在存储器设备阵列145中的接收数据。
在步骤655中,响应于检测到在写入缓冲器122中接收数据超过阈值,存储器控制器120:i)禁止从存储器设备阵列145到读取缓冲器124的数据存取(传递),ii)启动将存储在写入缓冲器124中的接收数据(包括或排除导航指针组)传递到存储器设备阵列145,iii)在传递期间,允许将一个或多个内容流从读取缓冲器124向相应目的地的流传送,以便订户可以观看不中断的电影,以及iv)在传递之后,重新允许将存储在存储器设备阵列145中的数据向读取缓冲器124的传递。
如所讨论的,这里的技术同样适用于诸如分发存储在基于闪速存储器的存储器设备中的内容的应用。然而,应注意,这里的配置不限于在这种应用中使用,并由此,这里的配置及其变形同样适用于其它应用。
尽管参考其优选实施例具体地示出并描述了本发明,但是本领域的技术人员应了解,在不背离由所附权利要求所限定的本发明主旨及范围的情况下,其中可以进行形式及细节的各种变化。这种变化意图包括在本发明的范围之内。同样,本发明实施例的在先描述并不意图是限制性的。更确切地,在如下的权利要求中提出对本发明实施例的任何限制。

Claims (18)

1.一种用于分发和缓冲数据的方法,包括:
接收对内容流的特定部分的第一请求;
响应于接收所述第一请求,启动从存储器设备阵列存取数据块,所述数据块包括所述内容流的所述特定部分以及所述内容流的对应相连部分,其中启动从所述存储器设备阵列存取数据块包括:从所述存储器设备阵列中检索所述内容流的对应相连部分;
将所述被存取的数据块的至少一部分存储在读取缓冲器中,用于基于点播流传送到相应目的地,其中存储至少一部分所述数据块包括:将从所述存储器设备阵列中检索到的所述内容流的对应相连部分存储在所述读取缓冲器中;以及
启动将所述内容流的所述特定部分传输到所述相应目的地;
接收对所述内容流的不同部分的第二请求;以及
启动从所述读取缓冲器传输所述内容流的不同部分,所述内容流的所述不同部分包括在存储在所述读取缓冲器中的所述数据块的所述一部分中。
2.根据权利要求1所述的方法,其中,启动从所述存储器设备阵列中存取数据块包括:
启动从所述存储器设备阵列读取所述数据块;
在所述数据块可用于从所述存储器设备阵列中检索之后,截断相应的读取,以检索所述数据块的一部分,而不是检索所有的所述数据块;以及
将所述数据块的所述一部分存储在所述读取缓冲器中。
3.根据权利要求1所述的方法,其中,启动从所述存储器设备阵列存取所述数据块包括:
启动从所述存储器设备阵列中读取所述数据块;
在所述数据块可用于从所述存储器设备阵列中检索之后,截断所述读取,以检索所述数据块的一部分,而不是检索所有的所述数据块;以及
将所述数据块的所述一部分存储在所述读取缓冲器的下述区域中:该区域被分配用于将所述数据块的所述一部分基于点播流传送到所述相应目的地。
4.根据权利要求1所述的方法,进一步包括:
在允许将数据从所述存储器设备阵列传递到所述读取缓冲器的同时,保持写入缓冲器,用于临时地存储用于最终存储在所述存储器设备阵列中的接收数据;以及
响应于检测到所述接收数据超过阈值:
i)禁止将数据从所述存储器设备阵列存取到所述读取缓冲器;
ii)启动将存储在所述写入缓冲器中的所述接收数据传递到所述存储器设备阵列;
iii)在所述传递期间,将所述读取缓冲器中的所述内容流的所述特定部分流传送到所述相应目的地,以及
iv)在所述传递之后,重新允许将存储在所述存储器设备阵列中的数据传递到所述读取缓冲器。
5.根据权利要求1所述的方法,进一步包括:
在允许将数据从所述存储器设备阵列传递到所述读取缓冲器之间,允许修改模式,在该修改模式中可以修改存储在所述存储器设备阵列中的所述数据;
接收要存储在所述存储器设备阵列的相应位置处的数据的新页面;
检索多个页面的范围,该多个页面包括存储在所述存储器设备阵列的所述位置处的当前页面;
将所述检索到的多个页面范围内的所述当前页面替换为所述新页面;以及
在所述修改模式期间,启动将包括所述新页面的所述多个页面存储到所述存储器设备阵列,以便将所述新页面存储在所述存储器设备阵列的所述相应位置处。
6.根据权利要求5所述的方法,其中,启动将包括所述新页面的多个页面存储到所述存储器设备阵列包括:从所述存储器设备阵列中擦除包括所述当前页面的所述多个页面。
7.根据权利要求1所述的方法,其中,启动存取数据块包括:对闪速存储器设备阵列进行存取,该闪速存储器设备支持对存储数据的多个字节进行块存取。
8.根据权利要求7所述的方法,其中,存储所述被存取的数据块的至少一部分包括:将所述被存取的数据块的所述一部分存储到所述读取缓冲器,其中所述读取缓冲器包括基于RAM(随机存取存储器)的存储器中。
9.根据权利要求8所述的方法,进一步包括:
保持所述闪速存储器设备阵列,以存储能够以相连方式重放的视频数据的至少一个逻辑分组;以及
分配所述基于RAM的存储器的各部分,以存储所述视频数据的所述至少一个逻辑分组的不同对应片段,用于通过网络流传送到不同的相应目的地;以及
当所述不同的对应片段被流传送到所述相应的目的地时,将所述基于RAM的存储器的所述各部分更新为视频数据的至少一个逻辑分组的相应新片段。
10.一种用于分发和缓冲数据的设备,所述设备包括:
用于接收对内容流的特定部分的第一请求的装置;
用于响应于接收所述第一请求,启动从存储器设备阵列存取数据块的装置,所述数据块包括所述内容流的所述特定部分以及所述内容流的对应相连部分,其中用于启动从所述存储器设备阵列存取数据块的装置包括:用于从所述存储器设备阵列中检索所述内容流的对应相连部分的装置;
用于将所述被存取的数据块的至少一部分存储在读取缓冲器中,用于基于点播流传送到相应目的地的装置,其中用于存储至少一部分所述数据块的装置包括:用于将从所述存储器设备阵列中检索到的所述内容流的对应相连部分存储在所述读取缓冲器中的装置;
用于启动将所述内容流的所述特定部分传输到所述相应目的地的装置;
用于接收对所述内容流的不同部分的第二请求的装置;以及
用于启动从所述读取缓冲器传输所述内容流的不同部分的装置,所述内容流的所述不同部分包括在存储在所述读取缓冲器中的所述数据块的所述一部分中。
11.根据权利要求10所述的设备,其中,用于启动从所述存储器设备阵列中存取数据块的装置包括:
用于启动从所述存储器设备阵列读取所述数据块的装置;
用于在所述数据块可用于从所述存储器设备阵列中检索之后,截断相应的读取,以检索所述数据块的一部分,而不是检索所有的所述数据块的装置;以及
用于将所述数据块的所述一部分存储在所述读取缓冲器中的装置。
12.根据权利要求10所述的设备,其中,用于启动从所述存储器设备阵列存取所述数据块的装置包括:
用于启动从所述存储器设备阵列中读取所述数据块的装置;
用于在所述数据块可用于从所述存储器设备阵列中检索之后,截断所述读取,以检索所述数据块的一部分,而不是检索所有的所述数据块的装置;以及
用于将所述数据块的所述一部分存储在所述读取缓冲器的下述区域中的装置:该区域被分配用于将所述数据块的所述一部分基于点播流传送到所述相应目的地。
13.根据权利要求10所述的设备,进一步包括:
用于在允许将数据从所述存储器设备阵列传递到所述读取缓冲器的同时,保持写入缓冲器,用于临时地存储用于最终存储在所述存储器设备阵列中的接收数据的装置;以及
用于响应于检测到所述接收数据超过阈值进行以下的装置:
i)禁止将数据从所述存储器设备阵列存取到所述读取缓冲器;
ii)启动将存储在所述写入缓冲器中的所述接收数据传递到所述存储器设备阵列;
iii)在所述传递期间,将所述读取缓冲器中的所述内容流的所述特定部分流传送到所述相应目的地,以及
iv)在所述传递之后,重新允许将存储在所述存储器设备阵列中的数据传递到所述读取缓冲器。
14.根据权利要求10所述的设备,进一步包括:
用于在允许将数据从所述存储器设备阵列传递到所述读取缓冲器之间,允许修改模式的装置,在该修改模式中可以修改存储在所述存储器设备阵列中的所述数据;
用于接收要存储在所述存储器设备阵列的相应位置处的数据的新页面的装置;
用于检索多个页面的范围的装置,该多个页面包括存储在所述存储器设备阵列的所述位置处的当前页面;
用于将所述检索到的多个页面范围内的所述当前页面替换为所述新页面的装置;以及
用于在所述修改模式期间,启动将包括所述新页面的所述多个页面存储到所述存储器设备阵列,以便将所述新页面存储在所述存储器设备阵列的所述相应位置处的装置。
15.根据权利要求14所述的设备,其中,用于启动将包括所述新页面的多个页面存储到所述存储器设备阵列的装置包括:用于从所述存储器设备阵列中擦除包括所述当前页面的所述多个页面的装置。
16.根据权利要求10所述的设备,其中,用于启动存取数据块的装置包括:用于对闪速存储器设备阵列进行存取的装置,该闪速存储器设备支持对存储数据的多个字节进行块存取。
17.根据权利要求16所述的设备,其中,用于存储所述被存取的数据块的至少一部分的装置包括:用于将所述被存取的数据块的所述一部分存储到基于RAM(随机存取存储器)的存储器中的装置。
18.根据权利要求17所述的设备,进一步包括:
用于保持所述闪速存储器设备阵列,以存储能够以相连方式重放的视频数据的至少一个逻辑分组的装置;以及
用于分配所述基于RAM的存储器的各部分,以存储所述视频数据的至少一个逻辑分组的不同对应片段,用于通过网络流传送到不同的相应目的地的装置;以及
用于当所述不同的对应片段被流传送到所述相应的目的地时,将所述基于RAM的存储器的所述各部分更新为视频数据的至少一个逻辑分组的相应新片段的装置。
CN2008100026684A 2007-01-12 2008-01-14 数据分发及缓冲 Active CN101242520B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/652,924 US7924456B1 (en) 2007-01-12 2007-01-12 Data distribution and buffering
US11/652,924 2007-01-12

Publications (2)

Publication Number Publication Date
CN101242520A CN101242520A (zh) 2008-08-13
CN101242520B true CN101242520B (zh) 2012-04-04

Family

ID=39531035

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008100026684A Active CN101242520B (zh) 2007-01-12 2008-01-14 数据分发及缓冲

Country Status (5)

Country Link
US (1) US7924456B1 (zh)
JP (1) JP4754585B2 (zh)
KR (1) KR101121479B1 (zh)
CN (1) CN101242520B (zh)
DE (1) DE102008003894B4 (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9247286B2 (en) 2009-12-31 2016-01-26 Broadcom Corporation Frame formatting supporting mixed two and three dimensional video data communication
US20110157322A1 (en) 2009-12-31 2011-06-30 Broadcom Corporation Controlling a pixel array to support an adaptable light manipulator
CN102136289B (zh) * 2010-12-30 2013-03-13 华为技术有限公司 一种媒体内容的存储方法、读取方法、装置和系统
CN102130960B (zh) 2011-03-23 2013-10-09 华为技术有限公司 一种媒体流化的方法和媒体控制器
US8762452B2 (en) * 2011-12-19 2014-06-24 Ericsson Television Inc. Virtualization in adaptive stream creation and delivery
CN102547385A (zh) * 2011-12-29 2012-07-04 深圳市同洲视讯传媒有限公司 一种分布式推流的方法、装置及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1208307A (zh) * 1994-04-22 1999-02-17 汤姆森消费电子有限公司 具有存储器地址电路的反向传输处理器
US6067108A (en) * 1996-12-12 2000-05-23 Trw Inc. Solid-state mass storage data stream generator
CN1345146A (zh) * 2001-11-06 2002-04-17 四川大学 流式播放视频服务器系统
CN1370008A (zh) * 2001-02-13 2002-09-18 中广大正信息科技有限公司 在有线电视单向网上实现视频随选点播的芯片

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6138147A (en) * 1995-07-14 2000-10-24 Oracle Corporation Method and apparatus for implementing seamless playback of continuous media feeds
JP3173418B2 (ja) 1997-04-18 2001-06-04 日本電気株式会社 ストリーム再生制御方式及びプログラムを記録した機械読み取り可能な記録媒体
JP3396639B2 (ja) * 1998-09-30 2003-04-14 株式会社東芝 階層記憶装置及び階層記憶制御方法
KR100746842B1 (ko) * 1999-03-23 2007-08-09 코닌클리케 필립스 일렉트로닉스 엔.브이. 멀티미디어 서버
US6785704B1 (en) 1999-12-20 2004-08-31 Fastforward Networks Content distribution system for operation over an internetwork including content peering arrangements
US7096481B1 (en) 2000-01-04 2006-08-22 Emc Corporation Preparation of metadata for splicing of encoded MPEG video and audio
US20020178330A1 (en) 2001-04-19 2002-11-28 Schlowsky-Fischer Mark Harold Systems and methods for applying a quality metric to caching and streaming of multimedia files over a network
ATE361632T1 (de) * 2001-08-10 2007-05-15 Broadbus Technologies Inc Verfahren und gerät zur voraufgezeichneten und direkten wiedergabe von auf einem server gespeicherter arbeiten
JP2003060638A (ja) * 2001-08-15 2003-02-28 Sony Corp コンテンツ提供装置及びコンテンツ提供方法
US20030095783A1 (en) * 2001-11-21 2003-05-22 Broadbus Technologies, Inc. Methods and apparatus for generating multiple network streams from a large scale memory buffer
JP3676330B2 (ja) 2002-08-09 2005-07-27 エヌ・ティ・ティ・コムウェア株式会社 コンテンツ配信サーバ及びコンテンツ配信方法ならびにプログラム
US7809252B2 (en) 2003-04-09 2010-10-05 Corel Inc. Systems and methods for caching multimedia data
JP2006285809A (ja) * 2005-04-04 2006-10-19 Hitachi Ltd ストリーミング向け性能保証を行うストレージ装置
EP1883240B1 (en) * 2005-05-18 2014-04-02 Nippon Telegraph And Telephone Corporation Distributed multi-media server system, multi-media information distribution method, program thereof, and recording medium

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1208307A (zh) * 1994-04-22 1999-02-17 汤姆森消费电子有限公司 具有存储器地址电路的反向传输处理器
US6067108A (en) * 1996-12-12 2000-05-23 Trw Inc. Solid-state mass storage data stream generator
CN1370008A (zh) * 2001-02-13 2002-09-18 中广大正信息科技有限公司 在有线电视单向网上实现视频随选点播的芯片
CN1345146A (zh) * 2001-11-06 2002-04-17 四川大学 流式播放视频服务器系统

Also Published As

Publication number Publication date
DE102008003894B4 (de) 2021-07-29
DE102008003894A1 (de) 2008-07-24
US7924456B1 (en) 2011-04-12
CN101242520A (zh) 2008-08-13
KR20080066625A (ko) 2008-07-16
KR101121479B1 (ko) 2012-02-28
JP2008234629A (ja) 2008-10-02
JP4754585B2 (ja) 2011-08-24

Similar Documents

Publication Publication Date Title
US8364892B2 (en) Asynchronous and distributed storage of data
CA2195431C (en) Multiple user data storage, retrieval and distribution system
US8799535B2 (en) Storage of data utilizing scheduling queue locations associated with different data rates
CA2841216C (en) Modular storage server architecture with dynamic data management
CN101242520B (zh) 数据分发及缓冲
CN101027668B (zh) 基于块映射表缓冲存储和虚拟文件系统的可堆叠文件系统模块的分布式存储结构
US6209024B1 (en) Method and apparatus for accessing an array of data storage devices by selectively assigning users to groups of users
CN1596404A (zh) 交互式宽带服务器系统
KR102274466B1 (ko) 실시간 캐싱 기법을 이용한 동영상 스트리밍 방법 및 그 시스템
CN1134982C (zh) 响应于媒体请求将mpeg流传递到媒体客户的系统和方法
US20240048792A1 (en) System and method for storing multimedia files using an archive file format
TW571594B (en) Methods for providing video-on-demand services for broadcasting systems
EP2064884A2 (en) A method and an apparatus for data streaming
KR20030092105A (ko) 프리페치 데이터 전송을 사용하는 주문형 데이터 디지털방송 시스템
TWI244869B (en) Data-on-demand digital broadcast system utilizing prefetch data transmission
TWI223563B (en) Methods and systems for transmitting delayed access client generic data-on-demand services
Jeong et al. An SSD‐Based Storage System for an Interactive Media Server Using Video Frame Grouping
EP2243288A2 (en) Asynchronous and distributed storage of data

Legal Events

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

Owner name: MOTOROLA MOBILITY LLC

Free format text: FORMER OWNER: GENERAL INSTRUMENT HOLDING CO., LTD.

Effective date: 20130927

Owner name: GENERAL INSTRUMENT CO.

Free format text: FORMER OWNER: BROADBUS TECHNOLOGIES INC.

Effective date: 20130927

Owner name: GENERAL INSTRUMENT HOLDING CO., LTD.

Free format text: FORMER OWNER: GENERAL INSTRUMENT CO.

Effective date: 20130927

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20130927

Address after: Illinois State

Patentee after: MOTOROLA MOBILITY LLC

Address before: California, USA

Patentee before: General instrument Holdings Ltd.

Effective date of registration: 20130927

Address after: California, USA

Patentee after: General instrument Holdings Ltd.

Address before: American Pennsylvania

Patentee before: GENERAL INSTRUMENT Corp.

Effective date of registration: 20130927

Address after: American Pennsylvania

Patentee after: GENERAL INSTRUMENT Corp.

Address before: Massachusetts, USA

Patentee before: Broadbus Technologies, Inc.

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20160705

Address after: California, USA

Patentee after: Google Technology Holdings LLC

Address before: Illinois

Patentee before: MOTOROLA MOBILITY LLC