CN102484652A - 内容分发网络上的分块下载 - Google Patents

内容分发网络上的分块下载 Download PDF

Info

Publication number
CN102484652A
CN102484652A CN2010800381963A CN201080038196A CN102484652A CN 102484652 A CN102484652 A CN 102484652A CN 2010800381963 A CN2010800381963 A CN 2010800381963A CN 201080038196 A CN201080038196 A CN 201080038196A CN 102484652 A CN102484652 A CN 102484652A
Authority
CN
China
Prior art keywords
request
server
file
cdn
download
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN2010800381963A
Other languages
English (en)
Inventor
大G·N·珀迪
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.)
Apple Inc
Original Assignee
Apple Computer 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 Apple Computer Inc filed Critical Apple Computer Inc
Publication of CN102484652A publication Critical patent/CN102484652A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • 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/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • H04L61/4511Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
    • 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/40Support for services or applications
    • 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/1021Server selection for load balancing based on client or server locations
    • 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/1023Server selection for load balancing based on a hash applied to IP addresses or costs

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Information Transfer Between Computers (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

文件是按总起来构成整个文件的一系列字节范围或者块从内容分发网络(CDN)下载的。通过首先从域名服务器(DNS)请求能够方便文件按块下载的服务器地址,通过返回多于一个为该下载请求提供服务的服务器,客户端计算机可以从CDN请求文件。作为替代,DNS服务器可以指示客户个别地从DNS服务器请求文件的每个字节范围,使得它可以个别地把请求指向最优选的服务器。作为替代,由DNS返回的服务器可以把对一系列范围的请求重定向到其它服务器,以便同时为这一系列字节范围提供服务。

Description

内容分发网络上的分块下载
对相关申请的交叉引用
本申请请求于2009年8月28日提交且发明名称为“内容分发网络上的分块下载”的美国专利申请号12/550190的优先权,该申请在此全部引入作为参考。
技术领域
本技术涉及从内容分发网络下载文件,而且更具体地来说是针对从内容分发网络同时下载多个字节范围(range),这多个字节范围总起来构成一个完整的文件。
背景技术
互联网常常用来分发媒体、软件、应用程序及其它文件与内容。公司和其它内容提供商提供各种文件用于下载。例如,在娱乐行业,消费者可以购买音乐或电影来下载到他们的计算机上。在软件行业,消费者和用户可以购买软件和/或升级来下载到他们的计算机上。但是,为了让消费者和用户下载这些文件,文件必须在线寄存(host)。提供商寄存其提供的内容是很普遍的。但是,如果提供商寄存一个大量用户都想下载的受欢迎的文件,那么,由于所有这些大量的请求与发送,提供商的web服务器(该web服务器执行所请求数据向用户的实际发送)会变慢。因此,提供商使用内容分发网络(CDN),例如Akamai,来分发其文件的情况变得越来越普遍。
通过把文件上载到CDN服务器或者把CDN配置成根据需要从内容提供商提取文件,内容提供商使文件成为经CDN下载而可获得。CDN通常具有跨不同位置的多个web服务器,其中每个web服务器都高速缓存、存储或者以某种方式可以访问由提供商上载的文件。尽管所涉及的特定协议可能随时间而改变,但是在目前的实践当中,从内容提供商下载文件的用户请求是由CDN根据以下步骤处理的:首先,用户的计算机进行标准的域名服务(DNS)查询,来查找该文件宿主(host)的互联网协议(IP)地址。由CDN操作的DNS服务器处理这个DNS查询。然后,CDN确定用户应当从它的哪个web服务器,而不是从内容提供商的web服务器,下载该文件。其次,CDN利用所选宿主的IP地址对所述DNS查询作出响应。第三,用户计算机上的软件随后从该单个CDN web服务器下载整个文件。但是,从CDN中的单个web服务器下载整个文件是有缺陷的。
与在CDN中不同,在对等(Peer-To-Peer,P2P)文件共享网络中,用户尝试从彼此按块下载文件。在P2P网络中,每个用户一般可以找到多个源(peer,同位体),可以从这些源下载所需文件的不同块。因此,即使P2P源中的一个在下载的生命期中变慢,向用户的整体发送也不会受到显著影响。但是,在CDN中,由于用户一般是从单个web服务器下载整个文件,因此,如果该web服务器变慢(由于高工作负荷、网络拥塞,等等),则下载将受到显著影响(减慢或者甚至丢失)。此外,在P2P网络中,使用其它可用的源(同位体)来方便下载,而在CDN中,一般不利用其它合适的web服务器。以这种方式,在P2P网络中负载被分散并平衡,而CDN没有实现这种方式。不过,P2P网络也有缺点。由于与P2P网络关联的负面印象,公司和其它内容提供商对使用P2P网络分发其内容犹豫不决。在P2P网络中,对内容分发的控制较少(例如,任何同位体都可以与另一个同位体共享内容),这会导致内容的未授权使用(盗版、非法拷贝,等等)。此外,用户只有下载了附加的特定客户端软件以连接到相应的特定P2P网络,他/她才能使用P2P网络,由此使P2P网络的使用在用户侧更不透明。
存在对以下解决方案的需求,即使得CDN能够以可以提高整体下载速度的方式提供文件分段下载的解决方案。
发明内容
在此所公开的概念的附加特征与优点在随后的说明中阐述,而且部分地将从该说明中显而易见,或者可以通过所述技术的实践来学习。这些概念的特征与优点可以通过特别地在所附权利要求中指出的工具与组合来实现并获得。从以下说明和所附权利要求,所述技术的这些和其它特征将变得更加完全显而易见,或者可以通过在此所述的所公开概念的实践来学习。
所给出的公开内容说明了用于从内容分发网络(CDN)按块传递文件的计算机实现方法与布置。在此所公开的是用于修改现有CDN***或者客户设备上的现有软件以便通过同时下载构成一个文件的字节范围来从CDN下载文件的实施例。
在有些实施例中,客户将使用CDN的现有域名服务(DNS)请求在惯常的A-记录中的命名服务器的IP地址,其后从所返回的IP地址请求构成一个文件的字节范围。在这种实施例中,客户设备配置成向由所述IP地址识别的CDN端服务器重复请求期望文件的字节范围,而且还进一步配置成接收作为文件块的下载,这些块要由客户计算机重新组装。
在有些实施例中,DNS已经配置成接收并返回一种新类型的DNS条目,包括映射到可以为所请求下载提供服务的CDN端服务器候选的IP地址列表。在这些实施例中,客户可以从该DNS请求多IP地址查找,而且DNS可以返回具有映射到命名服务器的所有服务器IP地址列表的“块记录”(chunk-record)。其后,客户可以利用该块记录中的信息从其中所识别出的服务器请求字节范围。此外,客户配置成对构成一个文件的字节范围进行多个请求,而且可以接收作为文件块的下载,这些块要由客户计算机重新组装。
在有些实施例中,DNS可以返回惯常的A-记录,但是具有对A-记录的各种控制。例如,在这些实施例中,DNS可以返回具有短生存期(TTL)的A-记录,或者限制该A-记录使用的其它指令。客户可以请求命名服务器的IP地址而且DNS可以返回包括这种信息连同足够短TTL的A-记录,使得其只能用于对所识别出服务器进行一次请求。利用这种方法,尝试按块下载文件的客户将从在A-记录中识别出的端服务器请求第一个块,但是对于后续的块,客户将需要请求对构成该文件的下一个字节范围提供服务的服务器的IP地址。以这种方式,***可以重复地利用在DNS服务器中很普遍的智能路由能力,并平衡跨服务器CDN端服务器对给定文件的多个分块请求的负载。
在有些实施例中,CDN web服务器可以用来跨多个服务器路由下载请求。在这些实施例中,DNS服务器可以具有为任何其它所述实施例说明过的特征。客户将继续按字节范围对期望的文件进行请求,但是CDN web服务器可以接收下载请求并可选地为该请求提供服务或者把该请求重定向到CDN中的另一个服务器。以这种方式,为CDNweb服务器赋予了与DNS类似的路由逻辑,而且因此可以负载平衡跨多个服务器的一系列请求。
纵观这里所说明的实施例,DNS服务器可以具有可变程度的控制逻辑。例如,而且与短TTL实施例区分开或者除其之外,DNS还可以返回例如关于对任何给定服务器的请求次数的限制、最优服务器排名、对可容纳的字节范围的限制及在执行所述实施例中可能有用的其它控制逻辑的信息。
另外,在各种实施例中所说明的客户计算机可以配置成利用用于选择从哪些服务器请求字节范围、有多少同时发生的请求、请求的大小的优化逻辑及用于选择各种优化参数的其它这种逻辑。客户计算机还可以配置成在请求构成该文件的字节范围之前请求文件大小。
还公开了对执行所述实施例有用或者必要的各种设备,例如客户设备、CDN网络的组件。另外,还说明了设备和组件的***。类似地,所述实施例可以全都记录到其上存储了计算机可读指令的计算机可编程产品上,这些指令对于指示各种基于处理器的设备执行在此所述的方法是有用的。
附图说明
为了最好地说明实现上述实施例的方式,及定义所公开内容的其它优点和特征,更特定的说明在以下提供并在附图中阐释。应当理解,这些附图仅仅绘出了本发明的示例实施例,而且因此不应当认为是对范围进行限制,通过附图的使用,将更加具体和详细地说明和解释这些例子,其中:
图1图示了一种示例计算设备;
图2图示了一种示例***实施例;
图3图示了用于处理从给定地址进行文件下载的请求的方法实施例;
图4图示了用于处理从给定地址进行文件下载的请求的方法实施例;
图5图示了用于处理从给定地址进行文件下载的请求的方法实施例;
图6图示了一种示例***实施例;
图7图示了端服务器重定向实施例的方法实施例;
图8图示了端服务器重定向实施例的***实施例;及
图9图示了服务器的智能路由实施例。
具体实施方式
以下具体讨论所公开方法与布置的各种实施例。尽管在讨论具体实现,但是应当理解,这只是用于说明目的。相关领域技术人员将认识到,在不背离所公开内容的主旨与范围的情况下,可以使用其它的部件、配置和步骤。
参考图1,示出了可以是便携式或者是固定式的通用计算设备100,包括处理单元(CPU)120和把包括***存储器在内的各种***部件与处理单元120进行耦合的***总线110,其中***存储器例如只读存储器(ROM)140和随机存取存储器(RAM)150。其它的***存储器130也可以使用。可以认识到,***可以运行在具有一个以上CPU 120的计算设备上或者联网到一起的计算设备组或者簇上,以便提供更大的处理能力。***总线110可以是几种类型总线结构中的任何一种,包括存储器总线或者存储器控制器、***总线及利用多种总线结构中任何一种的局部总线。存储在ROM 140等中的基本输入/输出(BIOS)可以提供,例如在启动期间,帮助在计算设备100的元件之间传送信息的基本例程。计算设备100还包括存储设备,例如硬盘驱动器160、磁盘驱动器、光盘驱动器、磁带驱动器等。存储设备160通过驱动器接口连接到***总线110。驱动器和关联的计算机可读介质为计算设备100提供计算机可读指令、数据结构、程序模块和其它数据的非易失性存储。在一方面,执行特定功能的硬件模块包括存储在有形计算机可读介质中的软件部件,结合例如CPU、总线、显示器等所需的硬件部件来执行功能。基本部件对于本领域技术人员是已知的而且依赖于设备类型而预期适当的变形,设备类型例如设备是小的手持式计算设备、台式计算机还是大型计算机服务器。
尽管在此所述的示例性环境采用硬盘,但是本领域技术人员应当认识到,能够存储可被计算机访问的数据的其它类型的计算机可读介质,例如卡式磁带、闪存存储卡、数字化多功能光盘、盘式磁带、随机存取存储器(RAM)、只读存储器(ROM)等,也可以在示例性运行环境中使用。
为了启用与计算设备100的用户交互,输入设备190代表任意数量的输入机构,例如用于语音的麦克风、用于手势或者图形输入的触敏屏、键盘、鼠标、运动输入、语音等等。输入可以由给出者用于指示开始语音搜索查询。输出设备170也可以是本领域技术人员已知的多种输出机构中的一种或多种。例如,可以连接到或者可以包括显示器或扬声器的视频输出或者音频输出设备是很普遍的。此外,视频输出和音频输出设备还可以包括用于这些专用功能的增强性能的专用处理器。在一些例子中,多模态***(multimodal system)使用户能够提供多种输入类型以与计算设备100进行通信。通信接口180从总体上支配和管理用户输入与***输出。对于所公开的运行在任何特定硬件布置上的方法与设备没有约束,而且因此基本特征可以在改进的硬件或固件布置开发出来后容易地被其替换。
为了解释的清晰,说明性的***实施例作为包括个体的功能块(包括标记为“处理器”的功能块)给出。这些块所代表的功能可以通过共享或专用硬件的使用来提供,包括但不限于能够执行软件的硬件。例如,在图1中所给出的一个或多个处理器的功能可以由单个共享处理器或者多个处理器提供。(术语“处理器”的使用不应当解释为是排他地指能够执行软件的硬件。)说明性实施例可以包括微处理器和/或数字信号处理器(DSP)硬件、用于存储执行以下所讨论操作的软件的只读存储器(ROM)及用于存储结果的随机存取存储器(RAM)。也可以提供超大规模集成电路(VLSI)硬件实施例及定制VLSI电路***与通用DSP电路的组合。
各种实施例的逻辑操作实现为:(1)运行在通用计算机中可编程电路上的计算机实现的步骤、操作或过程序列,(2)运行在专用可编程电路中的计算机实现的步骤、操作或过程序列,和/或(3)可编程电路中的互连的机器模块或者程序引擎。
所给出的***和方法对于经内容分发网络(CDN)按块向用户分发文件特别有用。在高层,客户端计算机可以配置成以范围或块请求要下载的文件。例如,10兆字节的文件可以以字节范围1-3000000和3000001-6000000和6000001-10000000来下载,以便提供以三个不同块的下载。为了最大化下载的效率和速度,文件可以分成任何字节范围的任何数量的块。
在图2中图示用于为分块下载请求提供服务的CDN 200,其中CDN的至少一个端服务器218、220、222能够提供所请求文件204的块224、226、228,用于下载到客户端设备230、232。在有些实施例中,所给出的***和方法是经因特网连接而执行的,但是,所给出的原理可用于方便电子设备相互通信的很多种网络。
内容提供商202可以向CDN 200提供要寄存的文件204,用于让用户或者客户下载。为了把要下载的文件204发送到CDN,内容提供商202与CDN 200通信。这种通信可以或者可以不在互联网上进行。CDN的上级/根/父服务器206把文件208、212、216在整个CDN中分发,其中在CDN中可以或者可以没有中间网络210和/或中间级服务器214。CDN中任何等级的任何一个服务器206、210、214、218、220、222都可以利用计算设备来实现。通过把文件204在整个网络中分发,存在更大量的服务器为对给定文件的请求提供服务。此外,因为有大量的服务器为该请求提供服务,所以它们可以是地理上分布的,使得就地理上而言服务器可以对于请求文件下载的各个客户相对本地化(local)。
端服务器218、220、222通过把文件传递到请求该文件的客户来为下载请求提供服务。在图2所示的实施例中,多个端服务器218、220、222为按块224、226、228下载文件204的请求提供服务。端服务器218把块224发送到客户230,同时服务器220发送块226,而服务器222发送块228。还示出了从多个端服务器按块接收文件的用户设备232。
在图2中还示出了域名服务(DNS)238,它是CDN 200的一部分。DNS接收对基于由客户提供的URL的IP地址的请求并且返回识别为下载请求提供服务的端服务器的IP地址的DNS地址记录(A-记录)。客户使用所返回的IP地址直接联系该端服务器。如本领域中已知的,基于网络效率参数,例如与请求源的地理接近性、带宽、网络拥塞及可以用于识别能够最有效地为该请求提供服务的端服务器的其它参数,DNS能够确定哪个端服务器应当为该请求提供服务。换句话说,通过向客户返回可以最有效地为该下载请求提供服务的端服务器的IP地址,DNS能够智能地对下载请求进行路由。
在有些实施例中,DNS基于除网络效率参数以外的其它参数返回端服务器的IP地址。例如,在有些实施例中,DNS可以返回与最近返回到同一客户端计算机的地址不同的端服务器的IP地址。
在有些实施例中,DNS可以进一步修改成接受对新类型DNS记录,块记录,的请求,这种块记录包含对应于有可能为下载请求提供服务的几个端服务器的IP地址列表。
图3-5图示了所述***的实施例,该***依赖于DNS为客户提供将为下载请求提供服务的端服务器的IP地址。例如,在图3中,惯常的DNS接收对于对应于所提供URL的IP地址的请求302并且返回具有映射到可以为该请求提供服务的CDN端服务器的IP地址的A-记录304。如以上所讨论的,DNS可以基于关于网络效率的信息和关于内容分发网络的信息来选择适当的端服务器。利用所返回的IP地址,客户请求构成期望文件一部分的第一字节范围而且CDN端服务器接收并为请求提供服务306。同时或者接近同时,客户从同一服务器请求第二字节范围308并继续请求附加的字节范围310,直到所有的字节范围都已经请求或者整个文件已经下载。在有些实施例中,客户还可以为任何新的字节范围重复在302开始的该过程。
图4图示了其中DNS可以修改成返回新类型记录的实施例,该记录具有可以为下载请求提供服务的几个CDN端服务器的IP地址,这种记录类型在下文中称为块记录(chunk-record)。客户可以发送而DNS接收对对应于给定URL的多地址查找的请求315。响应于请求315,DNS可以返回包括可用于为请求提供服务的服务器列表的块记录316。利用这个服务器列表,客户可以进行由CDN 317、318、319接收的多个请求。每个请求可以是构成整个文件的分开的或者重叠的字节范围。每个请求可以发送到同一个CDN端服务器,但是优选地,请求将在对应于块记录中所包含的IP地址列表的服务器中分布。
在这些实施例中,是客户端设备最终决定从块记录中所代表的哪个端服务器请求字节范围。客户可以利用循环类型的选择处理来进行这种选择,其中客户可以循环地从块记录中识别出的服务器进行请求。作为替代,客户可以随机地从该列表中选择一个IP地址用于对字节范围的任何给定请求。但是,在有些实施例中,客户可以有某种程度的智能***,其中客户可以基于优化逻辑选择块记录中所识别出的服务器。例如,客户可以监视来自各个IP地址的请求的下载速度并且更经常地重新使用执行最佳的服务器。客户还可以监视已经请求的下载,以便确定当其从该同一服务器进行多次请求时是否能获得任何好处,并且相应地对该服务器进行新的请求。也可以用其它的优化逻辑来选择从哪些IP地址请求要下载的文件的块。另外,应当认识到,以上所述的一个或多个特征在示例性实施例之外也可以是有用的,而且这些特征不应当认为是特定于这种实施例的。
在有些实施例中,在316返回的块记录还可以包括关于该记录中所列出的服务器的附加信息。例如,特别的A-记录还可以包括服务器的排名,指示哪个服务器最适于为一个请求提供服务。块记录还可以包括关于应当从一个特定服务器最优地请求多大字节范围的信息。其它信息也可以是有用的而且可以包括在块记录中,例如说明用户设备位置的信息、说明关于CDN端服务器上网络拥塞的信息、说明要由该CDN端服务器提供服务的请求量的信息,等等。
图5图示了其中DNS服务器返回具有非常低的生存时间(TTL)的惯常的A-记录的实施例。DNS从客户接收对IP地址的请求320而且DNS把具有非常低TTL的A-记录返回给客户323。TTL应当足够短,使得返回到该客户的任何记录都将只能生存(用于)足以连接到所返回的IP地址一次。相应地,TTL应当小于一分钟而且更优选地是小于一秒钟。在有些实施例中,TTL小于100毫秒。当客户接收到具有低TTL的A-记录时,客户从该A-记录中所识别出的IP地址请求文件的第一范围326。CDN中的端服务器可以随后开始为该请求提供服务。同时,有可能在320、323和326被执行的同时,客户可以从DNS请求文件的第二块321,其中DNS将重新计算满足该请求的最佳服务器并在324返回另一个具有短TTL的A-记录中的该服务器的IP地址。接下来,在327,客户可以从A-记录中所识别出的为该请求提供服务的服务器请求第二块。该方法可以继续,直到所有的块都被请求或者下载。例如,在下载第一和第二块的同时,该方法以反复的方式继续,请求另外的字节范围322、接收具有低TTL的A-记录325并从A-记录中所识别出的服务器请求下一个块328。
图6示出了一种***实施例。客户端设备330从DNS服务器332请求对应于提供要下载文件的命名服务器的IP地址334。DNS服务器332与CDN 340中的其它计算机进行通信342,以监视它们处理附加请求的能力、处理有范围请求的能力、网络拥塞及其它在把请求智能路由到可以最有效地为该请求提供服务的端服务器344中有帮助的因素。DNS 332把一个或多个端服务器的IP地址传送336到客户。客户按块从CDN 340请求339文件并在一系列两次或多次通信338中接收文件的块。
图7图示了执行通过使端服务器能够重定向下载请求来利用CDN的端服务器以方便按块下载文件的实施例的方法。在这些实施例中,每个CDN端服务器都可以访问说明用户设备位置的信息、说明其它CDN端服务器工作负荷、可用性、网络拥塞等的信息。换句话说,CDN端服务器配置成具有与DNS服务器类似的智能路由能力。
如图7中所图示的,DNS服务器从客户400接收对命名服务器的IP地址的请求。DNS服务器可选地通知该客户CDN能够提供分块下载服务402并返回为文件下载请求提供服务的端服务器的第一IP地址404。当第一端服务器接收到下载文件的请求时406,该端服务器处理该请求以确定该请求是否是有范围的请求408。如果该请求是下载整个文件的请求,则第一端服务器可以把该请求重定向410到第二端服务器,为该请求提供服务412。该第二端服务器是由第一端服务器基于第一端服务器的智能路由能力(类似于以上所述的DNS能力)来选择的,这种选择可以把第二端服务器识别为能够更好地处理该请求。但是,在有些实施例中,第一端服务器也可以确定它最适于为该请求提供服务,然后自己为该请求提供服务。
返回到408,如果请求是有范围的请求,则第一端服务器可以假设附加的请求即将到来,并且使用其智能路由能力选择为当前有范围请求部分提供服务的服务器并把客户重定向到那个服务器414。客户被重定向到的端服务器随后为该请求提供服务416。同时,第一端服务器还可以接收所请求文件的第二或者下一个字节范围418并且把该请求重定向420到与由那个服务器提供服务的先前任何一个范围相同或者不同的服务器422。接收对字节范围的请求和把该请求重定向到新服务器并为该请求提供服务的处理可以继续424,直到所有的字节都得到服务或者已经下载。
在有些实施例中,接收请求的第一端服务器可以自己为该请求提供服务。如果第一端服务器确定它最适于为该请求提供服务,这可能是期望的。在有些实施例中,有些端服务器被编程为总是为请求提供服务并且从不重定向,以防止无止尽的重定向。在还有一些实施例中,请求被定向的次数被记录,并且对允许重定向的次数设置限制。在这种实施例中,接收到已经超过被允许重定向次数限制的重定向请求的任何服务器必须为该请求提供服务。
重定向的处理可以是本领域中已知的任何处理,例如,通过终止请求或者通过指示客户再次请求字节。
图8图示了端服务器重定向实施例的***实施例。该图图示了CDN的一部分,其中CDN的两个分支位于不同的城市。中间服务器434和436从网络的其余部分接收文件并且把它们分发到同一城市中的端服务器。如图示,服务器434可以把文件分发到端服务器438、440、442,所有这些端服务器都位于城市1。同样,服务器436可以把文件分发到端服务器444、446、448,所有这些端服务器都位于城市2。
对于构成要下载的文件的第一字节范围的初始请求,客户端计算机430从DNS 432请求IP地址而且DNS以A-记录的形式返回附近的端服务器的IP地址以处理该请求。客户430与DNS 432之间的通信如452所示。
客户430随后利用由DNS 432给予客户430的、定位端服务器438的IP地址来向端服务器438进行有范围的请求450。不是自己为该请求提供服务,端服务器438确定端服务器440能更好地为该请求提供服务并且把客户端计算机430重定向454到端服务器440,端服务器440随后为该请求提供服务456。
当客户端计算机430进行任何后续的请求时,不必再次查询DNS432,因为客户端计算机可以高速缓存之前接收到的A-记录。但是,在有些实施例中,客户430与DNS 432之间进一步的通信可以发生。例如,如果A-记录具有短TTL或者后续请求在最初的请求之后很长时间才来,则会期望与DNS的额外通信。
但是,假定不期望或者不需要与DNS的通信,则客户430把后续的有范围请求发送458到在A-记录中识别出的端服务器,在这个例子中是端服务器438。端服务器438再次计算为该请求提供服务的最佳端服务器并且确定服务器446是最佳的服务器。注意,即使服务器446在不同的城市,也可以选择。端服务器438把请求重定向460到服务器446,服务器446为请求提供服务462。
图9图示了确定为分块请求提供服务的最佳端服务器的方法。如以上所提到的,这种确定可以由DNS服务器和/或由CDN端服务器执行。为了智能路由所接收到的下载请求,DNS或者端服务器接收并处理多个输入,包括但不限于,端服务器是否处理分块请求807、用户设备的位置800、与用户设备拓扑相邻(或者靠近)的每个端服务器的位置802、端服务器与客户的地理接近性803、用户设备附近的每个端服务器的工作负荷804、用户设备附近的每个端服务器的可用性806、网络拥塞808,等等。基于这些输入,为每个可用的端服务器计算代表端服务器为特定文件的特定请求提供服务的能力的质量得分810。情况可能不是最靠近用户设备的端服务器是为请求提供服务的最期望的服务器。例如,如果更接近的服务器具有更高的工作负荷或者不可用,则地理上更靠近的端服务器可能被认为不如离请求下载的客户端设备更远的端服务器更适合为该请求提供服务。排名列表可以基于所述质量得分生成812。DNS服务器或者端服务器经返回服务器模块816把由服务器排名模块814确定的至少一个具有相对高质量得分的端服务器的IP地址返回给客户820。
在有些实施例中,端服务器还可以配置成利用相同的技术确定该端服务器或者其它的端服务器是否是为一个请求提供服务的最期望服务器。在这种情况下,端服务器可以返回其它端服务器的质量得分并且,基于那些得分,端服务器可以自己为该请求提供服务或者把客户重定向到更期望的端服务器。
关于这里所说明的实施例,用户侧也可以拥有特定功能,以便适当地处理分块。如果用户侧不具有处理分块下载的功能,则它将仅仅是以非分块方式下载文件(例如,用户设备从CDN中的一个端服务器下载整个文件)。特殊的功能性可以经下载管理软件或者经具有处理分块下载的内置功能的web浏览器来实现,其中下载管理软件是用户需要获取的。一个特殊的功能性可以是具有请求并使用由DNS服务器CDN发送的块记录的能力。此外,在用户侧的一个关键功能性是处理所下载的文件块并把它们重新组合成原始文件的能力。
尽管以上所说明和说明的方法已经作为单独的实施例进行了说明,但是应当认识到,每个实施例的元素都可以应用到其它实施例中而且,因此,它们不应当认为是彼此排斥的。
本发明范围内的实施例还可以包括用于承载或者具有存储在其上的计算机可执行指令或数据结构的计算机可读介质。这种计算机可读介质可以是可以被通用或专用计算机访问的任何可用介质。作为例子,但不是限制,这样的有形的计算机可读介质可以包括RAM、ROM、EEPROM、CD-ROM或者其它的光盘储存器、磁盘储存器或者其它的磁性存储设备,或者可以用于承载或存储计算机可执行指令或数据结构形式的期望程序代码方法的任何其它介质。计算机可执行指令包括,例如,使通用计算机、专用计算机或者专用处理设备执行某个功能或者功能组的指令和数据结构。计算机可执行指令还包括由独立或网络环境中的计算机执行的程序模块。总的来说,程序模块包括执行特定任务或者实现特定抽象数据类型的例程、程序、对象、组件和数据结构。计算机可执行指令、关联的数据结构和程序模块代表用于执行在此所公开的方法步骤的程序代码方法的例子。这种可执行指令或者关联的数据结构的特定序列代表用于实现这些步骤中所说明的功能的对应动作的例子。
本领域技术人员将认识到,本发明的其它实施例可以在具有多种类型的计算机***配置的网络计算环境中实践,多种类型的计算机***配置包括个人计算机、手持式设备、多处理器***、基于微处理器的或者可编程的消费类电子产品、网络PC、迷你计算机、大型计算机,等等。实施例还可以在分布式计算环境中实践,分布式计算环境中任务是由通过通信网络链接(通过硬连线链路、无线链路或者通过其组合)的本地和远程处理设备执行的。在分布式计算环境中,程序模块可以同时位于本地和远程存储器存储设备中。
所述***各个级别的通信可以通过局域网、令牌环网、因特网、企业内联网、802.11系列无线信号、光纤网络、无线电或微波发送等来执行。尽管底层的通信技术可能改变,但在此所说明的基本原理仍然是可用的。
以上所述的各种实施例仅仅是作为示例提供的而且不应当认为是限制本发明。本领域技术人员将认识到,在不遵循在此所阐释和说明的示例实施例和应用而且不背离本公开内容的真正主旨与范围的情况下,可以对本发明进行各种修改和变化。

Claims (16)

1.用于按块从内容分发网络传递文件的方法,包括:
在域名服务(DNS)处从客户接收对于客户能够从其按块下载文件的服务器的IP地址的DNS请求;
处理该DNS请求,以确定内容分发网络的所述服务器的地址来为该请求提供服务;
将该服务器的地址返回到客户;
在该服务器处接收对所述文件的有范围下载请求;及
为所述下载请求提供服务。
2.如权利要求1所述的方法,其中所述服务器包括至少两个服务器。
3.如权利要求1-2中任何一项所述的方法,还包括:
在接收该有范围请求之前从客户接收返回所指定文件的大小的字节请求并把文件的大小返回给客户。
4.如权利要求1-3中任何一项所述的方法,其中来自客户的按块下载文件的请求包括对该文件不同指定字节范围的一系列下载请求。
5.如权利要求1-4中任何一项所述的方法,其中DNS返回具有短的生存期(TTL)的服务器的IP地址,由此这一系列顺序请求中的每一个都被重新处理。
6.如权利要求1-5中任何一项所述的方法,其中DNS请求是对多个IP地址的请求。
7.如权利要求1-6中任何一项所述的方法,其中DNS返回包括为下载请求提供服务的多个服务器的块记录。
8.如权利要求7所述的方法,其中所接收到的有范围下载请求是在所述块记录中返回的两个或多个服务器处接收到的。
9.一种其上存储了计算机可读代码的计算机可读介质,所述代码用于使计算机执行一种方法,该方法包括如权利要求1-8中任何一项所述的方法。
10.一种用于对文件的基于网络传递的***,包括:
内容分发网络(CDN)中的至少一个CDN服务器被配置成用于接收分段下载文件的请求,其中CDN服务器接收对构成整个文件的多个文件片段的多个请求,并进一步配置成通过同时发送至少两个范围的至少一部分来为该请求提供服务。
11.如权利要求10所述的***,还包括:
域名服务(DNS)服务器,用于一开始从客户接收IP地址请求并且一接收到该请求就确定至少一个为该下载请求提供服务的首选CDN服务器并把该至少一个CDN服务器的IP地址返回给客户。
12.如权利要求11所述的***,其中所述至少一个CDN服务器是第一CDN服务器,当它接收到分段下载文件的请求时,该第一CDN服务器被配置成对每个接收到的请求确定是否第二CDN服务器更适合为该请求提供服务,而且如果第一CDN服务器确定该第二CDN服务器更适合,则第一CDN服务器被配置成把所述请求重定向到第二CDN服务器以为该请求提供服务。
13.一种设备,包括:
处理器,配置成作出下载文件字节范围的一系列请求,这一系列请求总起来包括对构成整个文件的整个字节范围的请求;及
通信接口,配置成从处理器接收这一系列下载请求并把它们发送到用于提供服务的内容分发网络(CDN),并且配置成同时从该内容分发网络接收至少两个不同字节范围的至少一部分。
14.如权利要求13所述的设备,其中处理器还配置成用于运行被编程为按一系列字节范围下载文件的web浏览器。
15.如权利要求13所述的设备,其中处理器还配置成用于从CDN接受重定向指令并遵循该重定向指令,从所述CDN网络中的第二服务器接收所述字节范围。
16.如权利要求13所述的设备,其中处理器还配置成执行优化逻辑,以确定以下至少一个:同时要发出多少下载请求及应当从哪个服务器请求所述字节范围。
CN2010800381963A 2009-08-28 2010-08-17 内容分发网络上的分块下载 Pending CN102484652A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/550,190 2009-08-28
US12/550,190 US20110055312A1 (en) 2009-08-28 2009-08-28 Chunked downloads over a content delivery network
PCT/US2010/045771 WO2011025694A1 (en) 2009-08-28 2010-08-17 Chunked downloads over a content delivery network

Publications (1)

Publication Number Publication Date
CN102484652A true CN102484652A (zh) 2012-05-30

Family

ID=43012626

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2010800381963A Pending CN102484652A (zh) 2009-08-28 2010-08-17 内容分发网络上的分块下载

Country Status (6)

Country Link
US (1) US20110055312A1 (zh)
EP (1) EP2454868A1 (zh)
JP (1) JP5514315B2 (zh)
KR (1) KR101424362B1 (zh)
CN (1) CN102484652A (zh)
WO (1) WO2011025694A1 (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103209222A (zh) * 2013-04-24 2013-07-17 网宿科技股份有限公司 内容分发网络中对重叠乱序的范围请求的处理方法及装置
WO2016070720A1 (zh) * 2014-11-03 2016-05-12 广州市动景计算机科技有限公司 文件下载的方法及装置、计算设备及非暂时性机器可读存储介质
CN106550023A (zh) * 2016-10-31 2017-03-29 北京百度网讯科技有限公司 一种用于为用户提供指定文件分块的方法与装置
CN108134811A (zh) * 2017-11-10 2018-06-08 广州优视网络科技有限公司 目标文件分发或下载的方法、装置和***
CN105069074B (zh) * 2015-07-30 2018-11-20 江苏天联信息科技发展有限公司 策略配置文件处理方法、装置和***
CN111093110A (zh) * 2019-12-03 2020-05-01 华为技术有限公司 一种http请求传输方法及设备
CN112653760A (zh) * 2020-12-22 2021-04-13 平安银行股份有限公司 跨服务器的文件传输方法、装置、电子设备及存储介质
CN113300936A (zh) * 2021-02-01 2021-08-24 阿里巴巴集团控股有限公司 Cdn节点、边缘节点的信令适配方法、设备及存储介质
CN113873048A (zh) * 2020-06-12 2021-12-31 腾讯科技(上海)有限公司 应用下载平台中应用包的下载方法及***
CN115022278A (zh) * 2022-06-02 2022-09-06 上海哔哩哔哩科技有限公司 Cdn处理方法和***

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7240100B1 (en) * 2000-04-14 2007-07-03 Akamai Technologies, Inc. Content delivery network (CDN) content server request handling mechanism with metadata framework support
US20230023917A1 (en) * 2001-03-09 2023-01-26 Oliver Wendel Gamble Method and System for Selective broadcasting of Instructions or Media Content to Targeted Electronic Devices Using a Modular Format
US8626876B1 (en) 2012-11-28 2014-01-07 Limelight Networks, Inc. Intermediate content processing for content delivery networks
EP2638686B1 (en) * 2010-11-08 2018-10-10 Telefonaktiebolaget LM Ericsson (publ) Method and apparatus for enabling dns redirection in mobile telecommunication systems
US9253164B2 (en) 2011-09-12 2016-02-02 Microsoft Technology Licensing, Llc Distribution of portions of content
KR101397592B1 (ko) * 2012-03-21 2014-05-20 삼성전자주식회사 멀티미디어 콘텐츠를 수신하기 위한 방법 및 장치
CN103379167A (zh) * 2012-04-28 2013-10-30 鸿富锦精密工业(深圳)有限公司 多点同步存储的文件下载异常处理***及方法
US9740708B2 (en) 2012-05-01 2017-08-22 Everbridge, Inc. Systems and methods for distance and performance based load balancing
US9391855B2 (en) 2012-05-09 2016-07-12 Everbridge, Inc. Systems and methods for simulating a notification system
MY155815A (en) 2012-12-18 2015-12-02 Mimos Berhad System and method for dynamically allocating an application session manager at runtime
US10097503B2 (en) 2013-09-27 2018-10-09 Fastly, Inc. Content node network address selection for content delivery
KR102148147B1 (ko) * 2013-10-21 2020-08-26 에스케이텔레콤 주식회사 컨텐츠 전송 방법 및 이를 위한 장치
KR101525541B1 (ko) * 2013-12-18 2015-06-03 (주) 엔에프랩 콘텐츠 딜리버리 네트워크 서비스 시스템 및 방법
JP6245277B2 (ja) * 2014-01-06 2017-12-13 富士通株式会社 通信管理システム、通信管理方法及び管理装置
US10044609B2 (en) 2014-02-04 2018-08-07 Fastly, Inc. Communication path selection for content delivery
US20150263985A1 (en) * 2014-03-13 2015-09-17 Jpmorgan Chase Bank, N.A. Systems and methods for intelligent workload routing
KR102269594B1 (ko) * 2015-02-09 2021-06-28 삼성전자 주식회사 컨텐츠 전송 네트워크 시스템에서 서버 간의 정보 송수신 방법 및 장치
US10142411B2 (en) * 2015-05-29 2018-11-27 Microsoft Technology Licensing, Llc Dynamic swarm segmentation
US10412168B2 (en) * 2016-02-17 2019-09-10 Latticework, Inc. Implementing a storage system using a personal user device and a data distribution device
CN105978936A (zh) * 2016-04-25 2016-09-28 乐视控股(北京)有限公司 Cdn服务器及其缓存数据的方法
JP2018156606A (ja) * 2017-03-21 2018-10-04 東芝メモリ株式会社 通信制御装置、通信制御方法およびコンピュータプログラム
US10536275B2 (en) * 2017-05-10 2020-01-14 Microsoft Technology Licensing, Llc Verification of downloaded subsets of content
JP6717548B2 (ja) * 2017-07-21 2020-07-01 日本電信電話株式会社 トラヒック制御システム及び方法
US10951735B2 (en) * 2017-11-07 2021-03-16 General Electric Company Peer based distribution of edge applications
JP7003705B2 (ja) * 2018-02-06 2022-01-21 日本電信電話株式会社 サーバ選択装置、サーバ選択方法及びプログラム
CN109040190B (zh) * 2018-07-02 2022-03-22 咪咕文化科技有限公司 一种调度方法、装置及计算机可读存储介质
US11144340B2 (en) * 2018-10-04 2021-10-12 Cisco Technology, Inc. Placement of container workloads triggered by network traffic for efficient computing at network edge devices
CN109542988A (zh) * 2018-10-19 2019-03-29 深圳点猫科技有限公司 一种大数据的更新方法及电子设备
US10795662B2 (en) * 2019-02-11 2020-10-06 Salesforce.Com, Inc. Scalable artifact distribution
CN112235402B (zh) * 2020-10-14 2023-04-07 杭州安恒信息技术股份有限公司 一种网络回源方法、网络回源***及相关装置
KR20220073430A (ko) 2020-11-26 2022-06-03 삼성에스디에스 주식회사 청크 분할을 이용한 파일 전송 방법 및 장치
US20220303337A1 (en) * 2021-01-27 2022-09-22 Oracle International Corporation Load balancing agent
CN112769958B (zh) * 2021-02-05 2022-10-04 上海哔哩哔哩科技有限公司 点对点网络调度方法和***
CN113891176B (zh) * 2021-10-08 2023-12-08 中移(杭州)信息技术有限公司 基于hls的点播流量控制方法、装置、设备及存储介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040078487A1 (en) * 2002-10-17 2004-04-22 International Business Machines Corporation Network address cache apparatus and method
CN1856776A (zh) * 2003-09-30 2006-11-01 索尼株式会社 内容获得方法
CN101146022A (zh) * 2006-09-11 2008-03-19 思华科技(上海)有限公司 节点重叠内容分发网络
CN101146021A (zh) * 2006-09-11 2008-03-19 思华科技(上海)有限公司 内容分发网络的路由***及方法
CN101202684A (zh) * 2006-12-15 2008-06-18 中国电信股份有限公司 在内容分发网络中进行用户就近性判断的方法
CN101242422A (zh) * 2007-02-06 2008-08-13 中国电信股份有限公司 适应多业务融合的内容分发网络***和方法
CN101437131A (zh) * 2008-12-31 2009-05-20 中兴通讯股份有限公司 一种视频监控***中前端录像的定制方法及装置
CN101501669A (zh) * 2005-11-21 2009-08-05 杰出网络公司 域名解析资源分配

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6185598B1 (en) * 1998-02-10 2001-02-06 Digital Island, Inc. Optimized network resource location
US6396830B2 (en) * 1998-06-18 2002-05-28 Lucent Technologies Inc. Implementing network services over the internet through dynamic resolution of personal host names
US7685311B2 (en) * 1999-05-03 2010-03-23 Digital Envoy, Inc. Geo-intelligent traffic reporter
US6754699B2 (en) * 2000-07-19 2004-06-22 Speedera Networks, Inc. Content delivery and global traffic management network system
DE60111072T2 (de) * 2000-10-26 2006-01-26 Prismedia Networks, Inc., San Jose Verfahren und vorrichtung zur parallelen nachrichtenübermittlung in echtzeit von dateisegmentierten
US6970939B2 (en) * 2000-10-26 2005-11-29 Intel Corporation Method and apparatus for large payload distribution in a network
US7340530B2 (en) * 2001-01-17 2008-03-04 International Business Machines Corporation Methods, for providing data from network secure communications in a cluster computing environment
US6907525B2 (en) * 2001-08-14 2005-06-14 Riverhead Networks Inc. Protecting against spoofed DNS messages
JPWO2003027858A1 (ja) * 2001-09-19 2005-01-13 アクセリア株式会社 コンテンツサーバ防衛システム
US9087319B2 (en) * 2002-03-11 2015-07-21 Oracle America, Inc. System and method for designing, developing and implementing internet service provider architectures
US7289519B1 (en) * 2002-05-01 2007-10-30 Cisco Technology, Inc. Methods and apparatus for processing content requests using domain name service
US6874015B2 (en) * 2002-12-16 2005-03-29 International Business Machines Corporation Parallel CDN-based content delivery
JP4306365B2 (ja) * 2003-08-07 2009-07-29 ソニー株式会社 サーバ及びコンテンツ受信装置
JP2005086362A (ja) * 2003-09-05 2005-03-31 Matsushita Electric Ind Co Ltd データ多重化方法、データ送信方法およびデータ受信方法
JP2005222295A (ja) * 2004-02-05 2005-08-18 Oki Electric Ind Co Ltd ファイル転送方法
US7444371B2 (en) * 2004-03-11 2008-10-28 At&T Intellectual Property Ii, L.P. Method and apparatus for limiting reuse of domain name system response information
JP4626395B2 (ja) * 2004-08-30 2011-02-09 オンキヨー株式会社 センターサーバーおよびその動作方法
US20060184688A1 (en) * 2005-02-17 2006-08-17 Nec Laboratories America, Inc. System and Method for Parallel Indirect Streaming of Stored Media from Multiple Sources
JP4729987B2 (ja) * 2005-06-02 2011-07-20 富士ゼロックス株式会社 データ管理システム及びデータサーバ
US20080072264A1 (en) * 2006-08-02 2008-03-20 Aaron Crayford Distribution of content on a network
US7539762B2 (en) * 2006-08-15 2009-05-26 International Business Machines Corporation Method, system and program product for determining an initial number of connections for a multi-source file download
EP2080105A4 (en) * 2006-09-06 2011-03-02 Akamai Tech Inc CONTENT DISSEMINATION NETWORK (CDN) AND HYBRID POST-TO-POST NETWORK (P2P)
US20080168516A1 (en) * 2007-01-08 2008-07-10 Christopher Lance Flick Facilitating Random Access In Streaming Content
US7970891B1 (en) * 2007-01-17 2011-06-28 Google Inc. Tracking links in web browsers
US7689671B2 (en) * 2007-03-09 2010-03-30 International Business Machines Corporation System and method for multiple IP addresses during domain name resolution
US8554941B2 (en) * 2007-08-30 2013-10-08 At&T Intellectual Property I, Lp Systems and methods for distributing video on demand
US7970820B1 (en) * 2008-03-31 2011-06-28 Amazon Technologies, Inc. Locality based content distribution
US8180896B2 (en) * 2008-08-06 2012-05-15 Edgecast Networks, Inc. Global load balancing on a content delivery network
US20100094967A1 (en) * 2008-10-15 2010-04-15 Patentvc Ltd. Large Scale Distributed Content Delivery Network
US8103780B2 (en) * 2008-12-18 2012-01-24 At&T Intellectual Property I, Lp Systems and methods for determining the location of a request on a content delivery network
US20100180011A1 (en) * 2009-01-12 2010-07-15 Microsoft Corporation Url based retrieval of portions of media content
US9948708B2 (en) * 2009-06-01 2018-04-17 Google Llc Data retrieval based on bandwidth cost and delay
US9807468B2 (en) * 2009-06-16 2017-10-31 Microsoft Technology Licensing, Llc Byte range caching

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040078487A1 (en) * 2002-10-17 2004-04-22 International Business Machines Corporation Network address cache apparatus and method
CN1856776A (zh) * 2003-09-30 2006-11-01 索尼株式会社 内容获得方法
CN101501669A (zh) * 2005-11-21 2009-08-05 杰出网络公司 域名解析资源分配
CN101146022A (zh) * 2006-09-11 2008-03-19 思华科技(上海)有限公司 节点重叠内容分发网络
CN101146021A (zh) * 2006-09-11 2008-03-19 思华科技(上海)有限公司 内容分发网络的路由***及方法
CN101202684A (zh) * 2006-12-15 2008-06-18 中国电信股份有限公司 在内容分发网络中进行用户就近性判断的方法
CN101242422A (zh) * 2007-02-06 2008-08-13 中国电信股份有限公司 适应多业务融合的内容分发网络***和方法
CN101437131A (zh) * 2008-12-31 2009-05-20 中兴通讯股份有限公司 一种视频监控***中前端录像的定制方法及装置

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103209222A (zh) * 2013-04-24 2013-07-17 网宿科技股份有限公司 内容分发网络中对重叠乱序的范围请求的处理方法及装置
WO2016070720A1 (zh) * 2014-11-03 2016-05-12 广州市动景计算机科技有限公司 文件下载的方法及装置、计算设备及非暂时性机器可读存储介质
CN105635217A (zh) * 2014-11-03 2016-06-01 广州市动景计算机科技有限公司 文件下载的方法及装置
CN105635217B (zh) * 2014-11-03 2019-07-26 广州市动景计算机科技有限公司 文件下载的方法及装置
CN105069074B (zh) * 2015-07-30 2018-11-20 江苏天联信息科技发展有限公司 策略配置文件处理方法、装置和***
CN106550023A (zh) * 2016-10-31 2017-03-29 北京百度网讯科技有限公司 一种用于为用户提供指定文件分块的方法与装置
CN108134811A (zh) * 2017-11-10 2018-06-08 广州优视网络科技有限公司 目标文件分发或下载的方法、装置和***
CN111093110B (zh) * 2019-12-03 2021-02-12 华为技术有限公司 一种http请求传输方法及设备
CN111093110A (zh) * 2019-12-03 2020-05-01 华为技术有限公司 一种http请求传输方法及设备
US11997328B2 (en) 2019-12-03 2024-05-28 Huawei Technologies Co., Ltd. HTTP request transmission method and device
CN113873048A (zh) * 2020-06-12 2021-12-31 腾讯科技(上海)有限公司 应用下载平台中应用包的下载方法及***
CN113873048B (zh) * 2020-06-12 2023-05-12 腾讯科技(上海)有限公司 应用下载平台中应用包的下载方法及***
CN112653760A (zh) * 2020-12-22 2021-04-13 平安银行股份有限公司 跨服务器的文件传输方法、装置、电子设备及存储介质
CN112653760B (zh) * 2020-12-22 2023-03-24 平安银行股份有限公司 跨服务器的文件传输方法、装置、电子设备及存储介质
CN113300936A (zh) * 2021-02-01 2021-08-24 阿里巴巴集团控股有限公司 Cdn节点、边缘节点的信令适配方法、设备及存储介质
CN113300936B (zh) * 2021-02-01 2023-04-14 阿里巴巴集团控股有限公司 Cdn节点、边缘节点的信令适配方法、设备及存储介质
CN115022278A (zh) * 2022-06-02 2022-09-06 上海哔哩哔哩科技有限公司 Cdn处理方法和***

Also Published As

Publication number Publication date
EP2454868A1 (en) 2012-05-23
KR101424362B1 (ko) 2014-08-12
JP5514315B2 (ja) 2014-06-04
KR20120062845A (ko) 2012-06-14
JP2013503390A (ja) 2013-01-31
US20110055312A1 (en) 2011-03-03
WO2011025694A1 (en) 2011-03-03

Similar Documents

Publication Publication Date Title
CN102484652A (zh) 内容分发网络上的分块下载
US11570271B2 (en) Differentiated smart sidecars in a service mesh
CN1197027C (zh) 计算机网络的分布式宿主构架,网页供应和内容传送方法
JP5697675B2 (ja) データ通信高速化および効率化のためのシステムおよびその方法
US7133933B2 (en) Content synchronization frameworks using dynamic attributes and file bundles for connected devices
CN102067094B (zh) 高速缓存优化
RU2343536C2 (ru) Механизм одноранговой широковещательной передачи информационного содержания
US8655985B2 (en) Content delivery using multiple sources over heterogeneous interfaces
JP3994057B2 (ja) エッジ・サーバ・コンピュータを選択する方法およびコンピュータ・システム
CN108886525A (zh) 智能域名***转发的方法和装置
CN103930880B (zh) 数据发送和接收***
CN100407627C (zh) 一种实现端到端文件共享的***及方法
KR20210036226A (ko) 복수의 엣지와 클라우드를 포함하는 분산 컴퓨팅 시스템 및 이의 적응적 지능 활용을 위한 분석 모델 제공 방법
CN1605072A (zh) 利用代理下载数据的***和方法
CN1439134A (zh) 实现移动个人化计算环境***的智能卡
CN1528079A (zh) 用于对等服务的方法和装备
WO2003010686A2 (en) Accessing information content
CN102387220A (zh) 一种基于云存储的离线下载的方法及其***
JPH10320337A (ja) 分散データ管理方法
US20190245912A1 (en) Optimizing internet data transfers using an intelligent router agent
CN105339921A (zh) 为常规因特网用户提高数据传输率的方法和***
CN103294610A (zh) 可重复使用的内容可寻址存储
CN102271165A (zh) 互联网搜索资源的分享管理装置及方法
CN103731472A (zh) 采用p2p技术下载文件的方法和***、客户端
CN101772936B (zh) 通信网络中的数据管理方法和***

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20120530