用于为内容传递网络中的推和拉内容请求分配带宽的方法、设备和计算机程序产品的制作方法_2

文档序号:9510401阅读:来源:国知局
0还可配置成基于指派给相应的内容文件的相对优先级在推带宽部分和拉带宽部分内将带宽分配给各个内容文件。尽管区域服务器115a是示出的具有带宽分配模块的唯一的区域服务器,但是将会理解其它的区域服务器可同样包括和带宽分配模块120 —样的带宽分配模块。此外,尽管在中央数据中心节点105和边缘节点125a、b、c之间示出了只有一个级别的区域节点115a、b、c,但是将会理解根据本发明主题的各种实施例,多个级别的区域节点可存在于中央数据中心节点105和边缘节点125a、b、c之间。
[0014]尽管图1说明了根据本发明主题的一些实施例的示范的⑶N,但是将会理解本发明不限于这样的配置,而是意图是包括能够执行本文中描述的操作的任何配置。
[0015]图2说明了根据本发明主题的一些实施例的数据处理系统200,所述数据处理系统200可用来例如实现图1的中央数据中心节点服务器105和区域服务器115a并且可包括带宽分配模块。数据处理系统200包括与处理器220通信的一个或多个输入装置205,例如键盘或小键盘、显示器210以及存储器215。数据处理系统200还可包括也与处理器220通信的存储系统225、扬声器230以及一个或多个I/O数据端口 235。存储系统225可包括可移除的和/或固定的媒体,例如软盘、ZIP驱动器、硬盘等等以及例如RAMDISK的虚拟存储器。一个或多个数据端口 235可用来在数据处理系统200和另一个计算机系统或网络(例如因特网)之间传送信息。这些部件可以是常规部件,例如在许多常规计算装置中使用的那些,并且它们的功能性(就常规操作而言)通常为本领域技术人员所知。存储器215可配置具有带宽分配模块240,带宽分配模块240可被用来基于指派给推内容请求和拉内容请求的相对优先级来分配指派给输出通信链路上的推内容请求和拉内容请求的带宽并且还在推带宽部分或管道和/或拉带宽部分或管道内将带宽分配给各个内容文件。
[0016]图3说明了根据本发明主题的一些实施例的处理器300和存储器305,它们可用在数据处理系统的实施例中,例如图2的数据处理系统200,用于基于指派给推内容请求和拉内容请求的相对优先级来分配指派给输出通信链路上的推内容请求和拉内容请求的带宽并且还用于在推带宽部分或管道和/或拉带宽部分或管道内将带宽分配给各个内容文件。处理器300经由地址/数据总线310与存储器305通信。处理器300可以是例如市场上可买到的或定制的微处理器。存储器305代表根据本发明主题的一些实施例的包含用于分配带宽的软件和数据的一个或多个存储器装置。存储器305可包括但不限于下列类型的装置:高速缓冲存储器、ROM、PROM、EPROM、EEPR0M、闪速存储器、SRAM和DRAM。
[0017]如图3中所示出的,存储器305可包含高达五类或更多类的软件和/或数据:操作系统315、推/拉请求带宽分配模块330、内容文件带宽分配模块335、内容文件队列340和通信模块345。操作系统315通常控制数据处理系统的操作。特别地,操作系统315可管理数据处理系统的软件和/或硬件资源并且可通过处理器300协调程序的执行。推/拉请求带宽分配模块330可配置成基于指派给推内容请求和拉内容请求的相对优先级来分配指派给输出通信链路上的推内容请求和拉内容请求的带宽。内容文件带宽分配模块335可配置成在推带宽部分或管道和/或拉带宽部分或管道内将带宽分配给各个内容文件。内容文件队列340可表示其中内容文件被存储同时在输出通信链路上等待传输的队列。队列中的内容文件可以相对于彼此被指派各种优先级。这些优先级可与特定的通信管道相关联,例如根据本发明主题的各种实施例,推管道或拉管道或者可以是相同的,而不管哪个管道被用于传输。根据本发明主题的一些实施例,通信模块345可配置成管理通信协议以用于在输出通信链路上传输内容。
[0018]尽管图3说明了根据本发明主题的一些实施例的示范的硬件/软件体系结构,所述示范的硬件/软件体系结构可用在数据处理系统中,例如图2的数据处理系统200,例如用于分配带宽以用于在CDN中传输内容文件,但是将会理解本发明不限于这样的配置,而是意图是包括能够执行本文中描述的操作的任何配置。此外,根据各种实施例,可以以多种方式实现图3的硬件/软件体系结构和图2的数据处理系统200的功能性,包括但不限于单处理器系统、多处理器系统、多核处理器系统乃至独立计算机系统的网络。
[0019]为了开发方便,可以用尚级编程语言(例如Python、Java、C和/或C++)来编写用于执行上面关于图3讨论的数据处理系统的操作的计算机程序代码。另外,也可以用其它编程语言(例如但不限于解释语言)来编写用于执行本发明的操作的计算机程序代码。可以用汇编语言乃至微代码来编写一些模块或例程以提高性能和/或存储器使用。将会进一步意识到,还可以使用分立的硬件部件、一个或多个专用集成电路(ASICs)或编程的数字信号处理或微控制器来实现任何或所有程序模块的功能性。
[0020]现在将参考图4、6和9-11的流程图以及图5、7和8的网络图示来描述根据本发明主题的一些实施例的CDN的操作。现在参见图4,操作在方块400处开始,其中推/拉请求带宽分配模块330将优先级等级指派给推内容请求和拉内容请求。在方块410,推/拉请求带宽分配模块330基于在方块400指派的优先级等级划分通信链路上的输出带宽以便创建输出带宽的推部分和输出带宽的拉部分。如图5中所示出的,中央数据中心服务器505具有到三个区域服务器515a、515b和515c的通信链路,具有在分别是lOGbps、lGbps和400Gbps的链路上的总带宽。图5中示出了到三个区域服务器515a、515b和515c的链路的推内容请求和拉内容请求的指派的优先级等级。针对到区域服务器515a的通信链路,推内容请求和拉内容请求的优先级等级是相同的,所以它们各自将被分配相同的带宽部分。针对到区域服务器515b的通信链路,拉内容请求已经被指派了两倍于推内容请求的优先级等级。结果,为拉内容请求分配的输出带宽的部分将是为推内容请求分配的输出带宽的部分的两倍。类似的分析适用于中央数据中心服务器505与区域服务器515c之间的以及区域服务器515b与边缘服务器525a、525b和525c之间的通信链路。
[0021]除了基于指派给推内容请求和拉内容请求的优先级等级划分输出通信链路上的带宽以处理推内容请求和拉内容请求,总带宽的推部分和拉部分内的带宽还可以基于与特定内容文件相关联的优先级等级来划分。现在参见图6,操作在方块600处开始,其中内容文件带宽分配模块335将优先级等级指派给将要借助于输出带宽的推部分被传递的多个内容文件。在方块610处,内容文件带宽分配模块335将优先级等级指派给将要借助于内容带宽的拉部分被传递的多个内容文件。在方块620处,内容文件带宽分配模块335基于在方块600指派的优先级等级将输出带宽的推部分中的部分分配给将要借助于带宽的推部分被传递的多个内容文件。在方块630处,内容文件带宽分配模块335基于在方块600指派的优先级等级将输出带宽的拉部分中的部分分配给将要借助于带宽的拉部分被传递的多个内容文件。如图7中所示出的,服务器705可代表图5的中央数据中心服务器505并且服务器715a、715b和715c可分别代表图5的区域服务器515a、515b和515c。中央数据中心服务器705和区域服务器715a之间的输出带宽是10 Gbps,由于推内容请求和拉内容请求具有如图5中所示出的在此处指派的相同优先级,该lOGbps被划分成针对推内容请求和拉内容请求的相等部分。基于如图7中所示出的内容文件1、2和3的相对优先级将带宽的推部分分配给内容文件1、2和3,其中内容文件3得到为推内容请求分配的5 Gbps的一半,内容文件2得到为推内容请求分配的5 Gbps的三分之一,并且内容文件1得到为推内容请求分配的5 Gbps的六分之一。类似的分析适用于中央数据中心服务器705与区域服务器715b和715c之间的通信链路。
[0022]图8说明了区域服务器和多个边缘服务器之间的带宽的推部分和拉部分内的各种内容文件的带宽的类似分布。如图8中所示出的,
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1