CN102523250B - 内容分发系统 - Google Patents
内容分发系统 Download PDFInfo
- Publication number
- CN102523250B CN102523250B CN201110379534.6A CN201110379534A CN102523250B CN 102523250 B CN102523250 B CN 102523250B CN 201110379534 A CN201110379534 A CN 201110379534A CN 102523250 B CN102523250 B CN 102523250B
- Authority
- CN
- China
- Prior art keywords
- content
- content item
- item
- grid
- network grid
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1074—Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
- H04L67/1078—Resource delivery mechanisms
- H04L67/108—Resource delivery mechanisms characterised by resources being split in blocks or fragments
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1087—Peer-to-peer [P2P] networks using cross-functional networking aspects
- H04L67/1091—Interfacing with client-server systems or between P2P systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W76/00—Connection management
- H04W76/10—Connection setup
- H04W76/11—Allocation or use of connection identifiers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W84/00—Network topologies
- H04W84/18—Self-organising networks, e.g. ad-hoc networks or sensor networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明涉及内容分发系统。此处公开了用于传递数字内容(50)的系统和方法。该系统通过识别与数字内容(50)相关联的标识符(54)来方便将数字内容(50)从一个或多个源(44、32)传送到消费者。
Description
技术领域
本发明涉及内容分发,尤其涉及通过网络的数字内容分发。
背景技术
随着消费者对数字内容的需求的增加,数字内容提供者努力满足该需求。一种用于满足该需求的方法包括增加内容提供者的网络带宽以便直接处理更多的内容传递。然而,这一带宽对于数字内容提供者而言是昂贵的。
发明内容
此处公开了一种用于传递数字内容的系统和附随方法。所述系统和方法减少源处的带宽需求并且方便将数字内容从一个或多个源传送到消费者。例如,数字内容包括准许即使在被分发给不止一个源时也可识别该数字内容的标识符。由此,消费者能够搜索并获得或使用数字内容。
提供本发明内容以便以简化形式介绍将在以下具体实施方式中进一步描述的一些概念。本发明内容并不旨在标识出所要求保护的主题的关键或必要特征,也不旨在用于限定所要求保护的主题的范围。此外,所要求保护的主题不限于解决在本发明的任一部分中提及的任何或所有缺点的实现。
附图说明
图1示意性地示出了示例内容分发系统。
图2示意性地示出了可由图1的内容分发系统分发的示例内容项。
图3示出了下载内容项的示例场景。
图4示出了下载内容项的另一示例场景。
图5示出了下载内容项的又一示例场景。
图6示出了用于下载内容项的示例方法。
图7示意性地示出了根据本发明的各实施方式的计算系统。
具体实施方式
以下公开涉及用于经由诸如因特网等网络向内容消费者传递数字内容项的内容分发系统。能够传递实际上任何类型的数字内容,包括但不限于视频、音频、游戏、应用程序和文档。如下文中详细描述的,内容分发系统被配置成使得对等内容消费者能够在可经由对等网络获得所需内容的情况下使用对等共享来从另一对等内容消费者下载数字内容。如果无法经由对等网络获得内容,则内容消费者可以自动从源服务器中检索内容。一旦以此方式从源服务器获得内容,然后就可经由对等网络获得该内容,以使得其他对等体能够在不去往源服务器的情况下下载该数字内容。内容分发系统因此可允许对等体除了与其他对等体交互之外与不止一个内容源服务器交互。该系统可被配置成支持不止一个内容项传递协议。以此方式,能够广泛地分发内容并且能够减少源服务器处的带宽需求。
图1示意性地示出了内容分发系统10,包括内容创建服务22、一个或多个不同的内容源服务32(例如,内容源服务32A、内容源服务32B和内容源服务32C)以及包括一个或多个对等设备44的网络网格42。在一些实施方式中,内容分发系统还可包括网络网格测绘服务器46和/或网格参与服务器48。
内容创建服务22被配置成创建内容项50并且将内容项50分发给一个或多个不同的内容源服务32,该一个或多个不同的内容源服务32进而可将内容项50分发给一个或多个对等设备44。一旦内容项50被分发给对等设备44,该内容项50就可以在各个对等设备44之间进行对等分发。以此方式,内容项50可被下载至许多不同的对等设备,而不加重内容创建服务22和/或内容源服务32的带宽负担。
希望通过内容分发系统10接收内容项50的消费者可获得内容项50。内容项50可包括视频、音频、游戏、应用程序、文档或实际上任何其他数字内容。内容项50包括内容数据52以及可由内容创建服务22分配的唯一内容标识符54。一旦创建内容项50,该内容项50就可供分发并且每一个内容项50包括内容数据52和唯一内容标识符54。
内容数据52用作内容项50的数字净荷。作为非限制性示例,内容数据52可包括音频数据、视频数据、应用程序数据、游戏数据、窗口小部件数据和/或其他数字净荷。内容数据可具有任何合适的格式。作为非限制性示例,包括音频组件的内容项50可包括被格式化为mp3、mp4、wav或aiff文件的数据。在一些实施方式中,内容数据52可包括多媒体容器。
唯一内容标识符54用作可用来将一个内容项与其他内容项区分开来的标识符。唯一内容标识符54可由内容创建服务22按照内容项50的概念来分配给内容项50,由此创建内容项50的虚拟指纹。唯一内容标识符54是永久标识,保持不变而不管哪一个内容源服务32从内容创建服务22获得内容项50。在另一示例中,唯一内容标识符54可以分配到内容创建服务22的上游或下游。例如,唯一内容标识符54可由内容源服务器32来分配。如果两个内容项包括不同的内容数据,则这两个内容项将具有不同的唯一内容标识符。同样,如果两个内容项包括相同的内容数据,则这两个内容项将具有相同的唯一内容标识符。例如,内容项50可由不止一个视频点播提供者(例如,内容源服务器32)来编码,但如果内容数据相同,则内容项将具有相同的唯一内容标识符。
唯一内容标识符54可以是全局唯一标识(GUID),或者任何其他基于数字、字母、符号字符和/或至少在一组给定对等体的范围内唯一的其他数据可表示标识。作为示例,唯一内容标识符54可具有128位或更大的随机生成的数字的形式。在一些实施方式中,例如在有限对等网格中,64位或更小的标识符可以是足够的。在一些实施方式中,唯一内容标识符54可以被表达为十六进制字符串并且可以是三十二个字符或更长。随机生成的数字可以按产生唯一标识符的任何合适的方式生成。作为一个非限制性示例,自数字生成时间以来的协调世界时间戳(UTC)可形成随机生成的数字的基础,并且该时间戳可由使用随机数算法的随机ID(UTC+ID)来扩充。或者,唯一内容标识符54可以从先前未使用的标识符的列表中获得。在这些情况下,可使用网络可访问服务来维护先前未使用的标识符的列表。
一个或多个内容源服务32可以从内容创建服务22获得内容项50。内容源服务32可以是数字内容消费者可经由网络62来获得的几乎任何内容项提供者。此外,内容源服务32可以是获取占有和/或使用内容项50的合法权利以及分发或与数字内容消费者共享内容项50的合法权利的几乎任何提供者。内容源服务32被配置成将内容项50分发给经由网络62参与网络网格42的对等设备44。例如,网络62可包括因特网、内联网或几乎任何其他数字社区基础结构。
对等设备44可包括个人计算机、个人数字助理(PDA)、媒体回放设备、移动电话或被配置成从内容源服务32和/或从另一对等设备44接收内容项50的几乎任何其他设备。如下文中更详细地描述的,每一个对等设备44都可采取包括逻辑子系统和/或数据保存子系统的计算设备的形式。数据保存子系统可在操作上连接到逻辑子系统并且可保存可由逻辑子系统执行以发送询问内容项50的可用性的消息的指令。数据保存子系统指令可任选地是每一个对等设备44的操作系统的组件。
对等设备44可包括可支持不止一个内容项传递协议的软件。例如,诸如HTTP、UDP和SSTP等传递协议可被包括在软件包中并且作为非限制性示例来提供。由此,单个内容片段可从每一个对等体使用不同协议的多个对等体被传递至客户机器。此外,软件包可使得对等设备能够经由一种传递协议下载内容项并且经由另一种传递协议发送内容项。例如,第一对等设备可以经由HTTP协议下载内容项,而第二对等设备可经由UDP协议从第一对等设备下载内容项。
网络网格42包括两个或更多对等设备44。网络网格被配置成使得对等体能够经由广播消息彼此查询并且获得可以本地高速缓存的状态响应。来自网格中的每一个对等体的状态响应可被保存直到该状态响应被更新或新查询产生不同的状态响应。以此方式,网络网格中的每一个对等体都可动态监视网络网格。
可以理解,可以存在一个或多个网络网格。此外,在一些情况下,对等体设备可以是不止一个网络网格中的参与者。网络网格42可任选地由网格参与服务器48和网络网格测绘服务器46来组织并且还可包括这两个服务器。当包括时,网格参与服务器48可被配置成将新参与者(例如,对等设备)定向到网络网格42。网格参与服务器48可响应于新参与者作出的对内容项50的请求来将该新参与者定向到特定网络网格42。由此,每一个网络网格42可以与网格测绘服务器46相关联,网格参与服务器48可咨询网格测绘服务器46以便向特定网络网格标识新参与者。
当包括时,网格测绘服务器46可被配置成维护在网络网格42内的两个或更多对等设备44中的每一个上可用的内容项50的目录,例如网格地图86。网格地图86可由数字内容消费者用对等设备44来查询,以使得数字内容消费者可搜索特定内容项50并且检查该特定内容项50在网络网格42中的可用性。数字内容消费者可通过特定的唯一内容标识符54来标识特定内容项50。此外,网格地图86可以在每一次网络网格42内的对等设备44获得新内容项50时更新。网格地图86可以自动更新,和/或网格地图86可响应于来自数字内容消费者的命令而更新。
在一些实施方式中,对等设备44可用作网格参与服务器48和/或网络测绘服务器46。
当特定内容项50或其一部分被标识为在网络网格42中的对等设备上可用时,对等设备44可下载特定内容项50。当所需内容项50或其一部分在网络网格42中不可用时,对等设备44可以从一个或多个内容源服务32下载所需内容项50。
内容项50可以从一个或多个对等设备44和/或一个或多个内容源服务32下载。例如,内容项50的不同部分可以从不同的对等设备44和/或内容源服务32下载,其中两个或更多部分构成整个内容项50。通过将内容项50作为各部分来下载,可以减少源服务器带宽和/或可以减少获得内容项50的下载时间,而不是从一个源(对等设备或内容源服务)下载在内容项50而不将内容项50分成各部分。另外,每一个对等设备44可以配置有防止对等设备经由网络网格42共享未授权内容的内容限制特征。换言之,对等设备可被配置成确保在网络网格42内可用的内容项50源自内容创建服务22。此外,在网络网格42内可用的内容项50可通过一个或多个数字权限管理解决方案来保护。
图2示意性地示出了内容项50。内容项50包括内容数据52和唯一内容标识符54。如上所述,内容数据52可包括净荷并且唯一内容标识符54可用作准确地标识净荷的指示符。
在某些情况下,内容数据52可包括两个或更多可分开部分。在所描绘的示例中,内容数据52包括部分50a-50f。每一部分可任选地与内容标识符54包装在一起,该内容标识符可任选地包括进一步标识该特定部分的标识符(例如,内容标识符54a-54f),作为对标识作为整体的净荷的标识符的补充。作为另一示例,每一部分可具有单独的唯一标识符。
内容项50的部分50a-50f中的任一个或全部可供下载到参与网络网格42的一个或多个对等设备44和/或部分50a-50f可供从一个或多个内容源服务32下载到一个或多个对等设备44。换言之,在下载特定内容项时,对等设备可以从不同的实体接收内容项的不同部分。内容项50可作为单独的部分50a-50f来并行和/或串行下载。部分50a-50f共同构成内容数据52并且在下载期间和/或在下载后重新组装。虽然在所示示例中使用六个部分,但可以理解,内容数据可根据各种不同的约束被解析成任何数量的部分。在一些示例中,每一个部分都可具有相同大小,而在其他示例中,一些部分可具有与其他部分不同的大小。在任一种情况下,每一部分都可以与自己报告该部分的大小的自标识元素包装在一起。在一些实施方式中,这一自标识元素可任选地被结合到内容标识符中。
内容项50可以是归档的数字文件或诸如实况数字流等实时文件。换言之,内容项可以在下载开始之前完成(例如,重放的电视节目),或者内容项可以在下载的同时进行(例如,实况电视节目)。在诸如实况数字文件等实时文件的情况下,正在下载的对等设备可建立冗余下载伙伴,以使得如果来自一个伙伴的下载中断,则该中断可通过从冗余伙伴下载被中断的内容来补偿。以此方式,对实况数字文件的呈现无需由于来自单个下载伙伴的中断而被延迟。可以理解,多个对等设备44和/或多个内容源服务32可方便分发实况数字流。
获得内容项50的示例场景通过更详细地参考图3、4、5和6来讨论。图3是示出其中内容项50可供在网络网格42中下载的示例场景的示意图。在图3中,对等设备44A向网络网格测绘服务器46的网格地图86查询具有特定唯一内容标识符54的所需内容项50。网络网格测绘服务器46通过向对等设备44A发送所需内容项50的位置来响应查询。具体而言,所需内容项50被存储在对等设备44B的存储设备中。对等设备44A请求从对等设备44B下载内容项50。响应于接收到该请求,对等设备44B向对等设备44A发送内容项50。虽然该示例描述从一个对等设备44B下载内容项50,但可以理解,内容项50可以从网络网格42中的不止一个对等设备下载,另外如上所述,内容项50可以作为一个或多个部分来下载。
在图4中,对等设备44A向网络网格映射服务器46的网格地图86查询具有特定唯一内容标识符54的所需内容项50。网络网格测绘服务器46通过向对等设备44A发送所需内容项50在网络网格42中不可用的消息来响应查询。在获悉内容项50在网络网格42中不可用之后,对等设备44A发送从内容源服务32A下载所需内容项50的请求。响应于接收到该请求,内容源服务32A向网络网格42中的对等设备44A发送内容项50。虽然该示例描述从一个内容源服务32A下载内容项50,但可以理解,内容项50可以从不止一个内容源服务32A下载,另外如上所述,内容项50可以作为一个或多个部分来下载。
图5是示出其中内容项50可供在网络网格42中从不止一个对等设备下载并且还可供从不止一个内容源服务下载的示例场景的另一示意图。为了示出该场景,图5通过用箭头表示下载路径并且不显示请求路径来以简化形式示出。在该示例中,对等设备44A可将内容项50作为各部分来接收,其中内容项50的不同部分可以从对等设备44B、对等设备44C、内容源服务32A和内容源服务32B下载。此外,对等设备44B和对等设备44C从内容源服务32A和内容源服务32B下载两者下载内容项50。虽然该示例描述从两个对等设备和两个内容源服务下载内容项50,但可以理解,内容项50可以从网络网格42中的不止两个对等设备和/或不止两个内容源服务下载。同样,内容项50可作为内容项50的一个或多个部分从更少的对等设备和/或更少的内容源服务下载。
图6示出了用于获得所需内容项的示例方法。作为一个示例,该方法可由图1的对等设备44来执行。在610,该方法包括向网络网格的网格地图查询所需内容项。
在612,该方法包括确定网络网格是否包含整个所需内容项。如果确定网络网格包含整个所需内容项,则该方法移至614。否则,该方法移至616。
在614,该方法包括从一个或多个对等设备下载或接收所需内容项。
在616,该方法包括确定网络网格是否包含所需内容项的至少一部分。如果确定网络网格包含至少一部分,则该方法移至618。否则,该方法移至622。
在618,该方法包括从网络网格中的一个或多个对等设备下载所需内容项的至少一部分。该方法然后移至620并且包括从一个或多个内容源服务下载所需内容项的其他部分。在一些实施方式中,下载约束可被实现以改善启动响应和/或减少回放延迟。例如,约束可用于确保各内容部分循序和/或在需要时下载。例如,如果只有文件的后一半在网格中可用,则可以延迟回放以便在从内容源服务获取该文件的前一半之前获取该文件的后一半。由此,在一些实施方式中,步骤618和620可以并行或相反次序执行。
在622,该方法包括从一个或多个内容源服务下载所需内容项。
通过从网络网格中的一个或多个对等设备下载所需内容项的一部分或全部,在各对等设备之间分发带宽,而不是将数字内容共享的整个负担压在内容源服务上。
在某些实施例中,以上所描述的方法和过程可与包括一个或多个计算机的计算系统关联。特别是,此处描述的方法和过程可被实现为计算机应用、计算机服务、计算机API、计算机库和/或其他计算机程序产品。这些分发和过程可由一个或多个计算系统执行,这些计算系统被配置成用作以上介绍的设备、服务和/或服务器中的一个(例如,对等设备44、内容源服务32、内容创建服务22、网络网格测绘服务器46和网格参与服务器48)。
图7示意性示出了可以执行上述方法和过程之中的一个或更多个的非限制性计算系统700。以简化形式示出了计算系统700。应当理解,可使用基本上任何计算机架构而不背离本公开的范围。在不同的实施例中,计算设备700可以采取大型计算机、服务器计算机、台式计算机、膝上型计算机、平板计算机、家庭娱乐计算机、网络计算设备、移动计算设备、移动通信设备、游戏设备等等的形式。此外,如上所述,对等设备44、内容源服务32、内容创建服务22、网络网格测绘服务器46和网格参与服务器48中的任一个可根据计算系统700的描述来配置。
计算系统700包括逻辑子系统702和数据保存子系统704。计算系统700可以任选地包括显示子系统706、通信子系统708和/或在图7中未示出的其他组件。计算系统700还可以任选地包括诸如下列用户输入设备:例如键盘、鼠标、游戏控制器、相机、话筒和/或触摸屏等等。
逻辑子系统702可包括被配置为执行一个或多个指令的一个或更多个物理设备。例如,逻辑子系统可被配置为执行一个或多个指令,该一个或多个指令是一个或多个应用程序、服务、程序、例程、库、对象、组件、数据结构、或其它逻辑构造的部分。可以实现这样的指令以执行任务、实现数据类型、变换一个或更多个设备的状态或以其他方式得到所需结果。
逻辑子系统702可以包括被配置为执行软件指令的一个或多个处理器。另外地或另选地,该逻辑子系统可包括被配置成执行硬件或固件指令的一个或更多个硬件或固件逻辑机器。逻辑子系统的处理器可以是单核或多核,且在其上执行的程序可被配置为并行或分布式处理。逻辑子系统可以任选地包括遍布两个或多个设备的独立组件,所述设备可远程放置和/或被配置为进行协同处理。该逻辑子系统的一个或多个方面可被虚拟化并由以云计算配置进行配置的可远程访问的联网计算设备执行。
数据保存子系统704可包括一个或更多个物理、非瞬时设备,这些设备被配置成保存数据和/或可由该逻辑子系统执行的指令,以实现此处描述的方法和过程。在实现这样的方法和过程时,可以变换数据保存子系统704的状态(例如,以保存不同数据)。
数据保存子系统704可以包括可移动介质和/或内置设备。数据保存子系统704尤其是可以包括光学存储器设备(例如,CD、DVD、HD-DVD、蓝光盘等)、半导体存储器设备(例如,RAM、EPROM、EEPROM等)和/或磁存储器设备(例如,硬盘驱动器、软盘驱动器、磁带驱动器、MRAM等)。数据保存子系统704可以包括具有以下特性中的一个或更多个特性的设备:易失性、非易失性、动态、静态、读/写、只读、随机存取、顺序存取、位置可寻址、文件可寻址、以及内容可寻址。在某些实施例中,可以将逻辑子系统702和数据保存子系统704集成到一个或更多个常见设备中,如专用集成电路或片上系统。
图7还示出以可移动计算机可读存储介质710形式的数据保存子系统的一方面,该可移动计算机可读存储介质710可用于存储和/或传输可执行以实现此处所述的方法和过程的数据和/或指令。可移动计算机可读存储介质710尤其是可以采取CD、DVD、HD-DVD、蓝光盘、EEPROM和/或软盘形式。
术语“模块”、“程序”和“引擎”可用于描述被实现以执行一个或更多个具体功能的计算系统700的一方面。在某些情况下,可以通过执行由数据保存子系统704所保存的指令的逻辑子系统702来实例化这样的模块、程序或引擎。应当理解,可以从同一应用、服务、代码块、对象、库、例程、API、函数等来实例化不同的模块、程序和/或引擎。同样,可以由不同的应用、服务、代码块、对象、例程、API、函数等来实例化同一模块、程序和/或引擎。术语“模块”、“程序”和“引擎”意在涵盖单个或成组的可执行文件、数据文件、库、驱动程序、脚本、数据库纪录等。
应当理解,如此处所使用的“服务”可以是跨越多个用户会话可执行的、而且对一个或更多系统组件、程序和/或其他服务可用的应用程序。在一些实现中,服务可以响应于来自客户端的请求而在服务器上运行。
当被包括时,显示子系统706可用于呈现由数据保存子系统704所保存的数据的可视表示。由于此处所描述的方法和过程改变由数据保存子系统保存的数据,并由此变换数据保存子系统的状态,因此同样可以变换显示子系统706的状态以在视觉上表示底层数据的改变。显示子系统706可以包括使用实际上任何类型的技术的一个或多个显示设备。可将此类显示设备与逻辑子系统702和/或数据保存子系统704一起组合在共享封装中,或此类显示设备可以是外围显示设备。
当被包括在内时,通信子系统708可以被配置成将计算系统700与一个或多个其他计算设备可通信地耦合。通信子系统708可包括与一个或多个不同的通信协议相兼容的有线和/或无线通信设备。作为非限制性示例,该通信子系统可以被配置成经由无线电话网、无线局域网、有线局域网、无线广域网、有线广域网等进行通信。在一些实施例中,该通信子系统可允许计算系统700经由网络(比如因特网)向其他设备发送消息和/或从其他设备接收消息。
应该理解,此处所述的配置和/或方法在本质上是示例性的,且这些具体实施例或示例不是局限性的,因为多个变体是可能。此处所述的具体例程或方法可表示任何数量的处理策略中的一个或更多个。由此,所示出的各个动作可以按所示顺序执行、按其他顺序执行、并行地执行、或者在某些情况下省略。同样,可以改变上述过程的次序。
本发明的主题包括各种过程、系统和配置的所有新颖和非显而易见的组合和子组合、和此处所公开的其他特征、功能、动作、和/或特性、以及其任何和全部等效物。
Claims (10)
1.一种内容分发系统(10),包括:
被配置成创建内容项(50)的内容创建服务(22),所述内容项(50)包括内容数据(52)和将所述内容项(50)与具有不同内容数据的任何内容项区分开来的唯一内容标识符(54);
两个或更多不同的内容源服务(32),其被配置成分发由所述内容创建服务(32)创建的所述内容项(50);以及
参与网络网格(42)的两个或更多对等设备(44),每一个对等设备(44)被配置成在具有特定唯一内容标识符的所需内容项的各部分(50a-50f)可供从一个或多个其他对等设备传送的情况下从所述一个或多个其他对等设备下载所述所需内容项的那些部分,并且每一个对等设备(44)被配置成在从所述两个或更多不同的内容源服务(32)中的一个或多个下载所述所需内容项的至少一部分之前,确定所述所需内容项的至少一部分是否在所述网络网格中是不可用的,并且在所述所需内容项的至少一部分在所述网络网格中是不可用的情况下从所述两个或更多不同的内容源服务(32)中的一个或多个下载所述所需内容项的那些不可用部分。
2.如权利要求1所述的内容分发系统,其特征在于,所述内容创建服务被配置成创建具有唯一内容标识符的内容项,所述唯一内容标识符具有128位或更长的随机生成的数字的形式。
3.如权利要求1所述的内容分发系统,其特征在于,所述内容创建服务被配置成创建具有唯一内容标识符的内容项,所述唯一内容标识符被表达成十六进制字符串32个字符或更长。
4.如权利要求1所述的内容分发系统,其特征在于,还包括被配置成维护在所述两个或更多对等设备中的每一个上可用的内容项的目录的网络网格测绘服务器。
5.如权利要求1所述的内容分发系统,其特征在于,还包括被配置成响应于对内容项的请求将新参与者定向到所述网络网格的网格参与服务器。
6.一种通过参与网络网格的计算设备来下载内容的方法,所述方法包括:
如果具有特定唯一内容标识符的所需内容项的各部分可供从参与所述网络网格的一个或多个对等设备传送,则从可从其获取所述所需内容项的那些部分的所述对等设备中的一个或多个下载(614)所述所需内容项的那些可用部分;以及
在从一个或多个内容源服务下载所述所需内容项的至少一部分之前,确定所述所需内容项的所述至少一部分是否在所述网络网格中是不可用的,并且在所述所需内容项的所述至少一部分在所述网络网格中是不可用的情况下从所述一个或多个内容源服务下载(622)所述所需内容项的那些不可用部分。
7.如权利要求6所述的方法,其特征在于,所述特定唯一内容标识符将所述所需内容项与具有与所述所需内容项不同的内容数据的内容项区分开来,并且所述特定唯一内容标识符是相同的而不管所述所需内容项所源自的内容源服务。
8.如权利要求7所述的方法,其特征在于,从一个或多个内容源服务下载所述所需内容项的不可用部分包括从两个或更多不同的内容源服务下载所述所需内容项的不同部分。
9.如权利要求7所述的方法,其特征在于,还包括查询网格地图以确定所述所需内容项是否可供传送。
10.如权利要求7所述的方法,其特征在于,还包括:
查询参与所述网络网格的各个对等设备以确定所述所需内容项是否可供传送;以及
响应于所述所需内容项的各部分不可供从一个或多个对等设备传送的初始指示来请求参与所述网络网格的各个对等设备更新网格地图。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/941,712 US9444876B2 (en) | 2010-11-08 | 2010-11-08 | Content distribution system |
US12/941,712 | 2010-11-08 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102523250A CN102523250A (zh) | 2012-06-27 |
CN102523250B true CN102523250B (zh) | 2015-06-17 |
Family
ID=46020666
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110379534.6A Active CN102523250B (zh) | 2010-11-08 | 2011-11-07 | 内容分发系统 |
Country Status (2)
Country | Link |
---|---|
US (2) | US9444876B2 (zh) |
CN (1) | CN102523250B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8458802B2 (en) * | 2011-04-02 | 2013-06-04 | Intel Corporation | Method and device for managing digital usage rights of documents |
US9727321B2 (en) | 2012-10-11 | 2017-08-08 | Netflix, Inc. | System and method for managing playback of streaming digital content |
US9565475B2 (en) | 2012-10-11 | 2017-02-07 | Netflix, Inc. | System and method for managing playback of streaming digital content |
US20140173070A1 (en) * | 2012-12-13 | 2014-06-19 | Microsoft Corporation | Updating of digital content buffering order |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101023627A (zh) * | 2004-08-19 | 2007-08-22 | 诺基亚公司 | 为控制网络上多媒体数据的部署而对目录服务器数据进行高速缓存 |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU7611300A (en) | 1999-11-23 | 2001-06-04 | Microsoft Corporation | Content-specific filename systems |
US20030158958A1 (en) * | 2002-02-20 | 2003-08-21 | Koninklijke Philips Electronics N.V. | Distributed storage network architecture using user devices |
US7133905B2 (en) | 2002-04-09 | 2006-11-07 | Akamai Technologies, Inc. | Method and system for tiered distribution in a content delivery network |
US20030204602A1 (en) * | 2002-04-26 | 2003-10-30 | Hudson Michael D. | Mediated multi-source peer content delivery network architecture |
US7593333B2 (en) | 2004-07-07 | 2009-09-22 | Microsoft Corporation | Efficient one-to-many content distribution in a peer-to-peer computer network |
US20070220417A1 (en) * | 2006-03-17 | 2007-09-20 | Sonolink Communications Systems, Llc | System and method for editing online documents |
US7908389B2 (en) * | 2006-06-20 | 2011-03-15 | Patentvc Ltd. | Methods and systems for retrieving fragments from peer clients and servers |
US8064894B1 (en) * | 2006-08-07 | 2011-11-22 | Aol Inc. | Exchanging digital content |
WO2008057653A2 (en) | 2006-09-06 | 2008-05-15 | Akamai Technologies, Inc. | Hybrid content delivery network (cdn) and peer-to-peer (p2p) network |
US9210085B2 (en) | 2006-10-05 | 2015-12-08 | Bittorrent, Inc. | Peer-to-peer streaming of non-live content |
US20090282105A1 (en) | 2006-11-09 | 2009-11-12 | Nec Corporation | P2p data delivery system, p2p data delivery method and p2p data delivery program |
US7733808B2 (en) | 2006-11-10 | 2010-06-08 | Microsoft Corporation | Peer-to-peer aided live video sharing system |
WO2008064356A1 (en) | 2006-11-22 | 2008-05-29 | Metis Enterprise Technologies Llc | Real-time multicast peer-to-peer video streaming platform |
WO2008098066A2 (en) * | 2007-02-06 | 2008-08-14 | Entropic Communications Inc. | A layer-2 management entity messaging framework in a network |
CN101715650B (zh) * | 2007-06-28 | 2012-03-21 | 纽约市哥伦比亚大学信托人 | 机顶盒对等端辅助的视频点播 |
US8307024B2 (en) * | 2007-07-20 | 2012-11-06 | Hewlett-Packard Development Company, L.P. | Assisted peer-to-peer media streaming |
US8214427B2 (en) * | 2008-05-20 | 2012-07-03 | Thompson Licensing | System and method for distributing a map of content available at multiple receivers |
EP2294820A1 (en) * | 2008-05-28 | 2011-03-16 | Thomson Licensing | Multi-head hierarchically clustered peer-to-peer live streaming system |
US7818441B2 (en) * | 2008-10-15 | 2010-10-19 | Patentvc Ltd. | Methods and systems for using a distributed storage to its maximum bandwidth |
US8949915B2 (en) | 2008-10-20 | 2015-02-03 | At&T Intellectual Property Ii, Lp | System and method for delivery of Video-on-Demand |
GB2518542B (en) * | 2009-04-14 | 2015-07-08 | Skype | Transmitting and receiving data |
US8560604B2 (en) * | 2009-10-08 | 2013-10-15 | Hola Networks Ltd. | System and method for providing faster and more efficient data communication |
US20110225312A1 (en) * | 2010-03-10 | 2011-09-15 | Thomson Licensing | Unified cache and peer-to-peer method and apparatus for streaming media in wireless mesh networks |
US8595319B2 (en) * | 2010-10-13 | 2013-11-26 | Verizon Patent And Licensing Inc. | Home network video peer-to-peer for mobile devices |
-
2010
- 2010-11-08 US US12/941,712 patent/US9444876B2/en active Active
-
2011
- 2011-11-07 CN CN201110379534.6A patent/CN102523250B/zh active Active
-
2016
- 2016-09-07 US US15/258,735 patent/US9912746B2/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101023627A (zh) * | 2004-08-19 | 2007-08-22 | 诺基亚公司 | 为控制网络上多媒体数据的部署而对目录服务器数据进行高速缓存 |
Also Published As
Publication number | Publication date |
---|---|
US9444876B2 (en) | 2016-09-13 |
US20120117182A1 (en) | 2012-05-10 |
CN102523250A (zh) | 2012-06-27 |
US9912746B2 (en) | 2018-03-06 |
US20160381131A1 (en) | 2016-12-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200301887A1 (en) | Sync as a service for cloud-based applications | |
CN109522330B (zh) | 基于区块链的云平台数据处理方法、装置、设备及介质 | |
US10242100B2 (en) | Managing cached data in a network environment | |
US9491496B2 (en) | Systems and methods for delivering content to a media content access device | |
US20190246149A1 (en) | Protected multimedia content transport and playback system | |
CN111913738B (zh) | 访问请求的处理方法、装置、计算设备和介质 | |
CN102984194A (zh) | 虚拟应用程序分布机架的配置文件的同步 | |
US9165004B2 (en) | Associated content system | |
US20160381127A1 (en) | Systems and methods for dynamic networked peer-to-peer content distribution | |
US9794360B1 (en) | Estimating unique viewers of media content without cookies | |
CN102523250B (zh) | 内容分发系统 | |
US8260848B2 (en) | Re-headerer system and method | |
CN109565518A (zh) | 可互换的内容取回 | |
US20230205849A1 (en) | Digital and physical asset tracking and authentication via non-fungible tokens on a distributed ledger | |
US20090204664A1 (en) | Dynamic attachment of advertising to downloaded content | |
MX2014012335A (es) | Metodo y sistema para marcar e identificar de manera uniforme lugares de oportunidad de colocacion para facilitar decision de resolucion acelerada. | |
MX2014012332A (es) | Metodo para ingerir multiples señales de la misma relevancia. | |
WO2019194794A1 (en) | Social media content management | |
CN110895583B (zh) | 数据资源获取的方法、装置和系统 | |
CN110663038A (zh) | 内容管理的系统和方法 | |
CN111679853A (zh) | 开源软件的发布方法、装置、计算机设备及可读存储介质 | |
US20230388120A1 (en) | Client-Side Device Bloom Filter Mapping | |
CN111200743B (zh) | 媒体资源的播放方法和装置、存储介质及电子装置 | |
US9154548B2 (en) | Auditable distribution of a data file | |
US20180007130A1 (en) | Peer-to-Peer Assisted Personal Synchronization |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
ASS | Succession or assignment of patent right |
Owner name: MICROSOFT TECHNOLOGY LICENSING LLC Free format text: FORMER OWNER: MICROSOFT CORP. Effective date: 20150720 |
|
C41 | Transfer of patent application or patent right or utility model | ||
TR01 | Transfer of patent right |
Effective date of registration: 20150720 Address after: Washington State Patentee after: Micro soft technique license Co., Ltd Address before: Washington State Patentee before: Microsoft Corp. |