TWI676390B - Methods, apparatus, and computer program products for allocating bandwidth for push and pull content requests in a content delivery network - Google Patents

Methods, apparatus, and computer program products for allocating bandwidth for push and pull content requests in a content delivery network Download PDF

Info

Publication number
TWI676390B
TWI676390B TW103112373A TW103112373A TWI676390B TW I676390 B TWI676390 B TW I676390B TW 103112373 A TW103112373 A TW 103112373A TW 103112373 A TW103112373 A TW 103112373A TW I676390 B TWI676390 B TW I676390B
Authority
TW
Taiwan
Prior art keywords
content
server
content files
assigning
priority
Prior art date
Application number
TW103112373A
Other languages
Chinese (zh)
Other versions
TW201445985A (en
Inventor
克里斯 飛利浦
Chris Phillips
羅伯特 漢默德 佛斯曼
Robert Hammond Forsman
珍妮佛 安 雷納德
Jennifer Ann Reynolds
吉米 羅傑斯
Jimmie RODGERS
Original Assignee
瑞典商艾瑞克生公司
Ericsson Ab
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 瑞典商艾瑞克生公司, Ericsson Ab filed Critical 瑞典商艾瑞克生公司
Publication of TW201445985A publication Critical patent/TW201445985A/en
Application granted granted Critical
Publication of TWI676390B publication Critical patent/TWI676390B/en

Links

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
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/52Queue scheduling by attributing bandwidth to queues
    • H04L47/522Dynamic queue service slot or variable bandwidth allocation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/625Queue scheduling characterised by scheduling criteria for service slots or service orders
    • H04L47/6275Queue scheduling characterised by scheduling criteria for service slots or service orders based on priority
    • 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
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • 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/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/23805Controlling the feeding rate to the network, e.g. by controlling the video pump
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2402Monitoring of the downstream path of the transmission network, e.g. bandwidth available
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
    • H04N21/64746Control signals issued by the network directed to the server or the client
    • H04N21/64761Control signals issued by the network directed to the server or the client directed to the server
    • H04N21/64769Control signals issued by the network directed to the server or the client directed to the server for rate control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L5/00Arrangements affording multiple use of the transmission path
    • H04L5/003Arrangements for allocating sub-channels of the transmission path
    • H04L5/0058Allocation criteria
    • H04L5/0064Rate requirement of the data, e.g. scalable bandwidth, data priority

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本發明提供一種操作一內容遞送網路之方法,該方法包含:對該內容遞送網路中連接一第一伺服器及一第二伺服器之一通信鏈路分別分配優先權級至推動及拉動內容請求;及分別基於對該通信鏈路分配至該等推動及拉動內容請求之該等優先權級,對推動內容請求指派自該第一伺服器至該第二伺服器之輸出頻寬之一推動部分,及對拉動內容請求指派自該第一伺服器至該第二伺服器之該輸出頻寬之一拉動部分。 The present invention provides a method for operating a content delivery network. The method includes assigning priorities to a communication link connecting a first server and a second server in the content delivery network to push and pull, respectively. Content request; and one of the output bandwidths of the push content request from the first server to the second server based on the priority levels assigned to the push and pull content requests to the communication link, respectively A push portion, and a pull portion for requesting a pull content to assign one of the output bandwidth from the first server to the second server.

Description

用於對一內容遞送網路中之推動及拉動內容請求指派頻寬之方法、設備及電腦程式產品 Method, device and computer program product for assigning bandwidth to push and pull content requests in a content delivery network

本發明係關於通信網路,且更特定言之,本發明係關於用於在一內容遞送網路中遞送內容之頻寬指派。 The present invention relates to communication networks, and more particularly, the present invention relates to bandwidth assignment for delivering content in a content delivery network.

鑒於內容分佈網路中頻寬限制,內容提供者已長期致力於如何以一高可用性及高效能提供內容至其等消費者。一內容遞送網路(CDN)可係在連接至網際網路或其他公共/私人通信網路之多個資料中心中採用之伺服器之一較大分佈系統。一CDN之目標係使用高可用性及高效能伺服媒體內容(例如視訊/聲頻等)至使用者裝備節點(UE)。可接收媒體內容之例示性UE係機上盒、電視機、多媒體電腦及無線終端機(例如,智慧型手機及平板電腦)。 In view of the bandwidth limitations in content distribution networks, content providers have long been working on how to provide content to their consumers with high availability and efficiency. A content delivery network (CDN) may be one of the larger distributed systems of servers used in multiple data centers connected to the Internet or other public / private communication networks. The goal of a CDN is to use high availability and high performance servo media content (such as video / audio, etc.) to the user equipment node (UE). Exemplary UEs that can receive media content are set-top boxes, televisions, multimedia computers, and wireless terminals (eg, smartphones and tablets).

來自UE之媒體內容請求通常在演算法上被導向在某方面為最佳之CDN伺服器。CDN自可為一內容所有者擁有、管理及/或與一內容所有者相關聯之一中心位置/資料中心遞送檔案至各種區域伺服器且最終至邊緣伺服器或UE節點,其等係定位在終端使用者附近。此等系統經常依一「拉動」哲理操作,其中離邊緣較遠之伺服器快取較靠 近邊緣之伺服器上之內容。在CDN中之伺服器將通常基於內容駐存位置將一用戶端重新導向至伺服器層級中某處之一位置。若判定內容在一已知位置很受歡迎,則接著可將使用者重新導向至更靠近該使用者之位置之一邊緣伺服器。也存在「推動」方案,其中,舉例而言,可基於授權視窗資訊及/或預期內容受歡迎程度遍及CDN推動隨選視訊(VOD)。舉例而言,在電影院中很受歡迎且將在一周內發行之片名可向外推動至CDN中之各種節點以滿足期望購買/觀看需求。 Media content requests from UEs are usually algorithmically directed to a CDN server that is best in some way. CDNs can be a content owner that owns, manages, and / or associates with a content owner a central location / data center to deliver files to various regional servers and eventually to edge servers or UE nodes, which are positioned at Near the end user. These systems often operate according to a "pull" philosophy, in which servers farther from the edge are more cached. Content on near-edge servers. A server in a CDN will typically redirect a client to a location somewhere in the server hierarchy based on the content hosting location. If the content is determined to be popular in a known location, the user can then be redirected to an edge server closer to the user's location. There are also "push" schemes, where, for example, video on demand (VOD) can be promoted throughout the CDN based on authorized window information and / or expected content popularity. For example, titles that are popular in movie theaters and will be released within a week can be pushed out to various nodes in the CDN to meet the desired purchase / viewing needs.

然而,因為通常以一最佳努力方案遞送內容遍及CDN節點(包含邊緣節點),故CDN排定檔案傳輸之分佈之優先級/最佳化檔案傳輸之分佈之能力通常有限。基於受歡迎程度或其他準則排定特定內容檔案或與特定所有者/經營者相關聯之內容之優先級之方法有限。再者,CDN通常缺乏在推動與拉動內容遞送方案之間及/或遍及一CDN在推動及拉動內容管線內排定內容遞送之優先級之能力。 However, because content is usually distributed across CDN nodes (including edge nodes) with a best effort scheme, the CDN's ability to prioritize the distribution of file transmissions / optimize the distribution of file transmissions is often limited. There are limited ways to prioritize specific content files or content associated with specific owners / operators based on popularity or other criteria. Furthermore, CDNs generally lack the ability to prioritize content delivery between and between content promotion and / or push schemes across a CDN.

一些實施例係關於一種操作一內容遞送網路之方法,該方法包含:對遞送網路中連接一第一伺服器及一第二伺服器之一通信鏈路分別分配優先權級至推動及拉動內容請求;及分別基於對通信鏈路分配至推動及拉動內容請求之優先權級對推動內容請求指派自第一伺服器至第二伺服器之輸出頻寬之一推動部分及對拉動內容請求指派自第一伺服器至第二伺服器之輸出頻寬之一拉動部分。 Some embodiments relate to a method of operating a content delivery network, the method comprising: assigning priority levels to push and pull on a communication link connecting a first server and a second server in the delivery network, respectively Content request; and a push portion that assigns one of the output bandwidth from the first server to the second server to the push content request and the pull content request assignment based on the priority assigned to the communication link to push and pull the content request, respectively A pull portion of one of the output bandwidth from the first server to the second server.

有利地,本發明標的之實施例可藉由基於在管線級以及內容檔案級之所要優先權動態指派頻寬至推動及拉動管線以及在此等管線內之個別內容檔案流而提供改進CDN頻寬利用。再者,本發明標的之實施例可允許使用CDN中之推動管線傳輸更低優先權內容檔案,CDN頻寬因此經調整以在一目的地需要檔案時遞送檔案,同時儘可能保留足夠頻寬以經由CDN中之拉動管線服務更高優先權使用者請求。 Advantageously, the subject embodiments of the present invention can provide improved CDN bandwidth by dynamically assigning bandwidth to push and pull pipelines and individual content file streams within such pipelines based on the desired priorities at the pipeline level and the content file level. use. Furthermore, the subject embodiment of the present invention allows the use of the push pipeline in the CDN to transmit lower priority content files. The CDN bandwidth is therefore adjusted to deliver the files when they are needed at a destination, while retaining as much bandwidth as possible to Serve higher priority user requests through the pull pipeline in the CDN.

優先權亦可分配至經由推動及/或拉動頻寬部分傳送之個別內容檔案。舉例而言,方法可進一步包含:分配優先權級至預定送往第二伺服器之一第一複數個內容檔案;分配優先權級至預定送往第二伺服器之一第二複數個內容檔案;分別基於分配至第一複數個內容檔案之優先權級指派自第一伺服器至第二伺服器之輸出頻寬之推動部分之複數個部分至第一複數個內容檔案;及分別基於分配至第二複數個內容檔案之優先權級指派自第一伺服器至第二伺服器之輸出頻寬之拉動部分之複數個部分至第二複數個內容檔案。 Priority can also be assigned to individual content files transmitted via the push and / or pull bandwidth portion. For example, the method may further include: assigning priority to a first plurality of content files scheduled to be sent to a second server; assigning priority to a second plurality of content files scheduled to be sent to a second server ; Respectively assigning a plurality of sections to a first plurality of content files based on a priority level assigned to the first plurality of content files to the driving portion of the output bandwidth of the first server to the second server; and The priority of the second plurality of content files is assigned from the plurality of parts of the pull portion of the output bandwidth of the first server to the second server to the second plurality of content files.

分配至推動及拉動頻寬部分之優先權級可基於各種準則,其等包含(但不限於)CDN中內容分佈之當前狀態及/或當日時間。在推動及/或拉動頻寬部分內之個別內容檔案之優先權亦可基於各種準則,其等包含(但不限於)何時將自一邊緣伺服器存取內容檔案、內容檔案預定送往哪些邊緣節點、內容檔案是否與一隨選視訊(VOD)服務相關聯、內容檔案是否與即時發生之直播主題相關聯及/或在CDN中內容分佈之當前狀態。 The priority assigned to the push and pull bandwidth portion can be based on various criteria, including, but not limited to, the current state of content distribution in the CDN and / or time of day. The priority of individual content files in the push and / or pull bandwidth section can also be based on various criteria, including, but not limited to, when to access content files from an edge server, and which edges the content files are intended to be sent to Node, whether the content file is associated with a video on demand (VOD) service, whether the content file is associated with a live broadcast topic that occurs on-the-fly and / or the current status of the content distribution in the CDN.

檢視以下繪圖及詳細描述,熟習此項技術者將明白根據本發明標的之實施例之其他方法、設備及電腦程式產品。預計全部此等額外方法、設備及電腦程式產品可包含在此描述內、本發明之範疇內且藉由隨附技術方案保護。再者,預計本文所揭示之全部實施例可單獨實施或以任何方式及/或組合加以組合。 Looking at the following drawings and detailed description, those skilled in the art will understand other methods, devices and computer program products according to the embodiments of the present invention. It is anticipated that all of these additional methods, devices, and computer program products may be included within this description, within the scope of the present invention, and protected by accompanying technical solutions. Furthermore, it is contemplated that all embodiments disclosed herein may be implemented individually or combined in any manner and / or combination.

100‧‧‧內容遞送網路 100‧‧‧ Content Delivery Network

105‧‧‧中央資料中心節點伺服器 105‧‧‧Central Data Center Node Server

110‧‧‧頻寬指派模組 110‧‧‧ Bandwidth Assignment Module

115a‧‧‧伺服器 115a‧‧‧Server

115b‧‧‧伺服器 115b‧‧‧Server

115c‧‧‧伺服器 115c‧‧‧Server

120‧‧‧頻寬指派模組 120‧‧‧ Bandwidth Assignment Module

125a‧‧‧邊緣節點 125a‧‧‧Edge Node

125b‧‧‧邊緣節點 125b‧‧‧Edge Node

125c‧‧‧邊緣節點 125c‧‧‧Edge Node

130a‧‧‧用戶端裝置 130a‧‧‧client device

130b‧‧‧用戶端裝置 130b‧‧‧client device

130c‧‧‧用戶端裝置 130c‧‧‧client device

200‧‧‧資料處理系統 200‧‧‧ Data Processing System

205‧‧‧輸入裝置 205‧‧‧input device

210‧‧‧顯示器 210‧‧‧ Display

215‧‧‧記憶體 215‧‧‧Memory

220‧‧‧處理器 220‧‧‧Processor

225‧‧‧儲存系統 225‧‧‧Storage System

230‧‧‧揚聲器 230‧‧‧Speaker

235‧‧‧I/O資料埠 235‧‧‧I / O data port

240‧‧‧頻寬指派模組 240‧‧‧ Bandwidth Assignment Module

300‧‧‧處理器 300‧‧‧ processor

305‧‧‧記憶體 305‧‧‧Memory

310‧‧‧位址/資料匯流排 310‧‧‧Address / Data Bus

315‧‧‧作業系統 315‧‧‧Operating System

330‧‧‧推動/拉動請求頻寬指派模組 330‧‧‧ Push / Pull Request Bandwidth Assignment Module

335‧‧‧內容檔案頻寬指派模組 335‧‧‧Content File Bandwidth Assignment Module

340‧‧‧內容檔案佇列 340‧‧‧Content file queue

345‧‧‧通信模組 345‧‧‧Communication Module

400‧‧‧方塊 400‧‧‧box

410‧‧‧方塊 410‧‧‧block

505‧‧‧中央資料中心伺服器 505‧‧‧Central Data Center Server

515a‧‧‧區域伺服器 515a‧‧‧area server

515b‧‧‧區域伺服器 515b‧‧‧area server

515c‧‧‧區域伺服器 515c‧‧‧area server

525a‧‧‧邊緣伺服器 525a‧‧‧Edge Server

525b‧‧‧邊緣伺服器 525b‧‧‧Edge Server

525c‧‧‧邊緣伺服器 525c‧‧‧Edge Server

600‧‧‧方塊 600‧‧‧box

610‧‧‧方塊 610‧‧‧block

620‧‧‧方塊 620‧‧‧block

630‧‧‧方塊 630‧‧‧block

705‧‧‧中央資料中心伺服器 705‧‧‧central data center server

715a‧‧‧區域伺服器 715a‧‧‧area server

715b‧‧‧區域伺服器 715b‧‧‧area server

715c‧‧‧區域伺服器 715c‧‧‧area server

815b‧‧‧伺服器 815b‧‧‧Server

825a‧‧‧邊緣伺服器 825a‧‧‧Edge Server

825b‧‧‧邊緣伺服器 825b‧‧‧Edge Server

825c‧‧‧邊緣伺服器 825c‧‧‧Edge Server

900‧‧‧方塊 900‧‧‧ blocks

910‧‧‧方塊 910‧‧‧block

1000‧‧‧方塊 1000‧‧‧ cubes

1010‧‧‧方塊 1010‧‧‧box

1100‧‧‧方塊 1100‧‧‧box

1110‧‧‧方塊 1110‧‧‧box

經包含以提供本發明之一進一步理解且併入此申請案中且構成此申請案之一部分之附圖圖解說明本發明之特定非限制實施例。在繪圖中:圖1係根據本發明標的之一些實施例之一內容遞送網路(CDN)之一方塊圖; 圖2係根據本發明標的之一些實施例圖解說明一種包含可實施圖1之CDN中之一伺服器之一頻寬指派模組之資料處理系統之一方塊圖;圖3係根據本發明標的之一些實施例圖解說明一種用於一CDN伺服器中之頻寬指派之軟體/硬體架構之一方塊圖;圖4係根據本發明標的之一些實施例圖解說明用於基於分配至一CDN中推動及拉動內容之優先權級來指派頻寬之操作之一流程圖;圖5係根據本發明標的之一些實施例圖解說明用於基於分配至推動及拉動內容請求之優先權級來指派頻寬之操作之一CDN網路一方塊圖;圖6係根據本發明標的之一些實施例圖解說明用於基於分配至內容檔案之優先權級來指派頻寬之推動及拉動部分內之頻寬至內容檔案之流程圖;圖7及圖8係根據本發明標的之一些實施例圖解說明用於基於分配至內容檔案之優先權級來指派頻寬之推動及拉動部分內之頻寬至內容檔案之一CDN網路之方塊圖;及圖9至圖11係根據本發明標的之一些實施例圖解說明用於一CDN伺服器中頻寬指派之進一步操作之流程圖。 The accompanying drawings, which are included to provide a further understanding of the invention and are incorporated in and constitute a part of this application, illustrate specific non-limiting embodiments of the invention. In the drawing: FIG. 1 is a block diagram of a content delivery network (CDN) according to some embodiments of the present invention; 2 is a block diagram illustrating a data processing system including a bandwidth assignment module capable of implementing a server in the CDN of FIG. 1 according to some embodiments of the present invention; FIG. 3 is a block diagram of a data processing system according to the present invention; Some embodiments illustrate a block diagram of a software / hardware architecture for bandwidth allocation in a CDN server; FIG. 4 illustrates some embodiments according to the subject matter of the present invention. And FIG. 5 is a flowchart illustrating an operation for assigning bandwidth based on priority of content. FIG. 5 illustrates some embodiments of the present invention for assigning bandwidth based on priority assigned to pushing and pulling content requests. A block diagram of a CDN network, one of the operations; FIG. 6 illustrates some embodiments of the subject of the present invention for assigning bandwidth within the push and pull portion of the bandwidth to the content file based on the priority assigned to the content file FIG. 7 and FIG. 8 illustrate some embodiments of the subject matter of the present invention for assigning bandwidth within a push and pull portion of a bandwidth based on a priority level assigned to a content file. CDN content of the web width to a block diagram of one file; and FIG. 9 to FIG. 11 of the subject system in accordance with some embodiments of the present invention is a flow diagram illustrating further operations of a server in the CDN for the bandwidth assignment embodiment.

現將在下文參考其中展示本發明之實施例之附圖來更全面描述本發明。然而,本發明可體現在許多不同形式中,且不應理解為限於本文所陳述之實施例。 The invention will now be described more fully hereinafter with reference to the accompanying drawings, in which embodiments of the invention are shown. The invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein.

一些實施例係關於一內容遞送網路,其中來自一伺服器之輸出頻寬可再分為分別用於處理推動內容請求及拉動內容請求之一推動部分及一拉動部分。頻寬之推動部分及拉動部分之大小係基於分配至推動及拉動內容請求之相對優先權。除基於分配至推動及拉動種類之相對優先權對推動及拉動內容請求指派各自頻寬部分外,亦可分配優先 權至經由推動及/或拉動頻寬部分傳送之個別內容檔案。指派至個別內容檔案之頻寬可基於分配至推動及拉動頻寬部分兩者中個別檔案之相對優先權。分配至推動及拉動頻寬部分之優先權可基於各種準則,其等包含(但不限於)內容遞送網路(CDN)中內容分佈之當前狀態及/或當日時間。為了不要浪費可用頻寬,當不存在拉動內容請求時,拉動頻寬部分可被指派以服務推動請求,反之亦然。在推動及/或拉動頻寬部分內之個別內容檔案的優先權亦可基於各種準則,其等包含(但不限於)何時將自一邊緣伺服器存取內容檔案、內容檔案預定送往哪些邊緣節點、內容檔案是否與一隨選視訊(VOD)服務相關聯、內容檔案是否與即時發生之直播主題相關聯,及/或在CDN中內容分佈之當前狀態。本發明標的之實施例因此允許基於管線級以及內容檔案級之所要優先權跨推動及拉動頻寬部分或管線以及該等管線內之個別內容檔案流動態來指派頻寬。 Some embodiments are related to a content delivery network, where the output bandwidth from a server can be further divided into a push part and a pull part for processing push content requests and pull content requests, respectively. The size of the push and pull portions of the bandwidth is based on the relative priority assigned to push and pull content requests. In addition to assigning respective bandwidth portions to push and pull content requests based on the relative priority assigned to push and pull types, priority can also be assigned Rights to individual content files transmitted via push and / or pull bandwidth sections. The bandwidth assigned to individual content files may be based on the relative priority assigned to individual files in both the push and pull bandwidth portions. The priority assigned to the push and pull bandwidth portion may be based on various criteria, including, but not limited to, the current status and / or time of day of the content distribution in the content delivery network (CDN). In order not to waste the available bandwidth, when there is no pull content request, the pull bandwidth portion may be assigned to serve the push request and vice versa. The priority of individual content files within the push and / or pull bandwidth section can also be based on various criteria, including, but not limited to, when to access content files from an edge server, and which edges the content files are intended to be sent to Node, whether the content file is associated with a video on demand (VOD) service, whether the content file is associated with a live broadcast topic that occurs on-the-fly, and / or the current status of the content distribution in the CDN. The subject embodiments of the present invention therefore allow bandwidth to be assigned based on the dynamic priority of the pipeline level and content file level across the portion or pipeline that pushes and pulls the bandwidth and individual content file stream dynamics within those pipelines.

圖1係根據本發明標的之一些實施例之一CDN 100之一方塊圖。CDN包含耦合至複數個區域節點之一中央資料中心節點伺服器105,複數個區域節點包括伺服器115a、115b及115c,其等繼而耦合至包括伺服器125a、125b及125c之複數個邊緣節點。邊緣節點125a、125b及125c伺服內容至藉由用戶端裝置130a、130b及130c表示之使用者裝備(UE)節點。如圖1中展示,中央資料中心伺服器105包含一頻寬指派模組110且區域伺服器115a包含一頻寬指派模組120。頻寬指派模組110及120可經組態以分配優先權級至推動及拉動內容請求且基於所分配優先權級在一通信鏈路上之輸出頻寬之一推動部分與一拉動部分之間指派頻寬。頻寬指派模組110及120亦可經組態以基於分配至個別內容檔案之相對優先權指派頻寬至推動及拉動頻寬部分內之個別內容檔案。儘管區域伺服器115a係展示具有一頻寬指派模組之唯一區域伺服器,但應瞭解其他區域伺服器可同樣包含與頻寬指派模組120相似之 一頻寬指派模組。另外,根據本發明標的之各種實施例,儘管在中央資料中心節點105與邊緣節點125a、125b、125c之間僅展示一級區域節點115a、115b、115c,但應瞭解在中央資料中心節點105與邊緣節點125a、125b、125c之間可存在多級區域節點。 FIG. 1 is a block diagram of a CDN 100 according to some embodiments of the subject invention. The CDN includes a central data center node server 105 coupled to one of a plurality of regional nodes, the plurality of regional nodes including servers 115a, 115b, and 115c, which in turn are coupled to a plurality of edge nodes including servers 125a, 125b, and 125c. The edge nodes 125a, 125b, and 125c serve content to user equipment (UE) nodes represented by the client device 130a, 130b, and 130c. As shown in FIG. 1, the central data center server 105 includes a bandwidth assignment module 110 and the regional server 115 a includes a bandwidth assignment module 120. The bandwidth assignment modules 110 and 120 can be configured to assign priorities to push and pull content requests and to assign between one of a push portion and a pull portion of an output bandwidth on a communication link based on the assigned priority. bandwidth. The bandwidth assignment modules 110 and 120 may also be configured to assign bandwidth to individual content files within the bandwidth portion based on the relative priority assigned to the individual content files. Although the area server 115a is the only area server exhibiting a bandwidth assignment module, it should be understood that other area servers may also include similar to the bandwidth assignment module 120 A bandwidth assignment module. In addition, according to various embodiments of the subject matter of the present invention, although only the first-level regional nodes 115a, 115b, 115c are shown between the central data center node 105 and the edge nodes 125a, 125b, 125c, it should be understood that the central data center node 105 and the edge There may be multiple levels of regional nodes between the nodes 125a, 125b, 125c.

儘管圖1根據本發明標的之一些實施例圖解說明一例示性CDN,但應瞭解本發明並不限於此等組態,而是預計涵蓋能夠執行本文所描述操作之任何組態。 Although FIG. 1 illustrates an exemplary CDN according to some embodiments of the subject invention, it should be understood that the invention is not limited to such configurations, but is intended to cover any configuration capable of performing the operations described herein.

圖2根據本發明標的之一些實施例圖解說明一種資料處理系統200,該系統可用以(例如)實施圖1之中央資料中心節點伺服器105及區域伺服器115a且可包含一頻寬指派模組。資料處理系統200包括與一處理器220通信之輸入裝置205(諸如一鍵盤或小鍵盤)、一顯示器210及一記憶體215。資料處理系統200可進一步包括亦與處理器220通信之一儲存系統225、一揚聲器230及一I/O資料埠(多個I/O資料埠)235。儲存系統225可包含抽取式及/或固定媒體,諸如,軟碟、ZIP磁碟機、硬碟或類似物以及虛擬儲存器(諸如一隨機存取記憶體磁碟(RAMDISK))。I/O資料埠235可用以在資料處理系統200與另一電腦系統或一網路(例如,網際網路)之間傳輸資訊。此等組件可係習知組件,諸如在許多習知計算裝置中使用之組件且熟習此項技術者通常已知其等相對於習知操作之功能。記憶體215可經組態具有一頻寬指派模組240,該頻寬指派模組可用以基於分配至推動及拉動內容請求之相對優先權指派一輸出通信鏈路上所分配頻寬至推動及拉動內容請求且亦可指派一推動頻寬部分或管線及/或一拉動頻寬部分或管線內之頻寬至個別內容檔案。 FIG. 2 illustrates a data processing system 200 according to some embodiments of the subject matter of the present invention. The system may be used, for example, to implement the central data center node server 105 and the regional server 115a of FIG. 1 and may include a bandwidth assignment module. . The data processing system 200 includes an input device 205 (such as a keyboard or keypad) in communication with a processor 220, a display 210 and a memory 215. The data processing system 200 may further include a storage system 225, a speaker 230, and an I / O data port (multiple I / O data ports) 235 that are also in communication with the processor 220. Storage system 225 may include removable and / or fixed media such as floppy disks, ZIP drives, hard disks or the like, and virtual storage such as a random access memory disk (RAMDISK). The I / O data port 235 can be used to transfer information between the data processing system 200 and another computer system or a network (eg, the Internet). These components may be conventional components, such as those used in many conventional computing devices and those skilled in the art will generally know their functions relative to conventional operations. The memory 215 can be configured with a bandwidth assignment module 240, which can be used to assign the assigned bandwidth on an output communication link to the push and pull based on the relative priority assigned to the push and pull content requests. The content request may also assign a push bandwidth portion or pipeline and / or a pull bandwidth portion or pipeline to individual content files.

圖3根據本發明標的之一些實施例圖解說明一種處理器300及記憶體305,其等可在資料處理系統(諸如圖2之資料處理系統200)之實施例中用於基於分配至推動及拉動內容請求之相對優先權指派一輸出 通信鏈路上之所分配頻寬至推動及拉動內容請求且亦可用於指派一推動頻寬部分或管線及/或一推動頻寬部分或管線內之頻寬至個別內容檔案。處理器300經由一位址/資料匯流排310與記憶體305通信。處理器300可係(例如)市售或訂製微處理器。記憶體305係根據本發明標的之一些實施例含有用於指派頻寬之軟體及資料之一或多個記憶體裝置之代表。記憶體305可包含(但不限於)以下類型之裝置:快取記憶體、ROM、PROM、EPROM、EEPROM、快閃記憶體、SRAM及DRAM。 FIG. 3 illustrates a processor 300 and a memory 305 according to some embodiments of the subject matter of the present invention, which may be used in embodiments of data processing systems (such as the data processing system 200 of FIG. 2) to push and pull based on allocation Relative priority of content requests assigns an output The allocated bandwidth on the communication link is used to push and pull content requests and can also be used to assign a push bandwidth section or pipeline and / or a push bandwidth section or pipeline to individual content files. The processor 300 communicates with the memory 305 via a bit / data bus 310. The processor 300 may be, for example, a commercially available or customized microprocessor. The memory 305 is representative of one or more memory devices containing software and data for assigning bandwidth in accordance with some embodiments of the subject invention. The memory 305 may include, but is not limited to, the following types of devices: cache memory, ROM, PROM, EPROM, EEPROM, flash memory, SRAM, and DRAM.

如圖3中展示,記憶體305可含有高達五個或五個以上種類之軟體及/或資料:一作業系統315、一推動/拉動請求頻寬指派模組330、一內容檔案頻寬指派模組335、一內容檔案佇列340及一通信模組345。作業系統315通常控制資料處理系統之操作。特定言之,作業系統315可管理資料處理系統軟體及/或硬體資源且可藉由處理器300協調程式之執行。推動/拉動請求頻寬指派模組330可經組態以基於分配至推動及拉動內容請求之相對優先權指派一輸出通信鏈路上之所分配頻寬至推動及拉動內容請求。內容檔案頻寬指派模組335可經組態以指派一推動頻寬部分或管線及/或拉動頻寬部分或管線內之頻寬至個別內容檔案。內容檔案佇列340可表示等待一輸出通信鏈路上之傳送時儲存內容檔案之一佇列。在佇列中之內容檔案可相對於彼此被分配各種優先權。根據本發明標的之各種實施例,此等優先權可與一特定通信管線(例如,一推動管線或一拉動管線)相關聯或無論使用哪一管線傳送可均相同。根據本發明標的之一些實施例,通信模組345可經組態以管理用於在一輸出通信鏈路上傳送內容之通信協定。 As shown in FIG. 3, the memory 305 may contain up to five or more types of software and / or data: an operating system 315, a push / pull request bandwidth assignment module 330, and a content file bandwidth assignment module Group 335, a content file queue 340, and a communication module 345. The operating system 315 generally controls the operation of the data processing system. In particular, the operating system 315 may manage software and / or hardware resources of the data processing system and may coordinate the execution of programs by the processor 300. The push / pull request bandwidth assignment module 330 may be configured to assign the allocated bandwidth on an output communication link to the push and pull content request based on the relative priority assigned to the push and pull content request. The content file bandwidth assignment module 335 may be configured to assign a push bandwidth portion or pipeline and / or pull a bandwidth within the bandwidth portion or pipeline to an individual content file. The content file queue 340 may represent a queue of stored content files while waiting for transmission on an output communication link. Content files in the queue can be assigned various priorities with respect to each other. According to various embodiments of the subject invention, these priorities may be associated with a particular communication pipeline (eg, a push pipeline or a pull pipeline) or the same regardless of which pipeline is used for transmission. According to some embodiments of the present invention, the communication module 345 may be configured to manage a communication protocol for transmitting content over an output communication link.

儘管圖3根據本發明標的之一些實施例圖解說明可在資料處理系統(諸如圖2之資料處理系統200)中用以(例如)指派用於傳送一CDN中之內容檔案之頻寬之例示性硬體/軟體架構,但應瞭解本發明並不限 於此一組態,而是預計涵蓋能夠執行本文所描述操作之任何組態。再者,根據各種實施例,圖2之資料處理系統200之功能及圖3之硬體/軟體架構可以各種方式實施,該等方式包含(但不限於)一單一處理器系統、一多處理器系統、一多核心處理器系統或甚至單獨電腦系統之一網路。 Although FIG. 3 illustrates an illustrative example of a bandwidth that may be used in a data processing system (such as the data processing system 200 of FIG. 2) to, for example, assign a bandwidth for transmitting content files in a CDN, according to some embodiments of the subject invention. Hardware / software architecture, but it should be understood that the invention is not limited This configuration is intended to cover any configuration capable of performing the operations described herein. Furthermore, according to various embodiments, the functions of the data processing system 200 of FIG. 2 and the hardware / software architecture of FIG. 3 may be implemented in various ways, including (but not limited to) a single processor system, a multi-processor A network of systems, a multi-core processor system, or even a separate computer system.

為便於開發,可以一高階程式設計語言(諸如Python、Java、C及/或C++)編寫用於執行上文關於圖3討論之資料處理系統之操作之電腦程式碼。另外,亦可以其他程式設計語言(諸如(但不限於)解譯語言)編寫用於執行本發明之操作之電腦程式碼。可以組合語言或甚至微碼編寫一些模組或常式以增強效能及/或記憶體使用。將進一步瞭解,亦可使用離散硬體組件、一或多個特殊應用積體電路(ASIC)或一程式化數位信號處理器或微處理器實施任何或全部程式模組之功能。 To facilitate development, computer code can be written in a high-level programming language (such as Python, Java, C, and / or C ++) to perform the operations of the data processing system discussed above with respect to FIG. 3. In addition, computer program code for performing the operations of the present invention may also be written in other programming languages, such as (but not limited to) interpreted languages. Modules or routines can be written in combination of languages or even microcode to enhance performance and / or memory usage. It will be further understood that the functions of any or all of the program modules may also be implemented using discrete hardware components, one or more application-specific integrated circuits (ASICs), or a stylized digital signal processor or microprocessor.

現將參考圖4、圖6及圖9至圖11之流程圖及圖5、圖7及圖8之網路圖來描述根據本發明標的之一些實施例之一CDN的操作。現參考圖4,操作開始於方塊400,其中推動/拉動頻寬指派模組330指派優先權級至推動及拉動內容請求。在方塊410,推動/拉動請求頻寬指派模組330基於在方塊400處分配之優先權級來分割位於一通信鏈路上之輸出頻寬,以便於產生輸出頻寬之一推動部分及輸出帶寬之一拉動部分。如在圖5展示,一中央資料中心伺服器505具有至三個區域伺服器515a、515b及515c之通信鏈路,其中鏈路上之總頻寬分別為10Gbps、1Gbps及400Gbps。在圖5中展示對至三個區域伺服器515a、515b及515c之鏈路之推動及拉動內容請求指派之優先權級。對於至區域伺服器515a之通信鏈路,用於推動內容請求及拉動內容請求之優先權級係相同的,故其等各者將被分配相同部分之頻寬。對於至區域伺服器515b之通信鏈路,拉動內容請求被分配一優先權級為推動內容請求之優先權級的兩倍。結果,指派用於拉動內容請求之輸出頻寬的部 分將係指派用於推動內容請求之輸出頻寬的部分的兩倍。一相似分析適用於中央資料中心伺服器505與區域伺服器515c之間及區域伺服器515b與邊緣伺服器525a、525b及525c之間的通信鏈路。 The operation of the CDN according to one of the embodiments of the present invention will now be described with reference to the flowcharts of FIGS. 4, 6, and 9 to 11 and the network diagrams of FIGS. 5, 7, and 8. Referring now to FIG. 4, operations begin at block 400, where the push / pull bandwidth assignment module 330 assigns priority levels to push and pull content requests. At block 410, the push / pull request bandwidth assignment module 330 divides the output bandwidth located on a communication link based on the priority assigned at block 400, so as to generate one of the output bandwidth and the output bandwidth. One pull part. As shown in FIG. 5, a central data center server 505 has communication links to three regional servers 515a, 515b, and 515c, where the total bandwidth on the links is 10Gbps, 1Gbps, and 400Gbps, respectively. The priority of pushing and pulling content request assignments to the links to the three regional servers 515a, 515b, and 515c is shown in FIG. As for the communication link to the regional server 515a, the priority levels for pushing content requests and pulling content requests are the same, so each of them will be allocated the same part of the bandwidth. For the communication link to the regional server 515b, the pull content request is assigned a priority level that is twice the priority level of the push content request. As a result, a section for output bandwidth for pulling content requests is assigned Points will be double the portion of the output bandwidth assigned to drive content requests. A similar analysis applies to the communication links between the central data center server 505 and the area server 515c and between the area server 515b and the edge servers 525a, 525b, and 525c.

除基於分配至推動及拉動內容請求之優先權級來分割一輸出通信鏈路上的頻寬以處理推動及拉動內容請求外,亦可基於與特定內容檔案相關聯之優先權級來分割總頻寬之推動及拉動部分內之頻寬。現參考圖6,操作開始於方塊600,其中內容檔案頻寬分配模組335分配優先權級至經由輸出頻寬的推動部分傳遞的複數個內容檔案。在方塊610,內容檔案頻寬指派模組335分配優先權級至經由內容頻寬之拉動部分傳遞的複數個內容檔案。在方塊620,內容檔案頻寬指派模組335基於方塊600所分配之優先權級來指派輸出頻寬之推動部分的部分至經由頻寬之推動部分傳遞的複數個內容檔案。在方塊630,內容檔案頻寬指派模組335基於方塊600所分配之優先權級來指派輸出頻寬之拉動部分的部分至經由頻寬之拉動部分傳遞的複數個內容檔案。如在圖7中展示,伺服器705可代表圖5之中央資料中心伺服器505,且伺服器715a、715b及715c可分別代表圖5之區域伺服器515a、515b及515c。中央資料中心伺服器705與區域伺服器715a之間的輸出頻寬係10Gbps,其歸因於推動及拉動內容請求具有如圖5展示之分配至其之相同優先權而劃分為用於推動及拉動內容請求之相等部分。基於如圖7展示之其等相對優先權指派頻寬之推動部分至內容檔案1、2及3,其中內容檔案3獲得指派用於推動內容請求之5Gbps的一半,內容檔案2獲得指派用於推動內容請求之5Gbps的三分之一,且內容檔案1獲得指派用於推動內容請求之5Gbps的六分之一。一相似分析適用於中央資料中心伺服器705與區域伺服器715b及715c之間的通信鏈路。 In addition to dividing the bandwidth on an output communication link to handle pushing and pulling content requests based on the priority assigned to pushing and pulling content requests, the total bandwidth can also be divided based on the priority levels associated with specific content files Push and pull the bandwidth within the part. Referring now to FIG. 6, the operation starts at block 600, in which the content file bandwidth allocation module 335 assigns priority levels to a plurality of content files passed through the pushing portion of the output bandwidth. At block 610, the content file bandwidth assignment module 335 assigns a priority level to the plurality of content files passed through the pull portion of the content bandwidth. At block 620, the content file bandwidth assignment module 335 assigns a portion of the output portion of the push portion of the bandwidth to a plurality of content files transmitted via the portion of the push portion of the bandwidth based on the priority assigned at block 600. At block 630, the content file bandwidth assignment module 335 assigns the portion of the output portion of the bandwidth to the plurality of content files passed through the portion of the bandwidth based on the priority assigned at block 600. As shown in FIG. 7, the server 705 may represent the central data center server 505 of FIG. 5, and the servers 715a, 715b, and 715c may represent the regional servers 515a, 515b, and 515c of FIG. 5, respectively. The output bandwidth between the central data center server 705 and the regional server 715a is 10 Gbps, which is divided into push and pull because the push and pull content requests have the same priority assigned to them as shown in FIG. 5 The equivalent part of the content request. Based on their relative priority assignment bandwidth as shown in FIG. 7 to the content files 1, 2 and 3, of which content file 3 is assigned half of the 5 Gbps assigned to promote content requests, and content file 2 is assigned assigned to promote One third of the 5 Gbps of content requests, and content archive 1 gets one sixth of the 5 Gbps assigned to drive content requests. A similar analysis applies to the communication link between the central data center server 705 and the regional servers 715b and 715c.

圖8圖解說明在一區域伺服器與多個邊緣伺服器之間之頻寬之推動及拉動部分內對各種內容檔案之一相似頻寬分佈。如圖8中展示, 伺服器815b可代表圖5之區域伺服器515b且伺服器825a、825b及825c可分別代表圖5之邊緣伺服器525a、525b及525c。在區域伺服器815b與邊緣伺服器825a之間之輸出頻寬係1Gbps,其歸因於推動及拉動內容請求具有如圖5展示之分配至其之相同優先權而劃分為用於推動及拉動內容請求之相等部分。基於如圖8展示之其等相對優先權指派頻寬之推動部分至內容檔案1、2及3,其中內容檔案3獲得指派用於推動內容請求之500Mbps之一半,內容檔案2獲得指派用於推動內容請求之500Mbps之三分之一且內容檔案1獲得指派用於推動內容請求之500Mbps之六分之一。一相似分析適用於區域伺服器815b與邊緣伺服器825b及825c之間之通信鏈路。 FIG. 8 illustrates a similar bandwidth distribution for one of various content files in a push and pull portion of a bandwidth between a regional server and multiple edge servers. As shown in Figure 8, The server 815b may represent the area server 515b of FIG. 5 and the servers 825a, 825b, and 825c may represent the edge servers 525a, 525b, and 525c of FIG. 5, respectively. The output bandwidth between the regional server 815b and the edge server 825a is 1 Gbps, which is divided into the content used for pushing and pulling because the request for pushing and pulling the content has the same priority assigned to it as shown in FIG. 5 The equivalent part of the request. Based on their relative priority assignment bandwidth as shown in FIG. 8, the promotion part is assigned to content files 1, 2 and 3, where content file 3 is assigned half of the 500 Mbps assigned to promote content requests, and content file 2 is assigned assigned to promote One-third of the 500 Mbps of content request and content file 1 gets one-sixth of the 500 Mbps assigned to drive the content request. A similar analysis applies to the communication link between the area server 815b and the edge servers 825b and 825c.

現參考圖9,在方塊900,內容檔案頻寬指派模組335(例如)基於準則分配優先權級至包括各種內容流之個別內容檔案,該等準則包含(但不限於)何時將自一邊緣伺服器存取內容檔案、內容檔案預定送往哪些邊緣節點、內容檔案是否與一隨選視訊(VOD)服務相關聯、內容檔案是否與即時發生之直播主題相關聯及/或在CDN中內容分佈之當前狀態(方塊910)。根據本發明標的之各種實施例,在(例如)圖3之內容檔案佇列340中緩衝之內容檔案可包含(但不限於)視訊檔案、聲頻檔案、語音檔案及/或文字檔案。 Referring now to FIG. 9, at block 900, the content file bandwidth assignment module 335, for example, assigns priority levels to individual content files including various content streams based on criteria including, but not limited to, when the The server accesses the content file, which edge nodes the content file is scheduled to be sent to, whether the content file is associated with a video on demand (VOD) service, whether the content file is associated with a live live topic and / or content distribution in the CDN Its current state (block 910). According to various embodiments of the subject invention, the content files buffered in, for example, the content file queue 340 of FIG. 3 may include, but are not limited to, video files, audio files, voice files, and / or text files.

現參考圖10,在方塊1000,推動/拉動請求頻寬指派模組330(例如)基於準則分配優先權級至推動內容請求及拉動內容請求,該等準則包含(但不限於)內容遞送網路(CDN)中內容分佈之當前狀態及/或當日時間(例如,特定當日時間可具有來自使用者之相對較少量拉動內容請求)(方塊1010)。現參考圖11,為了不要浪費可用頻寬,在方塊1100,當不存在拉動內容請求時,推動/拉動請求頻寬指派模組330對推動內容請求重新指派經指派至拉動內容請求之頻寬部分。同樣地,在方塊1110,當不存在推動內容請求時,推動/拉動請求請求頻寬指 派模組330對拉動內容請求重新指派經指派至推動內容請求之頻寬部分。相似原理適用於輸出頻寬之推動及拉動部分內基於分配至內容檔案之優先權級在內容檔案之間之頻寬劃分。 Referring now to FIG. 10, at block 1000, the push / pull request bandwidth assignment module 330 (for example) assigns priority levels to push content requests and pull content requests based on criteria including, but not limited to, a content delivery network (CDN) The current state of the content distribution and / or time of day (eg, a particular time of day may have a relatively small amount of pull content requests from the user) (block 1010). Referring now to FIG. 11, in order not to waste the available bandwidth, at block 1100, when there is no pull content request, the push / pull request bandwidth assignment module 330 re-assigns the push content request to the bandwidth portion assigned to the pull content request. . Similarly, at block 1110, when there is no push content request, the push / pull request request bandwidth refers to The dispatch module 330 re-assigns the bandwidth portion assigned to the push content request to the pull content request. Similar principles apply to the division of bandwidth between content files based on the priority assigned to the content files within the driving and pulling parts of the output bandwidth.

有利地,藉由動態調整用於推出內容至一CDN中之各種節點且服務來自使用者之內容拉動請求,本發明標的之實施例可允許一更有效檔案傳輸。可使用CDN中之推動管線傳輸較低優先權內容檔案,CDN之頻寬因此經調整以在一目的地需要檔案時遞送檔案,同時儘可能保留足夠頻寬以經由CDN中之拉動管線服務更高優先權使用者請求。 Advantageously, by dynamically adjusting content used to launch various nodes in a CDN and serving content pull requests from users, the subject embodiment of the present invention allows a more efficient file transfer. Lower priority content files can be transmitted using the push pipeline in the CDN. The bandwidth of the CDN is therefore adjusted to deliver the files when a destination needs the files, while retaining as much bandwidth as possible to serve the services through the pull pipeline in the CDN Priority user request.

進一步界定及實施例:Further definition and examples:

在本發明之各種實施例之以上描述中,應瞭解本文使用之術語僅用於描述特定實施例之目的且不意欲限制本發明。除非另有界定,否則本文中使用之全部用語(包含技術及科學用語)具有與一般技術者共同理解相同之本發明所屬於之意義。將進一步瞭解,諸如在共同使用詞典中所界定用語之用語應解釋為具有與其等在本說明書及相關技術之上下文中之意義一致之一意義且不應以本文如此明確界定之一理想化或過度正式含義解釋。 In the above description of various embodiments of the invention, it should be understood that terminology used herein is used for the purpose of describing particular embodiments only and is not intended to limit the invention. Unless otherwise defined, all terms (including technical and scientific terms) used herein have the same meaning as commonly understood by those skilled in the art. It will be further understood that terms such as those defined in a common-use dictionary should be interpreted to have a meaning that is consistent with their meaning in the context of this specification and related technology and should not be an idealized or overly defined term so clearly defined herein Formal meaning explained.

當一元件係被稱為「連接至」、「耦合至」、「響應於」另一元件或其等之變體時,其可直接連接至、耦合至或響應於另一元件或可存在介入元件。相反,當一元件被稱為「直接連接至」、「直接耦合至」、「直接響應於」另一元件或其等之變體時,不存在介入元件。另外,如本文中使用之「連接」、「耦合」、「響應於」或其等之變體可包含無線耦合、連接或響應。如本文中使用,單數形式「一」、「一個」、「該」亦意欲包含複數形式,除非上下文另有明確指示。為簡潔及/或清晰起見,可不必詳細描述已知功能或構造。用語「及/或」或「/」包含相關聯之所列出項目之一或多者之任何及全部組合。 When an element is referred to as being "connected to," "coupled to," "responsive to" another element, or a variation thereof, it may be directly connected to, coupled to, or responsive to another element or there may be intervention element. In contrast, when an element is referred to as being "directly connected to", "directly coupled to", "directly responding to" another element, or a variation thereof, there are no intervening elements present. In addition, "connected," "coupled," "responsive," or variations thereof as used herein may include wireless coupling, connection, or response. As used herein, the singular forms "a", "an" and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. For brevity and / or clarity, well-known functions or constructions need not be described in detail. The term "and / or" or "/" includes any and all combinations of one or more of the associated listed items.

如本文中使用,用語「包括」、「包含」、「具有」或其等之變體係開放式用語,且包含一或多個所陳述之特徵、整數、元件、步驟、組件或功能,但不排除存在或添加一或多個其他特徵、整數、元件、步驟、組件、功能或其等之組群。另外,如本文中使用,源自拉丁片語「exempli gratia」之常見縮寫「e.g.(例如)」可用以介紹或指定一先前提及項目之一或若干普通實例且不意欲限制此項目。源自拉丁片語「id est」之常見縮寫「i.e.(即)」可用以指定來自一更普通敘述之一特定項目。 As used herein, the terms “including,” “including,” “having,” or their variations are open-ended and include one or more of the stated features, integers, elements, steps, components, or functions, but do not exclude The presence or addition of one or more other features, integers, elements, steps, components, functions, or groups thereof. In addition, as used herein, the common abbreviation "e.g. (for example)" derived from the Latin phrase "exempli gratia" can be used to introduce or designate one or several common examples of a previously mentioned item and is not intended to limit this item. The common abbreviation "i.e. (i.e.)" from the Latin phrase "id est" can be used to designate a specific item from a more general narrative.

本文參考電腦實施方法、設備(系統及/或裝置)及/或電腦程式產品之方塊圖及/或流程圖繪示描述例示性實施例。應瞭解,可藉由一或多個電腦電路所執行之電腦程式指令實施方塊圖及/或流程圖繪示之一方塊及方塊圖及/或流程圖繪示之方塊組合。此等電腦程式指令可提供至一通用電腦電路、專用電腦電路及/或其他可程式資料處理電路之一處理器電路以產生一機器,使得經由電腦處理器及/或其他可程式資料處理設備執行之指令轉換且控制電晶體、儲存在記憶體位置中之值及在此電路內部之其他硬體組件以實施方塊圖及/或流程圖方塊或諸流程圖方塊中指定之功能/動作,且藉此產生用於實施在方塊圖及/或(若干)流程圖方塊中指定之功能/動作之構件(功能)及/或結構。 This document refers to block diagrams and / or flowcharts of computer-implemented methods, equipment (systems and / or devices) and / or computer program products to describe exemplary embodiments. It should be understood that one block of the block diagram and / or flowchart illustration can be implemented by computer program instructions executed by one or more computer circuits, and the combination of blocks illustrated by the block diagram and / or flowchart illustration. These computer program instructions can be provided to a general-purpose computer circuit, a dedicated computer circuit, and / or a processor circuit of another programmable data processing circuit to generate a machine for execution by the computer processor and / or other programmable data processing equipment. Instructions convert and control transistors, values stored in memory locations, and other hardware components within this circuit to implement block diagrams and / or flowchart blocks or functions / actions specified in flowchart blocks, and borrow This produces components (functions) and / or structures for implementing the functions / actions specified in the block diagrams and / or flowchart blocks (s).

此等電腦程式指令亦可儲存在導引一電腦或其他可程式資料處理設備以一特定方式起作用之一有形電腦可讀媒體中,使得儲存在電腦可讀媒體中之指令產生包含實施方塊圖及/或流程圖方塊或諸流程圖方塊中指定之功能/動作之指令之一製品。 These computer program instructions can also be stored in a tangible computer-readable medium that directs a computer or other programmable data processing device to function in a specific way, so that the instructions stored in the computer-readable medium generate implementation block diagrams And / or one of the flowchart blocks or instructions for the functions / actions specified in the flowchart blocks.

一有形、非暫時性電腦可讀媒體可包含一電子、磁性、光學、電磁或半導體資料儲存系統、設備或裝置。電腦可讀媒體之更具體實例將包含以下諸項:一可攜式電腦磁片、一隨機存取記憶體(RAM)電 路、一唯讀記憶體(ROM)電路、一可擦除可程式唯讀記憶體(EPROM或快閃記憶體)電路、一可攜式光碟唯讀記憶體(CD-ROM)及一可攜式數位視訊光碟唯讀記憶體(DVD/藍光光碟)。 A tangible, non-transitory computer-readable medium may include an electronic, magnetic, optical, electromagnetic, or semiconductor data storage system, device, or device. More specific examples of computer readable media would include the following: a portable computer diskette, a random access memory (RAM) Circuit, a read-only memory (ROM) circuit, an erasable and programmable read-only memory (EPROM or flash memory) circuit, a portable optical disc read-only memory (CD-ROM), and a portable Digital Video Disc Read Only Memory (DVD / Blu-ray Disc).

電腦程式指令亦可加載至一電腦及/或其他可程式資料處理設備上以導致一系列可操作步驟在電腦及/或其他可程式設備上執行以產生一電腦實施程序,使得在電腦或其他可程式設備上執行之指令提供用於實施在方塊圖及/或流程圖方塊或諸流程圖方塊中指定之指令/動作之步驟。因此,本發明之實施例可體現在於一處理器(諸如一數位信號處理器)上運行之硬體及/或軟體(包含韌體、常駐軟體、微碼等)中,處理器可統稱為「電路」、「一模組」或其等之變體。 Computer program instructions can also be loaded onto a computer and / or other programmable data processing equipment to cause a series of operational steps to be executed on the computer and / or other programmable equipment to generate a computer-implemented program, so that the computer or other The instructions executed on the programming device provide steps for implementing the instructions / actions specified in the block diagrams and / or flowchart blocks or flowchart blocks. Therefore, embodiments of the present invention may be embodied in hardware and / or software (including firmware, resident software, microcode, etc.) running on a processor (such as a digital signal processor). The processor may be collectively referred to as " Circuit, "" a module, "or variations thereof.

亦應瞭解,在一些代替實施方案中,在方塊中標記之功能/動作可不按流程圖中標記之順序發生。舉例而言,事實上,視所涉及之功能/動作而定,連續展示之兩個方塊實質上可同時執行或該等方塊有時可以相反順序執行。再者,流程圖及/方塊圖之一已知方塊之功能可分離為多個方塊及/或流程圖及/方塊圖之兩個或兩個以上方塊之功能可至少部分整合。最後,其他方塊圖可添加/插入至所繪示之方塊之間。再者,儘管圖式之一些包含通信路徑上之箭頭以展示通信之一主要方向,但應瞭解通信可在與所描繪箭頭相反之方向中發生。 It should also be understood that in some alternative implementations, the functions / acts marked in the blocks may occur out of the order marked in the flowchart. For example, in fact, depending on the function / action involved, two blocks shown in succession may be executed substantially simultaneously or the blocks may sometimes be executed in reverse order. Furthermore, the function of one of the known blocks of the flowchart and / or block diagram may be separated into multiple blocks and / or the function of two or more blocks of the flowchart and / or block diagram may be at least partially integrated. Finally, other block diagrams can be added / inserted between the blocks shown. Furthermore, although some of the drawings include arrows on the communication path to show one of the main directions of communication, it should be understood that communication can occur in a direction opposite to the arrows depicted.

關連以上描述及繪圖,本文已揭示許多不同實施例。應瞭解,字面描述及圖解說明此等實施例之每一組合及子組合將係過度重複且混亂。因此,包含繪圖之本說明書應理解為構成實施例之各種例示性組合及子組合及製造且使用其等之方式及程序之一完整書面描述且將支援任何此組合或子組合之權利。 In connection with the above description and drawings, many different embodiments have been disclosed herein. It should be understood that literally describing and illustrating each combination and sub-combination of these embodiments would be overly repetitive and confusing. Accordingly, this description, including drawings, should be understood as a complete written description of the various exemplary combinations and sub-combinations of the embodiments and of the methods and procedures for making and using them, and will support the rights of any such combination or sub-combination.

在不實質上背離本發明之原理之情況下,可對實施例進行各種變動及修改。本文之全部此等變動及修改意欲包含在本發明之範疇內。 Various changes and modifications may be made to the embodiments without substantially departing from the principles of the present invention. All such changes and modifications herein are intended to be included within the scope of this invention.

Claims (21)

一種操作一內容遞送網路之方法,其包括:基於分別指派至處理推動內容請求及拉動內容請求的相對優先權,將連接該內容遞送網路中之一第一伺服器及一第二伺服器之一特定通信鏈路之輸出頻寬劃分為一推動管線部分及一拉動管線部分,其中該推動管線部分係經操作用於經由該特定通信鏈路輸送欲被推動之內容,且該拉動管線部分係經操作用於經由該特定通信鏈路輸送欲被拉動之內容;分配優先權級至預定送往該第二伺服器之一第一複數個內容檔案;基於指派至該第一複數個內容檔案的優先權級,將該推動管線部分劃分為一第一複數個部分且將該第一複數個部分分別指派至欲經由該推動管線部分傳輸之該第一複數個內容檔案;分配優先權級至預定送往該第二伺服器之一第二複數個內容檔案;及基於指派至該第二複數個內容檔案的優先權級,將該拉動管線部分劃分為一第二複數個部分且將該第二複數個部分分別指派至欲經由該拉動管線部分傳輸之該第二複數個內容檔案。A method for operating a content delivery network, comprising: connecting a first server and a second server in the content delivery network based on the relative priorities assigned to processing push content requests and pull content requests, respectively. The output bandwidth of a specific communication link is divided into a pushing pipeline portion and a pulling pipeline portion, wherein the pushing pipeline portion is operative to transport content to be pushed via the specific communication link, and the pulling pipeline portion Is operated to deliver content to be pulled over the specific communication link; assign priority to one of the first plurality of content files scheduled to be sent to the second server; based on the assignment to the first plurality of content files Divide the push pipeline section into a first plurality of sections and assign the first plurality of sections to the first plurality of content files to be transmitted via the push pipeline section respectively; assign the priority to A second plurality of content files scheduled to be sent to one of the second servers; and based on the priority assigned to the second plurality of content files, the Movable second line portion is divided into a plurality of portions and the second plurality of portions are to be assigned to the pulling through of the second plurality of content files transmission line portion. 如請求項1之方法,其中分配該等優先權級至該第一複數個內容檔案包括分配不同優先權級至該第一複數個內容檔案。The method of claim 1, wherein assigning the priorities to the first plurality of content files includes assigning different priorities to the first plurality of content files. 如請求項1之方法,其中分配該等優先權級至該第二複數個內容檔案包括分配不同優先權級至該第二複數個內容檔案。The method of claim 1, wherein assigning the priority levels to the second plurality of content files includes assigning different priority levels to the second plurality of content files. 如請求項1之方法,其中分配該等優先權級至該第一複數個內容檔案包括分別基於該內容遞送網路中與該第一複數個內容檔案相關聯之複數個邊緣節點目的地來分配該等優先權級至該第一複數個內容檔案。The method of claim 1, wherein assigning the priorities to the first plurality of content files includes assigning based on a plurality of edge node destinations in the content delivery network that are associated with the first plurality of content files, respectively. The priority ranges from the first plurality of content files. 如請求項1之方法,其中分配該等優先權級至該第二複數個內容檔案包括分別基於該內容遞送網路中與該第二複數個內容檔案相關聯之複數個邊緣節點目的地來分配該等優先權級至該第二複數個內容檔案。The method of claim 1, wherein assigning the priorities to the second plurality of content files includes assigning based on a plurality of edge node destinations in the content delivery network that are associated with the second plurality of content files, respectively. The priority levels are up to the second plurality of content files. 如請求項1之方法,其中分配該等優先權級至該第一複數個內容檔案包括基於該第一複數個內容檔案中之一或多者是否與一隨選視訊服務相關聯,分配該等優先權級至該第一複數個內容檔案。The method of claim 1, wherein assigning the priorities to the first plurality of content files comprises assigning the priority based on whether one or more of the first plurality of content files are associated with an on-demand video service Priority to the first plurality of content files. 如請求項1之方法,其中分配該等優先權級至該第二複數個內容檔案包括基於該第二複數個內容檔案中之一或多者是否與一隨選視訊服務相關聯,分配該等優先權級至該第二複數個內容檔案。The method of claim 1, wherein assigning the priority levels to the second plurality of content files includes assigning these based on whether one or more of the second plurality of content files are associated with an on-demand video service. Priority to the second plurality of content files. 如請求項1之方法,其中分配該等優先權級至該第一複數個內容檔案包括基於該第一複數個內容檔案中之一或多者是否與即時發生之直播主題相關聯,分配該等優先權級至該第一複數個內容檔案。If the method of claim 1, wherein assigning the priority levels to the first plurality of content files includes assigning these based on whether one or more of the first plurality of content files are associated with a live event that occurs on the fly Priority to the first plurality of content files. 如請求項1之方法,其中分配該等優先權級至該第二複數個內容檔案包括基於該第二複數個內容檔案中之一或多者是否與即時發生之直播主題相關聯,分配該等優先權級至該第二複數個內容檔案。If the method of claim 1, wherein assigning the priority levels to the second plurality of content files includes assigning these based on whether one or more of the second plurality of content files are associated with a live event that occurs on the fly Priority to the second plurality of content files. 如請求項1之方法,其中分配該等優先權級至該第一複數個內容檔案包括基於該內容遞送網路上內容分佈之一當前狀態來分配該等優先權級至該第一複數個內容檔案。The method of claim 1, wherein assigning the priorities to the first plurality of content files includes assigning the priorities to the first plurality of content files based on a current state of a content distribution on the content delivery network. . 如請求項1之方法,其中分配該等優先權級至該第二複數個內容檔案包括基於該內容遞送網路上內容分佈之一當前狀態來分配該等優先權級至該第二複數個內容檔案。The method of claim 1, wherein assigning the priorities to the second plurality of content files includes assigning the priorities to the second plurality of content files based on a current state of a content distribution on the content delivery network. . 如請求項1之方法,其中該第一複數個內容檔案及該第二複數個內容檔案包括視訊、語音、聲頻及/或文字。The method of claim 1, wherein the first plurality of content files and the second plurality of content files include video, audio, audio, and / or text. 如請求項1之方法,其進一步包括基於該內容遞送網路上內容分佈之一當前狀態與一當前當日時間中之至少一者來分配一優先權級至該等推動內容請求。The method of claim 1, further comprising assigning a priority to the push content requests based on at least one of a current state of a content distribution on the content delivery network and a current time of day. 如請求項1之方法,其進一步包括基於該內容遞送網路上內容分佈之一當前狀態與一當前當日時間中之至少一者來分配一優先權級至該等拉動內容請求。The method of claim 1, further comprising assigning a priority to the pull content requests based on at least one of a current state of a content distribution on the content delivery network and a current time of day. 如請求項1之方法,其中該特定通信鏈路係一第一通信鏈路,該方法進一步包括:對連接該內容遞送網路中該第一伺服器及一第三伺服器之一第二通信鏈路分別分配優先權級至推動及拉動內容請求;及分別基於對該第二通信鏈路分配至該等推動及拉動內容請求之該等優先權級,對推動內容請求指派自該第一伺服器至該第三伺服器之輸出頻寬之一推動部分,且對拉動內容請求指派自該第一伺服器至該第三伺服器之該輸出頻寬之一拉動部分。The method of claim 1, wherein the specific communication link is a first communication link, the method further comprises: second communication to one of the first server and a third server in the content delivery network. Assigning priority levels to push and pull content requests respectively; and assigning push content requests from the first servo based on the priority levels assigned to the push and pull content requests to the second communication link, respectively One of the output bandwidth of the third server to the third server, and one of the output bandwidth of the third server from the first server to the third server. 如請求項15之方法,進一步包括:分配優先權級至預定送往該第三伺服器之一第一複數個內容檔案;分配優先權級至預定送往該第三伺服器之一第二複數個內容檔案;基於分配至該第一複數個內容檔案之該等優先權級,分別指派自該第一伺服器至該第三伺服器之該輸出頻寬之該推動部分的複數個部分至該第一複數個內容檔案;及基於分配至該第二複數個內容檔案之該等優先權級,分別指派自該第一伺服器至該第三伺服器之該輸出頻寬之該拉動部分的複數個部分至該第二複數個內容檔案。The method of claim 15, further comprising: assigning priority to a first plurality of content files scheduled to be sent to one of the third servers; assigning priority to a second plurality of content files scheduled to be sent to one of the third servers Content files; based on the priority levels assigned to the first plurality of content files, assigning a plurality of portions of the pushing portion of the output bandwidth from the first server to the third server to the A first plurality of content files; and a plurality of the pull portion of the output bandwidth assigned from the first server to the third server based on the priorities assigned to the second plurality of content files, respectively Sections to the second plurality of content files. 如請求項1之方法,其中該第一伺服器係該內容遞送網路中之網路資料中心節點,且該第二伺服器係該內容遞送網路中之一區域節點。The method of claim 1, wherein the first server is a network data center node in the content delivery network, and the second server is a regional node in the content delivery network. 如請求項1之方法,其中該第一伺服器係該內容遞送網路中之一區域節點,且該第二伺服器係該內容遞送網路中之一邊緣節點。The method of claim 1, wherein the first server is a regional node in the content delivery network, and the second server is an edge node in the content delivery network. 如請求項1之方法,進一步包括:當不存在拉動內容請求時,無論分別分配至該等推動及拉動內容請求之該等相對優先權級,重新指派該輸出頻寬之該拉動管線部分至該推動管線部分;及當不存在推動內容請求時,無論分別分配至該等推動及拉動內容請求之該等相對優先權級,重新指派該輸出頻寬之該推動管線部分至該拉動管線部分。The method of claim 1, further comprising: when there is no pull content request, regardless of the relative priorities assigned to the push and pull content requests respectively, reassigning the pull pipeline portion of the output bandwidth to the Push pipeline portion; and when there is no push content request, regardless of the relative priorities assigned to the push and pull content requests, reassign the push pipeline portion of the output bandwidth to the pull pipeline portion. 一種第一伺服器,其包括:至少一處理器;及至少一記憶體,其經耦合至該處理器,該至少一記憶體包括電腦可讀程式碼,當其藉由該至少一處理器執行時,致使該處理器執行以下操作,其等包括:基於分別指派至處理推動內容請求及拉動內容請求的相對優先權,將連接一內容遞送網路中之該第一伺服器及一第二伺服器之一特定通信鏈路之輸出頻寬劃分為一推動管線部分及一拉動管線部分,其中該推動管線部分係經操作用於經由該特定通信鏈路輸送欲被推動之內容,且該拉動管線部分係經操作用於經由該特定通信鏈路輸送欲被拉動之內容;分配優先權級至預定送往該第二伺服器之一第一複數個內容檔案;基於指派至該第一複數個內容檔案的優先權級,將該推動管線部分劃分為一第一複數個部分且將該第一複數個部分分別指派至欲經由該推動管線部分傳輸之該第一複數個內容檔案;分配優先權級至預定送往該第二伺服器之一第二複數個內容檔案;及基於指派至該第二複數個內容檔案的優先權級,將該拉動管線部分劃分為一第二複數個部分且將該第二複數個部分分別指派至欲經由該拉動管線部分傳輸之該第二複數個內容檔案。A first server includes: at least one processor; and at least one memory coupled to the processor. The at least one memory includes computer-readable program code, which is executed by the at least one processor. , Causing the processor to perform the following operations, which include: based on the relative priorities assigned to processing push content requests and pull content requests, respectively, to connect the first server and a second server in a content delivery network The output bandwidth of a specific communication link of the device is divided into a pushing pipeline portion and a pulling pipeline portion, wherein the pushing pipeline portion is operable to transmit content to be pushed via the specific communication link, and the pulling pipeline Some are operated to deliver content to be pulled over the specific communication link; assign priority to one of the first plurality of content files scheduled to be sent to the second server; based on the assignment to the first plurality of content Priority of the file, divide the push pipeline section into a first plurality of sections and assign the first plurality of sections to the push pipeline section respectively Transmitting the first plurality of content files; assigning priority to a second plurality of content files scheduled to be sent to the second server; and based on the priority assigned to the second plurality of content files, The pull pipeline section is divided into a second plurality of sections and the second plurality of sections are respectively assigned to the second plurality of content files to be transmitted through the pull pipeline section. 一種電腦程式產品,其包括:一非暫時性電腦可讀程式媒體,其包括收錄在其上之電腦可讀程式碼,當其藉由一處理器執行時,該電腦可讀程式碼致使該處理器執行以下操作,其等包括:基於分別指派至處理推動內容請求及拉動內容請求的相對優先權,將連接一內容遞送網路中之一第一伺服器及一第二伺服器之一特定通信鏈路之輸出頻寬劃分為一推動管線部分及一拉動管線部分,其中該推動管線部分係經操作用於經由該特定通信鏈路輸送欲被推動之內容,且該拉動管線部分係經操作用於經由該特定通信鏈路輸送欲被拉動之內容;分配優先權級至預定送往該第二伺服器之一第一複數個內容檔案;基於指派至該第一複數個內容檔案的優先權級,將該推動管線部分劃分為一第一複數個部分且將該第一複數個部分分別指派至欲經由該推動管線部分傳輸之該第一複數個內容檔案;分配優先權級至預定送往該第二伺服器之一第二複數個內容檔案;及基於指派至該第二複數個內容檔案的優先權級,將該拉動管線部分劃分為一第二複數個部分且將該第二複數個部分分別指派至欲經由該拉動管線部分傳輸之該第二複數個內容檔案。A computer program product includes: a non-transitory computer-readable program medium including computer-readable program code recorded on the computer-readable program code, which when executed by a processor causes the processing The server performs the following operations, including the following: based on the relative priorities assigned to process push content requests and pull content requests, respectively, to connect to a first server and a second server in a content delivery network for specific communications The output bandwidth of the link is divided into a pushing pipeline portion and a pulling pipeline portion, wherein the pushing pipeline portion is operated for transmitting content to be pushed through the specific communication link, and the pulling pipeline portion is operated by Delivering content to be pulled via the specific communication link; assigning priority to the first plurality of content files scheduled to be sent to the second server; based on the priority assigned to the first plurality of content files , Dividing the pushing pipeline part into a first plurality of parts and assigning the first plurality of parts to the ones to be transmitted through the pushing pipeline part respectively A plurality of content files; assigning a priority level to a second plurality of content files scheduled to be sent to the second server; and dividing the pull pipeline part based on the priority levels assigned to the second plurality of content files Is a second plurality of parts and the second plurality of parts are respectively assigned to the second plurality of content files to be transmitted through the pull pipeline part.
TW103112373A 2013-04-04 2014-04-02 Methods, apparatus, and computer program products for allocating bandwidth for push and pull content requests in a content delivery network TWI676390B (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/856,895 2013-04-04
US13/856,895 US9584598B2 (en) 2013-04-04 2013-04-04 Methods, apparatus, and computer program products for allocating bandwidth for push and pull content requests in a content delivery network

Publications (2)

Publication Number Publication Date
TW201445985A TW201445985A (en) 2014-12-01
TWI676390B true TWI676390B (en) 2019-11-01

Family

ID=51655278

Family Applications (1)

Application Number Title Priority Date Filing Date
TW103112373A TWI676390B (en) 2013-04-04 2014-04-02 Methods, apparatus, and computer program products for allocating bandwidth for push and pull content requests in a content delivery network

Country Status (5)

Country Link
US (1) US9584598B2 (en)
EP (1) EP2982086B1 (en)
CN (1) CN105264847B (en)
TW (1) TWI676390B (en)
WO (1) WO2014162243A1 (en)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9253051B2 (en) * 2012-02-23 2016-02-02 Ericsson Ab System and method for delivering content in a content delivery network
US9438487B2 (en) 2012-02-23 2016-09-06 Ericsson Ab Bandwith policy management in a self-corrected content delivery network
EP2999187B1 (en) * 2014-09-18 2017-11-15 Alcatel Lucent Method, computer program product and server for streaming media content from a server to a client
CN105792247B (en) * 2014-12-25 2019-12-13 中国移动通信集团公司 data pushing method and device
US10349104B2 (en) 2015-08-19 2019-07-09 Ericsson Ab System and method for managing segment delivery and bandwidth responsive to encoding complexity metrics
US9826261B2 (en) 2015-09-09 2017-11-21 Ericsson Ab Fast channel change in a multicast adaptive bitrate (MABR) streaming network using multicast repeat segment bursts in a dedicated bandwidth pipe
US9826262B2 (en) 2015-09-09 2017-11-21 Ericsson Ab Fast channel change in a multicast adaptive bitrate (MABR) streaming network using multicast repeat segment bursts in a shared progressive ABR download pipe
US10129355B2 (en) * 2016-10-21 2018-11-13 Affirmed Networks, Inc. Adaptive content optimization
US10812543B1 (en) * 2017-02-27 2020-10-20 Amazon Technologies, Inc. Managed distribution of data stream contents
CN107273224A (en) * 2017-06-15 2017-10-20 北京大生在线科技有限公司 Based on the message queue control system for subscribing to triggering
US11930439B2 (en) 2019-01-09 2024-03-12 Margo Networks Private Limited Network control and optimization (NCO) system and method
TW202123653A (en) 2019-12-11 2021-06-16 慧榮科技股份有限公司 Hierarchical and heterogeneous data center
CN111464759B (en) * 2020-03-26 2022-03-18 广州虎牙科技有限公司 Live broadcast directing method, device, storage medium and equipment
US12062068B2 (en) 2021-05-04 2024-08-13 Margo Networks Pvt. Ltd. Oneapp system and method
US11695855B2 (en) 2021-05-17 2023-07-04 Margo Networks Pvt. Ltd. User generated pluggable content delivery network (CDN) system and method
WO2023224680A1 (en) 2022-05-18 2023-11-23 Margo Networks Pvt. Ltd. Peer to peer (p2p) encrypted data transfer/offload system and method

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020126698A1 (en) * 2001-01-23 2002-09-12 Deshpande Sachin G. Bandwidth allocation system
US7324555B1 (en) * 2003-03-20 2008-01-29 Infovalue Computing, Inc. Streaming while fetching broadband video objects using heterogeneous and dynamic optimized segmentation size
US20080215747A1 (en) * 2001-03-02 2008-09-04 Menon Satish N Metadata enabled push-pull model for efficient low-latency video-content distribution over a network
US7680897B1 (en) * 2003-04-08 2010-03-16 Novell, Inc. Methods and systems for managing network traffic
US8122102B2 (en) * 2000-04-14 2012-02-21 Akamai Technologies, Inc. Content delivery network (CDN) content server request handling mechanism

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6006264A (en) 1997-08-01 1999-12-21 Arrowpoint Communications, Inc. Method and system for directing a flow between a client and a server
US8191097B1 (en) 1999-04-01 2012-05-29 Comcast Ip Holdings I, Llc Method and apparatus for hierarchical distribution of video content for an interactive information distribution system
US7664020B2 (en) 2005-11-07 2010-02-16 Hanan Luss Bandwidth allocation for video-on-demand networks
US8589503B2 (en) 2008-04-04 2013-11-19 Mcafee, Inc. Prioritizing network traffic
US8819260B2 (en) 2008-10-15 2014-08-26 Aster Risk Management Llc Random server selection for retrieving fragments under changing network conditions
US8782240B2 (en) 2010-10-18 2014-07-15 Avaya Inc. Resource allocation using shared resource pools
WO2013043821A1 (en) 2011-09-22 2013-03-28 Thomson Licensing Method and apparatus for processing requests for recording content
US20140258449A1 (en) * 2013-03-11 2014-09-11 Comcast Cable Communications, Llc Segmented content delivery

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8122102B2 (en) * 2000-04-14 2012-02-21 Akamai Technologies, Inc. Content delivery network (CDN) content server request handling mechanism
US20020126698A1 (en) * 2001-01-23 2002-09-12 Deshpande Sachin G. Bandwidth allocation system
US20080215747A1 (en) * 2001-03-02 2008-09-04 Menon Satish N Metadata enabled push-pull model for efficient low-latency video-content distribution over a network
US7324555B1 (en) * 2003-03-20 2008-01-29 Infovalue Computing, Inc. Streaming while fetching broadband video objects using heterogeneous and dynamic optimized segmentation size
US7680897B1 (en) * 2003-04-08 2010-03-16 Novell, Inc. Methods and systems for managing network traffic

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
M. Bhide, et al., "Adaptive Push-Pull: Disseminating Dynamic Web Data," IEEE Transactions on Computers, Volume: 51, Issue: 6, Jun 2002. *

Also Published As

Publication number Publication date
WO2014162243A1 (en) 2014-10-09
TW201445985A (en) 2014-12-01
CN105264847A (en) 2016-01-20
US9584598B2 (en) 2017-02-28
EP2982086B1 (en) 2019-05-15
US20140304372A1 (en) 2014-10-09
EP2982086A4 (en) 2016-11-23
EP2982086A1 (en) 2016-02-10
CN105264847B (en) 2019-11-05

Similar Documents

Publication Publication Date Title
TWI676390B (en) Methods, apparatus, and computer program products for allocating bandwidth for push and pull content requests in a content delivery network
TWI604728B (en) Regulating content streams from a weighted fair queuing scheduler using weights defined for user equipment nodes
US10296386B2 (en) Processing element management in a streaming data system
US9407944B1 (en) Resource allocation optimization for cloud-based video processing
US8726327B2 (en) System and method for peer-to-peer live streaming
US20130339537A1 (en) System for dynamic stream management in audio video bridged networks
US11425178B1 (en) Streaming playlist including future encoded segments
US10630746B1 (en) Streaming playlist including future encoded segments
US11157233B1 (en) Application subset selective audio capture
US8973073B2 (en) Weighted ingest policy management in a content distribution network
US11601343B2 (en) Dynamic adaptive network
US9578356B1 (en) Live video matching method and system
US9923763B2 (en) Methods, apparatus, and computer program products for communicating content files based on destination priority
WO2020124726A1 (en) Audio and video stream distribution method in audio and video stream distribution system, and dynamic parent node
US10270660B2 (en) Function virtualization for multimedia network topology adaptation
US20160357875A1 (en) Techniques for promoting and viewing social content written by nearby people
JP6385474B2 (en) Cloud streaming-based broadcast-linked service system, broadcast-linked service client device, trigger content providing server, and method using the same
US20140289307A1 (en) Method for transmitting data between electronic devices
US20130275561A1 (en) Adaptive and configurable content delivery and routing
WO2018127013A1 (en) Method and device for concurrent transmission of stream data
US20180013644A1 (en) System and method for dynamic online backup optimization
US20220224649A1 (en) Information handling system closed loop bandwidth prioritization
Gkamas et al. Integrating the Kaltura video platform with the Photodentro Video repository: A case study
Czyrnek et al. PlatonTV: A Scientific High Definition Content Delivery Platform

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees