[go: up one dir, main page]

WO2018087275A1 - Content-aware optimized delivery of personalized ads in a cdn - Google Patents

Content-aware optimized delivery of personalized ads in a cdn Download PDF

Info

Publication number
WO2018087275A1
WO2018087275A1 PCT/EP2017/078853 EP2017078853W WO2018087275A1 WO 2018087275 A1 WO2018087275 A1 WO 2018087275A1 EP 2017078853 W EP2017078853 W EP 2017078853W WO 2018087275 A1 WO2018087275 A1 WO 2018087275A1
Authority
WO
WIPO (PCT)
Prior art keywords
client
cdn
server
advertisement
decision server
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/EP2017/078853
Other languages
French (fr)
Inventor
Ali El Essaili
Kristina LAZOVA
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.)
Telefonaktiebolaget LM Ericsson AB
Original Assignee
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 Telefonaktiebolaget LM Ericsson AB filed Critical Telefonaktiebolaget LM Ericsson AB
Publication of WO2018087275A1 publication Critical patent/WO2018087275A1/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/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/306User profiles
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0251Targeted advertisements
    • G06Q30/0269Targeted advertisements based on user profile or attribute
    • G06Q30/0271Personalized advertisement
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/101Server selection for load balancing based on network conditions
    • 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/563Data redirection of data network streams

Definitions

  • the invention relates to improvements in advertisement delivery in a content delivery network, particularly to content-aware delivery of personalized advertisements. More specifically, the invention relates to a method of optimizing delivery of personalized
  • CDN content delivery network
  • decision servers configured to optimize delivery of personalized advertisements by a content delivery network (CDN) to a client in a communication network comprising the CDN and the decision server
  • a content delivery network CDN
  • CDNs Content Delivery Networks
  • DASH Dynamic Adaptive Streaming over HTTP
  • MPDs Media Presentation Descriptions
  • the segments are distributed within the CDN from an origin server to edge servers. The same content is replicated at different edge servers.
  • a request redirection node is deployed inside a CDN, to redirect the client to a suitable edge server.
  • a server decides on the Ad to be delivered to the client based on a user profile, location, etc.
  • the Ad decision server selects an Ad from a database which matches the user preferences.
  • Ads are typically grouped in categories (e.g., sports, science, health categories, etc.).
  • the Ad decision process is a complex operation and an Ad decision server needs to select among a large number of possible options in a short time.
  • the personalization of media content is achieved by customizing the MPD (Media Presentation Description), as discussed in DASH-IF, "Guidelines for Implementation: DASH-IF Interoperability Points", v3.22, May 2-16.
  • the MPD includes URLs for video and Ads (e.g., TV offerings).
  • the personalization can be done by inserting generic URLs (e.g., Extensible Markup Language (XML) Linking Language (Xlink)) which are then resolved by the client.
  • XML Extensible Markup Language
  • Xlink Linking Language
  • the other alternative is to create a customized MPD for each client by inserting personalized URLs into the MPD.
  • the customization is controlled by an MPD generator which is responsible for generating MPDs.
  • Figure 1 explains the Ad insertion process in DASH.
  • the client 101 is provided with a manifest file, which includes Xlink URLs, as discussed in ISO/IEC 23009-1 , "Information Technology - Dynamic Adaptive Streaming Over HTTP (DASH) - Part 1 : Media Presentation Description and Segment Formats," April 2014.
  • the manifest or MPD, is provided by MPD Generator 102.
  • the Xlink fields are generic so multiple clients 101 can receive the same manifest file.
  • the Xlink URLs can be resolved when the client 101 receives the manifest file or when the client 101 wants to request the Ad.
  • the client 101 connects to an Xlink resolver 103 that returns an MPD period which contains the personalized Ad URLs to the client 101.
  • the Xlink Resolver 103 may or may not be be part of the MPD Generator 102.
  • the Xlink resolver 103 consults Ad decision server 104.
  • the Ad decision server 104 selects from a pool of Ads a personalized Ad to deliver to the client 101.
  • the client 101 can then retrieve the desired content and personalized Ads from a CDN server 105.
  • Ad namely MPD Generator 102, XLink Resolver 103, Ad Decision Server 104 and CDN server 105
  • MPD Generator 102 MPD Generator 102
  • XLink Resolver 103 Ad Decision Server 104
  • CDN server 105 CDN server 105
  • MPD Generator 102 MPD Generator 102
  • XLink Resolver 103 Ad Decision Server 104
  • CDN server 105 CDN server 105
  • the client 101 After receiving an MPD file from the MPD Generator 102, the client 101 connects to the Xlink resolver 103, which returns an Ad period to the client 101 based on an Ad decision retrieved from Ad decision Server 104. The client 101 then retrieves the Ad segments from a CDN node 105, particularly an edge server 105.
  • One exemplary embodiment comprises a method of optimizing delivery of personalized advertisements by a content delivery network (CDN) to a client in a communication network (e.g., a wireless or wired communication network) comprising the CDN and a decision server.
  • the method comprises receiving a request identifying the client at the decision server, and selecting, at the decision server, an ad set comprising at least one advertisement responsive to a profile of the client.
  • the method further comprises receiving, at the decision server, information associating one or more edge servers with at least one advertisement in the ad set, and selecting, by the decision server, at least one advertisement from the ad set for delivery to the client responsive to the received information.
  • One exemplary embodiment comprises a decision server configured to optimize delivery of personalized advertisements by a content delivery network (CDN) to a client in a communication network comprising the CDN and the decision server.
  • the decision server comprises a receiver and a selection circuit.
  • the receiver is configured to receive a request identifying the client, and the selection circuit is configured to select an ad set comprising at least one advertisement responsive to a profile of the client.
  • the receiver is further configured to receive information associating one or more edge servers with at least one advertisement in the ad set.
  • the selection circuit is further configured to select at least one advertisement from the ad set for delivery to the client responsive to the received information.
  • One exemplary embodiment comprises a decision server configured to optimize delivery of personalized advertisements by a content delivery network (CDN) to a client in a communication network comprising the CDN and the decision server.
  • the decision server comprises a receiver module and a selection module.
  • the receiver module is configured to receive a request identifying the client, and the selection module is configured to select an ad set comprising at least one advertisement responsive to a profile of the client.
  • the receiver module is further configured to receive information associating one or more edge servers with at least one advertisement in the ad set.
  • the selection module is further configured to select at least one advertisement from the ad set for delivery to the client responsive to the received information.
  • One exemplary embodiment comprises a computer program product stored in a non- transitory computer readable medium for controlling a decision server.
  • the computer program product comprises software instructions which when run on a processing circuit of the decision server causes the decision server to optimize delivery of personalized advertisements by a content delivery network (CDN) to a client in a communication network comprising the CDN and the decision server.
  • CDN content delivery network
  • the software instructions when run on the processing circuit, cause the decision server to receive a request identifying the client, and select an ad set comprising at least one advertisement responsive to a profile of the client.
  • the software instructions when run on the processing circuit, cause the decision server to receive information associating one or more edge servers with at least one advertisement in the ad set, and select at least one advertisement from the ad set for delivery to the client responsive to the received information.
  • One exemplary embodiment comprises a method of optimizing delivery of personalized advertisements by a content delivery network (CDN) to a client in a communication network comprising the CDN and a decision server.
  • the method comprises receiving, at the CDN, an ad set comprising at least one advertisement selected responsive to a profile of the client from the decision server.
  • the method further comprises identifying, at the CDN, information responsive to the received ad set, the identified information corresponding at least one advertisement in the ad set with at least one advertisement in the CDN.
  • the method further comprises sending, from the CDN, the information to the decision server.
  • One exemplary embodiment comprises a content delivery network (CDN) configured to optimize delivery of personalized advertisements to a client in a communication network comprising the CDN and a decision server.
  • the CDN comprises a receiver, an identification circuit, and a transmitter.
  • the receiver is configured to receive an ad set comprising at least one advertisement selected responsive to a profile of the client from the decision server.
  • the identification circuit is configured to identify information responsive to the received ad set. The identified information corresponds at least one advertisement in the ad set with at least one advertisement in the CDN.
  • the transmitter is configured to send the information to the decision server.
  • One exemplary embodiment comprises a content delivery network (CDN) configured to optimize delivery of personalized advertisements to a client in a communication network comprising the CDN and a decision server.
  • the CDN comprises a receiver module, an identification module, and a transmitter module.
  • the receiver module is configured to receive an ad set comprising at least one advertisement selected responsive to a profile of the client from the decision server.
  • the identification module is configured to identify information responsive to the received ad set. The identified information corresponds at least one advertisement in the ad set with at least one advertisement in the CDN.
  • the transmitter module is configured to send the information to the decision server.
  • One exemplary embodiment comprises a computer program which may be stored in a non-transitory computer readable medium for controlling a CDN.
  • the computer program comprises software instructions which, when run on one or more processing circuit(s) of the CDN, cause the CDN to receive an ad set comprising at least one advertisement selected responsive to a profile of the client from the decision server.
  • the software instructions when run on the one or more processing circuit(s), further cause the CDN to identify information responsive to the received ad set, the identified information corresponding at least one advertisement in the ad set with at least one advertisement in the CDN.
  • the software instructions when run on the one or more processing circuit(s), further cause the CDN to send the information to the decision server.
  • One exemplary embodiment comprises a method of optimizing delivery of personalized advertisements by a content delivery network (CDN) to a client in a communication network comprising a first decision server (e.g., an Ad decision server), a second decision server (e.g., an Ad edge decision server), and the CDN.
  • the method comprises receiving, at the second decision server and from the first decision server, an ad set comprising at least one advertisement selected responsive to a profile of the client.
  • the method further comprises identifying, at the second decision server, an ad subset comprising at least one advertisement from the ad set, wherein each advertisement in the ad subset is stored in at least one edge server in the CDN.
  • the method further comprises sending the ad subset from the second decision server to the first decision server.
  • One exemplary embodiment comprises a first decision server (e.g., an Ad edge decision server) configured to optimize delivery of personalized advertisements by a content delivery network (CDN) to a client in a communication network comprising the first decision server, a second decision server (e.g., an Ad decision server), and the CDN.
  • the first decision server comprises a receiver, an identification circuit, and a transmitter.
  • the receiver is configured to receive, from the second decision server, an ad set comprising at least one advertisement selected responsive to a profile of the client.
  • the identification circuit is configured to identify an ad subset comprising at least one advertisement from the ad set, wherein each advertisement in the ad subset is stored in at least one edge server in the CDN.
  • the transmitter is configured to send the ad subset to the second decision server.
  • One exemplary embodiment comprises a first decision server (e.g., an Ad edge decision server) configured to optimize delivery of personalized advertisements by a content delivery network (CDN) to a client in a communication network comprising the first decision server, a second decision server (e.g., an Ad decision server), and the CDN.
  • the first decision server comprises a receiver module, an identification module, and a transmitter module.
  • the receiver module is configured to receive, from the second decision server, an ad set comprising at least one advertisement selected responsive to a profile of the client.
  • the identification module is configured to identify an ad subset comprising at least one advertisement from the ad set, wherein each advertisement in the ad subset is stored in at least one edge server in the CDN.
  • the transmitter module is configured to send the ad subset to the second decision server.
  • One exemplary embodiment comprises a computer program which may be stored in a non-transitory computer readable medium for controlling a second decision server.
  • the computer program product comprises software instructions which, when run on one or more processing circuit(s) of the second decision server (e.g., an Ad edge decision server), cause the second decision server to optimize delivery of personalized advertisements by a content delivery network (CDN) to a client in a communication network comprising the CDN, a first decision server (e.g., an Ad decision server), and the second decision server.
  • the software instructions when run on the one or more processing circuit(s), cause the second decision server to receive, from the first decision server, an ad set comprising at least one advertisement selected responsive to a profile of the client.
  • the software instructions when run on the one or more processing circuit(s), cause the second decision server to identify an ad subset comprising at least one advertisement from the ad set, wherein each advertisement in the ad subset is stored in at least one edge server in the CDN.
  • the software instructions when run on the one or more processing circuit(s), cause the second decision server to send the ad subset from the second decision server to the first decision server.
  • Figure 1 shows one conventional personalized ad selection technique.
  • Figure 2 shows one conventional call flow for resolving ad requests.
  • Figure 3 shows a system overview of one exemplary embodiment.
  • Figure 4 shows a system overview another exemplary embodiment.
  • Figure 5 shows a call flow according to one exemplary embodiment.
  • Figure 6 shows a call flow according to another exemplary embodiment.
  • Figure 7 shows a call flow according to another exemplary embodiment.
  • Figure 8 shows one exemplary DASH architecture.
  • Figure 9 shows exemplary performance data for the DASH architecture of Figure 8.
  • Figure 10 shows another exemplary DASH architecture.
  • Figure 1 1 shows exemplary performance data for the DASH architecture of Figure 10.
  • Figure 12 shows a method implemented by the ad decision server according to one exemplary embodiment.
  • Figure 13 shows a method implemented by the CDN according to one exemplary embodiment.
  • Figure 14 shows a method implemented by the ad edge decision server according to one exemplary embodiment.
  • Figure 15 shows a block diagram for an ad decision server according to one exemplary embodiment.
  • Figure 16 shows a block diagram for a CDN according to one exemplary
  • Figure 17 shows a block diagram for an ad edge decision server according to one exemplary embodiment.
  • an ad decision server selects an advertisement (Ad) from a pool of Ads.
  • Ad advertisement
  • a set of personalized Ads stand as candidate for each client after matching the user profile, how often Ads have been viewed, etc.
  • the profile comprises at least one of one or more preferences derived for the client responsive to past behavior by the client and/or one or more preferences selected by the client.
  • the solution presented herein will interchangeably use the words "client” and "user” to refer to the individuals, devices, etc., that receive the personalized Ad(s).
  • the solution presented herein is implemented in a communication network, which may comprise a wired and/or wireless communication network.
  • the ad selection process operates independently from the CDN.
  • the Ad decision server is using, however, CDN caches to deliver the Ad(s) to the client(s).
  • the solution presented herein proposes a method to optimize the Ad decision for the client to provide an enhanced Quality of Experience (QoE).
  • QoE Quality of Experience
  • the personalized Ad(s) e.g., the Ad(s) selected responsive to the user profile, viewing frequency, location, etc.
  • the best possible QoE is/are selected out of the matching set of personalized Ad(s) for delivery to the client.
  • the client will get an Xlink in the MPD which redirects the client to an Xlink resolver that communicates with an Ad decision server.
  • the Ad decision server picks an Ad randomly without knowledge of whether the location of the Ad within the CDN is close to the user or far from the user. This means that the Ad decision process is not considering the edge server which will serve the Ad to the user.
  • the solution presented herein refines the ad decision process by providing the Ad decision server with additional CDN information, e.g., the location of the edge server that will serve the Ad to the client relative to the client.
  • FIG. 3 shows a high level overview of the solution presented herein.
  • the main idea is that a personalization system 304, e.g., an Ad decision server similar to Ad decision server 104, exchanges knowledge with a CDN 306, particularly with a CDN manager 307.
  • the personalization system 304 might communicate with one or multiple CDNs 306.
  • personalization system 304 uses CDN information received from the CDN 306 to decide on personalized content to deliver to the client(s) 301 , e.g., by considering content availability at the CDN edge servers 308. This information can be used by the Ad decision server 304 to select an edge server 308 which provides the client 301 with an improved QoE.
  • An improved QoE can result, for example, from serving a personalized Ad which is cached in the CDN instead of fetching from the origin server 305, which provides a faster response time.
  • the personalization system 304 combines CDN information with user profile information, taking frequency of Ad consumption and other relevant criteria into consideration when deciding which Ad to select.
  • the CDN manager 307 can also use information about personalized media content to better position content at edge servers 308 in the CDN 306, e.g., to pre-fetch content into edge servers 308 for a group of clients 301 interested in watching a certain event.
  • the personalization system 304 or ad decision server 304 obtains or comprises information about user's profiles, preferences etc.
  • the CDN manager 307 comprises information about nodes present in the CDN, like edge nodes 308, and properties thereof like edge load, content availability etc.
  • the CDN manager 307 may comprise information on client connectivity, topology of the CDN 306 etc. This may include information to which edge server 308 a client 301 is connected, how edge servers 308 are interconnected, which connections within CDN 306 or between CDN 306 and clients 301 are currently overloaded or congested, which information - content and/or Ads - is stored on which node of the CDN, current load of nodes, like edge nodes 308, of the CDN etc.
  • the personalization system e.g., Ad decision server
  • the personalization system can make better decisions on which content (e.g., Ad) to deliver to the client 301 such that the delivery cost for a content provider is minimized and/or the QoE at the client 301 is improved.
  • content e.g., Ad
  • the solution presented herein allows the CDN to deliver the right Ad at a better QoE to the client.
  • the personalization system resp.
  • Ad decision server determines a set of Ads that fit the user profile, viewing frequency, etc.
  • multiple Ads serve as candidates for delivery to the client.
  • the solution presented herein provides an improved QoE. This incurs at no additional cost for the CDN and has no impact on the delivered Ad to the client as an appropriate Ad that fits the user profile is selected.
  • the Ad selection is performed by the Ad decision server taking into consideration CDN knowledge.
  • Figure 4 shows a more detailed overview of the solution presented herein, wherein a similar structure of the CDN and the entities providing the ads as in Fig. 3 is used.
  • client 401 connects to Xlink resolver 403 to resolve the Xlink URL.
  • the Xlink resolver
  • the Ad decision server 403 consults the Ad decision server 404, which in turn queries the CDN 406 resp. CDN manager 407 about the placement and location of Ads in the CDN 406.
  • the Ad decision server 404 queries the CDN 406 resp. CDN manager 407 about the placement and location of Ads in the CDN 406.
  • Ad 404 selects an Ad from a pool of Ads (e.g., Ad database) that match the user profile and uses information from the CDN 406 together with user profile information and information about the Ad consumption (e.g., how often a certain Ad has been viewed over a period of time) to decide which Ad to select for a certain user, e.g. in the way that has been described with respect to Fig. 3.
  • the decision is returned to the Xlink resolver 403 and the client 401.
  • the Ad decision server 404 queries the CDN manager 407 about the availability of the two Ads in the CDN 406.
  • the CDN manager 407 returns to the Ad decision server 404 that Ad#1 is available at an edge server 408 which has better connectivity to the client 401.
  • the Ad decision decides to serve Ad#1.
  • Client 401 can then, based on the information received from Xlink resolver 403, retrieve the respective Ad from the selected edge server 408.
  • FIG. 5 shows a call flow diagram for one exemplary embodiment of the solution presented herein.
  • the call flow diagram may for example be employed in the structure of Fig. 4.
  • the client 401 is redirected at the beginning of the session to a CDN edge server 408 which returns an MPD.
  • the MPD includes video URLs and Xlink URLs for the Ads.
  • the client 401 connects to Xlink resolver 403 to resolve the Xlink URL, which consults the Ad decision server 404.
  • the Ad decision server 404 inquires about the Ad placement and locations (e.g., which edge servers) in the CDN 406.
  • the Ad decision server 404 therefore communicates with a CDN Manager 407 that has knowledge about content availability, server load, etc. inside the CDN 406.
  • the Ad decision server 404 selects an Ad for the client 401 based on the user profile and CDN information received from CDN manager 407.
  • An Ad period is returned to the client 401 , which can then retrieve the desired content and the selected Ad from
  • the proposed solution can be also applied in case the MPD is personalized for each client, as shown in Figure 6.
  • a personalized MPD is provided instead of Xlink URLs.
  • the CDN edge server 408 forwards the MPD request for each client 401 to an MPD generator 602, similar to the MPD generator 102 described with respect to Fig. 1 , to create a personalized MPD.
  • the MPD generator 602 communicates with the Ad decision server 404 which returns an Ad for the client 401.
  • the Ad decision server 404 exchanges information with the CDN manager 407, as described above with respect to Figures 3 to 5.
  • the MPD generator 602 returns a personalized MPD to the edge server 408 which provides it to the client 401. Again, the client 401 can then retrieve the desired content and the selected Ad from edge server 408.
  • FIG. 7 shows another exemplary embodiment, which considers an optimized Ad decision making and Ad edge server selection. It provides a mechanism for optimized Ad decision making without the need to provide CDN information to the Ad decision server 404.
  • the Ad decision server 404 first determines the set of Ads that fit the user profile. This set is provided to an Ad edge decision server 704 which considers the personalized Ads for the client 401 when determining the CDN edge server 408 to serve the Ad.
  • the Ad edge server selection function in the Ad edge decision server 704 returns a subset of Ads that can be served form one or more possible edge servers. For example, the subset may comprise at least one
  • the subset is returned to the Ad decision server 404 which makes the final decision on the Ad to deliver to the client 401 .
  • the Ad is returned to the Xlink resolver 403, which composes the period and provides it to the client 401.
  • the edge node 408 from which client 401 finally retrieves the desired content and/or the selected Ad is not necessarily the same edge server 408 to which the client 401 was initially connected resp. from which client 401 has retrieved the initial information, e.g. the MPD.
  • a different edge server 408 may be used. It is also conceivable that the selected Ad is retrieved from a different edge server 408 than the desired content, e.g. video segment.
  • a video and different numbers of personalized Ads are considered.
  • Each content (Video, Ad) is encoded at 10 different Adaptive Bit-Rates (ABRs), from 100kbps to 3.5Mbps.
  • the video has duration of l OOOsec and the Ads have a duration of 200sec each.
  • Each content (video, Ad) is segmented into chunks of 10sec duration.
  • Figure 8 shows an exemplary architecture with 20 DASH clients CO ... C19, an edge server E0, and an origin server 00.
  • One video is considered and the number of Ads is varied.
  • the ads are randomly assigned to the clients.
  • the simulations are repeated for 100 iterations. In each iteration, the link characteristics, defined in terms of delay and link bit-rate, between the clients and the edge server are varied.
  • Figure 9 shows the number of bytes sent by the origin as a function of number of Ads in the system of Figure 8. Two cases are considered with 20 DASH clients and 200 DASH clients arriving to the system. In case of one Ad, all clients receive the same Ad (no
  • FIG. 10 shows the architecture with 2 DASH clients CO and C1 , two edge servers E0 and E1 , and an origin server 00.
  • the first client CO has good connectivity to the second edge server E1 and bad connectivity to the first edge server E0.
  • the second client C1 has good connectivity to the first edge server E0 and bad connectivity to the second edge server E1 .
  • AdO is pre-positioned at first edge server E0 and "Ad1 " is pre-positioned at second edge server E1.
  • the objective is to compare the results for random (non-CDN aware) Ad decision making and the proposed solution (i.e., CDN and content-aware) Ad decision.
  • the results are shown in Figure 11 as a function of the delay difference between the two edge servers. The results show that a higher average bit-rate can be achieved for the clients by the solution presented herein.
  • a method for optimized delivery of personalized content (e.g., personalized Ads) is proposed.
  • delivery network e.g., CDN edge load, content availability at edge servers, etc.
  • the personalized media delivery process is optimized to improve the user experience (i.e., provide higher quality) and/or reduce the delivery costs for a content provider (i.e., reduce internal CDN costs by fetching less bytes from the origin server).
  • the Ad decision server is still responsible for selecting the personalized Ad to be delivered to the client. After determining the set of Ads that match the user interests and viewing patterns (i.e., frequency of Ads viewed by the user), the solution presented herein proposes to select the Ad that provides the best possible quality of experience from this set.
  • the solution presented herein provides the Ad decision server with additional information about the CDN to refine the Ad selection process.
  • the solution presented herein optimizes the QoE for personalized Ad delivery at the client. This comes with no additional transmission costs. Also, as all Ads are typically played with the same frequency or according to some popularity distribution, which is determined by the Ad decision server, the proposed solution does not influence the revenue costs from Ads. Further, conventional solutions do not define the interaction between the Ad decision server and the CDN.
  • the Ad decision process in conventional solutions e.g., which Ad to deliver to client, is done at the content/Ad provider and is independent of the CDN functions. This means that the Ad decision process in conventional solutions does not consider which content is loaded or pre-positioned in the CDN or which edge servers have the content. By considering whether the Ad(s) are pre-loaded in the CDN and/or where the Ad(s) are loaded in the CDN, the solution presented herein optimizes the delivery of the Ads to the client.
  • Figures 12-14 show exemplary methods for the solution presented herein as executed by the Ad decision server ( Figure 15), CDN ( Figure 16), and Ad edge decision server ( Figure 17).
  • a receiver 1510 in the Ad decision server 1500 receives a request identifying the client (block 1210), and a selection circuit/module 1520 in the ad decision server 1500 selects an ad set comprising at least one advertisement responsive to a profile of the client (block 1220).
  • the receiver 1510 further receives information associating one or more edge servers with the ad set (block 1230).
  • the receiver 1510 may receive ad load information, location information, and/or connectivity information from the CDN.
  • the ad load information identifies which of the advertisement(s) in the ad set are pre-loaded in the CDN, the location information identifies where each pre-loaded advertisement is located in the CDN, e.g., in which edge server, and the connectivity information identifies one or more link characteristics, e.g., delay, quality, etc., between the client and at least one edge server in the CDN.
  • a transmitter circuit/module 1530 in the Ad decision server sends the ad set to a remote server, and in response the receiver 1510 may receive a subset of the advertisement(s) selected from the ad set, e.g., by the Ad edge decision server 600, edge server information identifying at least one edge server in the CDN available to deliver at least one advertisement in the subset to the client, and/or linking information linking each advertisement in the subset to each identified edge server.
  • each advertisement in the subset can be served by the CDN 500.
  • the selection circuit/module 1520 in the Ad decision server 1500 selects at least one advertisement from the ad set for delivery to the client responsive to the received information (block 1240).
  • a receiver 1610 in the CDN 1600 receives an ad set comprising at least one advertisement selected responsive to a profile of the client from the decision server 1500 (block 1310), and an identification circuit/module 1620 in the CDN 1600 identifies information responsive to the received ad set (block 1320), where the information corresponds at least one advertisement in the ad set with at least one advertisement in the CDN 1600.
  • the identified information may comprise ad load information, location information, and/or connectivity information from the CDN.
  • the ad load information identifies which of the advertisement(s) in the ad set are pre-loaded in the CDN, the location information identifies where each pre-loaded advertisement is located in the CDN, e.g., in which edge server, and the connectivity information identifies one or more link characteristics, e.g., delay, quality, etc., between the client and at least one edge server in the CDN 1600.
  • the transmitter circuit/module 1630 in the CDN 1600 sends the information to the Ad decision server 1500 (block 1330) to facilitate the advertisement selection in the decision server 1500.
  • a positioning e.g., a positioning
  • circuit/module 1640 positions one or more advertisements in one or more edge servers, e.g., those edge servers identified by the CDN 1600 as having the best connectivity to the client.
  • a receiver 1710 in the Ad edge decision server 1700 receives an ad set comprising at least one advertisement selected responsive to a profile of the client from the decision server 1500 (block 1410), and an identification circuit/module 1720 in the ad edge decision server 1700 identifies an ad subset comprising at least one advertisement from the received ad set, where each advertisement in the ad subset is stored in at least one edge server in the CDN 1600 (block 1420).
  • the transmitter circuit/module 1730 in the ad edge decision server 1700 sends the information to the Ad decision server 1500 (block 1430) to facilitate the advertisement selection in the ad decision server 1500.
  • the embodiments of Figures 15-17 include multiple circuits for performing the steps of the corresponding method.
  • the circuits or circuitry in this regard may comprise circuits dedicated to performing certain functional processing and/or one or more microprocessors in conjunction with memory.
  • memory which may comprise one or several types of memory such as read-only memory (ROM), random-access memory, cache memory, flash memory devices, optical storage devices, etc.
  • the memory stores program code that, when executed by the one or more processors, carries out the techniques described herein.
  • Figure 15 shows an ad decision server 1500 implemented in accordance with one or more other embodiments.
  • ad decision server 1500 implements various functional means, units, circuits, or modules. These functional means, units, circuits, or modules include for example a receiver circuit/module 1510, a selection circuit/module 1520, and a transmitter circuit/module 1530 for performing the method steps of Figure 12 and implementing the embodiments of Figures 3-7.
  • the ad decision server 1500 may thus correspond to the personalization system 304 of Fig. 3 resp to the ad decision server 404 of Figures 4 - 7.
  • FIG. 16 shows CDN 1600 implemented in accordance with one or more other embodiments.
  • CDN 1600 implements various functional means, units, circuits, or modules. These functional means, units, circuits, or modules include for example a receiver circuit/module 1610, an identification circuit/module 1620, a transmitter circuit/module 1630, and an optional positioning circuit/module 1640 for performing the method steps of Figure 13 and implementing the embodiments of Figures 3-7.
  • the CDN 1600 may thus correspond to the CDN 306 of Fig. 3 resp to the CDN 406 of Figures 4.
  • FIG 17 shows an ad edge decision server 1700 implemented in accordance with one or more other embodiments.
  • ad edge decision server 1700 implements various functional means, units, circuits, or modules. These functional means, units, circuits, or modules include for example a receiver circuit/module 1710, an identification circuit/module 1720, and a transmitter circuit/module 1730 for performing the method steps of Figure 14 and implementing the embodiments of Figures 3-7.
  • the edge decision server 1700 may thus correspond to the Ad Edge Decision Server 704 of Fig. 7.
  • a computer program comprises instructions which, when executed on at least one processor of a node, cause the node to carry out any of the respective processing described above.
  • a computer program in this regard may comprise one or more code modules corresponding to the means or units described above.
  • Embodiments further include a carrier containing such a computer program.
  • This carrier may comprise one of an electronic signal, optical signal, radio signal, or computer readable storage medium.
  • embodiments herein also include a computer program product stored on a non-transitory computer readable (storage or recording) medium and comprising instructions that, when executed by a processor of a node, cause the node to perform as described above.
  • Embodiments further include a computer program product comprising program code portions for performing the steps of any of the embodiments herein when the computer program product is executed by a computing device, e.g. by one or more processors.
  • This computer program product may be stored on a computer readable recording medium.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Development Economics (AREA)
  • Strategic Management (AREA)
  • Finance (AREA)
  • Game Theory and Decision Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

Methods, devices and systems for optimized advertisement delivery in a Content Delivery Network (CDN) are disclosed. An Ad decision server (404) retrieves information related to the CDN (406) from a CDN manager (407) and selects, based on this information and user profile information, an Ad to be provided to a client (401) and an edge server (408) from which the selected Ad is to be delivered to the client (401).

Description

CONTENT-AWARE OPTIMIZED DELIVERY OF PERSONALIZED ADS IN A CDN
BACKGROUND
[0001] The invention relates to improvements in advertisement delivery in a content delivery network, particularly to content-aware delivery of personalized advertisements. More specifically, the invention relates to a method of optimizing delivery of personalized
advertisements by a content delivery network (CDN) to a client in a communication network comprising the CDN and one or more decision servers, decision servers configured to optimize delivery of personalized advertisements by a content delivery network (CDN) to a client in a communication network comprising the CDN and the decision server, and a content delivery network (CDN) configured to optimize delivery of personalized advertisements to a client in a communication network comprising the CDN and a decision server.
[0002] There is an increasing trend to personalize media content and tailor to individual user's preferences. Users are offered media (video, audio, etc.) which fit their habits, life style, etc. Media delivery systems are being optimized to deliver unique experiences for the users. According to "Expected Changes in the Technical World of Media Distribution" by Will Law, September 2016, linear live video will evolve into dynamically personalized channels, providing Video on Demand (VoD), live segments, and Ad segments selected to each receiver.
[0003] Traditionally, Content Delivery Networks (CDNs) are deployed for scalable delivery of content to the users, also referred to herein as clients. In case of adaptive video streaming (e.g., Dynamic Adaptive Streaming over HTTP (DASH)), a packager (or segmenter) ingests media segments and manifest files (e.g., Media Presentation Descriptions (MPDs)) into the CDN. The segments are distributed within the CDN from an origin server to edge servers. The same content is replicated at different edge servers. A request redirection node is deployed inside a CDN, to redirect the client to a suitable edge server. [0004] In personalized media delivery (e.g., personalized advertisements (Ads)), a server (e.g., an Ad decision server) decides on the Ad to be delivered to the client based on a user profile, location, etc. The Ad decision server selects an Ad from a database which matches the user preferences. Ads are typically grouped in categories (e.g., sports, science, health categories, etc.). The Ad decision process is a complex operation and an Ad decision server needs to select among a large number of possible options in a short time.
[0005] The personalization of media content (e.g., personalized Ads) is achieved by customizing the MPD (Media Presentation Description), as discussed in DASH-IF, "Guidelines for Implementation: DASH-IF Interoperability Points", v3.22, May 2-16. The MPD includes URLs for video and Ads (e.g., TV offerings). The personalization can be done by inserting generic URLs (e.g., Extensible Markup Language (XML) Linking Language (Xlink)) which are then resolved by the client. The other alternative is to create a customized MPD for each client by inserting personalized URLs into the MPD. The customization is controlled by an MPD generator which is responsible for generating MPDs.
[0006] Figure 1 explains the Ad insertion process in DASH. The client 101 is provided with a manifest file, which includes Xlink URLs, as discussed in ISO/IEC 23009-1 , "Information Technology - Dynamic Adaptive Streaming Over HTTP (DASH) - Part 1 : Media Presentation Description and Segment Formats," April 2014. In the example of Fig. 1 , the manifest, or MPD, is provided by MPD Generator 102. The Xlink fields are generic so multiple clients 101 can receive the same manifest file. The Xlink URLs can be resolved when the client 101 receives the manifest file or when the client 101 wants to request the Ad. To resolve the Xlink URL, the client 101 connects to an Xlink resolver 103 that returns an MPD period which contains the personalized Ad URLs to the client 101. The Xlink Resolver 103 may or may not be be part of the MPD Generator 102. To decide which Ads to deliver to the client, the Xlink resolver 103 consults Ad decision server 104. The Ad decision server 104 selects from a pool of Ads a personalized Ad to deliver to the client 101. The client 101 can then retrieve the desired content and personalized Ads from a CDN server 105. It is noted that the entities used herein for providing the Ad, namely MPD Generator 102, XLink Resolver 103, Ad Decision Server 104 and CDN server 105 can be localized in specific servers or distributed over different servers, possibly also in a virtualized manner as generally known to the skilled person. This is indicated by the dashed box labelled "Cloud" in Fig. 1.
[0007] The conventional call flow for resolving Ad requests is further explained in Figure 2. After receiving an MPD file from the MPD Generator 102, the client 101 connects to the Xlink resolver 103, which returns an Ad period to the client 101 based on an Ad decision retrieved from Ad decision Server 104. The client 101 then retrieves the Ad segments from a CDN node 105, particularly an edge server 105.
[0008] U.S. Publication No. 2009/0100459 titled "Methods and Apparatus for Revenue- Optimized Delivery of Content in a Network," which was filed 15 October 2007 and published 16 April 2009, relates to optimization of media/ Ad delivery taking into account user profile information and network information (e.g., bandwidth constraints). U.S. Publication No.
2013/0144728 titled "Pre-Processing of Ad Requests Using Publication Classification EDGE Side Processing Over Commercial CDNs," which has a priority date of 7 June 201 1 and was published 6 June 2013, proposes to distribute the ad decision servers inside the CDN. The objective of the distributed ad decision is to improve the decision efficiency.
[0009] There remains a need, however, for more efficient delivery of personalized media advertisements.
SUMMARY
[0010] The solution presented herein uses information regarding the CDN, the
advertisements pre-loaded in the CDN, the edge servers, the connectivity between the edge server(s) and the client, the location of the edge server(s) relative to the client, etc., to optimize the delivery of personalized advertisements to the client. [001 1] One exemplary embodiment comprises a method of optimizing delivery of personalized advertisements by a content delivery network (CDN) to a client in a communication network (e.g., a wireless or wired communication network) comprising the CDN and a decision server. The method comprises receiving a request identifying the client at the decision server, and selecting, at the decision server, an ad set comprising at least one advertisement responsive to a profile of the client. The method further comprises receiving, at the decision server, information associating one or more edge servers with at least one advertisement in the ad set, and selecting, by the decision server, at least one advertisement from the ad set for delivery to the client responsive to the received information.
[0012] One exemplary embodiment comprises a decision server configured to optimize delivery of personalized advertisements by a content delivery network (CDN) to a client in a communication network comprising the CDN and the decision server. The decision server comprises a receiver and a selection circuit. The receiver is configured to receive a request identifying the client, and the selection circuit is configured to select an ad set comprising at least one advertisement responsive to a profile of the client. The receiver is further configured to receive information associating one or more edge servers with at least one advertisement in the ad set. The selection circuit is further configured to select at least one advertisement from the ad set for delivery to the client responsive to the received information.
[0013] One exemplary embodiment comprises a decision server configured to optimize delivery of personalized advertisements by a content delivery network (CDN) to a client in a communication network comprising the CDN and the decision server. The decision server comprises a receiver module and a selection module. The receiver module is configured to receive a request identifying the client, and the selection module is configured to select an ad set comprising at least one advertisement responsive to a profile of the client. The receiver module is further configured to receive information associating one or more edge servers with at least one advertisement in the ad set. The selection module is further configured to select at least one advertisement from the ad set for delivery to the client responsive to the received information.
[0014] One exemplary embodiment comprises a computer program product stored in a non- transitory computer readable medium for controlling a decision server. The computer program product comprises software instructions which when run on a processing circuit of the decision server causes the decision server to optimize delivery of personalized advertisements by a content delivery network (CDN) to a client in a communication network comprising the CDN and the decision server. The software instructions, when run on the processing circuit, cause the decision server to receive a request identifying the client, and select an ad set comprising at least one advertisement responsive to a profile of the client. The software instructions, when run on the processing circuit, cause the decision server to receive information associating one or more edge servers with at least one advertisement in the ad set, and select at least one advertisement from the ad set for delivery to the client responsive to the received information.
[0015] One exemplary embodiment comprises a method of optimizing delivery of personalized advertisements by a content delivery network (CDN) to a client in a communication network comprising the CDN and a decision server. The method comprises receiving, at the CDN, an ad set comprising at least one advertisement selected responsive to a profile of the client from the decision server. The method further comprises identifying, at the CDN, information responsive to the received ad set, the identified information corresponding at least one advertisement in the ad set with at least one advertisement in the CDN. The method further comprises sending, from the CDN, the information to the decision server.
[0016] One exemplary embodiment comprises a content delivery network (CDN) configured to optimize delivery of personalized advertisements to a client in a communication network comprising the CDN and a decision server. The CDN comprises a receiver, an identification circuit, and a transmitter. The receiver is configured to receive an ad set comprising at least one advertisement selected responsive to a profile of the client from the decision server. The identification circuit is configured to identify information responsive to the received ad set. The identified information corresponds at least one advertisement in the ad set with at least one advertisement in the CDN. The transmitter is configured to send the information to the decision server.
[0017] One exemplary embodiment comprises a content delivery network (CDN) configured to optimize delivery of personalized advertisements to a client in a communication network comprising the CDN and a decision server. The CDN comprises a receiver module, an identification module, and a transmitter module. The receiver module is configured to receive an ad set comprising at least one advertisement selected responsive to a profile of the client from the decision server. The identification module is configured to identify information responsive to the received ad set. The identified information corresponds at least one advertisement in the ad set with at least one advertisement in the CDN. The transmitter module is configured to send the information to the decision server.
[0018] One exemplary embodiment comprises a computer program which may be stored in a non-transitory computer readable medium for controlling a CDN. The computer program comprises software instructions which, when run on one or more processing circuit(s) of the CDN, cause the CDN to receive an ad set comprising at least one advertisement selected responsive to a profile of the client from the decision server. The software instructions, when run on the one or more processing circuit(s), further cause the CDN to identify information responsive to the received ad set, the identified information corresponding at least one advertisement in the ad set with at least one advertisement in the CDN. The software instructions, when run on the one or more processing circuit(s), further cause the CDN to send the information to the decision server.
[0019] One exemplary embodiment comprises a method of optimizing delivery of personalized advertisements by a content delivery network (CDN) to a client in a communication network comprising a first decision server (e.g., an Ad decision server), a second decision server (e.g., an Ad edge decision server), and the CDN. The method comprises receiving, at the second decision server and from the first decision server, an ad set comprising at least one advertisement selected responsive to a profile of the client. The method further comprises identifying, at the second decision server, an ad subset comprising at least one advertisement from the ad set, wherein each advertisement in the ad subset is stored in at least one edge server in the CDN. The method further comprises sending the ad subset from the second decision server to the first decision server.
[0020] One exemplary embodiment comprises a first decision server (e.g., an Ad edge decision server) configured to optimize delivery of personalized advertisements by a content delivery network (CDN) to a client in a communication network comprising the first decision server, a second decision server (e.g., an Ad decision server), and the CDN. The first decision server comprises a receiver, an identification circuit, and a transmitter. The receiver is configured to receive, from the second decision server, an ad set comprising at least one advertisement selected responsive to a profile of the client. The identification circuit is configured to identify an ad subset comprising at least one advertisement from the ad set, wherein each advertisement in the ad subset is stored in at least one edge server in the CDN. The transmitter is configured to send the ad subset to the second decision server.
[0021] One exemplary embodiment comprises a first decision server (e.g., an Ad edge decision server) configured to optimize delivery of personalized advertisements by a content delivery network (CDN) to a client in a communication network comprising the first decision server, a second decision server (e.g., an Ad decision server), and the CDN. The first decision server comprises a receiver module, an identification module, and a transmitter module. The receiver module is configured to receive, from the second decision server, an ad set comprising at least one advertisement selected responsive to a profile of the client. The identification module is configured to identify an ad subset comprising at least one advertisement from the ad set, wherein each advertisement in the ad subset is stored in at least one edge server in the CDN. The transmitter module is configured to send the ad subset to the second decision server.
[0022] One exemplary embodiment comprises a computer program which may be stored in a non-transitory computer readable medium for controlling a second decision server. The computer program product comprises software instructions which, when run on one or more processing circuit(s) of the second decision server (e.g., an Ad edge decision server), cause the second decision server to optimize delivery of personalized advertisements by a content delivery network (CDN) to a client in a communication network comprising the CDN, a first decision server (e.g., an Ad decision server), and the second decision server. The software instructions, when run on the one or more processing circuit(s), cause the second decision server to receive, from the first decision server, an ad set comprising at least one advertisement selected responsive to a profile of the client. The software instructions, when run on the one or more processing circuit(s), cause the second decision server to identify an ad subset comprising at least one advertisement from the ad set, wherein each advertisement in the ad subset is stored in at least one edge server in the CDN. The software instructions, when run on the one or more processing circuit(s), cause the second decision server to send the ad subset from the second decision server to the first decision server.
BRIEF DESCRIPTION OF THE DRAWINGS
[0023] Figure 1 shows one conventional personalized ad selection technique.
[0024] Figure 2 shows one conventional call flow for resolving ad requests.
[0025] Figure 3 shows a system overview of one exemplary embodiment.
[0026] Figure 4 shows a system overview another exemplary embodiment.
[0027] Figure 5 shows a call flow according to one exemplary embodiment.
[0028] Figure 6 shows a call flow according to another exemplary embodiment.
[0029] Figure 7 shows a call flow according to another exemplary embodiment. [0030] Figure 8 shows one exemplary DASH architecture.
[0031] Figure 9 shows exemplary performance data for the DASH architecture of Figure 8.
[0032] Figure 10 shows another exemplary DASH architecture.
[0033] Figure 1 1 shows exemplary performance data for the DASH architecture of Figure 10.
[0034] Figure 12 shows a method implemented by the ad decision server according to one exemplary embodiment.
[0035] Figure 13 shows a method implemented by the CDN according to one exemplary embodiment.
[0036] Figure 14 shows a method implemented by the ad edge decision server according to one exemplary embodiment.
[0037] Figure 15 shows a block diagram for an ad decision server according to one exemplary embodiment.
[0038] Figure 16 shows a block diagram for a CDN according to one exemplary
embodiment.
[0039] Figure 17 shows a block diagram for an ad edge decision server according to one exemplary embodiment.
DETAILED DESCRIPTION
[0040] In conventional solutions, an ad decision server selects an advertisement (Ad) from a pool of Ads. In general, a set of personalized Ads stand as candidate for each client after matching the user profile, how often Ads have been viewed, etc. In one exemplary embodiment, the profile comprises at least one of one or more preferences derived for the client responsive to past behavior by the client and/or one or more preferences selected by the client. The solution presented herein will interchangeably use the words "client" and "user" to refer to the individuals, devices, etc., that receive the personalized Ad(s). Further it will be appreciated that the solution presented herein is implemented in a communication network, which may comprise a wired and/or wireless communication network. In conventional solutions, the ad selection process operates independently from the CDN. The Ad decision server is using, however, CDN caches to deliver the Ad(s) to the client(s). The solution presented herein proposes a method to optimize the Ad decision for the client to provide an enhanced Quality of Experience (QoE). In summary, the personalized Ad(s) (e.g., the Ad(s) selected responsive to the user profile, viewing frequency, location, etc.) that provide the best possible QoE is/are selected out of the matching set of personalized Ad(s) for delivery to the client.
[0041] In conventional solutions, and as described above with respect to Figures 1 and 2, the client will get an Xlink in the MPD which redirects the client to an Xlink resolver that communicates with an Ad decision server. The Ad decision server picks an Ad randomly without knowledge of whether the location of the Ad within the CDN is close to the user or far from the user. This means that the Ad decision process is not considering the edge server which will serve the Ad to the user. The solution presented herein refines the ad decision process by providing the Ad decision server with additional CDN information, e.g., the location of the edge server that will serve the Ad to the client relative to the client.
[0042] Figure 3 shows a high level overview of the solution presented herein. The main idea is that a personalization system 304, e.g., an Ad decision server similar to Ad decision server 104, exchanges knowledge with a CDN 306, particularly with a CDN manager 307. The personalization system 304 might communicate with one or multiple CDNs 306. The
personalization system 304 uses CDN information received from the CDN 306 to decide on personalized content to deliver to the client(s) 301 , e.g., by considering content availability at the CDN edge servers 308. This information can be used by the Ad decision server 304 to select an edge server 308 which provides the client 301 with an improved QoE. An improved QoE can result, for example, from serving a personalized Ad which is cached in the CDN instead of fetching from the origin server 305, which provides a faster response time. The personalization system 304 combines CDN information with user profile information, taking frequency of Ad consumption and other relevant criteria into consideration when deciding which Ad to select.
[0043] The CDN manager 307 can also use information about personalized media content to better position content at edge servers 308 in the CDN 306, e.g., to pre-fetch content into edge servers 308 for a group of clients 301 interested in watching a certain event.
[0044] Generally, the personalization system 304 or ad decision server 304 obtains or comprises information about user's profiles, preferences etc., and the CDN manager 307 comprises information about nodes present in the CDN, like edge nodes 308, and properties thereof like edge load, content availability etc. As well, the CDN manager 307 may comprise information on client connectivity, topology of the CDN 306 etc. This may include information to which edge server 308 a client 301 is connected, how edge servers 308 are interconnected, which connections within CDN 306 or between CDN 306 and clients 301 are currently overloaded or congested, which information - content and/or Ads - is stored on which node of the CDN, current load of nodes, like edge nodes 308, of the CDN etc.
[0045] By exploiting the CDN information, the personalization system (e.g., Ad decision server) 304 can make better decisions on which content (e.g., Ad) to deliver to the client 301 such that the delivery cost for a content provider is minimized and/or the QoE at the client 301 is improved.
[0046] The solution presented herein allows the CDN to deliver the right Ad at a better QoE to the client. In the case of personalized Ads, the personalization system resp. Ad decision server determines a set of Ads that fit the user profile, viewing frequency, etc. Typically, multiple Ads serve as candidates for delivery to the client. By optimizing the Ad decision process with further information about the CDN and the edge servers that deliver the Ads to the client, the solution presented herein provides an improved QoE. This incurs at no additional cost for the CDN and has no impact on the delivered Ad to the client as an appropriate Ad that fits the user profile is selected. The Ad selection is performed by the Ad decision server taking into consideration CDN knowledge.
[0047] Figure 4 shows a more detailed overview of the solution presented herein, wherein a similar structure of the CDN and the entities providing the ads as in Fig. 3 is used. In this example, client 401 connects to Xlink resolver 403 to resolve the Xlink URL. The Xlink resolver
403 consults the Ad decision server 404, which in turn queries the CDN 406 resp. CDN manager 407 about the placement and location of Ads in the CDN 406. The Ad decision server
404 selects an Ad from a pool of Ads (e.g., Ad database) that match the user profile and uses information from the CDN 406 together with user profile information and information about the Ad consumption (e.g., how often a certain Ad has been viewed over a period of time) to decide which Ad to select for a certain user, e.g. in the way that has been described with respect to Fig. 3. The decision is returned to the Xlink resolver 403 and the client 401.
[0048] To illustrate the proposed solution, consider that two Ads, namely Ad#1 and Ad#2, match the client profile. In this case, the Ad decision server 404 queries the CDN manager 407 about the availability of the two Ads in the CDN 406. The CDN manager 407 returns to the Ad decision server 404 that Ad#1 is available at an edge server 408 which has better connectivity to the client 401. Instead of randomly selecting which Ad to serve to the client 401 , the Ad decision decides to serve Ad#1. Client 401 can then, based on the information received from Xlink resolver 403, retrieve the respective Ad from the selected edge server 408.
[0049] Figure 5 shows a call flow diagram for one exemplary embodiment of the solution presented herein. The call flow diagram may for example be employed in the structure of Fig. 4. The client 401 is redirected at the beginning of the session to a CDN edge server 408 which returns an MPD. The MPD includes video URLs and Xlink URLs for the Ads. The client 401 connects to Xlink resolver 403 to resolve the Xlink URL, which consults the Ad decision server 404. The Ad decision server 404 inquires about the Ad placement and locations (e.g., which edge servers) in the CDN 406. The Ad decision server 404 therefore communicates with a CDN Manager 407 that has knowledge about content availability, server load, etc. inside the CDN 406. The Ad decision server 404 selects an Ad for the client 401 based on the user profile and CDN information received from CDN manager 407. An Ad period is returned to the client 401 , which can then retrieve the desired content and the selected Ad from edge server 408.
[0050] The proposed solution can be also applied in case the MPD is personalized for each client, as shown in Figure 6. In this case, a personalized MPD is provided instead of Xlink URLs. The CDN edge server 408 forwards the MPD request for each client 401 to an MPD generator 602, similar to the MPD generator 102 described with respect to Fig. 1 , to create a personalized MPD. The MPD generator 602 communicates with the Ad decision server 404 which returns an Ad for the client 401. To select an Ad, the Ad decision server 404 exchanges information with the CDN manager 407, as described above with respect to Figures 3 to 5. The MPD generator 602 returns a personalized MPD to the edge server 408 which provides it to the client 401. Again, the client 401 can then retrieve the desired content and the selected Ad from edge server 408.
[0051] Figure 7 shows another exemplary embodiment, which considers an optimized Ad decision making and Ad edge server selection. It provides a mechanism for optimized Ad decision making without the need to provide CDN information to the Ad decision server 404. The Ad decision server 404 first determines the set of Ads that fit the user profile. This set is provided to an Ad edge decision server 704 which considers the personalized Ads for the client 401 when determining the CDN edge server 408 to serve the Ad. The Ad edge server selection function in the Ad edge decision server 704 returns a subset of Ads that can be served form one or more possible edge servers. For example, the subset may comprise at least one
advertisement placed in one or more edge servers that provide the best of at least one of a delay, quality, and connectivity to the client 401. The subset is returned to the Ad decision server 404 which makes the final decision on the Ad to deliver to the client 401 . The Ad is returned to the Xlink resolver 403, which composes the period and provides it to the client 401. [0052] It is noted that in the examples of Figures 4 to 7, the edge node 408 from which client 401 finally retrieves the desired content and/or the selected Ad is not necessarily the same edge server 408 to which the client 401 was initially connected resp. from which client 401 has retrieved the initial information, e.g. the MPD. Based on the information provided by Ad decision server 404, for retrieval of the content and/or ad, a different edge server 408 may be used. It is also conceivable that the selected Ad is retrieved from a different edge server 408 than the desired content, e.g. video segment.
[0053] The solution presented herein has been implemented and validated in an event- driven simulator. The following simulation set-up is considered: A video and different numbers of personalized Ads are considered. Each content (Video, Ad) is encoded at 10 different Adaptive Bit-Rates (ABRs), from 100kbps to 3.5Mbps. The video has duration of l OOOsec and the Ads have a duration of 200sec each. Each content (video, Ad) is segmented into chunks of 10sec duration.
[0054] We first show the impact of personalized Ads on the load in the system. Figure 8 shows an exemplary architecture with 20 DASH clients CO ... C19, an edge server E0, and an origin server 00. One video is considered and the number of Ads is varied. The ads are randomly assigned to the clients. The simulations are repeated for 100 iterations. In each iteration, the link characteristics, defined in terms of delay and link bit-rate, between the clients and the edge server are varied.
[0055] Figure 9 shows the number of bytes sent by the origin as a function of number of Ads in the system of Figure 8. Two cases are considered with 20 DASH clients and 200 DASH clients arriving to the system. In case of one Ad, all clients receive the same Ad (no
personalization). As the number of Ads increases, the traffic sent by the origin server O0 and thus the traffic costs for the CDN provider increase. The result shows that personalized Ads can have a high impact on the internal CDN costs. [0056] Next, we compare the proposed CDN-aware Ad decision solution presented herein with a non-CDN aware reference scheme. We consider one video and two Ads. Figure 10 shows the architecture with 2 DASH clients CO and C1 , two edge servers E0 and E1 , and an origin server 00. The first client CO has good connectivity to the second edge server E1 and bad connectivity to the first edge server E0. The second client C1 has good connectivity to the first edge server E0 and bad connectivity to the second edge server E1 . Furthermore, "AdO" is pre-positioned at first edge server E0 and "Ad1 " is pre-positioned at second edge server E1. We change the delay difference between the "good" and "bad" edge servers by a factor of {0.2, 0.4, 0.6, 0.8, 1.0} sec at each simulation step. Each simulation step is repeated over 10 iterations.
[0057] We consider a content and delay aware request redirection algorithm to redirect clients to the edge servers at the beginning of the streaming session to fetch the video content. In this case, a client is redirected to an edge which has the requested video and achieves minimal delay (i.e., with better connectivity). The request redirection is a basic function implemented in CDNs. Furthermore, a content aware algorithm is used to determine the edge server for fetching the Ad for each client.
[0058] The objective is to compare the results for random (non-CDN aware) Ad decision making and the proposed solution (i.e., CDN and content-aware) Ad decision. The results are shown in Figure 11 as a function of the delay difference between the two edge servers. The results show that a higher average bit-rate can be achieved for the clients by the solution presented herein.
[0059] A method for optimized delivery of personalized content (e.g., personalized Ads) is proposed. By exploiting knowledge about delivery network (e.g., CDN edge load, content availability at edge servers, etc.), the personalized media delivery process is optimized to improve the user experience (i.e., provide higher quality) and/or reduce the delivery costs for a content provider (i.e., reduce internal CDN costs by fetching less bytes from the origin server). [0060] The Ad decision server is still responsible for selecting the personalized Ad to be delivered to the client. After determining the set of Ads that match the user interests and viewing patterns (i.e., frequency of Ads viewed by the user), the solution presented herein proposes to select the Ad that provides the best possible quality of experience from this set. Thus, the solution presented herein provides the Ad decision server with additional information about the CDN to refine the Ad selection process.
[0061] Different from conventional solutions, the solution presented herein optimizes the QoE for personalized Ad delivery at the client. This comes with no additional transmission costs. Also, as all Ads are typically played with the same frequency or according to some popularity distribution, which is determined by the Ad decision server, the proposed solution does not influence the revenue costs from Ads. Further, conventional solutions do not define the interaction between the Ad decision server and the CDN. The Ad decision process in conventional solutions, e.g., which Ad to deliver to client, is done at the content/Ad provider and is independent of the CDN functions. This means that the Ad decision process in conventional solutions does not consider which content is loaded or pre-positioned in the CDN or which edge servers have the content. By considering whether the Ad(s) are pre-loaded in the CDN and/or where the Ad(s) are loaded in the CDN, the solution presented herein optimizes the delivery of the Ads to the client.
[0062] Figures 12-14 show exemplary methods for the solution presented herein as executed by the Ad decision server (Figure 15), CDN (Figure 16), and Ad edge decision server (Figure 17). According to one exemplary method 1200 implemented in the Ad decision server 1500 (Figure 15), a receiver 1510 in the Ad decision server 1500 receives a request identifying the client (block 1210), and a selection circuit/module 1520 in the ad decision server 1500 selects an ad set comprising at least one advertisement responsive to a profile of the client (block 1220). The receiver 1510 further receives information associating one or more edge servers with the ad set (block 1230). For example, the receiver 1510 may receive ad load information, location information, and/or connectivity information from the CDN. The ad load information identifies which of the advertisement(s) in the ad set are pre-loaded in the CDN, the location information identifies where each pre-loaded advertisement is located in the CDN, e.g., in which edge server, and the connectivity information identifies one or more link characteristics, e.g., delay, quality, etc., between the client and at least one edge server in the CDN. In another embodiment, a transmitter circuit/module 1530 in the Ad decision server sends the ad set to a remote server, and in response the receiver 1510 may receive a subset of the advertisement(s) selected from the ad set, e.g., by the Ad edge decision server 600, edge server information identifying at least one edge server in the CDN available to deliver at least one advertisement in the subset to the client, and/or linking information linking each advertisement in the subset to each identified edge server. In this embodiment, each advertisement in the subset can be served by the CDN 500. The selection circuit/module 1520 in the Ad decision server 1500 selects at least one advertisement from the ad set for delivery to the client responsive to the received information (block 1240).
[0063] According to one exemplary method 1300 implemented in the CDN 1600 (Figure 16), a receiver 1610 in the CDN 1600 receives an ad set comprising at least one advertisement selected responsive to a profile of the client from the decision server 1500 (block 1310), and an identification circuit/module 1620 in the CDN 1600 identifies information responsive to the received ad set (block 1320), where the information corresponds at least one advertisement in the ad set with at least one advertisement in the CDN 1600. For example, the identified information may comprise ad load information, location information, and/or connectivity information from the CDN. The ad load information identifies which of the advertisement(s) in the ad set are pre-loaded in the CDN, the location information identifies where each pre-loaded advertisement is located in the CDN, e.g., in which edge server, and the connectivity information identifies one or more link characteristics, e.g., delay, quality, etc., between the client and at least one edge server in the CDN 1600. The transmitter circuit/module 1630 in the CDN 1600 sends the information to the Ad decision server 1500 (block 1330) to facilitate the advertisement selection in the decision server 1500. In one exemplary embodiment, a positioning
circuit/module 1640 positions one or more advertisements in one or more edge servers, e.g., those edge servers identified by the CDN 1600 as having the best connectivity to the client.
[0064] According to one exemplary method 1400 implemented in the Ad edge decision server 1700 (Figure 17), a receiver 1710 in the Ad edge decision server 1700 receives an ad set comprising at least one advertisement selected responsive to a profile of the client from the decision server 1500 (block 1410), and an identification circuit/module 1720 in the ad edge decision server 1700 identifies an ad subset comprising at least one advertisement from the received ad set, where each advertisement in the ad subset is stored in at least one edge server in the CDN 1600 (block 1420). The transmitter circuit/module 1730 in the ad edge decision server 1700 sends the information to the Ad decision server 1500 (block 1430) to facilitate the advertisement selection in the ad decision server 1500.
[0065] The embodiments of Figures 15-17 include multiple circuits for performing the steps of the corresponding method. The circuits or circuitry in this regard may comprise circuits dedicated to performing certain functional processing and/or one or more microprocessors in conjunction with memory. In embodiments that employ memory, which may comprise one or several types of memory such as read-only memory (ROM), random-access memory, cache memory, flash memory devices, optical storage devices, etc., the memory stores program code that, when executed by the one or more processors, carries out the techniques described herein.
[0066] Figure 15 shows an ad decision server 1500 implemented in accordance with one or more other embodiments. As shown, ad decision server 1500 implements various functional means, units, circuits, or modules. These functional means, units, circuits, or modules include for example a receiver circuit/module 1510, a selection circuit/module 1520, and a transmitter circuit/module 1530 for performing the method steps of Figure 12 and implementing the embodiments of Figures 3-7. The ad decision server 1500 may thus correspond to the personalization system 304 of Fig. 3 resp to the ad decision server 404 of Figures 4 - 7.
[0067] Figure 16 shows CDN 1600 implemented in accordance with one or more other embodiments. As shown, CDN 1600 implements various functional means, units, circuits, or modules. These functional means, units, circuits, or modules include for example a receiver circuit/module 1610, an identification circuit/module 1620, a transmitter circuit/module 1630, and an optional positioning circuit/module 1640 for performing the method steps of Figure 13 and implementing the embodiments of Figures 3-7. The CDN 1600 may thus correspond to the CDN 306 of Fig. 3 resp to the CDN 406 of Figures 4.
[0068] Figure 17 shows an ad edge decision server 1700 implemented in accordance with one or more other embodiments. As shown, ad edge decision server 1700 implements various functional means, units, circuits, or modules. These functional means, units, circuits, or modules include for example a receiver circuit/module 1710, an identification circuit/module 1720, and a transmitter circuit/module 1730 for performing the method steps of Figure 14 and implementing the embodiments of Figures 3-7. The edge decision server 1700 may thus correspond to the Ad Edge Decision Server 704 of Fig. 7.
[0069] Those skilled in the art will also appreciate that embodiments herein further include corresponding computer programs.
[0070] A computer program comprises instructions which, when executed on at least one processor of a node, cause the node to carry out any of the respective processing described above. A computer program in this regard may comprise one or more code modules corresponding to the means or units described above.
[0071] Embodiments further include a carrier containing such a computer program. This carrier may comprise one of an electronic signal, optical signal, radio signal, or computer readable storage medium. [0072] In this regard, embodiments herein also include a computer program product stored on a non-transitory computer readable (storage or recording) medium and comprising instructions that, when executed by a processor of a node, cause the node to perform as described above.
[0073] Embodiments further include a computer program product comprising program code portions for performing the steps of any of the embodiments herein when the computer program product is executed by a computing device, e.g. by one or more processors. This computer program product may be stored on a computer readable recording medium.
[0074] The solution presented herein may, of course, be carried out in other ways than those specifically set forth herein without departing from essential characteristics of the invention. The present embodiments are to be considered in all respects as illustrative and not restrictive, and all changes coming within the meaning and equivalency range of the appended embodiments are intended to be embraced therein.

Claims

1. A method of optimizing delivery of personalized advertisements by a content delivery network, CDN, (306, 406, 1600) to a client (301 , 401 ) in a communication network comprising the CDN (306, 406, 1600) and a decision server (304, 404, 1500), the method comprising: receiving (1210) a request identifying the client (301 , 401 ) at the decision server (304, 404, 1500);
selecting (1220), at the decision server (304, 404, 1500), an ad set comprising at least one advertisement responsive to a profile of the client (301 , 401 );
receiving (1230), at the decision server (304, 404, 1500), information associating one or more edge servers (308, 408) with at least one advertisement in the ad set; and selecting (1240), by the decision server (304, 404, 1500), at least one advertisement from the ad set for delivery to the client (301 , 401 ) responsive to the received information.
2. The method of claim 1 wherein the profile comprises at least one of one or more preferences derived for the client (301 , 401 ) responsive to past behavior by the client (301 , 401 ) and one or more preferences selected by the client (301 , 401 ).
3. The method of any of claims 1 -2 wherein receiving (1210) the request identifying the client (301 , 401 ) comprises receiving the request from a Uniform Resource Locator, URL, resolver device (403).
4. The method of any of claims 1 -2 wherein receiving (1210) the request identifying the client (301 , 401 ) comprises receiving the request from a Media Presentation Description, MPD, generator device (602).
5. The method of any of claims 1 -4:
further comprising sending the ad set to a remote server;
wherein receiving information comprises receiving, at the decision server (304, 404, 1500), at least one of:
a subset of at least one advertisement selected from the ad set; wherein each
advertisement of the subset can be served by the CDN (306, 406, 1600);
edge server information identifying at least one edge server (308, 408) in the CDN (306, 406, 1600) available to deliver at least one advertisement in the subset to the client (301 , 401 ); and
linking information linking at least one advertisement in the subset to at least one
identified edge server (308, 408); and
wherein selecting at least one advertisement from the ad set comprises selecting at least one advertisement from the received subset.
6. The method of any of claims 1 -4 wherein the received information comprises at least one of:
ad load information identifying which of the at least one advertisement in the ad set are preloaded in the CDN (306, 406, 1600);
location information identifying where each pre-loaded advertisement is located in the CDN (306, 406, 1600); and
connectivity information identifying one or more link characteristics between the client (301 , 401 ) and at least one edge server in the CDN (306, 406, 1600).
7. The method of claim 6 further comprising sending the ad set to the CDN (306, 406, 1600), wherein receiving the server information comprises receiving the information from the CDN (306, 406, 1600) responsive to the ad set sent to the CDN (306, 406, 1600).
8. The method of any of claims 6-7 wherein the one or more link characteristics comprise one or more of a delay between the client (301 , 401 ) and the at least one edge server (308, 408) and a quality of service between the client (301 , 401 ) and the at least one edge server (308, 408).
9. A method of optimizing delivery of personalized advertisements by a content delivery network, CDN, (306, 406, 1600) to a client (301 , 401 ) in a communication network comprising the CDN (306, 406, 1600) and a decision server (304, 404, 1500), the method comprising:
Receiving (1310), at the CDN (306, 406, 1600), an ad set comprising at least one
advertisement selected responsive to a profile of the client (301 , 401 ) from the decision server (304, 404, 1500);
Identifying (1320), at the CDN (306, 406, 1600), information responsive to the received ad set, the identified information corresponding at least one advertisement in the ad set with at least one advertisement in the CDN (306, 406, 1600); and
Sending (1330), from the CDN (306, 406, 1600), the information to the decision server (304, 404, 1500).
10. The method of claim 9 wherein the identified information comprises at least one of: ad load information identifying which of the at least one advertisements in the ad set are pre-loaded in the CDN (306, 406, 1600);
location information identifying where each pre-loaded advertisement is located in the CDN (306, 406, 1600); and
connectivity information identifying one or more link characteristics between the client (301 , 401 ) and at least one edge server (308, 408) in the CDN (306, 406, 1600).
1 1 . The method of any of claims 9-10 further comprising:
identifying one or more edge servers (308, 408) in the CDN (306, 406, 1600) having the best connectivity to the client (301 , 401 ) responsive to a location of the client (301 , 401 ); and
positioning one or more advertisements in the one or more selected edge servers (308, 408).
12. The method of any of claims 9-1 1 wherein the profile comprises at least one of one or more preferences derived for the client (301 , 401 ) responsive to past behavior by the client (301 , 401 ) and one or more preferences selected by the client (301 , 401 ).
13. A method of optimizing delivery of personalized advertisements by a content delivery network, CDN, (306, 406, 1600) to a client (301 , 401 ) in a communication network comprising a first decision server (304, 404, 1500), a second decision server (704, 1700), and the CDN (306, 406, 1600), the method comprising:
Receiving (1410), at the second decision server (704, 1700) and from the first decision server (304, 404, 1500), an ad set comprising at least one advertisement selected responsive to a profile of the client (301 , 401 );
Identifying (1420), at the second decision server (704, 1700), an ad subset comprising at least one advertisement from the ad set, wherein each advertisement in the ad subset is stored in at least one edge server (308, 408) in the CDN (306, 406, 1600); and
sending (1430) the ad subset from the second decision server (704, 1700) to the first
decision server (304, 404, 1500).
14. The method of claim 13, wherein the profile comprises at least one of one or more preferences derived for the client (301 , 401 ) responsive to past behavior by the client (301 , 401 ) and one or more preferences selected by the client (301 , 401 ).
15. The method of any of claims 13-14 wherein identifying (1420) the ad subset comprises identifying the ad subset comprising the at least one advertisement placed in one or more edge servers (308, 408) that provide the best of at least one of a delay, quality, and connectivity to the client (301 , 401 ).
16. A decision server (304, 404, 1500) configured to optimize delivery of personalized advertisements by a content delivery network, CDN (306, 406, 1600) to a client (301 , 401 ) in a communication network comprising the CDN (306, 406, 1600) and the decision server (304, 404, 1500), the decision server (304, 404, 1500) comprising:
a receiver (1510) configured to receive a request identifying the client (301 , 401 );
a selection circuit (1520) configured to select an ad set comprising at least one
advertisement responsive to a profile of the client (301 , 401 );
wherein the receiver (1510) is further configured to receive information associating one or more edge servers (308, 408) with at least one advertisement in the ad set; and wherein the selection circuit (1520) is further configured to select at least one advertisement from the ad set for delivery to the client (301 , 401 ) responsive to the received information.
17. The decision server (304, 404, 1500) of claim 16 wherein the profile comprises at least one of one or more preferences derived for the client (301 , 401 ) responsive to past behavior by the client (301 , 401 ) and one or more preferences selected by the client (301 , 401 ).
18. The decision server (304, 404, 1500) of any of claims 16-17 wherein the receiver (1510) is configured to receive the request identifying the client (301 , 401 ) by receiving the request from a Uniform Resource Locator (URL) resolver device.
19. The decision server (304, 404, 1500) of any of claims 16-17 wherein the receiver (1510) is configured to receive the request identifying the client (301 , 401 ) by receiving the request from a Media Presentation Description (MPD) generator device (602).
20. The decision server (304, 404, 1500) of any of claims 16-19:
further comprising a transmitter (1530) configured to send the ad set to a remote server (704, 1700);
wherein the receiver (1510) is configured to receive information by receiving at least one of: a subset of at least one advertisement selected from the ad set; wherein each
advertisement of the subset can be served by the CDN (306, 406, 1600);
edge server information identifying at least one edge server (308, 408) in the CDN (306, 406, 1600) available to deliver at least one advertisement in the subset to the client (301 , 401 ); and
linking information linking at least one advertisement in the subset to at least one
identified edge server (308, 408); and
wherein the selection circuit (1520) is configured to select at least one advertisement from the ad set by selecting at least one advertisement from the received subset.
21 . The decision server (304, 404, 1500) of any of claims 16-19 wherein the received information comprises at least one of:
ad load information identifying which of the at least one advertisements in the ad set are pre-loaded in the CDN (306, 406, 1600); location information identifying where each pre-loaded advertisement is located in the CDN (306, 406, 1600); and
connectivity information identifying one or more link characteristics between the client (301 , 401 ) and at least one edge server (308, 408) in the CDN (306, 406, 1600).
22. The decision server (304, 404, 1500) of claim 21 further comprising a transmitter configured to send the ad set to the CDN (306, 406, 1600), wherein the receiver is configured to receive the server information by receiving the information from the CDN (306, 406, 1600) responsive to the ad set sent to the CDN (306, 406, 1600).
23. The decision server (304, 404, 1500) of any of claims 21-22 wherein the one or more link characteristics comprise one or more of a delay between the client (301 , 401 ) and the at least one edge server (308, 408) and a quality of service between the client (301 , 401 ) and the at least one edge server (308, 408).
24. A content delivery network, CDN (306, 406, 1600) configured to optimize delivery of personalized advertisements to a client (301 , 401 ) in a communication network comprising the CDN (306, 406, 1600) and a decision server (304, 404, 1500), the CDN (306, 406, 1600) comprising:
a receiver (1610) configured to receive an ad set comprising at least one advertisement selected responsive to a profile of the client (301 , 401 ) from the decision server (304, 404, 1500);
an identification circuit (1620) configured to identify information responsive to the received ad set, the identified information corresponding at least one advertisement in the ad set with at least one advertisement in the CDN (306, 406, 1600); and a transmitter (1630) configured to send the information to the decision server (304, 404, 1500).
25. The CDN (306, 406, 1600) of claim 24 wherein the identified information comprises at least one of:
ad load information identifying which of the at least one advertisements in the ad set are pre-loaded in the CDN (306, 406, 1600);
location information identifying where each pre-loaded advertisement is located in the CDN
(306, 406, 1600); and
connectivity information identifying one or more link characteristics between the client (301 , 401 ) and at least one edge server (308, 408) in the CDN (306, 406, 1600).
26. The CDN (306, 406, 1600) of any of claims 24-25:
wherein the identification circuit (1620) is further configured to identify one or more edge servers (308, 408) in the CDN (306, 406, 1600) having the best connectivity to the client (301 , 401 ) responsive to a location of the client (301 , 401 );
the CDN (306, 406, 1600) further comprising a positioning circuit (1640) configured to
position one or more advertisements in the one or more selected edge servers (308, 408).
27. The CDN (306, 406, 1600) of any of claims 24-26 wherein the profile comprises at least one of one or more preferences derived for the client (301 , 401 ) responsive to past behavior by the client (301 , 401 ) and one or more preferences selected by the client (301 , 401 ).
28. A first decision server (704, 1700) configured to optimize delivery of personalized advertisements by a content delivery network, CDN, (306, 406, 1600) to a client (301 , 401 ) in a communication network comprising the first decision server (704, 1700), a second decision server (304, 404, 1500), and the CDN (306, 406, 1600), the first decision server (704, 1700) comprising:
a receiver (1710) configured to receive, from the second decision server (304, 404, 1500), an ad set comprising at least one advertisement selected responsive to a profile of the client (301 , 401 );
an identification circuit (1720) configured to identify an ad subset comprising at least one advertisement from the ad set, wherein each advertisement in the ad subset is stored in at least one edge server (308, 408) in the CDN (306, 406, 1600); and a transmitter (1730) configured to send the ad subset to the second decision server (304, 404, 1500).
29. The first decision server (304, 404, 1500) of claim 28 wherein the profile comprises at least one of one or more preferences derived for the client (301 , 401 ) responsive to past behavior by the client (301 , 401 ) and one or more preferences selected by the client (301 , 401 ).
30. The first decision server (704, 1700) of any of claims 28-29 wherein the identification circuit (1720) identifies the ad subset by identifying the ad subset comprising the at least one advertisement placed in one or more edge servers (308, 408) that provide the best of at least one of a delay, quality, and connectivity to the client (301 , 401 ).
31 . Computer program comprising computer-readable program code which, when executed by one or more processors, causes the one or more processors to execute a method according to any of claims 1 to 15.
32. A non-transitory carrier, carrying or comprising the computer program of claim 31.
PCT/EP2017/078853 2016-11-11 2017-11-10 Content-aware optimized delivery of personalized ads in a cdn Ceased WO2018087275A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201662420692P 2016-11-11 2016-11-11
US62/420,692 2016-11-11

Publications (1)

Publication Number Publication Date
WO2018087275A1 true WO2018087275A1 (en) 2018-05-17

Family

ID=60450613

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2017/078853 Ceased WO2018087275A1 (en) 2016-11-11 2017-11-10 Content-aware optimized delivery of personalized ads in a cdn

Country Status (1)

Country Link
WO (1) WO2018087275A1 (en)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112788133A (en) * 2020-12-31 2021-05-11 上海卓悠网络科技有限公司 Information interaction method and equipment based on advertisement
JP2022525298A (en) * 2019-09-30 2022-05-12 テンセント・アメリカ・エルエルシー How to receive media data for a session, equipment and computer programs
US11470179B2 (en) 2019-01-09 2022-10-11 Margo Networks Private Limited Content delivery network system and method
US20230111900A1 (en) * 2019-08-02 2023-04-13 Dolby Laboratories Licensing Corporation Personalized sensitivity measurements and playback factors for adaptive and personalized media coding and delivery
US11695855B2 (en) 2021-05-17 2023-07-04 Margo Networks Pvt. Ltd. User generated pluggable content delivery network (CDN) system and method
DE102022101086A1 (en) 2022-01-18 2023-07-20 Uniqfeed Ag Video distribution system with switching facility for switching between multiple enhanced directional image sequences of a recorded real event
US11860982B2 (en) 2022-05-18 2024-01-02 Margo Networks Pvt. Ltd. Peer to peer (P2P) encrypted data transfer/offload system and method
US11930439B2 (en) 2019-01-09 2024-03-12 Margo Networks Private Limited Network control and optimization (NCO) system and method
US12062068B2 (en) 2021-05-04 2024-08-13 Margo Networks Pvt. Ltd. Oneapp system and method

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090100459A1 (en) 2007-10-15 2009-04-16 Steven Riedl Methods and apparatus for revenue-optimized delivery of content in a network
US20110112909A1 (en) * 2009-11-10 2011-05-12 Alcatel-Lucent Usa Inc. Multicasting personalized high definition video content to consumer storage
US20130144728A1 (en) 2011-06-07 2013-06-06 Fernando Ruarte PRE-PROCESSING OF AD REQUESTS USING EDGE SIDE PROCESSING OVER COMMERCIAL CDNs
US20150149294A1 (en) * 2013-11-22 2015-05-28 Cox Communications, Inc. Presence-based content recommendations and advertising

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090100459A1 (en) 2007-10-15 2009-04-16 Steven Riedl Methods and apparatus for revenue-optimized delivery of content in a network
US20110112909A1 (en) * 2009-11-10 2011-05-12 Alcatel-Lucent Usa Inc. Multicasting personalized high definition video content to consumer storage
US20130144728A1 (en) 2011-06-07 2013-06-06 Fernando Ruarte PRE-PROCESSING OF AD REQUESTS USING EDGE SIDE PROCESSING OVER COMMERCIAL CDNs
US20150149294A1 (en) * 2013-11-22 2015-05-28 Cox Communications, Inc. Presence-based content recommendations and advertising

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
WILL LAW, EXPECTED CHANGES IN THE TECHNICAL WORLD OF MEDIA DISTRIBUTION, September 2016 (2016-09-01)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11470179B2 (en) 2019-01-09 2022-10-11 Margo Networks Private Limited Content delivery network system and method
US11930439B2 (en) 2019-01-09 2024-03-12 Margo Networks Private Limited Network control and optimization (NCO) system and method
US20230111900A1 (en) * 2019-08-02 2023-04-13 Dolby Laboratories Licensing Corporation Personalized sensitivity measurements and playback factors for adaptive and personalized media coding and delivery
US11863839B2 (en) * 2019-08-02 2024-01-02 Dolby Laboratories Licensing Corporation Personalized sensitivity measurements and playback factors for adaptive and personalized media coding and delivery
US12137276B2 (en) 2019-08-02 2024-11-05 Dolby Laboratories Licensing Corporation Personalized sensitivity measurements and playback factors for adaptive and personalized media coding and delivery
JP2022525298A (en) * 2019-09-30 2022-05-12 テンセント・アメリカ・エルエルシー How to receive media data for a session, equipment and computer programs
JP7182727B2 (en) 2019-09-30 2022-12-02 テンセント・アメリカ・エルエルシー Method, apparatus and computer program for receiving media data of a session
CN112788133A (en) * 2020-12-31 2021-05-11 上海卓悠网络科技有限公司 Information interaction method and equipment based on advertisement
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
DE102022101086A1 (en) 2022-01-18 2023-07-20 Uniqfeed Ag Video distribution system with switching facility for switching between multiple enhanced directional image sequences of a recorded real event
US11860982B2 (en) 2022-05-18 2024-01-02 Margo Networks Pvt. Ltd. Peer to peer (P2P) encrypted data transfer/offload system and method

Similar Documents

Publication Publication Date Title
WO2018087275A1 (en) Content-aware optimized delivery of personalized ads in a cdn
US11490145B2 (en) Content insertion in streaming media content
US11785268B1 (en) System for managing video playback using a server generated manifest/playlist
US11463741B2 (en) Methods and systems for dynamic routing of content using a static playlist manifest
US8887215B2 (en) Targeted high-value content in HTTP streaming video on demand
Thang et al. Adaptive streaming of audiovisual content using MPEG DASH
US8745239B2 (en) Edge-based resource spin-up for cloud computing
US7203758B2 (en) System and method for selective insertion of content into streaming media
EP1376914A2 (en) Collection of behaviour data on a broadcast data network
US20140207912A1 (en) Selective content pre-warming in content delivery networks based on user actions and content categorizations
US20180191801A1 (en) Adaptively updating content delivery network link in a manifest file
US20110252100A1 (en) Partial object distribution in content delivery network
EP1239619A2 (en) Apparatus and method for media distribution in the form requested by a client
US20180376177A1 (en) System and methods for individualized digital video program insertion
US12316897B2 (en) System and method for real-time delivery of a target content in a streaming content
US10476943B2 (en) Customizing manifest file for enhancing media streaming
CN105915945A (en) Content distribution method used for CDN platform and scheduling proxy server thereof
US20180191586A1 (en) Generating manifest file for enhancing media streaming
WO2020126341A1 (en) Method for ad pod handling in live media streaming
EP2556481A1 (en) Partial object distribution in content delivery network
CN112543357A (en) Streaming media data transmission method based on DASH protocol
US11570502B2 (en) Providing personalized messages in adaptive streaming
US10440085B2 (en) Effectively fetch media content for enhancing media streaming
Pathan Cloud‐Based Content Delivery and Streaming
Jeon et al. User centric content management system for open IPTV over SNS

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: 17803837

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 17803837

Country of ref document: EP

Kind code of ref document: A1