CN116578740A - 计算机实现的方法、存储系统和计算机可读存储介质 - Google Patents

计算机实现的方法、存储系统和计算机可读存储介质 Download PDF

Info

Publication number
CN116578740A
CN116578740A CN202310648879.XA CN202310648879A CN116578740A CN 116578740 A CN116578740 A CN 116578740A CN 202310648879 A CN202310648879 A CN 202310648879A CN 116578740 A CN116578740 A CN 116578740A
Authority
CN
China
Prior art keywords
file
mezzanine
computer
implemented method
metadata
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.)
Pending
Application number
CN202310648879.XA
Other languages
English (en)
Inventor
杰里迈亚·M·邓纳姆
安德鲁·图纳勒
本杰明·布莱克
克里斯托弗·科斯马特卡
本杰明·奥尔德比·施瓦茨
贾森·拉皮埃
贾斯廷·亚伯拉姆斯
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.)
Amazon Technologies Inc
Original Assignee
Amazon Technologies Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Amazon Technologies Inc filed Critical Amazon Technologies Inc
Publication of CN116578740A publication Critical patent/CN116578740A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/37Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability with arrangements for assigning different transmission priorities to video input data or to video coded data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • G06F16/113Details of archiving
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • G06F16/71Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems
    • G06F16/164File meta data generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/172Caching, prefetching or hoarding of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • G06F16/73Querying
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • G06F16/73Querying
    • G06F16/738Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • G06F16/78Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/7867Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using information manually generated, e.g. tags, keywords, comments, title and artist information, manually generated time, location and usage information, user ratings
    • 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/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computational Linguistics (AREA)
  • Software Systems (AREA)
  • Library & Information Science (AREA)
  • Human Computer Interaction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本申请提供了一种计算机实现的方法、存储系统和非暂态计算机可读存储介质。所述计算机实现的方法包括:由存储系统接收媒体文件和至少一个相关联的夹层文件;将所述至少一个相关联的夹层文件至少存储到高可访问性类型的存储体;至少部分地基于特定于转码的一个或更多个设置来将所述至少一个相关联的夹层文件转码成至少一个转码文件;将所述至少一个转码文件存储到所述高可访问性类型的存储体;以及在完成所述转码之后,将所述至少一个相关联的夹层文件移动至降低的可访问性类型的存储体,所述降低的可访问性类型的存储体与所述高可访问性类型的存储体相比在操作上较便宜。

Description

计算机实现的方法、存储系统和计算机可读存储介质
本申请是申请日为2017年9月13日、申请号为“201780056380.2”、发明名称为“媒体存储”的发明专利申请的分案申请。所述母案申请的国际申请日是2017年9月13日,国际申请号为PCT/US2017/051385,优先权日为2016年9月14日。
技术领域
本申请涉及计算机的技术领域,具体地涉及一种用于管理资产存储的计算机实现的方法、存储系统和和计算机可读存储介质。
背景技术
用户越来越多地以数字形式获取内容,经常从远程服务下载或流式传输所述内容。内容通常以高质量格式上载,并且被转码成适合于在各种类型的装置上重放的各种其他格式。在某些存储系统中,存储高质量版本与转码版本可能相当昂贵,并且可能难以使各种版本相关联并使得客户能够管理他们的各种资产。
发明内容
本申请的一个方面提供了一种计算机实现的方法,所述计算机实现的方法包括:由存储系统接收媒体文件和至少一个相关联的夹层文件;将所述至少一个相关联的夹层文件至少存储到高可访问性类型的存储体;至少部分地基于特定于转码的一个或更多个设置来将所述至少一个相关联的夹层文件转码成至少一个转码文件;将所述至少一个转码文件存储到所述高可访问性类型的存储体;以及在完成所述转码之后,将所述至少一个相关联的夹层文件移动至降低的可访问性类型的存储体,所述降低的可访问性类型的存储体与所述高可访问性类型的存储体相比在操作上较便宜。
本申请的另一方面提供了一种存储系统,所述存储系统包括:至少一个处理器;第一类型的存储体;第二类型的存储体,所述第二类型的存储体具有比所述第一类型的存储体低的可访问性;以及存储器,所述存储器包括指令,所述指令在由所述至少一个处理器执行时使所述存储系统执行下述操作:接收媒体文件和至少一个相关联的夹层文件;将所述至少一个相关联的夹层文件至少存储到所述第一类型的存储体中;至少部分地基于特定于转码的一个或更多个设置来将所述至少一个相关联的夹层文件转码成至少一个转码文件;将所述至少一个转码文件存储到所述第一类型的存储体;以及在完成所述转码之后,将所述至少一个相关联的夹层文件移动至所述第二类型的存储体,所述第二类型的存储体与所述第一类型的存储体相比在操作上较便宜。
本申请的又一方面提供了一种非暂态计算机可读存储介质,其中,所述非暂态计算机可读存储介质存储有指令,所述指令在由计算设备的至少一个处理器执行时使所述计算设备执行下述操作:由存储系统接收媒体文件和至少一个相关联的夹层文件;将所述至少一个相关联的夹层文件至少存储到第一类型的存储体;至少部分地基于特定于转码的一个或更多个设置来将所述至少一个相关联的夹层文件转码成至少一个转码文件;将所述至少一个转码文件存储到所述第一类型的存储体;以及在完成所述转码之后,将所述至少一个相关联的夹层文件移动至第二类型的存储体,所述第二类型的存储体与所述第一类型的存储体相比在操作上较便宜。
附图说明
将参考附图来描述根据本公开的各种实施方案,在附图中:
图1示出了其中可实现各种实施方案的示例性环境。
图2示出了可根据各种实施方案利用的用于管理媒体文件转码的示例性子系统。
图3示出了可根据各种实施方案利用的用于管理内容到快速且已存档的存储位置的存储的示例性子系统。
图4示出了可根据各种实施方案利用的用于管理资产存储的示例性系统。
图5示出了可根据各种实施方案利用的用于管理资产存储的另一示例性系统。
图6示出了可根据各种实施方案利用的用于使得上载资产能够由存储服务存储的示例性过程。
图7示出了可根据各种实施方案利用的用于对由存储服务存储的资产强加生命周期的示例性过程。
图8示出了可用来实现各种实施方案的各方面的计算装置的示例性组件。
具体实施方式
在下面的描述中,将描述各种实施方案。出于解释的目的,阐述了具体的配置和细节以提供对实施方案的透彻理解。然而,对本领域的技术人员将显而易见的是,在没有具体细节的情况下也可实践实施方案。此外,为了不使所描述的实施方案晦涩,可能会省略或简化众所周知的特征。
本文中描述并建议的方法涉及在存储环境中存储大文件,诸如高质量多媒体文件。存储系统的客户或其他用户可将媒体或其他此类内容上载到存储系统中。作为上载过程的一部分,存储系统可提取描述正在上载的媒体文件的媒体元数据。文件可以是作为媒体资产的一部分上载的相关文件。作为上载过程的一部分,或作为单独过程的一部分,客户可指定要应用于媒体资产存储的一个或多个生命周期策略。诸如规则引擎的组件可确保对一个或多个策略的管理及其到媒体资产存储的应用。这种规则引擎还可允许使用简单的媒体处理工作流程。例如,可指定以下工作流程,所述工作流程上载高分辨率视频文件或夹层文件,将其自动转码成一种或多种指定的输出格式,此后不久,致使将夹层文件存档到较低成本存储体。可使用文件名散列方法来确保资产的片段和文件跨存储系统的分区以相对随机且均匀的分布存储。作为生命周期过程的一部分,可在确定的事件发生(诸如,将资产转码成一个或多个相关的转码文件)之后将高质量媒体文件移动到较便宜的存储体。
根据本文包含的教义和建议对本领域的普通技术人员显而易见的是,各种其他此类功能也可在各种实施方案的范围内使用。
图1示出了可实施各种实施方案的各方面的示例性环境100。在此示例中,用户能够利用客户端装置102来跨至少一个网络104向资源提供者环境106提交请求。客户端装置可包括任何适当的电子装置,所述电子装置能够操作以通过适当的网络发送并接收请求、消息或其他此类信息并且将信息传送回所述装置的用户。此类客户端装置的示例包括个人计算机、平板计算机、智能电话、笔记本计算机等等。网络104可包括任何适当的网络,包括内联网、互联网、蜂窝网络、局域网(LAN)、或任何其他此类网络或组合,并且可借助有线和/或无线连接来实现通过网络进行的通信。资源提供者环境106可包括用于接收请求并响应于那些请求而返回信息或执行动作的任何适当的组件。作为示例,提供者环境可包括用于接收并处理请求、然后响应于请求而返回数据、Web页面、视频、音频或者其他此类内容或信息的Web服务器和/或应用程序服务器。
在各种实施方案中,提供者环境可包括可由多个用户用于多种不同目的的各种类型的电子资源。在至少一些实施方案中,全部或一部分给定资源或资源组在至少确定的时间段内可被分配给特定用户或者被分配用于特定任务。共享来自提供者环境的这些多租户资源通常称为资源共享、Web服务或“云计算”以及其他此类术语,并且这取决于具体环境和/或实现方式。在此示例中,提供者环境包括一种或多种类型的多个电子资源114。这些类型可包括例如能够操作以处理由用户提供的指令的应用程序服务器,或者能够操作以响应于用户请求而处理存储在一个或多个数据存储区116中的数据的数据库服务器。如已知的那样,出于此类目的,用户还可在给定数据存储区中保留数据存储的至少一部分。用于使得用户能够保留各种资源和资源实例的方法是本领域中众所周知的,使得本文中将不再详细讨论整个过程的详细描述以及所有可能组件的解释。
在至少一些实施方案中,想要利用资源114的一部分的用户可提交请求,所述请求被接收到资源提供者环境106的接口层108。接口层可包括应用程序编程接口(API)或使得用户能够向提供者环境提交请求的其他暴露的接口。在此示例中,接口层108也可同时包括其他组件,诸如至少一个Web服务器、路由组件、负载平衡器等等。当供应资源的请求被接收到接口层108时,可将请求的信息引导到被配置来管理用户账户和信息、资源供应与使用以及其他此类方面的资源管理器110或者其他此类系统、服务或组件。接收请求的资源管理器110可执行任务,诸如认证提交请求的用户的身份,以及确定所述用户是否具有资源提供者的现有账户,其中账户数据可存储在提供者环境中的至少一个数据存储区112中。用户可提供各种类型的凭据中的任何一种,以便向提供者认证用户的身份。这些凭据可包括例如用户名与密码对、生物计量数据、数字签名或其他此类信息。
资源提供者可对比为用户存储的信息来验证这个信息。如果用户拥有具有适当权限、状态等的帐户,那么资源管理器可确定是否有足够的资源可用来满足用户的请求,并且如果是,那么可供应资源或者以其他方式准许访问这些资源的对应部分以供用户使用由所述请求指定的量。这个量可包括例如处理单个请求或执行单个任务的能力、指定的时间段、或重复的/可再生的时间段,以及其他此类值。如果用户没有提供者的有效帐户,用户帐户不允许访问请求中所指定的资源类型,或者另一个此类原因阻止用户获得对此类资源的访问,那么可向用户发送通信以使得用户能够创建或修改账户或者改变请求中所指定的资源,以及其他此类选项。
一旦认证了用户、验证了帐户并且分配了资源,用户就可利用分配的资源来获得指定的能力、数据传输量、时间段或其他此类值。在至少一些实施方案中,用户可与后续请求一起提供会话令牌或其他此类凭据,以便能够在所述用户会话上处理那些请求。用户可接收资源标识符、特定地址或其他此类信息,所述信息可使得客户端装置102能够与分配的资源通信而不必与资源管理器110通信,至少直到诸如用户帐户的相关方面改变时、用户不再被准许访问资源时、或者另一个这种方面改变时。
在此示例中,资源管理器110(或另一个此类系统或服务)还可用作除了管理动作之外还处置控制功能的硬件和软件组件的虚拟层,所述管理动作可包括供应、缩放、复制等。资源管理器可利用接口层108中的专用API,其中每个API可被提供来接收对要相对于数据环境执行的至少一个特定动作(诸如对实例进行供应、缩放、克隆或使其休眠)的请求。在将请求接收到API中的一个时,接口层的Web服务部分可解析或者以其他方式分析请求,以确定作用于调用或处理调用所需的步骤或动作。例如,可能接收到包括创建数据存储库的请求的Web服务调用。
在至少一个实施方案中,接口层108包括可扩展的一组面向客户的服务器,所述服务器可提供各种API并且基于API规范返回适当的响应。接口层还可包括至少一个API服务层,在一个实施方案中,所述至少一个API服务层由处理面向外部的客户API的无状态的复制服务器组成。接口层可负责Web服务前端特征,诸如基于凭据来认证客户、授权客户、限制客户对API服务器的请求、验证用户输入、以及封送或解封送请求与响应。API层还可负责响应于API调用而从管理数据存储区读取数据库配置数据/将数据库配置数据写入到管理数据存储区。在很多实施方案中,Web服务层和/或API服务层将是外部可见的唯一组件,或者是对控制服务的客户可见并可由控制服务的客户访问的唯一组件。如本领域中已知的,Web服务层的服务器可以是无状态且水平缩放的。与持久性数据存储区一样,API服务器可例如跨区域中的多个数据中心散布,使得服务器对单个数据中心故障有一定弹性。
图2示出了可用来在诸如关于图1所讨论的电子环境中实现各种实施方案的各方面的示例性系统200。在图2的系统中,客户端计算装置202可跨至少一个网络204提交对内容的请求以便使其由内容提供者环境206接收。如上所述,在至少一些实施方案中,请求可包括对内容的请求,所述内容将要在客户端计算装置202上显示,并且在许多情况下将包括被转码以便在客户端计算装置202上呈现的视频或其他媒体内容。所述一个或多个网络可包括任何适当的网络,诸如互联网、局域网(LAN)、蜂窝网络、以太网或任何其他此类有线和/或无线网络。内容提供者环境206可包括用于从资源提供者提供内容的任何适当资源,所述资源可包括各种服务器、数据存储区以及已知或已用于从网络(或从“云”)上提供内容的其他此类组件。如本文其他地方所述,客户端计算装置202可以是任何适当的计算或处理装置,所述装置可包括台式或笔记本计算机、智能手机、平板、可穿戴计算机(即智能手表、眼镜或触点)、机顶盒、或其他此类系统或装置。当接收到请求或调用时,接口层208可确定调用或请求的类型,并且致使将信息转发到适当的组件或子系统。例如,可将对内容的请求转发到媒体服务器210,而可将指定编码参数的请求转发到转码管理器216,以及其他此类选项。这些调用或请求也可来自第三方,尽管第三方提供者506也可提供要存储到媒体存储库并被转码以在客户端计算装置202上显示的媒体内容的至少一些,如本文所讨论的。
在此示例中,被接收到内容提供者环境206的调用可由所述环境的接口层208接收。如对于网络环境已知的,接口层可包括诸如接口(例如,API)、负载平衡器、请求和/或数据路由器等的组件。如果请求是对内容的请求,诸如对要提供到客户端计算装置202的视频数据流的请求,那么可将请求的信息引导到一个或多个媒体服务器210,所述一个或多个媒体服务器210可从媒体数据存储区或其他此类存储库获得内容以跨一个或多个网络将内容发送回计算装置。在一些实施方案中,还可将请求的信息与用户数据存储区214或其他此类位置中的用户数据进行比较,以确定例如用户是否具有对所述内容的访问权限,并且潜在地确定用户对其具有访问权限的格式或版本。
在至少一些实施方案中,来自操作员、管理员、客户端计算装置202、第三方提供者224或另一个此类源的请求可包括指定要与媒体文件一起使用的一组或多组编码参数的请求。因此,可将关于编码参数的信息提供到转码管理器216或其他此类组件或服务,所述转码管理器216或其他此类组件或服务能够通过适当的接口(即,API或控制台)接收信息并且致使将配置文件218和参数数据220存储到适当的存储库,如本文其他地方所讨论的。当接收到对视频文件的请求时,转码管理器216可使用配置文件和参数数据来确定适当的编码信息,并且可将所述编码信息传递到一个或多个转码器222,所述一个或多个转码器222可获得媒体文件并根据转码信息对媒体文件进行转码,媒体文件然后可由媒体服务器210或其他此类组件提供到客户端装置。
在一些实施方案中,转码子系统包括一个或多个转码器、一组比特流(或视频信号)和内容递送网络。一个或多个转码器可包括编码器和打包器两者,它们可通过源服务器实现。打包器可接收信号(例如,馈送),诸如视频信号或直播流。直播流馈送可包括直播视频内容(例如,体育赛事、演唱会、按次付费事件等)、预先录制的内容(例如,电视节目、电影、延时事件、体育集锦等),和/或广告内容(例如,商业广告)等。打包器可接收一个或多个输入信号(例如,输入)并生成一个或多个比特流。比特流可由编码器/打包器递送到内容递送网络(CDN)。比特流可表示信号馈送的各种编码/打包版本,所述信号馈送可根据来自转码管理器216的编码参数进行编码。例如,比特流可以是信号馈送的高分辨率和/或高比特率版本。在一些实施方案中,不同的比特流可提供替代音频(例如,不同语言)和/或隐藏字幕。比特流的数量和/或类型可根据配置文件或其他数据而变化。
比特流中的每一个可包括多个内容片段,所述内容片段可表示比特流的一部分。内容片段文件中的每一个可表示节目馈送的一段重放时间(例如,10秒的片段文件可包含10秒的视频和/或音频)。例如,当顺序地重放时,内容片段可生成对应比特流的内容。在另一个示例中,内容片段可本地存储在终端用户装置上(例如,缓冲),并且当有足够的内容片段可用时,终端用户装置可对内容片段进行解码以进行重放。内容片段可以是自适应视频内容。内容片段可允许有效且可靠地递送比特流。例如,请求单独的内容片段可减少客户端装置中的一个下载失败的可能性。在另一个示例中,跨CDN存储内容片段可减少CDN的每个节点处所需的存储量。CDN本身可包括计算机(例如,服务器)网络。CDN的计算机中的每一个可用作节点,并且CDN可通过广域网(例如,互联网)存储和/或递送比特流。
编码器/打包器可以是源活动比特率视频HTTP服务器。编码器/打包器可接收信号(例如,请求)并发送信号(例如,响应)。信号请求可表示来自客户端装置中的一个的由CDN转发到源服务器的数据请求(例如,HTTP请求)。例如,信号请求可以是对源服务器将数字数据发送到客户端装置中的一个的HTTP请求。信号响应可表示来自源服务器的要由CDN转发到客户端装置中的一个的数据响应。例如,源服务器可基于HTTP协议将信号响应(例如,诸如内容片段的数据)作为网络包发送到客户端装置中的一个。响应和/或请求的类型、实现方式和/或数量可根据特定实现方式的设计标准而变化。源服务器可包括清单文件或可用内容片段的列表。例如,清单文件可包括指向内容片段和/或其他数据的元数据和/或URL。清单文件可由客户端装置用来请求内容片段。清单文件的格式可根据特定实现方式的设计标准而变化。清单文件和/或内容片段可具有相应的生存时间(TTL)值。TTL值(或性质)可用于确保对网络中的某些对象进行刷新。例如,可高速缓存网络中的对象(例如,在整个CDN中)。TTL值可表示在刷新(例如,从源服务器请求/更新)对象之前的时间量、请求数量和/或跃点计数。清单文件和/或内容片段的TTL值可由操作员设置且/或在源服务器处设置。在常见的CDN实现方式中,各种类型的内容可保持存储在CDN上,直到TTL值到期为止(例如,内容无效可花费很长时间)。通常,清单文件的TTL值小于内容片段的TTL值。清单文件的较低TTL值可允许清单文件比内容片段更频繁/更经常地被刷新(例如,以更新指向内容片段的指针)。内容片段的相对较高的TTL值可允许内容片段更长时间地保持在高速缓存中(例如,以减少对源服务器作出的请求的数量和/或减少源服务器上的负载)。针对清单文件和/或内容片段的TTL值设置的实现方式和/或值可根据特定实现方式的设计标准而变化。
源服务器可被配置来执行内容无效。例如,可使内容片段中的一个或多个无效。内容无效可防止和/或停止将内容递送到客户端装置。为了发起内容无效,操作员可将无效信号输入(例如,操作员发起的内容无效)发送到源服务器。源服务器可通过更新(或操纵)清单文件来使内容片段无效。例如,可将清单文件更新成不再指向内容片段。由于清单文件的TTL值相对较低,因此可在整个CDN中刷新清单文件。例如,客户端装置可请求清单文件,并且当CDN的各个节点中的高速缓存的清单的TTL值到期时,可在整个CDN中将更新的清单文件(例如,无效的清单)分布到客户端装置。
在一个示例中,用户可发起视频流的改变。在另一个示例中,可实施服务质量测试。例如,如果使用内容片段表示的视频流所具有的质量差到使得广告商和/或广播公司将不满意,那么可快速地重新排列内容片段(例如,通过提供替代内容)和/或移除内容片段。例如,如果内容片段表示质量差(例如,未通过服务质量测试)的广告,那么可通过使内容片段无效来显示替代广告。如果内容片段未通过服务质量测试,那么可自动地使内容片段无效。
示例性清单文件可包括各种数据,诸如文件头、元数据和/或指针/链接。数据可以是人类可读的或使用编码格式、加密格式和/或计算机可读(例如,二进制)格式进行编码的。清单文件中的数据的格式可根据特定实现方式的设计标准而变化。文件头可提供将清单文件标识为特定类型的文件的指示符。例如,文件头可由源服务器、缓存节点和/或任何其他计算装置用来将清单文件标识为特定类型的文件(例如,指针文件、清单文件等)。元数据可指示在遵循指定链接时要服务的文件的类型。例如,元数据可指示链接表示视频流、重放内容片段所需的带宽、针对内容片段实现的编解码器、内容片段的分辨率(例如,以像素为单位)、和/或任何其他相关数据。元数据中可用的数据的类型可根据特定实现方式的设计标准而变化。指针可指向各种类型的所存储数据。所存储数据可以是内容片段。例如,指针可以是HTTP URL链接。在一些实施方案中,指针可实现为RTMP链接和/或FTP链接。指针的格式可根据特定实现方式的设计标准而变化。清单文件的指针可指向相应的内容片段。在一些实施方案中,内容片段可实现为传输流(例如,.ts)文件。例如,内容片段可包括MPEG-2数据。在一些实施方案中,清单文件可嵌入在比特流内。无效和/或恢复的类型可根据特定实现方式的设计标准而变化。无效的类型可以是基于无效信号输入中提供的无效信息(例如,指令)。例如,信号输入可以是由操作员发起的内容无效信号。
如上所述,许多传统的共享资源环境难以管理媒体存储的各方面,诸如媒体生命周期管理和处理。作为示例,各种媒体提供者可能希望将原始的高质量媒体文件保持在存储体中,但是对于高分辨率视频和其他内容,文件的大小可能非常大。此文件(通常称为夹层文件)的大小可致使存储对于媒体提供者来说非常昂贵。在许多情况下,媒体提供者更愿意将夹层文件用于任务,诸如转码成高度压缩的且较低质量的输出格式,然后不再需要将夹层文件存储在昂贵的存储体中。这可包括例如将大夹层文件存档到较便宜类型的存储体中。传统系统不提供方便且自动的方式来提供并管理这种过程,包括管理与媒体内容相关联的数据和文件。
因此,根据各种实施方案的方法可提供对于媒体和其他内容提供者特别有益的改进的上载和管理方法。在至少一些实施方案中,所述系统的客户或其他用户可将媒体或其他此类内容上载到存储系统中。作为上载过程的一部分,存储系统可提取媒体元数据并解析元数据的任何另外的特定于媒体的行业标准格式,所述元数据描述正在上载的媒体文件。此元数据可存储到专用元数据存储库或其他此类可访问位置。作为上载过程的一部分,或作为单独过程的一部分,客户可指定要应用于媒体文件存储的一个或多个生命周期策略。然后,诸如规则引擎的组件可确保对一个或多个策略的管理及其到媒体资产存储的应用。作为示例,客户可指定在最初转码成至少一种压缩格式之后,将大小超过100千兆字节的任何媒体文件存储到存档存储体。这种规则引擎还可允许使用简单的媒体处理工作流程。例如,可指定以下工作流程,所述工作流程上载高分辨率视频文件或夹层文件,将其自动转码成一种或多种指定的输出格式,此后不久,致使将夹层文件存档到较低成本存储体。
图3示出了根据各种实施方案的可用于管理这种媒体文件的上载的示例性系统300的概述。在此示例中,客户可利用可通过在客户端装置上执行的应用程序提供的客户接口302,来通过至少一个网络304上载高质量媒体文件以使其由资源提供者环境306的接口层308的接口310接收。可将所上载文件的信息引导到媒体管理服务312,所述媒体管理服务312可包括规则引擎和本文其他地方讨论并建议的各种其他组件。媒体服务312可分析上载以定位并提取适当的元数据,所述元数据可存储到元数据存储库314或资源提供者环境306中的其他此类位置。媒体管理服务还可从上载或客户先前提供的其他指令确定应当应用于处理和/或存储所上载媒体文件的任何规则或策略。在此示例中,适用的规则可致使将媒体内容存储到快速存储体316,诸如高速高可用性固态存储体。然后,可根据适用的规则和/或策略来处理媒体文件。在此示例中,媒体文件可在存储到快速存储体316的同时由媒体管理服务312处理,然后可在处理完成之后移动到存档存储体318。存档存储体(有时也称为冷存储体)可以是较便宜的较慢或较低可访问性存储体,诸如可包含简单的磁盘驱动器配置或其他此类存储体。在一些实施方案中,较低的存储层将具有较低的可访问性,特别是在数据仅需要存在的证据和可能的报告位置的情况下。这可移动到非常便宜的存储体,包括场外磁带保管库和其他此类存储体。为媒体文件存储到元数据存储库314的元数据可由媒体管理服务312管理,以在将媒体文件存储到快速存储体316或存档存储体时应用于媒体文件。可将关于媒体文件到不同类型的存储体的存储的信息提供到计费系统320,所述计费系统320在这里被示出为资源提供者环境的一部分,但在其他实施方案中可在所述环境的外部。计费系统可将信息存储到计费数据存储库322或其他此类位置,这样就针对将文件存储到快速存储体316的时间量以及在计费周期期间将文件存储到存档存储体318的时间量、以及其他相关费用,来适当地对客户进行计费。
在一些实施方案中,可使用存储系统代理来从各种客户或其他此类实体接收上载请求。这可包括例如客户可用来上载媒体文件的专用地址、接口或统一资源定位符(URL)。被接收到所提供地址的上载请求可使用本文讨论并建议的方法处理,而被接收到常规上载地址的请求可使用常规或其他方法处理。可为其他任务(诸如查询元数据或请求另外的转码,以及其他此类选项)提供另外的接口。被接收到专用地址或接口的媒体文件可使用元数据提取器418处理,诸如图4的示例性系统400中所示。通过接口层的专用接口410从客户接口402接收媒体文件的存储管理器412可指示由元数据提取器418处理媒体文件,这可致使从媒体文件提取基本信息,所述基本信息可包括诸如格式、比特率、文件大小等信息。接口层408的另一个接口410可使得客户能够指定另外的元数据属性,在至少一些实施方案中,所述另外的元数据属性可包括自定义属性。属性可包括键值对或其他此类格式。还可解析行业标准元数据格式(例如,XML)以确定要为媒体文件存储的相关属性。
一旦元数据提取器418提取元数据并将其存储到诸如元数据存储库422的适当位置,元数据管理器就可利用所述元数据来管理媒体文件。如本文所讨论的将元数据管理器420与存储管理器412一起利用的能力使得也能够管理媒体资产。如本文所使用的,媒体“资产”是指文件的逻辑集合,其不仅包括源媒体文件,而且可包括可能涉及另外的文本、元数据和其他补充内容的另外的文件。与一个或多个相关接口410相关联的媒体管理方法可将资产的概念作为第一类对象类型引入。当客户上载资产时,资产可包括媒体内容的所有相关文件。文件可分别存储在资源提供者环境406中的快速存储体414和/或存档存储体416中,但是文件可被视为逻辑组。存储管理器412可跟踪文件之间的关系以使它们在逻辑上被分组在一起。如本文其他地方所讨论的,在至少一些实施方案中,可针对资产生成新基元,所述新基元使得用户能够相对于基元运行查询或执行任务。基元可以是分层的,以便反映资产和子资产,其中可针对层次结构的一个或多个适当级别执行工作流程的任务。此外,客户可利用API或其他此类接口来针对资产基元和相关联的元数据执行查询。由规则引擎或其他此类系统或服务执行的生命周期管理还可针对资产基元管理生命周期任务,以便确保任务被执行并应用于资产的所有相关文件。
存储管理器412管理资产的一个重要方面涉及管理与所述资产相关联的文件的名称。这些名称不仅可包括文件的名称,而且可包括可用于管理这些资产的其他名称。例如,如果视频资产是一系列资产的一部分,那么将希望提取并存储所述元数据,以便允许执行可标识或处理与所述系列相关的所有资产的查询或其他操作。其他此类名称或标识符可包括标题部分、剧季、剧集、剧集标题和其他此类信息。元数据可作为真相来源存储在表中,在至少一些实施方案中,对于其中内容的一个或多个版本未存储在存档存储体416中的至少一些资产,所述表也将不在存档存储体中。新的接口(例如,API)和方法可使得客户能够至少部分地基于这些名称或标识符中的任何一者来针对资产进行查询。在一些实施方案中,上载媒体资产的客户将具有给所述资产指派名称的选项,所述名称可应用于所有相关文件。
除了资产级元数据之外,存储管理器还可管理特定于时间代码的元数据。对于某些类型的内容,诸如体育赛事,可能存在在重放时间线中的特定时间发生的事件。这些可包括例如在棒球比赛中发生投球或在足球比赛中发生玩球、以及其他此类选项的点。因此,内容提供者可能希望使用时间代码信息给媒体内容编索引,并且使得客户或其他用户能够针对特定类型的信息对内容进行查询。作为示例,制作人可能想要调出(pull)显示在棒球比赛中三击不中出局的最后三个击球手的精彩回放。在这种示例中,视频内容可具有与视频本身中的时间代码相关联的逐投球元数据,使得可快速标识并检索视频的那些片段。
存储管理器412可包括规则引擎,或者与规则引擎一起工作,规则引擎可以是规则管理器424或其他此类系统或服务的一部分。如前所述,规则管理器424可管理要针对各种媒体对象应用或强制实施的各种规则和策略。规则管理器424还可管理由那些规则或策略指示的各种工作流程,并且可以是媒体生命周期的一部分。这可包括例如指定对所接收并存储的媒体资产的基于元数据的查询的能力。在一些实施方案中,客户可指定基于元数据的查询,所述查询可以是简明语言或查询语言、以及其他此类选项。作为示例,客户可指定在夹层文件被上载并由存储管理器或另一个此类系统或服务接收之后二十四小时将所有那些文件存档到存档存储体416。客户还可指定在特定假日(诸如新年)之前30天将具有与所述假日相关的元数据的所有资产从存档存储体416移动到快速存储体414。作为生命周期或其他方面的一部分,规则引擎还可具有发起转码作业或其他此类任务的能力。在一些实施方案中,这可使用后台调度过程以及其他此类选项来实现。相关API或其他此类接口可使得客户能够指定规则并启用或停用规则。然后,后端进程可定期扫描索引,从而运行主动查询以确定匹配的资产并采取相应客户所指定的一个或多个适当动作。在一些系统中,客户可指定用于转码作业的XML文件,其指示诸如输入和输出格式、适当的名称和其他此类信息的信息。这些文件也可用于规则管理器424所触发的转码作业,所述转码作业可指示应当如何处理与资产相关联的文件。如果转码引擎是通过软件即服务而不是环境中的专用系统提供的,那么可调用所述服务来执行媒体文件的转码。否则,可维持托管适用于媒体资产的一个或多个转码引擎的一组服务器或其他此类系统。
在一些实施方案中,面向客户的接口410可以是Web服务表述性状态转移(REST)API。所述接口可允许对本文所呈现的各种类型的信息的指定,这可涉及存储代理、元数据提取和管理、资产支持、和规则/策略/工作流程的指定,以及其他此类选项。还可针对各种语言向客户提供一种或多种软件开发工具包(SDK),所述软件开发工具包提供客户与适当客户接口进行通信所需的工具。然后,API可与本文所讨论的各种子系统通信,所述子系统可包括名称散列服务、元数据服务和规则管理服务等。
如上所述,在许多情况下,客户将希望将高质量夹层文件存储在快速存储体414中,至少直到所述文件被转码成一种或多种适当的格式这样的时间为止。在此示例中,存储管理器412可与转码管理器428一起工作以致使执行适当的转码作业。这可使用存储到转码存储库430或其他此类位置的转码数据来实现。一旦生成,就可将指定格式的各种文件存储到快速存储体414和/或任何其他适当的位置以供授权用户或实体访问。然后,可根据由客户指定并由规则管理器424管理的规则或策略将高质量夹层文件从快速存储体414移动到存档存储体416。存储管理器412还可与元数据管理器420一起工作,以确保资产的适当元数据和其他信息与快速存储体中的转码文件以及存档存储体中的夹层文件相关联。
在此示例中,元数据管理器420或存储管理器412还可负责文件名管理,包括用于各种文件名的散列功能或其他此类功能。然而,应当理解,在各种实施方案中也可使用单独的文件名管理器。此外,某些存储系统可生成并管理它们自己的文件名和散列,使得可不需要单独的组件或过程。在此示例中,快速存储服务可跨多个不同的分区分布文件。多个媒体文件可能具有相似的名称,特别是在每个文件与节目或系列相关联的情况下。对于命名为TestFile1的文件,源文件可转码成例如HLS片段,其中一小时的视频文件可能被分解成多个两秒长的片段。使用传统方法,可能将片段命名为TestFile1-001、TestFile1-002、TestFile1-003等。如果使用文件名的开头生成散列以确定用于那个文件的适当分区,就像在某些传统系统中一样,那么文件名将全部散列到相同的值,这样它们将全部被存储到磁盘上的同一分区。
因此,根据各种实施方案的方法生成新的散列代码,诸如(安全散列算法)基于SHA-256的散列,这是文件名的密码安全散列。对诸如SHA-256生成器的散列算法的好处在于:所述算法检查整个文件名,使得每个文件名将散列到不同的散列代码。不同的散列代码于是可使那些文件的分布跨磁盘存储是相对随机且均匀的。通过避免热点以确保吞吐量保持足够高,这有助于存储系统的性能。
图5示出了可根据各种实施方案利用的另一示例性系统500。在此示例中,客户可使用客户系统502和/或软件开发工具包506来跨至少一个网络504向资源提供者环境508中进行调用。如前所述,这种环境可包括多个API或使得客户能够与环境的资源进行通信的其他接口。这些API中的一个与存储代理服务516相对应,客户可使用存储代理服务516来上载要存储在资源提供者环境508的存储体520中的文件或资产。客户可作为多部分上载或以例如压缩格式文件(例如,.zip文件)来执行上载,所述压缩格式文件可包含资产的相关文件或组件。在此示例中,映射组件518可使用适当的散列算法生成散列代码文件名,并且可存储散列代码与原始文件名的映射。映射组件518还可使散列代码与资产的存储在整个环境中的各个位置处的组件或文件相关,并且映射本身可存储到数据库表或其他适当的位置。在至少一些实施方案中,代理服务516可致使将资产的单独组件存储到适当的存储体520,诸如快速存储体。在一些实施方案中,存储体520可被提供为具有可用的各种存储事件532的存储服务的一部分,使得可发布基于那些事件的消息以触发要在环境中执行的各种脚本。例如,与文件到存储服务的上载相对应的事件可触发要运行的脚本,所述脚本将作业放到吸收队列(ingest queue)524中。所述作业可指示文件需要由环境的适当吸收器528进行分析和吸收。在至少一些实施方案中,可从吸收队列524中调出吸收作业并大规模地并行地处理吸收作业。吸收器528可对文件执行任务,诸如提取媒体文件的元数据或解析并处理来自元数据XML文件的元数据,以及其他此类选项。一旦获得元数据,就可将元数据存储到元数据存储库526或与存储体520中的媒体文件相关联的其他此类位置。
还可使用数据完整性检查器530来验证所上载数据的完整性。在至少一些环境中,存储事件不能得到保证并且可能是有损的。因此,资产的上载可能不会导致上载事件引发、使得不会触发脚本。数据完整性检查器可在后台运行以定期查询适当的表索引,以确定是否存在元数据尚未得到确定并处理的媒体文件。这有助于防止事件丢失。然而,应当指出,在至少一些实施方案中,客户可向代理服务516中进行调用并提供他们自己的元数据,或者可将元数据直接提供到适当的元数据API 522。那个API还可使得客户或其他用户能够查询存储在元数据存储库526中的元数据。作为示例,这些可包括诸如用于显示在存储体中具有HLS转码版本的任何资产、提供最大资产的信息、或显示与特定标题相关联的所有资产的查询。
图5所示的系统500还包括规则API 510,所述规则API 510使得客户能够直接地或通过SDK 506调用规则API来限定可由规则引擎512执行的生命周期规则。规则引擎可针对元数据API 522执行在规则表中限定的查询,以标识任何匹配的资产。针对任何匹配的资产,规则引擎512可创建将进入生命周期队列514中的作业消息。可从队列处理作业以执行任务,诸如在不同存储类之间移动文件或运行视频转码作业,以及其他此类选项。客户可出于多种不同原因提交或限定生命周期策略。例如,客户可指定应当将每天访问少于一次的资产的任何版本移动到不常访问的存储体。访问频率可通过分析事件日志或聚合统计使用数据以及其他此类选项来确定。
在这种环境中存储资产的优点在于:可处理广告以匹配通过对资产进行转码所提供的任何格式。然后,音频可匹配例如其中被插入广告的直播流的音频。此外,可调整广告的视频质量以匹配当前流的视频质量,并且广告和直播流之间的切换可以是几乎无缝的并且对于观看者来说是不可察觉的。
图6示出了可根据各种实施方案利用的用于使得资产能够由存储服务存储的示例性过程600。应当理解,除非另外明确说明,否则在各种实施方案的范围内,对于本文中的任何过程来说,可存在按类似或替代次序执行或者并行执行的另外的步骤、更少的步骤或替代的步骤。在此示例中,将媒体资产的文件接收602到存储代理服务,诸如通过将其接收到代理URL或其他此类地址或接口。如上所述,媒体资产可包括主要的高质量媒体文件,以及可包含文本、元数据或其他相关信息的其他文件。可使用本文讨论并建议的各种过程中的任何一种来从媒体文件提取604元数据,无论是从主要的媒体文件还是从相关联的文件。然后可将元数据存储606到元数据存储库并使其与媒体资产相关联。
可确定608资产的文件名,所述文件名可基于与资产一起提供的文件名、由客户提供、或以其他方式生成。如上所述,可使用散列算法基于文件名、包括用于不同文件或片段的任何变型来生成610唯一散列代码。在至少一些实施方案中,这些文件名可通过映射表映射回原始资产。然后,可将资产的媒体片段存储612到高可访问性存储体或其他高性能存储体。如上所述,唯一散列代码可帮助使这些片段跨各种存储分区相对随机且均匀地散布。可关于是否存在与事件有关的任何规则、策略或生命周期进行确定614,所述规则、策略或生命周期可能已经与资产一起提供或者以其他方式由客户或另一个这样的实体标识。在一些实施方案中,适用的规则或生命周期可基于与资产相关联的元数据的一个或多个值来确定。如果存在适用的规则或生命周期,则可存储616规则或生命周期数据并使其与资产相关联。然后,可使得资产能够618是通过存储服务可访问的。
图7示出了可根据各种实施方案利用的用于管理由存储服务进行的媒体资产存储的生命周期的示例性过程700。在此示例中,使用诸如相对于图6所描述的过程来将资产的高质量媒体文件存储到高可访问性存储体。作为资产的生命周期的一部分或响应于来自客户的请求,以及其他此类选项,可确定704用于资产的一组转码格式。编码格式可包括例如NTSC、PAL、SECAM、MP3、WAV和UTF等。使用存储到高可访问性存储体的高质量媒体文件,可使用可访问媒体文件的转码引擎来执行706转码任务。然后,可将转码文件存储708到高可访问性存储体以供授权用户访问。作为转码过程的一部分,可确定710适用于资产的任何规则、策略或生命周期。一旦转码完成(或响应于另一个适当的动作、事件或事情),可关于是否要将媒体文件移出高可访问性(且昂贵的)存储体进行确定712。如果是,那么可将高质量媒体文件移动714到较低可访问性存储体,这将降低存储高质量媒体文件的成本。转码文件可保持在高可访问性存储体中,以便使得用户能够访问这些文件,并且因为这些文件将被高度压缩,因此存储成本比高质量文件更低。可使元数据和任何规则、策略或生命周期数据与低可访问性存储体中的高质量文件和高可访问性存储体中的转码文件相关联716,并且可使得客户能够718使用一个或多个适当的系统API来查询或下载资产或元数据。
图8示出了可用来实现各种实施方案的各方面的示例性计算装置800的一组基本组件。在此示例中,所述装置包括用于执行可存储在存储器装置或元件804中的指令的至少一个处理器802。如本领域的普通技术人员将显而易见的,所述装置可包括许多类型的存储器、数据存储体或计算机可读介质(诸如用于供由至少一个处理器802执行的程序指令的第一数据存储体),相同或分开的存储体可用于图像或数据,可移动存储器可供用于与其他装置共享信息,并且任何数量的通信方法可供用于与其他装置进行共享。所述装置可包括至少一种类型的显示元件806,诸如触摸屏、电子墨水(e-ink)、有机发光二极管(OLED)或液晶显示器(LCD),但是诸如服务器的装置可借助其他手段(诸如,通过光与数据传输系统)来传送信息。所述装置通常将包括一个或多个联网组件808,诸如使得能够通过至少一个网络进行通信的端口、网络接口卡或无线收发器。所述装置可包括能够从用户接收常规输入的至少一个输入装置810。这个常规输入可包括例如按钮、触摸板、触摸屏、方向盘、操纵杆、键盘、鼠标、轨迹球、小键盘、或者用户可用来向所述装置输入命令的任何其他此类装置或元件。在一些实施方案中,这些I/O装置甚至同样可通过无线红外或蓝牙或其他链路来连接。但是,在一些实施方案中,这种装置可能根本不包括任何按钮,并且可能只通过视觉命令和音频命令的组合加以控制,使得用户可在不必与所述装置接触的情况下控制所述装置。
如所讨论的,可根据所描述的实施方案在各种环境中实施不同的方法。如将了解,尽管出于解释的目的在本文所呈现的若干示例中使用基于Web的环境,但是在适当的情况下可使用不同环境来实现各种实施方案。所述系统包括电子客户端装置,所述电子客户端装置可包括能够操作以通过适当网络发送并接收请求、消息或信息并且将信息传送回所述装置的用户的任何适当装置。此类客户端装置的示例包括个人计算机、手机、手持式消息传递装置、膝上型计算机、机顶盒、个人数据助理、电子书阅读器等等。网络可包括任何适当的网络,包括内部网、互联网、蜂窝网、局域网或任何其他此类网络或上述网络的组合。用于这种系统的组件可至少部分地取决于所选择的网络和/或环境的类型。用于通过这种网络进行通信的协议和组件是众所周知的,并且将不在本文中详细讨论。通过网络进行的通信可通过有线或无线连接和其组合来实现。在此示例中,网络包括互联网,因为环境包括用于接收请求并且响应于此而提供内容的Web服务器,但是对于其他网络来说,可使用服务类似目的的替代装置,如本领域的普通技术人员将显而易见的。
例示性环境包括至少一个应用程序服务器和一个数据存储区。应当理解,可存在可链接起来或以其他方式配置的若干应用程序服务器、层或其他元件、进程或组件,它们可交互以执行诸如从适当的数据存储区获取数据的任务。如本文所使用的,术语“数据存储区”是指能够存储、访问并检索数据的任何装置或装置组合,所述装置或装置组合可包括任何标准环境、分布式环境或群集式环境中的任何组合和任何数量的数据服务器、数据库、数据存储装置和数据存储介质。应用程序服务器可包括任何适当的硬件和软件,所述硬件和软件用于视执行客户端装置的一个或多个应用程序的各方面的需要与数据存储区集成并且用于处置应用程序的大多数数据访问和业务逻辑。应用程序服务器提供与数据存储区协作的访问控制服务,并且能够生成要传送到用户的诸如文本、图片、音频和/或视频的内容,在此示例中,所述内容可由Web服务器以HTML、XML或另一适当的结构化语言的形式提供给用户。所有请求和响应的处理以及客户端装置与应用程序服务器之间的内容递送可由Web服务器来处置。应当理解,Web服务器和应用程序服务器不是必需的,并且仅仅是示例性组件,因为本文所讨论的结构化代码可在如本文其他地方所讨论的任何适当的装置或主机上执行。
数据存储区可包括若干分开的数据表、数据库或者用于存储与特定方面相关的数据的其他数据存储机构和介质。例如,所示出的数据存储区包括用于存储内容(例如,生产数据)和用户信息的机构,所述机构可用来为生产侧提供内容。还示出数据存储区包括用于存储日志或会话数据的机构。应当理解,可存在可能需要存储在数据存储区中的许多其他方面,诸如页面图像信息与访问权限信息,所述方面可视情况存储在上文列出的机构中的任何一者中或者存储在数据存储区中的另外机构中。数据存储区可通过与其相关联的逻辑来操作,以便从应用程序服务器接收指令并且响应于此而获得数据、更新数据或以其他方式处理数据。在一个示例中,用户可提交针对某种类型的物品的搜索请求。在这种情况下,数据存储区可访问用户信息来验证用户的身份,并且可访问目录详细信息以获得有关所述类型的项目的信息。然后,可诸如以Web页面上的结果列表的形式将信息返回给用户,用户能够通过用户装置上的浏览器来查看Web页面。可在浏览器的专用页面或窗口中查看感兴趣的特定项目的信息。
每个服务器通常将包括操作系统,所述操作系统提供用于所述服务器的一般管理和操作的可执行程序指令,并且每个服务器通常将包括存储指令的计算机可读介质,所述指令在由服务器的处理器执行时可允许服务器执行它的预期功能。服务器的操作系统和一般功能的合适实现方式是已知的或可商购的,并且易于由本领域的普通技术人员实现,特别是根据本文中的公开内容来实现。
在一个实施方案中,环境是利用通过通信链路、使用一个或多个计算机网络或直接连接来互连的若干计算机系统和组件的分布式计算环境。然而,本领域的普通技术人员应当理解,这种系统在具有比所示出更少或更多的组件的系统中可同样顺利地操作。因此,本文中对系统的描述本质上应当视为例示性的,并且不限制本公开的范围。
各种实施方案可进一步在广泛范围的操作环境中实现,在一些情况下,所述环境可包括可用来操作多个应用程序中的任何一个的一个或多个用户计算机或计算装置。用户或客户端装置可包括多种通用个人计算机中的任何一种,诸如运行标准操作系统的台式计算机或膝上型计算机,以及运行移动软件并且能够支持多种网络连接协议和消息传递协议的蜂窝装置、无线装置和手持式装置。这种系统还可包括多个工作站,所述工作站运行多种可商购的操作系统和用于诸如开发和数据库管理的目的的其他已知应用程序中的任何应用程序。这些装置还可包括其他电子装置,诸如虚拟终端、瘦客户端、游戏系统以及能够通过网络通信的其他装置。
大多数实施方案利用本领域技术人员所熟悉的至少一种网络,所述网络使用多种可商购获得的协议(诸如TCP/IP、FTP、UPnP、NFS及CIFS)中的任何协议来支持通信。网络可以是例如局域网、广域网、虚拟专用网、互联网、内部网、外联网、公共交换电话网、红外网络、无线网络以及上述网络的任何组合。
在利用Web服务器的实施方案中,Web服务器可运行多种服务器或中间层应用程序中的任何一种,所述服务器包括HTTP服务器、FTP服务器、CGI服务器、数据服务器、Java服务器和业务应用程序服务器。服务器还能够响应于来自用户装置的请求而执行程序或脚本,诸如通过执行可实现为以任何编程语言(诸如C、C#或C++)或任何脚本语言(诸如Perl、Python或TCL)以及其组合写成的一个或多个脚本或程序的一个或多个Web应用程序。服务器还可包括数据库服务器,包括但不限于可从/> 和/>商购获得的服务器、以及开源服务器(诸如MySQL、Postgres、SQLite、MongoDB),以及能够存储、检索和访问结构化或非结构化数据的任何其他服务器。数据库服务器可包括基于表的服务器、基于文档的服务器、非结构化服务器、关系服务器、非关系服务器或这些和/或其他数据库服务器的组合。
环境可包括如上文所论述的多种数据存储区以及其他内存和存储介质。这些可驻留在多种位置中,诸如在一个或多个计算机本地(和/或驻留在一个或多个计算机中)的存储介质上,或远离网络上的计算机中的任何或所有计算机。在一组特定实施方案中,信息可驻留在本领域技术人员所熟悉的存储区域网络(SAN)中。类似地,用于执行属于计算机、服务器或其他网络装置的功能的任何必要文件在适当的情况下本地存储或远程存储。在系统包括计算机化装置的情况下,每个此类装置可包括可通过总线来电耦合的硬件元件,所述元件包括例如至少一个中央处理单元(CPU)、至少一个输入装置(例如,鼠标、键盘、控制器、触敏显示元件或小键盘)以及至少一个输出装置(例如,显示装置、打印机或扬声器)。这种系统还可包括一个或多个存储装置,诸如磁盘驱动器、磁带驱动器、光存储装置和固态存储装置(诸如,随机存取存储器(RAM)或只读存储器(ROM)),以及可移动介质装置、存储卡、闪存卡等。
此类装置还可包括计算机可读存储介质读取器、通信装置(例如,调制解调器、网卡(无线或有线)、红外通信装置)以及如上所述的工作存储器。计算机可读存储介质读取器可与计算机可读存储介质连接或被配置来接收计算机可读存储介质,所述计算机可读存储介质表示远程、本地、固定和/或可移动的存储装置以及用于暂时和/或更永久地含有、存储、传输和检索计算机可读信息的存储介质。所述系统和各种装置通常还将包括位于至少一个工作存储器装置内的多个软件应用程序、模块、服务或其他元件,包括操作系统和应用程序,诸如客户端应用程序或Web浏览器。应当理解,替代实施方案可具有来自上文所述实施方案的众多变型。例如,也可使用自定义硬件,且/或特定元件可在硬件、软件(包括便携式软件,诸如小应用程序)或这两者中实现。此外,可采用到诸如网络输入/输出装置的其他计算装置的连接。
依据以下条款可更好地理解前述内容:
1.一种计算机实现的方法,其包括:
将包括视频文件的资产接收到存储服务的接口;
从所述资产提取元数据并且使所述元数据与所述存储服务中的所述资产相关联;
将所述视频文件存储到所述存储服务的第一类型的存储体;
将所述视频文件转码成具有相应格式的一个或多个压缩文件;
将所述一个或多个压缩文件存储到所述存储服务的所述第一类型的存储体;
确定与所述资产相对应的生命周期;
作为所述生命周期的一部分并且在所述转码之后,致使将所述视频文件移动到第二类型的存储体,所述第二类型的存储体具有比所述第一类型的存储体更低的可访问性;
提供所述一个或多个压缩文件以用于通过所述存储服务的一个或多个下载接口下载;
将指定一个或多个元数据参数的值的查询请求接收到元数据接口;以及
提供对所述查询请求的响应,所述响应至少部分地基于与所述资产相关联的所述一个或多个元数据参数的所述值来提供所述资产的信息。
2.如条款1所述的计算机实现的方法,其还包括:
确定所述资产的文件名;
将所述视频文件分段成一系列片段;
针对所述系列的每个片段确定所述文件名的变型;以及
使用考虑到每个变型的整体的散列算法来为所述系列的每个片段生成唯一散列代码。
3.如条款1所述的计算机实现的方法,其还包括:
通过所述存储服务检测与所述资产有关的事件;以及
至少部分地基于与所述资产相关联的所述生命周期来执行与所述事件相对应的脚本。
4.如条款1所述的计算机实现的方法,其还包括:
至少部分地基于从所述视频文件提取的时间代码信息来给所述视频文件编索引;以及
提供使得能够至少部分地基于所述时间代码信息对所述资产进行查询的接口。
5.如条款1所述的计算机实现的方法,其中所述第二类型的存储体的每单位存储成本比所述第一类型的存储体更低。
6.一种计算机实现的方法,其包括:
将包括夹层文件和一个或多个相关文件的资产接收到存储系统;
从所述资产提取元数据;
使所述元数据与存储在所述存储系统中的所述夹层文件和所述一个或多个相关文件相关联;
确定要应用于所述资产的工作流程,所述工作流程与所述夹层文件、所述一个或多个相关文件、以及与所述存储系统中的所述资产相关联的任何随后生成的文件相关联;
检测与所述工作流程相对应的事件;以及
致使相对于所述夹层文件、所述一个或多个相关文件以及所述随后生成的文件中的相应文件执行与所述事件相关联的工作流程任务。
7.如条款6所述的计算机实现的方法,其还包括:
针对所述资产创建与所述夹层文件和所述一个或多个相关文件有关的至少一个分层基元;以及
使所述工作流程和所述元数据与所述至少一个分层基元相关联,其中自动地使所述工作流程和所述元数据与所述夹层文件、所述一个或多个相关文件以及所述随后生成的文件相关联,并且其中能根据所述至少一个分层基元来应用所述工作流程的动作。
8.如条款7所述的计算机实现的方法,其还包括:
提供一个或多个工具,所述一个或多个工具使得用户能够根据所述至少一个分层基元与所述资产交互,其中响应于通过所述一个或多个工具进行的用户输入而执行的动作是在所述分层基元的资产级别或子资产级别上执行的。
9.如条款6所述的计算机实现的方法,其中所述工作流程任务响应于用户对应用程序编程接口(API)的调用或由代表所述资产管理所述工作流程的规则引擎触发的动作而致使被执行。
10.如条款7所述的计算机实现的方法,其还包括:
确定与所述夹层文件相对应的规则、策略或生命周期中的至少一者;以及
响应于所述事件而触发所述夹层文件到所述第二类型的存储体的移动,所述第二类型的存储体是作为所述规则、策略或生命周期中的至少一者的一部分被指定的。
11.如条款6所述的计算机实现的方法,其还包括:
将所述夹层文件转码成具有指定格式的一个或多个转码文件;以及
将所述夹层文件移动到第二类型的存储体,所述第二类型的存储体具有比所述夹层文件最初存储到的第一类型的存储体更低的可访问性,与所述夹层文件相关联的元数据存储到所述第二类型的存储体,并且所述一个或多个转码文件存储到所述第一类型的存储体。
12.如条款6所述的计算机实现的方法,其还包括:
确定所述媒体资产的文件名;
将所述夹层文件分段成一系列片段;
针对所述系列的每个片段确定所述文件名的变型;以及
使用考虑到每个变型的整体的散列算法来为所述系列的每个片段生成唯一散列代码。
13.如条款6所述的计算机实现的方法,其还包括:
至少部分地基于从所述夹层文件提取的时间代码信息来给所述夹层文件编索引;以及
提供使得能够至少部分地基于所述时间代码信息对所述夹层文件进行查询的接口。
14.如条款6所述的计算机实现的方法,其还包括:
将所述夹层文件接收到所述存储系统的代理服务,所述代理服务具有用于接收所述夹层文件的专用地址。
15.如条款6所述的计算机实现的方法,其中所述元数据包括所述夹层文件的标题、格式、比特率或文件大小中的至少一者。
16.一种存储系统,其包括:
至少一个处理器;
第一类型的存储体;
第二类型的存储体,所述第二类型的存储体具有比所述第一类型的存储体更低的可访问性;以及
存储器,所述存储器包括指令,所述指令在由所述至少一个处理器执行时致使所述系统:
将包括夹层文件和一个或多个相关文件的资产接收到存储系统;
从所述资产提取元数据;
将至少所述夹层文件存储到所述存储系统的所述第一类型的存储体;
使所述元数据与所述存储系统中的所述夹层文件和所述一个或多个相关文件相关联;
获得要应用于所述资产的工作流程,所述工作流程与所述夹层文件、所述一个或多个相关文件、以及与所述存储系统中的所述资产相关联的任何随后生成的文件相关联;
检测与所述工作流程相对应的事件;以及
致使相对于所述夹层文件、所述一个或多个相关文件以及所述随后生成的文件中的相应文件执行与所述事件相关联的工作流程任务。
17.如条款16所述的存储系统,其中所述指令在被执行时进一步致使所述系统:
针对所述资产创建与所述夹层文件、所述一个或多个相关文件以及所述随后生成的文件有关的至少一个分层基元;并且
使所述工作流程和所述元数据与所述至少一个分层基元相关联,其中自动地使所述工作流程和所述元数据与所述夹层文件、所述一个或多个相关文件以及所述随后生成的文件相关联,并且能根据所述至少一个分层基元来应用所述工作流程的动作。
18.如条款16所述的存储系统,其中所述指令在被执行时进一步致使所述系统:
接收要与所述资产一起显示的一组广告;
致使对所述广告进行修改以使其匹配使用所述夹层文件生成的转码文件的视频质量或音频质量中的至少一者;并且
致使在重放所述转码文件期间显示所述广告。
19.如条款16所述的存储系统,其中所述指令在被执行时进一步致使所述系统:
将所述夹层文件转码成具有指定格式的一个或多个转码文件;并且
将所述夹层文件移动到第二类型的存储体,所述第二类型的存储体具有比所述第一类型的存储体更低的可访问性,与所述夹层文件相关联的元数据存储到所述第二类型的存储体,并且所述一个或多个转码文件存储到所述第一类型的存储体。
20.如条款16所述的存储系统,其中所述指令在被执行时进一步致使所述系统:
确定所述媒体资产的文件名;
将所述夹层文件分段成一系列片段;
针对所述系列的每个片段确定所述文件名的变型;并且
使用考虑每个变型的整体的散列算法来为所述系列的每个片段生成唯一散列代码。
用于包含代码或代码部分的存储介质和其他非暂态计算机可读介质可包括本领域已知或已使用的任何适当介质,诸如但不限于:用于存储信息(诸如,计算机可读指令、数据结构、程序模块或其他数据)的在任何方法或技术中实现的易失性和非易失性的、可移动和不可移动的介质,包括RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字通用光盘(DVD)或其他光学存储设备、磁盒、磁带、磁盘存储设备或其他磁性存储装置,或可用来存储所需信息且可由系统装置访问的任何其他介质。基于本文中提供的公开和教义,本领域的普通技术人员将理解用于实现各种实施方案的其他方式和/或方法。
因此,应当以说明性意义而不是限制性意义来理解本说明书和附图。然而,将显而易见的是,在不脱离如权利要求中所阐述的本发明的更宽广精神和范围的情况下,可对其做出各种修改和改变。

Claims (20)

1.一种计算机实现的方法,所述计算机实现的方法包括:
由存储系统接收媒体文件和至少一个相关联的夹层文件;
将所述至少一个相关联的夹层文件至少存储到高可访问性类型的存储体;
至少部分地基于特定于转码的一个或更多个设置来将所述至少一个相关联的夹层文件转码成至少一个转码文件;
将所述至少一个转码文件存储到所述高可访问性类型的存储体;以及
在完成所述转码之后,将所述至少一个相关联的夹层文件移动至降低的可访问性类型的存储体,所述降低的可访问性类型的存储体与所述高可访问性类型的存储体相比在操作上较便宜。
2.根据权利要求1所述的计算机实现的方法,所述计算机实现的方法还包括:
创建与所述至少一个相关联的夹层文件有关的至少一个分层基元;
将从所述媒体文件提取的元数据与所述至少一个相关联的夹层文件关联;以及
将所述元数据与所述至少一个分层基元关联,其中,自动地使所述元数据与所述至少一个相关联的夹层文件以及随后生成的文件关联,并且其中能够根据所述至少一个分层基元来应用待应用至所述媒体文件的工作流程的动作。
3.根据权利要求2所述的计算机实现的方法,所述计算机实现的方法还包括:
提供至少一个工具,所述至少一个工具用于根据所述至少一个分层基元与所述媒体文件交互,其中,响应于通过所述至少一个工具进行的输入而执行的动作是在所述分层基元的文件级别上执行的。
4.根据权利要求1所述的计算机实现的方法,其中,所述计算机实现的方法还包括:响应于对应用程序编程接口的调用或者响应于由代表所述媒体文件管理工作流程的规则引擎触发的动作,来对所述媒体文件执行所述工作流程。
5.根据权利要求2所述的计算机实现的方法,所述计算机实现的方法还包括:
确定与所述至少一个相关联的夹层文件相对应的规则、策略或生命周期中的至少一者;以及
响应于所述转码的完成而触发所述至少一个相关联的夹层文件的移动。
6.根据权利要求1所述的计算机实现的方法,所述计算机实现的方法还包括:
将与所述至少一个相关联的夹层文件相关联的元数据存储到所述高可访问性类型的存储体。
7.根据权利要求1所述的计算机实现的方法,所述计算机实现的方法还包括:
确定所述媒体文件的文件名;
将所述至少一个相关联的夹层文件分段成一系列片段;
针对所述系列的每个片段确定所述文件名的变型;以及
使用考虑到每个变型的整体的散列算法来为所述系列的每个片段生成唯一散列代码。
8.根据权利要求1所述的计算机实现的方法,所述计算机实现的方法还包括:
至少部分地基于从所述至少一个相关联的夹层文件提取的时间代码信息来给所述至少一个相关联的夹层文件编索引;以及
提供使得能够至少部分地基于所述时间代码信息对所述至少一个相关联的夹层文件进行查询的接口。
9.根据权利要求1所述的计算机实现的方法,所述计算机实现的方法还包括:
将所述至少一个相关联的夹层文件接收到所述存储系统的代理服务,所述代理服务具有用于接收所述至少一个相关联的夹层文件的专用地址。
10.根据权利要求2所述的计算机实现的方法,其中,所述元数据包括所述至少一个相关联的夹层文件的标题、格式、比特率或文件大小中的至少一者。
11.一种存储系统,所述存储系统包括:
至少一个处理器;
第一类型的存储体;
第二类型的存储体,所述第二类型的存储体具有比所述第一类型的存储体低的可访问性;以及
存储器,所述存储器包括指令,所述指令在由所述至少一个处理器执行时使所述存储系统执行下述操作:
接收媒体文件和至少一个相关联的夹层文件;
将所述至少一个相关联的夹层文件至少存储到所述第一类型的存储体中;
至少部分地基于特定于转码的一个或更多个设置来将所述至少一个相关联的夹层文件转码成至少一个转码文件;
将所述至少一个转码文件存储到所述第一类型的存储体;以及
在完成所述转码之后,将所述至少一个相关联的夹层文件移动至所述第二类型的存储体,所述第二类型的存储体与所述第一类型的存储体相比在操作上较便宜。
12.根据权利要求11所述的存储系统,其中,所述指令在被执行时进一步使所述系统执行下述操作:
创建与所述至少一个相关联的夹层文件有关的至少一个分层基元;
将从所述媒体文件提取的元数据与所述至少一个相关联的夹层文件关联;以及
将所述元数据与所述至少一个分层基元关联,其中,自动地使所述元数据与所述至少一个相关联的夹层文件关联,并且其中能够根据所述至少一个分层基元来应用待应用至所述媒体文件的工作流程的动作。
13.根据权利要求11所述的存储系统,其中,所述指令在被执行时进一步使所述系统执行下述操作:
接收要与所述媒体文件一起显示的一组广告;
对所述广告进行修改以使所述广告匹配使用所述至少一个相关联的夹层文件生成的转码文件的视频质量或音频质量中的至少一者;并且
在对使用所述至少一个相关联的夹层文件生成的所述转码文件进行重放期间显示所述广告。
14.根据权利要求11所述的存储系统,其中,所述指令在被执行时进一步使所述系统执行下述操作:
使用所述第二类型的存储体对与所述至少一个相关联的夹层文件相关联的元数据进行存储。
15.根据权利要求11所述的存储系统,其中,所述指令在被执行时进一步使所述系统执行下述操作:
确定所述媒体文件的文件名;
将所述至少一个相关联的夹层文件分段成一系列片段;
针对所述系列的每个片段确定所述文件名的变型;以及
使用考虑每个变型的整体的散列算法来为所述系列的每个片段生成唯一散列代码。
16.一种非暂态计算机可读存储介质,其中,所述非暂态计算机可读存储介质存储有指令,所述指令在由计算设备的至少一个处理器执行时使所述计算设备执行下述操作:
由存储系统接收媒体文件和至少一个相关联的夹层文件;
将所述至少一个相关联的夹层文件至少存储到第一类型的存储体;
至少部分地基于特定于转码的一个或更多个设置来将所述至少一个相关联的夹层文件转码成至少一个转码文件;
将所述至少一个转码文件存储到所述第一类型的存储体;以及
在完成所述转码之后,将所述至少一个相关联的夹层文件移动至第二类型的存储体,所述第二类型的存储体与所述第一类型的存储体相比在操作上较便宜。
17.根据权利要求16所述的非暂态计算机可读存储介质,其中,所述指令在由所述至少一个处理器执行时进一步使所述计算设备执行下述操作:
创建与所述至少一个相关联的夹层文件有关的至少一个分层基元;
将从所述媒体文件提取的元数据与所述至少一个相关联的夹层文件关联;以及
将所述元数据与所述至少一个分层基元关联,其中,自动地使所述元数据与所述至少一个相关联的夹层文件以及随后生成的文件关联,并且其中能够根据所述至少一个分层基元来应用待对所述媒体文件执行的工作流程的动作。
18.根据权利要求16所述的非暂态计算机可读存储介质,其中,所述指令在由所述至少一个处理器执行时进一步使所述计算设备执行下述操作:
接收要与所述媒体文件一起显示的一组广告;
对所述广告进行修改以使所述广告匹配使用所述至少一个相关联的夹层文件生成的转码文件的视频质量或音频质量中的至少一者;以及
在对使用所述至少一个相关联的夹层文件生成的所述转码文件进行重放期间显示所述广告。
19.根据权利要求16所述的非暂态计算机可读存储介质,其中,所述指令在由所述至少一个处理器执行时进一步使所述计算设备执行下述操作:
使用所述第二类型的存储体对与所述至少一个相关联的夹层文件相关联的元数据进行存储。
20.根据权利要求16所述的非暂态计算机可读存储介质,其中,所述指令在由所述至少一个处理器执行时进一步使所述计算设备执行下述操作:
确定所述媒体文件的文件名;
将所述至少一个相关联的夹层文件分段成一系列片段;
针对所述系列的每个片段确定所述文件名的变型;以及
使用考虑每个变型的整体的散列算法来为所述系列的每个片段生成唯一散列代码。
CN202310648879.XA 2016-09-14 2017-09-13 计算机实现的方法、存储系统和计算机可读存储介质 Pending CN116578740A (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US15/265,513 2016-09-14
US15/265,513 US10701377B2 (en) 2016-09-14 2016-09-14 Media storage
PCT/US2017/051385 WO2018053015A1 (en) 2016-09-14 2017-09-13 Media storage
CN201780056380.2A CN109791557B (zh) 2016-09-14 2017-09-13 用于管理资产存储的计算机实现的方法以及存储系统

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201780056380.2A Division CN109791557B (zh) 2016-09-14 2017-09-13 用于管理资产存储的计算机实现的方法以及存储系统

Publications (1)

Publication Number Publication Date
CN116578740A true CN116578740A (zh) 2023-08-11

Family

ID=59969239

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201780056380.2A Active CN109791557B (zh) 2016-09-14 2017-09-13 用于管理资产存储的计算机实现的方法以及存储系统
CN202310648879.XA Pending CN116578740A (zh) 2016-09-14 2017-09-13 计算机实现的方法、存储系统和计算机可读存储介质

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201780056380.2A Active CN109791557B (zh) 2016-09-14 2017-09-13 用于管理资产存储的计算机实现的方法以及存储系统

Country Status (5)

Country Link
US (3) US10701377B2 (zh)
EP (1) EP3513323B1 (zh)
JP (1) JP6816266B2 (zh)
CN (2) CN109791557B (zh)
WO (1) WO2018053015A1 (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10701377B2 (en) 2016-09-14 2020-06-30 Amazon Technologies, Inc. Media storage
US10642917B2 (en) * 2016-11-14 2020-05-05 Triton Us Vp Acquisition Co. Method and device for sharing segmented video content across multiple manifests
GB201717251D0 (en) * 2017-10-20 2017-12-06 Palantir Technologies Inc Serving assets in a networked environment
US10735262B1 (en) * 2018-04-26 2020-08-04 Intuit Inc. System and method for self-orchestrated canary release deployment within an API gateway architecture
JP7326667B2 (ja) * 2018-07-31 2023-08-16 マーベル アジア ピーティーイー、リミテッド ストレージエッジにおけるメタデータ生成
US11277665B2 (en) * 2018-08-13 2022-03-15 Comcast Cable Communications, Llc Using manifest files to determine events in content items
US11106637B2 (en) * 2019-05-20 2021-08-31 5Th Kind, Inc. Metadata-driven tiered storage
US11531642B2 (en) * 2019-11-07 2022-12-20 Netapp, Inc. Synchronous object placement for information lifecycle management
US12028559B2 (en) * 2021-06-18 2024-07-02 Grass Valley Limited System and method for optimizing the distribution of available media production resources
US20240040171A1 (en) * 2022-07-28 2024-02-01 Rovi Guides, Inc. Systems and methods for light weight bitrate-resolution optimization for live streaming and transcoding

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8990214B2 (en) 2001-06-27 2015-03-24 Verizon Patent And Licensing Inc. Method and system for providing distributed editing and storage of digital media over a network
US7836055B2 (en) * 2006-01-31 2010-11-16 Microsoft Corporation XNA relationship management
JP2007272540A (ja) 2006-03-31 2007-10-18 Pfu Ltd データ配信方法及びデータ配信システム
US20130166580A1 (en) * 2006-12-13 2013-06-27 Quickplay Media Inc. Media Processor
US20090217352A1 (en) * 2008-02-25 2009-08-27 Tong Shen Web managed multimedia asset management method and system
CA2763678C (en) 2009-05-27 2020-03-24 Visible World Inc. Continuous re-insertion of advertisements in video content
KR20120082390A (ko) 2009-06-05 2012-07-23 모자이크 멀티미디어, 인코포레이티드 스마트 콘텐츠 태깅 및 상호 작용을 위한 에코시스템
US20110191446A1 (en) * 2010-01-29 2011-08-04 Clarendon Foundation, Inc. Storing and streaming media content
US8769139B2 (en) * 2010-01-29 2014-07-01 Clarendon Foundation, Inc. Efficient streaming server
US8977660B1 (en) * 2011-12-30 2015-03-10 Emc Corporation Multi-level distributed hash table for data storage in a hierarchically arranged network
US9380326B1 (en) * 2012-05-07 2016-06-28 Amazon Technologies, Inc. Systems and methods for media processing
US10191954B1 (en) * 2012-05-07 2019-01-29 Amazon Technologies, Inc. Prioritized transcoding of media content
US9060152B2 (en) * 2012-08-17 2015-06-16 Flextronics Ap, Llc Remote control having hotkeys with dynamically assigned functions
US8826332B2 (en) * 2012-12-21 2014-09-02 Ustudio, Inc. Media distribution and management platform
WO2014133497A1 (en) * 2013-02-27 2014-09-04 Hitachi Data Systems Corporation Decoupled content and metadata in a distributed object storage ecosystem
CA2903855C (en) * 2013-03-15 2018-04-03 Arris Technology, Inc. System and method for optimizing storage and transcoding costs in network dvr
JP6180179B2 (ja) 2013-05-16 2017-08-16 三菱電機株式会社 映像信号記録再生装置
WO2016081856A1 (en) * 2014-11-21 2016-05-26 Whip Networks, Inc. Media management and sharing system
US9983802B2 (en) * 2015-04-29 2018-05-29 International Business Machines Corporation Allocating storage extents in a storage system
US20170032412A1 (en) * 2015-07-28 2017-02-02 Vidscale Services, Inc. Methods and systems for preventing advertisements from being delivered to untrustworthy client devices
US10070193B2 (en) * 2016-08-26 2018-09-04 Apple Inc. Universal browse and watch list
US10701377B2 (en) 2016-09-14 2020-06-30 Amazon Technologies, Inc. Media storage

Also Published As

Publication number Publication date
US20230124822A1 (en) 2023-04-20
US11785232B2 (en) 2023-10-10
US11553196B2 (en) 2023-01-10
US20180077420A1 (en) 2018-03-15
US20200236373A1 (en) 2020-07-23
EP3513323B1 (en) 2020-11-04
WO2018053015A1 (en) 2018-03-22
US10701377B2 (en) 2020-06-30
CN109791557B (zh) 2023-06-30
JP6816266B2 (ja) 2021-01-20
CN109791557A (zh) 2019-05-21
EP3513323A1 (en) 2019-07-24
JP2019533233A (ja) 2019-11-14

Similar Documents

Publication Publication Date Title
CN109791557B (zh) 用于管理资产存储的计算机实现的方法以及存储系统
US10616301B2 (en) Request-based encoding for streaming content portions
US10958737B2 (en) Systems and methods for distributing content
KR101977516B1 (ko) 미디어 배포 및 관리 플랫폼
US9015275B2 (en) Partial object distribution in content delivery network
US8489760B2 (en) Media file storage format and adaptive delivery system
US11212332B2 (en) Dynamic archiving of streaming content
US11120293B1 (en) Automated indexing of media content
US20130080268A1 (en) Multi-platform media syndication customization
US20130080579A1 (en) Dynamically-executed syndication services
US11916992B2 (en) Dynamically-generated encode settings for media content
US10681431B2 (en) Real-time interstitial content resolution and trick mode restrictions
US10516911B1 (en) Crowd-sourced media generation
US20240048792A1 (en) System and method for storing multimedia files using an archive file format
US10200434B1 (en) Encoding markers in transport streams
WO2016074149A1 (en) Expedited media content delivery
US10523755B1 (en) Peer-based cloud storage for media broadcasts
US10673919B1 (en) Concurrent input monitor and ingest
US10491648B2 (en) Server-side interstitial content insertion
US11870830B1 (en) Embedded streaming content management
US20240340326A1 (en) Playback aware video packaging
US10854241B2 (en) Generation of media diff files

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination