新颖的用于多工作站/多平台非线性视频编辑系统的媒体文件访问和存储解决方案的制作方法

文档序号:6655805阅读:218来源:国知局
专利名称:新颖的用于多工作站/多平台非线性视频编辑系统的媒体文件访问和存储解决方案的制作方法
技术领域
本发明一般地涉及集中共享存储系统,用于数字视频和音频文件的协作非线性编辑和操作。
背景技术
能够在源素材上执行随机访问的非线性视频和音频编辑系统(NLE)典型地被设置在独立的计算机工作站上,该工作站具有输入数字或模拟音频和视频的装置以及用于编辑该输入的音频和视频的软件。
在该系统中,视频和声音(例如对于电影和电视产品)被数字化,或者不同地数字视频被导入到计算机中,以存储在硬盘上或其他存储介质上。随后,可以用软件如Avid的Xpress Pro和Media Composer Adrenaline、Pinnacle的Liquid Edition、Apple的Final Cut Pro、Optibase的Media 100、Sony Vegas、Canopus Edius、以及Adobe Premiere Pro来操作数字媒体。然后,在导入的视频被存储、导出到另一介质、或者被编码以传送到其他存储介质例如CD或DVD之前,可以在其上执行各种编辑任务。
尽管给出的电视或电影产品设备可能具有多个NLE工作站,但是由每个NLE存储和访问的数字媒体文件—视频文件、音频文件、图形、静止画面等-典型地以本地方式驻留在该工作站的内部硬盘驱动器上或直接附连到该工作站的外部硬盘驱动器上。
几个制造商提供允许多个NLE(通常来自制造商自己的生产线)附连到集中存储网络的产品。将NLE附连到每个用户和工作站可以访问的公共集中存储网络大大地提高了编辑NLE的效率并且也允许促进协作和创造力的工作流程。通过将媒体文件存储在集中位置,很多编辑器可以同时在同一项目上工作而不必在每个系统上复制该媒体文件。例如,在新闻工作中,记者可以编辑一故事而编辑者可以从同一素材创建“提出下一广告片(coming up next promos)”。在来自文献片和故事片的领域的另一实例中,可以在一组工作站处将新的媒体文件增加到该系统(捕获),而编辑者在另一组工作站处编辑那些文件。类似地,一个编辑者可以对故事的完成部分调节声音,同时另一编辑者在仍然需要编辑的故事部分上工作。因此,主管可以检查下属的工作,同时下属继续在一项目上工作。另外,编辑者可以使用可用的任何工作站,因为该媒体文件不需要直接附连到恰好可用的工作站。
有了将NLE附连到公共集中存储网络的全部优点,似乎具有两个或更多NLE系统的每个设备将使用集中存储。但是,当前可用的系统的高成本对于NLE系统的很多所有者来说是显著的障碍。另外,被市场化以对视频和音频文件的协作编辑和操作提供集中存储的很多商业产品不提供用户需要的一些关键能力。
设置全面且有效的“本地生产的(home grown)”集中存储系统在大多数情况中不是实际的可选方案,这是因为共享的媒体文件必须以如下方式存储该文件被管理并且防止意外的删除,并且使访问那些文件的NLE工作站彼此不发生冲突。
例如,Avid Technology的产品如Xpress Pro和Media ComposerAdrenaline(Windows和Macintosh版本)扫描它们在可被工作站访问的各种存储装置上可以看到的全部媒体文件,并且随后创建剪辑的数据库—将该数据库文件写到发现该媒体文件的完全相同的文件夹中。如果多个工作站试图在网络上访问同一媒体文件文件夹,每个工作站将试图重写该数据库文件-有时导致工作站崩溃或毁坏彼此的项目。另外,用于Macintosh的数据库文件以“点”(“.”)开始,而用于Windows机器的数据库文件不是这样;因此,Macintosh忽略该Windows数据库文件,但是Windows机器将试图隔离—移除—该“.”文件,因为该“.”文件不被识别为属于该文件夹。
当使用Xpress DV Xpress Pro、Adrenaline等将新的媒体文件捕获到一系统上时出现另一问题。由于新素材是从录像带捕获的,因此该数字音频和视频媒体文件被临时存储在称为“Creating”的子文件夹中,并且被给出临时名称直到该捕获过程完成。如果同时捕获两个或多个工作站,每个工作站将临时文件存储在同一“Creating”子文件夹中并且试图给予那些文件相同的名称—因此导致冲突。
Avid Technology产品不是存在该集中存储困难的仅有的NLE。当在其它居于行业领先地位的NLE如Apple的Final Cut Pro和Adobe PremierePro上工作时,如果多个用户试图在简单联网的卷上读和写同一媒体文件,存在严重的危险即媒体文件可能意外地-或者甚至恶意地-被删除,导致该组的一些或全部成员的损害。
因此,高度需要提供一种经济的集中存储解决方案,其允许多个用户和工作站访问同一媒体文件,同时避免前述工作站崩溃、项目文件毁坏、以及文件的意外或恶意删除的问题。
另外,高度需要提供一种集中存储解决方案,其在多个用户和工作站之间、以及在那些用户和工作站与他们需要操作的媒体文件之间创建隔离层,使得所有用户和工作站都可以向媒体文件的公共池添加和对其操作,仍不会以任何不良的方式影响彼此。实现此目标的一种方式将是通过利用“文件虚拟化”的概念-其中给定的实际媒体文件可以具有很多不同的名称或文件系统上的位置,或其中给定的文件名可以实际上代表不同的文件或不同的文件名。
另外,高度需要提供一种集中存储解决方案,其允许来自不同制造商的不兼容的NLE能够看到并且操作公共的媒体文件集,即使由一个品牌的NLE创建的媒体文件的本地名称通常可能妨碍竞争的NLE识别那些文件实际上是潜在地能够由竞争品牌的NLE操作的媒体文件。此跨NLE兼容性也可以通过文件虚拟化得到大大的帮助—其中同一媒体文件可以具有多于一个名称,每个名称被定制使其可以由特定的NLE应用所识别。
文件虚拟化先前已经在有限的程度内被用于NLE在网络上访问公共媒体文件集的上下文,特别是在Rorke Data公司的ImageSan产品(http://www.rorke.com/)和Tiger Technology的Meta San产品(http://www.metasan.com/)的情形中。在这两种情形中,这些产品利用虚拟化作为手段以允许多个Avid NLE工作站的每个创建并且访问它们自己的唯一的媒体数据库文件并且从每个媒体文件卷内“创建”文件夹,而不让一个Avid NLE知道其他Avid NLE具有该数据库文件并且在该处“创建”具有完全相同名称的文件夹。在两种情形中,这些产品的虚拟化方面涉及“客户端侧”软件,其执行对于该NLE为透明的文件或目录命名操作。因此,例如,当工作站A试图在中央位置处写某个文件(例如媒体数据库文件)时,客户端软件重命名该文件,使其可与通常也具有相同名称的其他文件共存。两种情形中文件或目录命名操作都不发生在“服务器侧”。另外,这些解决方案仅在Avid NLE的上下文中使用虚拟化,并且仅用于此很有限的用途允许多个Avid媒体数据库文件以及多个Avid“创建”文件夹在同一卷中共存,使得多个Avid在它们访问同一媒体卷(存储空间)时不会彼此发生冲突。
另外,尽管在专利文献中已经建议使用文件“虚拟化”(参见例如美国专利申请公布No.2003/0097276和2004/0199578),美国专利No.6,195,650仅将符号链接的使用描述为客户端侧解决方案的部分。
因此,高度需要提供一种用于非线性编辑系统和其他装置(例如,编码器和能够在网络上记录、回放、和/或访问数字媒体文件的硬件或软件)的集中协作存储系统,其具有用于存储和使得能够操作数字视频媒体的集中存储介质,其实施服务器侧解决方案,使得能够将实施各种NLE应用平台的多个视频编辑工作站和其他装置链接起来,同时避免前述问题。

发明内容
因此,本发明的一目的是提供一种用于非线性编辑系统和其他装置(例如,编码器和能够在网络上记录、回放、和/或访问数字媒体文件的硬件或软件)的集中协作存储系统、方法和计算机程序产品,用于访问存储在集中存储介质中的数字媒体文件,其避免当多个用户访问彼此的项目时的前述工作站崩溃和项目文件毁坏的问题。
因此,本发明的一目的是提供一种用于非线性编辑系统和其他装置(例如,编码器和能够在网络上记录、回放、和/或访问数字媒体文件的硬件或软件)的集中协作存储系统、方法和计算机程序产品,其消除常见Windows和Macintosh平台上的非线性视频编辑系统(NLE)中存在的问题。
本发明的另一目的是提供一种新颖的用于非线性编辑系统和其他装置(例如,编码器和能够在网络上记录、回放、和/或访问数字媒体文件的硬件或软件)的集中协作存储系统、方法和计算机程序产品,其实施文件虚拟化特征,该特征使服务器能够允许多个NLE工作站和其他装置能够看见和访问存储在中央存储介质中的同一媒体文件(视频、音频、图形等),同时根本地保持每个工作站和其他装置相互隔离(即不知道其他存在)。
本发明的另一目的是提供一种新颖的用于非线性编辑系统和其他装置(例如,编码器和能够在网络上记录、回放、和/或访问数字媒体文件的硬件或软件)的集中协作存储系统、方法和计算机程序产品,其实施服务器侧文件虚拟化特征,该特征使服务器能够允许多个NLE工作站和其他装置看见和访问同一媒体文件。
根据这些目的,本发明提供一种用于非线性编辑系统和其他装置的集中协作存储系统,其实施服务器侧文件虚拟化特征,该特征使服务器能够允许多个NLE工作站和其他装置看见和访问存储在中央存储介质中的同一媒体文件(视频、音频、图形等),同时根本地保持每个工作站和其他装置相互隔离(即不知道其他存在)。
本发明的解决方案是建立于Linux操作系统(并且也发现于其他的Unix或类似于Unix的操作系统如Mac OS-X中)的底层特征的独特使用之上的,所述底层特征即这些操作系统创建到文件的指针或“链接”(“符号链接”和“硬链接”两者)的能力。本发明系统进行该链接的延伸使用,以为连接到服务器及其集中存储的每个工作站提供容易且安全的到共享媒体文件的访问。本质上,该系统虚拟化被指定成可被多于一个用户和工作站访问的全部媒体文件,将到实际文件的“链接”提供给连接到该服务器的全部工作站和用户(通过每个用户或工作站自己的独有目录和网络共享),同时将实际的媒体文件保护在不能被那些用户和工作站直接访问的完全独立的目录中。即,“符号链接”创建虚拟文件,其对于系统中的每个用户是独有的,但是指向通常不被任何NLE工作站直接访问的文件夹中、网络化驱动器上所存储的真实媒体文件的公共集。从NLE的观点来看,这些链接与实际媒体文件是不可区分的—并且因此可以执行NLE将要和能够在那些文件上通常执行的所有操作(甚至文件删除)。但是,因为该文件实际上仅为链接,实际文件一直被保护。
以此方式虚拟化全部共享媒体文件的方案也使不同的NLE应用能够在网络上共享媒体文件。文件虚拟化—其中同一媒体文件可以具有多于一个名称,每个名称可被定制使其可由特定的NLE应用所识别—使得能够实现此跨NLE兼容性。
优选地,软件解决方案在综合体的工作站侧是平台和品牌无关的。仅需要的是基于Linux(或等效地,Unix或类似于Unix)的服务器。即,全部数字视频媒体数据文件操作以平台无关的方式在服务器侧发生,因此,允许运行在许多不同平台上的许多不同种类的编辑系统和其他装置共享同一存储空间。
根据本发明的前面的目的和方面,提供了一种用于将数字音频和视频媒体文件存储在具有计算机服务器的系统中的系统、方法和计算机程序产品,该计算机服务器与用于存储该媒体文件的装置通信,并且与一个或多个独立用户通信。该方法包括步骤在该存储装置上创建目录结构,用于分级地组织数字媒体和其他数据文件;在该目录结构中生成与能够访问该媒体文件的每个独立用户对应的用户目录,并且独立用户通过该用户目录可以存储实际数字媒体文件;将实际存储的数字媒体文件从用户目录移动到与所述用户目录分开的共享目录,在该处文件对于任何独立用户不是可直接访问的;并且针对移入该共享目录的每个数字媒体文件,为每个单独的独立用户创建到实际数字媒体文件的对应链接,并且将该链接放置在每个对应用户目录内。以此方式,通过该链接,允许用户间接访问存储在存储装置上的该共享目录中的全部的实际数字媒体文件,同时防止直接访问该实际数字媒体文件。
根据本发明的另一方面,提供了一种完备的工具,其通过图形用户界面(GUI)管理集中数字媒体存储系统,该系统为多个NLE工作站存储数字媒体源数据和编辑的数据,实施符号链接虚拟化特征。此管理工具使得能够响应于用户请求而操作媒体和对应的虚拟文件,例如在逻辑位置中创建、从一个逻辑位置移动到另一个、共享、刷新和删除,同时一直自动地保持所述的文件虚拟化特征。


考虑到下面的结合附图的详细描述,本发明的目的、特征和优点将对本领域普通技术人员变得明显,其中图1描绘了根据本发明的用于实施服务器侧文件虚拟化特征的基本架构和示例性计算机环境;图2描绘了与图1的服务器装置通信的典型非线性视频编辑(NLE)系统工作站的配置;图3总体地描绘了根据本发明另外方面的新颖的GUI200,通过其启动这样的功能性,其用于使得能够管理用于数字视频和音频文件的协作非线性编辑和操作的集中共享存储系统;图3还具体地描绘了新颖的GUI302,通过其启动这样的功能性,其用于使管理员能够增加用户到该系统、指定口令、改变口令、以及从该系统移除用户;
图4描绘了根据本发明另外方面的新颖的GUI 305,通过其启动这样的功能性,用于使管理员能够定义可以存储数字媒体文件的各种逻辑项目工作空间;图5描绘了新颖的GUI308,通过其启动这样的功能性,其使管理员能够指定哪些特定用户可具有对通过图4的界面创建的项目工作空间的访问权;图6描绘了当用户被给予对项目工作空间的访问权时所创建的用户目录的实例,并且示出了该用户目录如何在网络上仅对具有对该项目工作空间的访问权的特定用户是可见的;图7描绘了根据本发明的新颖的网页界面415,其使用户能够共享集中共享存储系统中的媒体;图8描绘了根据本发明的新颖的GUI315,其使管理员能够共享作为集中共享存储系统的特定项目工作空间的成员的一个或更多用户的媒体文件;图9描绘了根据本发明的新颖的网页界面418,其使用户能够刷新集中共享存储系统中的媒体;图10描绘了根据本发明的新颖的GUI318,其使管理员能够对作为集中共享存储系统的特定项目工作空间的成员的一个或更多用户刷新媒体;图11描绘了根据本发明的新颖的GUI322,通过其管理员可以指定集中共享存储系统中的文件的删除;图12描绘了根据本发明的新颖的GUI311,通过其管理员可以访问集中共享存储系统中的特定存储盘或卷的使用状态数据;图13描绘了新颖的GUI313,通过其启动用于将项目工作空间延伸到附加的物理盘媒体存储装置上的功能性;以及图14描绘了根据本发明的新颖的GUI460,通过其管理员可以访问集中存储系统中使用的RAID阵列的状态。
具体实施例方式
现在参见附图,并且特别参见图1和2,示出了其中可以实施本发明的整体计算环境。如这里将更详细描述的,文件虚拟化特征使服务器装置20能够允许多个NLE工作站看见和访问中央存储介质中存储的同一媒体文件(视频、音频、图形等),同时根本地保持每个工作站相互隔离(即不知道其他存在)。
如图1中所示,其中可以实施本发明的整体计算环境包括服务器装置20,其通过高速网络连接(例如吉位以太网或10吉位以太网)连接多个视频编辑客户端工作站30a、30b、…、30n。该媒体数据经过交换机装置25通过服务器和工作站之间的直接以太网连接或其他连接或通过无线连接在服务器20和工作站之间流动。服务器装置20优选地包括一个或多个处理器装置,例如Intel Pentium 4或Xeon或AMD Opteron,在Pentium 4或Xeon的情形中支持超过2.4GHz的处理器速度,在Opteron的情形中支持超过1.8GHz。另外,服务器装置20优选地包括1吉字节或更大的RAM。另外,服务器20包括至少一个高速以太网端口(优选地1吉位或更高)。服务器20还包括一装置,用于存储数字媒体文件和其他数据并且优选地提供千吉字节的存储容量,例如由附连到主板上的32位PCI或64位PCI/PCI-X/PCI-Express槽以及附连到高容量内部硬盘驱动器(例如串行ATA驱动器)的硬件RAID卡构成的数据存储子系统50,和/或由连接到也附连到服务器主板上的32位PCI或64位PCI/PCI-X或PCI-Express槽的光纤通道或SCSI适配器的外部RAID阵列构成的数据存储子系统52。更具体地,数据存储子系统50可以包括存储介质,其包括但不限制于磁性硬盘、光存储驱动器、以及甚至是固态盘和存储卡等。如本领域技术人员将知道的,硬件架构可以选择性地包括被配置以支持IDE、SCSI、光纤通道、火线、以及USB装置、协议和拓扑的介质访问控制装置。与所考虑的存储介质控制器(例如,SATA、IDE、或SCSI)无关,其将控制配置在服务器中和/或连接到服务器的多个存储介质驱动器52。
为了讨论的目的,在一个实施例中,用于数字视频和音频文件的协作非线性编辑和操作的集中共享存储系统被配置有两个3ware(AMCC,SanDiego,CA的单元)9500S-8硬件RAID卡,其每个附连到八个250GB SATA硬盘驱动器。服务器及其存储子系统连接到以太网网络。使得能够与每个工作站30a,30b,…,30n通信的交换机装置25可以包括如由SMC Network(Irvine,CA)提供的吉位工作组交换机,使工作站能够通过吉位以太网适配器29以全吉位速度工作,其中吉位以太网适配器29具有集成的吉位以太网MAC和PHY层功能。
具有存储子系统50、52以及到以太网网络的连接的服务器20优选地运行Linux操作系统(或等效地,运行Unix或类似于Unix的不同的操作系统-包括Apple的OS X-其可以运行如下文中描述的软件和硬件)。使服务器能够与每个工作站30a,30b,…,30n通信的交换机装置25可以包括如由SMC(Irvine,CA)提供的吉位网络交换机装置,其支持“铜线之上千兆(Gigabit over Copper)”以太网以及“巨型帧(Jumbo Frames)”(由9000的包大小或最大传输单元-MTU定义)。这使工作站30a,30b,…,30n在以太网线缆60上以全吉位速度工作以便支持网络事务处理,所述全吉位速度允许网络上的最大数据吞吐量以及服务器和工作站双方对CPU资源的最小使用。假定服务器装置20包括至少两个具有集成的吉位以太网MAC和PHY层功能的吉位以太网网络适配器22。该系统与图示的存储子系统一起,允许服务器和工作站之间的充分的数据传输,以支持至少10个NLE工作站或其他有能力的硬件例如但不限于编码器、播出(playout)服务器、以及从诸如硬盘驱动器的装置播放和向其记录的视频记录器同时访问存储子系统上的媒体文件。
如图2中所示,关于将连接到用于数字视频和音频文件的协作非线性编辑和操作的集中共享存储系统的工作站30a,30b,…,30n,其每个包括计算机系统100,该计算机系统100包括一个或多个处理器或处理单元110、系统存储器150、以及将各种系统部件连接在一起的总线101。例如,总线101将处理器110连接到系统存储器150。总线101可以使用任何种类的总线结构或总线结构的组合来实施,包括存储器总线或存储器控制器、外围总线、加速图形端口,以及使用多种总线架构如ISA总线、增强的ISA(EISA)总线、以及外围部件互联(PCI)总线或类似总线装置的任何一种的处理器或局部总线。另外,计算机系统100包括一个或多个监视器19,以及用于将命令和信息输入计算机的操作员输入装置如键盘以及定点装置(例如“鼠标”),数据存储装置,并且实施操作系统如Linux、各种Unix、Macintosh、MS Windows OS等。
计算系统100另外包括计算机可读介质,包括多种易失性和非易失性介质,其每个是可移除的或不可移除的。例如,系统存储器150包括易失性存储器形式的计算机可读介质如随机存取存储器(RAM)、以及非易失性存储器如只读存储器(ROM)。该ROM可以包括输入/输出系统(BIOS),其包含例如在启动期间帮助在计算机装置100内的元件之间传送信息的基本例程。该RAM部件典型地包含可以由处理单元快速访问的形式的数据和/或程序模块。其他种类的计算机存储介质包括硬盘驱动器(未示出),用于从不可移除的非易失性磁介质读取和向其写入;磁盘驱动器,用于从可移除的非易失性磁盘(例如软盘)读取和向其写入;以及光盘驱动器,用于从可移除的非易失性光盘如CD-ROM、DVD-ROM或其他光介质读取和/或向其写入。任何硬盘驱动器、磁盘驱动器、以及光盘驱动器将通过一个或多个数据介质接口(未示出)连接到系统总线101。可替换地,硬盘驱动器、磁盘驱动器、以及光盘驱动器可以通过SCSI接口(未示出)或其他耦合机构连接到系统总线101。尽管没有示出,计算机100可以包括其他类型的计算机可读介质。通常,上述计算机可读介质提供由计算机100使用的计算机可读指令、数据结构、程序模块和其他数据的非易失性存储。例如,该可读介质可以存储操作系统(O/S),一个或多个应用程序,如视频编辑客户端软件应用,和/或其他程序模块和程序数据,用于使得能够通过图形用户界面(GUI)执行视频编辑操作。
提供了将输入装置耦合到处理单元110的输入/输出接口145。更一般地,输入装置可以通过任意种类的接口和总线结构如并行端口、串行端口、通用串行总线(USB)端口等耦合到计算机100。计算机环境100还包括显示装置19和将显示装置19耦合到总线101的视频适配器卡135。除显示装置19之外,计算机环境100可以包括其他输出外围装置如扬声器(未示出)、打印机等。I/O接口145用于将这些其他输出装置耦合到计算机100。
如所提到的,计算机系统100被适配成在联网环境中工作,该环境使用到一个或多个计算机如服务器装置20的逻辑连接,该服务器装置20可以包括上面关于计算机装置100而讨论的全部特征或其某子集。应该理解,可以使用任何类型的网络将计算机系统100与服务器装置20耦合,如局域网(LAN)或广域网(WAN)99a(如因特网)。当在LAN联网环境中实施时,计算机100通过网络接口或适配器29连接到局部网络99a,该网络接口或适配器29支持前述铜线之上吉位以太网或10吉位以太网以及巨型帧。当在WAN联网环境中实施时,计算机100通过高速线缆/dsl调制解调器180或某其它连接装置连接到WAN300。线缆/dsl调制解调器180可以位于计算机100的内部或外部,并且可以通过I/O接口145或其他适当的耦合机构连接到总线101。尽管没有示出,计算环境100可以提供无线通信功能性,用于将计算机100与远程计算装置例如应用服务器20连接(例如通过调制的无线电信号、调制的红外信号等)。
在联网环境中,应该理解,计算机系统100可以从以分布式配置存储在远程存储器存储装置(未示出)中的程序模块得到。但是,无论物理地存储在何处,执行本发明的非线性视频编辑系统的一个或多个应用程序可以包括用于执行主要任务的各种模块。例如,该应用程序可以提供这样的逻辑,其使得能够输入视频源数据以便作为媒体文件存储在集中数据存储系统中和/或在其上执行视频编辑技术。其他程序模块可以用于实施这里没有具体标识的附加功能性。
应该理解,可以考虑其他种类的计算机和网络架构。例如,尽管没有示出,计算机系统100可以包括手持或膝上型装置、顶置盒、可编程家电电子产品、播出服务器、视频编码器、视频记录器,其从诸如硬盘驱动器、大型计算机等的装置播放和向其记录。但是,应该理解,计算环境100可以采用分布式处理配置。在分布式计算环境中,计算资源可能被物理地分散。
关于本发明的文件虚拟化系统,对于存储在服务器装置上-或者在这里描述的存储子系统装置上或者在可以附连到该服务器的任何其他存储装置(例如可以通过SCSI或光纤通道连接而链接到服务器的SCSI驱动器阵列或存储区域网装置)上-的每个媒体文件对于被给予对该服务器(或对该服务器上的特定项目工作空间)的访问权的每个工作站、装置或用户存在到该文件的对应符号链接。
部分地,本发明的软件部件将创建到实际媒体文件的符号链接以及将这些链接放置在仅由一个单个用户或工作站访问的适当的文件夹中的过程自动化。虽然每个用户、工作站或装置将看见到文件的链接而不是文件本身,但是NLE应用和装置将该链接视作如同它们是实际文件一样;因此NLE应用和装置绝对不必“看见”它们自身的独有文件夹之外的、服务器上的任何东西。
在Avid Technology的Xpress DV、Xpress Pro、Adrenaline和NewscutterNLE应用的情形中,例如,当运行这些应用的给定工作站基于其在其自己的文件夹中看见的媒体文件“链接”而生成数据库文件时,该数据库文件将与全部链接存储在一起-单独用户或工作站的文件夹内,并且因此该数据库文件将仅对一个用户或工作站是可见的,并且不能毁坏其他用户或工作站的数据库。换句话说,每个用户或工作站将制作其自己的数据库文件并且将它们存储在其自己的文件夹内—其将绝对不会被任何其他用户或工作站看见。
至于通过Xpress DV和Xpress Pro将新媒体捕获到共享的存储上的问题,任何临时的音频和视频文件将存储在存在于用户或工作站自己的用户目录内的“创建”文件夹中。当该捕获过程完成时,NLE应用将把该文件移出“创建”文件夹并且移入用户或工作站的主用户目录。此时,新媒体文件将仅对一个用户或工作站是可访问的(并且该用户目录中由Avid应用生成的对应媒体数据库文件将仅索引该用户的当前文件)。但是,本发明的软件部件实施如下功能性自动地将新的实际媒体文件移出该工作站的文件夹并且移入共享文件夹,在用户或工作站的用户文件夹中自动创建到那些共享文件的符号链接。当其他用户即将具有对该新媒体的访问权时,他们也可以使用该软件来刷新他们自己的文件夹。以该方式,每个工作站将仅在对该工作站的用户为方便时(即当该NLE应用未运行时,或当NLE应用没有参加在该应用将知道新媒体文件的情况下可能被中断的某活动时)“知道”新媒体。
在同时使用两个不同品牌的NLE系统(即Premiere和Final Cut Pro)的情形中,虚拟化文件的技术不仅将每个工作站的存储空间保持为独立于其他的(仍被链接的),而且它也允许虚拟文件的命名使得它们能够作为正确的媒体文件类型被每个应用看见。例如,NLE应用Final Cut Pro原本地与其存储的无*.mov扩展名的Quicktime文件一起工作。尽管Premiere NLE应用也可以与Quicktime文件一起工作,但是如果这些文件没有*.mov扩展名,则其不能识别它们。然而,当在Final Cut Pro中创建的媒体文件通过符号链接被虚拟化使得它们对Premiere为可访问时,该链接文件可以被重命名使得它们具有所需的*.mov扩展名。因此,例如,如在说明可能在集中存储卷上找到的典型目录和文件结构的下面节中(“RAID目录的带注释示意”)所概述的,如果用户在Final Cut Pro中捕获20分钟剪辑,该剪辑实际上将被分成3个剪辑—2个占据大约2GB的空间以及一个占据大约200MB。这些剪辑将被加上“Clip-av”,“Clip-av-1”,“Clip-av-2”的标题。Clip-av将实际上包含到其他两个剪辑的引用—并且因此,为了将整个20分钟剪辑放入Premiere,该第一剪辑“Clip-av”必须被重命名为“Clip-av.mov”,但是其他两个剪辑必须保持它们原始的名称。本发明的软件注意所有重命名并且仅重命名正确的剪辑。
实质上,使用符号链接来虚拟化媒体文件的技术解决了使多个NLE访问驻留在Linux(或其他基于Unix)服务器上的公共文件组的许多不同问题。
根据本发明的另一方面,如现在这里关于图3-9而描述的,提供本发明的文件虚拟化特征的服务器20上的可执行程序附加地提供新颖的图形用户界面(GUI),用于启动用于管理集中存储系统50的功能性。例如,该软件实施这样的功能性,其用于生成如在图3的示例GUI 200中所示的显示界面200,其提供一系列标签页(tab),这些标签页提供这样的界面,其用于使得能够实现下列媒体管理功能,所述功能包括但不限于通过标签页202增加用户到该系统;通过标签页205增加项目工作空间到该系统并且指定要将该项目工作空间放置在其上的特定RAID阵列;通过标签页208增加用户到项目工作空间;通过标签页211确定项目工作空间使用状态;通过标签页213指定用于项目或项目工作空间的盘存储空间的分配;通过标签页215共享媒体文件;通过标签页218刷新媒体文件;通过标签页222删除媒体文件;通过标签页213经由将项目工作空间扩展到附加的RAID阵列上而扩展对该项目工作空间可用的物理空间。另外,本发明的此方面将使管理员能够选择什么类型的NLE系统将是在该项目上工作的主类型,即配置该系统以配置适当的子目录。
具体地,标签页202的选择激活如图3中所示的界面302,其使得能够增加用户到该系统。为了让一个或多个独立用户在该系统上存储媒体,并且随后访问他们自己的媒体以及访问已经由其他人存储的媒体,首先需要的是将那些用户增加到该系统,使得他们具有该服务器上的用户名和口令,并且使得该服务器能够授权他们访问特定用户被授权访问的任何资源。这是由能够在GUI302中所示的相应的输入字段中输入用户的名称以及用户的口令的管理员来完成的。在同一操作中,此特征将同一用户名和口令增加到授权的Samba(或Windows联网)用户列表。
进一步应该理解,通过图3中所示的GUI 302,提供使得能够从该系统中移除用户的功能性。优选地仅对于管理员是可访问的此特征从Linux(或Unix)系统移除用户名和口令。在同一操作中,此特征从授权的Samba(Windows联网)用户列表移除同一用户名和口令。因此,通过图3中所示的GUI显示302,导致显示现有用户的下拉列表,其可以例如通过高亮来选择,并且提供可单击按钮,其在被选择时从该系统移除该用户。当该按钮被单击时,用户名和口令也被从Linux(Unix)OS移除,并且另外从Samba用户列表(未示出)移除该用户和口令。另外,此特征实施用于删除与该用户相关联的全部目录或文件夹的功能性。
回到图3,标签页205的选择生成如图4中所示的界面305,使管理员能够指定可以定义不同的项目工作空间的RAID阵列。这些是高层目录,一个或多个独立用户的组织可以把以某种方式彼此相关的数字媒体文件和其他数据文件放置到其中。尽管为了实施本发明创建多个项目工作空间不是严格必须的,但是创建多个项目工作空间使得在不再想要文件组时管理媒体文件更容易。例如,可以删除整个项目工作空间—因此删除包含在内的所有文件—而保持其他项目工作空间中的全部媒体文件不受影响。另外,通过提供用于创建多个项目工作空间的装置,该系统使管理员能够指定一个项目工作空间可以仅由特定用户组访问,而其他项目工作空间可以仅由其他特定用户组访问。因此,通过GUI305,如图4中所示,管理员不仅能够创建不同的项目工作空间,而且也能够指定将要在哪个存储卷或RAID阵列上创建项目工作空间。因此,通过GUI305,用户可以输入项目工作空间名称、指定RAID阵列,以及单击“将项目加到系统”,其触发软件程序在所选择的RAID阵列或存储卷内创建具有项目工作空间的名称的目录。
根据关于图4示出的本发明的此方面,以及参考下面提供的RAID目录列表的带注释示意实例,向管理员提供的显示界面305使得能够在输入字段中输入新项目工作空间的名称(例如“ProjectName”);除指示在每个阵列上有多少空间可用之外,通过“RAID阵列”下拉框导致显示连接到该系统的所有RAID阵列的列表,并且另外,允许管理员选择RAID阵列。通过图4的界面305而支持的附加功能性是管理员在例如称为“ProjectName_1”的阵列上创建目录、以及在“ProjectName_1”内创建例如称为“OMFI MediaFiles”的子目录的能力。
回到图3,标签页208的选择生成现在如图5中所示的界面308,其使得能够增加用户到项目工作空间。将用户增加到项目工作空间触发了底层计算机程序的几个动作。例如,在项目工作空间目录中,计算机程序创建特定地对应于用户的名称和项目工作空间名称的用户目录。该计算机程序还创建对应于用户和项目工作空间的Windows(Samba)网络共享(并且在某些情形中还为Macintosh AFP共享),使得当用户以她/他的用户名和口令登录到服务器上时,网络共享将会在可访问网络资源的列表中可见-因此向每个用户提供安装她/他的网络共享的每个的机会(共享的数量取决于他/她是其成员的项目工作空间的数量),并且如同它们是附连到本地客户端机器那样地使用它们。在本发明的一个示例实施例中,网络共享以如下方式配置特定用户的网络共享只对以该用户登录到服务器上的用户是可见的。因此,用户不再由于看见其他用户的共享名称—仅被授权由与共享对应的用户访问的共享-而分神。
因此,根据本发明的另一方面,本发明的软件通过图形用户界面提供将用户增加到当前存在的项目工作空间的能力。因此,如图5中所示,管理员可以从用户名称下拉框选择名称;以及,例如通过高亮项目工作空间从提供可选择的全部项目工作空间的列表的下拉框中选择“项目名称”;以及,提供用来启动将新用户增加到项目工作空间的动作的按钮。尽管没有示出,在该软件的另一实施中,此特征将附加地使管理员能够选择将要使用的NLE系统的类型,并且随后在主父项目文件夹中为该用户设置适当的目录以及他/她将使用的NLE的类型。
更具体地,参见下面提供的RAID目录列表的带注释示意实例,该软件将执行这样的功能性扫描Linux(或Unix)OS以获得属于称为“编辑者”的组的全部用户名;通过“用户名称”下拉框导致显示上面的用户名并且允许管理员选择一个;扫描附连到服务器的全部媒体存储装置(例如RAID阵列)并且寻找具有格式为“ProjectName_某正整数”(例如ProjectName_1)的名称的任何目录,随后将那些名称(没有该整数)显示在项目名称下拉框中,允许管理员选择项目。当管理员单击“增加新用户”按钮时,执行功能性以在具有“ProjectName_某正整数”形式的全部父目录(a)内创建称为“Usemame_ProjectName_某正整数”的子目录(b),并且在后者的子目录(b)内自动创建子目录(c)在Avid编辑应用的情形中称为“OMFI MediaFiles”或者在Final Cut Pro的情形中称为“CaptureScratch”。应该理解,属于项目工作空间的父目录可以有多于一个RAID-例如,如果项目工作空间文件存储在多于一个RAID阵列上。因此,该软件将用户加到物理地表示该项目工作空间的全部阵列。另外,Samba配置文件将被附加地修改以将该子目录(b)增加为Samba共享,其将出现在网络上作为Windows和支持SMB/CIFS的Macintosh系统上的可映射网络驱动器。最后,本发明提供这样的软件功能性,其修改Netatalk(Apple文件共享协议)配置文件,以使任何增加的子目录(b)作为Macintosh系统上的可安装的网络驱动器出现。
应该理解,通过图5中所示的GUI308提供使得能够从项目工作空间移除用户的功能性。优选地仅对于管理员可访问的此特征从项目工作空间移除用户。用于该项目的、该用户目录中的全部文件和链接将被从该系统删除。具体地,为了实现这些目的,参考下文中提供的示例目录列表,本发明实施这样的功能性扫描Linux(或Unix)OS以获得属于称为“编辑者”的组的全部用户名;导致显示上面的用户名并且允许管理员选择一个;导致扫描附连到服务器的全部RAID阵列以及寻找具有格式“ProjectName_某正整数”(即ProjectName_1)的名称的任何目录,随后在项目名称下拉列表中显示那些名称(没有该整数),因此允许管理员选择项目;并且最后,删除用于该项目工作空间的、与该用户相关的全部用户目录。在此最后动作发生之前,管理员将不得不确认该动作至少两次。
应该理解,当用户作为他/她自己连接到服务器并且映射或安装一个或多个该用户的用户目录时,该用户随后自由地将媒体文件(或任何其他的数据文件)存储到驻留在他/她是其成员的任何项目工作空间内的任何该用户的用户目录中。典型地,用户将从录像带捕获音频和视频文件并且将所得到的数字媒体文件存储在他的用户目录内。用户还可以从另一源即硬盘驱动器或CD将媒体文件传送到该用户目录中。用户也可以使媒体文件进入他/她自己的用户目录等。此时,仅仅这一个用户能够访问和操作已经存储在该用户目录内的媒体文件,因为没有其他用户能够访问另一用户的用户目录内的文件。图6示出了NLE的示例Windows界面400,其中在称为“SillyAnimals”的项目工作空间中已经为用户John创建了用户目录402。
回到图3,标签页215的选择生成如图8中所示的界面315,其为管理员提供用来共享来自与特定项目工作空间相关的特定用户的用户目录的媒体文件的装置。因此,为了让用户访问已由另一用户存储(捕获、提交、传送、等)的文件,有必要让那些文件被明确地共享。该文件可以由存储它们的用户和具有管理员口令并且因此能够运行管理员GUI的人来共享。为了共享文件,用户1)首先通过图7中所示的示例网络界面415连接到用户的GUI;2)以及通过该网络界面415选择他/她已经存储了他/她想要共享的文件所在的项目工作空间名称;以及3)单击共享按钮416。类似地,管理员可以通过单击管理员GUI的共享标签页来经由如图8中所示的界面315共享文件;选择已经为共享而存储媒体文件的人的用户名;选择该文件所在的项目工作空间名称并且单击共享媒体按钮316。在两个情形中,单击共享按钮触发底层软件作用于存储在该用户目录内的全部的实际媒体文件,并且将那些文件移出该用户目录以及移入较高层的共享媒体文件夹。该软件随后对被移动的每个文件创建链接(在下面的实例中是符号链接),并且将该链接放置在该用户目录中。因此,用户仍然可以访问他/她存储在该用户目录中的媒体文件,但是现在该文件将仅通过链接而被间接地访问。从NLE软件、媒体编码器以及常用于操作数字媒体文件的其他软件和硬件的观点来看,有可能对该媒体文件执行全部正常活动,如同该文件在该用户或客户端计算机的独占控制下一样。但是,实际的媒体文件被有效地使得为“只读”,并且防止意外或未授权的擦除。
在实施Avid NLE软件的特定示例场景中,由于每个Avid客户端仅看见其自己的文件夹,并且该文件夹被填充到实际媒体的唯一链接集(加上还未被共享的任何实际媒体),因此每个客户能够创建其自己的唯一媒体数据库文件,该文件索引特定项目工作空间中的媒体文件,并且将那些数据库文件存储在通常存储它们的地方-与媒体文件一起(或在此情形中,与链接加上未共享的实际媒体文件一起)。
通过图形用户界面提供移动媒体能力的软件使得能够实现根据本发明此方面的媒体文件的共享。因此,如图7中所示,用户可以将实际的媒体文件取出用户的用户目录(即在它们已经被捕获后—通常在项目的开始时发生,并且随后在该项目的整个过程中通断的某物);重新定位媒体文件,例如在父项目目录中;并且,用到新位置中的该文件的符号链接代替用户的项目目录中的该文件。
参考图8并且参考下文中提供的RAID目录列表的带注释示意实例,在服务器处实施这样的功能性,其用于扫描Linux(或Unix)OS以获得属于称为“编辑者”的组的全部用户名;通过提供给用户的的显示界面在下拉列表中检索和显示上述用户名,允许用户选择一个;扫描附连到服务器的全部RAID阵列并且寻找任何具有格式例如“ProjectName_某正整数”(即ProjectName_1)的名称的任何目录;在项目名称下拉框中显示那些名称(没有该整数);并且,允许用户选择项目。尽管没有示出,除此功能性之外,该系统可以随后使用户能够选择用于移动视频文件的任选阈值并且选择用于移动音频文件的任选阈值。默认为零,但是用户可以选择仅移动大于某值的文件,例如为了防止小的提交文件如音频和视频因被移入中央目录而消失。随后,当用户选择“共享媒体”按钮316时,调用这样的功能性,其用于针对所选择的项目工作空间确定用户的用户目录中的任何一个中的全部文件(在每个RAID阵列上“Usrneame_ProiectName_某正整数”的形式);并且对于不是符号链接并且也是媒体文(即不是数据库文件)、并且大于该阈值设置的每个文件,该软件将该文件移出用户的用户目录,将其放置到所选择的项目工作空间的共享目录中(实质上是剪切和粘贴操作),并且以符号链接替换该用户的用户目录中的文件。对于存在来自项目工作空间的文件的每个RAID阵列重复此相同的事件序列。因为全部的文件移动保持在给定的RAID卷内,所以该动作几乎是瞬间的。
回到图3,标签页218的选择生成如图10中所示的提供刷新(同步)媒体的能力的界面318。例如,在协作制作环境中,用户将经常想要访问和操作由其他用户创建和存储的文件。如上面解释的,一旦该文件已经被共享-由用户或由管理员-实际文件现在驻留在发起用户的用户目录之外的共享媒体文件夹中,并且因此实际文件现在处于其他用户可以访问它们的位置处。为了获得对另一用户的媒体文件的访问,非发起用户(想要看见该共享文件的人)有必要刷新他的用户目录,他自己可以在运转中设置或者可以由具有管理员口令并且因此能够运行管理员GUI(例如图3)的任何人完成的某物。为了运行刷新功能,用户1)通过图9中所示的示例网络界面418连接到该用户的GUI;2)选择存在他/她想要访问的共享文件的工作空间名称;以及3)单击刷新按钮419。类似地,管理员可以通过以下操作经由如图10所示的界面318刷新用户目录单击管理员GUI的刷新标签页218;选择需要访问共享媒体文件的人的用户名;选择该文件所在的工作空间名称;以及单击刷新按钮319。在两种情形中,单击刷新媒体按钮触发底层软件将处于用户目录中的链接与位于该共享媒体文件夹中的实际媒体文件比较。对于存在于共享媒体文件夹中但在用户目录中不具有对应链接的任何文件,制作链接并且放置在用户目录中-从而给予该用户对共享文件的访问权。每次用户增加新的媒体文件到他/她自己的用户目录时,为了让其他同事使用和操作该文件,该用户(或管理员)必须明确地共享该文件,以便将实际文件移动到共享媒体文件夹,并且其他用户必须被刷新使得创建到该文件的链接并且放置在该其他用户的用户目录中。
参考图10并且参考下文中提供的RAID目录列表的带注释示意实例,在服务器处实施这样的功能性,其用于扫描Linux(或Unix)OS以确定属于称为“编辑者”的组的全部用户名。然后,它显示所获得的用户名并且允许管理员选择一个,并且通过下拉列表(未示出)另外提供机会来选择“全部用户”。然后,调用这样的功能性,其用于扫描附连到服务器的全部数据存储装置(例如RAID阵列)并且寻找根据这里描述的实例具有格式为“ProjectName_某正整数”(即ProjectName_1)的名称的任何目录。该系统然后在项目名称下拉框(未示出)中显示那些名称(没有该整数),允许用户选择项目。响应于检测到“刷新”按钮的选择,软件每次一个地考虑存储在共享媒体文件夹(例如“SomeProject_第一正整数/OMFIMediaFiles”)中的全部媒体文件,并且确定是否在所选择的用户的用户目录(例如“Username_SomeProject_第一正整数/OMFI MediaFiles/”)中存在到该文件的符号链接。如果尚不存在一个,在该用户的用户目录中创建符号链接。对存储在每个RAID阵列上的项目特定文件执行此相同过程。如果在下拉字段中选择“全部用户”则其针对每个用户附加地重复。当用户从图9的网络界面418调用“刷新”功能419时,在服务器上实施类似的功能性-仅该服务器已经知道作用于哪个用户,这借助于这样的事实,即用户必须登录到该网络界面上并且仅被允许作用于他/她自己的用户目录和项目工作空间。因此,不同于管理员的情形,没有给予该用户选择“全部用户”的机会。
根据本发明的另一方面,并且参见下面提供的RAID目录列表的带注释示意实例,用于管理集中存储系统的工具以如下方式包括刷新媒体的能力其可由不同的NLE应用所使用。通过GUI(未示出),该软件启动这样的功能性,即执行与刷新媒体特征类似的功能,但是,便利了符号链接名称中的更广的操作,使得在一个NLE下使用的媒体文件也在另一NLE品牌中可用。例如,具有由编辑应用Final Cut Pro(FCP)创建的音频和视频媒体文件的用户,可以使这些媒体文件对于编辑应用Adobe Premiere是可访问的。为了实现此,该软件将启动这样的功能性扫描Linux(或Unix)OS以获得属于称为“编辑者”的组的全部用户名;显示所获得的用户名并且允许该用户选择一个;扫描附连到服务器的全部媒体存储装置(例如RAID阵列)并且寻找具有格式例如“ProjectName_某正整数”(即ProjectName_1)的名称的任何目录;并且在项目名称下拉框中显示那些名称(没有该整数)。使用户能够从所显示的列表选择项目。根据此实施例,然后要求用户选择“从”和“到”选项—即例如从NLE FCP应用到NLEPremiere应用。可替换地,该用户可仅选择“到”选项并且该软件将自动检测原始媒体的形式格式是什么。此用户输入将指示在处理媒体文件时使用哪个算法。当检测到用户已经选择了“刷新”按钮时,软件每次一个地处理存储在共享媒体文件夹(例如“ProjectName_第一正整数/CaptureScratch”和“ProjectName_第一正整数/Premiere Media Files”)并且询问是否到该文件的符号链接存在于所选择的用户的用户目录(例如“UserName_ProjectName_第一正整数/Capture Scratch”或“UserName_ProjectName_第一正整数/Premiere Media Files”)中。如果现在还不存在一个,则在该用户的适当的用户目录中创建符号链接。但是,不同于上文中关于图9和10描述的“刷新”特征,这次创建符号链接的规则更复杂。例如,如果该文件原来是在NLE应用Final Cut Pro中创建的并且用户想要将它们移动到Premiere应用,该软件将重命名一些符号链接使它们具有.mov扩展名。这将使媒体文件能够由NLE应用例如Premiere读取。但是应该理解,仅仅一些文件可以被重命名。重命名错误的文件可能导致文件对于Premiere应用是不可访问的。原始文件在任何情形中都不被重命名,仅仅可具有编程者选择的任何名称的符号链接可被重命名。对于所描述的实施用于将文件从NLE Final Cut应用移到NLE Premiere应用的功能性的示例性情形,该规则如下如果在Final Cut中创建的媒体文件具有“ClipName-av[或-a或-v]”形式,到Premiere可访问目录中的该文件的符号链接必须具有.mov扩展名。另一方面,如果在NLE Final Cut中创建的媒体文件具有“ClipName-av[或-a或-v]-某数”形式,那么放置在Premiere可访问目录中的符号链接必须具有与原始文件相同的名称。其原因如下例如,在Final Cut中,当用户捕获长于大约10分钟的DV分辨率剪辑时,存储在盘上的文件被分解成不超过2GB的部分。从而,20分钟剪辑可能由两个2GB部分和一个100MB部分构成。第二个2GB部分和该100MB部分实际上由第一个2GB部分引用。用户将仅需打开第一个2GB部分并且其将提供对整个文件的访问。如果所引用的部分被重命名,该引用的部分和第一部分之间的链接将被破坏。对存储在每个RAID阵列上的项目特定文件执行符号链接的创建和剪辑的重命名。
根据本发明的另一方面,用于管理集中存储系统的工具包括删除媒体的能力。在简单的实施例中,可以仅删除项目工作空间,在该情形中从存储卷删除存储在该工作空间内的全部实际媒体文件以及放置在用户目录内的到那些文件的全部链接。在期望仅删除存储在项目工作空间中的实际媒体文件的一部分的情况下,本发明提供更有选择性的用于删除的选项。用户可以从他/她自己的客户端机器删除文件。如果那些文件是共享的媒体文件,实际上该用户将仅删除到实际媒体文件的链接—并且因此没有其他用户将被影响。但是,本发明的底层软件具有可由具有管理员口令并且因此能够运行管理员GUI的任何人调用的功能。该功能执行以下步骤将存在于所选择的用户的用户目录中的链接与共享媒体文件夹中的实际媒体文件比较;从共享媒体文件夹删除在所选择用户的用户目录中没有链接的任何实际媒体文件;以及,随后删除到可能存在于其他用户的用户目录中的那些文件的全部对应链接。更具体地,管理员可以选择图3中的管理员GUI的删除媒体标签页222,其启动以显示图11中所示的示例GUI 322。从此GUI,管理员可选择其删除选项将被用于比较的用户的名称;选择删除选项将被应用的项目工作空间的名称;并且单击删除媒体按钮323。
应该理解,任选地,每当共享媒体文件被删除时,本发明允许实际媒体文件不确定地存储在垃圾箱中,使得如果删除之后发现一些所需要的媒体文件被删除,有可能检索它们并且把它们放回到项目工作空间中,这样用户将能够再次访问那些媒体文件。本发明还允许每当从项目工作空间移除或者从该系统完全移除存储未共享的媒体(根据定义,实际媒体文件)的用户时将该文件移到垃圾箱。这些“删除到垃圾箱”能力通过以下事实变成可能实际删除由服务器来管理而不是由客户端管理。如果实际文件由客户端删除,将没有办法将它们移到基于服务器的垃圾箱。
根据本发明的另一方面,回到图3,标签页211的选择生成如图12所示的界面311,其提供手段来查看特定项目工作空间在盘使用方面的状态,特别是这样的能力即在项目工作空间内以项目工作空间级别和以用户目录级别查看盘使用。用于管理集中存储系统的工具还包括提供RAID状态的能力。此特征允许通过执行Raid状态命令465(例如‘cat/proc/mdstat’)并且在如图14所示的界面显示450中显示结果460来快速检查该系统的各RAID阵列的状态。
回到图3,标签页213的选择生成如图13中所示的界面313,通过其提供这样的能力,即将项目工作空间延伸到附加的物理盘媒体存储装置例如RAID阵列上。因此,如图13中所示,管理员可以以如对于图4的增加项目特征所示的方式在新的物理RAID阵列上增加用于项目工作空间的空间,不同之处在于必须从已有激活名称的列表中选择项目工作空间的名称。应该理解,此特征可以仅被实施成选择尚不具有用于该项目工作空间的文件夹的那些RAID阵列。
具体地,为了如图13中所示实现这些目的,并且参见下面提供的RAID目录列表的带注释示意实例,该软件将执行对附连到服务器的全部数据存储装置(例如RAID阵列)的扫描,并且寻找具有格式为“ProjectName_某正整数”(即ProjectName_1)的名称的任何目录。然后,该软件将导致通过提供给管理员的显示界面313将那些名称(没有该整数)显示在项目名称下拉框中,从而允许管理员选择项目。另外,该软件将导致通过“RAID阵列”下拉框显示连接到该系统的、尚没有具有所选项目名称的目录的全部RAID阵列的列表,以及,在每个阵列上有多少空间可用的指示。因此允许用户(管理员)选择阵列。当选择“增加空间”按钮时,实施这样的软件功能性,即在新阵列上创建新的父项目目录,自动地给予该目录具有下一整数的扩展,例如形式为“ProjectName_用于项目的最后正整数+1”。实施附加的软件功能性,以重建在目录“ProjectName_最低正整数”(典型地为“ProjectName_1”)中发现的目录结构。因此,在新的RAID阵列上提供的新项目工作空间目录将具有在为该项目工作空间所创建的第一目录中所检测的全部子目录和用户特定的用户目录。如上所述,所有的共享和刷新命令将因此作用于具有所选名称的全部项目工作空间中的文件,而不管有多少物理存储卷可能包含具有所选项目工作空间名称的目录。
根据本发明的另一方面,用于管理集中存储系统的工具包括创建和修复RAID媒体存储驱动器的能力,特别地提供在配置和初始化新的RAID 0或RAID 5阵列方面的基本自动化。其也评估RAID阵列中的任何故障并且提供简单界面,用于指令该系统通过使用相同盘或更换故障盘驱动器来修复该阵列。
为了说明图3-9中描绘的功能性的最终结果,下面呈现了描绘由本发明支持的集中协作存储系统的典型RAID阵列上的目录和文件布局的带注释示意。注意每个用户目录(例如,/Avid/ProjectWorkspace1_1/User1_ProjectWorkspace1_1-/Avid/ProjectWorkspace1/User4_ProjectWorkspace1_1)包含复制在父共享媒体文件夹(例如,/Avid/ProjectWorkspace1_1)中发现的名称的子文件夹和文件,并且每个用户目录包括适合于访问该用户目录的特定OS的媒体数据库文件,一组具有完全一样名称的媒体文件,以及在某些情形中具有完全一样名称的临时文件。根据本发明,这些文件将不会彼此冲突,因为它们被隔离在单独的目录中。然而,在那些隔离的目录的每个内指示的是到每个单独的工作站需要看见的文件的符号链接。
在Final Cut Pro系统共享媒体的示例场景(例如,/FCP/ProjectWorkspace4_1)中,每个用户目录(例如,/FCP/ProjectWorkspace4_1/User1_ProjectWorkspace4_1-/FCP/ProjectWorkspace4_1/User4_ProjectWorkspace4_1)包含模仿在父共享媒体文件夹(例如,/FCP/ProjectWorkspace4_1)中发现的名称的子文件夹和文件。
在Premiere和Final Cut Pro共享媒体的示例场景(例如,/OtherNLE/ProjectWorkspace3_1)中,全部用户(例如,/OtherNLE/ProjectWorkspace3_1/User1_ProjectWorkspace3_1和/OtherNLE/ProjectWorkspace3_1/User4_ProjectWorkspace3_1)-无论他们在哪个NLE平台上工作-正在访问符号链接。该符号链接具有适当的扩展名(例如,*.mov),使得所需NLE应用将文件识别为可由应用读取。
RAIDS/RAID_1(a physical array of drives 1 TB in size)/Avid//ProjectWorkspace1_1PARENT FOLDER FOR PROJECTWORKSPACE 1/OMFI MediaFilesShared Medis FolderFiles*.omf (actual media files)Files*.aif (actual media files)/Creating (subdirectory)NEVER US ED/User1_ProjectWorkspace1_1 User 1 User Directory/OMFI MediaFilesMedia Directoty for User 1
Files*.omf (symlinks)Files*.aif (symlinks)103ADBAFG.4392870.omfResl video file not yet moved up102ADBAFO.4392871.aifReal audio file not yet moved upmsfMID.pmr Auid user 1′s media indexmsmMMOB.mdb Avid user 1′s media database/Creating (aubdirectory)temp01.omf Temp media file during capturetemp02.omf Temp media file during capturetemp01.aif Temp media file during capture/User2_ProjectWorkspace1_1 User 2 User Directory/OMFI MediaFilesFiles*.omf (symlinks)Files*.aif (symlinks)msmFMID.pmr Avid User 2′s media indexmsmMMOB.mdb Avid User 2′s media database/Creating (subdirectory)temp01.omf Temp media file during capturetemp02.omf Temp media file during capturetemp01.aif Temp media file during capture/User3_ProjectWorkspace1_1 User 3 User Directory/OMFI MediaFilesFiles*. omf (aymlinks)Files*. aif (aymlinks)msmFMID.Pmr Avid User 3′media indexmsmMMOB.mdb Avid User 3′media database/Creating (aubdirectory)/User4_ProjectWorkspace1_1(Mac User) User 4 User Directory.AppleDBHidden Mac File.AppleDoubleHidden Mac File.DS_Store Hidden Avid Mac File/OMFI MediaFilesFiles*.omf(symlinks)Files*.aif(symlinke)._msmFMID.pmr Avid Mac User 4′s media index._msmMMOB.mdb Avid Mac User 4′s media database/Creating (subdirectory)/ProjectWorkspace2_1PARENT DIRECTORY FOR PROJECTWORKSPACE 2/OMFI MediaFiles Shared Media FolderFiles*.omf SAMB AS ABOVEFiles*.aif/Creating/User1_ProjectWorkspace2_1 User 1 User Directory/OMFT MediaFilesFiles*.omf(symlinks)Files*.aif(symlinks)/Creating/User3_ProjectWorkspace2_1 User 3 User Directory/OMFI MediaFilesFiles*.omf(symlinks)Files*.aif(symlinks)/Creating/RAIDS/RAID_1/FCP//ProjectWorkspace4_1PARENT DIRECTORY FOR PROJECTWORKSPACE 4/Capture Scratch Shared Media File Folder
/ProjectWorkapace4 Place where Final Cut names projClip1-av Real Quicktime fileClip2-av Real Quicktime fileClip2-av-1 Part 2 of Clip 3-Real fileClip3-av Real Quicktime fileClip3-av-1 Part 2 of Clip 3-Real fileClip3-av-2 Part 3 of Clip 3-Real file/Render Files Location of Rendered Effects/Audio Render Files Location of Rendared Audio/User1_ProjectWorkepace4_1 User 1 User Directory/Capture Scratch/ProjectWorkspace4 Proj Folder created byFCP Clip1-avsymlinkClip2-avsymlinkClip2-av-1Part 2 of Clip 3-symlinkClip3-avsymlinkClip3-av-1 Part 2 of Clip 3-symlinkClip3-av-2 Part 3 of Clip 3-symlink/Render Filessymlinkor Real VideoEffects/Audio Render Filessymlinkor Real/User2_ProjectWorkspace4_1 User 2 User DirectoryCapture Scratch/ProjectWorkapace3Proj Folder created by FCPClip1-avsymlinkClip2 -avsymlinkClip2-av-1 Part 2 of Clip 3-symlinkClip3-avsymlinkClip3-av-1 Part 2 of Clip 3-symlinkClip3-a-2 Part 3 of Clip 3-symlink/Render Filessymlinkor Real VideoEffects /Audio Render Filessymlinkor Real/RAIDS/RAID_1/OtherNLE//ProjectWorkspace3_1 Parent Directory for Project Workspace3Final Cut Files/Capture Scratch shared Media Files/ProjectWorkspace3 Folder created by FCPClip1-av Real Quicktime fileClip2-av Real Quicktime fileClip2-av-1 part 2 of Clip 3-Real fileClip3-av Real Quicktime fileClip3-av-1 Part 2 of Clip 3-Real fileClip3-av-2 Part 3 of Clip 3-Real file/Render Files Location of Rendered Effects/Audio Render Files Location of Rendered Audio
/Premiere Media Files Shared Media FilesClip1-Pramiere.mov Real Quicktime filesClip2-Premiere.mov Real Quicktime files/User1_ProjectWorspace3_1User 1 User Directory/Capture Scratch/projectWorkspace3 Folder created by FCPClipl-avsymlinkClip2-avsymlinkClip2-av-1Part 2 of Clip 3-symlinkClip3-avsymlinkClip3-av-1Part 2 of Clip 3-symlinkClip3-av-2Part 3 of Clip 3-symlinkClip1-Premieresymlinkto Premiere FileClip2-Premieresymilnkto Premiere File/Render Filessymlinkor Real Video Effects/Audio Render Filessymlinkor Real Audio Reuders/User4_ProjectWorkspace3_2 User 4 User DirectoryPremiere Media Files NOTE:NOT all files have.mov1Clip1-av.movsymlinkNOTE RENAMING WITH.movClip2-av.movsymlinkNOTE RENAMING WITH.movClip2-av-1Part 2 of Clip 3-symlinkClip3-av.movsymlinkNOTE RENAMING WITH.movClip3-av-1Part 2 of Clip 3-symlinkClip3-av-2Part 3 of Clip 3-symlinkClipi-Premiere.movsymlinkto Premiere FileClip2-Premiere.movsymlinkto Premiere File总之,本发明提供了一种有价值的用于NLE视频编辑工作站和其他硬件的解决方案,其可以在与单个集中媒体存储系统的工作通信中访问数字媒体文件。应该理解,可以在支持“符号链接”和/或“硬链接”的任何集中计算机平台(服务器等)上实施本发明,该平台允许与高速存储的连接、并且允许Windows和Macintosh和/或其他工作站以“客户端/服务器联网布置”或以“存储区域网”布置连接到集中计算机平台,其中共享存储在工作站上简单地作为“本地外部存储”出现。另外,为了让很多机器访问同一文件,该系统必须在它们之间包括高速中间服务器装置,其可以以对于客户端机器几乎透明的方式执行虚拟化动作。因此,这里描述的虚拟化“伪代码”可以被翻译成很多不同的编程语言(例如,C++、Python、Perl等),只要其可以运行在该特定平台上就行。
尽管已经示出和描述了所认为的本发明的优选实施例,但是当然应该理解,在不脱离本发明的精神的情况下可以容易地进行形式或细节上的各种修改和变化。因此,本发明不意欲局限于所描述和说明的确切形式,而是应该被解释成覆盖可能落入所附权利要求的范围内的全部修改。
权利要求
1.一种用于将数字音频和视频媒体文件存储在具有计算机服务器的系统中的方法,所述计算机服务器与用于存储所述媒体文件的装置通信,并且与一个或多个独立用户通信,所述方法包括在所述存储装置上创建目录结构,以便分级组织所述数字媒体和其他数据文件;在所述目录结构中生成用户目录,所述用户目录与能够访问所述媒体文件的每个独立用户对应,并且独立用户能够通过所述用户目录存储实际数字媒体文件;将实际存储的数字媒体文件从用户目录移到与所述用户目录分开的共享目录位置,在该处所述文件对于任何独立用户不是可直接访问的;针对移入所述共享目录的每个数字媒体文件,为一个或多个单独的独立用户创建到所述实际数字媒体文件的对应链接,并且将所述链接放置在每个所述对应的用户目录内,从而,通过所述链接允许用户间接访问存储在所述存储装置上的所述共享目录中的全部实际数字媒体文件,同时防止直接访问所述实际数字媒体文件。
2.如权利要求1所述的方法,其中两个或更多个独立用户可以通过他们自己的对应用户目录访问所述服务器,以便以如下方式操作存储在所述存储装置上的所述实际数字媒体文件使得可以操作所述实际数字媒体文件而不干扰其他用户操作所述文件。
3.如权利要求1所述的方法,其中两个或更多个独立用户可以通过单个用户目录访问所述服务器以便操作存储在所述存储装置上的所述实际数字媒体文件,使得所述两个或更多个用户可以操作所述实际数字媒体文件而没有删除所述实际数字媒体文件的危险。
4.如权利要求1所述的方法,其中所述数字媒体的所述操作包括下列的一个或多个捕获、增加到、编辑、查看、代码转换、编码和解码所述数字媒体。
5.如权利要求1所述的方法,还包括步骤通过将用户目录中的文件名与所述共享目录中的文件名比较而刷新媒体;以及针对在所述用户目录中没有对应链接的、所述共享目录中的每个实际数字媒体文件创建链接,并且将该链接放置在所述对应的用户目录内。
6.如权利要求1所述的方法,还包括步骤将所述媒体存储装置配置为一个或多个工作空间,每个工作空间在所述目录结构中具有相关的目录位置,工作空间逻辑地分离所述媒体存储装置上用于不同项目的媒体文件。
7.如权利要求6所述的方法,其中每个不同的用户对于该工作空间具有相关的用户目录。
8.如权利要求6所述的方法,其中所述用户目录在网络上是可见的。
9.如权利要求6所述的方法,其中所述用户目录在网络上是可见的,使得用户仅看见他自己的对应目录,而不会由于看见其他用户目录而分神。
10.如权利要求6所述的方法,其中将所述媒体存储装置配置为一个或多个工作空间的所述步骤还包括步骤对在给定工作空间中可占据多少媒体存储空间指定限制。
11.如权利要求6所述的方法,其中将所述媒体存储装置配置为一个或多个工作空间的所述步骤还包括步骤创建逻辑地位于该工作空间内的所述目录结构中的共享目录。
12.如权利要求11所述的方法,还包括步骤将实际媒体文件从逻辑地位于特定工作空间内的用户目录重定位到逻辑地位于所述同一工作空间内的所述共享目录;以及针对移入所述共享目录的每个数字媒体文件,在所述用户目录中创建到所述实际数字媒体文件的对应链接。
13.如权利要求11所述的方法,还包括步骤通过将逻辑地位于特定工作空间内的用户目录中的文件名与逻辑地位于所述同一工作空间内的所述共享目录中的文件名比较而刷新所述媒体;以及针对在所述用户目录中没有对应链接的、所述共享目录中的每个实际数字媒体文件创建链接,并且将该链接放置在所述对应用户目录内。
14.如权利要求6所述的方法,还包括步骤使用户能够通过移除该用户的目录中到对应实际媒体文件的链接而删除媒体文件,从而保留所述实际媒体文件。
15.一种用于通过服务器装置的中介来管理对存储在媒体存储装置上的数字媒体文件的访问的系统,所述服务器装置通过网络连接与至少两个独立用户有效地耦合,所述系统包括用于在所述存储装置上创建目录结构以便分级组织所述数字媒体和其他数据文件的装置;用于在所述目录结构中生成用户目录的装置,所述用户目录与能够访问所述媒体文件的每个独立用户对应,并且独立用户能够通过所述用户目录存储实际数字媒体文件;用于将实际存储的数字媒体文件从用户目录移到与所述用户目录分开的共享目录位置的装置,在所述共享目录位置,所述文件对于任何独立用户不是可直接访问的;用于针对移入所述共享目录的每个数字媒体文件、为一个或多个单独的独立用户创建到所述实际数字媒体文件的对应链接并且将所述链接放置在每个所述对应的用户目录内的装置;从而,通过所述链接允许独立用户装置间接访问存储在所述存储装置上的所述共享目录中的全部实际数字媒体文件,同时防止直接访问所述实际数字媒体文件。
16.如权利要求15所述的系统,其中两个或更多个独立用户可以通过他们自己的对应用户目录访问所述服务器装置以便以如下方式操作存储在所述存储装置上的所述实际数字媒体文件使得可以操作所述实际数字媒体文件而没有删除所述文件或干扰其他用户操作所述文件的危险。
17.如权利要求15所述的系统,还包括用于通过将用户目录中的文件名与所述共享目录中的文件名比较而刷新媒体的装置;所述创建装置还针对在所述用户目录中没有对应链接的、所述共享目录中的每个实际数字媒体文件创建链接,并且将该链接放置在所述对应的用户目录内。
18.如权利要求15所述的系统,还包括用于将所述媒体存储装置配置为一个或多个工作空间的装置,每个工作空间在所述目录结构中具有相关的目录位置,工作空间逻辑地分离所述媒体存储装置上用于不同项目的媒体文件,其中每个用户对于该工作空间具有相关的用户目录,所述用户目录在所述网络上是可见的,使得用户仅看见他们自己的对应目录而不会因看见其他用户目录而分神。
19.如权利要求18所述的系统,其中所述配置装置还包括用于对在给定工作空间中可占据多少媒体存储空间指定限制的装置。
20.如权利要求18所述的系统,其中所述配置装置还创建逻辑地位于所述工作空间内的所述目录结构中的所述共享目录位置。
21.如权利要求20所述的系统,还包括用于使用户能够将实际媒体文件从逻辑地位于特定工作空间内的用户目录重定位到逻辑地位于所述同一工作空间内的所述共享目录的装置;所述创建装置还针对移入所述共享目录的每个数字媒体文件创建到所述实际数字媒体文件的对应链接。
22.如权利要求21所述的系统,还包括用于使用户能够启动通过将逻辑地位于特定工作空间内的用户目录中的文件名与逻辑地位于所述同一工作空间内的所述共享目录中的文件名比较进行媒体刷新的装置;所述创建装置还针对在所述用户目录中没有对应链接的、所述共享目录中的每个实际数字媒体文件创建链接,并且将该链接放置在所述对应用户目录内。
23.如权利要求18所述的系统,还包括使用户能够通过移除该用户的目录中到对应实际媒体文件的链接而删除媒体文件,从而保留所述实际媒体文件的装置。
24.一种机器可读的程序存储装置,有形地实施可由机器执行的指令的程序,以执行用于将数字音频和视频媒体文件存储在具有计算机服务器的系统中的方法步骤,所述计算机服务器与用于存储所述媒体文件的装置通信,并且与一个或多个独立用户通信,所述方法步骤包括在所述存储装置上创建目录结构,以便分级组织所述数字媒体和其他数据文件;在所述目录结构中生成用户目录,所述用户目录与能够访问所述媒体文件的每个独立用户对应,并且独立用户能够通过所述用户目录存储实际数字媒体文件;将实际存储的数字媒体文件从用户目录移到与所述用户目录分开的共享目录位置,在该处所述文件对于任何独立用户不是可直接访问的;针对移入所述共享目录的每个数字媒体文件,为一个或多个单独的独立用户创建到所述实际数字媒体文件的对应链接,并且将所述链接放置在每个所述对应的用户目录内,从而,通过所述链接允许用户间接访问存储在所述存储装置上的所述共享目录中的全部实际数字媒体文件,同时防止直接访问所述实际数字媒体文件。
25.如权利要求24所述的机器可读的程序存储装置,其中两个或更多个独立用户可以通过他们自己的对应用户目录访问所述服务器,以便以如下方式操作存储在所述存储装置上的所述实际数字媒体文件使得可以操作所述实际数字媒体文件而没有干扰其他用户操作所述文件,并且没有删除所述实际数字媒体文件的危险。
26.如权利要求24所述的机器可读的程序存储装置,其中所述方法步骤还包括通过将用户目录中的文件名与所述共享目录中的文件名比较而刷新媒体;以及针对在所述用户目录中没有对应链接的、所述共享目录中的每个实际数字媒体文件创建链接,并且将该链接放置在所述对应的用户目录内。
27.如权利要求24所述的机器可读的程序存储装置,其中所述方法步骤还包括将所述媒体存储装置配置为一个或多个工作空间,每个工作空间在所述目录结构中具有相关的目录位置,工作空间逻辑地分离所述媒体存储装置上用于不同项目的媒体文件,其中每个用户对于该工作空间具有相关的用户目录,所述用户目录在所述网络上是可见的,使得用户仅看见他们自己的对应目录,而不会由于看见其他用户目录而分神。
28.如权利要求27所述的机器可读的程序存储装置,其中将所述媒体存储装置配置为一个或多个工作空间的所述步骤还包括步骤对在给定工作空间中可占据多少媒体存储空间指定限制。
29.如权利要求27所述的机器可读的程序存储装置,其中将所述媒体存储装置配置为一个或多个工作空间的所述步骤还包括步骤创建逻辑地位于所述工作空间内的所述目录结构中的共享目录。
30.如权利要求29所述的机器可读的程序存储装置,其中所述方法步骤还包括将实际媒体文件从逻辑地位于特定工作空间内的用户目录重定位到逻辑地位于所述同一工作空间内的所述共享目录;以及针对移入所述共享目录的每个数字媒体文件,在所述用户目录中创建到所述实际数字媒体文件的对应链接。
31.如权利要求29所述的机器可读的程序存储装置,其中所述方法步骤还包括通过将逻辑地位于特定工作空间内的用户目录中的文件名与逻辑地位于所述同一工作空间内的所述共享目录中的文件名比较而刷新媒体;以及针对在所述用户目录中没有对应链接的、所述共享目录中的每个实际数字媒体文件创建链接,并且将该链接放置在所述对应用户目录内。
32.如权利要求27所述的机器可读的程序存储装置,还包括步骤使用户能够通过移除到该用户的目录中的对应实际媒体文件的链接而删除媒体文件,从而保留所述实际媒体文件。
全文摘要
一种新颖的系统、方法和计算机程序产品,用于通过与媒体存储装置通信的服务器装置访问存储在集中媒体存储装置中的数字媒体文件。该服务器通过网络连接与至少两个独立的工作站有效地耦合。该方法步骤包括通过服务器在存储装置上提供目录结构,以便分级组织数字数据文件;在该目录结构中生成用户目录,该用户目录与能够访问该媒体文件的每个独立用户对应,并且独立用户能够通过该用户目录存储实际的数字媒体文件;将实际存储的数字媒体文件从用户目录移动到与所述用户目录分开的共享目录位置,在该处文件对于任何独立用户不是可直接访问的;针对移入该共享目录的每个数字媒体文件,为一个或多个单独的独立用户创建到实际数字媒体文件的对应链接,并且将所述链接放置在每个所述对应用户目录内,从而通过该链接允许用户间接访问存储在存储装置上的共享目录中的全部的实际数字媒体文件,同时防止直接访问实际数字媒体文件。另外提供了一种用于管理集中数字媒体存储系统的工具,其特别是使得能够响应于用户请求而操作媒体和对应的虚拟文件,例如删除、移除、传送和同步,同时一直自动地保持所述的文件虚拟化特征。
文档编号G06F15/16GK101019115SQ200580015580
公开日2007年8月15日 申请日期2005年3月18日 优先权日2004年3月18日
发明者安德鲁·彼得·利布曼 申请人:安德鲁·彼得·利布曼
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1