Embodiments are related to faster provisioning of targeted advertisements at a set-top box (stb) via an internet protocol (IP) connection between the stb and a remote server. The disclosed IP-based advertisement distribution system enables targeted advertisements to be pulled from the remote server efficiently, causing the advertisements to be made available within a short time frame (e.g., less than one day from the time when the advertisements are available). The disclosed methods enables a stb to determine whether to retain existing targeted advertisements, discard them, or provision newly-available advertisements. The targeted advertisements can depend on various factors such as demographic information of an owner of the stb, lifestyle information of the owner of the stb, etc.
|
1. A method of facilitating faster provisioning of targeted advertisements at a set-top box (stb) via an internet protocol (IP) connection between the stb and a remote server, wherein the stb is configured to have a satellite connection, the method comprising:
monitoring, by the stb, an announcement stream on the satellite connection, wherein the announcement stream is a broadcast announcing a list of available advertisement packages, wherein each advertisement package is a bundled collection of an advertisement delivery request (ADR) file and advertisement media files applicable for playing at the stb;
based on monitoring the announcement stream, building or updating, by the stb, a lookup table locally stored at the stb with information identifying the list of the available advertisement packages for potential acquisition by the stb;
providing, by the stb, an id of each advertisement package listed in the lookup table to the remote server;
receiving, by the stb and from the remote server, the ADR file corresponding to the id of each advertisement package listed in the lookup table, wherein the ADR file includes identifiers (ADR ids) of advertisement media files and metadata associated with each ADR id;
receiving, by the stb and from the remote server, targeted advertisement data and storing, by the stb, the targeted advertisement data in a storage location electronically coupled to the stb;
for each advertisement package listed in the lookup table and for each ADR id in the ADR file of the advertisement package, correlating, by the stb, the targeted advertisement data with the metadata associated with the ADR id to determine ADR ids of relevant advertisement media files that are pertinent to the stb;
comparing, by the stb, (i) the ADR ids of relevant advertisement media files that are pertinent to the stb with (ii) previously-stored advertisement media files in the stb to identify one or more missing ADR ids, wherein the one or more missing ADR ids correspond to advertisement media files that are not stored in the stb; and
requesting, by the stb, advertisement media files corresponding to the one or more missing ADR ids from the remote server for storage at the stb.
12. A non-transitory computer-readable storage medium storing instructions configured for facilitating faster provisioning of targeted advertisements at a set-top box (stb) via an internet protocol (IP) connection between the stb and a remote server, wherein the stb is configured to have a satellite connection, to perform a method comprising:
monitoring, by the stb, an announcement stream on the satellite connection, wherein the announcement stream is a broadcast announcing a list of available advertisement packages, wherein each advertisement package is a bundled collection of an advertisement delivery request (ADR) file and advertisement media files applicable for playing at the stb;
based on monitoring the announcement stream, building or updating, by the stb, a lookup table locally stored at the stb with information identifying the list of the available advertisement packages for potential acquisition by the stb;
providing, by the stb, an id of each advertisement package listed in the lookup table to the remote server;
receiving, by the stb and from the remote server, the ADR file corresponding to the id of each advertisement package listed in the lookup table, wherein the ADR file includes identifiers (ADR ids) of advertisement media files and metadata associated with each ADR id;
receiving, by the stb and from the remote server, targeted advertisement data and storing, by the stb, the targeted advertisement data in a storage location electronically coupled to the stb;
for each advertisement package listed in the lookup table and for each ADR id in the ADR file of the advertisement package, correlating, by the stb, the targeted advertisement data with the metadata associated with the ADR id to determine ADR ids of relevant advertisement media files that are pertinent to the stb;
comparing, by the stb, (i) the ADR ids of relevant advertisement media files that are pertinent to the stb with (ii) previously-stored advertisement media files in the stb to identify one or more missing ADR ids, wherein the one or more missing ADR ids correspond to advertisement media files that are not stored in the stb; and
requesting, by the stb, advertisement media files corresponding to the one or more missing ADR ids from the remote server for storage at the stb.
16. A set-top box (stb) apparatus for facilitating faster provisioning of targeted advertisements at a set-top box (stb) via an internet protocol (IP) connection between the stb and a remote server, wherein the stb is configured to have a satellite connection, comprising:
a memory;
one or more processors electronically coupled to the memory and configured for:
monitoring, by the stb, an announcement stream on the satellite connection, wherein the announcement stream is a broadcast announcing a list of available advertisement packages, wherein each advertisement package is a bundled collection of an advertisement delivery request (ADR) file and advertisement media files applicable for playing at the stb;
based on monitoring the announcement stream, building or updating, by the stb, a lookup table locally stored at the stb with information identifying the list of the available advertisement packages for potential acquisition by the stb;
providing, by the stb and from the remote server, an id of each advertisement package listed in the lookup table to the remote server;
receiving, by the stb, the ADR file corresponding to the id of each advertisement package listed in the lookup table, wherein the ADR file includes identifiers (ADR ids) of advertisement media files and metadata associated with each ADR id;
receiving, by the stb and from the remote server, targeted advertisement data and storing, by the stb, the targeted advertisement data in a storage location electronically coupled to the stb;
for each advertisement package listed in the lookup table and for each ADR id in the ADR file of the advertisement package, correlating, by the stb, the targeted advertisement data with the metadata associated with the ADR id to determine ADR ids of relevant advertisement media files that are pertinent to the stb;
comparing, by the stb, (i) the ADR ids of relevant advertisement media files that are pertinent to the stb with (ii) previously-stored advertisement media files in the stb to identify one or more missing ADR ids, wherein the one or more missing ADR ids correspond to advertisement media files that are not stored in the stb; and
requesting, by the stb, advertisement media files corresponding to the one or more missing ADR ids from the remote server for storage at the stb.
2. The method of
3. The method of
4. The method of
5. The method of
6. The method of
7. The method of
8. The method of
establishing the IP connection between the stb and the remote server; and
in an event of a failure in the IP connection, establishing connectivity via the satellite connection.
9. The method of
(i) break data specifying potential advertisements to be played in an upcoming commercial break and
(ii) cue data specifying a play out time in the upcoming commercial break.
10. The method of
comparing the potential advertisements in the break data with the advertisement media files stored in the stb to identify one or more advertisements to be played at the stb during the upcoming commercial break and
at the play out time specified in the cue data, playing the one or more advertisements during the commercial break.
11. The method of
13. The non-transitory computer-readable storage medium of
14. The non-transitory computer-readable storage medium of
15. The non-transitory computer-readable storage medium of
17. The stb apparatus of
18. The stb apparatus of
19. The stb apparatus of
20. The stb apparatus of
|
This patent application is a Continuation of U.S. Non-Provisional patent application Ser. No. 15/951,512, filed Apr. 12, 2018, entitled “SYSTEMS AND METHODS FOR IP-BASED ASSET PACKAGE DISTRIBUTION FOR PROVISIONING TARGETED ADVERTISEMENTS,” the disclosure of which is incorporated herein by reference in its entirety.
In recent times, targeted advertising on television has become popular for advertisers to reach consumers. Targeted advertising (alternately referred as “addressable advertising”) relies on the ability of advertisers to utilize cable and/or satellite services to pinpoint specific households and/or subscribers. But, traditional television advertising lack the precision to determine the appropriate audience to deliver an advertisement for the advertisement to be effective. On the contrary, targeted advertising allow advertisers to determine who, when, and where to deliver an advertisement. In some instances, targeted advertising can be lucrative for marketers that don't normally advertise on television due to budget constraints or because there's no efficient way to reach their niche audience.
Typically, when targeted advertising is transmitted over satellite services, approximately 7000-8000 advertisements are actively broadcast at any given time. Of these large number of advertisements, an estimated 200-300 advertisements are usually relevant to an average household or a subscriber. Thus, a set-top box (STB) receiving the actively broadcast advertisements have to parse through a large number of undesired advertisements to determine the advertisements relevant to a subscriber of the STB. Parsing a large number of advertisements not only takes time (about three days on average) but also delays provisioning or final rollout of the advertisements to the consumer. As a result, advertisers are not able to present their brands to consumers by a certain date. Accordingly, there is a need for systems and methods that improve rollout or provide faster provisioning of targeted advertisements.
Disclosed embodiments are directed at systems, methods, and apparatus for faster provisioning of targeted advertisements at a set-top box (STB) via an Internet Protocol (IP) connection between the STB and a remote server. The method includes monitoring an announcement stream on a satellite connection (e.g., between the remote server and the STB), wherein the announcement stream is a broadcast announcing a list of available advertisement packages, wherein each advertisement package is a bundled collection of an advertisement delivery request (ADR) file and advertisement media files applicable for playing at the STB; updating a lookup table locally stored at the STB based on monitoring the announcement stream, wherein the lookup table includes information identifying the list of the available advertisement packages; providing an ID of each advertisement package listed in the lookup table to the remote server; receiving an ADR file corresponding to the ID of each advertisement package listed in the lookup table, wherein the ADR file includes identifiers (ADR IDs) of advertisement media files and metadata associated with each ADR ID; for each advertisement package listed in the lookup table and for each ADR ID in the ADR file of the advertisement package, correlating targeted advertisement data with the metadata associated with the ADR ID to determine ADR IDs of relevant advertisement media files that are pertinent to the STB; comparing (i) the ADR IDs of relevant advertisement media files that are pertinent to the STB with (ii) previously-stored advertisement media files in the STB to identify one or more missing ADR IDs, wherein the one or more missing ADR IDs correspond to advertisement media files that are not stored in the STB; and requesting advertisement media files corresponding to the one or more missing ADR IDs from the remote server for storage at the STB.
The following detailed description of the invention is merely exemplary in nature and is not intended to limit the invention or the application and uses of the invention. Furthermore, there is no intention to be bound by any theory presented in the preceding background or the following detailed description.
The various embodiments described herein generally provide apparatus, systems and methods related to IP-based distribution of advertisement packages for cable or satellite services. Specifically, disclosed embodiments are directed at facilitating faster provisioning of targeted advertisements at a set-top box (STB) via an Internet Protocol (IP) connection between the set-top box and a remote server. One of the patentable benefits of the disclosed technology is that targeted advertisements can be made available within a short time frame (e.g., less than one day) which is an improvement over the three day minimum time provided by present day technology. In some embodiments, the disclosed technology allows a STB to decide which advertisements to retain on the STB's local storage, which ones to discard, and which new advertisements to procure. This has the advantage of efficient memory usage of the STB by freeing up memory that would otherwise have been utilized by advertisements that are undesired or not deemed relevant to a STB.
Next, an illustrative example of the disclosed technology is discussed. Based on tracking an environment of operation surrounding a STB, the STB may determine that the subscriber associated with the STB lives in Arlington and is shopping for luxury vehicles. In a hypothetical scenario, the STB may be aware (e.g., by scanning metadata in an advertisement file received from a remote server) that the local Lexus dealership is running a television advertisement that indicates a promotional offer for Arlington residents. When the subscriber associated with the STB is viewing ESPN, the STB may insert the advertisement of the local Lexus dealer for presentation to the subscriber. Furthermore, in some instances it is possible that the STB may insert this advertisement in lieu of a national television commercial run by Lexus. (That is, it is possible that an advertiser can run national advertisements and local advertisements in parallel.) If the STB can present the advertisement from the local Lexus dealership within a day of the advertisement being made available, this can lead to the local Lexus marketer getting the ability to place its offer in front of the subscriber (who is a consumer from the perspective of the local Lexus dealership) within a short time. This is highly desirable for the local Lexus dealership. Indeed, there is significant interest in developing systems and methods that can provision advertisements faster. Embodiments of the technology disclosed herein are directed at an IP-based targeted advertisement distribution system that achieves faster provisioning of targeted advertisements.
In addition to improving faster provisioning of targeted advertisements, the disclosed IP-based targeted advertisement distribution system can provide enhanced network reliability. In some scenarios, an older model of a STB may not be equipped with Internet Protocol (IP) functionality, a feature usually available in newer STB models. The disclosed targeted advertisement distribution system is backwards compatible. By providing a backup satellite connection, the disclosed targeted advertisement distribution system is able to work with older STB models in provisioning targeted advertisements.
Furthermore, in some scenarios, STBs that are equipped with IP ports can be subjected to network failures. The backup satellite connection provides contingency for providing targeted advertisements under unforeseen network malfunctions. Accordingly, the dual connectivity via satellite and IP provides improved reliability and backwards compatibility. Other aspects, implementations, objects, and advantages of the disclosed technology will be apparent based on the following drawings and detailed description.
Embodiments of the disclosed technology can be owned and operated by media companies such as a cable company, a satellite broadcasting company, a television network, an on-demand media streaming service, a pay-per-view media streaming service, and/or an over-the-top media streaming service.
Turning now to the figures,
STB 1 and STB 2 are connected to satellite 110 (e.g., a geostationary satellite). STB 1 or STB 2 monitors a stream (e.g., stream 114) associated with satellite 110 to build a lookup table. The monitoring can be performed on a temporal basis, e.g., continuously, periodically, or intermittently. STB 1 and STB 2 may be equipped with various wired and wireless network interfaces such as an Ethernet module, an external or integrated Wifi module, a ultra-wide band (UWB) module and/or a Bluetooth module. The STB can also be equipped with coax, fiber, composite video, and/or high-definition multimedia interface (HDMI). An illustrative example of STB 1, or STB 2 may be the Hopper® set top box device available from DISH Network L.L.C. of Englewood, Colo. Another example of STB 1 or STB 2 is the Joey® set top box device available from DISH Network L.L.C. Another exemplary example of STB 1 or STB 2 is the DISH Anywhere application that operates on a mobile phone or tablet. The disclosed technology is not limited to the Hopper/Joey environment, however, and equivalent concepts could be applied in any number of other products from any number of other suppliers. IP network 104 can be part of a wide area network, a local area network, a private network, a mobile communication system, a terrestrial television network, a cable television network, and/or a satellite television network. The amount of bandwidth consumption by IP network 104 or by satellite 110 is low. For example, if the IP network 104 transfers 15-30 advertisement media files per day, that would be transferring about 450-900 MB of data.
Asset distribution server 102 is a remotely-located server that operates as a physical server or a cloud server. Asset distribution server 102 stores asset files such as advertisement media files that can be formatted in a suitable audiovisual format. Exemplary audiovisual formats include Motion Picture Experts Group (MPEG) standards and the like. The advertisement media files can also include textual content. In some embodiments, multiple advertisements can be bundled together in package (e.g., by packager 112, which is connected to the asset distribution server 102 and satellite 110). The packages are also referred herein as asset packages or advertisement packages. In some applications, a portion of the advertisements in an advertisement package may be relevant to a STB. In some applications, all the advertisements in advertisement package may be relevant to a STB.
The discussions in
Memory 205 can store instructions for running one or more applications or modules on processor(s) 210. For example, memory 205 could be used in one or more embodiments to house all or some of the instructions needed to execute the functionality of advertisement data 220. Generally, memory 205 can include any device, mechanism, or populated data structure used for storing information. In accordance with some embodiments of the present disclosure, memory 205 can encompass, but is not limited to, any type of volatile memory, nonvolatile memory, and dynamic memory. For example, memory 205 can be random access memory, memory storage devices, optical memory devices, magnetic media, floppy disks, magnetic tapes, hard drives, SIMMs, SDRAM, DIMMs, RDRAM, DDR RAM, SODIMMS, EPROMs, EEPROMs, compact discs, DVDs, and/or the like. In accordance with some embodiments, memory 205 may include one or more disk drives, flash drives, one or more databases, one or more tables, one or more files, local cache memories, processor cache memories, relational databases, flat databases, and/or the like. In addition, those of ordinary skill in the art will appreciate many additional devices and techniques for storing information that can be used as memory 205.
In some embodiments, advertisement package 220C can be in a compressed form. In some embodiments, advertisement package 220C can be in an uncompressed form, e.g., include MPEG files.
In some embodiments, embodiments of the disclosed technology employ multiple data types for delivery of targeted advertisements. In some applications, these data types can be stored and/or transmitted to STBs in a compressed format. Each data type has certain features that will be better understood in the discussions that follow. Advertisement data 220 includes global advertisement delivery request (ADR) data 220A, receiver targeting data 220B, and advertisement package 220C. Advertisement package 220C includes ADR file 220D and advertisement media file(s) 220E.
Global ADR data 220A is a global data type that is typically common to all STBs associated with the disclosed system. Global ADR data 220A can be, for example, configurational data that is sent to STBs on a periodic basis, e.g., daily.
Receiver targeting data 220B (also referred to herein as targeted advertisement data) is applicable for use in determining the targeted advertisements. Receiver targeting data 220B can be based on STB-specific attributes such as a geographical region where the STB is located, past-viewed programming content on the STB, demographic information of an owner of the STB, lifestyle information of the owner of the STB, and the like. Receiver targeting data 220B enables the STB to determine which advertisements to retain, which ones to discard, and which new advertisements to procure. For example, if a subscriber likes luxury vehicles, pizzas, and traveling, receiver targeting data 220B represents such preferences. In some embodiments, receiver targeting data 220B is stored on the hard drive of the STB so it can be retained after a reboot. In some embodiments, receiver targeting data 220B can also be stored in non-volatile memory or Flash memory.
Advertisement package 220C is a package that includes ADR file 220D (also referred to herein as advertisement delivery file) and multiple advertisement media file(s) 220E. ADR file 220D specifies a collection of ADR IDs and the metadata for each ADR ID. There can be multiple advertisement packages 220C in the server. Metadata associated with each ADR ID specifies additional information about one or more advertisements associated with each ADR ID.
Advertisement media file(s) 220E are the media files associated with an advertisement. Thus, an advertisement can be represented as a logical item with multiple media files associated with it. Playing an advertisement would include playing one or more of the media files. Although termed as media files, it is contemplated that a “media file” can be used to describe a file having either (or, both) textual and non-textual content. Advertisement media file(s) 220E are typically named uniquely so that the STB can identify them for provisioning. An average advertisement media file 220E can be 20 MB for a 30 second high definition video. Advertisement media file(s) can be provided by advertisers to the remote server.
In some embodiments, lookup table 320 can be updated by an advertisement determination client application 335 communicably coupled to the STB. Lookup table 320 can include information identifying advertisement packages pertinent to a STB.
In some embodiments, the STB (e.g., API module 325) requests the remote server for the ADR file (alternatively referred to herein as advertisement delivery file). Upon receiving the ADR file, the STB (e.g., the advertisement determination client application 335) parses the ADR file to identify ADR IDs based on correlating the metadata included in the ADR file with the metadata associated with the targeted advertisement data stored in the STB to determine advertisement media files that are a “good fit” or otherwise pertinent for the STB.
In some embodiments, the request for advertisement media files is sent via an application programing interface (API) module 325 electronically coupled to the STB. The request may also include information identifying the STB.
Some of the embodiments described herein are described in the general context of methods or processes, which may be implemented in one embodiment by a computer program product, embodied in a computer-readable medium, including computer-executable instructions, such as program code, executed by computers in networked environments. A computer-readable medium may include removable and non-removable storage devices including, but not limited to, Read Only Memory (ROM), Random Access Memory (RAM), compact discs (CDs), digital versatile discs (DVD), etc. Therefore, the computer-readable media may include a non-transitory storage media. Generally, program modules may include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types. Computer- or processor-executable instructions, associated data structures, and program modules represent examples of program code for executing steps of the methods disclosed herein. The particular sequence of such executable instructions or associated data structures represents examples of corresponding acts for implementing the functions described in such steps or processes.
Some of the disclosed embodiments may be implemented as devices or modules using hardware circuits, software, or combinations thereof. For example, a hardware circuit implementation may include discrete analog and/or digital components that are, for example, integrated as part of a printed circuit board. Alternatively, or additionally, the disclosed components or modules may be implemented as an Application Specific Integrated Circuit (ASIC) and/or as a Field Programmable Gate Array (FPGA) device. Some implementations may additionally or alternatively include a digital signal processor (DSP) that is a specialized microprocessor with an architecture optimized for the operational needs of digital signal processing associated with the disclosed functionalities of this application. Similarly, the various components or sub-components within each module may be implemented in software, hardware or firmware. The connectivity between the modules and/or components within the modules may be provided using any one of the connectivity methods and media that is known in the art, including, but not limited to, communications over the Internet, wired, or wireless networks using the appropriate protocols. For example, the communications can include any combination of local area and/or wide area networks, using wired and/or wireless communication systems. The networks could use any or more protocols/technologies: Ethernet, IEEE 802.11 or Wi-Fi, worldwide interoperability for microwave access (WiMAX), cellular telecommunication (e.g., 3G, 4G, 5G), CDMA, cable, digital subscriber line (DSL), etc. Similarly, the networking protocols may include multiprotocol label switching (MPLS), transmission control protocol/Internet protocol (TCP/IP), User Datagram Protocol (UDP), hypertext transport protocol (HTTP), simple mail transfer protocol (SMTP), and file transfer protocol (FTP). Data exchanged over the one or more networks may be represented using technologies, languages, and/or formats including hypertext markup language (HTML) or extensible markup language (XML). In addition, all or some links can be encrypted using conventional encryption technologies such as secure sockets layer (SSL), transport layer security (TLS), and Internet Protocol security (IPsec).
The foregoing description of embodiments has been presented for purposes of illustration and description. The foregoing description is not intended to be exhaustive or to limit embodiments of the present invention to the precise form disclosed, and modifications and variations are possible in light of the above teachings or may be acquired from practice of various embodiments. The embodiments discussed herein were chosen and described in order to explain the principles and the nature of various embodiments and its practical application to enable one skilled in the art to utilize the present invention in various embodiments and with various modifications as are suited to the particular use contemplated. The features of the embodiments described herein may be combined in all possible combinations of methods, apparatus, modules, systems, and computer program products.
Patent | Priority | Assignee | Title |
Patent | Priority | Assignee | Title |
6757661, | Apr 07 2000 | NetZero | High volume targeting of advertisements to user of online service |
7552458, | Mar 29 1999 | The DIRECTV Group, Inc | Method and apparatus for transmission receipt and display of advertisements |
7577979, | Mar 31 1999 | Microsoft Technology Licensing, LLC | System and method for synchronizing streaming content with enhancing content using pre-announced triggers |
8234350, | Dec 19 2011 | SEACHANGE INTERNATIONAL, INC | Systems and methods for generating targeted manifest files |
20020052969, | |||
20020083441, | |||
20040003402, | |||
20090210899, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Apr 03 2018 | CAVANAUGH, MICHAEL J | DISH NETWORK L L C | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 057291 | /0013 | |
Aug 16 2021 | DISH Network L.L.C. | (assignment on the face of the patent) | / |
Date | Maintenance Fee Events |
Aug 16 2021 | BIG: Entity status set to Undiscounted (note the period is included in the code). |
Date | Maintenance Schedule |
Jan 10 2026 | 4 years fee payment window open |
Jul 10 2026 | 6 months grace period start (w surcharge) |
Jan 10 2027 | patent expiry (for year 4) |
Jan 10 2029 | 2 years to revive unintentionally abandoned end. (for year 4) |
Jan 10 2030 | 8 years fee payment window open |
Jul 10 2030 | 6 months grace period start (w surcharge) |
Jan 10 2031 | patent expiry (for year 8) |
Jan 10 2033 | 2 years to revive unintentionally abandoned end. (for year 8) |
Jan 10 2034 | 12 years fee payment window open |
Jul 10 2034 | 6 months grace period start (w surcharge) |
Jan 10 2035 | patent expiry (for year 12) |
Jan 10 2037 | 2 years to revive unintentionally abandoned end. (for year 12) |