CN111149365A - 利用边缘装置进行内容分发的混合技术 - Google Patents

利用边缘装置进行内容分发的混合技术 Download PDF

Info

Publication number
CN111149365A
CN111149365A CN201880062937.8A CN201880062937A CN111149365A CN 111149365 A CN111149365 A CN 111149365A CN 201880062937 A CN201880062937 A CN 201880062937A CN 111149365 A CN111149365 A CN 111149365A
Authority
CN
China
Prior art keywords
base layer
user device
data
partitions
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.)
Granted
Application number
CN201880062937.8A
Other languages
English (en)
Other versions
CN111149365B (zh
Inventor
J.徐
D.布兰肯贝克勒
R.奥尼尔
N.E.拉森
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.)
Western Digital Technologies Inc
Original Assignee
Western Digital 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 Western Digital Technologies Inc filed Critical Western Digital Technologies Inc
Publication of CN111149365A publication Critical patent/CN111149365A/zh
Application granted granted Critical
Publication of CN111149365B publication Critical patent/CN111149365B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/237Communication with additional data server
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/222Secondary servers, e.g. proxy server, cable television Head-end
    • 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/232Content retrieval operation locally within server, e.g. reading video streams from disk arrays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/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
    • H04N21/234327Processing 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 by decomposing into layers, e.g. base layer and one or more enhancement layers
    • 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/239Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests
    • H04N21/2393Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests involving handling client requests
    • 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/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/2665Gathering content from different sources, e.g. Internet and satellite
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/631Multimode Transmission, e.g. transmitting basic layers and enhancement layers of the content over different transmission paths or transmitting with different error corrections, different keys or with different transmission protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • Astronomy & Astrophysics (AREA)
  • General Physics & Mathematics (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

公开了通过降低计算要求、优化网络使用和/或为内容提供保护来改进内容分发的系统和方法。在一些实施例中,可以使用具有擦除编码和/或位级分块编码的可伸缩视频编码对所请求的内容进行编码。可伸缩视频编码可用于为所请求的内容形成一个或多个基本层和/或一个或多个增强层。位级分块编码和/或擦除编码可用于形成所述一个或多个层的片段。在一些实施例中,端点装置、边缘网络装置和/或数据中心可基于以下条件来选择用于对所述所请求的内容进行编码的策略:用户装置的安全性级别、边缘网络装置的安全性级别、数据中心的安全性级别、所述所请求的内容的要求或重构所述所请求的内容的计算复杂性。

Description

利用边缘装置进行内容分发的混合技术
相关申请的交叉引用
本申请要求2017年12月19日提交的标题为“利用边缘装置进行内容分发的混合技术(HYBRID TECHNIQUES FOR CONTENT DISTRIBUTION WITH EDGE DEVICES)”的美国专利申请第15/847,734号的权益,其中每一个申请以全文引用的方式并入。
技术领域
本公开涉及数据或内容分发系统,且更具体地说,涉及用于改进终端用户的网络带宽使用和/或体验质量的内容分发系统。
背景技术
视频流服务的技术进步使得更多的视频内容能够到达终端用户,并以更快的响应时间提供更高质量的视频流服务。然而,对这类服务的需求增加导致了对网络带宽的使用增加。随着视频技术、视频服务、网络和电信技术不断改进,更多用户可以流式传输视频,并且每个用户可以流式传输更多内容。此外,视频质量可能会一直提高,导致文件大小增加。服务提供商试图为用户保持一定水平的体验质量,同时通过提前传输内容并允许用户稍后查看内容来减少高峰时段的网络负载。但是,此类方法需要进行敏感内容(例如,尚未向公众展示的受版权保护的剧集)的早期分发和存储。服务提供商一直使用加密技术为早期分发的敏感内容提供保护和安全。但是这种方法提高了视频流服务提供商和用户装置的计算需求和设计复杂性。因此,需要向用户分发内容的新方法和系统,这些方法和系统通过使用当前的电信基础设施来实现可伸缩性、网络带宽的优化使用以及对敏感内容的保护。
发明内容
一些实施例包含一种装置,包括:存储器;以及一个或多个处理器,其配置成:响应于从用户装置接收到访问视频数据的请求,使用擦除编码将所述视频数据编码成可伸缩视频编码方案的基本层,所述基本层包括多个基本层分块和至少一个校验层分块:识别所述多个基本层分块中尚未传输到所述用户装置的一个或多个基本层分块;从所述存储器中检索所述一个或多个基本层分块或向数据中心请求传输所述一个或多个基本层分块;以及使用网络编码将所述一个或多个基本层分块传输到所述用户装置,其中需要将所述多个基本层分块和所述至少一个校验层分块中的每一个传输到所述用户装置,使得所述用户装置能够回放所述视频数据。
在根据先前段落中任一段所述的装置中,所述一个或多个处理器可以进一步配置成:确定所述至少一个校验层分块尚未传输到所述用户装置;以及响应于所述确定,从所述存储器中检索所述至少一个校验层分块或者向所述数据中心请求传输所述至少一个校验层分块,并将所述至少一个校验层分块传输到所述用户装置。
在根据先前段落中任一段所述的装置中,所述一个或多个处理器可以进一步配置成:在所述存储器中搜索所述一个或多个基本层分块,其中所述存储器是本地存储器数据存储区;响应于在所述存储器中找到所述一个或多个基本层分块,从所述存储器中检索所述一个或多个基本层分块;以及响应于在所述存储器中未找到所述一个或多个基本层分块,向所述数据中心请求传输所述一个或多个基本层分块。
在根据先前段落中任一段所述的装置中,除所述一个或多个基本层分块以外的至少一个基本层分块可以由所述用户装置存储。
在根据先前段落中任一段所述的装置中,可以进一步使用擦除编码将所述视频数据编码成至少一个增强层,所述至少一个增强层划分成多个增强层分块,所述用户装置需要其中的每一个增强层分块来回放增强视频数据,并且其中所述一个或多个处理器可以进一步配置成:识别所述多个增强层分块中尚未传输到所述用户装置的一个或多个增强层分块;从所述存储器中检索所述一个或多个增强层分块或者向所述数据中心请求传输所述一个或多个增强层分块;以及将所述一个或多个增强层分块传输到所述用户装置。
在根据先前段落中任一段所述的装置中,除所述一个或多个增强层分块以外的至少一个增强层可以由所述用户装置存储。
在根据先前段落中任一段所述的装置中,可以使用所述可伸缩视频编码方案将所述视频数据编码成所述基本层和所述至少一个增强层。
在根据先前段落中任一段所述的装置中,所述网络编码可包括蝶形网络和多播会话。
在根据先前段落中任一段所述的装置中,所述网络编码可包括一个改进蝶形网络和两个单播会话。
在根据先前段落中任一段所述的装置中,所述装置可包含边缘网络装置。
一些实施例包含一种装置,包括:存储器;以及一个或多个处理器,其配置成:响应于从用户装置接收到访问数据的请求,所述数据包括划分成多个基本层分块的基本层,所述用户装置需要其中的每一个基本层分块来访问所述数据:识别所述多个基本层分块中尚未传输到所述用户装置的一个或多个基本层分块;从所述存储器中检索所述一个或多个基本层分块或者向数据中心请求传输所述一个或多个基本层分块;以及将所述一个或多个基本层分块传输到所述用户装置。
在根据先前段落中任一段所述的装置中,所述一个或多个处理器可以进一步配置成:在所述存储器中搜索所述一个或多个基本层分块,其中所述存储器是本地存储器数据存储区;响应于在所述存储器中找到所述一个或多个基本层分块,从所述存储器中检索所述一个或多个基本层分块;以及响应于在所述存储器中未找到所述一个或多个基本层分块,向所述数据中心请求传输所述一个或多个基本层分块。
在根据先前段落中任一段所述的装置中,除所述一个或多个基本层分块以外的至少一个基本层分块可以由所述用户装置存储。
在根据先前段落中任一段所述的装置中,所述数据可进一步包括划分成多个增强层分块的至少一个增强层,所述用户装置需要其中的每一个增强层分块来访问所述数据,并且其中所述一个或多个处理器可以进一步配置成:识别所述多个增强层分块中尚未传输到所述用户装置的一个或多个增强层分块;从所述存储器中检索所述一个或多个增强层分块或者向所述数据中心请求传输所述一个或多个增强层分块;以及将所述一个或多个增强层分块传输到所述用户装置。
在根据先前段落中任一段所述的装置中,除所述一个或多个增强层分块以外的至少一个增强层可以由所述用户装置存储。
在根据先前段落中任一段所述的装置中,可以使用擦除编码将所述基本层划分成所述多个基本层分块,并且其中可以使用擦除编码将所述至少一个增强层划分成所述多个增强层分块。
在根据先前段落中任一段所述的装置中,所述一个或多个处理器可以进一步配置成使用网络编码将所述一个或多个基本层分块传输到所述用户装置。
在根据先前段落中任一段所述的装置中,所述一个或多个处理器可以进一步配置成选择用于将所述一个或多个基本层分块传输到所述用户装置的策略,并且其中所述策略是基于以下中的至少一个:所述用户装置的安全性级别、所述装置的安全性级别、所述数据的要求或所述数据的计算复杂性。
一些实施例包含一种系统,其包括根据先前段落中任一段所述的装置,其中所述装置可包含边缘网络装置。
一些实施例包含一种用于将数据传输到用户装置的方法,所述方法包括:通过装置,响应于从用户装置接收到内容请求:识别多个基本层分块中尚未接收到的一个或多个基本层分块;从所述装置的存储器中检索所述多个基本层分块中已经接收到的一个或多个基本层分块;向数据中心请求尚未接收到的所述一个或多个基本层分块;从数据中心接收尚未接收到的所述一个或多个基本层分块;基于检索到的一个或多个基本层分块和接收到的一个或多个基本层分块,重构所请求的内容,其中需要所述多个基本层分块中的每一个来重构所述所请求的内容;以及将所述所请求的内容传输到所述用户装置。
在根据先前段落中任一段所述的方法中,所述方法可进一步包括选择用于将所述一个或多个基本层分块传输到所述用户装置的策略,其中所述策略包括以下中的至少一个:位级具有分块编码的可伸缩视频编码;具有擦除编码的可伸缩视频编码;或具有位级分块和擦除编码的可伸缩视频编码。
在根据先前段落中任一段所述的方法中,所述策略可以基于以下中的至少一个:所述用户装置的安全性级别、边缘网络装置的安全性级别、数据中心的安全性级别、所请求的内容的要求或重构所请求的内容的计算复杂性。
一些实施例包含一种装置,包括:一个或多个处理器,其配置成:响应于从用户装置接收到访问数据的请求,所述数据包括划分成多个基本层分块的基本层,所述用户装置需要其中的每一个基本层分块来访问所述数据:识别所述多个基本层分块中尚未传输到所述用户装置的一个或多个基本层分块;从所述存储器中检索所述一个或多个基本层分块或者向数据中心请求传输所述一个或多个基本层分块;以及将所述一个或多个基本层分块传输到所述用户装置。
附图说明
在权利要求书中描述的创新各自具有数个方面,没有一个单独的方面只负责它所要的属性。在不限制权利要求书的范围的情况下,现将简要地描述本公开的一些突出特征。
图1A是根据本公开的一些实施例的示出使用擦除编码和可伸缩视频编码传输内容的框图。
图1B是根据本公开的一些实施例的示出响应用户对内容的请求的流程图。
图2A是根据本公开的一些实施例的示出可伸缩视频编码的图式。
图2B是根据本公开的一些实施例的示出擦除编码的图式。
图3A是根据本公开的一些实施例的示出蝶形网络编码方案的图式。
图3B是根据本公开的一些实施例的示出改进蝶形网络编码方案的图式。
图4是根据本公开的一些实施例的示出具有边缘网络装置的网络基础设施的框图。
图5是根据本公开的一些实施例的示出数据传送策略之间的选择的流程图。
图6A是根据本公开的一些实施例的示出两种数据传送策略之间的选择的决策树图。
图6B是根据本公开的一些实施例的示出四种数据传送策略之间的选择的决策树图。
具体实施方式
尽管描述了某些实施例,但是这些实施例仅借助于实例呈现且并不意图限制保护范围。实际上,本文中描述的新颖方法和系统可以各种其它形式体现。此外,可以在不脱离保护范围的情况下采用本文中描述的方法和系统的形式作出各种省略、替代和改变。
概述
一般来说,本文中所描述的系统和方法的一些实施例通过降低计算要求、优化网络使用和/或为内容提供保护来改进内容分发(例如,视频流内容)。本公开的一些实施例描述了可伸缩视频编码与擦除编码结合用于数据存储。边缘网络装置的结合有擦除编码方案和/或位级分块编码方案的可伸缩视频编码可用于确定内容的内容分发和存储。在一些实施例中,可以组合编码机制使用可伸缩视频编码对内容进行编码,所述编码机制例如是擦除编码、位级分块编码、擦除编码和位级分块编码的组合等等。
视频技术和数据传送技术已取得重大进步。因此,互联网用户以不断增加的速率将数据传入和传出他们的个人计算装置。随着全球互联网流量的增加,对带宽的需求产生了带宽瓶颈和网络高峰时间,这种情况下,响应于用户对例如视频流服务的内容的请求,用户体验到的质量较低。
电信公司和互联网服务提供商常常难以满足流式传输内容的需求,因为某些时间段的带宽使用或现有基础设施的限制导致可用带宽不足。为了缓解此类带宽需求,内容副本可以存储在位置更靠近端点的边缘网络装置上,而不是直接从数据中心中检索内容。然而,由于视频内容的版权法和对内容所有者的保护,电信公司必须获得放在边缘网络装置上的每个副本的权利,这可能非常昂贵。为了使数据中心有效分流,可能必须创建许多边缘网络装置,并且每个边缘网络装置可能必须存储用户可能请求的内容的副本。因此,电信公司在财务上可能没有动力在边缘网络装置上存储内容的多个副本。此外,电信公司可能不希望将敏感内容直接发送到用户装置来进行早期分发,以保护受版权保护的内容的安全。
在本公开的一些实施例中,边缘网络装置可实施擦除编码(和/或其它类型的编码机制)以形成内容片段,其中内容片段可在稍后时间用于重构流媒体内容。边缘网络装置可进一步实施可伸缩视频编码以形成内容的层,例如基本层和增强层。例如,边缘网络装置可预测端点装置可能请求的内容,并提前传输内容片段以用于早期分发。接着,当端点装置接收对内容的请求时,其余内容可以传输到端点装置。早期分发的内容片段可以编码成在没有其余片段的情况下内容无法播放和/或访问。在用户通过端点装置请求时,边缘网络装置可以将其余内容片段传输到端点(例如,用户计算装置),并且端点可以通过使用接收到的早期分发的片段和接收到的其余片段来重构完整的流媒体内容。在一些实施例中,在用户通过端点装置进行请求时,数据中心可以将其余内容片段传输到边缘网络装置,并且边缘网络装置可以通过使用接收到的早期分发的片段和接收到的其余片段来重构完整的流媒体内容,并将完整的流媒体内容传输到端点装置。
有利的是,在一些实施例中,计算工作被推给边缘网络装置和/或端点(例如,用户计算装置)。内容片段子集的早期分发可以在网络带宽可用时进行分发。因为只传输内容片段的子集用于早期分发,所以端点和/或边缘网络装置无法重构完整的流媒体内容,直到端点和/或边缘网络装置接收其余内容片段为止,并且因此没有侵犯内容版权。此外,因为在用户请求时只传输其余内容片段,所以响应于用户请求的网络带宽使用减少。
在一些实施例中,端点装置、边缘网络装置和/或数据中心可以选择用于对所请求的内容进行编码的策略。可以进行选择的策略可包含可伸缩视频编码、具有位级分块编码的可伸缩视频编码、具有擦除编码的可伸缩视频编码、具有擦除编码和位级分块编码的可伸缩视频编码等等。在一些实施例中,策略的选择可以基于用户装置的安全性级别、边缘网络装置的安全性级别、数据中心的安全性级别、所请求的内容的要求、重构所请求的内容的计算复杂性等等。有利的是,端点装置、边缘网络装置和/或数据中心可以自主选择针对所要安全性级别优化的策略。端点装置、边缘网络装置和/或数据中心可以进一步基于要求、系统中的装置所需的安全性级别和计算复杂性的优化来调整内容的传输和/或接收。
本公开的各个实施例提供装置,包括:存储器;以及一个或多个处理器,其配置成:响应于从用户装置接收到访问视频数据的请求,使用擦除编码将所述视频数据编码成可伸缩视频编码方案的基本层,所述基本层包括多个基本层分块和至少一个校验层分块:识别所述多个基本层分块中尚未传输到所述用户装置的一个或多个基本层分块;从所述存储器中检索所述一个或多个基本层分块或向数据中心请求传输所述一个或多个基本层分块;以及使用网络编码将所述一个或多个基本层分块传输到所述用户装置,其中需要将所述多个基本层分块和所述至少一个校验层分块中的每一个传输到所述用户装置,使得所述用户装置能够回放所述视频数据。
前一段所述的装置可包含在以下段落以及说明书中的其它地方中描述的一个或多个特征。在一些实施例中,所述一个或多个处理器进一步配置成:确定所述至少一个校验层分块尚未传输到所述用户装置;以及响应于所述确定,从所述存储器中检索所述至少一个校验层分块或者向所述数据中心请求传输所述至少一个校验层分块,并将所述至少一个校验层分块传输到所述用户装置。
在一些实施例中,所述一个或多个处理器进一步配置成:在所述存储器中搜索所述一个或多个基本层分块,其中所述存储器是本地存储器数据存储区;响应于在所述存储器中找到所述一个或多个基本层分块,从所述存储器中检索所述一个或多个基本层分块;以及响应于在所述存储器中未找到所述一个或多个基本层分块,向所述数据中心请求传输所述一个或多个基本层分块。
在一些实施例中,除所述一个或多个基本层分块以外的至少一个基本层分块由所述用户装置存储。
在一些实施例中,进一步使用擦除编码将所述视频数据编码成至少一个增强层,所述至少一个增强层划分成多个增强层分块,所述用户装置需要其中的每一个增强层分块来回放增强视频数据,并且其中所述一个或多个处理器进一步配置成:识别所述多个增强层分块中尚未传输到所述用户装置的一个或多个增强层分块;从所述存储器中检索所述一个或多个增强层分块或者向所述数据中心请求传输所述一个或多个增强层分块;以及将所述一个或多个增强层分块传输到所述用户装置。
在一些实施例中,除所述一个或多个增强层分块以外的至少一个增强层分块由所述用户装置存储。
在一些实施例中,使用所述可伸缩视频编码方案将所述视频数据编码成所述基本层和所述至少一个增强层。
在一些实施例中,所述网络编码包括蝶形网络和多播会话。
在一些实施例中,所述网络编码包括一个改进蝶形网络和两个单播会话。一些实施例包含一种包括所述装置的系统,其中所述装置包含边缘网络装置。
本公开的各个实施例提供一种装置,其中所述装置可包括:存储器;以及一个或多个处理器,其配置成响应于从用户装置接收到访问数据的请求,所述数据包括划分成多个基本层分块的基本层,所述用户装置需要其中的每一个基本层分块来访问所述数据:识别所述多个基本层分块中尚未传输到所述用户装置的一个或多个基本层分块;从所述存储器中检索所述一个或多个基本层分块或者向数据中心请求传输所述一个或多个基本层分块;以及将所述一个或多个基本层分块传输到所述用户装置。
前一段所述的装置可包含在以下段落以及说明书中的其它地方中描述的一个或多个特征。在一些实施例中,所述一个或多个处理器进一步配置成:在所述存储器中搜索所述一个或多个基本层分块,其中所述存储器是本地存储器数据存储区;响应于在所述存储器中找到所述一个或多个基本层分块,从所述存储器中检索所述一个或多个基本层分块;以及响应于在所述存储器中未找到所述一个或多个基本层分块,向所述数据中心请求传输所述一个或多个基本层分块。
在一些实施例中,除所述一个或多个基本层分块以外的至少一个基本层分块由所述用户装置存储。
在一些实施例中,所述数据进一步包括划分成多个增强层分块的至少一个增强层,所述用户装置需要其中的每一个增强层分块来回放增强视频数据,并且其中所述一个或多个处理器进一步配置成:识别所述多个增强层分块中尚未传输到所述用户装置的一个或多个增强层分块;从所述存储器中检索所述一个或多个增强层分块或者向所述数据中心请求传输所述一个或多个增强层分块;以及将所述一个或多个增强层分块传输到所述用户装置。
在一些实施例中,除所述一个或多个增强层分块以外的至少一个增强层分块由所述用户装置存储。
在一些实施例中,使用擦除编码将所述基本层划分成所述多个基本层分块,并且其中使用擦除编码将所述至少一个增强层划分成所述多个增强层分块。
在一些实施例中,所述一个或多个处理器进一步配置成使用网络编码将所述一个或多个基本层分块传输到所述用户装置。
在一些实施例中,所述一个或多个处理器进一步配置成选择用于将所述一个或多个基本层分块传输到所述用户装置的策略,并且其中所述策略是基于以下中的至少一个:所述用户装置的安全性级别、所述装置的安全性级别、所述数据的要求或所述数据的计算复杂性。一些实施例包含一种包括所述装置的系统,其中所述装置包含边缘网络装置。
本公开的各个实施例提供一种将数据传输到用户装置的方法,所述方法包括:通过装置,响应于从用户装置接收到内容请求:识别多个基本层分块中尚未接收到的一个或多个基本层分块;从所述装置的存储器中检索所述多个基本层分块中已经接收到的一个或多个基本层分块;向数据中心请求尚未接收到的所述一个或多个基本层分块;从数据中心接收尚未接收到的所述一个或多个基本层分块;基于检索到的一个或多个基本层分块和接收到的一个或多个基本层分块,重构所请求的内容,其中需要所述多个基本层分块中的每一个来重构所述所请求的内容;以及将所述所请求的内容传输到所述用户装置。
前一段所述的方法可包含在以下段落以及说明书中的其它地方中描述的一个或多个特征。在一些实施例中,所述方法进一步包括选择用于将所述一个或多个基本层分块传输到所述用户装置的策略,其中所述策略包括以下中的至少一个:具有位级分块编码的可伸缩视频编码;具有擦除编码的可伸缩视频编码;或具有位级分块和擦除编码的可伸缩视频编码。
在一些实施例中,所述策略是基于以下中的至少一个:所述用户装置的安全性级别、装置的安全性级别、数据中心的安全性级别、所请求的内容的要求或重构所请求的内容的计算复杂性。
本公开的各个实施例提供一种装置,包括一个或多个处理器,所述一个或多个处理器配置成响应于从用户装置接收到访问数据的请求,所述数据包括划分成多个基本层分块的基本层,所述用户装置需要其中的每一个基本层分块来访问所述数据:识别所述多个基本层分块中尚未传输到所述用户装置的一个或多个基本层分块;从所述存储器中检索所述一个或多个基本层分块或者向数据中心请求传输所述一个或多个基本层分块;以及将所述一个或多个基本层分块传输到所述用户装置。一些实施例包含一种包括所述装置的系统,其中所述装置包含边缘网络装置。
混合技术概述
图1A是根据本公开的一些实施例的示出使用擦除编码和可伸缩视频编码传输内容的框图。在一些实施例中,视频内容可以编码成基本层和增强层。例如,基本层可包含低质量的视频内容。所述一个或多个增强层可包含视频内容的增强。例如,增强层可通过提高视频质量、提高视频的帧速率和/或提高视频的分辨率来添加到基本层的视频内容中。在一些实施例中,增强层可包括特性的不同变化和/或层级。例如,一个增强层可将分辨率提高到一定程度,第二增强层可将分辨率提高到另一程度。在一些实施例中,增强层可提供基本层中的内容在以下方面的改变:视频帧速率、数据速率、视频位速率、音频位速率、分辨率、持续时间、视频编解码器、音频编解码器、文件类型的变化、通道、图片大小、信噪比、保真度可伸缩性等等。
在一些实施例中,一个或多个层可以分段。例如,如图1A的图示中所示,基本层可以分段成四个基本层数据块和一个基本层校验块。一个或多个增强层可以分段。例如,如图1A的图示中所示,每个增强层可以分段成四个增强层数据块和一个增强层校验块。在一些实施例中,分段可通过擦除编码、位级分块和/或其它形式的分段执行。在一些实施例中,除非接收到特定块(例如,基本层数据块片段1、2、3和4),才能检索内容(例如,视频内容)。
例如,如图1A的图示中所示,四个基本层数据分块中的三个(例如,基本层数据块1、2和4)和基本层校验块传输到端点装置以供早期分发。在此实例中,增强层的所有片段也传输到端点装置。因为基本层中的一个片段(例如,基本层数据块3)尚未传输到端点装置和/或边缘网络装置,所以无法访问完整内容。有利的是,在早期分发时,视频内容的绝大部分都可以传输到端点装置,要访问完整内容,只有很小的子集(例如,片段)需要传输到端点和/或边缘网络装置。在图1A的实例中,在用户请求时,边缘网络装置和/或数据中心可将基本层数据块3传输到端点以供端点重构完整内容。在一些实施例中,数据中心可将基本层数据块3传输到边缘网络装置以供边缘网络装置重构完整内容并将完整内容发送到端点装置。
响应用户对内容的请求
图1B是根据本公开的一些实施例的示出响应用户对内容的请求的流程图。所示过程可以由图4中或在说明书中其它地方所示出的网络的一个或多个元件执行。在某些实施例中,所示过程可至少部分地由边缘网络装置和/或端点装置实施。过程还可由与边缘网络装置和/或端点装置分离的处理器(例如,数据中心、软件定义存储控制器、软件定义网络控制器等等)、由单独处理器指示的另一装置等等执行。
过程开始于步骤100。接下来,在步骤102中,端点装置可接收用户对内容的请求。用户的内容可以是对视频内容、音频内容、多媒体内容、文本内容等等的请求。
在步骤104中,端点装置可在本地搜索所请求的内容。例如,端点装置可在本地存储器、高速缓冲存储器、缓冲器等等中搜索所请求的内容。
在步骤106中,如果至少部分内容(例如,内容片段的子集)存储在本地,那么在步骤108处,端点装置可向边缘网络装置请求其余内容。例如,所述部分内容可包含基本层的片段的子集和增强层的所有片段。接着,端点装置可向边缘网络装置请求基本层的其余片段。如果没有内容存储在本地,那么在步骤110处,端点装置可向边缘网络装置请求完整内容。
如果端点装置向边缘网络装置请求其余内容,那么在步骤112处,边缘网络装置可接收对其余片段的请求,并在本地数据库中搜索其余片段(例如,搜索其余基本层数据)。
在步骤114中,边缘网络装置可确定内容是否存储在本地数据中心中。如果内容存储在本地,那么在步骤116中,边缘网络装置可将其余数据流式传输到边缘装置。在一些实施例中,其余数据可以流式传输到端点装置,同时不允许边缘装置存储数据。因此,有利的是,只有在其余数据进行流式传输时,端点装置才能访问完整内容。
在步骤114中,如果边缘网络装置确定内容不存储在本地,那么在步骤118中,边缘网络装置可向数据中心请求其余基本层数据,并且在步骤120处,可将其余数据流式传输到端点装置。
在步骤110中端点装置向边缘网络装置请求完整内容之后,在步骤120中,边缘网络装置可在本地搜索内容。如果在步骤122处,内容存储在本地,那么在步骤116中,边缘网络装置可将完整数据流式传输到端点装置。如果在步骤122处,内容不存储在本地,那么边缘网络装置可在步骤118中向数据中心请求完整内容,并在步骤116中将完整内容流式传输到端点装置。
可伸缩视频编码
在一些实施例中,内容可以划分成层。例如,可以使用可伸缩视频编码将视频内容划分成基本层和增强层。图2A是根据本公开的一些实施例的示出可伸缩视频编码的图式。可伸缩视频编码方案可以与本文中所描述的数据传输的任一个实施例一起使用。
在一些实施例中,可以使用可伸缩视频编码来实现视频传输的可伸缩性。例如,可伸缩视频编码可使得笔记本电脑具有高视频质量,而低视频质量可以传输给移动装置。有利的是,可伸缩视频编码可以生成关于相同内容的位流子集来管理带宽消耗。例如,移动电话可以只接收基本层,而笔记本电脑可以接收所有层。
在一些实施例中,可伸缩视频编码包含生成特定内容的位流子集。例如,内容可包含视频内容,并且位流子集可包含一个或多个基本层和/或一个或多个增强层。例如,基本层可包含特定质量的视频内容。一个或多个增强层可包含视频内容的增强。例如,增强层可通过提高视频质量、提高视频的帧速率和/或提高视频的分辨率来添加到基本层的视频内容中。在一些实施例中,增强层可包括特性的不同变化和/或层级。例如,一个增强层可将分辨率提高到一定程度,第二增强层可将分辨率提高到另一程度。在一些实施例中,增强层可提供基本层中的内容在以下方面的改变:视频帧速率、数据速率、视频位速率、音频位速率、分辨率、持续时间、视频编解码器、音频编解码器、文件类型的变化、通道、图片大小、信噪比、保真度可伸缩性等等。
擦除编码
图2B是根据本公开的一些实施例的示出擦除编码方案的图式。擦除编码方案可以与本文中所描述的数据传输的任一个实施例一起使用。在一些实施例中,边缘网络装置和/或软件定义存储(SDS)/软件定义网络(SDN)控制器可以实施擦除编码方案来将内容分段。在一些实施例中,对于每一擦除编码方案配置,每个方案可以划分成总共n个块,其中k为数据块的数目。基于所要的保护级别,数据块的数目可以是不同的。例如,如果期望较高保护级别,那么可使用较高n-k。
在一些实施例中,擦除编码可包含数据保护方法,其中数据分成片段,用冗余数据片段进行扩展和编码,并且存储在一组不同位置或存储媒体中。在一些实施例中,内容可以分段成一个或多个数据块和/或一个或多个校验块。在图2B的实例中,内容分段成四个数据块和一个校验块。尽管图2B示出了其中输入数据嵌入在已编码输出中的系统性擦除编码,但是本文中所公开的系统和方法可以与其中已编码输出不包含输入数据的非系统性擦除编码一起使用。
在一些实施例中,使用分簇RAID系统。不同于传统的RAID系统,分簇RAID系统可使得用户能够创建任意大小的数据存储装置阵列。例如,可以在同一系统中混合具有不同性能的不同容量的数据存储装置。在传统的RAID系统中,数据条带和校验条带分组可包含固定结构。传统RAID系统中的每个数据存储装置具有均等容量。因此,当一个数据存储装置出现故障时,系统需要重建整个数据存储装置,使得重建时间很长。在分簇RAID系统中,数据存储装置可以划分成小型虚拟数据分块。虚拟数据分块可以重新分组成虚拟数据RAID阵列。剩余的虚拟数据分块可以分散到数据群组当中。因此,如果一个驱动器出现故障,那么重建过程不会影响其它驱动器,从而缩短重建时间。
对于存储节点的擦除编码方案,擦除编码方案可以应用于读取请求和/或写入请求。对于写入请求,如果同时具有数据和校验的包在时间窗内接收到,那么包可以直接存储。否则,边缘网络装置要重构丢失的校验和/或数据片段。如果存储保护级别高于通信擦除级别,那么产品擦除编码方案可应用于更多校验。对于读取请求,边缘网络装置可确定是针对来自存储装置的读取和校验还是只针对其中计算出校验的数据。在一些实施例中,这种确定是基于成本函数,例如CPU、存储器、数据存储访问输入和输出(“I/O”)等等的成本函数。
因此,可以实施基于平衡计算要求和I/O操作的过程。例如,如果CPU和存储装置的损失指示CPU循环的损失高于从存储装置读取数据的损失,那么数据可以通过在本地没有存储数据的计算机实时重构。否则,系统可以添加数据的更多副本,使得数据以单指令多数据(“SIMD”)方式读取。
蝶形网络编码
图3A是根据本公开的一些实施例的示出蝶形网络编码方案的图式。所示网络编码方案可以与本文中所描述的数据传输的任一个实施例一起使用。在一些实施例中,边缘网络装置和/或SDS/SDN控制器可以实施蝶形网络编码方案以将内容传输到端点装置。
在一些实施例中,蝶形网络包括一个或多个源节点、一个或多个网络节点和一个或多个汇聚节点。在图3A的示例蝶形网络中,蝶形网络包括一个源节点、四个网络节点和两个汇聚节点。节点之间的每一链路可具有单位容量。在此实例中,b1和b2两个包将从源节点1传输到汇聚节点6和7。
蝶形网络编码方案可用于通过网络链路发送信息。网络节点可用于组合传入包并将所得的已编码包发送到传出边缘,而不只是中继包。网络编码可产生扩增的吞吐量,降低易损性,并提供在大型分发系统中部署的简易性。网络编码还可改进吞吐量、延迟、丢包的恢复能力以及系统复杂性。
网络编码的一个缺点在于,网络编码需要在网络中间进行处理,这可能产生额外的延迟、复杂性,并且使得网络易受拜占庭攻击。但是,擦除编码使用网络内错误控制提供了一种可行的针对此缺点的解决方案,所述网络内错误控制例如里德-所罗门码(Reed-Solomon code)、低密度奇偶校验码、涡轮码(turbo code)、LT码、速龙码(Raptor code)等等。
在此实例中,b1和b2两个包从源节点,即节点1,传输。第一包b1传输到网络节点2,第二包b2传输到网络节点3。
第二网络节点将第一包b1传输到网络节点4和汇聚节点6。第三网络节点将第二包b2传输到网络节点4和汇聚节点7。
会话内网络编码可实施于网络节点4和5上。网络节点4组合第一包b1和第二包b2,并将已编码包传输到网络节点5。网络节点5将已编码包b1和b2传输到汇聚节点6和7。汇聚节点6从第二网络节点接收第一包b1,并且可通过从b1中减去已编码b1和b2包来确定第二包b2。因而,b1和b2这两个包可以同时传输到目的地,即汇聚节点。
改进蝶形网络编码
图3B是根据本公开的一些实施例的示出改进蝶形网络编码方案的图式。在一些实施例中,边缘网络装置和/或SDS/SDN控制器可以实施改进蝶形网络编码方案以将内容传输到端点装置。所示网络编码方案可以与本文中所描述的数据传输的任一个实施例一起使用。
在图3B的示例改进蝶形网络中,改进蝶形网络包括两个源节点、两个网络节点和两个汇聚节点。在此实例中,第一包b1从第一源节点,即节点1,传输。第一包b1传输到网络节点3和汇聚节点5。第二包b2从第二源节点2传输到网络节点3和汇聚节点6。会话内网络编码可实施于网络节点3和4上。网络节点3组合第一包b1和第二包b2,并将已编码包传输到网络节点4。网络节点4将已编码包b1和b2传输到汇聚节点6和7。
对于网络内节点的网络编码方案,可以选择不同网络编码方案。选择可基于网络大小。例如,对于小到中等网络,可以使用确定性网络编码方案,而对于大型网络,可以实施用于简单地生成策略的随机方案。当需要存储侧的固定代码时(例如,当系数矩阵固定时)和/或在存储侧上的额外表格用于记录随机擦除编码方案的情况下,可以选择用于网络编码的纯随机方案。在一些实施例中,可以使用一组策略,其中相同分块或文件的包可以使用相同的网络编码矩阵。
具有边缘网络装置的网络基础设施
图4是根据本公开的一些实施例的示出具有边缘网络装置的网络基础设施的框图。所示网络基础设施可类似于图1中所示出的网络基础设施。网络基础设施可包含端点装置1 402A、端点装置2 402B、端点装置3 402C和端点装置4 402D(在本文中统称为端点装置402)。端点装置402可包含应用程序406A、406B、406C、406D(在本文中统称为应用程序406)和/或数据存储装置404A、404B、404C和404D(在本文中统称为数据存储装置404)。网络基础设施可包括边缘网络装置408A、408B、408C、408D(在本文中统称为边缘网络装置408)、边缘网络409A、409B、409C、409D(在本文中统称为边缘网络409)、边缘数据中心410A、410B、410C和410D(在本文中统称为边缘数据中心410)、数据中心422,以及连接边缘网络409和数据中心422的核心网络420。边缘数据中心410可包含内容数据存储区412A、412B、412C、412D(在本文中统称为内容数据存储区412)。数据中心422可包含内容数据存储区424。
在一些实施例中,边缘网络装置408可以连接到边缘网络409,和/或可以从端点装置402接收内容请求。边缘网络装置408可在本地在边缘数据中心412中的内容数据存储区412内搜索内容。如果内容位在于本地,那么边缘网络装置408可检查网络条件以确定边缘网络装置408将如何向端点装置402发送内容。如果内容不位于本地,那么边缘网络装置408可向数据中心422请求视频内容。
如果网络条件足够,那么边缘网络装置408可将内容直接发送到端点装置402而不用实施网络编码,或者可以识别片段来重构数据。如果网络条件不够,那么边缘网络装置408可实施网络编码来将内容发送给用户。
边缘网络装置408可检查所请求的包是否存在于高速缓冲存储器或缓冲器中。如果包在边缘网络装置408的高速缓冲存储器或缓冲器中,那么边缘网络装置可将包发送给用户。如果包不在高速缓冲存储器或缓冲器中,那么边缘网络装置可检查计算处理和数据存储装置的内容检索的罚函数。如果处理的损失大于从数据存储装置检索内容的损失,并且如果存在擦除编码,那么边缘网络装置408可以只读取视频数据,以恢复擦除编码产生的其余片段来重构信息,然后将内容发送到端点装置402。否则,边缘网络装置408可以从数据存储装置读取整个内容并将包发送到端点装置402。
如果内容在边缘数据中心410中不是本地存储在边缘网络装置408上,那么边缘网络装置408向数据中心422请求内容。数据中心422可将网络编码包发送到边缘网络装置408。
边缘网络装置可从数据中心422接收内容,并检查内容是否将本地存储在边缘数据中心410处。如果数据将存储在本地,那么边缘网络装置408可检查在预定义保护级别内且在特定时间窗内是否接收到足够的包来构建擦除编码方案。否则,边缘网络装置可将包发送给用户。
如果边缘网络装置408接收到足够的包,那么边缘网络装置408可使用擦除编码对数据进行编码,存储已编码数据,并将目标包发送到端点装置402。如果边缘网络装置408没有接收到足够的包,那么边缘网络装置408可检查在时间窗内是否接收到足够的包来恢复原始数据。如果接收到足够的包,那么边缘网络装置408可基于恢复后的数据重构擦除编码方案,存储已编码数据,并将内容发送到端点装置402。否则,边缘网络装置408可请求数据中心422重新发送包。接着,边缘网络装置408c可再次检查是否接收到足够的包来构建擦除编码方案。
边缘网络装置408可从数据中心422接收数据。所结合的擦除编码方案可适用于这种类型的基础设施,其具有带存储和计算功能性的网间边缘装置408。在一些实施例中,边缘网络装置408包含具有存储和带宽资源的微服务器,所述资源可以响应于用户对视频的请求而下载和/或存储视频。
在一些实施例中,基础设施可以是视频流服务提供商、互联网服务提供商和/或第三方的一部分,所述第三方例如是大型社区中的节点。在一些实施例中,边缘网络装置408可用于辅助对等结构和/或具有元数据服务的Openstack/Ceph结构。
数据传送策略之间的选择
图5是根据本公开的一些实施例的示出数据传送策略之间的选择的流程图。所示过程可以由图4中或在说明书中其它地方所示出的网络的一个或多个元件执行。在某些实施例中,所示过程可至少部分地由边缘网络装置和/或端点装置实施。过程还可由与边缘网络装置和/或端点装置分离的处理器(例如,数据中心、软件定义存储控制器、软件定义网络控制器等等)、由单独处理器指示的另一装置等等执行。
过程开始于步骤500。接下来,在步骤502中,边缘网络装置可识别内容的一个或多个安全性级别和/或保护级别。安全性和/或保护级别可包含对内容的特定保护程度,例如版权。在一些实施例中,安全性和/或保护级别可包含指示所要安全性/保护级别或范围的阈值和/或范围。在一些实施例中,安全性和/或保护级别可包含安全性/保护的调整。在一些实施例中,安全性和/或保护级别可以由公布者、内容所有者、用户等等设置。
在一些实施例中,边缘网络装置可识别内容要求。要求可以指示内容对特定群体和/或群体子集的总体要求。例如,受欢迎的节目的要求可能较高。在一些实施例中,要求可以是针对个人的。在一些实施例中,要求可包含阈值和/或范围。要求可以指示内容要求的可能性。
接下来在步骤504中,边缘网络装置可识别数据中心和/或边缘网络装置的安全性/保护级别。数据中心可包含用于存储内容的数据库。数据中心可包含边缘网络装置可从中请求内容的一个或多个内容的存储库。数据中心可包含安全性/保护级别。例如,存储大量受保护内容的数据中心可以请求较高安全性/保护级别。基于数据中心的可用基础设施,例如具有黑客防范机制的硬件或软件,可以请求较高安全性/保护级别。
在一些实施例中,边缘网络装置可包含安全性/保护级别。例如,如果特定边缘网络装置要连接到大量端点,要在边缘网络装置处对内容进行编码和解码以传输到端点,要在本地存储内容等等,那么边缘网络装置可包含较高安全性/保护级别。
接下来在步骤506中,边缘网络装置可识别端点装置的安全性/保护级别。例如,移动电话的安全性/保护级别可高于或低于个人笔记本电脑。安全性/保护级别可取决于可用软件和/或内容要发送到的平台。
接下来在步骤508中,边缘网络装置可识别内容的计算复杂性。对于特定内容,边缘网络装置可基于基本层和/或增强层的数目而确定较高计算复杂性。例如,边缘网络装置可确定高分辨率视频的高计算复杂性。在一些实施例中,边缘网络装置可基于安全性/保护级别而确定计算复杂性。例如,边缘网络装置可基于较高安全性/保护级别而确定需要大量校验块。
接下来在步骤510中,边缘网络装置可选择数据传送策略来实现所要保护级别。数据传送策略可包含利用可伸缩视频编码的数据传送。数据传送策略可包含利用可伸缩视频编码和位级分块编码的数据传送。数据传送策略可包含利用可伸缩视频编码和擦除编码的数据传送。数据传送策略可包含利用具有或不具有位级分块编码和/或擦除编码的可伸缩视频编码的数据传送。位级分块编码可包含在位级上将数据划分成n个片段,使得任何n-1个片段不足以恢复原始数据。例如,假设8位字长,每个8位数据字可以划分成8个单独的位。单独的位可以分组以用于传输,例如每个字的第一位可以分组成片段。
在一些实施例中,下表示出按照提供越来越多的数据保护的次序布置的数据传送策略。例如,策略O0可提供最低保护级别,而策略O3可提供最高保护级别。
<u>策略码:</u> <u>策略:</u>
O0 可伸缩视频编码
O1 具有位级分块编码的可伸缩视频编码
O2 具有擦除编码的可伸缩视频编码
O3 具有位级分块和擦除编码的可伸缩视频编码
在一些实施例中,位级分块编码可包含将文件划分成一定数目个分块。例如,信息块可包含8位字。位级分块编码可用于将文件划分成一定数目个分块,例如八个分块。在此实例中,文件中的每个位可以作为B(i,j)进行索引,其中i=1、2、……、N,且j=1、2、……、8。这八个分块可包含B(i,1)、B(i,2)、……、B(i,8)。位级分块编码可能不需要校验位。
在一些实施例中,具有位级分块编码的擦除编码可包含以下。文件可以划分成片段,例如通过实施如本文中所描述的位级分块编码。如果所要数目个分块的数目不是可用分块的总数的倍数,那么其余部分可以被指派某一值,例如值零。一旦原始文件划分成分块,就可以使用擦除编码将一个或多个分块划分成一个或多个数据分块和一个或多个校验分块。
两种数据传送策略之间的选择
图6A是根据本公开的一些实施例的示出两种数据传送策略之间的选择的决策树图。所示决策图可以由图4中或在说明书中其它地方所示出的网络的一个或多个元件执行。在某些实施例中,所示决策树图可至少部分地由边缘网络装置和/或端点装置实施。过程还可由与边缘网络装置和/或端点装置分离的处理器(例如,数据中心、软件定义存储控制器、软件定义网络控制器等等)、由单独处理器指示的另一装置等等执行。
决策树图开始于框620。F2可包含数据中心和/或边缘网络装置的安全性/保护级别。F3可包含端点装置的安全性/保护级别。在图6A的实例中,如果在框622处,F2和F3的组合大于或等于某一阈值级别(例如,大于或等于值3),那么可以在框624处实施O1策略,其可对应于使用具有位级分块编码的可伸缩视频编码进行数据传送。但是,如果在框626处,F2和F3的组合小于某一阈值级别(例如,小于值3),那么可以在框628处实施O0策略,其可对应于使用不具有位级分块编码的可伸缩视频编码进行数据传送。
数据传送策略之间的选择
图6B是根据本公开的一些实施例的示出四种数据传送策略之间的选择的决策树图。所示决策图可以由图4中或在说明书中其它地方所示出的网络的一个或多个元件执行。在某些实施例中,所示决策树图可至少部分地由边缘网络装置和/或端点装置实施。过程还可由与边缘网络装置和/或端点装置分离的处理器(例如,数据中心、软件定义存储控制器、软件定义网络控制器等等)、由单独处理器指示的另一装置等等执行。
决策树图开始于框640。F1可包含内容自身的重要性,例如内容的安全性/保护级别。F2可包含数据中心和/或边缘网络装置的安全性/保护级别。F3可包含端点装置的安全性/保护级别。
在图6B的实例中,如果在框624处,F1是某一值(例如,F1是2),那么边缘网络装置在策略O3和O1之间选择。如果在框651处,F1具有另一值(例如,F1是1),那么边缘网络装置在策略O1和O2之间选择。如果在框660处,F1是某一值(例如,F1是0),那么边缘网络装置在策略O1和O0之间选择。有利的是,基于内容的重要性,边缘网络装置可从适当的数据传送策略列表中进行选择。例如,对于高安全性/保护级别(例如,F1是2),边缘网络装置可实施具有分块编码的伸缩视频编码或具有位级分块编码和擦除编码的伸缩视频编码。
在一些实施例中,如果在框624处,内容的重要性级别是某一值(例如,F1是2),那么在框644和648处,边缘网络装置确定F2和F3的组合是否大于或等于某一阈值级别(例如,大于或等于值3)。如果在框644处,组合大于或等于阈值(例如,大于或等于值3),那么在框646处,选择策略O3,其对应于使用具有位级分块编码和擦除编码的可伸缩视频编码进行数据传送。如果在框648处,组合小于阈值(例如,小于值3),那么在框650处,选择策略O1,其对应于使用具有位级分块编码但是不具有擦除编码的可伸缩视频编码进行数据传送。
在一些实施例中,如果在框651处,内容的重要性级别较低(例如,F1是1),那么在框652和654处,边缘网络装置确定F2和F3的组合是否大于或等于某一阈值级别(例如,大于或等于值3)。如果在框652处,组合大于或等于阈值(例如,大于或等于值3),那么在框656处,选择策略01,其对应于使用具有位级分块编码但是不具有擦除编码的可伸缩视频编码进行数据传送。如果在框654处,组合小于阈值(例如,小于值3),那么在框650处,选择策略02,其对应于使用具有擦除编码但是不具有位级分块编码的可伸缩视频编码进行数据传送。
在一些实施例中,如果在框660处,内容的重要性级别是可获得的最低级别(例如,F1是0),那么在框662和666处,边缘网络装置确定F2和F3的组合是否大于或等于某一阈值级别(例如,大于或等于值3)。如果在框662处,组合大于或等于阈值(例如,大于或等于值3),那么在框664处,选择策略O1,其对应于使用具有位级分块编码但是不具有擦除编码的可伸缩视频编码进行数据传送。如果在框668处,组合小于阈值(例如,小于值3),那么在框668处,选择策略O0,其对应于使用不具有擦除编码和位级分块编码的可伸缩视频编码进行数据传送。
其它变化形式
所属领域的技术人员将了解,在一些实施例中,可以利用额外系统组件,并且所公开的系统组件可以组合或省略。尽管一些实施例描述了视频数据传输,但是所公开系统和方法可用于传输任何类型的数据。另外,尽管一些实施例利用擦除编码和/或可伸缩视频编码,但是可以使用任何合适的错误校正方案和/或数据压缩方案。在所公开的过程中实际采用的步骤可以不同于图中所示的那些步骤,所述过程例如是图1B、5和6A-6B中所示的过程。取决于实施例,可以移除上文所描述的特定步骤,可以添加其它步骤。因此,本公开的范围意图只参考所附权利要求书来定义。
本文所描述的任何一个或多个实施例可与在共同未决的专利申请案中描述的任何一个或多个实施例组合使用,所述共同未决的专利申请案与本申请同一天提交,且其标题为“用于数据存储和传输的集成式擦除编码(INTEGRATED ERASURE CODING FOR DATASTORAGE AND TRANSMISSION)”(律师案号WDA-3372-US-SILSP.341A),其公开内容以全文引用的方式并入本文中。尽管已经描述了某些实施例,但是这些实施例仅作为实例呈现,并不意图限制保护范围。实际上,本文中所描述的新颖方法和系统可以体现为各种其它形式。此外,可以在不脱离保护精神的情况下,对本文中所描述的方法和系统的形式进行各种省略、替代和改变。所附权利要求书和它们的等效物意图涵盖此类形式或修改,它们处于保护范围和精神内。例如,本文公开的系统和方法可应用于硬盘驱动器、混合硬盘驱动器等等。另外,可以另外或替代地使用其它形式的存储装置(例如,DRAM或SRAM、电池备份易失性DRAM或SRAM装置、EPROM、EEPROM存储器等)。作为另一实例,图中所示的各种组件可以实施为处理器上的软件和/或固件、ASIC/FPGA或专用硬件。并且,上文公开的特定实施例的特征和属性可以不同方式组合以形成额外实施例,所有这些都在本公开的范围内。
本文使用的术语仅用于描述特定实施例的目的并且不意图限制本公开。如本文所使用,除非上下文另外明确指示,单数形式“一(a、an)”以及“所述”还意图包含复数形式。应进一步理解的是,当在本说明书中使用时,术语“包括(comprises和/或comprising)”指定所陈述的特征、整数、步骤、操作、要素和/或组件的存在,但不排除存在或添加一个或多个其它特征、整数、步骤、操作、要素、组件和/或其群组。此外,除非上下文另外明确指示,否则全文对“方法”或“实施例”的引用并不打算意指相同方法或相同实施例。
所附权利要求书中所有构件或步骤加功能元件的对应结构、材料、动作和等效物意图包含用于结合如特别主张的其它所主张要素执行功能的任何结构、材料或动作。已出于说明和描述的目的呈现本公开的各个实施例的描述,但描述不意图是详尽的或限于所公开的实施例。在不脱离本公开的范围和精神的情况下,所属领域的技术人员将清楚多个修改和变化。选择并描述示例实施例以便最好地阐释本公开的原理及其实际应用,并且使得所属领域的其它一般技术人员能够理解本公开的具有各种修改的各种实施例,这些修改适合于所预期的特定用途。
虽然本公开提供了某些优选实施例和应用,但是对于所属领域的技术人员来说显而易见的其它实施例也在本公开的范围内,这些其它实施例包含并不提供本文中阐述的所有特征和优点的实施例。因此,本公开的范围意图仅参考所附权利要求书定义。

Claims (23)

1.一种装置,其包括:
存储器;以及
一个或多个处理器,其配置成响应于从用户装置接收到访问视频数据的请求,使用擦除编码将所述视频数据编码成可伸缩视频编码方案的基本层,所述基本层包括多个基本层分块和至少一个校验层分块:
识别所述多个基本层分块中尚未传输到所述用户装置的一个或多个基本层分块;
从所述存储器中检索所述一个或多个基本层分块,或者向数据中心请求传输所述一个或多个基本层分块;以及
使用网络编码将所述一个或多个基本层分块传输到所述用户装置,
其中需要将所述多个基本层分块和所述至少一个校验层分块中的每一个传输到所述用户装置,使得所述用户装置能够回放所述视频数据。
2.根据权利要求1所述的装置,其中所述一个或多个处理器进一步配置成:
确定所述至少一个校验层分块尚未传输到所述用户装置;以及
响应于所述确定,从所述存储器中检索所述至少一个校验层分块或者向所述数据中心请求传输所述至少一个校验层分块,并将所述至少一个校验层分块传输到所述用户装置。
3.根据权利要求1至2中任一项所述的装置,所述一个或多个处理器进一步配置成:
在所述存储器中搜索所述一个或多个基本层分块,其中所述存储器是本地存储器数据存储区;
响应于在所述存储器中找到所述一个或多个基本层分块,从所述存储器中检索所述一个或多个基本层分块;以及
响应于在所述存储器中未找到所述一个或多个基本层分块,向所述数据中心请求传输所述一个或多个基本层分块。
4.根据权利要求1至3中任一项所述的装置,其中除所述一个或多个基本层分块以外的至少一个基本层分块由所述用户装置存储。
5.根据权利要求1至4中任一项所述的装置,其中进一步使用擦除编码将所述视频数据编码成至少一个增强层,所述至少一个增强层划分成多个增强层分块,所述用户装置需要其中的每一个增强层分块来回放增强视频数据,并且其中所述一个或多个处理器进一步配置成:
识别所述多个增强层分块中尚未传输到所述用户装置的一个或多个增强层分块;
从所述存储器中检索所述一个或多个增强层分块,或者向所述数据中心请求传输所述一个或多个增强层分块;以及
将所述一个或多个增强层分块传输到所述用户装置。
6.根据权利要求5所述的装置,其中除所述一个或多个增强层分块以外的至少一个增强层分块由所述用户装置存储。
7.根据权利要求5至6中任一项所述的装置,其中使用所述可伸缩视频编码方案将所述视频数据编码成所述基本层和所述至少一个增强层。
8.根据权利要求1至7中任一项所述的装置,其中所述网络编码包括蝶形网络和多播会话。
9.根据权利要求8所述的装置,其中所述网络编码包括一个改进蝶形网络和两个单播会话。
10.一种包括根据权利要求1至9中任一项所述的装置的系统,其中所述装置包含边缘网络装置。
11.一种装置,其包括:
存储器;以及
一个或多个处理器,其配置成响应于从用户装置接收到访问数据的请求,所述数据包括划分成多个基本层分块的基本层,所述用户装置需要其中的每一个基本层分块来访问所述数据:
识别所述多个基本层分块中尚未传输到所述用户装置的一个或多个基本层分块;
从所述存储器中检索所述一个或多个基本层分块,或者向数据中心请求传输所述一个或多个基本层分块;以及
将所述一个或多个基本层分块传输到所述用户装置。
12.根据权利要求11所述的装置,所述一个或多个处理器进一步配置成:
在所述存储器中搜索所述一个或多个基本层分块,其中所述存储器是本地存储器数据存储区;
响应于在所述存储器中找到所述一个或多个基本层分块,从所述存储器中检索所述一个或多个基本层分块;以及
响应于在所述存储器中未找到所述一个或多个基本层分块,向所述数据中心请求传输所述一个或多个基本层分块。
13.根据权利要求11至12中任一项所述的装置,其中除所述一个或多个基本层分块以外的至少一个基本层分块由所述用户装置存储。
14.根据权利要求11至13中任一项所述的装置,其中所述数据进一步包括划分成多个增强层分块的至少一个增强层,所述用户装置需要其中的每一个增强层分块来访问所述数据,并且其中所述一个或多个处理器进一步配置成:
识别所述多个增强层分块中尚未传输到所述用户装置的一个或多个增强层分块;
从所述存储器中检索所述一个或多个增强层分块,或者向所述数据中心请求传输所述一个或多个增强层分块;以及
将所述一个或多个增强层分块传输到所述用户装置。
15.根据权利要求14所述的装置,其中除所述一个或多个增强层分块以外的至少一个增强层分块由所述用户装置存储。
16.根据权利要求14至15中任一项所述的装置,其中使用擦除编码将所述基本层划分成所述多个基本层分块,并且其中使用擦除编码将所述至少一个增强层划分成所述多个增强层分块。
17.根据权利要求11至16中任一项所述的装置,其中所述一个或多个处理器进一步配置成使用网络编码将所述一个或多个基本层分块传输到所述用户装置。
18.根据权利要求11至17中任一项所述的装置,其中所述一个或多个处理器进一步配置成选择用于将所述一个或多个基本层分块传输到所述用户装置的策略,并且其中所述策略是基于以下中的至少一个:所述用户装置的安全性级别、所述装置的安全性级别、所述数据的要求或所述数据的计算复杂性。
19.一种包括根据权利要求11至18中任一项所述的装置的系统,其中所述装置包含边缘网络装置。
20.一种用于将数据传输到用户装置的方法,所述方法包括:
通过装置,响应于从用户装置接收到内容请求:
识别多个基本层分块中尚未接收到的一个或多个基本层分块;
从所述装置的存储器中检索所述多个基本层分块中已经接收到的一个或多个基本层分块;
向数据中心请求尚未接收到的所述一个或多个基本层分块;
从数据中心接收尚未接收到的所述一个或多个基本层分块;
基于检索到的一个或多个基本层分块和接收到的一个或多个基本层分块,重构所请求的内容,其中需要所述多个基本层分块中的每一个来重构所述所请求的内容;以及
将所述所请求的内容传输到所述用户装置。
21.根据权利要求20所述的方法,其进一步包括选择用于将所述一个或多个基本层分块传输到所述用户装置的策略,其中所述策略包括以下中的至少一个:
具有位级分块编码的可伸缩视频编码;
具有擦除编码的可伸缩视频编码;或
具有位级分块和擦除编码的可伸缩视频编码。
22.根据权利要求21所述的方法,其中所述策略是基于以下中的至少一个:所述用户装置的安全性级别、边缘网络装置的安全性级别、数据中心的安全性级别、所述所请求的内容的要求或重构所述所请求的内容的计算复杂性。
23.一种装置,其包括:
一个或多个处理器,其配置成:
响应于从用户装置接收到访问数据的请求,所述数据包括划分成多个基本层分块的基本层,所述用户装置需要其中的每一个基本层分块来访问所述数据:
识别所述多个基本层分块中尚未传输到所述用户装置的一个或多个基本层分块;
从所述存储器中检索所述一个或多个基本层分块,或者向数据中心请求传输所述一个或多个基本层分块;以及
将所述一个或多个基本层分块传输到所述用户装置。
CN201880062937.8A 2017-12-19 2018-09-25 用于传输数据的装置、系统和方法 Active CN111149365B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/847,734 2017-12-19
US15/847,734 US20190191191A1 (en) 2017-12-19 2017-12-19 Hybrid techniques for content distribution with edge devices
PCT/US2018/052718 WO2019125570A1 (en) 2017-12-19 2018-09-25 Hybrid techniques for content distribution with edge devices

Publications (2)

Publication Number Publication Date
CN111149365A true CN111149365A (zh) 2020-05-12
CN111149365B CN111149365B (zh) 2021-12-28

Family

ID=66816565

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880062937.8A Active CN111149365B (zh) 2017-12-19 2018-09-25 用于传输数据的装置、系统和方法

Country Status (3)

Country Link
US (1) US20190191191A1 (zh)
CN (1) CN111149365B (zh)
WO (1) WO2019125570A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11140139B2 (en) * 2018-11-21 2021-10-05 Microsoft Technology Licensing, Llc Adaptive decoder selection for cryptographic key generation

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1324851C (zh) * 2002-06-11 2007-07-04 汤姆森许可贸易公司 适用于动态网络丢失条件的数据通信方法
US20090046650A1 (en) * 2007-08-14 2009-02-19 Nokia Corporation Resource scheduling enabling partially-constrained retransmission
US20100095184A1 (en) * 2008-10-15 2010-04-15 Patentvc Ltd. Obtaining Erasure-Coded Fragments Using Push and Pull Protocols
CN102123299A (zh) * 2011-01-11 2011-07-13 中国联合网络通信集团有限公司 可伸缩视频的播放方法和播放装置
CN102316360A (zh) * 2010-07-09 2012-01-11 华为终端有限公司 视频刷新方法、装置及系统
CN102811349A (zh) * 2012-07-20 2012-12-05 西安电子科技大学 可自动调节冗余的无反馈多描述分布式视频编解码器
CN103107863A (zh) * 2013-01-22 2013-05-15 深圳广晟信源技术有限公司 一种分段平均码率的数字音频信源编码方法及装置
KR101307733B1 (ko) * 2012-03-02 2013-09-11 인하대학교 산학협력단 블록 레이어 기반의 비 이진 qc-ldpc 부호의 복호 장치 및 그 방법
WO2014142464A1 (en) * 2013-03-13 2014-09-18 Lg Electronics Inc. Method for transmitting and receiving information for interference cancellation, and apparatus therefor
US20140303762A1 (en) * 2013-04-05 2014-10-09 Dts, Inc. Layered audio reconstruction system
CN104813667A (zh) * 2012-11-15 2015-07-29 联发科技股份有限公司 具有自适应变换和多帧间层运动候选的帧间层纹理编码

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8169916B1 (en) * 2007-11-23 2012-05-01 Media Melon, Inc. Multi-platform video delivery configuration
US8805110B2 (en) * 2008-08-19 2014-08-12 Digimarc Corporation Methods and systems for content processing
US8863204B2 (en) * 2010-12-20 2014-10-14 Comcast Cable Communications, Llc Cache management in a video content distribution network
EP3410715A1 (en) * 2013-04-05 2018-12-05 Vid Scale, Inc. Inter-layer reference picture enhancement for multiple layer video coding
US20170149860A1 (en) * 2014-10-19 2017-05-25 Tensera Networks Ltd. Partial prefetching of indexed content

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1324851C (zh) * 2002-06-11 2007-07-04 汤姆森许可贸易公司 适用于动态网络丢失条件的数据通信方法
US20090046650A1 (en) * 2007-08-14 2009-02-19 Nokia Corporation Resource scheduling enabling partially-constrained retransmission
US20100095184A1 (en) * 2008-10-15 2010-04-15 Patentvc Ltd. Obtaining Erasure-Coded Fragments Using Push and Pull Protocols
CN102316360A (zh) * 2010-07-09 2012-01-11 华为终端有限公司 视频刷新方法、装置及系统
CN102123299A (zh) * 2011-01-11 2011-07-13 中国联合网络通信集团有限公司 可伸缩视频的播放方法和播放装置
KR101307733B1 (ko) * 2012-03-02 2013-09-11 인하대학교 산학협력단 블록 레이어 기반의 비 이진 qc-ldpc 부호의 복호 장치 및 그 방법
CN102811349A (zh) * 2012-07-20 2012-12-05 西安电子科技大学 可自动调节冗余的无反馈多描述分布式视频编解码器
CN104813667A (zh) * 2012-11-15 2015-07-29 联发科技股份有限公司 具有自适应变换和多帧间层运动候选的帧间层纹理编码
CN103107863A (zh) * 2013-01-22 2013-05-15 深圳广晟信源技术有限公司 一种分段平均码率的数字音频信源编码方法及装置
WO2014142464A1 (en) * 2013-03-13 2014-09-18 Lg Electronics Inc. Method for transmitting and receiving information for interference cancellation, and apparatus therefor
US20140303762A1 (en) * 2013-04-05 2014-10-09 Dts, Inc. Layered audio reconstruction system

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
CHUNG-HSUAN WANG;JOHN K.ZAO;HSING-MIN CHEN: "《A Rateless UEP Convolutional Code for Robust SVC/MGS Wireless Broadcasting》", 《2011 IEEE INTERNATIONAL SYMPOSIUM ON MULTIMEDIA》 *
刘飞: "《图像编码传输中的错误隐藏技术研究》", 《中国优秀硕士学位论文全文数据库》 *
张珍明: "《无线视频传输关键技术研究》", 《中国优秀硕士学位论文全文数据库》 *

Also Published As

Publication number Publication date
CN111149365B (zh) 2021-12-28
US20190191191A1 (en) 2019-06-20
WO2019125570A1 (en) 2019-06-27

Similar Documents

Publication Publication Date Title
KR101896048B1 (ko) 분산된 보안 데이터 저장 및 스트리밍 매체 콘텐트의 전송
KR101432314B1 (ko) 분산형 네트워크에 저장될 파일들을 인코딩하기 위한 컴퓨터 구현 프로세스 및 이를 실행하기 위한 컴퓨터 판독 가능 매체, 피어 투 피어 네트워크의 저장 신뢰도 및 효율성을 향상시키기 위한 시스템, 및 분산형 네트워크에 저장된 인코딩된 파일을 디코딩하기 위한 컴퓨터 구현 프로세스
US8473677B2 (en) Distributed storage network memory access based on memory state
US20190171519A1 (en) Storing data and associated metadata in a dispersed storage network
US20170091032A1 (en) Generating additional slices based on data access frequency
US11178226B2 (en) Integrated erasure coding for data storage and transmission
US20170168717A1 (en) Dispersed storage network (dsn) and system with improved security
US11922015B2 (en) Generating recovered data in a storage network
JP2013521555A (ja) 分散型の記憶および通信
CN111149365B (zh) 用于传输数据的装置、系统和方法
US10769016B2 (en) Storing a plurality of correlated data in a dispersed storage network
US10956091B2 (en) Expanding a dispersed storage network (DSN)
US20180373463A1 (en) Assigning prioritized rebuild resources optimally
Zhang et al. BEC: A reliable and efficient mechanism for cloud storage service
Corena et al. Load balancing regenerating codes for multimedia content streaming

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
GR01 Patent grant
GR01 Patent grant