[go: up one dir, main page]

WO2015171028A1 - Managing content delivery network storage - Google Patents

Managing content delivery network storage Download PDF

Info

Publication number
WO2015171028A1
WO2015171028A1 PCT/SE2014/050567 SE2014050567W WO2015171028A1 WO 2015171028 A1 WO2015171028 A1 WO 2015171028A1 SE 2014050567 W SE2014050567 W SE 2014050567W WO 2015171028 A1 WO2015171028 A1 WO 2015171028A1
Authority
WO
WIPO (PCT)
Prior art keywords
content
storage
storage segments
reserved
content providers
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/SE2014/050567
Other languages
French (fr)
Inventor
André Luis CAVALCANTI MOREIRA
Moisé Bezerra ESTRELA RODRIGUES
Djamel Fawzi HADJ SADOK
Arthur DE CASTRO CALLADO
Ernani MADUREIRA DE AZEVEDO
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ericsson Telecomunicacoes Ltda
Telefonaktiebolaget LM Ericsson AB
Original Assignee
Ericsson Telecomunicacoes Ltda
Telefonaktiebolaget LM 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 Telecomunicacoes Ltda, Telefonaktiebolaget LM Ericsson AB filed Critical Ericsson Telecomunicacoes Ltda
Priority to BR112015010309A priority Critical patent/BR112015010309A2/en
Priority to PCT/SE2014/050567 priority patent/WO2015171028A1/en
Publication of WO2015171028A1 publication Critical patent/WO2015171028A1/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

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/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • H04L67/5682Policies or rules for updating, deleting or replacing the stored data

Definitions

  • the present invention relates to a network node and a method of the network node of managing storage of data content provided by a plurality of content providers.
  • the invention further relates to a computer program performing the method according to the present invention, and a computer program product comprising computer readable medium having the computer program embodied therein.
  • CDN storage hired by a CSP providing less popular content will during longer times not be used, or at least only be used occasionally, while CDN storage hired by a CSP providing popular content will be in short supply of caching space in certain network locations.
  • CDN storage hired by a CSP providing popular content will be in short supply of caching space in certain network locations.
  • CDN storage hired by a CSP providing popular content will be in short supply of caching space in certain network locations.
  • CDN storage hired by a CSP providing popular content will be in short supply of caching space in certain network locations.
  • CDN storage hired by a CSP providing popular content will be in short supply of caching space in certain network locations.
  • CDN storage hired by a CSP providing popular content will be in short supply of caching space in certain network locations.
  • CDN storage hired by a CSP providing popular content will be in short supply of caching space in certain network locations.
  • CDN storage hired by a CSP providing popular content will be in short supply of caching space in certain network locations.
  • the uneven distribution of storage resources may result in a deteriorated Quality of Experience (QoE) for the end user.
  • QoE Quality of Experience
  • a possible solution is using a caching replacement technique to handle cache servers of a CDN, which are used for content from all CSPs.
  • a particular storage space at one or more servers of the CDN is reserved for the content of a respective CSP.
  • a drawback of this approach is that the content stored in the one or more servers belongs to different domains (i.e., CSPs) having their own specific requirements, like optimal caching replacement algorithm, QoE
  • the resource reallocation approach implies a re-assignment of server hardware among existing virtual servers and may result in reducing the capacity dedicated to other content providers, if this reduction does not cause of breach of their SLAs. Nevertheless, the re-assignment is usually a time consuming task and may additionally set the cache servers in
  • the content replacement approach replicates the server content at a new server having available resources and balances the workload between both servers.
  • the content replacement approach is time consuming, demands extra physical resources (thus resulting in increasing costs), and the new server must be allocated in a manner such that the SLA can be enforced. It can be concluded that although effective, replacing content becomes a complex process since it demands more hardware resources and networking capabilities as well as requiring a setup time that may damage QoE of the end user.
  • An object of the present invention is to solve, or at least mitigate, the problems in the art of managing storage of data content of a plurality of content providers in a CDN.
  • the method comprises reserving for each content provider at least one storage segment of the storage, the number of storage segments being reserved to each content provider being dependent on an allocation criterion associated with said each content provider, and determining whether the storage segments reserved to the plurality of content providers exceed a capacity of the storage. If so, the method comprises ranking the content providers in accordance with a ranking criterion, wherein a higher ranked content provider is given priority for allocation to the storage over a lower ranked content provider, and allocating the reserved storage segments to the plurality of content providers according to the ranking.
  • a network node configured to manage storage of data content provided by a plurality of content providers.
  • the network node comprises a processing unit and a memory, which memory contains instructions executable by the processing unit, whereby the network node is operative to reserve for each content provider at least one storage segment of the storage, the number of storage segments being reserved to each content provider being dependent on an allocation criterion associated with said each content provider.
  • the network node is operative to determine whether the storage segments reserved to the plurality of content providers exceed a capacity of the storage; and if so rank the content providers in accordance with a ranking criterion, wherein a higher ranked content provider is given priority for allocation to the storage over a lower ranked content provider, and allocate the reserved storage segments to the plurality of content providers according to the ranking.
  • a computer program performing the methods according to the present invention, and a computer program product comprising computer readable medium having the computer programs embodied therein.
  • the present invention tackles the problem of a network node in the form of a CDN manager, managing a CDN for serving a plurality of
  • the CSPs by dynamically allocating the storage in which data content provided by the CSPs will be stored.
  • the storage is typically embodied in the form of one or more caches distributed over one or more servers depending on required storage capacity.
  • Each cache will have a number of storage segments, which are reserved to the CSPs according to an allocation criterion associated with each CSP.
  • the allocation criterion may be set based on, e.g., a Service Level Agreement (SLA) stipulating Quality of Experience (QoE) of end users requesting content provided by the CSPs.
  • SLA Service Level Agreement
  • QoE Quality of Experience
  • the CSPs are ranked in accordance with a ranking criterion (such as, e.g., number of user requests for content being made to each CSP) and the data content of a higher ranked CSP is given priority for allocation to the cache over a lower ranked CSP.
  • a higher ranked CSP will be given priority to the reserved storage segments in which the data content will be stored. This advantageously improves utilization of the cache(s). For instance, when the number of user requests to data content increases for a particular CSP currently being in great demand, the data content of the particular CSP should be given priority to cache allocation over data content from another less requested CSP.
  • the present invention facilitates a dynamic behaviour of a CDN for allocating storage segments and storing the data content of a plurality of CSPs in the storage segments by considering ranking criteria, which criteria in a practical situation is bound to change continuously.
  • the allocation criteria of the CSPs are continuously evaluated by the CDN manager in order to perform reallocation of the reserved storage segments to each CSP in case of changing allocation criteria.
  • the storage area of the servers i.e., the number of allocated storage segments, can dynamically be increased or decreased for the CSPs depending on actual conditions in the CDN.
  • the allocation criteria can change for a number of reasons, such as one or more new CSPs entering the network, one or more of the CSPs requesting more storage, a change occurring in cost for storing the data in the storage, a change occurring in the SLA of one or more of the CSPs, etc.
  • the further reserved storage segments are advantageously allocated to the CSPs in one or more further storages in a round robin schedule, where each one of the CSPs is allocated one reserved storage segment each round.
  • the CDN manager according to embodiments of the present invention as described herein provides for a dynamic maintenance of a CDN. That is, the allocation of reserved storage segments is not static but changes over time. This can be done in a periodical manner, or triggered by an event such as:
  • Figure l illustrates a communications network in which the present invention may be implemented
  • Figure 2 illustrates a flowchart of a method at a CDN manager according to an embodiment of the present invention
  • Figure 3 illustrates allocation of reserved storage segments according to an embodiment of the present invention
  • Figure 4 illustrates ranking of CSPs according to an embodiment of the present invention
  • Figure 5 illustrates ranking of CSPs according to another embodiment of the present invention.
  • Figure 6 illustrates a CDN manager according to an embodiment of the present invention.
  • FIG. l illustrates a communications network in which the present invention may be implemented in a network node, which in the following will be referred to as a CDN manager 100, managing a CDN embodied in the form a plurality of cache servers 101, 102, 103 where a plurality of CSPs (CSP A 110, CSP B 111, CSP C 112) store data content.
  • a CDN comprises a potentially large number of distributed servers covering a geographical region and connected to the Internet to provide end-users with content data on behalf of the CSPs.
  • the CSPs may hire storage from an operator of the CDN for storing data content in the server(s) 101-103 according to, e.g., a Service Level Agreement (SLA) between the CSP and the CDN operator.
  • SLA Service Level Agreement
  • content is typically replicated from an origin server to cache servers referred to as replica servers or surrogate servers covering the geographical region in order to deliver content to end-users in a reliable and timely manner, thereby improving performance, scalability, and QoE for end users.
  • the agreement between the CSPs and the CDN operator may differ in several aspects depending on the interests of an individual CSP, for instance with respect to start-up delay, geographical coverage, QoE, etc.
  • a key parameter which is typically always present in the agreement between a CSP and a CDN operator is storage space.
  • the agreement may stipulate that 1 Giga Byte (GB) of unique data content can be stored, and that the 1 GB data content can be replicated to a total of 10 GB on the CDN replica servers spread over a geographical region.
  • GB Giga Byte
  • the technical knowledge of the content delivery process typically remains with the CDN.
  • CDN managers are responsible for performing CDN tasks like cache replacement, request redirection, content outsourcing, among others, and for meeting the QoS requirements as stipulated by the agreements with the respective CSP.
  • the CSP typically cannot decide in which cache the content will be stored, it only hires storage space and the CDN decides how the storage space will be distributed among its caches.
  • the SLA may define the QoS requirements to be met by the CDN, the penalties for noncompliance, rules regarding the geographical distribution and property rights, content replication, security, etc. A number of considerations must be made in the CDN.
  • the amount of storage space to be hired by a CSP is thus a complex issue, since the CSP cannot decide how its data content will be distributed in the CDN. This is usually a CDN decision and the CSP must trust the CDN operator. For instance, if a CSP has a certain amount of content, it cannot be sure that all the content will be available on the CDN. This can happen if only a small portion of the total amount of content is frequently requested, thus being replicated on the replica/ surrogate servers up to the maximal amount of data to be stored as stipulated by the SLA. To be guaranteed that the CDN can accommodate all the data of the CSP, the CSP would have to hire greater storage space.
  • the contracting process is typically a result of a trade-off between (high) QoS demanded by the CSP and (lower) provided QoS that the CDN operator will be able to comply with. From the perspective of the CDN operator, the CDN can possibly accommodated more storage space than it effectively has, if the CDN operator is confident enough that, by doing so, the SLA and QoS requirements will still be met (or the penalties for non- compliance is less than the revenue).
  • FIG. 1 a flowchart of a method at the CDN manager 100 of managing storage for a plurality of parties storing data content in the storage in accordance with an embodiment of the invention is illustrated.
  • the storage is embodied by the server 101, while the parties are embodied by the three content providers CSP A no, CSP B in and CSB C 112.
  • the method at the CDN manager 100 is performed by a processor 115 embodied in the form of one or more microprocessors arranged to execute a computer program 117 downloaded to a suitable storage medium 116 accessible by the microprocessor, such as a Random Access Memory (RAM), a Flash memory or a hard disk drive.
  • the processor 115 is arranged to carry out the method according to embodiments of the present invention when the appropriate computer program 117 comprising computer-executable instructions is downloaded to the storage medium 116 and executed by the processor 115.
  • the storage medium 116 may also be a computer program product comprising the computer program 117.
  • the computer program 117 maybe transferred to the storage medium 116 by means of a suitable computer program product, such as a digital versatile disk (DVD) or a memory stick.
  • DVD digital versatile disk
  • the computer program 117 may be downloaded to the storage medium 116 over a network.
  • the processor 115 may alternatively be embodied in the form of an application specific integrated circuit (ASIC), a field-programmable gate array (FPGA), a complex programmable logic device (CPLD), a digital signal processor (DSP), etc.
  • ASIC application specific integrated circuit
  • FPGA field-programmable gate array
  • CPLD complex programmable logic device
  • DSP digital signal processor
  • the server 101 is illustrated to accommodate a storage space comprising twenty-one equally-sized storage segments, which can be reserved for subsequent allocation to the CSPs. It will be appreciated that an embodiment of the invention may accommodate any number of storage segments, not just twenty-one. As can be seen, in the storage of server 101 the CDN
  • manager 100 reserves five storage segments to CSP A no, three storage segments to CSP B m, and six storage segments to CSP C 112.
  • the CDN manager 101 determines in step S102 whether the storage segments reserved to the CSPs exceed a capacity of the server 101 and if so, ranks the CSPs 110, 111, 112 in accordance with a ranking criterion in step S103, wherein a higher ranked party is given priority for allocation to the storage over a lower ranked party.
  • the CDN manager 100 allocates the reserved storage segments to the CSPs 110, 111, 112 in step S104 in the server 101 according to the ranking of the CSPs. Should the capacity of the server 101 not be exceeded at step S102, the method can proceed directly to the step S104 of allocating the reserved storage segments without undertaking the ranking of step S103.
  • the ranking criterion may be embodied in the form of number of requests being made by users to the CSPs for data content.
  • a movie provided by CSP A 110 is in great demand in the southern part of Germany, while pieces of data content of the other two CSPs 111, 112 is not as abundantly requested, one or more storage segments are allocated in the previously discussed Frankfurt replica server embodied by server 101 for storing the highly requested movie of CSPA 110 thereby providing a good QoE to the requesting end-user.
  • the storage segments are allocated on a single server.
  • the storage segments allocated to a CSP is typically distributed over a plurality of servers.
  • the allocation criteria of the parties are continuously evaluated by the CDN manager 100 in order to perform re-allocation of the storage segments to each party in case of changing allocation criteria.
  • the storage area of the servers i.e., the amount of allocated storage segments
  • the allocation criteria can change for a number of reasons, such as one or more new CSPs entering the network, one or more of the CSPs requesting more storage, a change occurring in cost for storing the data in the storage, a change occurring in the SLA of one or more of the CSPs, etc.
  • the method starts over in step S101 by performing a new reservation of storage segments.
  • the process of the CDN of reserving storage segments to the CSPs can be viewed upon as forming a virtual CDN by defining where the storage segments reserved for each CSP will be located, i.e., exactly which reserved storage segments on which caches each CSP will receive.
  • the number of reserved storage segments will depend on the hired storage capacity, as previously mentioned.
  • the reservation of storage segments is similar to the placement of surrogates onto replica/surrogate servers, a common problem of a traditional CDN.
  • the so called Greedy algorithm may be employed.
  • the mentioned surrogate placement problem is computationally complex, which has led to development of some heuristics, such as Greedy replica placement and scalable replica placement. These heuristics take into account the existing information from the CDN, such as workload pattern and network topology.
  • surrogate/replica servers are chosen by choosing one surrogate at a time. In a first iteration, each of the N potential replica/surrogate servers is evaluated in order to determine the suitability of a server to host a surrogate. A cost is computed with the assumption that all clients will access that server. Then, the server with the lowest cost is chosen. The cost considers the goal of the placement, as explained earlier and exemplified by workload and network topology.
  • the Greedy algorithm searches for a second surrogate/replica server in conjunction with the server already selected. The iteration continues until M surrogate servers have been placed.
  • the Greedy algorithm practically works well even with imperfect input data. However, it requires the knowledge of the users' locations in the network and all pair wise inter-node distances.
  • the method according to an embodiment of the present invention can be tailored to the Greedy approach by replacing potential servers by storage segments on caches, and surrogate servers by reserved storage segments.
  • the aim is to reserve storage segments to storage(s). For instance, a certain CSP has ten reserved storage segments to be placed on the physical caches that the CDN has available. It must choose where to distribute each of these reserved storage segments on the available potential storage segments.
  • many storage segments should be available on each cache, such that many reserved storage segments of the same CSP potentially can be allocated on that cache, in case the data content of a particular CSP is in great demand at a particular geographical location.
  • each CSP has an amount of reserved storage segments on each cache.
  • a situation may arise where the reserved storage segments of on or more CSPs on a specified cache exceed the capacity of a cache (i.e., the number of storage segments the cache has). If this is the case, a second phase is performed of the embodiment described with reference to Figure 2, i.e., the steps S103 and S104 of ranking the CSPs and allocating the reserved storage segments, respectively.
  • the second phase is only executed after the first phase has been performed, if the number of storage segments reserved for each CSP for a specific cache exceeds the capacity (i.e., the number of available storage segments) of that cache. The CSPs will then have to compete for the storage segments.
  • the CSPs are all given the same rank, and the allocation of reserved storage segments is based on proportionality, where the reserved storage segments are allocated to the CSPs proportionally in accordance with the allocation criterion of the respective CSP.
  • Figure 3 shows an illustration of this proportional allocation strategy. Based on the desired storage segments of the CSPs, a Segment Proportion (SP) measure can be calculated and used for determining the allocation of reserved storage segments.
  • SP Segment Proportion
  • a heuristic based on one or more of the number of requests for a piece of data content and the size of the data content is employed.
  • the goal of the heuristic is to maximize or at least increase the profit of the CDN by minimizing or at least reducing cost associated with content delivery.
  • the cost of a CDN of delivering a much-requested content to the end-users requesting the particular piece of content is considered lower as compared to a less-requested piece of content.
  • Figures 4 and 5 illustrate an exemplifying embodiment where the size of a storage segment, in which the pieces of data content (DC) are to be allocated, is configured to be 150 kB (all equally-sized) and since the total amount of reserved storage segments are assumed to exceed the capacity of the storage, the CSPs are ranked such that the reserved storage segments can be allocated in accordance with the ranking.
  • one reserved storage segment is to be allocated to one of the two CSPs in accordance with the ranking.
  • CSP A and CSP B both have three pieces of data content that should be stored in an allocated storage segment of a cache, where each data content is listed in order of popularity. The score is calculated such that the size of each data content is weighted by the number of requests made to the data content. If a piece of data content cannot be fitted within a storage segment, it will contribute negatively to the score.
  • CSP A has one piece of data content which cannot be fitted into a storage segment
  • CSP B has two pieces of data content which cannot be fitted.
  • the first two pieces of data content of CSP A amount to 140 kB and thus can be fitted within one storage segment
  • the first two pieces of data content of CSP B amount to 155 kB and thus cannot be fitted within a single storage segment.
  • the score (SC) of the respective CSP is calculated as:
  • CSP A has a higher rank and will be allocated the reserved storage segment for storing its two most popular pieces of data content.
  • CSP A has one piece of data content which cannot be fitted into a storage segment, while CSP B has two pieces of data content which cannot be fitted.
  • the most popular data content of CSP B has a great number of requests.
  • CSP B has a higher rank and will be allocated the reserved storage segment for storing its single most popular data content.
  • a third phase is executed where the further reserved storage segments are allocated to the CSPs in one or more further storages in a round robin schedule, where each one of the CSPs is allocated one reserved storage segment each round.
  • server 101 in case server 101 is fully allocated, the remaining pieces of data content for which storage segments have been reserved according to the allocation criterion is allocated in server 102, and so on.
  • the CDN manager 100 according to various embodiments of the present invention as described herein provides for a dynamic
  • the allocation of reserved storage segments is not static but changes over time. This can be done in a periodical manner, or triggered by a number of events as previously has been discussed. This may cause the CDN manager to perform the first, the second, and even the third phase, according to embodiments of the present invention described hereinabove to re-allocated reserved storage segments. Further advantageous is that adaptation to changing conditions can be performed for a single specific CSP without necessarily impacting on the allocation of the others.
  • FIG. 6 shows a CDN manager 100 according to an embodiment of the present invention.
  • the CDN manager 100 comprises reserving means 120 adapted to reserve at least one storage segment of the storage for each content provider, the number of storage segments being reserved to each content provider being dependent on an allocation criterion associated with said each content provider, and determining means 130 adapted to determine whether the storage segments reserved to the plurality of content providers exceed a capacity of the storage.
  • the CDN manager 100 comprises ranking means 130 adapted to rank the content providers in accordance with a ranking criterion, wherein a higher ranked content provider is given priority for allocation to the storage over a lower ranked content provider, and allocating means 150 adapted to allocate the reserved storage segments to the plurality of content providers according to the ranking.
  • the reserving means 120 and/ or the allocating means 150 may comprise a communications interface for receiving and providing information to other devices, such as CSPs.
  • the CDN manager 100 may further comprise a local storage for storing obtained data.
  • the reserving means 120, determining means 130, ranking means 140 and allocating means 150 may (in analogy with the description given in connection to Figure 1) be implemented by a processor embodied in the form of one or more microprocessors arranged to execute a computer program downloaded to a suitable storage medium associated with the microprocessor, such as a RAM, a Flash memory or a hard disk drive.
  • the reserving means 120 and allocating means 150 may comprise one or more transmitters and/ or receivers and/ or transceivers, comprising analogue and digital components and a suitable number of antennae for radio

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

The present invention relates to a network node, and a method of a network node,of managing storage of data content provided by a plurality of content providers. The invention further relates to a corresponding computer program and a corresponding computer program product. The method of managing storage of data content provided by a plurality of content provider comprises reserving (S101) for each content provider at least one storage segment of the storage, the number of storage segments being reserved to each content provider being dependent on an allocation criterion associated with said each content provider, and determining (S102) whether the storage segments reserved to the plurality of content providers exceed capacity of the storage. If so, the method comprises ranking (S103) the content providers in accordance with a ranking criterion, wherein a higher ranked content provider is given priority for allocation to the storage over a lower ranked content provider, and allocating (S104) the reserved storage segments to the plurality of content providers according to the ranking.

Description

MANAGING CONTENT DELIVERY NETWORK STORAGE
TECHNICAL FIELD
The present invention relates to a network node and a method of the network node of managing storage of data content provided by a plurality of content providers. The invention further relates to a computer program performing the method according to the present invention, and a computer program product comprising computer readable medium having the computer program embodied therein.
BACKGROUND
In the art, when multiple Content Service Providers (CSPs) hire storage provided by Content Delivery Networks (CDNs) for caching frequently requested content, inefficiencies can be identified. For instance, CDN storage hired by a CSP providing less popular content will during longer times not be used, or at least only be used occasionally, while CDN storage hired by a CSP providing popular content will be in short supply of caching space in certain network locations. Furthermore, it is common that a single CSP has periods where it receives many content requests, while it during other periods receives few or none requests, even throughout a day. This leads to cache usage inefficiency, since a CDN serving a CSP providing less popular content may reserve more cache than needed, while it cannot provide sufficient cache space when serving a CSP providing much requested content.
The uneven distribution of storage resources may result in a deteriorated Quality of Experience (QoE) for the end user. A possible solution is using a caching replacement technique to handle cache servers of a CDN, which are used for content from all CSPs. Typically, a particular storage space at one or more servers of the CDN is reserved for the content of a respective CSP. A drawback of this approach is that the content stored in the one or more servers belongs to different domains (i.e., CSPs) having their own specific requirements, like optimal caching replacement algorithm, QoE
considerations, pricing, etc. Resource reservation does not solve the problem either, since it is expected that due to the reservation remaining resources become unable to host content of another CSP. In addition, these resources occasionally become unutilized or underutilized but have maintenance cost even when not being used. The combination of such "voids" in a certain domain and an unexpected increase on resource demand in another domain may harm the overall performance of the cache, possibly causing breach of service-level agreements (SLAs) between an operator of the CDN and a CSP.
Two approaches to circumvent the issue in handling unexpected requests in such resource-reserved environments are content replacement and resource reallocation. The resource reallocation approach implies a re-assignment of server hardware among existing virtual servers and may result in reducing the capacity dedicated to other content providers, if this reduction does not cause of breach of their SLAs. Nevertheless, the re-assignment is usually a time consuming task and may additionally set the cache servers in
unprepared states for future reallocations, possibly causing a breach of SLAs. The content replacement approach replicates the server content at a new server having available resources and balances the workload between both servers. However, the content replacement approach is time consuming, demands extra physical resources (thus resulting in increasing costs), and the new server must be allocated in a manner such that the SLA can be enforced. It can be concluded that although effective, replacing content becomes a complex process since it demands more hardware resources and networking capabilities as well as requiring a setup time that may damage QoE of the end user.
SUMMARY OF THE INVENTION
An object of the present invention is to solve, or at least mitigate, the problems in the art of managing storage of data content of a plurality of content providers in a CDN.
This object is attained in a first aspect of the present invention by a method of managing storage of data content provided by a plurality of content providers. The method comprises reserving for each content provider at least one storage segment of the storage, the number of storage segments being reserved to each content provider being dependent on an allocation criterion associated with said each content provider, and determining whether the storage segments reserved to the plurality of content providers exceed a capacity of the storage. If so, the method comprises ranking the content providers in accordance with a ranking criterion, wherein a higher ranked content provider is given priority for allocation to the storage over a lower ranked content provider, and allocating the reserved storage segments to the plurality of content providers according to the ranking. This object is attained in a second aspect of the present invention by a network node configured to manage storage of data content provided by a plurality of content providers. The network node comprises a processing unit and a memory, which memory contains instructions executable by the processing unit, whereby the network node is operative to reserve for each content provider at least one storage segment of the storage, the number of storage segments being reserved to each content provider being dependent on an allocation criterion associated with said each content provider. Further the network node is operative to determine whether the storage segments reserved to the plurality of content providers exceed a capacity of the storage; and if so rank the content providers in accordance with a ranking criterion, wherein a higher ranked content provider is given priority for allocation to the storage over a lower ranked content provider, and allocate the reserved storage segments to the plurality of content providers according to the ranking. Further provided are a computer program performing the methods according to the present invention, and a computer program product comprising computer readable medium having the computer programs embodied therein.
Advantageously, the present invention tackles the problem of a network node in the form of a CDN manager, managing a CDN for serving a plurality of
CSPs by dynamically allocating the storage in which data content provided by the CSPs will be stored. The storage is typically embodied in the form of one or more caches distributed over one or more servers depending on required storage capacity. Each cache will have a number of storage segments, which are reserved to the CSPs according to an allocation criterion associated with each CSP. The allocation criterion may be set based on, e.g., a Service Level Agreement (SLA) stipulating Quality of Experience (QoE) of end users requesting content provided by the CSPs. If the reserved storage segments of the CSPs, in which reserved segments data content is intended to be stored, exceed a capacity of the caches, the CSPs are ranked in accordance with a ranking criterion (such as, e.g., number of user requests for content being made to each CSP) and the data content of a higher ranked CSP is given priority for allocation to the cache over a lower ranked CSP. Thus, a higher ranked CSP will be given priority to the reserved storage segments in which the data content will be stored. This advantageously improves utilization of the cache(s). For instance, when the number of user requests to data content increases for a particular CSP currently being in great demand, the data content of the particular CSP should be given priority to cache allocation over data content from another less requested CSP. In practice, this could imply that a greater number of reserved storage segments ultimately is allocated to the higher-ranked CSP. Thus, the present invention facilitates a dynamic behaviour of a CDN for allocating storage segments and storing the data content of a plurality of CSPs in the storage segments by considering ranking criteria, which criteria in a practical situation is bound to change continuously. In an embodiment of the present invention, the allocation criteria of the CSPs are continuously evaluated by the CDN manager in order to perform reallocation of the reserved storage segments to each CSP in case of changing allocation criteria. Thus, the storage area of the servers, i.e., the number of allocated storage segments, can dynamically be increased or decreased for the CSPs depending on actual conditions in the CDN. The allocation criteria can change for a number of reasons, such as one or more new CSPs entering the network, one or more of the CSPs requesting more storage, a change occurring in cost for storing the data in the storage, a change occurring in the SLA of one or more of the CSPs, etc.
In a further embodiment of the present invention, if after allocation of the reserved storage segments, there are further reserved storage segments remaining according to the allocation criterion, the further reserved storage segments are advantageously allocated to the CSPs in one or more further storages in a round robin schedule, where each one of the CSPs is allocated one reserved storage segment each round. Hence, if after a particular storage is fully allocated, there are remaining CSPs where storage segments have been reserved for pieces of data content according to the allocation criterion, these storage segments must be allocated in a different storage in order to fulfil the allocation criterion.
Advantageously, the CDN manager according to embodiments of the present invention as described herein provides for a dynamic maintenance of a CDN. That is, the allocation of reserved storage segments is not static but changes over time. This can be done in a periodical manner, or triggered by an event such as:
(a) A new CSP entering the system. Obviously, when a new CSP enters the system, a new arrangement maybe needed. (b) An existing CSP requires more capacity. This is in practice similar to the entrance of a new CSP.
(c) Changed costs in infrastructure. A change in the cost of the
infrastructure may impact on the revenue of an operator of the CDN and, therefore, on the decision to allocate reserved storage segments. Thus, a previous allocation may be outdated.
(d) Change(s) in the SLA of a CSP. The change on the SLA of a CSP can potentially change the allocation criterion of the CSP and therefore impact on the decision of reservation and allocation of storage segments. Generally, all terms used in the claims are to be interpreted according to their ordinary meaning in the technical field, unless explicitly defined otherwise herein. All references to "a/an/the element, apparatus, component, means, step, etc." are to be interpreted openly as referring to at least one instance of the element, apparatus, component, means, step, etc., unless explicitly stated otherwise. The steps of any method disclosed herein do not have to be performed in the exact order disclosed, unless explicitly stated.
BRIEF DESCRIPTION OF THE DRAWINGS
The invention is now described, by way of example, with reference to the accompanying drawings, in which:
Figure l illustrates a communications network in which the present invention may be implemented;
Figure 2 illustrates a flowchart of a method at a CDN manager according to an embodiment of the present invention; Figure 3 illustrates allocation of reserved storage segments according to an embodiment of the present invention;
Figure 4 illustrates ranking of CSPs according to an embodiment of the present invention;
Figure 5 illustrates ranking of CSPs according to another embodiment of the present invention; and
Figure 6 illustrates a CDN manager according to an embodiment of the present invention.
DETAILED DESCRIPTION
The invention will now be described more fully hereinafter with reference to the accompanying drawings, in which certain embodiments of the invention are shown. This invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein; rather, these embodiments are provided by way of example so that this disclosure will be thorough and complete, and will fully convey the scope of the invention to those skilled in the art. Like numbers refer to like elements throughout the description.
Figure l illustrates a communications network in which the present invention may be implemented in a network node, which in the following will be referred to as a CDN manager 100, managing a CDN embodied in the form a plurality of cache servers 101, 102, 103 where a plurality of CSPs (CSP A 110, CSP B 111, CSP C 112) store data content. In practice, a CDN comprises a potentially large number of distributed servers covering a geographical region and connected to the Internet to provide end-users with content data on behalf of the CSPs. The CSPs may hire storage from an operator of the CDN for storing data content in the server(s) 101-103 according to, e.g., a Service Level Agreement (SLA) between the CSP and the CDN operator. In the CDN, content is typically replicated from an origin server to cache servers referred to as replica servers or surrogate servers covering the geographical region in order to deliver content to end-users in a reliable and timely manner, thereby improving performance, scalability, and QoE for end users.
The agreement between the CSPs and the CDN operator may differ in several aspects depending on the interests of an individual CSP, for instance with respect to start-up delay, geographical coverage, QoE, etc. However, a key parameter which is typically always present in the agreement between a CSP and a CDN operator is storage space. For instance, the agreement may stipulate that 1 Giga Byte (GB) of unique data content can be stored, and that the 1 GB data content can be replicated to a total of 10 GB on the CDN replica servers spread over a geographical region. Hence, while the CSP is physically located in Sweden, an end-user in Germany will be directed to a replica server in Frankfurt, another end-user in Midwestern US will be directed to another replica server located in Chicago, etc.
The technical knowledge of the content delivery process typically remains with the CDN. One or more CDN managers are responsible for performing CDN tasks like cache replacement, request redirection, content outsourcing, among others, and for meeting the QoS requirements as stipulated by the agreements with the respective CSP. The CSP typically cannot decide in which cache the content will be stored, it only hires storage space and the CDN decides how the storage space will be distributed among its caches. In reality, the only way in which the CSP may interfere in the content delivery process is indirectly through the SLA with the CDN provider. The SLA may define the QoS requirements to be met by the CDN, the penalties for noncompliance, rules regarding the geographical distribution and property rights, content replication, security, etc. A number of considerations must be made in the CDN. Firstly, how should the relationship between the storage space hired by the CSP and the amount of content to be delivered by the CDN be defined. If the space purchased is equal to the sum of all data to be distributed, there will be no data content replication. In this situation, each piece of data content is said to be available in only one surrogate, which provides for low scalability. On the other hand, some piece of rarely requested data content maybe discarded in favour of a more requested piece of content being replicated in more than one surrogate. This behaviour cannot be directly controlled by the CSP since it is typically the CDN that defines how each piece of data content will be stored in its caches, according to the caching replacement or outsourcing content algorithms utilized by the CDN manager (s).
The amount of storage space to be hired by a CSP is thus a complex issue, since the CSP cannot decide how its data content will be distributed in the CDN. This is usually a CDN decision and the CSP must trust the CDN operator. For instance, if a CSP has a certain amount of content, it cannot be sure that all the content will be available on the CDN. This can happen if only a small portion of the total amount of content is frequently requested, thus being replicated on the replica/ surrogate servers up to the maximal amount of data to be stored as stipulated by the SLA. To be guaranteed that the CDN can accommodate all the data of the CSP, the CSP would have to hire greater storage space. The contracting process is typically a result of a trade-off between (high) QoS demanded by the CSP and (lower) provided QoS that the CDN operator will be able to comply with. From the perspective of the CDN operator, the CDN can possibly accommodated more storage space than it effectively has, if the CDN operator is confident enough that, by doing so, the SLA and QoS requirements will still be met (or the penalties for non- compliance is less than the revenue).
Reference is made again to the network of Figure l, where the CDN
manager 100 according to an embodiment of the present invention is illustrated. Reference is further made to Figure 2 where a flowchart of a method at the CDN manager 100 of managing storage for a plurality of parties storing data content in the storage in accordance with an embodiment of the invention is illustrated. The storage is embodied by the server 101, while the parties are embodied by the three content providers CSP A no, CSP B in and CSB C 112.
The method at the CDN manager 100 is performed by a processor 115 embodied in the form of one or more microprocessors arranged to execute a computer program 117 downloaded to a suitable storage medium 116 accessible by the microprocessor, such as a Random Access Memory (RAM), a Flash memory or a hard disk drive. The processor 115 is arranged to carry out the method according to embodiments of the present invention when the appropriate computer program 117 comprising computer-executable instructions is downloaded to the storage medium 116 and executed by the processor 115. The storage medium 116 may also be a computer program product comprising the computer program 117. Alternatively, the computer program 117 maybe transferred to the storage medium 116 by means of a suitable computer program product, such as a digital versatile disk (DVD) or a memory stick. As a further alternative, the computer program 117 may be downloaded to the storage medium 116 over a network. The processor 115 may alternatively be embodied in the form of an application specific integrated circuit (ASIC), a field-programmable gate array (FPGA), a complex programmable logic device (CPLD), a digital signal processor (DSP), etc. The server 101 is illustrated to accommodate a storage space comprising twenty-one equally-sized storage segments, which can be reserved for subsequent allocation to the CSPs. It will be appreciated that an embodiment of the invention may accommodate any number of storage segments, not just twenty-one. As can be seen, in the storage of server 101 the CDN
manager 100 reserves five storage segments to CSP A no, three storage segments to CSP B m, and six storage segments to CSP C 112. The
reservation of the fourteen storage segments is managed by the CDN manager 100 in step S101 in the flowchart of Figure 2. As can be seen in Figure 1, after the fourteen storage segments have been reserved, there are seven free, i.e., unreserved, storage segments left. The reservation of the five, three and six storage segments to CSP A 110, CSP B 111 and CSP C 112, respectively, are stipulated by an allocation criterion, such as an SLA, of each CSP in order to provide e.g. a minimum Q0S/Q0E of an end-user, which not necessarily is sufficient in a long-term in perspective according to the SLA.
If in a further round of reserving storage segments in the storage of server 101, another seven storage segments are reserved and the storage space of the server 101 thus is depleted, a problem arises if there are further pieces of data content of the CSPs to allocate. Advantageously, in an embodiment of the present invention, the CDN manager 101 determines in step S102 whether the storage segments reserved to the CSPs exceed a capacity of the server 101 and if so, ranks the CSPs 110, 111, 112 in accordance with a ranking criterion in step S103, wherein a higher ranked party is given priority for allocation to the storage over a lower ranked party. Finally, the CDN manager 100 allocates the reserved storage segments to the CSPs 110, 111, 112 in step S104 in the server 101 according to the ranking of the CSPs. Should the capacity of the server 101 not be exceeded at step S102, the method can proceed directly to the step S104 of allocating the reserved storage segments without undertaking the ranking of step S103. For instance, the ranking criterion may be embodied in the form of number of requests being made by users to the CSPs for data content. In a practical example, a movie provided by CSP A 110 is in great demand in the southern part of Germany, while pieces of data content of the other two CSPs 111, 112 is not as abundantly requested, one or more storage segments are allocated in the previously discussed Frankfurt replica server embodied by server 101 for storing the highly requested movie of CSPA 110 thereby providing a good QoE to the requesting end-user.
In this exemplifying embodiment, the storage segments are allocated on a single server. However, in practice, the storage segments allocated to a CSP is typically distributed over a plurality of servers.
In an embodiment of the present invention, the allocation criteria of the parties are continuously evaluated by the CDN manager 100 in order to perform re-allocation of the storage segments to each party in case of changing allocation criteria. Thus, the storage area of the servers, i.e., the amount of allocated storage segments, can dynamically be increased or decreased for the CSPs depending on actual conditions in the CDN. The allocation criteria can change for a number of reasons, such as one or more new CSPs entering the network, one or more of the CSPs requesting more storage, a change occurring in cost for storing the data in the storage, a change occurring in the SLA of one or more of the CSPs, etc. As can be seen in Figure 2, as soon as the conditions of the CDN changes such that re- allocation is motivated, the method starts over in step S101 by performing a new reservation of storage segments.
The process of the CDN of reserving storage segments to the CSPs can be viewed upon as forming a virtual CDN by defining where the storage segments reserved for each CSP will be located, i.e., exactly which reserved storage segments on which caches each CSP will receive. The number of reserved storage segments will depend on the hired storage capacity, as previously mentioned. The reservation of storage segments is similar to the placement of surrogates onto replica/surrogate servers, a common problem of a traditional CDN. Thus, when implementing a first phase of the embodiment described with reference to Figure 2, i.e., the steps S101 and S102 of reserving storage segments and determining whether the storage capacity is exceeded, respectively, the so called Greedy algorithm may be employed.
The mentioned surrogate placement problem is computationally complex, which has led to development of some heuristics, such as Greedy replica placement and scalable replica placement. These heuristics take into account the existing information from the CDN, such as workload pattern and network topology.
The Greedy algorithm generally results in good practical placement of surrogates and works as follows. M surrogates among N potential
surrogate/replica servers are chosen by choosing one surrogate at a time. In a first iteration, each of the N potential replica/surrogate servers is evaluated in order to determine the suitability of a server to host a surrogate. A cost is computed with the assumption that all clients will access that server. Then, the server with the lowest cost is chosen. The cost considers the goal of the placement, as explained earlier and exemplified by workload and network topology.
In the second iteration, the Greedy algorithm searches for a second surrogate/replica server in conjunction with the server already selected. The iteration continues until M surrogate servers have been placed. The Greedy algorithm practically works well even with imperfect input data. However, it requires the knowledge of the users' locations in the network and all pair wise inter-node distances.
The method according to an embodiment of the present invention can be tailored to the Greedy approach by replacing potential servers by storage segments on caches, and surrogate servers by reserved storage segments. Thus, the aim is to reserve storage segments to storage(s). For instance, a certain CSP has ten reserved storage segments to be placed on the physical caches that the CDN has available. It must choose where to distribute each of these reserved storage segments on the available potential storage segments. Advantageously, many storage segments should be available on each cache, such that many reserved storage segments of the same CSP potentially can be allocated on that cache, in case the data content of a particular CSP is in great demand at a particular geographical location.
To conclude, each CSP has an amount of reserved storage segments on each cache. However, a situation may arise where the reserved storage segments of on or more CSPs on a specified cache exceed the capacity of a cache (i.e., the number of storage segments the cache has). If this is the case, a second phase is performed of the embodiment described with reference to Figure 2, i.e., the steps S103 and S104 of ranking the CSPs and allocating the reserved storage segments, respectively.
Hence, the second phase is only executed after the first phase has been performed, if the number of storage segments reserved for each CSP for a specific cache exceeds the capacity (i.e., the number of available storage segments) of that cache. The CSPs will then have to compete for the storage segments.
In one embodiment, the CSPs are all given the same rank, and the allocation of reserved storage segments is based on proportionality, where the reserved storage segments are allocated to the CSPs proportionally in accordance with the allocation criterion of the respective CSP. Figure 3 shows an illustration of this proportional allocation strategy. Based on the desired storage segments of the CSPs, a Segment Proportion (SP) measure can be calculated and used for determining the allocation of reserved storage segments.
In Figure 3, eight storage segments have been reserved for both CSP A and CSP B in a server having a capacity of ten storage segments in total, according to their respective allocation criterion. Since in this embodiment the CSPs are given the same rank, the reserved storage segments should be allocated proportionally to the CSPs in accordance with the allocation criteria. The SP is hence calculated as:
SP = 10/16 = 0.625, i.e., as quota between available and desired/reserved storage segments.
In this particular embodiment, CSP A and CSP B will both be allocated 8 x 0.625 = 5 storage segments.
In another embodiment, a heuristic based on one or more of the number of requests for a piece of data content and the size of the data content is employed. The goal of the heuristic is to maximize or at least increase the profit of the CDN by minimizing or at least reducing cost associated with content delivery. Hence, the cost of a CDN of delivering a much-requested content to the end-users requesting the particular piece of content is considered lower as compared to a less-requested piece of content.
Figures 4 and 5 illustrate an exemplifying embodiment where the size of a storage segment, in which the pieces of data content (DC) are to be allocated, is configured to be 150 kB (all equally-sized) and since the total amount of reserved storage segments are assumed to exceed the capacity of the storage, the CSPs are ranked such that the reserved storage segments can be allocated in accordance with the ranking. In this example, one reserved storage segment is to be allocated to one of the two CSPs in accordance with the ranking.
This is done by ranking the CSPs based on the number of requests being made for data content provided by the respective CSP and calculating the score for each CSP. A high score associated with a CSP is equivalent to low cost for the CDN. This score will represent benefit of a CSP receiving a reserved storage segment, i.e., a CSP being allocated a reserved storage segment. Figures 4 and 5 illustrate two situations of storage segment allocation among the CSPs. As can be seen, CSP A and CSP B both have three pieces of data content that should be stored in an allocated storage segment of a cache, where each data content is listed in order of popularity. The score is calculated such that the size of each data content is weighted by the number of requests made to the data content. If a piece of data content cannot be fitted within a storage segment, it will contribute negatively to the score.
In the scenario of Figure 4, CSP A has one piece of data content which cannot be fitted into a storage segment, while CSP B has two pieces of data content which cannot be fitted. Hence, the first two pieces of data content of CSP A amount to 140 kB and thus can be fitted within one storage segment, while the first two pieces of data content of CSP B amount to 155 kB and thus cannot be fitted within a single storage segment.
Thus, in an example, the score (SC) of the respective CSP is calculated as:
SCCSPA = 100 x 155 + 40 x 122 - 75 x 80 = 14,380,
SCCSPB = 80 x 55 - 75 x 122 - 90 x 80 = - 3,950.
Consequently, CSP A has a higher rank and will be allocated the reserved storage segment for storing its two most popular pieces of data content. In the scenario of Figure 5, CSP A has one piece of data content which cannot be fitted into a storage segment, while CSP B has two pieces of data content which cannot be fitted. However, the most popular data content of CSP B has a great number of requests.
The score of the respective CSP in Figure 5 is calculated as:
SCCSPA = 100 x 155 + 40 x 122 - 75 x 80 = 14,380,
SCCSPB = 80 X 385 - 75 x 122 - 90 x 80 = 14,450.
Consequently, CSP B has a higher rank and will be allocated the reserved storage segment for storing its single most popular data content. In a further embodiment of the present invention, if after allocation of the reserved storage segments, there are further reserved storage segments l6 remaining according to the allocation criterion, a third phase is executed where the further reserved storage segments are allocated to the CSPs in one or more further storages in a round robin schedule, where each one of the CSPs is allocated one reserved storage segment each round. Hence, if, after a particular storage is fully allocated, there are remaining CSPs where storage segments have been reserved for pieces of data content according to the allocation criterion, these storage segments must be allocated in a different storage in order to fulfil the allocation criterion.
For instance, with reference to Figure 1; in case server 101 is fully allocated, the remaining pieces of data content for which storage segments have been reserved according to the allocation criterion is allocated in server 102, and so on.
Advantageously, the CDN manager 100 according to various embodiments of the present invention as described herein provides for a dynamic
maintenance of a CDN; the allocation of reserved storage segments is not static but changes over time. This can be done in a periodical manner, or triggered by a number of events as previously has been discussed. This may cause the CDN manager to perform the first, the second, and even the third phase, according to embodiments of the present invention described hereinabove to re-allocated reserved storage segments. Further advantageous is that adaptation to changing conditions can be performed for a single specific CSP without necessarily impacting on the allocation of the others.
Figure 6 shows a CDN manager 100 according to an embodiment of the present invention. The CDN manager 100 comprises reserving means 120 adapted to reserve at least one storage segment of the storage for each content provider, the number of storage segments being reserved to each content provider being dependent on an allocation criterion associated with said each content provider, and determining means 130 adapted to determine whether the storage segments reserved to the plurality of content providers exceed a capacity of the storage. Further, the CDN manager 100 comprises ranking means 130 adapted to rank the content providers in accordance with a ranking criterion, wherein a higher ranked content provider is given priority for allocation to the storage over a lower ranked content provider, and allocating means 150 adapted to allocate the reserved storage segments to the plurality of content providers according to the ranking. The reserving means 120 and/ or the allocating means 150 may comprise a communications interface for receiving and providing information to other devices, such as CSPs. The CDN manager 100 may further comprise a local storage for storing obtained data. The reserving means 120, determining means 130, ranking means 140 and allocating means 150 may (in analogy with the description given in connection to Figure 1) be implemented by a processor embodied in the form of one or more microprocessors arranged to execute a computer program downloaded to a suitable storage medium associated with the microprocessor, such as a RAM, a Flash memory or a hard disk drive. The reserving means 120 and allocating means 150 may comprise one or more transmitters and/ or receivers and/ or transceivers, comprising analogue and digital components and a suitable number of antennae for radio
communication.
The invention has mainly been described above with reference to a few embodiments. However, as is readily appreciated by a person skilled in the art, other embodiments than the ones disclosed above are equally possible within the scope of the invention, as defined by the appended patent claims.

Claims

l8 CLAIMS
1. A method of managing storage of data content provided by a plurality of content providers, the method comprising:
reserving (S101) for each content provider at least one storage segment of the storage, the number of storage segments being reserved to each content provider being dependent on an allocation criterion associated with said each content provider;
determining (S102) whether the storage segments reserved to the plurality of content providers exceed a capacity of the storage; and if so: ranking (S103) the content providers in accordance with a ranking criterion, wherein a higher ranked content provider is given priority for allocation to the storage over a lower ranked content provider; and
allocating (S104) the reserved storage segments to the plurality of content providers according to the ranking.
2. The method according to claim 1, wherein the allocating the reserved storage segments further comprises:
allocating the reserved storage segments to the plurality of content providers in a round robin schedule in a further storage, in case one or more of the content providers have further reserved storage segments to be allocated according to the allocation criterion, where each of said one or more of the content providers is allocated one of the further reserved storage segments each round.
3. The method according to claims 1 or 2, further comprising:
re-allocating the reserved storage segments to the content providers in accordance with changing allocation criteria.
4. The method according to any one of the preceding claims, wherein the number of reserved storage segments allocated to each content provider for storing the data content is set based on the ranking, where a higher ranking results in a higher number of reserved storage segments being allocated to a content provider.
5. The method according to any one of the preceding claims, wherein the storage segments are equally-sized.
6. The method according to any one of the preceding claims, wherein the ranking criterion is based on at least one of: a number of requests for data content being made to each content provider, a size of the data content being stored in the storage segments, and a geographic location of the content provider.
7. The method according to any one of claims 1-5:
wherein the plurality of content providers are given the same rank and the allocation of reserved storage segments are performed proportionally according to the allocation criterion of each content provider.
8. The method according to any one of the preceding claims, wherein the allocation criterion is based on at least one of: one or more new content providers entering the network, one or more of the plurality of content providers requesting more storage, a change occurring in cost for storing the data in the storage, a change occurring in the allocation criterion of one or more of the plurality of content providers.
9. The method according to any one of the preceding claims, further comprising:
storing the data content in the reserved storage segments allocated to the plurality of content providers.
10. A computer program (117) comprising computer-executable
instructions for causing a device (100) to perform steps recited in any one of claims 1-9 when the computer-executable instructions are executed on a processing unit (115) included in the device.
11. A computer program product comprising a computer readable medium (116), the computer readable medium having the computer program (117) according to claim 10 embodied therein.
12. A network node (ioo) configured to manage storage (101) of data content provided by a plurality of content providers (no, m, 112),
comprising a processing unit (115) and a memory (116), said memory containing instructions executable by said processing unit, whereby said network node is operative to:
reserve for each content provider (110, 111, 112) at least one storage segment of the storage (101), the number of storage segments being reserved to each content provider being dependent on an allocation criterion associated with said each content provider;
determine whether the storage segments reserved to the plurality of content providers (110, 111, 112) exceed a capacity of the storage (101); and if so:
rank the content providers (110, 111, 112) in accordance with a ranking criterion, wherein a higher ranked content provider is given priority for allocation to the storage (101) over a lower ranked content provider; and
allocate the reserved storage segments to the plurality of content providers (110, 111, 112) according to the ranking.
13. The network node (100) according to claim 12, further being operative to:
allocate the reserved storage segments to the plurality of content providers (110, 111, 112) in a round robin schedule in a further storage, in case one or more of the content providers have further reserved storage segments to be allocated according to the allocation criterion, where each of said one or more of the content providers is allocated one of the reserved storage segments each round.
14. The network node (100) according to claims 12 or 13, further being operative to:
re-allocating the reserved storage segments to the content providers (110, 111, 112) in accordance with changing allocation criteria.
15. The network node (100) according to any one of claims 12-14, wherein the number of reserved storage segments allocated to each content provider (no, 111, 112) for storing the data content is set based on the ranking, where a higher ranking results in a higher number of reserved storage segments being allocated to a content provider.
16. The network node (100) according to any one of claims 12-15, wherein the ranking criterion is based on at least one of: a number of requests for data content being made to each content provider, a size of the data content being stored in the storage segments, and a geographic location of the content provider.
17. The network node (100) according to any one of claims 12-16, wherein the plurality of content providers (110, 111, 112) are given the same rank and the allocation of reserved storage segments are performed proportionally according to the allocation criterion of each content provider.
18. The network node (100) according to any one of claims 12-17, wherein the allocation criterion is based on at least one of: one or more new content providers entering the network, one or more of the plurality of content providers (110, 111, 112) requesting more storage, a change occurring in cost for storing the data in the storage, a change occurring in the allocation criterion of one or more of the plurality of content providers.
19. The network node (100) according to any one of claims 12-18, further being operative to:
store the data content in the reserved storage segments allocated to the plurality of content providers (110, 111, 112).
PCT/SE2014/050567 2014-05-08 2014-05-08 Managing content delivery network storage Ceased WO2015171028A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
BR112015010309A BR112015010309A2 (en) 2014-05-08 2014-05-08 STORAGE MANAGEMENT PROVIDED BY CONTENT DELIVERY NETWORK
PCT/SE2014/050567 WO2015171028A1 (en) 2014-05-08 2014-05-08 Managing content delivery network storage

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/SE2014/050567 WO2015171028A1 (en) 2014-05-08 2014-05-08 Managing content delivery network storage

Publications (1)

Publication Number Publication Date
WO2015171028A1 true WO2015171028A1 (en) 2015-11-12

Family

ID=50884453

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/SE2014/050567 Ceased WO2015171028A1 (en) 2014-05-08 2014-05-08 Managing content delivery network storage

Country Status (2)

Country Link
BR (1) BR112015010309A2 (en)
WO (1) WO2015171028A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10599353B2 (en) 2017-05-16 2020-03-24 Apple Inc. Techniques for managing storage space allocation within a storage device

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040068636A1 (en) * 2002-10-03 2004-04-08 Michael Jacobson Virtual storage systems, virtual storage methods and methods of over committing a virtual raid storage system
US20110276679A1 (en) * 2010-05-04 2011-11-10 Christopher Newton Dynamic binding for use in content distribution
US20120198022A1 (en) * 2011-02-01 2012-08-02 Limelight Networks, Inc. Multicast Mapped Look-Up On Content Delivery Networks

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040068636A1 (en) * 2002-10-03 2004-04-08 Michael Jacobson Virtual storage systems, virtual storage methods and methods of over committing a virtual raid storage system
US20110276679A1 (en) * 2010-05-04 2011-11-10 Christopher Newton Dynamic binding for use in content distribution
US20120198022A1 (en) * 2011-02-01 2012-08-02 Limelight Networks, Inc. Multicast Mapped Look-Up On Content Delivery Networks

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10599353B2 (en) 2017-05-16 2020-03-24 Apple Inc. Techniques for managing storage space allocation within a storage device

Also Published As

Publication number Publication date
BR112015010309A2 (en) 2017-08-22

Similar Documents

Publication Publication Date Title
US8621476B2 (en) Method and apparatus for resource management in grid computing systems
US8230438B2 (en) Dynamic application placement under service and memory constraints
US9967196B2 (en) Systems and/or methods for resource use limitation in a cloud environment
JP3566626B2 (en) System for managing resources in heterogeneous server devices
CN102655503B (en) Use the Resourse Distribute in shared resource pond
Householder et al. On cloud-based oversubscription
KR100956636B1 (en) Service Level Management System and its Method in Virtual Server Environment
Wuhib et al. Allocating compute and network resources under management objectives in large-scale clouds
Alkmim et al. Mapping virtual networks onto substrate networks
Patel et al. VM provisioning method to improve the profit and SLA violation of cloud service providers
WO2016176060A1 (en) Balancing resources in distributed computing environments
KR102389334B1 (en) Virtual machine provisioning system and method for cloud service
Racheg et al. Profit-driven resource provisioning in NFV-based environments
Haghighi et al. Dynamic QoS-aware resource assignment in cloud-based content-delivery networks
Kukreja et al. Performance analysis of cloud resource provisioning algorithms
Chinneck et al. Real-time multi-cloud management needs application awareness
Ghazar et al. Pricing utility-based virtual networks
KR101125038B1 (en) Method and apparatus for providing grid resource management in grid computing middleware system
Liu et al. Correlation-based virtual machine migration in dynamic cloud environments
Bhavani et al. A comparative study on resource allocation policies in cloud computing environment
WO2015171028A1 (en) Managing content delivery network storage
Patil et al. Resource allocation and scheduling in the cloud
KR101670460B1 (en) Apparatus and method for controlling scheduling of workflow based on cloud
Rahman et al. Differential time-shared virtual machine multiplexing for handling QoS variation in clouds
Vázquez-Poletti et al. Solidifying the foundations of the cloud for the next generation Software Engineering

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 14727965

Country of ref document: EP

Kind code of ref document: A1

REG Reference to national code

Ref country code: BR

Ref legal event code: B01A

Ref document number: 112015010309

Country of ref document: BR

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 14727965

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 112015010309

Country of ref document: BR

Kind code of ref document: A2

Effective date: 20150506