CN101861584B - 端到端的数据传送 - Google Patents

端到端的数据传送 Download PDF

Info

Publication number
CN101861584B
CN101861584B CN2008801147805A CN200880114780A CN101861584B CN 101861584 B CN101861584 B CN 101861584B CN 2008801147805 A CN2008801147805 A CN 2008801147805A CN 200880114780 A CN200880114780 A CN 200880114780A CN 101861584 B CN101861584 B CN 101861584B
Authority
CN
China
Prior art keywords
client
content
source
qualified
group
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.)
Expired - Fee Related
Application number
CN2008801147805A
Other languages
English (en)
Other versions
CN101861584A (zh
Inventor
M·M.·戈登
N·F.·拉契博尔斯基
M·D.·马达克斯
J·B.·科利
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.)
Edgio Inc
Original Assignee
Limelight Networks 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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=40589304&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=CN101861584(B) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Limelight Networks Inc filed Critical Limelight Networks Inc
Publication of CN101861584A publication Critical patent/CN101861584A/zh
Application granted granted Critical
Publication of CN101861584B publication Critical patent/CN101861584B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1025Dynamic adaptation of the criteria on which the server selection is based
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1038Load balancing arrangements to avoid a single path through a load balancer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1061Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
    • H04L67/1063Discovery through centralising entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1087Peer-to-peer [P2P] networks using cross-functional networking aspects
    • H04L67/1091Interfacing with client-server systems or between P2P systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/61Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources taking into account QoS or priority requirements

Abstract

公开了用于数据传送的方法、装置和系统。例如,来自在多层控制面中布置的多个实体的设置用于设置数据传送策略。这些策略用于控制诸如在终端用户之间或者从源端服务器进行的数据传送。

Description

端到端的数据传送
相关申请的交叉引用
本申请要求于2007年11月5日递交的、名称为“END TO END DATATRANSFER”、代理人卷号为No.040152-003700US的美国临时专利申请No.60/985,590的优先权,特此通过引用将该美国临时专利申请的全部内容并入本文以用于各种目的。
技术领域
本公开一般地涉及数据的网络传输,并且不以限制的方式涉及以独特的方式来传送内容。
背景技术
使用因特网的传统数据传输划分为两个大类,即传统源下载(origindownload)和终端用户始发下载。两者中的任一类型的下载可以用于诸如文件上传和下载或者流传输这样的内容传输。在传统的源下载中,中央服务器(诸如源端服务器)、传统的内容传输网络或者传统的高速缓存作为对于终端用户的内容来源。在用户始发下载中,一个终端用户作为另一个终端用户的内容来源。
在早期的用户始发下载系统(经常被称为第一代对等(P2P)内容传输系统)中,当单独的终端用户寻求找到从其对等者可获得的内容时,所述终端用户登录到中央索引服务器中。发出请求的终端用户查看中央索引服务器中的跟踪器功能,所述跟踪器功能充当从来源终端用户可获得的内容的文件目录。一旦识别出提供所请求的内容的来源终端用户,则直接在发出请求的终端用户和来源终端用户之间进行实际内容传送。
由于许多原因,用户始发下载是有争议的。有一种观念是,用户始发下载促进了盗版。另外,因特网服务提供商(ISP)不喜欢用户始发下载,因为其向ISP系统强加了高水平的资源利用,并且带来了与管理增大的数据流相关联的困难。尽管有这些问题,用户始发下载继续变得在终端用户之间更普及,从而支持诸如因特网电话、文件/流传送和因特网电视这样的应用。
许多ISP已经通过下述方式尝试重新获得对于它们的网络基础设施的资源利用的控制:试图识别和调节用户始发下载。一些已经借助于业务节流或者整形(shaping)以减慢或者消除资源使用。
但是,第二代用户始发下载系统(也称为分散式P2P系统)已经消除了对于中央服务器的需要。在这样的系统中,对等者向其他对等者发送搜索查询。如果对等者不能服务于请求,则它将所述查询转发到其他对等者,直到找到所请求的信息。当找到所述信息时,发起的对等者从具有所述信息的对等者直接地接收下载。使用这些和其他技术,由于没有中央索引服务器,所以第二代用户始发下载系统寻求通过阻止ISP检测P2P业务的能力来逃避网络限制。
第三代混合式用户始发系统(也被称为混合式P2P系统)在集中式目录结构和分布式结构之间操作。网络使用作为微型中央服务器的超节点来保持网络是分布式的,同时减少识别所请求的内容的拥有者所需要的时间。这些超节点通常不知道它们已经被选择来如此操作。通常,第三代用户始发下载系统也寻求通过阻止ISP检测P2P业务的能力来逃避网络限制。
存在一种长尾理论,其提出模糊内容是难以有效率地提供给终端用户的。高速缓存在提供常请求的项目上是有效率的,但是其很少存储模糊的内容。通常,模糊内容必定源自源端服务器(origin server)——如果仍然可以获得的话。在终端用户具有模糊内容的情况下,依赖于该用户的提供适用性,用户始发下载可以充当另一个终端用户的该内容的来源,而不用返回到源端服务器。这种类型的有效率的传送对于终端用户和ISP来说都是有益的。
发明内容
可以结合全局资源授权基础设施来实现用于使用到因特网服务提供商(ISP)的单个接口点来控制终端用户客户端的行为的数据传送系统和方法的实施例。这种基础设施可以用于建立广泛的分布式服务和应用,其中,使用设备的IP地址空间通过多层控制面可控制每个设备。
在一个实施例中,本公开提供了一种用于在客户端之间传送内容的方法。从第一实体接收用于指示第一组可能合格的来源的第一设置。从第二实体接收用于指示第二组可能合格的来源的第二设置。从客户端接收内容请求。确定基于所述第一设置和所述第二设置的策略。所述策略指示一组合格来源。这组合格来源是从所述第一组可能合格的来源和所述第二组可能合格的来源中提取的。确定所述一组合格来源中具有所述内容的子集。通常,所述子集包括一个或多个客户端站。向所述客户端发送对于所述子集的指示。在一些情况下,确定用于指示所述一组合格来源的策略包括:确定所述一组合格来源包括源端服务器。在其他情况下,接收内容请求包括:从客户端接收内容请求,所述请求指定源自源端服务器的内容。在其他情况下,所述第一设置的接收包括:接收用于指示所述第一组可能合格的来源所需要的最小可接受数据传输速率的设置。有时,所述第二设置的接收包括:从服务于客户端的因特网服务提供商(ISP)的部件接收所述第二设置。
在另一个实施例中,本公开提供了一种数据传送系统,其被配置来允许在终端用户设备之间进行内容下载。所述数据传送系统可以包括第一客户端,所述第一客户端与能够通过因特网来通信的第一设备相关联,并且被配置来提供第一设置,其中能够从所述第一设置中确定第一组可能合格的来源。所述数据传送系统还可以包括第二客户端,所述第二客户端与能够通过因特网来通信的第二设备相关联。所述系统可以具有网络实体,所述网络实体被配置来提供第二设置,从所述第二设置,可以确定第二组可能合格的来源。所述系统可以接收所述第一设置和所述第二设置以及来自所述第一客户端的内容请求。所述系统可以根据所述第一设置和所述第二设置来确定策略。所述策略允许确定一组合格的来源设备。所述系统还可以确定所述一组合格来源中具有所述内容的子集。有时,所述子集包括所述第二客户端。所述系统向第一客户端发送对于第二客户端的指示。所述第一设置有时指示所述第一组可能合格的来源所需要的最小可接受数据传输速率。所述网络实体可以是服务于所述第一客户端的因特网服务提供商(ISP)的部件。所述网络实体可以表征所述第一客户端和所述第二客户端之间的关系,并且指定与所述关系相关联的内容共享特权。所述系统可以被配置来确定所述合格来源的子集包括源端服务器。所述系统可以被配置来接收内容请求,所述请求指定源自源端服务器的内容,并且所述系统可以被配置来确定仅仅包括终端用户的子集。
在另一个实施例中,本公开提供了一种用于在客户端之间传送内容的方法。在因特网设备中的客户端层从一个或多个应用接收一个或多个应用设置。所述一个或多个应用设置指示第一组可能合格的客户端的特性。所述客户端层确定与所述一个或多个应用设置有关的一个或多个客户端设置。所述客户端层从发出请求的应用接收内容请求。获取关于一组合格客户端的信息。根据所述一个或多个客户端设置和一个或多个网络设置来确定所述一组合格客户端。因特网组件确定所述一个或多个网络设置。所述因特网组件远离与所述应用相关联的设备。所述一组合格客户端或者匹配所述第一组可能合格的客户端的子集,或者是所述第一组可能合格的客户端的子集。例如由客户端层、另一个客户端、超节点或者调度器类型的实体来获取关于来源客户端的信息。所述来源客户端在所述一组合格客户端中,并且具有所述内容。所述客户端层从来源客户端请求内容,以传输到发出请求的应用。在一些情况下,内容请求指定源自源端服务器的内容。在一些情况下,找到可以服务于请求的合格源端服务器。所述应用设置之一可以指示所述第一组可能合格的来源所需要的最小可接受数据传输速率。与一个或多个客户端设置相关联的客户端可以与来自所述一组合格客户端中的第二客户端具有限定的关系。可以指定与所述关系相关联的内容共享特权。
在另一个实施例中,一种用于在客户端之间传送内容的方法,所述方法包括以下步骤:从第一实体接收用于指示第一组可能的合格来源的第一设置,其中,所述第一设置与层级中的一层相关联;从第二实体接收用于指示第二组可能的合格来源的第二设置,其中,所述第二设置与所述层级中的另一层相关联;从第一客户端接收内容请求;基于所述第一设置和所述第二设置来确定指示一组合格来源的策略,其中,所述一组合格来源是从所述第一组可能的合格来源和所述第二组可能的合格来源中提取的;确定所述一组合格来源中具有所述内容的子集,所述子集包括一个或多个第二客户端;以及向所述第一客户端发送对于所述子集的指示。
在另一个实施例中,一种用于在客户端之间传送内容的方法,所述方法包括以下步骤:从一个或多个应用接收一个或多个应用设置,所述一个或多个应用设置指示第一组可能合格的客户端的特性;确定与所述一个或多个应用设置有关的一个或多个客户端设置,其中,所述客户端设置与层级中的一层相关联;从发出请求的应用接收内容请求;获取关于一组合格客户端的信息,所述一组合格客户端是基于所述一个或多个客户端设置和一个或多个网络设置来确定的,所述一个或多个网络设置是由远离与所述一个或多个应用相关联的设备的因特网组件所确定的,所述一组合格客户端是所述第一组可能合格的客户端的子集,其中,所述网络设置与所述层级中的另一层相关联;获取关于在所述一组合格客户端中具有所述内容的来源客户端的信息;以及从所述来源客户端请求所述内容,以传输到所述发出请求的应用。
根据以下给出的详细描述,本公开的其他适用范围将变得显而易见。应当明白,该详细描述和具体示例在指示各个实施例时仅意图用于说明的目的,而并不意图必然限制本公开的范围。
附图说明
结合附图来描述本公开:
图1描绘了数据传送系统的实施例的框图。
图2描绘了与用户耦合的ISP的实施例的框图。
图3A、3B和3C描绘了多层控制面的替代实施例的图。
图4说明了用于执行用户始发下载的处理的实施例的流程图。
图5说明了一般从满足请求的实体的视点看的、用于执行用户始发下载的处理的实施例的流程图。
图6说明了一个示例性实施例的流程图,其一般地说明了通过终端用户下载的方式来服务于对于源端服务器内容的请求。
图7说明了一个示例性实施例的流程图,其包括说明在应用和客户端之间进行交互的方案。
在附图中,类似组件和/或特征可以具有相同的参考标号。而且,可以通过下述方式来区分同一类型的各个组件:在参考标号之后紧跟短划线和在类似的组件之间进行区分的第二标号。如果在本说明书中仅仅使用第一参考标号,则该描述适用于具有相同的第一参考标号的类似组件的任何一个,而与第二参考标号无关。
具体实施方式
下面的描述仅仅提供了一个或多个优选示例性实施例,并且不意图限制本公开的范围、适用性或者配置。相反,这些优选示例性实施例的下面的描述将向本领域技术人员提供使得能够实现优选示例性实施例的描述。应当明白,在不偏离在所附权利要求中阐述的精神和范围的情况下,可以在部件的功能和布置上进行各种改变。
在整个文档中,术语“内容传输”和“内容下载”被使用,并且可以表示文件下载或者流传输。另外,内容对象可以是文件或者流。例如,内容对象可以是语音呼叫流、视频流、图像文件、音乐文件、实况音乐会、动画、广告、网页、幻灯片、数据文件或者可执行软件等。
首先参见图1,其示出了数据传送系统100的实施例的框图。数据传送系统100允许家庭网络132或者商业网络136中的终端用户直接地从其他终端用户请求内容下载/充当其他终端用户的内容下载的来源。所述终端用户(有时被简称为用户)通常是个人计算机,但是也可以是能够通过因特网通信的任何用户控制的设备,诸如作为举例说明的手持设备、媒体播放器、移动电话或者超级计算终端。在一些情况下,终端用户可以包括联网的一组终端用户。
除了从终端用户向终端用户的数据传送之外,在图1中所示的数据传送系统100还允许终端用户132和内容提供商128之间的传统源下载。可以用多种协议来涉及内容对象。例如,通用资源定位符(URL)可以涉及从内容提供商可获得的内容对象。在许多情况下,内容提供商128与内容传输网络(CDN)签约以外包内容对象的传输。CDN是在因特网上联网在一起的计算机的系统,这些计算机透明地合作以传输内容,经常用于提高性能、可扩展性和成本效益等的目的。例如,具有全球分布的大型在线照片处理企业可以与CDN签约以向世界各地分发用户界面的功能,以加速对于终端用户进行的查询的响应。在这种情况下,内容提供商和CDN都被激励来有效率地使用CDN网络以进一步增强性能。在一个方案中,图1中所示的配置可以用于这个目的。
虽然许多网络配置是可能的,但是为了说明的目的,在图1中假定内容提供商128已经与CDN签约。根据在图1中所示的示例性实施例,CDN控制全局资源授权单元104和控制层数据库112以及调度器108、内容数据库116和客户端数据库118,在下面对它们分别进行进一步讨论。在其他实施例中,这些块可以与ISP或者其他实体在一起,并且被ISP或者其他实体控制。
经常地,特别是当预期一些内容下载的大小很大时,内容提供商128向接收终端用户传送下载管理器或者客户端。下载管理器是执行从因特网下载(并且有时向因特网上传)内容以存储的任务的软件程序。典型的下载管理器至少提供用于从错误恢复而不丢失已经完成的工作的手段。有时,下载管理器提供其他功能,诸如将要传送的内容文件划分为两个或者更多的分段,然后并行地传送这些分段,这可以使得处理更快。根据一个方案,下载管理器也可以包括如下所述的控制层软件。
根据一个方案,全局资源授权单元104的控制面调节在家庭和商业网络132、136中的哪些下载管理器或者客户端可以请求特定的内容对象和充当特定的内容对象的来源,以及在什么条件下这些客户端可以如此操作。全局资源授权单元104包括有使得能够控制家庭和商业网络132、136中的客户端的行为和操作的策略。根据这些策略,客户端可以全局地或者在某个受限范围中接收和请求内容,或者可以被禁止全都充当来源或者进行接收。在一个方案中,全局资源授权单元104受CDN的控制。在另一个方案中,全局资源授权单元104可以受因特网服务提供商(ISP)124、内容提供商128和/或其他实体的控制。
例如,在一个方案中,控制层客户端软件被传送到终端用户以使能控制面。例如,可以从全局资源授权单元104、内容提供商128、ISP124或者另一个终端用户传送客户端软件。如果从内容提供商128传送,则所述传送可以与下载管理器的安装相关联地发生。如果从ISP124或者全局资源授权单元104传送,则所述传送可以当新的终端用户第一次耦合到家庭或者商业网络132、136时发生,或者当终端用户从ISP124启动服务时作为软件分发的一部分而发生。所述客户端可以与其他部件相结合地使用,以根据控制面策略来提供有效率的内容下载。
在一个方案中,客户端向全局资源授权单元104传送状态信息和控制层设置,全局资源授权单元104也可以从诸如ISP124、内容提供商128或者两者这样的其他实体接收状态信息和控制层设置。全局资源授权单元104使用所述状态信息和控制层设置来确定一组策略,所述一组策略例如控制在网络上的内容传送。所述状态信息和控制层设置可以与产生的策略一起被存储在控制层数据库112中。
ISP124聚合用户130以提供对广域网(WAN)和因特网的访问。一般来说,ISP124的用户130落入两个类别:诸如商业网络136这样的控制特定IP地址空间的用户,和诸如家庭网络132这样的不控制的特定IP地址空间的终端用户。一些ISP124趋向于专门服务一种类型的用户或者另一种类型的用户。通常,由家庭用户使用的带宽被超额订购,从而ISP的所有用户在繁重使用时不能使用全部带宽。通常可以保证用于商业的带宽具有特定数量的带宽。
用户130将单独的设备和/或网络连接到ISP124以接收因特网连接。家庭和商业网络132、136通常使用路由器来通过某种最新连接技术(例如DSL、电缆调制解调器、WiFi、WiMax、卫星调制解调器、本地通信电路等)与ISP连接。家庭网络132可以具有全部共享因特网连接的多个计算设备(例如个人数字助理(PDA)、膝上型计算机、VOIP、UMA电话、IP TV机顶盒、台式机、因特网装置、警报系统等)。商业网络136可以具有全部共享因特网连接的多个计算设备(例如用户PC、网络服务器、电子邮件服务器等),并且也可以在各个位置或者VPN隧道之间具有租用线路,以将各种商业网络136捆绑在一起。在所描述的示例中,第一商业网络136-1具有与第二商业网络136-2的连接。
ISP124与其他ISP和主干网提供商交互,以允许它们的用户对因特网120进行全路由访问。这可能涉及购买来自一级(Tier1)提供商的连接、与其他ISP124的对等布置或者两者。在所描述的示例中,第一ISP124-1与第二ISP124-2具有对等关系,从而业务可以在这两个ISP124之间直接传递并且通常以降低的成本和/或时延传递,以避免与使用一级提供商在第一和第二ISP124之间传递业务相关联的额外网络距离、低效、时间延迟成本等。虽然未示出,但是ISP124可以具有子网,所述子网诸如用于服务特定的地理区域或者因为其他原因而使用。对等可以出现在ISP的一个区域中,而不出现在另一个区域中。
根据一个方案,调度器108提供中央服务器,所述中央服务器可以存储客户端的可用性和状态的指示、控制层设置和策略、当前操作状态或者这些和类似的参数的组合。调度器108也可以包括关于来自源端服务器的内容的信息。源端服务器是任何服务器高速缓存等,其用于以传统、非点对点的方式来服务于内容请求。调度器108可以根据控制层策略来工作,所述控制层策略可以例如被存储在客户端数据库118中。另外,调度器108可以与内容数据库116相关联,所述内容数据库116用于存储关于内容的可用来源(在一些情况下为终端用户和源端服务器二者)的信息,以及在一些实施例中的频繁请求的用户始发的或者源端服务器的内容。
在一个实施例中,调度器108可以以终端用户始发下载来满足传统的源下载请求。例如,调度器108确定所请求的内容是应当源自于另一个用户130还是应当从内容提供商128或者其他源端服务器获取。在一些系统中,调度器108可能始终优选来自另一个用户130的下载而不是来自内容提供商128的下载。在其他实施例中,调度器108仅仅当这样的传送可能具有优势时才启动用户始发下载,所述优势诸如服务质量(QoS)优势、提高的数据率、更有效率地使用系统资源,以及更好的成本结构等。
在一个实施例中,调度器108可以包括来自全局资源授权单元104的用于控制内容传输的策略的子集。在另一个实施例中,调度器108可以包括来自全局资源授权单元104的策略。可以根据一个或多个控制层设置来设置这些策略,并且这些策略用于管理向客户端、从客户端和客户端之间的内容传输。
根据一个方案,调度器108可以唯一地识别客户端,并且将所述客户端与相关的控制层策略相关联。客户端可以被编程来定期地或者当其地址改变时进行登记,以便调度器108可以继续正确地识别该客户端。在另一个实施例中,客户端每当终端用户请求或者从终端用户请求目录列表或者内容对象时,向调度器108识别其本身。
在一个实施例中,客户端数据库118例如通过网络标识符单独地或者成组地存储针对客户端的位置信息和适用的控制层设置或者产生的策略。当响应于来自客户端的请求时,客户端数据库118中的位置信息、状态信息和策略信息被调度器108使用来确定所请求的内容的适当来源。
在一个实施例中,客户端定期地向调度器108报告其充当来源的可获得的内容。内容数据库116存储用于指示在系统中可以获得的内容对象的信息。所述系统使用客户端位置信息、状态信息、可用内容信息和控制层策略来确定发出请求的客户端应当如何获得内容对象,其中包括确定哪些其他客户端有可能可用于向发出请求的客户端提供所述对象。
虽然在图1中所示的实施例使用调度器108中的集中式目录,但是其他实施例可以允许一个客户端与其他客户端和/或超节点客户端直接交互,以确定可用于下载的内容。在这些实施例中,可以由单独的客户端或者超节点客户端来实现控制层策略。例如,全局资源授权单元104从各种控制层设置和状态信息等确定这些策略,然后将这些策略分发到其他客户端、超节点或者两者。可替代地,来自在控制层中的多个级的输入可以直接地向报告给适当客户端或者超节点,所述适当客户端或者超节点然后可以确定产生的策略。可以向其他客户端呈现这些策略。
根据其中全局资源授权单元104确定控制面策略的方案,全局资源授权单元104从各种来源接收控制层信息。控制层数据库112存储该信息。另外,根据层级来解析各个控制层设置。控制面的多个层被允许根据预定层级来影响控制层,其中,通常,较低级的层优先于较高级的层。针对客户端确定最终的一组策略,使得与较高优先级的实体相关联的设置优先于与具有较低优先级的实体相关联的设置。在一个实施例中,所组合的策略中的一个或多个针对从任何实体接收的最严格的设置而被设置。策略信息被发送到调度器108以存储在客户端数据库118中,如图1中所示。
接下来参见图2,其是耦合到用户130的ISP124的实施例的框图200。应当明白,典型的配置将包括与多个ISP124耦合的多个用户130。在该实施例中的用户130可以是家庭网络132或者商业网络136。虽然未示出,但是用户130可以具有多个ISP124或者具有在其局域网(LAN)220外部的另外的方式。
“因特网组件”是作为数据传送系统100的一部分的任何组件。因此,在图1和2中所示的每个实体都可以被称为因特网组件。可以使用标准硬件和软件模块及技术来实现在图1和2中所示的因特网组件,所述标准硬件和软件模块及技术被进一步配置来根据本文所描述的原理来工作。除了可以手动输入一个或多个设置之外,在典型的实现中,数据传送系统100的功能主要使用装置和软件来执行。在许多情况下,可以为人观察者显示各种硬件和软件模块的状态和操作。例如,技术人员可以监控与数据传送相关联的设置和策略以及各种数据库内容。类似地,通常向操作终端用户设备的人呈现与根据本文所描述的原理而进行的建立和操作相关联的可视表示。
“网络组件”是在向和从终端用户设备传送数据中扮演角色的组件。全局资源授权单元104、控制层数据库112、调度器108、内容数据库116、客户端数据库118、内容提供商128、本地资源授权单元208、服务器引擎212和相关联的客户端228、对应的内容传输网络、因特网120是网络组件的示例。客户端和用户设备不是网络组件。
用户130具有多个计算设备224。计算设备224包括客户端228,客户端228允许终端用户始发下载和终端用户充当来源二者以及传统的源端服务器下载。通常,客户端228被实现在计算设备224上运行的软件中,但是其他实现也是可能的。客户端可以是操作系统层、设备驱动器层、下载管理器或应用层的一部分。在一个方案中,对于客户端228的应用编程接口(API)允许任何数量的应用232访问和影响客户端228的控制层设置和状态。计算设备224、客户端228和应用232是终端用户的一个实施例。通常,路由器236将计算设备224的LAN220桥接到ISP网络204。
ISP124的该实施例包括一个或多个服务器引擎212,但是其他实施例可以不包括服务器引擎212。ISP网络204耦合到一个或多个全路由因特网提供商(未示出)。服务器引擎212提高了在ISP网络中找到内容对象而不必返回到内容提供商128的可能。在一个方案中,调度器108和内容数据库116是在服务器引擎212中存储的内容的组织者,并且可以路由对其的适当请求。在另一个实施例中,ISP网络204例如通过本地资源授权单元208截取对于在服务器引擎212中存储的内容的请求。
在图2所示的实施例中,ISP124包括这样的本地资源授权单元208来收集、选择和处理控制层信息。本地资源授权单元208在受限的网络中工作,并且在本地执行与全局资源授权单元104类似的角色。例如,本地资源授权单元可以接收客户端228的状态和设置信息。其也可以操作来实现与ISP124相关联的控制层设置。
在各个实施例中,可以从多个来源向本地资源授权单元提供控制层设置。例如,在一个实施例中,各种应用232、客户端228、用户130和ISP124中的每一个可以具有控制层设置和状态。在一个方案中,本地资源授权单元208处理各种控制层设置,并且向全局资源授权单元104提供产生的设置、策略和状态等。
服务器引擎212也具有客户端228-3,用于跟踪状态和设置。根据公知技术,基于对于内容或者其他参数的用户请求来填充在服务器引擎212中的高速缓存。一旦服务器引擎212的高速缓存具有所述内容,则服务器引擎212可以作为另一个端点,所述另一个端点可以充当终端用户客户端的内容来源,所述内容诸如由调度器108响应于始发者或者终端用户请求而请求的内容。除了传统高速缓存功能之外,服务器引擎212与本地资源授权单元208相结合地可以在本地层级执行一些与调度器108相同的功能,诸如指导使用终端用户始发下载来满足传统的源下载请求。在一些实施例中,与在一个实施例中的其他可能来源相比较,服务器引擎212可以是优选的内容来源。一些实施例允许一个服务器引擎212查询其他服务器引擎212和/或终端用户以请求当前在高速缓存中找不到的内容。
ISP124和商业网络136可以通过它们各自的控制层来指示使用它们的网络的客户端在与它们的网络的不同关系下可以向其他客户端提供内容对象的程度。控制层设置可以基于网络之间的关系,诸如对等关系、ISP内部关系、城域子网关系、商业子网关系和/或未受限制的关系。IP地址、IP地址的一个或多个范围或者域可以用于指定在任何特定的商业网络136、ISP用户基础(user base)等之间的关系。
参见表I的示例,其指定了在端点网络之间的示例性的一组关系。可以在全局资源授权单元104、控制层数据库112和内容数据库118中反映这些关系,以便可以确定客户端的共享空间的范围。在一个方案中,在本地资源授权单元208中也反映该信息。诸如通常由ISP124、网络132、136指定的类型这样的控制层设置基于实体的关系而指示实体之间所允许的传送。对等关系和相关的设置确定策略,调度器108根据所述策略来控制传送。
例如,根据表I,对于用户始发下载,ACME ISP与三个其他ISP对等,因此可以具有允许网络内部的终端用户内容下载的控制层设置,从而在ACME ISP的网络136中的客户端132可以在ISP网络204中直接地充当内容来源,并且充当任何所指示的对等网络的内容来源。Foo ISP与所有其他的提供商具有开放的关系,因此允许其客户端从在ISP网络204或者因特网120上的任何客户端接收用户始发下载,或者充当在ISP网络204或者因特网120上的任何客户端的用户始发下载的来源。Atlas ISP没有任何端点关系,并且禁止客户端228执行用户始发下载,并因此限制其客户端执行源下载。Open ISP具有开放端点关系,并且允许其客户端通过任何其他ISP交换用户始发的内容,所述任何其他ISP允许其客户端向和从Open ISP网络交换用户始发的内容。Speeedy ISP与ACME ISP、TTC-Denver商业和内网具有关系,并且允许与ACME ISP对等。TTC-Denver商业子网可以允许向另一个商业子网、附属商业或者其他网络组进行用户始发下载。在表I的另一行上指定:TTC-Denver商业允许与TTC商业实体进行用户始发下载。
商业网络136可以以其他方式指定其客户端可接受的用户始发下载的范围。大型公司仅仅允许在其网络中进行用户始发交换。可以通过指定相关IP地址或者其他网络信息来将网络限定到一个或多个不同位置。可以根据数个方案——例如通过将IP地址或者其他网络信息分为独立的组或者在特定组中包括其他IP地址或者其他网络信息——来指定商业网络。根据典型的合同关系,企业的ISP一般避免对企业决定如何参与用户始发下载进行进一步的限制,这是因为因特网服务是以不受限制的方式被销售给所述企业,以便所述企业选择如何最佳地使用所分配的带宽。
Figure GDA00002513273100131
Figure GDA00002513273100141
服务器引擎212的一些实施例允许使用有可能被请求的内容来预先填充服务器引擎212。一个或多个服务器引擎的使用可以减少由ISP124为了收集所请求的内容而对于到因特网的连接的使用或者在其网络中的连接的使用。调度器108或者服务器引擎212本身可以决定有可能请求哪些内容对象108,以便可以预先填充高速缓存。内容提供商128也可以指定有可能请求的内容。在一些实施例中,内容提供商可以购买或者租用在各种服务器引擎上的空间,以便以较高的服务质量来提供它们的内容对象。
已经被分配特定的服务器引擎212容量的ISP124可以控制一个或多个服务器引擎212的使用。可以将服务器引擎212的使用限制到在ISP网络204中的客户端228。另外,在一些实施例中,其他网络可以被给与对服务器引擎212的访问权。在一个实施例中,以与针对表I所讨论的方式类似的方式,通过指定设置(诸如对于客户端228指定的设置),通过本地和/或全局资源授权单元208、104来控制服务器引擎212。
参见图3A,其示出了用于示出多层控制面的实施例300-1的图。在图顶部,应用层304是使用客户端228的一个或多个应用232所位于的位置。应用232具有用于指示可以如何使用客户端228的配置选项。在图顶部的特定层的控制设置可以被在一种层级方案中下面的任何层覆盖(override)。例如,应用层304可以指定对于用户始发下载的请求允许一次有20个同时的响应,但是,客户端控制层308指定仅仅可以同时执行四个输出的用户始发下载。因为客户端层308优先于应用层304,所以在使用客户端228的应用232之间,在任何时刻都仅可以执行四个输出的用户始发下载。因此,由客户端228向例如全局资源授权单元104发送的控制层设置指定最多有四个同时进行的上传或者下载。
在一个方案中,如图3B中所示,应用层304、客户端控制层308以及账户控制层309的设置被发送到全局资源授权单元104,并且被存储在控制层数据库112中。全局资源授权单元104然后至少部分地根据所述设置来确定策略。在另一个方案中,客户端228处理其知道的控制层设置,并且将组合的结果发送到全局资源授权单元104。全局资源授权单元104然后至少部分地根据所组合的设置来确定策略。在又一个方案中,客户端228向本地资源授权单元208发送组合或者原始的控制层设置,本地资源授权单元208继而将它们与它知道的其他本地设置进行组合,并且将产生的组合的设置发送到全局资源授权单元104。在任一情况下,产生的策略被传送到调度器108,调度器108将它们存储在客户端数据库118中。调度器108使用这些策略来确定响应于对内容的请求而采取的操作。
在图3A所示的实施例中,存在用于控制用户始发下载的四个层。客户端层308可以可替代地使用传统的网络控制结构316或者优选地使用ISP控制层312和系统控制层318来进行传统的源下载。在一个实施例中,源端服务器和终端用户始发的请求被发送到调度器,以便可以在适当时以点对点的方式并且根据由调度器108实现的策略来服务于源端服务器请求。以层级的顺序示出了应用层304、客户端层308、ISP控制层312和系统控制层318。在一些实施例中,每层可以指定设置,所述设置将形成影响如何执行用户始发下载的控制层策略。根据在图3A中所示的实施例,较低层优先于较高层。其他实施例可以具有更多或更少的控制层,或者仅仅具有一个控制层。
不同方可以可选地指明在各个层的控制设置。例如,用户能够在应用层304和客户端层308修改选项。ISP管理可以在ISP控制层312设置覆盖设置。系统管理员可以在系统控制层318设置另外的覆盖设置。在应用232、客户端228、本地资源授权单元208和全局资源授权单元104中的接口可以被各方使用来输入控制层设置。
表II指示在一个实施例中可以是控制面的用于应用层的一部分的事物的示例。应用232可以单独地指定所期望的特定控制设置。不同的应用232可以具有不同的期望控制设置。所述应用可以指定除了传统的源下载之外是否还允许用户始发下载以及优选哪种类型。可以与所允许的同时向外/进入的连接的数量一起指定最大的向外/进入的带宽。而且,可以指定用于用户始发下载的最小和/或最大传输速度,以便如果不再可获得该水平的服务质量,则下载将切换到源下载或者下载失败。
Figure GDA00002513273100161
表III指定了控制层的针对客户端层308的特定控制设置。这些控制设置将应用于在较高应用层304中的应用232。在该示例中,针对客户端层308的控制设置类似于应用层304的那些控制设置。另外,如果客户端本身保持有可用内容对象的目录,则客户端层308可以指定是否将中央调度用于内容目录。在该实施例中也指定了可以同时使用客户端的应用的数量。
Figure GDA00002513273100162
Figure GDA00002513273100171
表IV指定了ISP层312可以在它们的限定的地址空间中针对用户130指定的控制设置。除了针对其他层的一些控制设置之外,ISP控制层312还允许限定可以请求内容对象的用户始发下载的客户端的范围,就像在上面的表I中全局限定的那样。ISP可以指定在它们的地址空间中允许的划分和可以如何使用任何服务器引擎212。一个实施例允许ISP124随着时间控制和更新内容提供,以便调度器108可以反映这些更新。ISP124可以根据系统可用性、未经授权的内容的控制和其他终端用户或者服务器引擎212的状态来确定终端用户可以在哪里下载所请求的内容。
Figure GDA00002513273100172
Figure GDA00002513273100181
在系统控制层316,可以指定另外的控制设置。例如,可以如控制层所指定那样可选地限制目录列表。这样,系统使用控制层来避免将所述系统用于传送版权拥有者不准许的内容。另外,可以仅仅对于使用系统100的特定组可选地激活或者使能内容过滤。
在表V中描述了示例性系统控制层。对于该示例,控制层限制目录列表。在该示例中,提供了应用、客户端、企业、ISP和子网控制层。当有受保护的内容(表示版权拥有者不允许与其他终端用户共享)时,系统可以过滤出这些文件以免在目录列表中出现。该示例允许在客户端228间共享下载、处理、存储、VOIP和流。
接着参见图3B,其示出了用于示出多层控制面的另一个实施例300-2的图。该实施例在客户端层308和ISP控制层312之间包括账户控制层309和ISP城域控制层311。账户控制层309允许ISP账户拥有者指定控制设置。例如,在家庭网络132中的父母可以针对在家庭网络中的孩子指定控制设置。ISP城域控制层311允许ISP124的不同的地理位置或者组被单独地控制。例如,一个组可以具有较高的带宽,从而可以容许较高量的用户始发下载。
参见图3C,其示出了用于示出多层控制面的另一个实施例300-3的图。在这个实施例中,在应用层304中的应用232确定是源下载还是用户始发下载要用于特定的内容对象下载。对于用于用户始发下载的控制层,存在企业控制层310,其允许企业指定控制设置。
与控制层设置相比较,状态信息可以更频繁地改变。例如,根据控制层设置,在客户端228处,客户端层控制面中的策略当VoIP呼叫在进行时可以禁止服务于终端用户始发下载请求。这样的策略可能导致客户端228的状态频繁改变。例如,每当VoIP呼叫开始时,在客户端228中的控制层向全局资源授权单元104、本地资源授权单元208或者两者指示客户端228当前不可用于为终端用户始发下载服务。全局资源授权单元104可以向调度器108发送对应的通知。同样,本地资源授权单元208可以向服务器引擎212发送对应的通知。
ISP124也可以转发状态信息。例如,如果ISP124正在经历高拥塞的时段,则其可以向全局资源授权单元104发送指示以禁止其终端用户服务于终端用户始发下载请求。
状态信息也可以包括关于计算设备224的位置的信息。如果相关联的计算设备224在地理上移动或者如果其经由改变的路径来连接到网络,则客户端228的位置可能改变。在一个实施例中,位置信息被定期报告和/或响应于在位置上的改变而被报告。
接着参见图4,其示出了从操作全局资源授权单元104、控制层数据库112、调度器108、内容数据库116以及客户端数据库118的内容传输网络的视点看的、用于执行用户始发下载的处理400的实施例。该处理的所描述的部分在框402开始,其中,从针对特定客户端228限定的各个层接收控制层设置。在图1所示的实施例中,控制层数据库112保存针对客户端228的控制设置和产生的策略。在框404报告客户端的状态信息,并且例如由客户端数据库118接收所述状态信息。在框408,通常响应于轮询查询或者通过定期或不定期的报告来更新从客户端228可以获得的内容对象。在一个实施例中,内容数据库116执行框408。内容对象的原始位置也可以被存储,以便如果在从另一个客户端获得内容对象上有问题,则可以向内容提供商查询内容对象。
处理继续到框412,其中,从客户端228接收内容请求。可替代地,发出请求的设备可以在计算设备224、服务器引擎212或者其他实体上。在框416中,参考发出请求和充当来源的实体的策略、状态和内容数据库118来处理请求。这样,确定响应于请求可获得的内容对象。
在框424确定是否应当从另一个客户端下载内容或者从内容提供商128获取内容。对于一些请求,处理可能优选从另一个客户端下载而不是返回到内容提供商128,即使向原始请求是对源端服务器作出也是如此。例如,当来自另一个终端用户的服务将提供更好的网络性能、QoS或者效率等时,可以优选用户始发下载。调度器108、客户端228、超节点或者应用232以及其他实体或者其组合可以不同地进行框424中的确定。在从另一个客户端始发内容的情况下,处理从框424进行到框428,在框428中,向发出请求的终端用户发送关于能够服务于该请求的一个或多个终端用户的信息。在一个实施例中,调度器108执行框428。在内容要源自源端服务器的情况下,处理从框424进行到框432,在框432中,使用传统的源下载从内容提供商请求内容对象。在一个实施例中,调度器108执行框416、424、428和432。
因此,在图1中的一个例示中明确示出的数据传送系统100被配置来允许在诸如计算设备224这样的终端用户设备之间进行内容下载。数据传送系统100具有第一客户端,所述第一客户端与能够通过因特网通信的第一设备相关联,并且被配置来提供第一设置,其中能够从所述第一设置中确定第一组可能合格的来源,如在此所述。根据可以得到的多个示例之一,第一客户端228-1使用ISP网络204、路由器236和LAN220来与因特网120通信。第一客户端228-1可以指定的一种可能设置是其仅仅从具有300kbps或者更高的数据传送速率的来源接受内容。这样的设置可以使得一些可能的来源对于向第一客户端228-1提供内容而言是不合格的。以这种方式,第一设置是用于指示一组可能合格的来源的一个方案。当然,数据传送系统100也包括能够通过因特网通信的许多其他客户端站,诸如第二客户端228-2。
如上所述,数据传送系统100包括可以提供设置的多个实体。例如,诸如ISP124-1这样的网络实体可以被配置来提供第二设置,从第二设置,可以确定第二组可能合格的来源。例如,所述网络实体可以指定设置,所述设置将点对点的数据传送的最大传送速率限制为50kbps,以便更好地管理由点对点业务施加在系统上的负担。在一个实施例中,数据传送系统100接收第一和第二设置以及从第一客户端对于内容的请求。数据传送系统100根据第一和第二设置来确定策略。所述策略允许确定一组合格的来源设备。在一个实施例中,数据传送系统100使网络实体设置优先于客户端站设置,确定所述一组合格来源设备仅仅包括能够以50kbps或者更小速率来传送数据的那些来源设备。在另一个实施例中,数据传送系统100选择满足最严格的设置的策略。其他更复杂的处理也是可能的。
根据请求,数据传送系统100确定所述一组合格来源中具有所述内容的子集。在能够进行点对点数据传送的系统中,所述子集经常包括一个或多个客户端站,诸如第二客户端228-2。数据传送系统100向第一客户端228-1发送第二客户端为内容的合格来源的指示。
参见图5,其示出了示例性实施例的流程图500。在框510中,从第一实体接收用于指示第一组可能的合格来源的第一设置。在一个示例中,客户端228可以指定仅仅具有1200kbps传输带宽的来源是该特定客户端的合格来源。在另一个示例中,ISP124可以表征因特网组件之间的关系,并且指定与各种关系相关联的内容共享特权。在框520中,从第二实体接收第二组一个或多个控制层设置。例如,内容提供商128可以指示通过在具有指定关系的客户端之间获得流内容的来源来满足对于指明的流内容的请求。
在框530中,接收来自客户端的内容请求。例如,在一个实施例中,调度器108接收来自可能已经预先提供或者同时或随后提供控制层设置的第一客户端的请求。在另一个实施例中,另一个客户端或者超节点客户端可以接收请求。可以以任何顺序来执行框510、520和530。
在框540中,根据控制层设置来确定一个或多个控制层策略。根据控制层策略,识别一组一个或多个合格来源。例如,在一个实施例中,合格来源可以是具有所请求的内容、与发出请求的实体具有指定的关系并且能够以最小指定数据率来向发出请求的实体传输内容的一组终端用户。在另一个实施例中,一个合格来源可以是源端服务器,诸如任何服务器高速缓存等,其用于以常规的非点对点的方式来服务于内容请求,并且可以是内容提供商128。
在框550,确定合格来源中具有所请求的内容的子集。例如,在一个实施例中,通过调度器108或者超节点来进行这样的确定。在框560中,向客户端发送所述一组合格资源中具有所请求的内容的一个或多个实体的指示。
参见图6,其示出了示例性实施例的流程图600,其一般地说明了由终端用户服务于对于源端服务器内容的请求。发出请求的实体产生对于从内容提供商始发的内容的请求。在框610中,接收所述请求。例如,应用232-2请求实况体育比赛流内容。客户端228根据其本地策略来解析所述请求。激活228向调度器108发送所述请求。在框620,确定合格充当所述内容的来源的一组合格终端用户来源。例如,在一个实施例中,调度器108从内容提供商128接收一个或多个设置,这些设置指示在商业网络中的客户端站可以以对等的方式来共享内容。同样,调度器108可以从内容提供实体接收类似的设置,所述设置指定可以以对等的方式来共享特定内容。在框630,帮助内容的传送。例如,调度器108通过指定充当内容来源的终端用户来响应于发出请求的实体。以这种方式,以对等的方式来服务于对于来自内容提供商的内容的请求。例如,如果在商业网络136中的两个终端用户中的每一个向内容提供商128请求观看奥运会,而不是建立两个并行流,则调度器108根据从内容提供商128或者全局资源授权单元108接收的设置来帮助从在商业网络中的第二实体的传送。
参见图7,其示出了示例性实施例的流程图700,其中包括在应用和客户端之间进行交互的方案的说明。在框710中,接收一个或多个应用设置。每个设置指示第一组可能合格的来源或者请求者的特性。例如,客户端228从一个或多个应用232接收设置。第一应用可以限制同时向外的终端用户下载的数量。另一个应用设置最小的进入数据率。
在框720中,确定与所述一个或多个应用设置有关的一个或多个客户端设置。例如,客户端228可以将应用设置与关联于客户端228的客户端层设置合并,以建立整体的客户端设置。例如,客户端228可以根据诸如父控制设置这样的控制层设置来在内部确定所建立的设置。通常,客户端228使客户端层设置优先于应用设置。这样,客户端228可以施加更严格的设置,由此可能减少可能合格的来源的数量。但是,在一些情况下,客户端228可以扩展应用设置,由此可能增加可能合格的来源的数量。
在框730中,客户端228从应用232接收内容请求。例如,发出请求的实体232可以请求MP3下载。在框740中,获取关于一组合格客户端的信息。例如,可以根据来自远离发出请求的客户端228的因特网组件的一个或多个客户端设置和一个或多个网络设置,来确定所述一组合格客户端。所述一组合格客户端匹配所述一组可能的合格来源的子集,或者是所述一组可能的合格来源的子集。可以从调度器108、超节点、在终端用户设备中的模块等获取关于所述一组合格客户端的信息。
在框750,获取关于该组合格客户端中的一个或多个特定来源客户端的信息。所述特定来源客户端能够充当所请求的内容的来源。在一个实施例中,从调度器108、超节点、在终端用户设备中的模块等获取这样的信息。在框760中,作出内容请求。例如,客户端232从所述特定来源客户端之一请求内容,并且将进入的数据传递到发出请求的应用。
也可以使用所公开的实施例的多个改变和修改,例如,上述实施例的一些讨论使用终端用户计算机来充当下载的来源。系统可以用于允许使用和控制在终端用户计算机上的其他资源。例如,用户计算机可以用于在应用、客户端、ISP和/或系统控制下的分布式计算。一些实施例可以使用控制面来调整诸如存储、带宽和处理能力的资源的机器虚拟化。例如,一个终端用户可以使用另一个终端用户的硬盘驱动器来存储他们的数据。
虽然上面已经与特定装置和方法相结合来描述了本公开的原理,但是应当清楚地明白,该描述仅仅通过举例说明的方式而作出,并且不作为对本公开的范围的限制。

Claims (15)

1.一种用于在客户端之间传送内容的方法,所述方法包括以下步骤:
从第一实体接收用于指示第一组可能的合格来源的第一设置,其中,所述第一设置与层级中的一层相关联;
从第二实体接收用于指示第二组可能的合格来源的第二设置,其中,所述第二设置与所述层级中的另一层相关联;
从第一客户端接收内容请求;
基于所述第一设置和所述第二设置来确定指示一组合格来源的策略,其中,所述一组合格来源是从所述第一组可能的合格来源和所述第二组可能的合格来源中提取的;
确定所述一组合格来源中具有所述内容的子集,所述子集包括一个或多个第二客户端;以及
向所述第一客户端发送对于所述子集的指示。
2.根据权利要求1所述的用于在客户端之间传送内容的方法,其中,确定指示所述一组合格来源的所述策略的所述步骤包括:确定所述一组合格来源包括源端服务器。
3.根据权利要求1所述的用于在客户端之间传送内容的方法,其中,接收所述内容请求的所述步骤包括:从所述第一客户端接收所述内容请求,所述内容请求指定源自源端服务器的内容。
4.根据权利要求1所述的用于在客户端之间传送内容的方法,其中,接收所述第一设置的所述步骤包括:接收用于指示所述第一组可能合格的来源所需要的最小可接受数据传输速率的设置。
5.根据权利要求1所述的用于在客户端之间传送内容的方法,其中,接收所述第二设置的所述步骤包括:从服务于所述第一客户端的因特网服务提供商(ISP)的部件接收所述第二设置。
6.一种被配置来允许在终端用户设备之间进行内容下载的数据传送系统,所述数据传送系统包括:
第一客户端,其与能够通过因特网来通信的第一设备相关联,并且被配置来提供第一设置,其中能够从所述第一设置中确定第一组可能合格的来源,并且其中,所述第一设置与层级中的一层相关联;
第二客户端,其与能够通过因特网来通信的第二设备相关联;
网络实体,其被配置来提供第二设置,其中能够从所述第二设置中确定第二组可能合格的来源,并且其中,所述第二设置与层级中的另一层相关联;
系统,其被配置来:
接收所述第一设置和所述第二设置,
从所述第一客户端接收内容请求,
基于所述第一设置和所述第二设置来确定策略,其中,所述策略允许确定一组合格来源,
确定所述一组合格来源中具有所述内容的子集,其中,所述子集包括所述第二客户端,以及
向所述第一客户端发送对于所述第二客户端的指示。
7.根据权利要求6所述的数据传送系统,其中,所述第一设置指示所述第一组可能合格的来源所需要的最小可接受数据传输速率。
8.根据权利要求6所述的数据传送系统,其中,所述网络实体是服务于所述第一客户端的因特网服务提供商(ISP)的部件。
9.根据权利要求6所述的数据传送系统,其中,所述网络实体表征所述第一客户端和所述第二客户端之间的关系,并且指定与所述关系相关联的内容共享特权。
10.根据权利要求6所述的数据传送系统,其中,所述系统被配置来确定合格来源的所述子集包括源端服务器。
11.根据权利要求6所述的数据传送系统,其中,所述系统被配置来接收所述内容请求,所述内容请求指定源自源端服务器的内容,并且所述系统被配置来确定合格来源的所述子集仅包括终端用户。
12.一种用于在客户端之间传送内容的方法,所述方法包括以下步骤:
从一个或多个应用接收一个或多个应用设置,所述一个或多个应用设置指示第一组可能合格的客户端的特性;
确定与所述一个或多个应用设置有关的一个或多个客户端设置,其中,所述客户端设置与层级中的一层相关联;
从发出请求的应用接收内容请求;
获取关于一组合格客户端的信息,所述一组合格客户端是基于所述一个或多个客户端设置和一个或多个网络设置来确定的,所述一个或多个网络设置是由远离与所述一个或多个应用相关联的设备的因特网组件所确定的,所述一组合格客户端是所述第一组可能合格的客户端的子集,其中,所述网络设置与所述层级中的另一层相关联;
获取关于在所述一组合格客户端中具有所述内容的来源客户端的信息;以及
从所述来源客户端请求所述内容,以传输到所述发出请求的应用。
13.根据权利要求12所述的用于在客户端之间传送内容的方法,其中,接收所述内容请求的所述步骤包括:确定所述内容请求指定了源自源端服务器的内容。
14.根据权利要求12所述的用于在客户端之间传送内容的方法,其中,接收所述一个或多个应用设置包括:接收用于指示所述第一组可能合格的客户端所需要的最小可接受数据传输速率的设置。
15.根据权利要求12所述的用于在客户端之间传送内容的方法,还包括以下步骤:表征与一个或多个客户端设置相关联的客户端和来自所述一组合格客户端中的第二客户端之间的关系,以及指定与所述关系相关联的内容共享特权。
CN2008801147805A 2007-11-05 2008-11-05 端到端的数据传送 Expired - Fee Related CN101861584B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US98559007P 2007-11-05 2007-11-05
US60/985,590 2007-11-05
PCT/US2008/082494 WO2009061829A1 (en) 2007-11-05 2008-11-05 End to end data transfer

Publications (2)

Publication Number Publication Date
CN101861584A CN101861584A (zh) 2010-10-13
CN101861584B true CN101861584B (zh) 2013-06-19

Family

ID=40589304

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008801147805A Expired - Fee Related CN101861584B (zh) 2007-11-05 2008-11-05 端到端的数据传送

Country Status (4)

Country Link
US (7) US8090860B2 (zh)
EP (1) EP2210188A1 (zh)
CN (1) CN101861584B (zh)
WO (1) WO2009061829A1 (zh)

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101228523B (zh) * 2005-04-25 2012-06-06 网络装置公司 用于高速缓存网络文件系统的系统和方法
CN101861584B (zh) * 2007-11-05 2013-06-19 聚焦网络公司 端到端的数据传送
US20090187978A1 (en) * 2008-01-18 2009-07-23 Yahoo! Inc. Security and authentications in peer-to-peer networks
US20100070876A1 (en) * 2008-09-18 2010-03-18 Pictela, Inc. Self-Replicating Rich Media Interface
US8458290B2 (en) 2011-02-01 2013-06-04 Limelight Networks, Inc. Multicast mapped look-up on content delivery networks
US9137301B1 (en) * 2009-06-30 2015-09-15 Amazon Technologies, Inc. Client based opportunistic routing
US9118680B1 (en) * 2009-06-30 2015-08-25 Amazon Technologies, Inc. Opportunistic routing
US9137300B1 (en) * 2009-06-30 2015-09-15 Amazon Technologies, Inc. Opportunistic pipe switching
US20110078230A1 (en) * 2009-09-25 2011-03-31 Emilio Sepulveda Method and system for providing a cdn with granular quality of service
CN101916295B (zh) * 2010-08-27 2011-12-14 董方 基于点对点网络的互联网搜索系统和方法
US8291083B2 (en) 2011-02-01 2012-10-16 Limelight Networks, Inc. Distributed landing pad and brick topology for content storage in content delivery networks
US8478858B2 (en) 2011-02-01 2013-07-02 Limelight Networks, Inc. Policy management for content storage in content delivery networks
US8396970B2 (en) 2011-02-01 2013-03-12 Limelight Networks, Inc. Content processing between locations workflow in content delivery networks
US8615577B2 (en) 2011-02-01 2013-12-24 Limelight Networks, Inc. Policy based processing of content objects in a content delivery network using mutators
US8521813B2 (en) 2011-02-01 2013-08-27 Limelight Networks, Inc. Content replication workflow in content delivery networks
AU2011203267B1 (en) * 2011-02-01 2012-04-05 Limelight Networks, Inc. Distributed landing pad and brick topology for content storage in content delivery networks
US9087307B2 (en) 2011-07-28 2015-07-21 Antonio Trias Long tail monetization procedure
GB2502168A (en) * 2011-12-14 2013-11-20 Seven Networks Inc Wireless traffic optimisation defined by hierarchy of global, device dependent and user dependent policies
JP6021487B2 (ja) * 2012-07-18 2016-11-09 キヤノン株式会社 情報処理システム、制御方法、サーバ、情報処理装置およびコンピュータプログラム
KR101225405B1 (ko) * 2012-08-03 2013-01-22 (주)네오위즈게임즈 데이터 송수신 네트워크 제어 방법 및 장치
CN104184770B (zh) * 2013-05-23 2018-05-18 腾讯科技(深圳)有限公司 资源传输的方法和装置
US10129365B2 (en) * 2013-11-13 2018-11-13 Cisco Technology, Inc. Method and apparatus for pre-fetching remote content based on static and dynamic recommendations
US9710468B2 (en) 2014-09-04 2017-07-18 Salesforce.Com, Inc. Topic profile query creation
US10397106B2 (en) * 2015-06-09 2019-08-27 Fastly, Inc. Mobile conditions aware content delivery network
CN106572067B (zh) * 2015-10-12 2020-05-12 阿里巴巴集团控股有限公司 语音流传送的方法及系统
CN105451071B (zh) * 2015-11-18 2021-05-07 腾讯科技(深圳)有限公司 一种视频流的处理方法、装置和系统
CN107453976B (zh) * 2016-05-31 2020-11-10 宇龙计算机通信科技(深圳)有限公司 一种位置信息的共享方法、装置及终端
CN107733950B (zh) * 2016-08-11 2020-12-08 百度在线网络技术(北京)有限公司 用于访问网站的方法和装置
WO2018033205A1 (en) * 2016-08-18 2018-02-22 Telefonaktiebolaget Lm Ericsson (Publ) Technique for selecting a content distribution network entity
EP3355518A1 (en) 2017-01-31 2018-08-01 Hewlett-Packard Enterprise Development LP Sharing policy and configuration information related to a configuration item
CN108574666B (zh) * 2017-03-09 2020-08-07 贵州白山云科技股份有限公司 一种数据流调度方法、装置和系统
CN106993235A (zh) * 2017-03-30 2017-07-28 福建中金在线信息科技有限公司 一种交互方法和装置
EP4068734A3 (en) * 2017-08-14 2022-11-16 Koninklijke KPN N.V. Stream control system for use in a network
CN107483614B (zh) * 2017-08-31 2021-01-22 京东方科技集团股份有限公司 基于cdn与p2p网络的内容调度方法及通信网络
CN107818015B (zh) * 2017-10-25 2021-08-06 Oppo广东移动通信有限公司 一种系统资源调用方法及相关设备
WO2019149990A1 (en) * 2018-02-03 2019-08-08 Nokia Technologies Oy Application based routing of data packets in multi-access communication networks
US11102289B2 (en) * 2020-01-03 2021-08-24 Wangsu Science & Technology Co., Ltd. Method for managing resource state information and system for downloading resource
CN113453038B (zh) * 2021-06-25 2022-03-29 桂林电子科技大学 一种cdn-p2p混合架构下效用最优协同缓存管理方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1897588A (zh) * 2006-06-21 2007-01-17 北京北大方正电子有限公司 一种混合模式的网络文件传输方法及系统
CN1985490A (zh) * 2004-07-09 2007-06-20 科德马特公司 对等网络中的同位体及这样的网络

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6049549A (en) * 1997-08-14 2000-04-11 University Of Massachusetts Adaptive media control
US7032031B2 (en) * 2000-06-23 2006-04-18 Cloudshield Technologies, Inc. Edge adapter apparatus and method
US7272645B2 (en) * 2001-05-25 2007-09-18 Sbc Technology Resources, Inc. Method of improving the reliability of peer-to-peer network downloads
US6957261B2 (en) * 2001-07-17 2005-10-18 Intel Corporation Resource policy management using a centralized policy data structure
EP1413119B1 (en) * 2001-08-04 2006-05-17 Kontiki, Inc. Method and apparatus for facilitating distributed delivery of content across a computer network
EP2403219B1 (en) * 2001-09-28 2014-10-22 Level 3 CDN International, Inc. Method for name to address resolution
ES2276919T3 (es) * 2002-03-27 2007-07-01 First Hop Ltd Sistema y proceso de gestion de servicios de mensajeria.
US7571251B2 (en) 2002-05-06 2009-08-04 Sandvine Incorporated Ulc Path optimizer for peer to peer networks
EP1504370A4 (en) * 2002-05-14 2008-05-21 Akamai Tech Inc COMPANY DELIVERY NETWORK WITH A CENTRALIZED CONTROL TO COORDINATE A LOT OF CONTENT SERVER
CA2505630C (en) 2002-11-15 2010-02-23 International Business Machines Corporation Network traffic control in peer-to-peer environments
US7401132B1 (en) 2002-12-20 2008-07-15 Symantec Operating Corporation Method and system for creating a peer-to-peer overlay network
GB0303192D0 (en) 2003-02-12 2003-03-19 Saviso Group Ltd Methods and apparatus for traffic management in peer-to-peer networks
US7584353B2 (en) * 2003-09-12 2009-09-01 Trimble Navigation Limited Preventing unauthorized distribution of media content within a global network
US7610402B2 (en) * 2003-10-20 2009-10-27 Sony Computer Entertainment America Inc. Spectators in a peer-to-peer relay network
WO2005084132A2 (en) 2004-03-08 2005-09-15 First Oversi Ltd A method and device for peer to peer file sharing
US7490140B2 (en) * 2005-05-12 2009-02-10 International Business Machines Corporation Peer data transfer orchestration
US7995756B1 (en) 2005-10-12 2011-08-09 Sprint Communications Company L.P. Mobile device playback and control of media content from a personal media host device
US20070183342A1 (en) * 2006-02-06 2007-08-09 Mediazone.Com, Inc. Peer-to-peer broadcast management system
US8280982B2 (en) * 2006-05-24 2012-10-02 Time Warner Cable Inc. Personal content server apparatus and methods
US20080072264A1 (en) * 2006-08-02 2008-03-20 Aaron Crayford Distribution of content on a network
CA2667696A1 (en) * 2006-09-06 2008-05-15 Akamai Technologies, Inc. Hybrid content delivery network (cdn) and peer-to-peer (p2p) network
US20080098123A1 (en) * 2006-10-24 2008-04-24 Microsoft Corporation Hybrid Peer-to-Peer Streaming with Server Assistance
US20080133767A1 (en) * 2006-11-22 2008-06-05 Metis Enterprise Technologies Llc Real-time multicast peer-to-peer video streaming platform
US7903652B2 (en) * 2006-12-14 2011-03-08 At&T Intellectual Property I, L.P. System and method for peer to peer video streaming
US20090013063A1 (en) * 2007-07-02 2009-01-08 Mrs. NIRALI SANGHI Method for enabling internet access to information hosted on csd
US8412792B2 (en) * 2007-07-31 2013-04-02 Brent Young Network file transfer and caching system
US20090100128A1 (en) * 2007-10-15 2009-04-16 General Electric Company Accelerating peer-to-peer content distribution
CN101861584B (zh) 2007-11-05 2013-06-19 聚焦网络公司 端到端的数据传送
BRPI0820975B1 (pt) * 2007-12-14 2020-11-10 Blackberry Limited método executado por um servidor, meio que pode ser lido em computador e dispositivo de rede para especificação, aplicação e extensão de aspectos relacionados a aplicativo referência cruzada a pedidos relacionados
WO2009155356A1 (en) * 2008-06-18 2009-12-23 Onion Networks, KK Traffic and cost containment for internet access by adapting the coding rate when distributing- media content

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1985490A (zh) * 2004-07-09 2007-06-20 科德马特公司 对等网络中的同位体及这样的网络
CN1897588A (zh) * 2006-06-21 2007-01-17 北京北大方正电子有限公司 一种混合模式的网络文件传输方法及系统

Also Published As

Publication number Publication date
US20130212226A1 (en) 2013-08-15
US7720933B2 (en) 2010-05-18
US8396980B2 (en) 2013-03-12
US9100463B2 (en) 2015-08-04
US8090860B2 (en) 2012-01-03
US20090119383A1 (en) 2009-05-07
US20140289322A1 (en) 2014-09-25
CN101861584A (zh) 2010-10-13
US20110302279A1 (en) 2011-12-08
US8775661B2 (en) 2014-07-08
US20090119409A1 (en) 2009-05-07
US20160156741A1 (en) 2016-06-02
EP2210188A1 (en) 2010-07-28
WO2009061829A1 (en) 2009-05-14
US8271677B2 (en) 2012-09-18
US20120191808A1 (en) 2012-07-26

Similar Documents

Publication Publication Date Title
CN101861584B (zh) 端到端的数据传送
CN101658012B (zh) 内容递送
US9349025B2 (en) Utilizing a gateway for brokering and/or arbitrating service consumption options
US7139834B1 (en) Data routing monitoring and management
US20130013764A1 (en) Content delivery network aggregation
US8775564B1 (en) Time based CDN traffic allocation
CN103581245A (zh) 一种内容分发网络内容分发的方法及系统
CN103201984B (zh) 用于基于isn存储器的覆盖网络的动态配置的系统和方法
JP2015503146A (ja) 大規模メディア・クラウドのための分散型マッピング機能
CN101300562B (zh) 关于服务汇聚架构使用的方法和装置
US8984382B2 (en) Distributed data distribution
CN102571409A (zh) 一种用于实现业务跨终端使用的业务请求管理系统及方法
KR20130039652A (ko) 콘텐츠 중심 네트워크의 부하분산 방법 및 장치
CN106209952A (zh) 服务节点分配方法、装置、cdn管理服务器及系统
US10142184B2 (en) Centralized architecture for establishing federations of content distributors
CN115514981A (zh) 一种视频流调度系统及相关产品
WO2021015911A1 (en) A network arrangement using snds and slans
Pussep Peer-assisted video-on-demand: cost reduction and performance enhancement for users, overlay providers, and network operators
Uedera et al. Adaptive prefetching scheme for Peer-to-Peer video-on-demand systems with a media server
CN116248685A (zh) 一种负载均衡方法和负载均衡系统、电子设备及存储介质
de Blas et al. Business Models and System Requirements for the COMET System
JP2013106283A (ja) データ配信経路決定システム、データ配信経路決定プログラム、データ配信経路決定方法

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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20130619

Termination date: 20151105

EXPY Termination of patent right or utility model