CN100430915C - 交互式宽带服务器系统及内容引擎 - Google Patents

交互式宽带服务器系统及内容引擎 Download PDF

Info

Publication number
CN100430915C
CN100430915C CNB028237307A CN02823730A CN100430915C CN 100430915 C CN100430915 C CN 100430915C CN B028237307 A CNB028237307 A CN B028237307A CN 02823730 A CN02823730 A CN 02823730A CN 100430915 C CN100430915 C CN 100430915C
Authority
CN
China
Prior art keywords
title
processor
server system
broadband server
interactive broadband
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CNB028237307A
Other languages
English (en)
Other versions
CN1596404A (zh
Inventor
斯蒂文·W.·罗斯
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.)
PANGRAC AND ASSOCIATES DEV Inc
Original Assignee
PANGRAC AND ASSOCIATES DEV 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 PANGRAC AND ASSOCIATES DEV Inc filed Critical PANGRAC AND ASSOCIATES DEV Inc
Publication of CN1596404A publication Critical patent/CN1596404A/zh
Application granted granted Critical
Publication of CN100430915C publication Critical patent/CN100430915C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • 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/17318Direct or substantially direct transmission and handling of requests
    • 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/1066Session management
    • H04L65/1101Session protocols
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1019Random or heuristic server selection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • 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/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/21815Source of audio or video content, e.g. local disk arrays comprising local storage units
    • H04N21/2182Source of audio or video content, e.g. local disk arrays comprising local storage units involving memory arrays, e.g. RAID disk arrays
    • 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/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/21815Source of audio or video content, e.g. local disk arrays comprising local storage units
    • H04N21/21825Source of audio or video content, e.g. local disk arrays comprising local storage units involving removable storage units, e.g. tertiary storage such as magnetic tapes or optical disks
    • 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/2312Data placement on disk arrays
    • H04N21/2318Data placement on disk arrays using striping
    • 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/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2405Monitoring of the internal components or processes of the server, e.g. server load
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/10015Access to distributed or replicated servers, e.g. using brokers

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Information Transfer Between Computers (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

一种交互式宽带服务器系统109包括多个处理器205、主干交换机203、多个存储设备207和多个用户处理503。该主干交换机允许在该处理器之间进行高速通信。该存储设备被分配在该处理器上,以存储标题,每个标题被分为在该存储设备上分配的数据块513。该用户处理被配置为在与多个用户位置105相接的处理器上执行。每个用户处理通过主干交换机从两个或更多的处理器检索被请求的标题,并且组合被请求的标题,用于传送到一个请求用户位置。该存储设备可以被组织为RAID组401,分配的介质读取器219和库存储系统201可以被包含在内。多个同步的标题可以被同时传送到下游用户。该标题可以被预处理并且以预定格式存储,以减小装载和处理的开销。

Description

交互式宽带服务器系统及内容引擎
对相关申请的交叉引用
本申请基于在2001年11月28日提交的序号为No.60/333,856的名称为“交互式宽带服务器系统”的美国临时专利申请,其内容通过引用的方式被包含于此。
技术领域
本发明还涉及交互式宽带服务器系统,并且更加具体涉及这样交互式宽带服务器系统,其能够传递包括大量同步数据流这样可以用于提供视频点播(VOD)服务的不同种类的数据和服务。
背景技术
一种交互式宽带服务器(IBS)系统是传递不同类型的数据并且提供同时服务的设备。这种服务可以包括来自预先记录的视频(从现场剪辑到电影)的视频流、来自接近于实时的事件的视频流、双向语音数据、数据传输下载、数据库交互作用、对信用卡交易的支持、交互式模拟和游戏、多媒体内容的传递以及任何其他已知或要被确定的服务。希望该IBS相同提供数千个同时同步的数据流,其中“同步”是指时间上敏感并且必须连续传送而不被中断的数据流,否则该数据流将变得不连贯。同步数据流的例子包括实时视频和音频,只要它们被接收则被发送,例如实况电视馈送、教学视频、电影和单独请求的广告。该IBS系统还必须对所有服务进行精确地跟踪、计算和存储以及收费,同时提供网络管理。用于描述基本上类似的设备的其他术语包括视颜服务器、介质服务器、交互式宽带服务器、交互式内容引擎、宽带倍增器、以及城市介质服务器。
人们已经对实现包括把一个或多个高容量中央服务器应用于分配处理系统的IBS系统进行尝试和作出提议。该挑战是提供一种IBS解决方案,其能够把高质量的服务提供到上千个用户,并且保持成本效率和实际设计。传统的服务器设计在可以从一个标题的副本中产生的输出流的数目上受到限制。这对于流行的标题需要冗余的存储,并且需要预先知道哪一个标题是流行的(当一个标题表现出它是流行时,则可能没有剩余的带宽来复制它)。
发明内容
根据本发明一个实施例的交互式宽带服务器系统包括多个处理器、主干交换机、多个存储设备以及多个用户处理。该主干交换机允许在该处理器之间进行高速通信。该存储设备耦合到该处理器并且在该处理器之间分配,以存储至少一个标题,其中每个标题被分为数据块,该数据块被在所述存储设备中的两个或更多设备上分配。用户处理被配置为在用于与多个用户位置相接的处理器上执行。每个用户处理通过主干交换机从两个或多个处理器提取被请求的标题,并且组合一个被请求的标题,用于传送到一个请求用户位置。
在一个实施例中,该存储设备被组织为多个RAID组,其中每个所存储的标题的数据块在该RAID组上分配。在一个实施例中,例如每个数据块被分为在RAID组之一上分配的多个子块。在该RAID实施例中,RAID组检索和组合功能可以在该用户处理之间分配。
在另一个实施例中,一个交互式宽带服务器系统包括主干交换机,其包括具有多个双向端口的主干交换机、盘阵列、多个处理器以及多个处理。该盘阵列包括多个盘驱动器并且存储细分为多个数据块。该数据块在所述盘阵列上分配。每个处理器具有多个接口,包括耦合到所述主干交换机的一个端口的第一接口,耦合到所述驱动器阵列的至少一个盘驱动器的第二接口,以及用于耦合到与多个用户设备相接的网络的第三接口。该处理使得每个处理器从所述处理器中的两个或更多处理器检索被请求的标题的多个数据块,以组合所述被请求的标题,并且通过所述第三接口发送所述被请求的标题。
任何类型的内容被考虑用于传送到用户设备。在一个实施例中,多个标题的每一个包括同步数据内容,其通过该处理器的相应第三接口同时传送到相应的多个用户设备。
该系统可以包括多个介质读取器,每个读取器耦合到所述处理器中的一个相应处理器,以及一个库存储系统。在一个实施例中,该处理器包括用于耦合到介质读取器的一个附加接口。该库存储系统包括多个存储介质,其集中存储多个标题并且耦合到该主干交换机的一个端口。该库存储系统被配置为通过主干交换机接收一个标题请求,并且把一个相应的存储介质装载到多个介质读取器中的任何一个可用的介质读取器上。
多个处理可以包括至少一个装载处理,其被配置为从介质读取器检索一个标题,以把该标题分为数据块,并且通过该处理器把该数据块在盘阵列上分配。该装载处理可以创建定位一个标题的每个数据块的一个标题映射。多个处理可以进一步包括在该处理器上执行的至少一个用户处理,其检索和使用该标题映射,以检索该标题的每个数据块。
该标题可以被预先处理并且以预定格式存储,以减小负载和处理开销。预处理的例子包括预加密、预先计算冗余信息、预先存储传输协议、由于各种原因等等指向所存储的标题内容中的特定位置的指针。该指针例如可以包括时间标记。
根据本发明一个实施例的交互式内容引擎包括主干交换机,其包括多个端口、处理器、介质读取器、库存储系统、存储设备和在该处理器上执行的至少一个处理。该至少一个处理集中地提交一个标题请求,从可用的介质读取器检索被请求的标题,把被请求的标题存储在该存储设备上,以及把被请求的标题传送到多个处理器之一。
附图说明
为了更加完整地理解本发明,现在结合附图进行描述,其中相同的参考标号表示相同的特征,其中:
图1为包括根据本发明一个实施例配置的交互式宽带服务器(IBS)系统的通信系统的示意方框图。
图2A为图1的IBS系统的一个示意实施例的方框图;
图2B为采用在图2A的处理器之间分配的光盘驱动器的图1的IBS系统的另一个示意实施例的一部分的方框图。
图3为图2的每个处理器的一个示意实施例的方框图。
图4为示出根据本发明一个实施例的示意RAID盘组织的方框图。
图5A为示出由在所选择的一个图2的处理器上执行的用户处理(UP)启动对标题的用户标题请求(UTR)、装载、存储和检索的方框图。
图5B为示出用于访问和存储被请求的标题的示意分配装载处理的方框图。
图5C为示出用于使用图2的分配光盘驱动器访问和存储被请求的标题的一个示意协调的装载处理的方框图。
图6为示出由在图2的处理器中的一个处理器上的用户处理和的另一个处理器上执行的目录处理的操作对标题的请求和检索的更加详细的方框图。
图7为由包括用户处理、目录处理、装载处理等等这样的各种处理所采用的示意标题映射的更加详细的方框图。
图8为示出由用于存储和检索标题和数据的图1的IBS系统所使用的缓存和最近最少使用(LRU)策略的方框图。
图9为示出根据本发明一个实施例的镜像处理的方框图。
具体实施方式
根据本发明一个实施例的交互式宽带服务器系统通过对存储的标题的主动管理以避免对内容和所伴随的标题的冗余存储的必要性。这不需要得知哪一个标题将是最流行的这样的预先知识,并且一个标题的单一副本可以服务于任何数目的同时用户,在该标题的略有不同的(并且被独立控制)时间点上服务于每个用户,直到该服务器的最大流输出能力为止。
在此所述的实施例中,上述能力伴随着剥离在盘驱动器阵列上的每个标题的“块”而实现,其中每个块表示固定的存储量或固定的时间量。访问一个标题的每个用户处理被给定每个标题的块的位置,并且负责把它们重新组合为一个独立和(在大多数情况中)同时的输出流。每个块被存储在独立盘(RAID)阵列的一个冗余阵列上,例如五个“子块”,每个驱动器具有一个子块。这五个子块包含20%的冗余信息,在驱动器或处理器发生故障时允许重构任何丢失的子块。该方法使得所有输出流从一个标题产生,或者每个输出流从不同的标题产生,并且导致在所有处理器和一个主干(或底板)交换机上显著均匀的分配负载。管理是自动的,并且不需要关于内容的流行程度这样的预先知识。当从该库请求一个新的标题时,在硬盘驱动存储器中的最近最少使用(LRU)标题被删除,以腾出空间。每个子块被类似地缓存在该处理器的存储器中,直到它变为最近最少使用的子块为止,并且被删除以为当前被请求的一个子块腾出空间。服务器资源的分配是自动的并且基于瞬时的要求。
图1为包括根据本发明一个实施例而配置的交互式宽带服务器(IBS)系统109的通信系统100的简化方框图。该IBS系统109位于一个常规和示意的分配的点101处,并且通过网络通信系统107和用于把数据和服务分配到一个或多个用户位置105的分配网络103耦合。如下文进一步描述,该IBS系统109包含一个库存储系统201(图2),其包括所存储的(以及一般被编码、加密和/或压缩)内容,用于传送到用户位置105。支持双向通信,其中来自任何一个或多个用户位置105的用户信息被向上转发到分配的点101。该网络通信系统107可以是任何类型的数据网络,其支持同步数据发送,例如异步传输模式(ATM)或以太网或无线、数字用户线路(DSL)或混合光纤同轴(HFC)网络,其调制数据,用于向下传输到用户位置105并且调谐到用于接收和解调用户信息的上行信道。
许多不同种类的信息源被考虑,例如一个或多个计算机网络111(例如,互联网)或者其他内容系统113,其表示电话信息、卫星通信系统、不播出天线系统116(例如,微波塔)等等。该计算机网络111可以包括任何类型的局域网(LAN)、广域网(WAN)或者全局计算机网络,例如包括互联网等等。该其他内容系统113可以包括公用交换电话网络(PSTN)和/或可以用于接收和传送任何类型的信息,例如电视广播内容等等。该计算机网络111和/或其他内容系统113可以位于分配的点101(例如,工作为一个头端等等)或者可以位于上游并且通过例如光纤链路等等适当的数据传送机构来传递。根据特定的配置,该计算机网络111和/或其他内容系统113可以分别直接耦合到该网络通信系统107或者通过IBS系统109耦合,用于传送到用户位置105。该分配的点101可以包括用于传输的适当设备,例如内部服务器、防火墙、网际协议(IP)路由器、信号合并器、信道重新映射器等等。
该网络通信系统107和分配网络103的特定配置取决于所采用的特定构架和技术。在一个实施例中,该分配网络103被根据一个HFC网络而配置,其中该用户的介质包括从本地节点(例如,提供光电格式之间的转换的光节点等等)分配各个用户位置105。在一个HFC配置中,源信息被从一个头端分配到几个分配中心的每一个,其进一步把源信息分配到一个或多个光节点等等,其接着把该源信息通过例如同轴电缆这样的相应用户介质链路分配到一个或多个用户位置105。在这样的配置中,该分配的点101可以表示任何一个头端、分配中心或者光节点。每个分配的点支持连续的更小地理区域。一个头端例如可以支持相对较大的地理区域,例如整个市区等等,其进一步被分为更小的区域,每个区域由一个分配中心所支持。由每个分配中心所支持的区域被进一步分为由相应的光节点所支持的更小的区域,例如在市区的附近。
光链路例如可以采用SONET(同步光网)环路等等。应当知道,任何已知或者将来开发的介质被考虑用于在该网络中的每个通信链路。在一个HFC实施例中,例如每个光节点从上游分配的点接收一个光信号,把该光信号转换为组合的电信号并且把该组合的电信号通过同轴电缆分配到相应地理服务区域的几个用户位置105中的每个用户位置。用户信息被以电子形式(例如,射频(RF)信号)转发,并且在每个光节点合并,其把组合的光信号上游转发到相应的分配中心。
每个用户位置105包括客户场所设备(CPE)(未示出),例如机顶盒或有线电视调制解调器或者DSL调制解调器等等,其调谐、解码和解调来自提供给特定用户位置105的组合电信号的源信息。在每个用户位置105的CPE包括一个调制设备等等,其编码、调制和上变频为RF信号等等。来自每个用户位置105的上游RF信号被在一个适当的用户介质(或介质)上传送到一个相应节点,其把该用户信号转换为一个光信号。例如,一个激光器可以用于把该返回信号转换到一个光信号,并且把该光返回信号通过另一个光纤缆发送到在一个分配中心的光接收器。
考虑其他宽带网络环境,例如任何由有线电视和电话工业所开发的宽带网络技术。一个例子是不对称数字用户线路(ADSL)技术,其牺牲上行带宽以获得更大的下行带宽。考虑电话工业光纤到社区(FITC)构架,以及各种无线基础结构,包括多信道、多点分配服务(MMDS)或者使用蜂窝式方法的本地多点分配服务(LMDS)。
该源信息和用户信息可以包括任何视频、音频或其他数据信号等等的组合,其可以用任何许多不同格式。该源信息可以作为固定或可变大小的帧、数据包或信元而发出,例如网际协议(IP)数据包、以太帧、ATM信元等等,以提供到该分配中心。
考虑数字视频压缩技术,例如离散余弦变换(DCT)和由运动图像专家组(MPEG)所开发的标准系列,例如MPEG-1、MPEG-2、MPEG-4等等。该MPEG-2标准例如支持各种音频/视频格式,包括传统电视、高清晰度电视(HDTV)和5声道环绕声。MPEG-2提供广播质量的分辨率,其被用于DVD(数字通用光盘或数字视频光盘)电影中,并且根据所需的服务质量(QoS),需要从4至20兆位每秒(Mbps)的带宽。所发送的数据和信息可以包括一个或多个目标地址等等表示在该用户位置105处的任何一个或多个特定用户设备。在每个用户位置105处的CPE包括接收和解调所接收的信息的适当通信设备,并且解码地址信息,以传送要由该用户所用的原始内容。上行用户信息可以按照类似的方式来处理。
图2A为IBS系统109的一个示意实施例的方框图。该IBS系统109包括库存储系统201,其耦合到主干或底板交换机203,该库存储系统201进一步耦合到一个一系列处理器205的每一个,其分别标记为P1、P2、...、Pn,其中“n”是一个正整数。每个处理器205包括一个或多个硬盘驱动器,其被配置为盘阵列207,并且每个处理器205被进一步耦合到分别被标记为MD1,MD2,...,MDn的一系列调制/解调(MOD/DEMOD)209中的相应一个。包括操作支持系统(OSS)211和业务支持系统(BSS)213的管理处理器210还被示出为耦合到主干交换机203。但是,应当指出,该管理处理器210是可选的,并且包括OSS 211和BSS 213的管理功能可以在处理器205之间分配。
该盘阵列207被分别标记为PaDb,其中“a”表示该处理器号,并且“b”表示盘号,其从1变为“x”。该数字“x”是一个正整数,表示用于盘阵列207的每个处理器的盘驱动器的数目。在一个示意配置中,n为100,x为8,这样具有100个处理器205,以及总共有n×x=800个盘驱动器。如下文所述,该盘阵列207被进一步配置为多个RAID,用于在处理器205和多个盘驱动器之间分配数据组或块。该MOD/DEMOD 209可以被包含在该网络通信系统107中,其中每个系统调制来自各个处理器205的数据和信息,用于把数据下行传送到相应的用户位置105,并且解调上行用户数据和信息,由各个处理器205所用。
该库存储系统201可以用各种方法中的任何一种方法来配置,并且其特定配置和操作超出本申请公开的范围。通常,每个处理器205被配置为把对一个“标题”的请求(例如,视频、电影等等)或者对其他内容的请求通过主干交换机203提交到库存储系统201,并且库存储系统201通过转发所请求的数据或者通过访问包含在被请求的标题的介质,例如通过加载相应的光盘(例如,DVD)或者磁带盒等等。在一个实施例中,所加载的数据和信息被通过主干交换机203转发到请求处理器205。如下文所述,该库存储系统201把光盘装载到在处理器205之间分配的多个光盘中的任何被选择或可用的一个光盘。所提供的数据的格式和速率取决于特定库和数据存储配置。用于视频应用的数据率可以在从1Mbps(用于VHS视频质量)到大约10Mbps(用于DVD质量)或更多。该数据的特定格式还根据数据或应用的类型而变化。采用MPEG-2格式的音频/视频数据被考虑用于电影等等,作为以位流格式传送的I、P和B MPEG帧形式的图像组(GOP)。当然,可以考虑其他类型的数据,包括任何位率的同步数据和来自各种尺寸的文件的不同步数据,例如用于通过计算机网络111在互联网上通信的网际协议(IP)数据包。
在例如视频点播(VOD)系统等等适用于传送视频和/或多媒体信息的一种配置中,库存储系统201包括DVD盘和/或磁带盒的叠层或库,其可以进一步配置在一个基于机械的盘访问系统。对于一种基于VOD的应用,该库存储系统201应当包括与视频租借业务相等价的标题数,并且可以适用于在可用时增加新的标题。在一个电视点播应用中,该标题的数目可以成百上千。许多标题将不被经常请求,因此存储在自动的库存储系统201中,该系统被配置为在请求时以方便的方式传送任何标题。
机械存储库已经被开发用于计算机工业,尺寸大小在从存储几百张光盘的点播机到存储几千个磁带盒的房间大小的机构的范围不等。由于整体操作速度问题,这些库通常表现为离线的。相反,在至少一个示意配置中,部分地通过包含在处理器205之间分布的介质读取器和读/写设备,库存储系统201被设计为从请求到传送具有不大于30秒的延迟。库存储系统201的机械部件被配置为用于对所有盘的冗余存取,从而在库存储系统201中仅仅需要一个标题具有一个副本,并且大多数机械故障不妨碍对任何标题的访问。由于该库存储系统201被认为是主存储器(在该库中的任何标题可以在任何时间由任何用户所用),该IBS系统109的盘阵列207的存储器被认为是用于最近被请求的标题的高速缓冲器。结果,IBS系统109可以被配置为一个高流容量的集中服务器,或者作为在较小局部空间中具有分布式缓存的集中库。
该主干交换机203包括多个端口,每个端口用于与一个处理器205相接,一个端口用于管理处理器210(如果提供的话),以及一个或多个端口用于与库存储系统201相接。附加或空闲的端口可以用于各种目的,例如一个或多个备用计算机用于在发生故障、错误、维修、升级等等的情况下替换任何处理器205。在一个实施例中,该主干交换机203被根据以太网标准来配置,并且包括用于耦合该处理器205、210和库存储系统201的充足的端口。有现成的产品可用,例如由FoundaryNetworks所制造的基于底盘的“Bigiron”系列产品。一个Bigiron产品包括至少110个端口,其中对于2Gbps全双工操作来说,每个双向端口能够在每个方向上以1Gbps的数据率传输。按照这种方式,每个处理器205可以从其他处理器或者存储单元接收高达1Gbps的数据,用于为连接到该处理器的用户重新组合到输出流,或者存储在本地盘驱动器上。每个处理器205连接到该主干交换机203的一个端口,使得100个处理器P1-P100的每一个可以同时接收高达1Gbps的数据。
在一个实施例中,该库存储系统201连接到该主干交换机203的多个端口,使得每个处理器205接收来自库存储系统201以及来自其他处理器的数据。按照这种方式,来自库存储系统201的被请求标题的数据被主干交换机203从库存储系统201转发。另外,如下文更加详细地描述,该库存储系统201连接到一个端口,主要用于接收标题请求。在该配置中,由目标处理器(上的用户处理)具体请求的数据被从连接到其他处理器的光驱等等接收。该数据可以包括来自在其他处理器上运行的加载处理的要存储在与目标处理器相连接的驱动器上的数据。应当指出由处理器/存储单元(处理器P1-P100)的数目和主干交换机的大小来反映的该IBS系统109的特定尺寸和总数据输出能力可以根据所支持的用户位置105的数目和随时间变化并且包括峰值需求时间段的需求内容的期望程度而缩放。并且1Gbps端口速率仅仅是示例性的,可以考虑其他数据率,例如2.5、4、10、40或更高的Gbps端口。
该OSS 211执行网络监控和管理软件以及处理标准管理信息。该OSS 211使得操作员标记错误状态,并且访问和控制IBS系统109的操作,以解决问题。在一个配置中,该OSS 211可以远程访问。如果当出现一个错误时,该远程访问的OSS 211能够进行远程诊断和解决。这种远程访问避免使得操作员到达分配的点101的实际场所的必要性,这是不方便、耗时并且在用户的满意度或服务中断方面潜在地具有非常高的成本。远程访问通过连接到全局网络等等这样的一个外部网络(例如互联网)而实现。如果提供管理处理器210,则该管理处理器210连接到计算机网络111,并且可以通过远程控制软件访问,以允许对该管理系统进行远程操作。另外,通过该主干交换机203的一个或多个端口进行外部网络连接。
该BSS 213包括控制系统215和计费系统217。该控制系统215管理内容并且指导该IBS系统109的正常操作,以及指导处理器205和主干交换机203的操作。计费信息被从控制系统215发送到计费系统217。每个处理器205包括软件代理或应用,其根据预定计费方案监视和跟踪用于每个用户位置105的计费信息。该BSS 213收集该计费信息并且能够根据需要进行复杂形式的计费。例如,考虑固定费用以及对于附加服务的固定每月附加费加上对于独立事件单独计费。电话计费方案可以包括固定按月收费加上根据增加使用的计费(例如,按照每分钟或者按照每秒钟)加上为第二公司(例如,长途电话提供商)计费。
电话购物服务需要及时的信用卡确认以及用财务和实现(存货和发货)系统进行实时的交易。该BSS 213能够监控和跟踪相关业务的销售,以便于根据收入的百分比对实际发货中心等等计费。这些和其他复杂的计费模型被考虑并且由BSS 213所支持。
应当指出,该OSS和BSS功能可以由IBS系统109通过添加专用处理器(例如,管理处理器210)或者通过以一种分布方式在现有处理器205运行该处理而提供。该IBS被设计为非常可靠,完全利用其隐含的冗余性的优点,并且具有极大的处理能力,从而其适合运行需要高可靠性的处理。
存储在该库存储系统中并且来源于该库存储系统的许多标题可能是具有专用权或包含版权的信息。在一个实施例中,许多标题数据可以被预先加密并且在通过IBS系统109到用户位置105的处理全程中保持加密状态。在每个用户位置105处的CPE包括适当的解密功能,用于解密显示或运行的数据。这样的配置涉及根据标题进行加密。这可能需要该标题数据被基于数据流而加密,从而即使对于相同的标题,到达每个用户位置105的每个独立数据流被分别加密。例如,对于以加密形式分配的相同标题,分配到一个用户位置105的给定标题被独立加密到不同的用户位置105(或者甚至在随后的时间到达相同的用户)。被示出为MDn 227的MOD/DEMOD 209示出一个实施例,其能够按照数据流进行加密。每个标题仍然被加密并且通过IBS系统109从库存储系统201到MOD/DEMOD 209处理。在这种情况中,每个MOD/DEMOD 209包括用于解密在每个MOD/DEMOD 209中的每个标题的解密功能229。然后,该数据进行到一个加密功能231,用于对该数据重新加密,以传送到相应的用户位置105。应当指出,即使采用类似的加密技术,也可以采用分离和统一的加密密钥,以便于对每个分离的数据流进行统一的加密。
图2B为采用在处理器205之间分配的光盘驱动器219的IBS系统109的另一个示意实施例的一部分的方框图。在这种情况中,每个光盘驱动器219,例如DVD驱动器获取任何其他类型的介质读取器,连接到相应一个处理器205。该光盘驱动器219还实际位于库存储系统201的附近,用于由光盘装载系统221所访问。该库存储系统201还包括可以访问光盘装载系统221的光盘库223,其中该光盘库223存储多个标题和用于分配的任何其他内容。
该光盘装载系统221可以包括一个基于机械的装载系统等等,其包括通过用于与任何处理器205相接的至少一个通信链路225耦合到主干交换机203的内部处理器或者控制电路(未示出)。按照这种方式,任何处理器205把对一个标题的请求提交到该光盘装载系统221,该系统从光盘库223检索相应的一个或多个盘,并且把被检索的盘装载在任何所选择或可用的光盘驱动器219之一上。应当指出,该IBS系统109的分布特性能够使得任何处理器205访问来自装载到任何光盘驱动器223的数据。这种分配结构允许光盘装载系统221根据任何次序或随机选择处理来装载盘,并且避免装载或分配延迟。相对较大尺寸的盘阵列207的存储导致被请求的标题很可能存储在该盘阵列207中,从而在库存储系统201和盘阵列207之间具有宽松的带宽要求。该分布的光盘驱动器实施例具有足够的带宽来处理标题请求。
存储在库存储系统201中的标题可以用专用格式来存储,这包括对以低处理开销进行快速加载的几方面的增强。该内容可以被预先加密,具有被预先计算和存储的RAID冗余,具有已经应用于所获得的数据流的传输协议,以及具有指向在可能需要进一步处理或者可能被要求用于进一步的处理(例如,用于快进、回倒以及把一个数据流接合到下一个数据流的图像组(MPEG-2GOP))的内容内的特定位置的指针(例如,时间标记、传输标头)。结果,一个标题可以按照超过快进的速度被从库存储系统201装载,从而几乎所有操作模式甚至可以被提供给一个标题的第一个用户,并且使得装载处理具有尽可能小的处理开销。可以提供一个记录和处理系统233,用于把标准或任何其他可用格式的数据(例如,MPEG、DVD等等)转换为上述用于在光盘库223中的光介质上存储的所需专用格式。
图3为每个处理器205的示意实施例的方框图。在图2中所示的IBS系统109的示意配置示出大量互连的处理器阵列(MIPA)配置,其中每个处理器205每个按照基本上类似的方式来配置。按照这种方式,可以采用大量相对简单的低端和低成本的计算机系统来取代单个或少数复杂或高成本的服务器系统。每个处理器205可以使用相对标准的桌面或服务器个人计算机(PC)系统组件等等来实现。
每个处理器205包括耦合到一个或多个中央处理单元(CPU)303的一个相对标准的总线结构或系统301、包括随机存取存储器(RAM)和只读存储器(ROM)设备的任何组合的存储器系统305、用于与显示器相接的可选视频接口307、以及用于与例如键盘或鼠标等等这样的相应I/O设备相接的一个或多个输入/输出(I/O)接口。该总线系统301可以包括多个总线,例如至少一个主总线,一个或多个外围总线、一个或多个扩展总线等等,每个总线由本领域所公知的桥接电路或控制器所支持。该总线系统301还耦合到一个集成设备电子(IDE)控制器311,用于耦合到例如用于给定处理器Pa的盘阵列207的盘1和盘2(PaD1、PaD2)这样的典型的两个IDE盘驱动器313。该总线系统301包括或与一个或多个外设部件互连(PCI)总线,例如32位、33兆赫(MHz)PCI总线315。该PCI总线315耦合到三个PCI盘驱动控制器317(被示出为PCI1、PCI2和PCI3),每个用于与至少两个PCI盘驱动器319相接。该PCI盘驱动器319被示出为执行该处理器Pa的盘3-8(PaD3-PaD8)。该总线系统301还耦合到高速盘控制器329,例如小计算机系统总线(SCSI)适配器、火线控制器、通用串行总线2.0版(USB2)控制器等等,用于与相应的一个或多个分配的光盘驱动器219相接。
该总线系统301还耦合到另一个PCI总线321,其在所示的实施例中为64位,66MHz的PCI总线。该PCI总线321与至少两个1Gbps的以太网接口卡(NIC)323和325相接,该卡分别用于与主干交换机203和相应的一个MOD/DEMOD 209相接。应当指出一个64位,66MHz的PCI总线能够具有大于4Gbps的原始数据输出,并且这足以处理两个2Gbps全双工NIC 323、325的全双工数据输出。还示出一个软件应用程序块(“APPS”)327,其表示装载到存储器305并且由CPU 303所执行来实现在下文所述的处理器205的功能和处理的一个或多个应用程序等等。例如,一个用户处理可以被执行用于管理由特定处理器205所支持的每个用户。并且,包括其他程序,用于检测通过NIC 325从用户位置105请求的标题,把每个标题请求通过NIC 323转发到库存储系统201,通过NIC 323接收用于处理的部分标题数据,并且存储在盘驱动器313、319中,从盘驱动器313、319把标题数据检索到存储器305中,处理标题数据,以及把数据通过NIC 325传送到一个请求用户位置105。当然,许多其他处理和功能可以被定义,用于实现该IBS系统109,例如计费应用程序、管理应用程序、用于RAID数据存储的错误检测和纠错码(ECC)等等。
每个处理器205可以由任何适当的专用或公共领域的操作系统(OS)来配置,例如选自Microsoft Windows系列的操作系统或者Linux的适当版本和配置。在一个实施例中,考虑Linux OS与实时(RT)Linux的组合。实时操作系统(RTOS)、实时应用程序接口(RTAI)和实时网络(RT Net)被考虑用于直接或通过网络处理实时或同时操作,用于允许实时响应。可以采用各种协议和接口,例如用于文件结构化的轻型目录访问协议(LDAP)、实时传输(RTS)、实时流协议(RTSP)、消息传送接口(MPI)等等。具有簇消息传输(MP)层的簇配置被考虑用于执行计费、用户接口和管理操作。
图4为示出根据本发明一个实施例的进入RAID盘机构401的盘阵列207的示意结构。在该示意结构中,存在分别具有8个驱动器的100个处理器,总共有800个盘驱动器,标号为1-800。该第一处理器P1的第一盘D1(或者盘驱动器P1D1)被标记为第一盘驱动器1,该第二处理器P2的第一盘D1(或者盘驱动器P2D1)被标记为第二盘驱动器2,如此等等,每个处理器P1-P100的第一盘驱动器形成盘驱动器1-100。下一个盘驱动器101是第一处理器P1的第二盘驱动器,下一个盘驱动器102是第二处理器P2的第二盘驱动器,如此等等。按照这种方式,第一处理器P1的8个盘驱动器分别被标记为1、101、201、301、401、501、601和701。该第二处理器P2的8个盘驱动器分别被标记为2,102,202,302,402,502,602和702,如此等等。该盘驱动器1-800被组织到5个盘驱动器的RAID,每个盘驱动器用于总共160个RAID,其中第一RAID 1由盘驱动器1-5所形成,第二RAID 2由盘驱动器6-10所形成,如此等等,直到最后的RAID 160由盘驱动器796-800所形成。
每个RAID可以由一个RAID控制器所管理或控制,该RAID控制器通常由一个独立处理器或软件处理器或者任何其他已知的配置来实现。但是,在此所示和描述的实施例中,每个RAID组仅仅是概念上的,从而在此没有相关的RAID控制器。而是,RAID控制功能和操作在处理器205之间分配。当内容被装载时,例如装载处理(LP)509(图5)这样的装载处理从一个目录处理(DP)505接收一个可用存储位置的列表。然后取具有预先计算和存储的RAID信息的内容,并且把其分配到由DP 505所提供的位置列表。不同装载处理可以把内容同时存储到相同的RAID组。同理,例如读取标题的用户处理(UP)503这样的用户处理请求为该标题在目录项中列出的子块,然后执行任何必要的计算,以重新创建丢失的子块。如果该管理系统通知已经替换一个发生故障的驱动器,则它在负载小或空闲的处理器上启动重建处理,这不一定要直接控制任何受影响的驱动器。
每个RAID被示出为Rj,其中“j”是从1至160的RAID索引。按照这种方式,有160个标记为R1-R160的RAID组,每个RAID组由在处理器1-100的阵列上执行的多个软件处理所控制。每个RAID组可以包括硬件、逻辑和处理的任何组合,其中处理可以包含在下文进一步描述的其他处理中,例如用户处理、检索处理、装载处理等等。因此,可以把RAID组组织在单个驱动器边界上而不是在5个驱动器边界上,但是为了概念的简化,在此所示的示意实施例被示出具有5个驱动器边界。
应当知道,在此所示和描述的RAID机构仅仅是示意性的,并且可以考虑许多不同的RAID组配置。RAID组可以按照任何所需的方式重叠或包围。并且,多个处理器205可以包括用于更大的处理器分布的给定RAID处理。当然,每个RAID可以包括任何数目的盘驱动器(小于或大于5个),并且每个RAID可以由与任何处理器相关的处理器所控制,并且不一定仅仅有一个处理器,例如与第一盘驱动器相关的处理器。但是,希望每个RAID组仅仅包括给定处理器的一个盘驱动器,以使得在处理器之间的数据分布最大化。这保证处理器205的故障仅仅从它所加入的每个RAID组中除去一个驱动器,这将不中断它们的操作。如果在故障处理器205上的所有操作被屏蔽,则IBS系统109的功能具有较大的下降,仅仅直接影响连接到故障处理器的客户机。如果IBS系统109已经被配置有一个“热待机”的处理器,则它立即开始以该故障处理器的映像重建自身。
如下文所述,该RAID配置使得数据流被细分为数据块,其被在该RAID组的盘驱动器之间进一步细分和分配。例如,一个数据块被处理为包括冗余信息(使用ECC等等),并且所获得的被处理数据块被细分为5个子块,并且分配到在一个RAID中的5个盘驱动器中的每一个。
图5A为示出由在所选择的一个处理器205上执行的用户处理(UP)503所发起的对一个标题的用户标题请求(UTR)、装载、存储和检索,该处理器205被示出为处理器Pa 501。每个处理器205对它所支持的每个下游用户位置105(用户)执行独立用户处理。该UP 503示出用于响应从该用户位置105对标题的用户标题请求(JTR),检索标题和把标题发送到用户位置105的用户处理的示意操作。该UP 503把UTR转发到在一个处理器Pd 502上执行的目录处理(DP)505,该处理器表示处理器205中的任何其他处理器或者管理处理器210。如下文所述,DP 505首先通过查询主目录(MD)601确定该标题是否已经被存储在盘阵列207中(图6)。如果该标题没有装载在该盘阵列207中,则DP505分配存储器(或者确定下一个可用的盘空间),并且创建表示在盘阵列207中的标题的每个连续“块”的位置的标题映射(TM)507。如下文所述,该标题数据被分为数据块,其被进一步分为在由盘阵列207所形成的RAID之间分配的数据子块。该TM 507是标识该标题的每个块(子块)的位置的数据映射。如果该标题已经被装载,则TM 507已经存在用于在MD 601中的标题,并且DP 505把TM 507通过主干交换机203复制到UP 503,其中UP 503把其存储为一个本地副本,表示为TM 507’。
如下文更加详细地描述,该UP 503可以随意地初始化该TM 507’,以包含与特定用户或用户位置105相关的任何参数或变量。如果发现该标题不被装载到MD 601中,则它不被存储在盘阵列207,然后DP 505调用装载处理(LP)509,用于从库存储系统201访问该标题。该LP 509通过主干交换机203发送对该标题的请求,并且库存储系统201检索该数据的一个源介质511,例如DVD、磁带盒等等,并且把所选择的介质装载到一个适当读取器(例如,磁带驱动器、DVD播放器等等)。根据库配置,该读取器通过另一个处理器205或者通过主干交换机203,转发用于由在处理器Pa 501上的LP 509所访问的数据。该数据可以按照许多不同的方式来传送,例如数据位流等等,并且可能来自远处和本地库资源。
LP 509把该数据组织到在513处所示的一系列数据块C1,C2,C3,Ci的阵列。每个数据块对应于与该数据相关的一个所选择参数,例如预定时序间隔或数据大小。在一个实施例中,例如每个数据块Ci近似对应于视频数据的一秒。要被以4Mbps播放的视频数据例如可以被分为对应于一秒数据的近似500K位(Kb)的数据块。该LP 509负责确定数据块之间的适当分割。对于MPEG-2数据,例如,该数据被组织为I、P和B帧,这可以进一步被按照解码次序而不是按照显示次序提供。在MPEG-2的情况中,该LP 509确定图像组(GOP),并且确定对应于所选择大小或时序间隔的GOP之间的适当分割,例如每秒30个可显示帧等等。
根据特定配置,LP 509可以进一步对数据块的内容执行附加处理。这种处理例如可以包括把双向链接表或标签和时序信息插入到该内容中,用于快进(FF)、回倒(RW)和跳转功能。这种功能可能为了实现用户的个人视频录像机(PVR)所需的功能,从而用户可以按照类似于VCR的方式来处理一个标题,例如可以在观看时或者为了延迟观看对该内容进行回倒、快进、暂停、记录等等。例如,如图所示,该数据块C1-Ci被处理为数据块C1’-Ci’,其根据所需执行的处理,表示交替的数据。为了RAID的目的,可以进一步处理该数据块C1’-Ci’,例如插入ECC数据等等。例如,如图所示,该数据块C1’和C2’被分别处理为数据块C1’ECC(1-5)和C2’ECC(1-5),其中每个数据块包括索引为1-5的连续的子块,表示在相应RAID的5个盘之间分配的RAID数据。
该LP 509查询TM 507来确定每个数据块要被存储在何处。在盘阵列207中精确位置不一定被指定。在一个实施例中,该TM 507把第一数据块C1’ECC(1-5)转发到处理器Pb 515,该第二数据块C2’ECC(1-5)转发到处理器Pc 521,如此等等。应当知道,无论采用特殊的RAID盘机构401,如果该数据块尽可能均匀地转发到每个RAID,则实现数据的最大分配。这可以通过在把第二数据块发送到相同的RAID之前,把连续的数据块转发到每个其他RAID而实现。例如,在第二数据块被转发到RAID 1之前,前160个数据块可以被发送到RAID 1-160。由于TM 507保持每个数据块的位置的记录,因此该数据块不一定按照任何特定的RAID次序来分配。实际上,在一个配置中,根据任何适当的随机算法,随机地分配该数据块。该随机算法例如可以是伪随机数,以保证数据被均匀地分配,其中下一个所选择的RAID来自一个组,其中直到所有RAID被使用为止,有一个数据块还没有被存储,并且重复该处理。另一方面,保持预定或连续的RAID次序可以提供预测能力的优点或提高检索效率。
该数据块C1’ECC(1-5)被LP 509转发到处理器Pb 515,其把数据块C1’ECC(1-5)的子块1-5在其RAID 519的盘驱动器之间分配。例如,5个子块C1’ECC(1)、C1’ECC(2)、C1’ECC(3)、C1’ECC(4)、C1’ECC(5)在所示的RAID 519的5个盘驱动器之间分配。应当指出,由LP 509所产生的子块的数目与该RAID的盘驱动器的数目相等,并且可以每个RAID可以使用任何适当数目的盘驱动器。该ECC处理保证任何一个盘驱动器的数据可以由来自该RAID中的其他盘驱动器的数据来重构。例如,一个子块C1’ECC(3)可以从子块C1’ECC(2,3,4,5)来重构。数据块C2’ECC(1-5)被LP 509转发到处理器Pc 521,其按照上文对RAID 519所述的类似方式把数据块C2’ECC(1-5)的子块在RAID 525的盘驱动器之间分配。对于该标题的所有数据块C1’ECC(1-5)重复该处理。
UP 503被通知,否则何时有数据可用于检索或响应该UTR转发到请求的用户位置105。例如,该UP 503可以监视TM 507’,或者可以由DP 505通知该数据可用,或者简单地提交请求并且等待要被传送的数据。在一个实施例中,该UP 503等待直到整个标题被访问、处理和存储在RAID中时为止。另外,只要预定量的标题被存储或者只要所请求数据被传送,则该UP 503开始检索和转发数据。在任何情况中,该UP 503查询TM 507’,并且通过提交连续的数据请求(DRQx)以及接收相应的数据响应(DRSx),而从所指示的处理器205请求每个数据块,其中“x”为表示一个数据块索引的整数(例如,DRQ1、DRQ2等等)。在一个实施例中,每个处理器205执行本地检索处理(RP),其与用于检索被请求数据块的相应RAID相接。该RP接收一个数据请求DRQx,从本地RAID检索被请求的数据,并且转发一个相应的DRSx。如图所示,该处理器Pb 515执行RP 527,其接收一个数据请求DRQ1,从RAID519检索该数据块C1’ECC(1-5),以及以相应的数据响应DRS1作出响应。并且,处理器Pc 521执行一个RP 529,其接收数据请求DRQ2,从RAID525检索数据块C2’ECC(1-5),并且以一个相应的数据请求DRQ2作出响应。该UP 503接收该数据响应,并且把该数据块转发到请求的用户位置105。该UP 503可以根据被检索的数据类型执行进一步的数据处理。例如,在一个实施例中,该UP 503包括一个MPEG解码器613(图6),其把MPEG-2数据从解码次序重新组织为显示次序,用于由在用户位置105处的CPE所用。
在上文概括和描述的访问、存储和检测处理特别适用于同步数据,例如要被“执行的”或者被在用户位置105处的电视或电话或计算机等等实时使用的音频/视频数据。但是,应当知道,该输出数据不限于同步数据,而且还可以是突发、异步数据,例如所检索的数据,用于由在计算机上执行的浏览器来显示。并且如果在用户位置105处的CPE具有本地存储器,则该处理可以按照类似的方式来操作,只是可以异步地进行传送而不是同步传送,并且可以按照不同于数据的显示速率的数据率进行传送。考虑许多变型和改变,而不脱离本发明的范围。例如,如果必要的话,可以由除了用户处理之外的一些其他处理来执行重构或解码处理。由于具有到用于该标题的重构的每个子块的分离数据路径,因此在用户处理时该重构的可靠性应当最大。
图5B为示出用于访问和存储被请求的标题的示意分配装载处理的方框图。在该实施例中,如果DP 505发现在MD 601中的标题没有被装载,则它调用主装载处理(MLP)531。该MLP 531把一个请求发送到库存储系统201,并且按照类似于上文对于确定该数据块被存储于何处的类似方式查询TM 507。不是把该数据检索到处理器Pd 502,而是该MLP 531调用与控制构成要存储相应数据子块的每个RAID组的盘驱动器的处理器205进行通信的本地装载处理(LLP)。例如,在该处理器Pb 515调用一个LLP 533,并且该数据块C1被从源介质511直接转发到LLP 533。按照类似的方式,在该处理器Pc 521上调用一个LLP535,并且把数据块C2从源介质511直接转发到LLP 535。如图所示,可以对各个LLP 533、535执行后续的处理,并且存储在由MLP 531所控制的相应RAID 519、525中。按照这种方式,不是在一个处理器上装载和处理该数据块,然后把该数据块转发到分配的处理器,从而需要两次通过主干交换机203,而是把各个数据块直接转发,并且由需要更小主干交换机203的带宽的分布处理器直接处理。应当指出,即使数据可以直接提供到与处理器205相连接的DVD播放器,该主干交换机203仍然被用于把数据传送到执行LLP的一个适当处理器205。
图5C为示出用于使用分布的光盘驱动器219访问和存储被请求标题的示意并列装载处理的方框图。该DP 505调用MLP 531,其把一个请求按照类似于上文所述的方式提交到库存储系统201。该库存储系统201选择随机或可用的一个分布的光盘驱动器219,例如与所示的处理器Pe 537相关。按照这种方式,该源介质511在处理器Pe 537的本地。该MLP 531识别处理器Pe 537(例如由库存储系统201所通知)并且调用在处理器Pe 537上的一个LLP 539,用于按照类似于上文所述的方式装载和存储该标题,例如把该数据块分配到处理器Pb 515、Pc 521等等。由于所有数据通过该处理器,因此该RAID和ECC处理可选地和通常在处理器Pe 537上执行。按照这种方式,减少对在主干交换机203上的带宽的使用。
如本领域普通技术人员所公知,例如装载处理509或531、检索处理529等等这样的任何给定处理可以在任何一个或多个处理器205上执行。尽管图5A-5C为了清楚起见示出在一个时刻通过各个处理器用整个数据块操作的装载和检索处理,但是应当知道每个数据块的数据子块被分布在一个RAID组内,其跨过几个处理器。因此,任何给定处理器可以在一个时刻仅仅对于给定存储器或检索处理读出或写入一个子块。例如,尽管图5A示出由处理器Pb 515所处理的数据块C1’(1-5),因此每个独立的数据子块可以由与给定RAID组的相应盘驱动器相关的独立处理器所写入或读取。尽管每个处理器205可以控制对被连接的盘驱动器的数据读写,但是可以由在其他处理器上执行的独立处理来控制RAID功能(例如,RAID功能可以在系统功能中实际体现和隐含)。
图6为示出由在处理器Pa 501上的用户处理和在处理器Pd 502上执行的DP 505的操作请求和检索一个标题的更加详细的方框图。类似的模块或处理可以用相同的参考标号所表示。按照类似于上文所述的方式,该用户处理(UP)503接收UTR,并且转发到在处理器Pd 502上执行的DP 505。该DP 505包括MD 601,其进一步包括一个标题列表603,该标题列表603列出在库存储系统201中的所有可用标题以及每个标题的相应位置。所有标题保持被存储并且可以在库存储系统201中获得,以及可以进一步复制于该盘阵列207中。该MD 601还包括一个存储文件604,其映射在包括空白空间的盘阵列207中的所有存储器和每个标题的位置。使用上述的装载处理的任何配置,以前已经被请求的标题被检索和存储在盘阵列207中,并且由DP 505创建一个标题映射,并存储在MD 601中。当前存储在MD601中的标题映射被示出为DM605,每个DM 605具有各个标题,示出为标题1、标题2、标题3等等。在与存储于盘阵列207中的每个标题相关并且具有由DP 505参考的在MD 601中的DM 605的标题列表603中制作一个项目。只要一个标题被存储在该盘阵列207中,则存在一个DM 605,因为它在MD 601中,并且进一步反映在标题列表603中。应当指出,该DP 505被示出为位于任何一个处理器205或管理处理器210上的中央处理。在另一个实施例中,该DP 505可以是在处理器205上执行的分配处理。但是如果需要的话,该MD 601将置于中央,以保持标题和库存储系统201的其他数据的连续性和一致性。
在一个示意实施例中,根据最近最少使用(LRU)策略,该标题被存储在盘阵列207中。按照这种方式,一旦现有的标题被存储在盘阵列207中并且在MD 601中引用,则它保持在原处,直到在需要存储空间用于新的标题时以及在现有的标题为MD601中的最久的标题参考时,被最近请求的标题所改写。该MD 601跟踪存储在历史文件607中的盘阵列207内的每个标题的相对持续时间,当该标题被再次请求时,该标题的持续时间被复位。被最近从库存储系统201装载或者被再次从MD601请求的任何标题变为最近的标题,并且对于在MD 601中的每个标题存储对应于它最后被请求的时间的一个持续时间参数。只要对于从库存储系统201装载的一个新标题,在盘阵列207中存在空存储器,则使用空闲的存储器,并且被装载的标题保持存储在该盘阵列207中。但是,当不再存在空闲存储器时,该DP 505通过改写在MD 601中的一个或多个最久的标题而分配空间,以存储新的标题。当在盘阵列207中的一个标题被改写时,其相关的DM 605被从MD 601中除去。并且,该位置参考被从标题列表603除去,从而该标题列表603表示该标题仅仅位于库存储系统201中。如果再次要求改写和擦除标题,则它最近被从库存储系统201装载。
如果一个被请求的标题不存储在盘阵列207中并且不在MD 601中引用,则该DP 505查询存储文件604和历史文件607,以为新的标题分配存储空间,然后在MD 601中创建一个新的DM。如果该标题已经存储在盘阵列207中,则一个标题映射(TM)已经存在于MD 601中。如图所示,该UTR被转发到DP 505,其定位或否则创建TM 507(被示出为“标题4”)。然后,DP 505把TM 507的一个副本转发到请求的处理器Pa 501,其存储一个本地副本作为上文所述的TM 507’。
该UP 503根据其自身的操作参数和用户合同对TM 507’的标头信息进行初始化。然后,该UP 503在TM 507’中查询数据块的位置,并且通过主干交换机203与管理该数据的其他处理器205的本地检索处理(RP)(代表性地表示为609)协作,以检索所存储的数据块。在所示的实施例中,该UP 503包括ECC解码器611等等,用于把ECC编码的格式转换为实际数据,而不包含冗余信息。该数据块被作为子块存储在RAID的盘驱动器上,从而ECC解码器611被用于通过除去冗余数据而重构原始数据。应当指出给定RAID的多个盘驱动器可以具有可变的速度或响应时间。按照这种方式,该本地609不需要作为单个数据块来返回数据,而是根据特定RAID的独立盘驱动器的响应时间作为一系列子块来返回数据。并且,一个给定RAID的给定盘驱动器可能发生故障或者由于一些原因而不响应。在任何一种情况中,采用ECC解码器611的UP 503能够使用非全部的确定的子块来解码正确的数据。例如,对于使用5个盘驱动器配置的RAID,该ECC解码器611能够使用5个数据的子块中的任何4个来重构原始数据。在一个实施例中,该ECC解码器611自动再生原始数据,而不是等待最后子块的到达,以加速整个处理。
在所示的实施例中,该UP 503进一步包括一个MPEG解码器613等等,如果需要的话用于把该数据重构为显示次序。例如,如果MPEG数据被访问并且按照解码次序存储,则MPEG解码器613把该数据重构为显示次序,然后把该数据发送到请求的用户位置105。如上文所述,UP 503在一个实施例中以同步模式工作,其中到用户位置105的数据流保持适当的速率,以保证在用户位置105的CPE的适当操作。在其他实施例中,如果CPE包括本地存储器,则该UP 503可以用异步模式操作,并且以充足的时间传送每个数据块,用于由CPE在用户位置105进行正确的显示。该UP 503被进一步配置为检测来自用户位置105的附加指令,例如回倒(RW)、暂停或者快进(FF)命令,并且如果被处理器Pa 501所支持并且如果允许根据相应的用户协议,则相应地更改数据流。例如,该UP 503可以通过分别响应RW命令或FF命令而访问在前或在后的数据而中断当前数据流并且在TM 507中向后或向前移动。
一组本地代理或处理615被示出为在Pa 501上执行,其被提供在每个处理器205上。在一个实施例中,每个处理器205执行一个或多个本地代理,其与在管理处理器210上执行的相应管理OSS、BSS、控制和计费功能和处理相接。在其他实施例中,该管理处理器210不被提供,并且管理、OSS、BSS、控制和计费功能和处理在一个或多个处理器205之间分配。该代理或处理615例如可以包括用于跟踪与由处理器Pa 501所支持的每个用户位置105相关的用户活动。该本地业务处理跟踪由处理器Pa 501所支持的所有用户的用户行为,用于计费等目的。作为一个代理,该本地业务代理与BSS 213相接,用于发送包含计费信息的用户信息或者任何其他所需信息。一个本地业务代理可以执行软件代理的功能或者根据上述预定计费方案对于每个用户位置105监视和跟踪计费信息。该计费信息被发送到控制系统215,用于转发到BSS 213的计费系统217。
图7为可以用作为上述TM 507的一个示意标题映射TM的更加详细的方框图。该DM可以包括用于存储标题的标题字段701以及用于存储与特定用户和/或相关的任何信息和/或与该用户或用户位置105相关的任何可用合同的合同参数和限制字段703。一些例子被示出,例如观看时间周期值705、暂停时序值707、FF计数709和RW计数值711。该观看时间周期值705可以被包含以表示用户必须在请求之后主动观看该标题的最大时间量。可以包含该暂停时序值707,以表示如果用户中断他们的观看,则该标题可用而没有进一步的费用的最大时间量。可以包含W计数值709、711,以分别或限制用户必须执行快进或回倒功能的次数。例如,“不许回倒”条款或者“不能回倒三次以上”条款可以包含在演播室合同中,其中该RW计数值711被分别用于防止回倒或者把回倒次数限制为三次。一个当前数据指针713可以被包含,以存储一个地址或指针,来标记在被发送数据和要被发送的数据之间的位置,从而UP 503可以保持跟踪数据的进程。提供一个数据段715来存储数据块地址或指针的列表,例如连续或链接的数据块字段717的列表,包括例如数据块数目、大小、位置(10c)等等这样的信息。
应当知道所示的DM仅仅是示意性的,其中根据各种设计参数可以采用许多变型和配置或附加参数。该UP 503根据适当的可用用户合同对DM进行初始化,例如适当的特定观看和暂停时序参数或者FF/RW计数值。当前数据指针713被复位到0或者指向第一数据块,以在开始时对观看处理进行初始化。如果为了一个已经存储的标题从另一个处理器205复制DM,则可能需要复位当前数据指针713。
图8为示出由IBS系统109所用的缓存和最近最少(LRU)策略用于标题和数据的存储和检索的方框图。该LRU策略被用于形成RAID的盘阵列207中,其中首先使用空白存储空间,并且当没有空白空间时,首先改写最旧的数据。该缓存策略保证数据被从最快的存储器或在任何给定时间存储的存储位置中提取。该缓存策略是分级的,其中盘阵列207作为用于库存储系统201的数据“高速缓存”,并且被集中示出为存储器823的处理器205的各自存储器305作为用于盘阵列207的数据缓存。可能存在附加的层,例如用于本地读取子块(还被基于LRU而管理)的大存储器缓存,作为用于处理器205的各自CPU 303的缓冲存储器的CPU 303的二级(L2)缓存。一级缓存一般被包含在各个CPU中,并且没有示出或描述。该各个CPU 303被集中示出为CPU 827,并且L2高速缓存被集中示出为L2高速缓存825。每个用户流的输出缓存还可以被用于在需要时缓冲由峰值所造成的来自存储器的任何速率变化,但是只要用户处理结束,这些缓冲器被放弃。
标题请求801的一个堆栈是由用户为标题启动的UTR的示意表示,其分别被标记为“A”、“B”、“C”、“D”和“E”。存储器表示815是被示出为能够仅仅存储多达5个相等尺寸的标题的盘阵列207的集中存储容量。当然,在一个实际配置中,该盘阵列207的存储容量非常大并且该标题是可变尺寸的。前5个标题A-E被示出为存储在由存储器表示815所示出的连续位置处。该表示再次被简化,使得每个标题被实际在RAID之间细分和分配。首先注意该盘阵列207最初是空闲的,从而每个标题A-E必须从库存储系统201检索,导致在IBS系统109中具有最大的数据检索延迟。还应当指出,第一组被检索的标题中的每一个标题被存储在空白数据位置,而不是改写现有的标题,从而只要可能的话,根据:LRU策略,每个标题保留在盘阵列207中。
在方框805示出的下一个被请求的标题“B”已经被存储器表示815所存储因此可以从盘阵列207的RAID检索而不是从库存储系统201检索。按照这种方式,只要一个标题保持完全存储在盘阵列207中,则可以非常快地检索,因为该盘阵列207比库存储系统201快得多。当在处理器的存储器中缓存一个标题时,可以比从盘阵列207快几个量级地执行检索。这对于在方框807所示的下一个被请求标题“C”同样正确,因为它已经被存储在由存储器表示815所示的盘阵列207中,并且不需要再次从库存储系统201中检索。应当指出,只要标题保持存储在盘阵列207中,则为每个标题创建和存储在MD 601中的DM保持有效。在MD 601中的DM的“主”副本被复制到请求相同标题的任何处理器205。因此,用于标题B和C的原始DM被复制并且重新使用,使得标题B和C保持在盘阵列207中的时间比仅仅被请求一次的情况更长。一个附加的部分数据策略可以可选地使用,使得在盘阵列207中部分均匀地存储的标题被重新使用,而不是从库存储系统201中检索整个标题。例如,在该部分数据配置中,即使标题B或C在存储器表示815中被部分地改写,则当从库存储系统201检索被擦除部分时,现有的部分可以被使用。这种部分数据策略将需要附加的数据跟踪和管理功能。
当在盘阵列207中没有空白的存储空间时,新的标题F接着被请求,如809所示。在盘阵列207中的最旧的数据是标题A,从而新的标题F根据由新的存储表示817所示的LRU策略替换旧标题A。该标题B、C、D和E保持与新的标题F一同存储在盘阵列207中。一个新的标题G接着被请求,如811所示,其必须再次替换在盘阵列207中的最旧的数据,这是由包含标题F,B,C,G和E的新存储表示819所示的标题D。该标题A被再次请求,如在813所示。由于用于标题A形成该原始请求的数据已经被改写并且不再存在于盘阵列207内,因此它被作为一个新的标题,以替换存储在盘阵列207中的最旧的数据。按照这种方式,新的标题A替换在盘阵列207中的最旧标题E,如新的存储表示821所示。应当知道在允许数据被新的标题所改写之前,只要可能的话,该LRU策略在盘阵列207中存储数据。
该CPU 827执行处理标题数据的处理829,包括用户处理(UP)和用于从盘阵列207检索数据的本地RP处理。该CPU 827通常使用存储器823来操作,从而在转发到主干交换机203和/或到用户位置105之前,从盘阵列207检索的数据首先被存储在本地存储器823内。并且,该CPU 827可以包括L2高速缓存825,其允许更快和更加有效地执行数据检索。CPU 827首先从L2高速缓存825(如果存在的话)自动检索由由处理829所请求的数据,然后从存储器823检索(如果存在的话),最后从盘阵列207检索。如果数据还没有存储在盘阵列207中,则DP 505调用装载处理509或者MLP 531,用于把标题从库存储系统201检索到盘阵列207,如上文所述。按照这种方式,存储器823和L2高速缓存825作为在盘阵列207之上的缓存层。该存储器823和L2高速缓存825通常根据LRU策略而工作,从而数据被保持在这些存储器中,直到被新的数据所改写时为止。根据该LRU策略,当RAM缓存区充满并且读取新数据时,在RAM中的最久的数据段被新的内容所擦除,其按照类似于在盘阵列207中所用的LRU策略的方式重新使用存储器区域。按照这种方式,利用LRU和缓存,如果被请求的数据最近还没有被读取,即仍然在RAM中,则它被从RAM中提供,而不需要访问盘阵列207,并且如果它仍然在盘阵列207中,则它被从盘阵列207提供,而不是从库存储系统201访问。应当知道,最流行的标题更加可能被保留在存储器或者磁盘驱动器中,因此比不经常被请求的不太流行的标题显著地增快检索。
图9为示出根据本发明一个实施例的镜像处理的方框图。第一处理器Pa 901执行使用第一标题映射TM1 905的第一用户处理UP1 903。第二处理器Pb 907对UP1执行镜像用户处理,示出为UP1镜像909,其使用一个镜像标题映射TM1镜像911。在该配置中,对于在一个处理器上执行的每个正常用户处理,在另一个处理器上执行镜像用户处理。并且,当从MD 601复制目录处理时,还在由该镜像用户处理所控制的镜像处理器上执行复制。只要UP1 903被正常操作,则UP1镜像909仅仅模仿或反映UP1 903,并且执行相对较小的处理。特别地,在其他镜像功能中,UP1镜像909仅仅跟踪UP1 903的进程,例如由DM1镜像911模拟在DM1 905中的当前数据位置。按照这种方式,由处理器Pb 907所执行用于实现镜像处理UP1镜像909和DM1镜像911的处理器Pb 907执行的额外处理量被最小化。按照类似的方式,处理器Pb 907执行第二用户处理UP2 913,其使用第二标题映射DM2 915。该第一处理器Pa 901对UP2执行镜像用户处理,示出为UP2镜像917,其使用一个镜像指示器映射DM2镜像919。只要UP2913正常操作,则在其他镜像功能中,UP2镜像917仅仅模仿或模拟或者跟踪UP2913的进程。
按照这种方式,应当知道,该处理器Pa 901和Pb 907对于至少一个用户处理相互跟踪。尽管没有明确示出,但是在例如处理器Pa 901这样的一个给定处理器上执行的每个用户处理由在另一个处理器205上的镜像处理所模仿,并且不一定是相同的处理器。例如,如果处理器Pa 901执行250个用户处理,则在其他处理器205上分配250个镜像处理,或者否则在至少一个其他处理器上执行,例如处理器Pb 907。并且,该处理器Pa 901可以对在另一个处理器205上执行的另一个用户处理执行至少一个镜像处理,否则执行多达250或更多的镜像处理,假设每个处理器205都负责多达250个用户处理。在一个实施例中,在例如处理器Pa 901这样的给定处理器上执行的所有用户处理被一个其他处理器所镜像,例如处理器Pb 907,反之亦然。
一个脉动信号HB1被从处理器Pa 901提供到处理器Pb 907。该HB1信号可以由软件处理、硬件处理或者两者的结合来产生。例如,该HB1信号可以直接与在处理器Pa 901上执行的用户处理UP1 903相关,或者可以与在处理器Pa 901上执行的所有用户处理相关。另外,该HB1信号可以是硬件相关的并且由处理器Pa 901或其CPU来产生。该HB1信号是一个周期性或连续的信号,其通常用于表示始发计算机的状态。例如,只要该HB1信号由处理器Pa 901周期或连续产生(或者否则连续取消),则处理器Pb 907认为处理器Pa 901正常操作并且继续镜像其进程。但是,如果HB1信号表示失败,例如当处理器Pa 901在预定的时间段内没有获得HB1信号,或者当HB1信号被取消或确认(例如接地信号或者开路硬件信号),则该处理器Pb 907认为处理器Pa 901的相关处理失败,并且处理器Pb 907激活用户处理UP1镜像909来取代原用户处理UP1 903。由于UP1镜像909保持跟踪UP1 903,则UP1镜像909几乎准确地在UP1 903停用之处以透明的方式立即取代,从而在相应用户位置105的终端用户没有感觉到服务中断。HB1信号的时序被设计为允许镜像处理UP1镜像909,以保证UP1 903的服务的控制,而不中断服务。由处理器Pb 907产生给处理器Pa 901的另一个脉动信号HB2按照类似的方式工作,以保证在处理器Pb 907上执行的一个或多个处理发生故障或者处理器Pb 907本身发生故障时,镜像处理UP2镜像917取代主处理UP2 913的处理。用于该脉动信号的一种格式是表示在被显示的文件中的主要处理的位置的一个数值,因此作为脉动和状态的指示符。
在一个实施例中,在处理器Pa 901上执行的所有第一用户处理被在处理器Pb 907上的相应镜像处理所镜像,反之亦然。在该实施例中,该处理器205都是成对的,使得主处理器镜像该对中的第二处理器,反之亦然。按照类似的方式,该镜像处理器的镜像处理在任何处理器205发生故障时采用主处理责任。一系列类似的交换机921中的相应一个交换机被提供在每对处理器205的输出端,以透明和自动地在主和镜像处理之间交换。如图所示,该处理器Pa 901的输出耦合到端口927,并且处理器Pb 907的输出耦合到交换机921的端口929。交换机921的第三端口931耦合到用于处理器Pa 901的调制器/解调器MDa 923,并且另一个端口933耦合到用于处理器Pb 907的调制器/解调器MDb 925。该交换机921是基于地址的,例如一个4端口以太网交换机等等,其中每个端口927-933以1Gbps或更多的速率工作。
在正常操作过程中,由处理器Pa 901所保存的数据被发送到MDa923,使得进入端口927的数据被交换机921转发到端口931。类似地,在正常操作过程中,由处理器Pb 907所给出的数据被发送到MDb 925,使得进入端口929的数据被交换机921转发到端口933。在处理器Pb 907发生故障的情况下,HB2信号包括这种故障,从而镜像处理UP2镜像917取代主处理UP2913。该镜像处理UP2镜像917把数据提供到交换机921的端口927,但是仍然寻址到MDb 925,从而交换机921自动把数据转发到其端口933,而不是端口931。由第一用户处理UP1903所提供数据继续寻址到MDa 923,从而进入端口927的数据仍然被交换机921转发到端口931。按照这种方式,处理器Pb 907的故障基本上对于与处理UP1903和UP2913相关的用户位置105。按照类似的方式,在第一处理器Pa 901发生故障的情况中,该镜像处理UP1镜像909把失败的主用户处理UP1 903和到MDa 923的主原始数据,其被交换机921从端口929转发到端口931。按照这种方式,第一处理器Pa 901的故障基本上对于与处理UP1903和UP2913相关的用户位置105来说基本上是透明的。
还应当注意,该交换机921自动处理上游用户数据,使得被激活的镜像处理接收从正确的用户位置105发送的任何用户数据。具体来说,如果镜像处理UP2镜像917被激活以取代主处理UP2913,则对于失败的主处理UP2913,发送到MDb 925寻址到处理器Pb 907的数据被交换机921自动地从端口933转发到端口927,并且被镜像处理UP2镜像917所接收。类似地,如果镜像处理UP1镜像909被激活以取代镜像处理UP1 903,则对于失败的主处理UP1 903,发送到MDa 923寻址到处理器Pa 901的数据被交换机921自动从端口931转发到端口929,并且被镜像处理UP1镜像909所接收。
进一步指出如果处理器Pa 901与处理器Pb 907镜像成对,则在处理器Pa 901(或Pb 907)发生故障时,其他处理器Pb 907(或Pa 901)负责发生故障的处理器的所有用户处理。按照这种方式,该镜像处理器立即负责这两个处理器的所有用户的所有数据处理任务。应当指出尽管已经参照用户处理描述该镜像处理,但是镜像处理允许用于与用户服务相关的其他处理功能,例如RAID控制器、检索处理、装载处理、目录处理、业务处理等等。如果在高使用率过程中,例如在高峰时间过程中,出现故障,并且如果处理器205不被设计为处理这种处理器对的组合的全部处理,则剩余的处理器可能(或可以)处理用于这两个处理器的全部处理功能。
考虑在给定处理器205负担过重的情况时,例如在另一个处理器发生故障的情况,适度地出现服务质量下降。在正常环境下,过量的网络带宽可以用于“Barker信道”、预览和可用位率异步业务。如果出现故障并且该镜像处理不能接替所有当前处理,则Barker信道或者预览从视频转换为静止图像,或者转向其他服务,例如商业信息片商业电视节目等等。ABR业务量可能大大地减小。如果处理器205的大部分带宽被用于非收入型服务,例如在出现紧急情况时首先被取消的服务。作为一种最后的手段,客户数据流被按照优先权而中断,例如先来先服务(FCFS)或者保持更高收入的数据流等等。在一个实施例中,例如,尝试负责两个处理器的镜像处理器确定不能够接替故障处理器的整个处理能力,则该镜像处理器有选择地仅仅负责它在此时能够负责的处理。例如,该镜像处理器可以仅仅根据FCFS等等取用户处理的一个子集。按照这种方式,许多用户不会感觉到服务中断。
应当指出,根据数据的类型以及根据IBS系统109的处理能力,该标题和信息可以用各种格式存储在库存储系统201中。并且,在装载和存储处理过程中或者在检索和传送处理过程中,该数据由一个或多个处理。在此已经给出多个例子,例如把MPEG-2数据从解码次序转换为显示次序,为RAID存储产生ECC信息,添加标签和时序信息以便于能够执行PVR(例如,快进、回倒、暂停)等等。但是可以添加其他信息和内容,例如用于添加要在显示过程中显示或使用的商业广告、元数据或附加信息的拼接内容、合同义务(例如,结束日期等等)。许多附加信息可以被包含到每个数据块的标头。
在一个示意实施例中,该标题可以被预先记录为一种所选择的格式,用于在库存储系统201中存储,以包含一些或所有附加信息,并且减小或消除在请求该标题并且装载到盘阵列207时的后期处理。用于元数据的一个示意格式是扩展标识语言(XML),以MPEG-7标准为例。在一种配置,一个或多个处理器205包括用于把所接收内容存储为所需格式的处理和记录能力。另外,提供独立的记录台(未示出),用于把来自第三方的内容从给定或标准格式转换为由IBS系统109所使用的所需格式。按照这种方式,该数据可以被重新组织并且进一步用包括ECC信息的RAID格式预处理,然后以所需格式存储。按照这种方式,当所处理的数据被从库存储系统201装载,存储在盘阵列207中和/或由用户处理从盘阵列207提取时,附加处理被大大地减少。
应当指出,根据所存储的数据类型,存储在库存储系统201中的每个标题与相应的带宽或数据率相关。按照这种方式,该IBS系统109以在小于1Mbps至大于20Mbps之间可变的数据率处理可变内容。并且,在IBS系统109中的每个部件具有在任何时间都不超过的预定的最大带宽容量。例如,主干交换机203和每个处理器205具有与其相关的给定最大带宽。由于被处理的数据具有可变数据率,因此该数据在该系统中的一个点处堆积在一起,导致过载或瓶颈。从库存储系统201到盘阵列207的随机或伪随机的数据存储应当减轻带宽堆积问题,尽管该问题不能够用随机算法完全解决。
在管理处理器210处集中执行或者在处理器205之间分布的管理功能管理该带宽,以避免带宽堆积和潜在的输出瓶颈,这可能造成过载状态。在一个实施例中,该管理功能跟踪在每个部件的带宽使用,并且进一步跟踪与每个所请求标题相关的附加带宽。当发出每个标题请求时,该管理功能把当前带宽和用于添加新标题所需的附加带宽相比较,并且把新的带宽要求与在任何给定点的最大带宽参数相比较。这种带宽跟踪还考虑到随时间变化的带宽需求,以避免或使得潜在可能超过最大带宽参数的带宽使用高峰最小化。在一个实施例中,该管理功能采用潜在或延迟增量来避免潜在过载状态。按照这种方式,如果管理功能识别一个过载状态,则新的标题请求不被立即发出,并且该管理在添加延迟增量之后重新计算带宽使用。如果仍然出现过载状态,则该管理功能继续使用附加延迟增量进行重新计算,直到消除任何确定的过载状态或者使其最小化。按照这种方式,在所计算的延迟增量数之后,发出新的标题,以消除或使得过载状态最小化。在一种配置中,如果不能够避免过度使用带宽,则新的标题可以被无限地延迟。另外,在特定延迟之后的带宽使用高峰被最小化,该管理功能期望所有过度过载状态和重新分配带宽,以随时间扩展该处理,并且消除过载状态。例如,可以执行附加的预处理或者可以采用分布处理以避免过载状态。
尽管本发明已经参照包括优选方案的特定实施例进行描述,但是可以考虑其他变型和改进。本发明要覆盖可以合理地包含在本发明的精神和思想中的这种变型、更改和等价替换。本领域的普通技术人员应当知道,可以容易地使用所公开的思想和特定实施例作为用于设计或更改其他实现本发明的目的的其他结构,而不脱离由所附权利要求定义的本发明的精神和范围。

Claims (41)

1.一种交互式宽带服务器系统,其中包括:
多个处理器,每个处理器具有端口接口、存储设备接口和通信接口;
主干交换机,其包括多个端口,所述多个端口中的每一个端口耦合到所述多个处理器中的相应一个处理器的相应端口接口,其中所述主干交换机使得能在所述多个处理器的每一个之间进行高速通信;
多个存储设备,其耦合到所述多个处理器并且在所述多个处理器之间分配,每个所述存储设备具有耦合到所述多个处理器中的相应的一个处理器的存储设备接口的接口;
所述多个存储设备存储至少一个标题,每个标题被分为数据块,该数据块被在所述多个存储设备中的两个或更多存储设备上分配;以及
多个用户处理,每个用户处理用于在经过相应通信接口与多个用户位置中的相应一个用户位置相接口的所述多个处理器中的相应一个处理器上执行,每个用户处理用于通过所述主干交换机从所述多个处理器中的两个或更多处理器检索所请求的标题,并且把所述请求的标题组合,以传送到请求用户位置。
2.根据权利要求1所述的交互式宽带服务器系统,其中所述多个存储设备被组织到多个RAID组,并且每个存储的标题的数据块在所述多个RAID组上分配。
3.根据权利要求2所述的交互式宽带服务器系统,其中每个数据块被进一步分为在多个RAID组之一上分配的多个子块。
4.根据权利要求2所述的交互式宽带服务器系统,其中在所述多个用户处理之间分配RAID组检索和组合功能。
5.根据权利要求1所述的交互式宽带服务器系统,其中每个所述用户处理通过所述主干交换机转发标题的请求,并且接收指定所述请求的标题的数据块的位置的一个标题映射,并且使用所述标题映射采通过所述主干交换机从所述多个存储设备检索所述数据块。
6.根据权利要求5所述的交互式宽带服务器系统,其中每个所述标题映射确定一个标题的每个数据块被存储在所述多个存储设备中。
7.根据权利要求1所述的交互式宽带服务器系统,其中进一步包括:
用于存储至少一个标题的至少一个存储源;以及
在所述多个处理器的至少一个处理器上执行的至少一个装载处理,每个所述装载处理被配置为从所述至少一个存储源检索一个标题,以把所述标题分为数据块,并且通过所述多个处理器和所述主干交换机把所述数据块在所述多个存储设备上分配。
8.根据权利要求7所述的交互式宽带服务器系统,其中进一步包括:
在所述多个处理器的至少一个处理器上执行的至少一个检索处理,每个所述检索处理被配置为从一个被请求的标题的所述多个存储设备检索所述数据块,并且把检索的数据块转发到一个请求的用户处理。
9.根据权利要求7所述的交互式宽带服务器系统,其中进一步包括:
执行目录处理的所述多个处理器中的至少一个处理器,其包括一个主目录,其进一步包括对于存储在所述多个存储设备中的每个标题的标题映射,每个存储设备包括定位相应标题的每个数据块的标题映射。
10.根据权利要求9所述的交互式宽带服务器系统,其中进一步包括:
所述目录处理从所述多个用户处理中的任何一个处理接收标题请求,以在所述多个存储设备中分配存储空间,以创建相应的标题映射,以调用装载处理来把所述被请求标题的一个副本从所述至少一个存储源传送到所述多个存储设备,以及把标题映射转发到所述多个用户处理中的任何一个处理;以及
所述装载处理根据相应的标题映射存储每个所述数据块。
11.根据权利要求9所述的交互式宽带服务器系统,其中当在所述多个存储设备中分配存储空间时,所述目录处理采用最近最少使用的(LRU)策略。
12.根据权利要求9所述的交互式宽带服务器系统,其中所述多个存储设备被组织到多个RAID组,并且其中每个所存储的标题的数据块在所述多个RAID组上均匀分配。
13.根据权利要求7所述的交互式宽带服务器系统,其中所述至少一个存储源包括多个介质读取器,每个读取器耦合到所述多个处理器中的一个相应处理器,并且被配置为接收存储至少一个标题的存储介质。
14.根据权利要求13所述的交互式宽带服务器系统,其中所述多个介质读取器中的每一个包括一个光盘驱动器。
15.根据权利要求13所述的交互式宽带服务器系统,其中所述至少一个存储源包括一个库存储系统,其包括用于存储多个标题的多个存储介质,所述库存储系统被配置为通过主干交换机接收标题请求,并且把一个相应的存储介质装载到所述多个介质读取器中的任何一个中。
16.根据权利要求13所述的交互式宽带服务器系统,其中所述多个处理器中的每一个包括具有PC组件的个人计算机(PC)系统,其中包括耦合到所述多个存储设备中的至少一个的第一外围接口,耦合到所述多个介质读取器之一的第二外围接口,耦合到所述主干交换机的一个端口的第三外围接口,以及用于在所述多个用户位置的至少一个位置处相接的第四外围接口。
17.根据权利要求1所述的交互式宽带服务器系统,其中所述多个存储器包括运转操作支持系统和业务支持系统的管理处理器。
18.根据权利要求1所述的交互式宽带服务器系统,其中所述主干交换机包括一个以太网交换机。
19.根据权利要求1所述的交互式宽带服务器系统,其中至少一个标题被预处理并且以预定格式存储,以减小装载和处理开销。
20.根据权利要求19所述的交互式宽带服务器系统,其中所述至少一个标题被预加密,包括预先计算的冗余信息,并且包括传输协议。
21.根据权利要求1所述的交互式宽带服务器系统,其中在一个处理器上执行的多个处理中的至少一个处理被镜像在另一个处理器上。
22.根据权利要求21所述的交互式宽带服务器系统,其中所述多个处理器中的每一个产生到一个镜像处理器的脉动信号。
23.根据权利要求22所述的交互式宽带服务器系统,其中每个所述脉动信号是表示在被传送到一个用户位置的标题中的主处理的一个位置并且作为脉动和状态指示符的一个数值。
24.根据权利要求21所述的交互式宽带服务器系统,其中进一步包括输出交换机,其具有耦合到第一处理器的输出端的第一端口,用于与由所述第一处理器所支持的第一用户位置相接的第二端口,耦合到镜像所述第一处理器的第二处理器的输出端的第三端口,以及用于与由所述第二处理器所支持的第二用户位置相接的第四端口。
25.一种交互式宽带服务器系统,其中包括:
主干交换机,其包括多个双向端口;
盘阵列,其包括多个盘驱动器,所述盘阵列存储细分为在所述盘阵列上分配的多个数据块的多个标题;
多个处理器,每个处理器具有多个接口,包括耦合到所述主干交换机的一个端口的第一接口,耦合到所述驱动器阵列的至少一个盘驱动器的第二接口,以及用于耦合到与多个用户设备相接的网络的第三接口;以及
用于在所述多个处理器上执行的多个处理,所述多个处理使得每个处理器从所述多个处理器中的两个或更多处理器检索被请求的标题的多个数据块,以组合所述被请求的标题,并且通过所述第三接口发送所述被请求的标题。
26.根据权利要求25所述的交互式宽带服务器系统,其中所述盘阵列被组织为多个RAID组,并且所述每个存储的标题的所述数据块被在所述多个RAID组上分配。
27.根据权利要求26所述的交互式宽带服务器系统,其中每个RAID组包括多个盘驱动器,每个盘驱动器耦合到所述多个处理器中的不同处理器。
28.根据权利要求27所述的交互式宽带服务器系统,其中每个数据块被进一步分为多个子块,其中每个子块被存储在RAID组的独立的盘驱动器中。
29.根据权利要求25所述的交互式宽带服务器系统,其中多个标题中的每一个包括同时通过所述多个处理器的相应第三接口传送到相应的多个用户设备的同步数据内容。
30.根据权利要求25所述的交互式宽带服务器系统,其中进一步包括:
多个介质读取器;
所述多个处理器中的每一个的所述多个接口进一步包括耦合到所述多个介质读取器之一的第四接口;以及
库存储系统,其耦合到所述主干交换机的一个端口,所述库存储系统包括集中存储多个标题的多个存储介质,所述库存储系统被配置为通过所述主干交换机接收一个标题请求并且在所述多个介质读取器的任何一个可用介质读取器上装载一个相应的存储介质。
31.根据权利要求30所述的交互式宽带服务器系统,其中所述多个处理包括至少一个装载处理,其被配置为从一个介质读取器检索一个标题,把所述标题分为数据块,以及通过所述多个处理器在所述盘阵列上分配所述数据块。
32.根据权利要求31所述的交互式宽带服务器系统,其中所述装载处理进一步包括创建定位所述标题的每个数据块的一个标题映射。
33.根据权利要求32所述的交互式宽带服务器系统,其中所述多个处理包括在一个处理器上执行的至少一个用户处理,该处理器检索所述标题映射并且使用所述标题映射来检索所述标题的每个数据块。
34.根据权利要求25所述的交互式宽带服务器系统,其中至少一个标题被预处理,并且以预定格式存储,以减小装载和处理开销。
35.根据权利要求34所述的交互式宽带服务器系统,其中所述至少一个标题被预加密。
36.根据权利要求34所述的交互式宽带服务器系统,其中所述至少一个标题包括预先计算的冗余信息。
37.根据权利要求34所述的交互式宽带服务器系统,其中所述至少一个标题包括预先存储的传输协议。
38.根据权利要求34所述的交互式宽带服务器系统,其中所述至少一个标题包括指向在所存储标题内容中的特定位置的多个指针。
39.根据权利要求38所述的交互式宽带服务器系统,其中所述多个指针包括多个时间标记。
40.一种交互式内容引擎,其中包括:
包含多个端口的主干交换机;
分别通过所述多个端口之一耦合到所述主干交换机的多个处理器;
分别耦合到所述多个处理器中的相应一个处理器的多个介质读取器;
耦合到所述主干交换机的一个端口的库存储系统,所述库存储系统包括多个存储介质,其集中存储多个标题,所述库存储系统被配置为从处理器接收标题请求,并且把相应的存储介质装载在所述多个介质读取器中的任何一个可用介质读取器上;以及
在所述多个处理器之间分配的多个存储设备;以及
在所述多个处理器上执行的至少一个处理,所述至少一个处理集中地提交标题请求,从所述可用介质读取器检索被请求标题,把所述被请求标题存储在所述多个存储设备中,并且把所述被请求标题传送到所述多个处理器之一。
41.根据权利要求40所述的交互式内容引擎,其中所述多个处理器包括:
至少一个装载处理,其把所述标题请求转发到所述库存储系统,从一个介质读取器检索所述被请求标题,把所述被请求标题分为数据块,通过所述多个处理器把所述数据块存储到所述多个存储设备中,并且创建定位所述被请求标题的每个数据块的标题映射;以及
至少一个用户处理,其检索所述标题映射,并且使用所述标题映射来检索所述被请求标题的每个数据块。
CNB028237307A 2001-11-28 2002-11-27 交互式宽带服务器系统及内容引擎 Expired - Fee Related CN100430915C (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US33385601P 2001-11-28 2001-11-28
US60/333,856 2001-11-28
US10/304,378 2002-11-26
US10/304,378 US7437472B2 (en) 2001-11-28 2002-11-26 Interactive broadband server system

Publications (2)

Publication Number Publication Date
CN1596404A CN1596404A (zh) 2005-03-16
CN100430915C true CN100430915C (zh) 2008-11-05

Family

ID=26973990

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB028237307A Expired - Fee Related CN100430915C (zh) 2001-11-28 2002-11-27 交互式宽带服务器系统及内容引擎

Country Status (8)

Country Link
US (1) US7437472B2 (zh)
EP (1) EP1451709A4 (zh)
JP (1) JP4328207B2 (zh)
CN (1) CN100430915C (zh)
AU (1) AU2002359552A1 (zh)
CA (1) CA2465909C (zh)
MX (1) MXPA04005061A (zh)
WO (1) WO2003046749A1 (zh)

Families Citing this family (68)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7031474B1 (en) 1999-10-04 2006-04-18 Srs Labs, Inc. Acoustic correction apparatus
US7277767B2 (en) 1999-12-10 2007-10-02 Srs Labs, Inc. System and method for enhanced streaming audio
AU2002247257A1 (en) * 2001-03-02 2002-09-19 Kasenna, Inc. Metadata enabled push-pull model for efficient low-latency video-content distribution over a network
KR100502106B1 (ko) * 2002-10-17 2005-07-20 한국전자통신연구원 스트라이핑 기법을 이용한 레이드 시스템에서의 데이터재구성 방법
US8923186B1 (en) * 2003-05-08 2014-12-30 Dynamic Mesh Networks, Inc. Chirp networks
US9172738B1 (en) 2003-05-08 2015-10-27 Dynamic Mesh Networks, Inc. Collaborative logistics ecosystem: an extensible framework for collaborative logistics
US10785316B2 (en) 2008-11-24 2020-09-22 MeshDynamics Evolutionary wireless networks
US9363651B1 (en) 2003-05-08 2016-06-07 Dynamic Mesh Networks, Inc. Chirp networks
US9258765B1 (en) 2003-05-08 2016-02-09 Dynamic Mesh Networks, Inc. Chirp networks
US7437458B1 (en) * 2003-06-13 2008-10-14 Juniper Networks, Inc. Systems and methods for providing quality assurance
SG145736A1 (en) * 2003-08-12 2008-09-29 Research In Motion Ltd System and method for processing encoded messages
JP4437650B2 (ja) 2003-08-25 2010-03-24 株式会社日立製作所 ストレージシステム
US7885186B2 (en) * 2003-10-03 2011-02-08 Ciena Corporation System and method of adaptively managing bandwidth on optical links shared by multiple-services using virtual concatenation and link capacity adjustment schemes
JP4257783B2 (ja) * 2003-10-23 2009-04-22 株式会社日立製作所 論理分割可能な記憶装置及び記憶装置システム
DE602004029925D1 (de) * 2003-12-02 2010-12-16 Interactive Content Engines Ll Synchronisiertes datentransfersystem
CN1332334C (zh) * 2004-01-17 2007-08-15 中国科学院计算技术研究所 一种多处理机通信装置及其通信方法
JP2005267008A (ja) * 2004-03-17 2005-09-29 Hitachi Ltd ストレージ管理方法およびストレージ管理システム
US7681105B1 (en) * 2004-08-09 2010-03-16 Bakbone Software, Inc. Method for lock-free clustered erasure coding and recovery of data across a plurality of data stores in a network
US7681104B1 (en) * 2004-08-09 2010-03-16 Bakbone Software, Inc. Method for erasure coding data across a plurality of data stores in a network
CA2584525C (en) 2004-10-25 2012-09-25 Rick L. Orsini Secure data parser method and system
US20070028010A1 (en) * 2005-08-01 2007-02-01 Texas Instruments, Inc. Peripheral device utilization monitoring
JP4771528B2 (ja) * 2005-10-26 2011-09-14 キヤノン株式会社 分散処理システムおよび分散処理方法
ES2658097T3 (es) 2005-11-18 2018-03-08 Security First Corporation Método y sistema de análisis de datos seguro
EP1811378A2 (en) * 2006-01-23 2007-07-25 Xyratex Technology Limited A computer system, a computer and a method of storing a data file
JP4829632B2 (ja) * 2006-02-10 2011-12-07 株式会社リコー データ暗号化装置、データ暗号化方法、データ暗号化プログラム、および記録媒体
US7930468B2 (en) * 2006-05-23 2011-04-19 Dataram, Inc. System for reading and writing on flash memory device having plural microprocessors
US7949820B2 (en) * 2006-05-23 2011-05-24 Dataram, Inc. Method for managing memory access and task distribution on a multi-processor storage device
US7882320B2 (en) * 2006-05-23 2011-02-01 Dataram, Inc. Multi-processor flash memory storage device and management system
EP2050002A2 (en) * 2006-08-01 2009-04-22 Massachusetts Institute of Technology Extreme virtual memory
US8806227B2 (en) * 2006-08-04 2014-08-12 Lsi Corporation Data shredding RAID mode
KR101256225B1 (ko) * 2006-08-10 2013-04-17 주식회사 엘지씨엔에스 디바이스 인터페이스 방법 및 그 장치
US20110276657A1 (en) * 2007-12-20 2011-11-10 Chalk Media Service Corp. Method and system for the delivery of large content assets to a mobile device over a mobile network
KR101426270B1 (ko) * 2008-02-13 2014-08-05 삼성전자주식회사 소프트웨어의 전자 서명 생성 방법, 검증 방법, 그 장치,및 그 방법을 실행하기 위한 프로그램을 기록한 컴퓨터로읽을 수 있는 기록매체
WO2009151789A2 (en) * 2008-04-17 2009-12-17 Sony Corporation Dual-type of playback for multimedia content
KR101496975B1 (ko) * 2008-05-28 2015-03-02 삼성전자주식회사 고체 상태 디스크 및 이에 대한 입출력방법
US8949695B2 (en) * 2009-08-27 2015-02-03 Cleversafe, Inc. Method and apparatus for nested dispersed storage
RU2622621C2 (ru) * 2009-11-04 2017-06-16 Амотек Ко., Лтд. Система и способ для потоковой передачи воспроизводимого контента
US20110179185A1 (en) * 2010-01-20 2011-07-21 Futurewei Technologies, Inc. System and Method for Adaptive Differentiated Streaming
CN102143347B (zh) * 2010-02-01 2013-09-11 广州市启天科技股份有限公司 一种多方远程互动系统
US8671265B2 (en) 2010-03-05 2014-03-11 Solidfire, Inc. Distributed data storage system providing de-duplication of data using block identifiers
US8514651B2 (en) 2010-11-22 2013-08-20 Marvell World Trade Ltd. Sharing access to a memory among clients
US9054992B2 (en) 2011-12-27 2015-06-09 Solidfire, Inc. Quality of service policy sets
US9838269B2 (en) * 2011-12-27 2017-12-05 Netapp, Inc. Proportional quality of service based on client usage and system metrics
US9195622B1 (en) 2012-07-11 2015-11-24 Marvell World Trade Ltd. Multi-port memory that supports multiple simultaneous write operations
CN105051750B (zh) 2013-02-13 2018-02-23 安全第一公司 用于加密文件系统层的系统和方法
US9258664B2 (en) 2013-05-23 2016-02-09 Comhear, Inc. Headphone audio enhancement system
US20150244795A1 (en) 2014-02-21 2015-08-27 Solidfire, Inc. Data syncing in a distributed system
US10135896B1 (en) * 2014-02-24 2018-11-20 Amazon Technologies, Inc. Systems and methods providing metadata for media streaming
US9798728B2 (en) 2014-07-24 2017-10-24 Netapp, Inc. System performing data deduplication using a dense tree data structure
US10133511B2 (en) 2014-09-12 2018-11-20 Netapp, Inc Optimized segment cleaning technique
US9671960B2 (en) 2014-09-12 2017-06-06 Netapp, Inc. Rate matching technique for balancing segment cleaning and I/O workload
US9836229B2 (en) 2014-11-18 2017-12-05 Netapp, Inc. N-way merge technique for updating volume metadata in a storage I/O stack
CN107209702B (zh) 2014-12-09 2020-11-03 马维尔以色列(M.I.S.L.)有限公司 用于在存储器中执行同时读取和写入操作的系统和方法
US9720601B2 (en) 2015-02-11 2017-08-01 Netapp, Inc. Load balancing technique for a storage array
US9762460B2 (en) 2015-03-24 2017-09-12 Netapp, Inc. Providing continuous context for operational information of a storage system
US9710317B2 (en) 2015-03-30 2017-07-18 Netapp, Inc. Methods to identify, handle and recover from suspect SSDS in a clustered flash array
US11099746B2 (en) 2015-04-29 2021-08-24 Marvell Israel (M.I.S.L) Ltd. Multi-bank memory with one read port and one or more write ports per cycle
US11403173B2 (en) 2015-04-30 2022-08-02 Marvell Israel (M.I.S.L) Ltd. Multiple read and write port memory
WO2016174521A1 (en) 2015-04-30 2016-11-03 Marvell Israel (M-I.S.L.) Ltd. Multiple read and write port memory
US10089018B2 (en) 2015-05-07 2018-10-02 Marvell Israel (M.I.S.L) Ltd. Multi-bank memory with multiple read ports and multiple write ports per cycle
US9740566B2 (en) 2015-07-31 2017-08-22 Netapp, Inc. Snapshot creation workflow
WO2017068928A1 (ja) * 2015-10-21 2017-04-27 ソニー株式会社 情報処理装置及びその制御方法、並びにコンピュータ・プログラム
WO2017068926A1 (ja) * 2015-10-21 2017-04-27 ソニー株式会社 情報処理装置及びその制御方法、並びにコンピュータ・プログラム
US10929022B2 (en) 2016-04-25 2021-02-23 Netapp. Inc. Space savings reporting for storage system supporting snapshot and clones
CN107526533B (zh) * 2016-06-21 2020-08-11 伊姆西Ip控股有限责任公司 存储管理方法及设备
US10642763B2 (en) 2016-09-20 2020-05-05 Netapp, Inc. Quality of service policy sets
US10802757B2 (en) * 2018-07-30 2020-10-13 EMC IP Holding Company LLC Automated management of write streams for multi-tenant storage
CN112672200B (zh) * 2020-12-14 2023-10-24 完美世界征奇(上海)多媒体科技有限公司 视频生成方法和装置、电子设备和存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5862403A (en) * 1995-02-17 1999-01-19 Kabushiki Kaisha Toshiba Continuous data server apparatus and data transfer scheme enabling multiple simultaneous data accesses

Family Cites Families (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS55157181A (en) * 1979-05-25 1980-12-06 Nec Corp Buffer memory control system
US5421031A (en) * 1989-08-23 1995-05-30 Delta Beta Pty. Ltd. Program transmission optimisation
US5247347A (en) * 1991-09-27 1993-09-21 Bell Atlantic Network Services, Inc. Pstn architecture for video-on-demand services
JP2666033B2 (ja) * 1993-02-18 1997-10-22 日本アイ・ビー・エム株式会社 データ供給装置
EP0625857B1 (en) * 1993-05-19 1998-06-24 ALCATEL BELL Naamloze Vennootschap Video server
DE69317267T2 (de) * 1993-05-19 1998-06-25 Alsthom Cge Alcatel Netzwerk für Video auf Anfrage
US5581479A (en) * 1993-10-15 1996-12-03 Image Telecommunications Corp. Information service control point, which uses different types of storage devices, which retrieves information as blocks of data, and which uses a trunk processor for transmitting information
US5473362A (en) * 1993-11-30 1995-12-05 Microsoft Corporation Video on demand system comprising stripped data across plural storable devices with time multiplex scheduling
JP3617089B2 (ja) * 1993-12-27 2005-02-02 株式会社日立製作所 映像蓄積配送装置及び映像蓄積配送システム
US5732239A (en) * 1994-05-19 1998-03-24 Starlight Networks Method for operating a disk storage system which stores video data so as to maintain the continuity of a plurality of video streams
US5521631A (en) * 1994-05-25 1996-05-28 Spectravision, Inc. Interactive digital video services system with store and forward capabilities
US5606359A (en) * 1994-06-30 1997-02-25 Hewlett-Packard Company Video on demand system with multiple data sources configured to provide vcr-like services
US5671377A (en) * 1994-07-19 1997-09-23 David Sarnoff Research Center, Inc. System for supplying streams of data to multiple users by distributing a data stream to multiple processors and enabling each user to manipulate supplied data stream
DE69521374T2 (de) * 1994-08-24 2001-10-11 Hyundai Electronics America, Milpitas Videoserver und diesen verwendendes System
US5712976A (en) * 1994-09-08 1998-01-27 International Business Machines Corporation Video data streamer for simultaneously conveying same one or different ones of data blocks stored in storage node to each of plurality of communication nodes
WO1996017306A2 (en) * 1994-11-21 1996-06-06 Oracle Corporation Media server
US5729279A (en) * 1995-01-26 1998-03-17 Spectravision, Inc. Video distribution system
US5608448A (en) 1995-04-10 1997-03-04 Lockheed Martin Corporation Hybrid architecture for video on demand server
US5742892A (en) 1995-04-18 1998-04-21 Sun Microsystems, Inc. Decoder for a software-implemented end-to-end scalable video delivery system
US5721815A (en) * 1995-06-07 1998-02-24 International Business Machines Corporation Media-on-demand communication system and method employing direct access storage device
JP3088268B2 (ja) * 1995-06-21 2000-09-18 日本電気株式会社 ビデオ・オン・デマンドシステムにおけるビデオサーバ
US5678061A (en) * 1995-07-19 1997-10-14 Lucent Technologies Inc. Method for employing doubly striped mirroring of data and reassigning data streams scheduled to be supplied by failed disk to respective ones of remaining disks
US5790794A (en) 1995-08-11 1998-08-04 Symbios, Inc. Video storage unit architecture
US6049823A (en) * 1995-10-04 2000-04-11 Hwang; Ivan Chung-Shung Multi server, interactive, video-on-demand television system utilizing a direct-access-on-demand workgroup
US5862312A (en) * 1995-10-24 1999-01-19 Seachange Technology, Inc. Loosely coupled mass storage computer cluster
US5978843A (en) * 1995-12-06 1999-11-02 Industrial Technology Research Institute Scalable architecture for media-on-demand servers
US6128467A (en) * 1996-03-21 2000-10-03 Compaq Computer Corporation Crosspoint switched multimedia system
US6032200A (en) * 1996-09-30 2000-02-29 Apple Computer, Inc. Process scheduling for streaming data through scheduling of disk jobs and network jobs and the relationship of the scheduling between these types of jobs
US5974503A (en) * 1997-04-25 1999-10-26 Emc Corporation Storage and access of continuous media files indexed as lists of raid stripe sets associated with file names
US5892915A (en) * 1997-04-25 1999-04-06 Emc Corporation System having client sending edit commands to server during transmission of continuous media from one clip in play list for editing the play list
US6230200B1 (en) * 1997-09-08 2001-05-08 Emc Corporation Dynamic modeling for resource allocation in a file server
US6134596A (en) * 1997-09-18 2000-10-17 Microsoft Corporation Continuous media file server system and method for scheduling network resources to play multiple files having different data transmission rates
US6415373B1 (en) * 1997-12-24 2002-07-02 Avid Technology, Inc. Computer system and process for transferring multiple high bandwidth streams of data between multiple storage units and multiple applications in a scalable and reliable manner
US6374336B1 (en) * 1997-12-24 2002-04-16 Avid Technology, Inc. Computer system and process for transferring multiple high bandwidth streams of data between multiple storage units and multiple applications in a scalable and reliable manner
US6182128B1 (en) * 1998-03-05 2001-01-30 Touchmusic Entertainment Llc Real-time music distribution systems
US6101547A (en) 1998-07-14 2000-08-08 Panasonic Technologies, Inc. Inexpensive, scalable and open-architecture media server
US6370579B1 (en) * 1998-10-21 2002-04-09 Genuity Inc. Method and apparatus for striping packets over parallel communication links
US6289383B1 (en) * 1998-11-30 2001-09-11 Hewlett-Packard Company System and method for managing data retrieval bandwidth
US6401126B1 (en) * 1999-03-10 2002-06-04 Microsoft Corporation File server system and method for scheduling data streams according to a distributed scheduling policy
US6289376B1 (en) * 1999-03-31 2001-09-11 Diva Systems Corp. Tightly-coupled disk-to-CPU storage server
US6275898B1 (en) * 1999-05-13 2001-08-14 Lsi Logic Corporation Methods and structure for RAID level migration within a logical unit
US6604155B1 (en) * 1999-11-09 2003-08-05 Sun Microsystems, Inc. Storage architecture employing a transfer node to achieve scalable performance
JP2001166887A (ja) * 1999-12-08 2001-06-22 Sony Corp データ記録再生装置及びデータ記録再生方法
WO2001043438A1 (en) * 1999-12-10 2001-06-14 Diva Systems Corporation Method and apparatus for storing content within a video on demand environment
US6898285B1 (en) * 2000-06-02 2005-05-24 General Instrument Corporation System to deliver encrypted access control information to support interoperability between digital information processing/control equipment
US20020157113A1 (en) * 2001-04-20 2002-10-24 Fred Allegrezza System and method for retrieving and storing multimedia data
US20030046704A1 (en) * 2001-09-05 2003-03-06 Indra Laksono Method and apparatus for pay-per-quality of service for bandwidth consumption in a video system
US6907466B2 (en) * 2001-11-08 2005-06-14 Extreme Networks, Inc. Methods and systems for efficiently delivering data to a plurality of destinations in a computer network

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5862403A (en) * 1995-02-17 1999-01-19 Kabushiki Kaisha Toshiba Continuous data server apparatus and data transfer scheme enabling multiple simultaneous data accesses

Also Published As

Publication number Publication date
JP2005527130A (ja) 2005-09-08
EP1451709A4 (en) 2010-02-17
CA2465909C (en) 2009-09-15
MXPA04005061A (es) 2004-08-19
AU2002359552A1 (en) 2003-06-10
US20030115282A1 (en) 2003-06-19
WO2003046749A1 (en) 2003-06-05
US7437472B2 (en) 2008-10-14
CA2465909A1 (en) 2003-06-05
JP4328207B2 (ja) 2009-09-09
CN1596404A (zh) 2005-03-16
EP1451709A1 (en) 2004-09-01

Similar Documents

Publication Publication Date Title
CN100430915C (zh) 交互式宽带服务器系统及内容引擎
US5805804A (en) Method and apparatus for scalable, high bandwidth storage retrieval and transportation of multimedia data on a network
KR100256016B1 (ko) 비디오 데이타를 서비스하는 노드 선택 방법, 분산비디오 서버 시스템, 비디오 서버 시스템, 분산 컴퓨팅 시스템 및 그의 제어 방법
JP4709304B2 (ja) 安価でスケーラブルなオープンアーキテクチャメディアサーバ
US6240243B1 (en) Method and apparatus for storing and retrieving scalable video data in a disk-array-based video server
US7143433B1 (en) Video distribution system using dynamic segmenting of video data files
EP1320994B1 (en) Systems and method for interacting with users over a communications network
WO1996017306A9 (en) Media server
US6442599B1 (en) Video storage unit architecture
US6925499B1 (en) Video distribution system using disk load balancing by file copying
US7246369B1 (en) Broadband video distribution system using segments
US8255457B2 (en) Adaptive content load balancing
KR20020035571A (ko) 서버 또는 유저로부터 다른 유저로의 vod
EP1311122A2 (en) Using NAS appliance to build a non-conventional distributed video server
MXPA06006330A (es) Sistema de transferencia de datos sincronizado.
CN1093660C (zh) 多媒体系统中高效传送数据流的系统方法和设备
CN1118959A (zh) 提供多媒体信息的半导体存储器服务器
US20030154246A1 (en) Server for storing files
CA2444438A1 (en) System and method for retrieving and storing multimedia data
US20020147827A1 (en) Method, system and computer program product for streaming of data
CN100449509C (zh) 一种使数据单元流入终端的备份交换机
TW571594B (en) Methods for providing video-on-demand services for broadcasting systems
Buddhikot Project MARS: scalable, high performance, Web based multimedia-on-demand (MOD) services and servers
CN100410917C (zh) 同步数据传送系统及方法
JPH11298880A (ja) ストレージ共有型分散ビデオサーバシステム

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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20081105

Termination date: 20181127

CF01 Termination of patent right due to non-payment of annual fee