CN101027668B - 基于块映射表缓冲存储和虚拟文件系统的可堆叠文件系统模块的分布式存储结构 - Google Patents
基于块映射表缓冲存储和虚拟文件系统的可堆叠文件系统模块的分布式存储结构 Download PDFInfo
- Publication number
- CN101027668B CN101027668B CN2005800238220A CN200580023822A CN101027668B CN 101027668 B CN101027668 B CN 101027668B CN 2005800238220 A CN2005800238220 A CN 2005800238220A CN 200580023822 A CN200580023822 A CN 200580023822A CN 101027668 B CN101027668 B CN 101027668B
- Authority
- CN
- China
- Prior art keywords
- file
- computing machine
- memory device
- resource
- memory
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/21—Server components or server architectures
- H04N21/218—Source of audio or video content, e.g. local disk arrays
- H04N21/2181—Source of audio or video content, e.g. local disk arrays comprising remotely distributed storage units, e.g. when movies are replicated over a plurality of video servers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/21—Server components or server architectures
- H04N21/218—Source of audio or video content, e.g. local disk arrays
- H04N21/21815—Source of audio or video content, e.g. local disk arrays comprising local storage units
- H04N21/2182—Source of audio or video content, e.g. local disk arrays comprising local storage units involving memory arrays, e.g. RAID disk arrays
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/231—Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
- H04N21/23109—Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion by placing content in organized collections, e.g. EPG data repository
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/231—Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
- H04N21/2312—Data placement on disk arrays
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0605—Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0643—Management of files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99941—Database schema or data structure
- Y10S707/99942—Manipulating data structure, e.g. compression, compaction, compilation
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99941—Database schema or data structure
- Y10S707/99944—Object-oriented database structure
- Y10S707/99945—Object-oriented database structure processing
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99951—File or database maintenance
- Y10S707/99952—Coherency, e.g. same view to multiple users
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99951—File or database maintenance
- Y10S707/99952—Coherency, e.g. same view to multiple users
- Y10S707/99953—Recoverability
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
一种分布式存储结构和分层缓冲存储系统被使用在视频点播或流媒体应用中,基于块映射表缓存和虚拟文件系统的可堆叠文件系统模块的分布式存储结构的说明性的实施例包括控制器、第一计算机和第二计算机、第一和第二交换机以及存储设备。第一计算机包括本地文件系统,且使用此系统将本地文件系统中的资源文件存储在第一存储设备上。第一计算机使用用于为每一资源文件产生块映射表的程序,所述块映射表包括关于资源文件存储在第一存储设备上的界限的信息。
Description
相互参照
本申请要求于2004年7月21日提交,名称为“Distributed StorageArchitecture Based on block Map Caching and VFS Stackable File SystemModules”的美国临时申请Nos.60/589,578,和于2004年7月23日提交,名称为“A Scalable Streaming Video Server Complex Based on TieredCaching”的美国临时申请Nos.60/590,431的权益,其中的各临时申请这里全部引入作为参考。
技术领域
本公开一般涉及用于例如分布数据例如流视频数据的分布式存储系统。
背景技术
涉及本文公开的主题的背景信息可以在下列参考中找出:
(1)E.Zadok等人,“Extending File Systems Using StackableTemplates,”Proc.1999 USENIXAnnualTechnicalConf.,1999年6月;
(2)D.Rosenthal,“Evolving the Vnode Interface,”Proceedingsofthesummer USENIXConference,107-117页,1999年6月;(3)A.Dan等人,“Buffer Management Policy for an On-Demand videoserver,”IBMResearch Report RC 19347
(4)A.Dan等人,“Buffering and Caching in Large-scale video servers,”Proc.Compcon,217-224页,1995年3月;以及
(5)M.Bar等人,“Long-term Movie Popularity Models inVideo-on-Demand Systems,”Proceedings of ACM Multimedia Conference, 349-357页,1997年11月。
附图说明
图1示意性的描述了一实施例中的分布式存储组(complex)。
图1A示意性的描述了图1所描述的系统的一个多服务器装置。
图2说明了块缓冲存储文件系统(BCFS)读取操作的例子。
图3说明了一典型的块映射表(block map)。
图4说明了层1和层2缓冲存储器的放大作用的例子。
图5说明了跨缓冲存储器层的流分布的例子。
图6说明了间隔缓冲存储的例子。
具体实施方式
用于视频服务器组的共享存储系统可以基于缓冲存储块映射表的概念。所述系统可以实现多台视频服务器协同地(cooperatively)流式传输(stream)来自服务器组的一公共存储池的资源,同时降低分布式文件系统的开销和复杂程度。所述系统可以允许资源的一公共资源池作为视频服务器上的本地文件,并透明地(transparently)通过存储区域网络(SAN)将流式读出请求重定向到存储装置,所述网络例如为光纤通道存储区域网络(SAN)。
另外,高度可伸缩的视频服务器组可以基于分层缓冲存储的概念。所述系统可以使多台视频服务器能够协同地流式传输来自分布式组中的一公共存储池的资源。所述系统可以允许存储带宽、存储容量以及流式传输带宽与终端用户需求相联系。
依据一实施例,用于流式传输数据的分布式存储系统可以包括一控制器、一第一计算机和一第二计算机、第一和第二交换机以及一存储设备。所述第一计算机包括一本地文件系统,且可使用所述本地文件系统将资源文件存储在第一存储设备上。另外,所述第一计算机可使用用于创建块映射表的程序,包括关于资源文件存储在第一存储设备上的界限的信息。可 创建用于每一资源文件的块映射表。
根据另一实施例,可使用层缓存系统来用于流式传输数字资源。这样的系统一典型的实施包括存储所述资源的一第三层高速缓冲存储器,和连接到所述第三层缓冲存储器的多个视频泵。每一视频泵可以包括一第二层高速缓冲存储器,其接收自所述第三层高速缓冲存储器的资源的复本,并发出一或更多流,以及包括一第一层高速缓冲存储器,其接收自第二层高速缓冲存储器的资源的复本,并发出多个流。所述系统还可包括一资源控制器,其从多个视频泵中选择一视频泵以流式传输所述资源。
图1说明了分布式存储系统的一实施例,其能够流式传输数据。如所示,所述系统可以包括控制器10、第一计算机12和第二计算机14、第一和第二交换机16和18以及存储设备20。第一计算机12可以包括一本地文件系统12B,其可以用于将本地文件系统中的资源文件存储在第一存储设备20上。另外,第一计算机12可以使用程序12A为每一资源文件产生一块映射表。所述块映射表包括关于资源文件存储在第一存储设备20上的界限的信息。
程序12A可以将块映射表的副本存储在第二存储设备14A上,所述第二存储设备14A连接到第二计算机14。如所示,第二计算机14还可以连接到第一存储设备20。
另外,所述系统可以包括虚拟文件系统14B,其使第二计算机14使用存储在存储设备14A中的块映射表的副本能够存取第一存储设备20上的资源文件。
块布局算法可以被第一计算机12的本地文件系统使用,并可以当第一计算机存储资源文件时,连续地写多个本地文件系统块。另外,交换机18可以提供在第一计算机12、第二计算机14和存储设备20之间的并行无阻碍的存取。程序12A可以产生包括指向资源文件中的位置的指针的“提示文件”(下面将讨论)。
一种读取自存储在第一存储设备上的第一存储文件的数据的方法包括将块映射表存储在第二文件中,其中所述块映射表可以包括逻辑块地址列表,且所述列表中的每一逻辑块地址可以识别用于存储第一文件中的数据 的扇区。所述方法还可包括发出系统调用,以读取自与所述第一文件相关的虚拟文件的数据,检索与数据相关的逻辑块地址,和使用所述相关的逻辑块地址读取自所述第一存储设备的数据。
所述说明性的系统的另一方面涉及一种用于流式传输数字资源的分层缓冲存储系统。这样的系统的一个典型的实施例可以包括存储资源的第三层高速缓冲存储器。这可包括例如图1的存储设备20。另外,所述示例性的系统可以进一步包括连接到所述第三层高速缓冲存储器的一或更多视频泵(例如第二计算机14)。这里,视频泵可以包括:第二层高速缓冲存储器14A(第二存储设备),其接收自所述第三层高速缓冲存储器的所述资源的副本。并发出一或更多流;第一层高速缓冲存储器14C,其接收自第二层高速缓冲存储器的所述资源的副本,并发出多个流;和资源控制器(例如控制器10),其从多个视频泵中选择一视频泵以流所述资源。
分布式存储结构
图1A描述了一种可伸缩的视频服务器组的说明性实施例。这样的组可以包括资源控制器10、许多内容复写器(content writer)12,一或更多所述复写器可以管理一或更多文件系统,以及许多视频泵14。一些或者所有这些部件可以通过以太网和光纤通道交换机16和18被相互连接。这些光纤通道交换机18可以提供视频泵14、内容复写器12和存储阵列20之间的并行无阻的存取。
内容复写器12管理自外部光纤通道存储阵列20的一或更多文件系统的容积。所述存储设备20可以作为本地文件系统安装在所述内容复写器12上。所述系统可以被设计成使得所述组中没有任何其他部件直接安装所述文件系统,但这种结构实现视频泵14自存储设备20流式传输,就如同其被本地地安装在每个视频泵上。一或更多文件系统可以包括一单独的LUN(逻辑单元号),其存在于RAID存储阵列上。
摄取(ingest)或者资源装载可以由内容复写器12执行。这些被摄取的资源可以被写入到所述内容复写器的本地文件系统。资源控制器10可以引导资源在文件系统中的分布,确保资源被统一地和随机地装载在所述存 储阵列中。
组中的内容复写器12的数量c可以通过所需要的总摄取容量确定。由于每一内容复写器具有固定的最大摄取容量,因此c简单地为所述组的所期望的总摄取容量除以每一内容复写器的容量。
视频泵14的数量v可以通过所述组提供的流的数量确定,并简单地为期望的流的总数除以每一视频泵的容量。
存储阵列20的数量s可以通过(1)最大存储容量要求,(2)所述组的唯一的或者无缓冲存储的流需求和/或(3)从每一阵列可获得的带宽来确定。统计技术可用于高可能性地确定,在任何给定时间落在最重装载阵列上的负载的最大百分率。
块映射表缓冲存储
所述共享的存储结构实现视频泵14自内容复写器(content writer)的本地文件系统的流式传输。其使用块映射表(bmap)缓冲存储机制(mechanism)来完成,所述块映射表缓冲存储机制使内容复写器12能够将资源数据块的位置泄露给视频泵14。视频泵14然后能够通过光纤通道交换机18直接读取这些数据块并根据这些数据块进行流式传输。在所述资源的使用期内,用于所述系统的一或更多资源的块映射表被缓冲存储在一或更多视频泵上的本地文件系统上。每一视频泵上运行的内容同步器程序(syncher process)确保所述块映射表缓冲存储器与内容复写器12上的资源的状态保持一致。在视频泵上持久地缓冲存储用于资源的块映射表和提示文件(hint file)可以使流式传输能够在内容复写器故障的情况下继续。
一种称作块映射表缓冲存储文件系统BCFS的新文件系统层,实现了块映射表到资源数据的查找,这对在进行流式传输的应用程序来说是透明的。除了这些资源外,提示文件对于流式传输是需要的。这些提示文件可以在摄取的过程中在内容复写器的本地存储上产生。在所述资源的使用期内,提示文件可以与块映射表(block map)被传送到视频泵14,并类似地存储在本地文件系统上。可选择地,用于这些提示文件的块映射表可以被 传送到视频泵14,其使这些文件能够以与资源类似的方式被存取,并需要更少的本地存储和网络资源,但如果在资源摄取过程中需要提示文件数据,则引入额外的延迟。
块映射表缓冲存储文件系统(BCFS)
BCFS可以是一薄的文件系统层,所述薄的文件系统层向用户级的应用提供一透明的接口(transparent interface),使他们能够开启第三层存储设备上的资源并根据这些资源进行流式传输,就如同其被本地安装(mount)一样。
BCFS不是一文件存储,这意味着其不实施任何盘上的数据结构。它可以使用底层的UFS文件系统以保持所有的资源块映射表和提示文件。
BCFS可以基于可堆叠虚拟节点接口(stackable vnode interface)的概念(参看E.Zadok,等人的“Extending File System Using Stackable Templates,”Pro.1999 USENIX Annual Technical Conf.,1999年6月)。一虚拟节点或虚拟节点可以是在Unix内核中用以代表实体的数据结构,例如出现在文件系统名空间的打开文件或目录,所述虚拟节点接口对更高级别的内核模块提供统一的方式以对虚拟节点实施操作。虚拟文件系统(VFS)实施共同的文件系统代码,其可包括虚拟节点接口。
这种虚拟节点接口支持称作堆叠(stacking)的概念,其中,文件系统功能可以通过允许一虚拟节点接口实现调用另一个接口而被模块化。虚拟节点堆叠允许多个文件系统实现序列地出现和彼此调用。在可堆叠的虚拟节点实现中,在椎栈的给定级别的操作可以调用椎叠中的下一较低级别的相同的操作。
图2显示了使用者的read()调用如何可转化成可以被BCFS处理的VFS读取操作。步骤1-3显示,用户程序发布读取,所述读取可以传递到VNODE层,并被发布到bcfs。在步骤4-6中,通过VNDOE层发送递归读取,Bcfs_read从资源块映射表文件中读取块映射表。BCFS然后解析所述块映射表以确定所需要的数据块在层3存储设备上的位置。步骤7显示,bcfs将所转换的 读取直接发布到层3存储设备,并返回结果。
在设计BCFS中一些考虑是:
1.最小化固定代码的改变。通过引入新的文件系统层,流式传输应用可以存取共享的提示文件和资源,而无需修改。
2.为缓冲存储的块映射表和提示文件提供持续的存储。这样可以降低块映射表缓冲存储的RAM需求,使块映射表能够在系统的重新启动后持续保留,并使资源块映射表在层3存储设备上的所述资源的使用期内能够保留在视频泵14中。
3.在视频泵14和内容复写器12之间的缓冲区超高速缓存相关性。使用块映射表而不是原始元数据提供对资源的共享存取可以避免超高速缓存相关性问题,如果仅是模式共享,则可出现这些问题。
4.在视频泵14和内容复写器12之间的同步需求。当根据主动摄取的内容流式传输时,对提示文件的改变应快速从内容复写器传送到视频泵。等待提示文件数据同步到磁盘然后再在视频泵上读取它将会引入不可接受的延迟。
所述FFS系统可以被实现使得其不是一共享文件系统:例如,可以假设存在单独的服务器读或写安装的存储器。基于此假设,其可能够为其缓冲区缓冲存储器中的缓冲存储器索引节点和间接的块元数据。当文件系统元数据由于写或删除资源文件而改变时,没有用于将此高速缓冲存储器与其它服务器同步的机构。如果资源元数据在服务器A和服务器B中高速缓存,向所述资源写入,因此改变所述元数据,纳米服务器A将不知道新的元数据。虽然向FFS添加缓冲区高速缓存同步是概念上可能的,然而这样做将变得复杂并可潜在地使文件系统部件不稳定。通过将块映射表的当前状态公布给所有服务器,传送块映射表可避免超高速缓存相关性。注意,由于块映射表通信的开销,此方案在通用共享文件系统可能不令人满意地工作。然而,在一视频泵组中,所述视频泵组的特征为(1)每资源一单独的复写器,(2)资源被写一次且多次流式传输,以及(3)大的资源块尺寸导致紧密的块映射表表示,所述方法是相当有效的。
VFS堆栈可以通过在现有的较低层上安装BCFS层而被建立。例如,mount-t bcfs/localfs/assets/cache在安装点“/assets/cache”安装块缓冲存储文件系统/localfs。对/assets/cache中的文件的所有存取现在通过BCFS模块到底层本地文件系统,其包括块映射表和提示文件的副本。所述块映射表文件用作层3存储设备上的远程文件的代理。内容同步器程序安排本地块映射表文件具有与层3存储设备上的实际资源文件名相同的名(或可选择带有附加的“.bmap”扩展名)。
作为VFS一实现的例子,这种典型的VFS实现显示远程存储上的资源列表而不是本地文件。这可能是通用共享文件系统的重要特征,但bcfs设计成特别地处理使用最小的开销提供高性能共享存取资源的问题。提供分布式目录服务可能需要块映射表文件(或者相关的结构)具有充足的信息,以存取描述共享存储上的目录项和索引节点(inodes)的元数据。将此信息传送到视频泵14将需要提供保持超高速缓存相关性和锁定,其增加额外的开销。更重要地,这些元数据存取将与流式存取竞争存储阵列20的服务,并且因此使流式传输性能降低。从简单的1s命令产生的读取脉冲可引起流式传输的中断。如所设计的,在流式传输期间VP由进行的对存储阵列20单独请求用于流式传输数据,而不用于任何元数据。
块映射表定义
在实现例中,这部分描述了术语块映射表或bmap可包含的意思。如图3所示,存储在盘上的资源可以包括邻接的扇区序列,其称作块。依赖于所述文件系统的块布局策略,块可以邻接放置,或以跨盘的地址空间的某种方式分布。
块可以通过它的逻辑块地址(LBA)和长度被完全确定。因而块映射表是块的序列,其中LBA和长度可以用于识别块。
为了实现从盘驱动器的高水平的吞吐量,块应该是较大的,以分期偿大数据传送的寻找(移动磁头到所述块的初始位置)加等待时间(等待底板旋转直到数据在磁头下面)的成本。对于目前一代的光纤通道磁盘驱动器,尺寸在512K到2MB的范围的块可以提供邻接的数据上的50%-80%的 盘可容忍的吞吐量。
由于单独的32位LBA和16位长度足于描述光纤通道设备的块,因此资源的尺寸与其块映射表的尺寸的比率可等于至多(块尺寸/6)∶1。对于块被文件系统邻近地放置的程度,块映射表的尺寸可以另外降低。
基于1MB的邻接的块排列,资源尺寸和块映射表尺寸之间的比例为167000∶1,并且由于在可能的情况下FFS连续地放置块,所述比例通常更小。例如,用于1GB的资源的块映射表最多6KB。
所述文件系统块尺寸不是由存储阵列确定;而是,其可以由在视频泵上的运行的文件系统确定。存储阵列根据逻辑块地址(LBAs)进行操作,其中LBA引用的每一块通常是512字节(所述设备的“扇区尺寸”)。所述文件系统以文件系统块尺寸为单元寻址数据块。用于FFS的最大的文件系统块尺寸是64K。由于这对于实现吞吐量的目标不足够大,因此文件系统的块布局算法可以被修改,以保证文件系统块被连续地布置成多个资源块尺寸。单独的资源块尺寸可以用于给定文件系统中的所有的资源,以避免分段的问题。
块映射表文件格式
本部分描述用于bmap文件的示例性格式(sample format)。所述bmap文件可以包括文件头(header),接着为块描述符列表。
bmap文件头可以包括版本号和SCSI目标和存储设备的LUN ID。
文件偏移地址(offset) | 字段描述 | 字段尺寸 |
0 | 版本号 | 4字节,LSB在先(first) |
4 | SCSI目标ID | 2字节,LSB在先 |
6 | SCSI LUN | 2字节,LSB在先 |
8 | 盘片段 | 2字节,LSB在先 |
10 | 磁盘分区,’a’=0,’b’=1 | 2字节,LSB在先 |
12 | 文件系统块尺寸(例 | 4字节,LSB在先 |
如,64k) | ||
16 | 块描述符数量 | 4字节,LSB在先 |
20...文件结束(eof) | 块描述符 | 快描述符的6字节*# |
“盘片段(disk slice)”是类似于分区(separate region)的FreeBSD概念,其允许驱动器被分成独立的区域或“片段”。片段使一服务器能够引导装入多个操作系统。每个OS存在于独立的分区中。在一片段中,可以定义多个分区,其中每一分区对应一逻辑盘(例如,“a:”,“b:”,“c:”,...)。当格式化层3存储设备时,可以使用特定定义的片段或分区,但将所述片段和分区放入bmap头以避免硬编码的消耗,且允许层3存储结构的灵活性。
LUN可以为bmap头,这是因为bcfs可需要其以识别哪一存储阵列RAID设备来读取。在存储阵列RAID设备中,分散在所述物理驱动器上的块可以聚集地作为一个(或更多)LUNs提供给视频泵。由于一视频泵可以使用多个LUNb,其对于bmap头中的LUN ID识别哪一RAID设备来读取是有利的。
块描述符
块描述符定义了盘上的单独的邻接的块的位置和尺寸。在多个fs-blocks尺寸中,逻辑块地址(LBA)和长度定义块的位置。
敲击偏移地址(struckoffset) | 字段描述 | 字段尺寸 |
0 | SCSI逻辑块地址 | 4字节,LSB在先 |
4 | 在fs-blocks中的块长度(例如 | 2字节,LSB在先 |
使用BCFS的资源缓冲存储
bmap文件可以当加载资源时在内容复写器12上产生。视频泵14上的 内容同步器确保在/assets/cache中的bmap文件相对于内容复写器上的文件是最新的。当流被分配给视频泵时,然后流服务器程序可打开所述资源并从所述文件读取,如同所述资源被本地存储。
当流式传输应用对于资源数据做出VOP_READ读取请求时,bcfs_read然后从文件读取所述块映射表和设备信息,并确定资源数据所在的逻辑块地址;bcfs_read然后按所需要发布一个或更多对数据的读取请求并返回。
在资源从内容复写器12中移去后,视频泵上的内容同步器在/assets/cache/assetname中移去其bmap文件。同时,内容同步器也从层2本地盘高速缓冲存储器清除所述资源。
使用BCFS的提示文件的高速缓存
提示文件可以包括用于执行“技巧模式”(例如快进、倒回)的资源元数据。这些提示文件可以通过软件在资源被加载到存储设备上时,在视频泵上产生出。它们包含指向资源中特殊场景的指针。
提示文件可以以类似bmap文件被处理。提示文件可以在资源被加载时在内容复写器上产生。视频泵上的内容同步器确保,在/assets/cache中的提示文件相对于内容复写器上的文件是最新的。当流被分配给视频泵时,流式传输服务器然后可以打开所述提示文件并使用它,这是由于其被本地高速缓冲存储。
可选择地,如果在资源正在被摄取时对流式传输资源的反应时间需求允许,用于提示文件的块映射表可以被缓冲存储在视频泵上。对于所述提示文件数据的读取要求可以通过bcfs用与上面描述的资源读取相同的方法进行处理。
分层高速缓冲存储
如上面提到,在多个服务器组中的视频泵14可以使用三层内容存储或高速缓冲存储。分层高速缓冲存储的目的可以为两部分:第一,其从资源存储带宽中分离开流式传输带宽。由于加入高速缓冲存储,“热点”或者 阵列之中的负载不平衡的实例可以被避免。没有高速缓冲存储时,会由于因资源流行程度的不同,而导致对任何给定的存储阵列所请求的流式传输的数量不成比例,因此负载不平衡可以容易地发生。第二,通过从最节省成本类型的媒介提供不同流行程度的资源流,通过利用资源流行程度中的自然变化,降低每流的成本。例如,由于存储需求低但带宽需求高,单独的非常流行的资源可以从RAM被最节省成本提供。从具有存储容量但具有低带宽的便宜的慢硬驱动,可最节省成本地提供不经常存取的内容的大的库。所述分层的缓冲存储实现动态地和自动地最节省成本的(媒介的有类型基于此时的资源的流行度)提供资源。
所述系统的层1可以包括本地RAM,从该本地RAM可提供相对少量的最流行资源。层2可以包括较大的本地盘高速缓冲存储器,其整体上存储最近被流式传输的资源。层2高速缓冲存储器可以是无复制系统和无文件系统的未处理的块级别的存储设备。层1和层2都是“存储和转发(forward)”类型的高速缓冲存储器。层3组成大的、长期的存储,其具有适度(moderate)的流式传输能力,其必须是大致等于在任何调整所请求的唯一流的最大数目。
图4和5显示了流式传输怎样可在三个缓冲存储层分配。通过智能地选择用于流式传输的视频泵14,资源控制器10适当地将流式传输分布在连接到一个或更多服务器的缓冲存储层之间。资源控制器10可以被用于确保,不会因在视频泵14上分配流式传输而超过层2盘的缓冲存储带宽极限,从而每个视频泵提供可缓冲存储和不可缓冲存储的资源的平衡混合。资源控制器10监控一个或更多视频泵14,和与其关联的观察器流的当前特征,从而其可以确定哪个视频泵将被分配与特定资源有关的新的观察器流。这种方法中,组的带宽资源被整体优化。
图4中,u3是从层3存储设备读出的资源的数量,其中,对每个资源仅存在一个流。对于这些资源读取。流的数量n3等于从层3的读取的资源的数量。u2+u1表示从层3存储设备读取的资源的数量,其中对每个资源存在多于一个流。对于这些流,层2缓冲存储器作用类似带宽放大器,在这种情况下,对于进入层2缓冲存储器每一资源读取,出现许多数量的观察 器流。数量n2+n3表示从层2缓冲存储器传出的多个观察器流的总数量。n2是直接从层2缓冲存储器传出且不进入层1缓冲存储器的观察器流的数量。从层2缓冲存储器传出的观察器流相对于与进入层2缓冲存储器的资源读取或相同资源的其他观察器流是时间不同步的,这是因为对于每一观察器流,缓冲存储器的时间偏移。层1缓冲存储算法选择u2+u1流的一子集u1,其是高度可缓冲存储的,并引导这些流进入层1 RAM缓冲存储器。如同层2缓冲存储器,对于层1缓冲存储器,在层1级缓存的流,出现几个流。数量n3是从层1缓冲存储器传出的流的总数,其不使用层2或层3存储设备任何额外的I/O带宽。由服务器提供的流的总数可为n1+n2+n3。层3存储设备所需要的总带宽可为u1+u2+u3。图5涉及用于IP2160视频泵的典型值的所述参数,其如zipfian资源流行分布所预测的,所述分布与视频流行相关,这公开在M.Bar等人的“Long-term Movie Popularity Models inVideo-on-Demand Systems,”Proceedings of ACM Multimedia Conference,349-357页,1997年11月,在此引入作为参考。
除了层2本地盘缓冲存储器的放大作用外,有可能并不需要从层3存储设备读取的资源,这是因为其被在先读取,且仍存在于层2的缓冲存储器中。通过层2缓冲存储器的总尺寸与层3存储器的总尺寸的比率可确定此出现的频繁程度。所述比率可以被称作盘缓冲存储命中率(DHCR)。
层1RAM缓冲存储器
本部分概述了层1RAM缓冲存储算法的一种可能的实现。在此描述这种算法以解释,层1缓冲存储器如何与其他缓冲存储层联合操作以支持可伸缩的服务器组。
间隔缓存可以为一种缓冲器管理策略,其识别可被有效缓存来增加服务器吞吐量的暂时有关的流的段。所述算法被描述在A.Dan等人的,“Buffer Management Policy for an On-Demand video server,”IBM ResearchReport RC 19347中,这里引入作为参考。所述算法关于降低服务器成本的性能在A.Dan,等人的文献中被检查,“Buffering and Caching in Large-scalevideo servers,”Proc.Compcon,217-224页,1995年3月,这里引入作 为参考。间隔可以定义为对相同资源的一对连续的流请求,其为时间重叠的。间隔缓存允许从缓冲存储器服务随后的成对的流,瞬时的缓存要求等于由流开始时间偏移所表示的数据的尺寸。如果所述流开始是紧密间隔的,那么节省的缓存可能相当明显。间隔缓存算法通过维护所有间隔的分类列表以及向具有最小缓存要求的一组间隔分配缓冲存储器来利用了上述优点。
图6显示了间隔缓存的例子。在时间0,可从服务器请求流A。在某一随后时间,在流A完成之前,可以请求流B。由于流A和B使用相同的资源,可以形成间隔。可计算由重叠A表示的数据数量,以及间隔可插入分类的间隔列表。由于存在充足的高速缓冲存储器用于所述间隔,因此其可以分配给所述间隔,且从缓冲存储器可完全提供流B的阴影部分。
当与静态资源复制相比时,间隔缓存更有效地利用高速缓冲存储器,且不需要任何在先知道资源的流行程度或者手动资源复制。由于技巧模式调用的变化的间隔关系,所述技巧模式中的流并不参与层1缓存,但若所请求的数据出现在层1缓冲存储器中,那么其可仍得益于层1缓存的命中。
层2本地磁盘缓冲存储器
层2缓冲存储器的目的可以为,当从外部存储设备20全部读出资源时,通过缓存所有的所述资源,来从资源存储带宽分离开流带宽。其可以包括大的本地驱动阵列,所述阵列可以管理成无复制和无文件系统的原始块级存储设备。其可以是“存储和转发”类型的缓冲存储器,这意味着,当读取块时,写缓冲存储器的内容,且存储操作并不影响自外部存储设备的数据流。例如,在IP2160媒体服务器(中流技术Midstream Technologies)中,层2缓冲存储器位于(reside)内部驱动阵列的一部分上。
层2本地盘缓冲存储器可以与层1间隔缓冲存储器的结构类似。当视频泵对正被缓存的流发布读取,即,从外部存储器请求所述流时,所述块可以被复制到层2缓冲存储器中的所分配的块,且可产生散列表项,其将盘上的文件块映射表到缓冲存储器块。在所述视频泵发布一读取之前,其可以检查散列表以查看是否块位于本地缓冲存储器上。如果是,则从所述 缓冲存储块而不是从层3盘设备中读取所述块。
资源控制器操作
当选择视频泵14处理流服务请求时,资源控制器10可寻找最可能在缓冲存储器中已经具有资源的服务器,但可将所述请求导引到组中的另一个服务器,以优化使用组的资源。例如,假设从一个视频泵的层1RAM缓冲存储器中提供单独的、高度流行的资源,且请求此资源的观察器流的数量使视频泵的带宽流容量饱和。在这种情况下,所述视频泵将不利用层3外部存储接口或者层2盘驱动,从而导致从这些层中发出较高的百分比的全部流负载待被布置在所述组中的其他的视频泵14上的。由于视频泵上的层2本地缓冲存储盘带宽被限制,所得到的在其他视频泵14上所缓存的流的增加可能以超过其层2盘带宽,这有效地限制了所述组可支持的流的数量。为了最大化作为整体的所述组的吞吐量,在每个视频泵上必须保持可缓冲存储的和不可缓冲存储的资源的均衡的混合,以与图5中所描述的类似相称。
由资源控制器10使用的一相对简单的算法可以有效地保持所述平衡。为了最小化所述资源控制器和视频泵14之间的通信,其描述每个视频泵的动态缓冲存储状态,以及为了避免必须存储这样的信息,资源控制器10存储一表,所述表每所请求的资源具有一项,其指示哪一视频泵提供所述资源的观察器流。由于缓冲存储器对于时间紧密间隔的流是最有效的,因此将新流导引到最后提供资源的视频泵14最有效地利用所述缓冲存储器。此外,所述资源控制器保持当前在每一视频泵上活动的流的数量的计数。如果所述计数超过了设定的阈值,流被导引到具有最小流带宽负载的视频泵。所述机制确保,在视频泵14之间共享高度流行的资源,没有任何单独的视频泵处理任何给定的高度流行资源的太多流。其也在视频泵14之间分配流负载。
总之,流负载平衡算法的说明性实现可以包括下面步骤:
1.流请求到达资源控制器10。
2.资源控制器10确定哪个视频泵14最后提供资源。
3.如果没有视频泵14提供所述资源,那么资源控制器10将所述请求导引到具有最可利用的流带宽的一视频泵。
4.否则,如果视频泵14被找到,那么资源控制器10检查对于视频泵上的所述资源的当前活动的计数小于预定的阈值。
a.如果不超过所述阈值,那么资源控制器10将所述请求引导到最后的视频泵;或者
b.如果超过所述阈值,那么资源控制器将所述请求导引到具有最可用的流带宽的视频泵。
结论
权利请求并不局限于本文所公开的说明性被这里所公开实施例。例如,基于块映射表缓冲存储和VFS可堆叠文件系统的分布式存储结构模块,以及基于分层缓冲存储的可伸缩的流视频服务器组的前述公开使用了说明性术语,例如内容复写器、视频泵、控制器等,其不应被解释为限制本申请的保护范围,或者另外暗示,本文所描述的这些系统、设备和方法的发明方面局限于所公开的特定的方法和装置。而且,如本领域技术人员所理解的,本文所公开的很多发明性的方面可以被应用到不用于流媒体或者视频点播目的的计算机系统中。类似地,本发明并不局限于使用VFS可堆叠的文件系统模块和/或上面描述的块映射表的系统,或者应用到特殊类型的计算机、处理器、交换机、存储设备、内存、算法等的系统。内容复写器、视频泵、资源控制器等是基本可编程的计算机,其可采用多种形式,而不脱离本文所公开的发明构思。
鉴于数字处理、网络和存储功能的成本的迅速下降,例如将用于特殊功能的处理和存储从本文所述的功能性元件之一传送到另一功能元件而不改变本发明的系统的操纵是容易可能的。在许多情况下,本文所述的实现装置(即功能元件)仅是设计者的偏好,并不是硬性的要求。因此,除非其可被清楚的限制,否则本保护范围不能被理解为局限上述的具体实施例。
Claims (36)
1.一种用于流式传输数据的分布式存储系统,所述系统包括:
第一计算机,其被配置为在本地文件系统的第一存储设备中存储一个或更多资源文件,并产生用于所述资源文件的块映射表;
所述第一计算机,进一步被配置为在第二存储设备上存储所述块映射表的副本,所述第二存储设备连接到第二计算机,其中所述第二计算机还连接到所述第一存储设备;
所述第二计算机,被配置为存取所述第一存储设备上的资源文件;和
资源控制器,其被配置为监控多个计算机,接收对一个或多个所述资源文件的请求,根据所述监控从所述多个计算机中选择所述第二计算机,并将所述请求发送到所述第二计算机。
2.根据权利要求1所述的分布式存储系统,其中所述块映射表包括关于所述资源文件存储在所述第一存储设备的界限的信息。
3.根据权利要求1所述的分布式存储系统,其中所述第二计算机被配置为使用一虚拟文件系统VFS存取所述第一存储设备上的资源文件,以及所述虚拟文件系统VFS能够实现所述第二计算机使用所述块映射表的副本来存取所述第一存储设备上的资源文件。
4.根据权利要求1所述的分布式存储系统,其中所述本地文件系统能够使用块布局算法在所述第一计算机存储所述资源文件时,连续地写多个本地文件系统块。
5.根据权利要求1所述的分布式存储系统,进一步包括交换机,其能够提供所述第一计算机、所述第二计算机和所述第一存储设备间的并行的、不间断的存取。
6.根据权利要求1所述的分布式存储系统,其中所述第一计算机被配置为产生一提示文件,所述提示文件包括指向所述资源文件中的位置的指针。
7.根据权利要求1所述的分布式存储系统,其中所述第一存储设备能够提供第三层存储机构,以及所述第二计算机包括第一层存储机构和第二层存储机构。
8.根据权利要求7所述的分布式存储系统,其中所述第一层存储机构包括随机存取存储器RAM,以及所述第二层存储装置包括盘存储设备。
9.根据权利要求3所述的分布式存储系统,其中所述VFS包括可堆叠的虚拟节点接口和至少一个虚拟节点。
10.根据权利要求1所述的分布式存储系统,进一步包括配置在所述第二计算机上的一内容同步器程序,所述内容同步器程序被配置为安排连接到所述第二计算机的第二存储设备上的块映射表的副本具有与所述第一存储设备上的相应的资源文件名基本相同的名字。
11.根据权利要求1所述的分布式存储系统,其中
所述块映射表包括关于所述资源文件存储在所述第一存储设备的界限的信息;
所述第二计算机被配置为使用一虚拟文件系统VFS存取所述第一存储设备上的资源文件,所述虚拟文件系统能够实现所述第二计算机使用所述块映射表的副本来存取所述第一存储设备上的资源文件,以及包括一可堆叠的虚拟节点接口和至少一个虚拟节点;以及
所述第一计算机被配置为产生一提示文件,所述提示文件包括指向所述资源文件中的位置的指针。
12.根据权利要求11所述的分布式存储系统,其中所述第一存储设备能够提供第三层存储机构,所述第二存储设备提供第二层存储机构,所述第二计算机包括第一层存储机构,其中所述第一层存储机构包括随机存取存储器RAM,所述第二层存储机构包括盘存储设备。
13.根据权利要求11所述的分布式存储系统,进一步包括所述第一计算机配置有内容同步器程序,所述内容同步器程序被配置为安排所述第二存储设备上的块映射表的副本具有与所述第一存储设备上的相应的资源文件名相关的名字。
14.根据权利要求11所述的分布式存储系统,进一步包括交换机,其能够提供所述第一计算机、所述第二计算机和所述第一存储设备间的并行的、不间断的存取。
15.根据权利要求1所述的分布式存储系统,其中所述第二计算机进一步被配置为使用一虚拟文件系统存取所述第一存储设备上的资源文件,所述虚拟文件系统使所述第二计算机能够读取所述资源文件,所述资源文件包括存储在所述第一存储设备上的本地文件系统中的多个数据块,所述虚拟文件系统包括:
可堆叠的虚拟节点接口;和
虚拟节点,其中所述虚拟节点使用存储在所述第二存储设备上的块映射表的副本来代表所述资源文件。
16.根据权利要求15所述的分布式存储系统,其中所述块映射表包括块描述符,所述块描述符包括逻辑块地址和块长度,所述块长度包括邻接的扇区的数量。
17.根据权利要求16所述的分布式存储系统,其中所述块描述符表示逻辑存储位置,所述逻辑存储位置包括所述资源文件的数据块。
18.根据权利要求16所述的分布式存储系统,其所述块映射表进一步包括头文件,其包括所述存储设备的参数。
19.根据权利要求18所述的分布式存储系统,其中所述参数包括小型计算机系统接口SCSI的目标标识符。
20.根据权利要求18所述的分布式存储系统,其中所述参数包括小型计算机系统接口SCSI的逻辑单元号。
21.根据权利要求18所述的分布式存储系统,其中所述参数包括盘片段。
22.根据权利要求18所述的分布式存储系统,其中所述参数包括所述第一存储设备的本地文件系统的块尺寸。
23.根据权利要求18所述的分布式存储系统,其中所述参数包括所述块映射表中的块描述符的数量。
24.根据权利要求15所述的分布式存储系统,其中所述数据块的尺寸是所述第一存储设备的本地文件系统的一个块尺寸的倍数。
25.根据权利要求15所述的分布式存储系统,其中所述块映射表由一程序在所述资源文件被存储于所述第一存储设备时产生。
26.根据权利要求25所述的分布式存储系统,其中所述程序在所述第一计算机上是可执行的。
27.根据权利要求15所述的分布式存储系统,其中所述第一存储设备和所述第二存储设备的文件系统的类型是相同的。
28.一种自存储在第一存储设备上的第一文件读取数据的方法,所述方法包括:
第一计算机将一个块映射表存储于第二文件中,其中所述块映射表包括逻辑块地址列表,以及其中所述列表中的至少一个逻辑块地址识别用于存储所述第一文件中的数据的扇区;
资源控制器监控多个计算机,接收对所述第一文件的请求,根据所述监控从所述多个计算机中选择第二计算机,并将所述请求发送到所述第二计算机;
所述第二计算机发布系统调用以从与所述第一文件相关的虚拟文件中读取数据;
所述第二计算机检索与所述数据相关的逻辑块地址;以及
所述第二计算机使用所述相关的逻辑块地址读取自所述第一存储设备的数据。
29.根据权利要求28所述方法,进一步包括当所述第一文件被存储在所述第一存储设备时,所述第一计算机产生所述块映射表。
30.根据权利要求28所述方法,进一步包括所述第一计算机产生提示文件,所述提示文件包括指向第一文件的指针。
31.根据权利要求28所述方法,其中所述第二文件存储在第二存储设备上。
32.根据权利要求31所述方法,进一步包括将所述第一存储设备连接到第一计算机和第二计算机,以及将所述第二存储设备连接到所述第二计算机。
33.根据权利要求28所述方法,其中所述列表进一步包括与每一逻辑块地址相关的块长度,其中所述块长度表示继所识别的扇区之后的邻接的扇区的数量。
34.根据权利要求33所述方法,进一步包括所述第二计算机检索相关的块长度,以及所述数据包括在由所检索的逻辑块地址和所述相关的块长度识别的逻辑存储区域内。
35.一种在分层的缓冲存储系统中流式传输资源的方法,所述方法包括:
通过资源控制器监控多个服务器,其中所述缓冲存储系统包括第三层缓冲存储器和所述多个服务器,其中所述服务器连接到所述第三层缓冲存储器,并包括第一层缓冲存储器和第二层缓冲存储器,;
接收对所述资源控制器上的资源的请求;
根据所述监控所述资源控制器确定正从所述第三层缓冲存储器中流式传输所述资源的多个服务器中的最后一个服务器,和所述最后一个服务器的第一层缓冲存储器和第二层缓冲存储器中的资源流的数量;
如果所述数量小于预定的阈值,则将所述请求发送到所述多个服务器中的最后一个服务器;以及
如果所述数量不小于预定的阈值,则将所述请求发送到所述多个服务器中具有最大可利用的流带宽的服务器。
36.根据权利要求35所述方法,其中每个所述多个服务器被设计为视频泵。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US58957804P | 2004-07-21 | 2004-07-21 | |
US60/589,578 | 2004-07-21 | ||
US59043104P | 2004-07-23 | 2004-07-23 | |
US60/590,431 | 2004-07-23 | ||
PCT/US2005/025883 WO2006012418A2 (en) | 2004-07-21 | 2005-07-20 | Distributed storage architecture based on block map caching and vfs stackable file system modules |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101027668A CN101027668A (zh) | 2007-08-29 |
CN101027668B true CN101027668B (zh) | 2012-01-04 |
Family
ID=35079211
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2005800238220A Active CN101027668B (zh) | 2004-07-21 | 2005-07-20 | 基于块映射表缓冲存储和虚拟文件系统的可堆叠文件系统模块的分布式存储结构 |
Country Status (6)
Country | Link |
---|---|
US (1) | US7640274B2 (zh) |
EP (1) | EP1782287A2 (zh) |
JP (1) | JP4663718B2 (zh) |
KR (1) | KR100899462B1 (zh) |
CN (1) | CN101027668B (zh) |
WO (1) | WO2006012418A2 (zh) |
Families Citing this family (62)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7926052B2 (en) * | 2004-11-19 | 2011-04-12 | Hewlett-Packard Development Company, L.P. | Stacked file systems and methods |
US20060271972A1 (en) * | 2005-05-31 | 2006-11-30 | Microsoft Corporation | Popularity-based on-demand media distribution |
US8396938B2 (en) * | 2005-09-15 | 2013-03-12 | Emc Corporation | Providing direct access to distributed managed content |
US8447827B2 (en) | 2005-09-15 | 2013-05-21 | Emc Corporation | Providing local access to managed content |
US20070274683A1 (en) * | 2006-05-24 | 2007-11-29 | Michael Wayne Shore | Method and apparatus for creating a custom track |
US20080002942A1 (en) * | 2006-05-24 | 2008-01-03 | Peter White | Method and apparatus for creating a custom track |
US8805164B2 (en) | 2006-05-24 | 2014-08-12 | Capshore, Llc | Method and apparatus for creating a custom track |
US8831408B2 (en) | 2006-05-24 | 2014-09-09 | Capshore, Llc | Method and apparatus for creating a custom track |
US7603387B2 (en) * | 2006-06-16 | 2009-10-13 | Microsoft Corporation | Techniques to manage media files |
US7783686B2 (en) * | 2006-06-16 | 2010-08-24 | Microsoft Corporation | Application program interface to manage media files |
US20080033980A1 (en) * | 2006-08-03 | 2008-02-07 | Jaroslav Andrew Delapedraja | System and method for automatically adjusting file system settings |
US8032711B2 (en) | 2006-12-22 | 2011-10-04 | Intel Corporation | Prefetching from dynamic random access memory to a static random access memory |
US8543700B1 (en) | 2007-06-28 | 2013-09-24 | Emc Corporation | Asynchronous content transfer |
US8311058B2 (en) | 2008-05-10 | 2012-11-13 | Vantrix Corporation | Modular transcoding pipeline |
US8677241B2 (en) * | 2007-09-10 | 2014-03-18 | Vantrix Corporation | Method and system for multimedia messaging service (MMS) to video adaptation |
US8220051B2 (en) | 2007-09-28 | 2012-07-10 | Vantrix Corporation | Generation and delivery of multimedia content-adaptation notifications |
US8171167B2 (en) * | 2007-11-13 | 2012-05-01 | Vantrix Corporation | Intelligent caching of media files |
CN101334823B (zh) * | 2008-07-17 | 2010-07-07 | 成都市华为赛门铁克科技有限公司 | 一种对文件虚拟化处理方法及装置 |
US8589993B2 (en) * | 2008-08-29 | 2013-11-19 | At&T Intellectual Property I, L.P. | Distributing on-demand multimedia content |
KR100983479B1 (ko) | 2009-02-11 | 2010-09-27 | 엔에이치엔(주) | 분산 스페이스를 이용하여 분산 프로그래밍 환경을 제공하기 위한 방법, 시스템 및 컴퓨터 판독 가능한 기록 매체 |
KR101023883B1 (ko) * | 2009-02-13 | 2011-03-22 | (주)인디링스 | 고속 저장 장치를 캐쉬로 사용하는 스토리지 시스템 |
EP2404231A1 (en) * | 2009-03-02 | 2012-01-11 | International Business Machines Corporation | Method, system and computer program product for managing the placement of storage data in a multi tier virtualized storage infrastructure |
US20100241726A1 (en) * | 2009-03-23 | 2010-09-23 | Riverbed Technology, Inc. | Virtualized Data Storage Over Wide-Area Networks |
CA2778215C (en) * | 2009-12-01 | 2017-07-04 | Vantrix Corporation | System and methods for efficient media delivery using cache |
US9058334B2 (en) * | 2010-02-11 | 2015-06-16 | Emc Corporation | Parallel file system processing |
CN101794306B (zh) * | 2010-03-02 | 2012-10-24 | 华平信息技术股份有限公司 | 多类型录像文件分块存储系统及方法 |
US8843459B1 (en) * | 2010-03-09 | 2014-09-23 | Hitachi Data Systems Engineering UK Limited | Multi-tiered filesystem |
US8504670B2 (en) * | 2010-03-23 | 2013-08-06 | Riverbed Technology, Inc. | Virtualized data storage applications and optimizations |
JP5592493B2 (ja) * | 2010-04-13 | 2014-09-17 | 株式会社日立製作所 | ストレージネットワークシステム及びその制御方法 |
US8285762B2 (en) | 2010-05-11 | 2012-10-09 | International Business Machines Corporation | Migration of metadata and storage management of data in a first storage environment to a second storage environment |
CN102222213B (zh) * | 2010-07-29 | 2013-08-07 | 郑文明 | 一种基于开放式Web Service架构的分布式视觉计算方法 |
KR101482518B1 (ko) * | 2010-08-25 | 2015-01-14 | 네벡스 버츄얼 테크놀로지스 인코포레이티드 | 캐시 계층화를 위한 방법 및 시스템 |
CN102385606B (zh) * | 2010-09-03 | 2016-08-03 | 腾讯科技(深圳)有限公司 | 一种分布式数据仓库的访问方法和装置 |
CN101944124B (zh) * | 2010-09-21 | 2012-07-04 | 卓望数码技术(深圳)有限公司 | 分布式文件系统管理方法、装置以及对应的文件系统 |
US8495108B2 (en) | 2010-11-30 | 2013-07-23 | International Business Machines Corporation | Virtual node subpool management |
US8626713B2 (en) | 2010-12-08 | 2014-01-07 | International Business Machines Corporation | Multiple contexts in a redirect on write file system |
US8904006B2 (en) | 2010-12-08 | 2014-12-02 | International Business Machines Corporation | In-flight block map for a clustered redirect-on-write filesystem |
US8396832B2 (en) | 2010-12-08 | 2013-03-12 | International Business Machines Corporation | Independent fileset generations in a clustered redirect-on-write filesystem |
US8458181B2 (en) | 2010-12-08 | 2013-06-04 | International Business Machines Corporation | Distributed free block map for a clustered redirect-on-write file system |
CN102043732A (zh) * | 2010-12-30 | 2011-05-04 | 成都市华为赛门铁克科技有限公司 | 一种缓存分配方法及装置 |
CN102215163B (zh) * | 2011-03-24 | 2014-04-09 | 东莞中山大学研究院 | 一种多服务器视频点播处理方法 |
CN102314480B (zh) * | 2011-07-05 | 2013-04-10 | 万达信息股份有限公司 | 一种针对海量数据的分布式数据存储方法 |
CN102355596B (zh) * | 2011-10-11 | 2013-08-28 | 浪潮电子信息产业股份有限公司 | 一种适用于视频服务的缓存服务器部署方法 |
US9167049B2 (en) * | 2012-02-02 | 2015-10-20 | Comcast Cable Communications, Llc | Content distribution network supporting popularity-based caching |
US10097406B2 (en) * | 2012-03-19 | 2018-10-09 | Level 3 Communications, Llc | Systems and methods for data mobility with a cloud architecture |
CN103488640B (zh) * | 2012-06-11 | 2017-01-25 | 北汽福田汽车股份有限公司 | 一种映射文件的自动分析方法和装置 |
US9112922B2 (en) | 2012-08-28 | 2015-08-18 | Vantrix Corporation | Method and system for self-tuning cache management |
US20140071157A1 (en) * | 2012-09-07 | 2014-03-13 | Htc Corporation | Content delivery systems with prioritized content and related methods |
US9015470B2 (en) * | 2012-11-08 | 2015-04-21 | Morega Systems, Inc | Adaptive video server with fast initialization and methods for use therewith |
US9276978B2 (en) | 2012-12-31 | 2016-03-01 | Microsoft Technology Licensing, Llc | Program based caching in live media distribution |
US9141626B2 (en) | 2013-03-14 | 2015-09-22 | Microsoft Technology Licensing, Llc | Volume having tiers of different storage traits |
US9262313B2 (en) | 2013-03-14 | 2016-02-16 | Microsoft Technology Licensing, Llc | Provisioning in heterogenic volume of multiple tiers |
US9116904B2 (en) | 2013-03-14 | 2015-08-25 | Microsoft Technology Licensing, Llc | File system operation on multi-tiered volume |
US9524300B2 (en) | 2013-03-14 | 2016-12-20 | Microsoft Technology Licensing, Llc | Heterogenic volume generation and use system |
CN103327079A (zh) * | 2013-05-31 | 2013-09-25 | 青岛海信传媒网络技术有限公司 | 一种多媒体资源的缓存方法及装置 |
CN105339906B (zh) * | 2013-06-12 | 2018-07-20 | 日本电气株式会社 | 控制对永久存储设备的数据写入的方法 |
CN103686198A (zh) * | 2013-12-30 | 2014-03-26 | 优视科技有限公司 | 视频数据的处理方法、装置和系统 |
ITRM20130728A1 (it) * | 2013-12-31 | 2015-07-01 | Prb S R L | Metodo di scambio comandi tramite disco usb e relativi dispositivi che ne permettono l¿implementazione. |
CN103777903A (zh) * | 2014-01-23 | 2014-05-07 | 武汉市烽视威科技有限公司 | 一种适用于流媒体服务的数据存储方法 |
KR20170019799A (ko) * | 2015-08-12 | 2017-02-22 | 삼성전자주식회사 | 파일 시스템을 제어하는 전자 장치 및 그 동작 방법 |
KR20180121733A (ko) | 2017-04-28 | 2018-11-08 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
CN107506494B (zh) * | 2017-09-27 | 2019-04-12 | Oppo广东移动通信有限公司 | 文件处理方法、移动终端及计算机可读存储介质 |
Family Cites Families (86)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2582175A1 (fr) * | 1985-05-20 | 1986-11-21 | Alcatel Espace | Procede et dispositif de telecommunications par satellite en acces multiple a repartition dans le temps |
GB8829919D0 (en) * | 1988-12-22 | 1989-02-15 | Int Computer Limited | File system |
US5367636A (en) * | 1990-09-24 | 1994-11-22 | Ncube Corporation | Hypercube processor network in which the processor indentification numbers of two processors connected to each other through port number n, vary only in the nth bit |
US5768598A (en) * | 1993-09-13 | 1998-06-16 | Intel Corporation | Method and apparatus for sharing hardward resources in a computer system |
US5515379A (en) * | 1993-10-18 | 1996-05-07 | Motorola, Inc. | Time slot allocation method |
US5566174A (en) * | 1994-04-08 | 1996-10-15 | Philips Electronics North America Corporation | MPEG information signal conversion system |
US5638516A (en) * | 1994-08-01 | 1997-06-10 | Ncube Corporation | Parallel processor that routes messages around blocked or faulty nodes by selecting an output port to a subsequent node from a port vector and transmitting a route ready signal back to a previous node |
WO1996017306A2 (en) * | 1994-11-21 | 1996-06-06 | Oracle Corporation | Media server |
US5794062A (en) * | 1995-04-17 | 1998-08-11 | Ricoh Company Ltd. | System and method for dynamically reconfigurable computing using a processing unit having changeable internal hardware organization |
US6119154A (en) * | 1995-07-14 | 2000-09-12 | Oracle Corporation | Method and apparatus for non-sequential access to an in-progress video feed |
US7058721B1 (en) * | 1995-07-14 | 2006-06-06 | Broadband Royalty Corporation | Dynamic quality adjustment based on changing streaming constraints |
US6112226A (en) * | 1995-07-14 | 2000-08-29 | Oracle Corporation | Method and apparatus for concurrently encoding and tagging digital information for allowing non-sequential access during playback |
US6138147A (en) * | 1995-07-14 | 2000-10-24 | Oracle Corporation | Method and apparatus for implementing seamless playback of continuous media feeds |
US5680640A (en) * | 1995-09-01 | 1997-10-21 | Emc Corporation | System for migrating data by selecting a first or second transfer means based on the status of a data element map initialized to a predetermined state |
US5729292A (en) | 1995-12-21 | 1998-03-17 | Thomson Multimedia, S.A. | Optimizing performance in a packet slot priority packet transport system |
US5854924A (en) * | 1996-08-08 | 1998-12-29 | Globetrotter Software, Inc. | Static debugging tool and method |
US5781227A (en) * | 1996-10-25 | 1998-07-14 | Diva Systems Corporation | Method and apparatus for masking the effects of latency in an interactive information distribution system |
US6253375B1 (en) * | 1997-01-13 | 2001-06-26 | Diva Systems Corporation | System for interactively distributing information services |
US6208335B1 (en) * | 1997-01-13 | 2001-03-27 | Diva Systems Corporation | Method and apparatus for providing a menu structure for an interactive information distribution system |
US6305019B1 (en) | 1997-01-13 | 2001-10-16 | Diva Systems Corporation | System for interactively distributing information services having a remote video session manager |
US6166730A (en) * | 1997-12-03 | 2000-12-26 | Diva Systems Corporation | System for interactively distributing information services |
US6192408B1 (en) * | 1997-09-26 | 2001-02-20 | Emc Corporation | Network file server sharing local caches of file access information in data processors assigned to respective file systems |
US5941969A (en) * | 1997-10-22 | 1999-08-24 | Auspex Systems, Inc. | Bridge for direct data storage device access |
US6219693B1 (en) * | 1997-11-04 | 2001-04-17 | Adaptec, Inc. | File array storage architecture having file system distributed across a data processing platform |
US6128717A (en) * | 1998-01-20 | 2000-10-03 | Quantum Corporation | Method and apparatus for storage application programming interface for digital mass storage and retrieval based upon data object type or size and characteristics of the data storage device |
US6697846B1 (en) * | 1998-03-20 | 2004-02-24 | Dataplow, Inc. | Shared file system |
US6314573B1 (en) * | 1998-05-29 | 2001-11-06 | Diva Systems Corporation | Method and apparatus for providing subscription-on-demand services for an interactive information distribution system |
EP1082853A1 (en) * | 1998-05-29 | 2001-03-14 | Diva Systems Corporation | Interactive information distribution system and method |
US6157051A (en) * | 1998-07-10 | 2000-12-05 | Hilevel Technology, Inc. | Multiple function array based application specific integrated circuit |
US6574591B1 (en) * | 1998-07-31 | 2003-06-03 | Network Appliance, Inc. | File systems image transfer between dissimilar file systems |
US7035278B2 (en) * | 1998-07-31 | 2006-04-25 | Sedna Patent Services, Llc | Method and apparatus for forming and utilizing a slotted MPEG transport stream |
US6148414A (en) * | 1998-09-24 | 2000-11-14 | Seek Systems, Inc. | Methods and systems for implementing shared disk array management functions |
US6618363B1 (en) * | 1998-10-09 | 2003-09-09 | Microsoft Corporation | Method for adapting video packet generation and transmission rates to available resources in a communications network |
JP2000148565A (ja) * | 1998-11-13 | 2000-05-30 | Hitachi Ltd | 異種オペレーティングシステムファイル共用方法およびファイル共用システム |
US6389218B2 (en) | 1998-11-30 | 2002-05-14 | Diva Systems Corporation | Method and apparatus for simultaneously producing compressed play and trick play bitstreams from a video frame sequence |
JP2000175189A (ja) * | 1998-12-07 | 2000-06-23 | Univ Tokyo | 動画符号化方法およびそれに用いる動画符号化装置 |
US6785338B1 (en) | 1999-01-19 | 2004-08-31 | Sarnoff Corporation | Constraining video production based on compression-related information |
US6588017B1 (en) | 1999-01-27 | 2003-07-01 | Diva Systems Corporation | Master and slave subscriber stations for digital video and interactive services |
US7017173B1 (en) | 1999-03-30 | 2006-03-21 | Sedna Patent Services, Llc | System enabling user access to secondary content associated with a primary content stream |
GB2363931B (en) | 1999-03-31 | 2003-11-12 | Diva Systems Corp | Method and apparatus for performing impulse authorizations within a video on demand environment |
US6289376B1 (en) * | 1999-03-31 | 2001-09-11 | Diva Systems Corp. | Tightly-coupled disk-to-CPU storage server |
US8065708B1 (en) | 1999-03-31 | 2011-11-22 | Cox Communications, Inc. | Method for reducing latency in an interactive information distribution system |
WO2000059202A2 (en) | 1999-03-31 | 2000-10-05 | Diva Systems Corporation | Method for distributing and managing content for on demand applications utilizing local storage |
US6721794B2 (en) * | 1999-04-01 | 2004-04-13 | Diva Systems Corp. | Method of data management for efficiently storing and retrieving data to respond to user access requests |
US6233607B1 (en) * | 1999-04-01 | 2001-05-15 | Diva Systems Corp. | Modular storage server architecture with dynamic data management |
US7127737B1 (en) | 2000-01-26 | 2006-10-24 | Sedna Patent Services, Llc | Bandwidth management techniques for delivery of interactive program guide |
US6499039B1 (en) * | 1999-09-23 | 2002-12-24 | Emc Corporation | Reorganization of striped data during file system expansion in a data storage system |
ES2275558T3 (es) | 1999-10-28 | 2007-06-16 | Ncube Corporation | Sistema con ancho de banda adaptativo y metodo de retransmision de datos. |
US20020073172A1 (en) | 1999-12-10 | 2002-06-13 | Diva Systems Corp. | Method and apparatus for storing content within a video on demand environment |
US7564873B1 (en) | 1999-12-10 | 2009-07-21 | Cox Communications, Inc. | Method and apparatus for providing in-band messaging within a video on demand environment |
US7096481B1 (en) * | 2000-01-04 | 2006-08-22 | Emc Corporation | Preparation of metadata for splicing of encoded MPEG video and audio |
EP1264478B1 (en) | 2000-01-13 | 2008-07-23 | Broadband Royalty Corporation | Method and apparatus for identifying a signal route for delivery of video-on-demand to a subscriber terminal |
US7159235B2 (en) * | 2000-01-28 | 2007-01-02 | Sedna Patent Services, Llc | Method and apparatus for content distribution via non-homogeneous access networks |
CA2397975C (en) | 2000-01-28 | 2016-11-01 | Diva Systems Corporation | Method and apparatus for content distribution via non-homogeneous access networks |
US7032223B2 (en) * | 2000-03-01 | 2006-04-18 | Realtek Semiconductor Corp. | Transport convergence sub-system with shared resources for multiport xDSL system |
US20010034786A1 (en) * | 2000-03-15 | 2001-10-25 | Ibm | Method ane system for streaming media data in heterogeneous environments |
EP1297438A1 (en) * | 2000-04-28 | 2003-04-02 | Live365, Inc. | System and method for reducing the resources required to deliver streaming media |
US6745284B1 (en) * | 2000-10-02 | 2004-06-01 | Sun Microsystems, Inc. | Data storage subsystem including a storage disk array employing dynamic data striping |
US6970939B2 (en) * | 2000-10-26 | 2005-11-29 | Intel Corporation | Method and apparatus for large payload distribution in a network |
WO2002035359A2 (en) * | 2000-10-26 | 2002-05-02 | Prismedia Networks, Inc. | Method and system for managing distributed content and related metadata |
US7031343B1 (en) | 2000-11-17 | 2006-04-18 | Alloptic, Inc. | Point-to-multipoint passive optical network that utilizes variable-length packets |
JP2002196954A (ja) * | 2000-12-27 | 2002-07-12 | Toshiba Corp | 記憶資源自動管理方法及びネットワークコンピュータシステム |
US7383288B2 (en) * | 2001-01-11 | 2008-06-03 | Attune Systems, Inc. | Metadata based file switch and switched file system |
US20020161850A1 (en) * | 2001-01-29 | 2002-10-31 | Ulrich Thomas R. | Data path accelerator for storage systems |
US7444662B2 (en) * | 2001-06-28 | 2008-10-28 | Emc Corporation | Video file server cache management using movie ratings for reservation of memory and bandwidth resources |
GB2377284B (en) * | 2001-07-02 | 2005-06-22 | Sun Microsystems Inc | Computer storage systems |
US20030079018A1 (en) * | 2001-09-28 | 2003-04-24 | Lolayekar Santosh C. | Load balancing in a storage network |
US7174086B2 (en) * | 2001-10-23 | 2007-02-06 | Thomson Licensing | Trick mode using dummy predictive pictures |
US7546364B2 (en) * | 2002-05-16 | 2009-06-09 | Emc Corporation | Replication of remote copy data for internet protocol (IP) transmission |
US7657917B2 (en) * | 2002-05-23 | 2010-02-02 | Microsoft Corporation | Interactivity emulator for broadcast communication |
JP2004013367A (ja) * | 2002-06-05 | 2004-01-15 | Hitachi Ltd | データ記憶サブシステム |
US7197516B1 (en) * | 2002-07-22 | 2007-03-27 | Veritas Operating Corporation | Method and system for an overlay filesystem |
US7596298B2 (en) | 2002-10-10 | 2009-09-29 | Koninklijke Philips Electronics N.V. | Synchronizing interactive applications during trick-play |
US7260576B2 (en) * | 2002-11-05 | 2007-08-21 | Sun Microsystems, Inc. | Implementing a distributed file system that can use direct connections from client to disk |
JP2004199535A (ja) * | 2002-12-20 | 2004-07-15 | Hitachi Ltd | 計算機システムおよびそのストレージの管理方法 |
US8225194B2 (en) * | 2003-01-09 | 2012-07-17 | Kaleidescape, Inc. | Bookmarks and watchpoints for selection and presentation of media streams |
US20040158867A1 (en) * | 2003-02-10 | 2004-08-12 | General Instrument Corporation | Methods, systems, and apparatus for determining transport stream channels for video-on-demand applications |
US7051176B2 (en) * | 2003-03-25 | 2006-05-23 | Emc Corporation | Reading data provided to a remote storage device |
JP4301849B2 (ja) * | 2003-03-31 | 2009-07-22 | 株式会社日立製作所 | 情報処理方法及びその実施システム並びにその処理プログラム並びにディザスタリカバリ方法およびシステム並びにその処理を実施する記憶装置およびその制御処理方法 |
US7233946B1 (en) * | 2003-04-11 | 2007-06-19 | Sun Microsystems, Inc. | File interval lock generation interface system and method |
US6986019B1 (en) * | 2003-04-21 | 2006-01-10 | Maxtor Corporation | Method and apparatus for detection and management of data streams |
US7484050B2 (en) * | 2003-09-08 | 2009-01-27 | Copan Systems Inc. | High-density storage systems using hierarchical interconnect |
US7305529B1 (en) * | 2003-12-19 | 2007-12-04 | Symantec Corporation | Cooperative data replication |
US7039662B2 (en) * | 2004-02-24 | 2006-05-02 | Hitachi, Ltd. | Method and apparatus of media management on disk-subsystem |
JP4718122B2 (ja) * | 2004-04-06 | 2011-07-06 | 株式会社日立製作所 | メディア配信装置 |
US7318190B2 (en) * | 2004-06-10 | 2008-01-08 | Intel Corporation | Storage device parity computation |
-
2005
- 2005-07-20 JP JP2007522753A patent/JP4663718B2/ja active Active
- 2005-07-20 KR KR1020077003585A patent/KR100899462B1/ko active IP Right Grant
- 2005-07-20 US US11/186,300 patent/US7640274B2/en active Active
- 2005-07-20 WO PCT/US2005/025883 patent/WO2006012418A2/en active Application Filing
- 2005-07-20 CN CN2005800238220A patent/CN101027668B/zh active Active
- 2005-07-20 EP EP05773453A patent/EP1782287A2/en not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
CN101027668A (zh) | 2007-08-29 |
WO2006012418A9 (en) | 2007-03-08 |
JP2008507771A (ja) | 2008-03-13 |
US7640274B2 (en) | 2009-12-29 |
KR20070083489A (ko) | 2007-08-24 |
KR100899462B1 (ko) | 2009-05-27 |
JP4663718B2 (ja) | 2011-04-06 |
WO2006012418A2 (en) | 2006-02-02 |
US20060064536A1 (en) | 2006-03-23 |
WO2006012418A3 (en) | 2006-06-29 |
EP1782287A2 (en) | 2007-05-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101027668B (zh) | 基于块映射表缓冲存储和虚拟文件系统的可堆叠文件系统模块的分布式存储结构 | |
US5933834A (en) | System and method for re-striping a set of objects onto an exploded array of storage units in a computer system | |
Federighi et al. | Distributed hierarchical storage manager for a video-on-demand system | |
CN101515273B (zh) | 提供用于在存储设备的分布式文件系统中进行信息追踪的元数据的系统和方法 | |
Gemmell et al. | Multimedia storage servers: A tutorial | |
CN101228523B (zh) | 用于高速缓存网络文件系统的系统和方法 | |
EP1272931B1 (en) | Multi-device storage system with differing fault tolerant methodologies | |
JP4284190B2 (ja) | 管理対象オブジェクトの複写および配信 | |
US8307176B1 (en) | Method and system for efficient space management for single-instance-storage volumes | |
CN101520805B (zh) | 一种分布式文件系统及其文件处理方法 | |
JP3117390B2 (ja) | 複数のディスク間でデータ・セットを分配する方法及び関連する装置・方法 | |
CN1093660C (zh) | 多媒体系统中高效传送数据流的系统方法和设备 | |
US20030154246A1 (en) | Server for storing files | |
US20070282868A1 (en) | Notification for a distributed file system | |
CN104079600B (zh) | 文件存储方法、装置、访问客户端及元数据服务器系统 | |
Chen et al. | Using rotational mirrored declustering for replica placement in a disk-array-based video server | |
Lau et al. | Scheduling and data layout policies for a near-line multimedia storage architecture | |
CN102497359A (zh) | 一种基于瘦客户端流媒体服务系统的运行方法 | |
Ma et al. | An evaluation of storage systems based on network-attached disks | |
CN101453480B (zh) | 一种适用于媒体流化的数据共享系统及共享方法 | |
Du | Intelligent storage for information retrieval | |
US10063256B1 (en) | Writing copies of objects in enterprise object storage systems | |
Srinilta | Techniques for improving performance in continuous media servers | |
Pegler et al. | Scalability issues for a networked multimedia storage architecture | |
Seo | Survey on data placement and migration algorithms in distributed disk systems |
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 |