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 PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 32
- 238000004590 computer program Methods 0.000 title claims description 10
- 238000004891 communication Methods 0.000 claims abstract description 43
- 238000012545 processing Methods 0.000 claims description 23
- 230000005540 biological transmission Effects 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 19
- 230000006870 function Effects 0.000 description 15
- 230000009471 action Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 230000003466 anti-cipated effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000001747 exhibiting effect Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/52—Queue scheduling by attributing bandwidth to queues
- H04L47/522—Dynamic queue service slot or variable bandwidth allocation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/62—Queue scheduling characterised by scheduling criteria
- H04L47/625—Queue scheduling characterised by scheduling criteria for service slots or service orders
- H04L47/6275—Queue scheduling characterised by scheduling criteria for service slots or service orders based on priority
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
- H04L65/612—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/80—Responding to QoS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/238—Interfacing 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/23805—Controlling the feeding rate to the network, e.g. by controlling the video pump
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/24—Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
- H04N21/2402—Monitoring of the downstream path of the transmission network, e.g. bandwidth available
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network 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/63—Control 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/647—Control 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/64746—Control signals issued by the network directed to the server or the client
- H04N21/64761—Control signals issued by the network directed to the server or the client directed to the server
- H04N21/64769—Control signals issued by the network directed to the server or the client directed to the server for rate control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L5/00—Arrangements affording multiple use of the transmission path
- H04L5/003—Arrangements for allocating sub-channels of the transmission path
- H04L5/0058—Allocation criteria
- H04L5/0064—Rate 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
本發明係關於通信網路,且更特定言之,本發明係關於用於在一內容遞送網路中遞送內容之頻寬指派。 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)
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)
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)
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)
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 |
-
2013
- 2013-04-04 US US13/856,895 patent/US9584598B2/en active Active
-
2014
- 2014-03-26 CN CN201480032255.4A patent/CN105264847B/en active Active
- 2014-03-26 WO PCT/IB2014/060190 patent/WO2014162243A1/en active Application Filing
- 2014-03-26 EP EP14778730.3A patent/EP2982086B1/en active Active
- 2014-04-02 TW TW103112373A patent/TWI676390B/en not_active IP Right Cessation
Patent Citations (5)
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)
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 |