Multiple playback local ad rotation

According to some aspects, disclosed methods and systems may include storing, in a local storage of a device, a plurality of advertisements; and outputting for display first content comprising a first portion of a first set of advertisements associated with a first campaign period. The disclosed methods and system may also include, in response to an expiration of the first campaign period, outputting for display second content comprising a second portion of the first set of advertisements based on a first set of one or more advertising rules.

BACKGROUND

Content providers have long sought to determine how to maximize revenue derived from advertisements, while minimizing costs associated with bandwidth and network usage. There is an ever-present need to maximize the amount of advertisements shown to a content user, while minimizing the use of network resources.

BRIEF SUMMARY

The following presents a simplified summary of the disclosure in order to provide a basic understanding of some aspects. It is not intended to identify key or critical elements of the disclosure or to delineate the scope thereof. The following summary merely presents some concepts of the disclosure in a simplified form as a prelude to the more detailed description provided below.

One or more aspects of the disclosure provide for a method that may include storing, in a local storage of a device, a plurality of advertisements; and outputting for display first content comprising a first portion of a first set of advertisements associated with a first campaign period. The method may also include, in response to an expiration of the first campaign period, outputting for display second content comprising a second portion of the first set of advertisements based on a first set of one or more advertising rules.

One or more aspects of the disclosure provide for a method that may include receiving, by a device via a network, content, a set of one or more advertising rules, and advertisements associated with the content and the set of one or more advertising rules; and disconnecting, by the device, from the network. The method may also include in response to accessing the content for a first time while disconnected from the network, accessing a first portion of the advertisements based on the set of one or more advertising rules; and in response to accessing the content subsequent to the first time while disconnected from the network, accessing a second portion of the advertisements based on the set of one or more advertising rules.

One or more aspects of the disclosure provide for a method that may include storing, in a local storage of a device while the device is in an online state, a plurality of advertisements. The method may also include, in response to outputting content during a first campaign period while the device is in an offline state, outputting for display a first portion of a set of advertisements associated with the first campaign period stored on the device; and in response to outputting content during a second campaign period while the device is in an offline state, outputting for display a second portion of the set of advertisements associated with the second campaign period stored on the device.

DETAILED DESCRIPTION

As will be appreciated by one of skill in the art upon reading the following disclosure, various aspects described herein may be embodied as a method, a computer system, or a computer program product. Accordingly, those aspects may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, such aspects may take the form of a computer program product stored by one or more computer-readable storage media having computer-readable program code, or instructions, embodied in or on the storage media. Any suitable computer readable storage media may be utilized, including hard disks, CD-ROMs, optical storage devices, removable storage media, solid state memory, RAM, magnetic storage devices, and/or any combination thereof. In addition, the functionality may be embodied in whole or in part in firmware or hardware equivalents, such as integrated circuits, field programmable gate arrays (FPGAs), and the like. Various signals representing data or events as described herein may be transferred between a source and a destination in the form of electromagnetic waves traveling through signal-conducting media such as metal wires, optical fibers, and/or wireless transmission media (e.g., air and/or space).

FIG. 1illustrates an example communication network100on which many of the various features described herein may be implemented. The network100may be any type of information distribution network, such as satellite, telephone, cellular, wireless, etc. One example may be an optical fiber network, a coaxial cable network, or a hybrid fiber/coax distribution network. Such networks100use a series of interconnected communication links101(e.g., coaxial cables, optical fibers, wireless, etc.) to connect multiple premises102(e.g., businesses, homes, consumer dwellings, etc.) to a local office or headend103. The local office103may transmit downstream information signals onto the links101, and each premises102may have a receiver used to receive and process those signals.

There may be one or more links101originating from the local office103, and it may be split a number of times to distribute the signal to the various premises102in the vicinity (which may be many miles) of the local office103. The links101may include components not illustrated, such as splitters, filters, amplifiers, etc. to help convey the signal clearly, but in general each split introduces a bit of signal degradation. Portions of the links101may also be implemented with fiber-optic cable, while other portions may be implemented with coaxial cable, other lines, or wireless communication paths. By running fiber optic cable along some portions, for example, signal degradation may be significantly minimized, allowing a single local office103to reach even farther with its network of the links101than before.

The local office103may include an interface104, such as a termination system (TS). More specifically, the interface104may be a cable modem termination system (CMTS), which may be a computing device configured to manage communications between devices on the network of the links101and backend devices such as the servers105-107(to be discussed further below). The interface104may be as specified in a standard, such as the Data Over Cable Service Interface Specification (DOCSIS) standard, published by Cable Television Laboratories, Inc. (a.k.a. CableLabs), or it may be a similar or modified device instead. The interface104may be configured to place data on one or more downstream frequencies to be received by modems at the various premises102, and to receive upstream communications from those modems on one or more upstream frequencies.

The local office103may also include one or more network interfaces108, which can permit the local office103to communicate with various other external networks109. These networks109may include, for example, networks of Internet devices, telephone networks, cellular telephone networks, fiber optic networks, local wireless networks (e.g., WiMAX), satellite networks, and any other desired network, and the network interface108may include the corresponding circuitry needed to communicate on the external networks109, and to other devices on the network such as a cellular telephone network and its corresponding cell phones.

As noted above, the local office103may include a variety of servers105-107that may be configured to perform various functions. For example, the local office103may include one or more push notification servers105. The push notification server105may generate push notifications to deliver data and/or commands to the various premises102in the network (or more specifically, to the devices in the premises102that are configured to detect such notifications).

The local office103may also include one or more content servers106. The content server106may be one or more computing devices that are configured to provide content to users at their premises. This content may be, for example, advertisements (such as commercials), video on demand movies, television programs, songs, text listings, etc. The content server106may include software to validate user identities and entitlements, to locate and retrieve requested content, to encrypt the content, and to initiate delivery (e.g., streaming or downloading) of the content to the requesting user(s) and/or device(s). The content server106may also be configured to generate advertising decisions and rules, and transmit them to a requesting user or device.

The local office103may also include one or more application servers107. An application server107may be a computing device configured to offer any desired service, and may run various languages and operating systems (e.g., servlets and JSP pages running on Tomcat/MySQL, OSX, BSD, Ubuntu, Redhat, HTML5, JavaScript, AJAX and COMET). For example, an application server may be responsible for collecting television program listings information and generating a data download for electronic program guide listings. As another example, the application server or another server may be responsible for monitoring user viewing habits and collecting that information for use in selecting advertisements. As another example, the application server or another server may be responsible for formatting and inserting advertisements in, for example a video stream being transmitted to the premises102. Yet the application server or another application server may be responsible for associating interactive components into and with content and/or advertisements. Although shown separately, one of ordinary skill in the art will appreciate that the push server105, the content server106, and the application server107may be combined. Further, here the push server105, the content server106, and the application server107are shown generally, and it will be understood that they may each contain memory storing computer executable instructions to cause a processor to perform steps described herein and/or memory for storing data.

An example premises102a, such as a home, may include an interface120. The interface120can include any communication circuitry needed to allow a device to communicate on one or more links101with other devices in the network. For example, the interface120may include a modem110, which may include transmitters and receivers used to communicate on the links101and with the local office103. The modem110may be, for example, a coaxial cable modem (for coaxial cable lines101), a fiber interface node (for fiber optic lines101), twisted-pair telephone modem, cellular telephone transceiver, satellite transceiver, local Wi-Fi router or access point, or any other desired modem device. Also, although only one modem is shown inFIG. 1, a plurality of modems operating in parallel may be implemented within the interface120. Further, the interface120may include a gateway interface device111. The modem110may be connected to, or be a part of, the gateway interface device111. The gateway interface device111, such as a gateway, may be a computing device that communicates with the modem(s)110to allow one or more other devices in the premises102a, to communicate with the local office103and other devices beyond the local office103. The gateway interface device111may be a set-top box, digital video recorder (DVR), computer server, or any other desired computing device. The gateway interface device111may also include (not shown) local network interfaces to provide communication signals to requesting entities/devices in the premises102a, such as the display devices112(e.g., televisions), the additional set-top boxes or the DVRs113, the personal computers114, the laptop computers115, the wireless devices116(e.g., wireless routers, wireless laptops, notebooks, tablets and netbooks, cordless phones (e.g., Digital Enhanced Cordless Telephone—DECT phones), mobile phones, mobile televisions, personal digital assistants (PDA), etc.), the landline phones117(e.g. Voice over Internet Protocol—VoIP phones), and any other desired devices. Examples of the local network interfaces include Multimedia Over Coax Alliance (MoCA) interfaces, Ethernet interfaces, universal serial bus (USB) interfaces, wireless interfaces (e.g., IEEE 802.11, IEEE 802.15), analog twisted pair interfaces, Bluetooth interfaces, and others.

FIG. 2illustrates general hardware elements that can be used to implement any of the various computing devices discussed herein. The computing device200may include one or more processors201, which may execute instructions of a computer program to perform any of the features described herein. The instructions may be stored in any type of computer-readable medium or memory, to configure the operation of the processor201. For example, instructions may be stored in a read-only memory (ROM)202, a random access memory (RAM)203, a removable media204, such as a Universal Serial Bus (USB) drive, compact disk (CD) or digital versatile disk (DVD), floppy disk drive, or any other desired storage medium. Instructions may also be stored in an attached (or internal) storage205, such as a hard drive. The computing device200may include one or more output devices, such as a display206(e.g., an external television), and may include one or more output device controllers207, such as a video processor. There may also be one or more user input devices208, such as a remote control, keyboard, mouse, touch screen, microphone, etc. The computing device200may also include one or more network interfaces, such as a network input/output (I/O) circuit209(e.g., a network card) to communicate with an external network210. The network input/output circuit209may be a wired interface, wireless interface, or a combination of the two. In some embodiments, the network input/output circuit209may include a modem (e.g., a cable modem), and the external network210may include the communication links101discussed above, the external network109, an in-home network, a provider's wireless, coaxial, fiber, or hybrid fiber/coaxial distribution system (e.g., a DOCSIS network), or any other desired network. Additionally, the device may include a location-detecting device, such as a global positioning system (GPS) microprocessor211, which can be configured to receive and process global positioning signals and determine, with possible assistance from an external server and antenna, a geographic position of the device.

FIG. 2shows an example hardware configuration. Modifications may be made to add, remove, combine, divide, etc., components as desired, and some or all of the elements may be implemented using software. Additionally, the components illustrated may be implemented using basic display devices and components, and the same components (e.g., the processor201, the ROM202, the display206, other input/output devices, etc.) may be used to implement any of the other display devices and components described herein. For example, the various components herein may be implemented using display devices having components such as a processor executing computer-executable instructions stored on a computer-readable medium (e.g., the storage205), as illustrated inFIG. 2.

Having described examples of network environments and content consumption devices that may be used in implementing various aspects of the disclosure, several examples will now be described in greater detail illustrating how a display device may monitor user actions during an advertisement, a display device may restrict a user's control of the display device during an advertisement, and efficacy file reports are created and used. The consumption device, which may be a user's tablet computer, personal computer, smartphone, DVR, or any other computing device as described herein, may monitor any client-side interaction with the user during an advertisement, such as detecting a change in audio level or order of display elements. In other examples, the display device may prohibit a user from muting an advertisement during play.

FIG. 3illustrates a system300for providing content, such as entertainment content and advertising content, from a content service to an application, in accordance with one or more disclosed features described herein. In particular, the system300may include a Content Service302, which may located or associated with headend103, and/or may be a configuration of one or more computing devices or servers, such as the servers105,106, and107. The Content Service302may include a Content Server304, the Ad Server/Ad Content Delivery Network306, and the Remote Ad Decision Server308. The system300may also include an application310, which may be, for example, part of or included in a device301, such as a mobile device or computing equipment, which may be associated with the premises102. Device301may be similar to or the same as computing device200, display device112, modem110, gateway interface111, landline phone117, wireless device116, set-top box/DVR113, personal computer114, laptop computer115, or combinations thereof. The application310may be a client application and may include the Content Receiving Circuitry312, a Local Ad Decision Logic314, an Entertainment Content Component316, an Advertising Content Component318, a Content Player320, and a Statistical Analysis Logic322. The Content Service302may be operably connected to the application310through a network, such as the network100.

According to some aspects, the application310may receive content, such as video, audio, and advertisements, from the Content Service302. For example, as shown by step331, content, such as entertainment video content (e.g., music, television show episodes, movies, sporting events, etc.), may be transmitted (e.g., streamed or downloaded) from the Content Service302, such as from the Content Server304, and stored on the application310, such as in the Content Receiving Circuitry312.

As shown by step333, advertising decisions, which may be advertising rules comprising instructions for controlling the accessibility and insertion of advertising in, for example, entertainment content, may be transmitted (e.g., streamed or downloaded) from the Content Service302, such as from Remote Ad Decision Server308, and stored on the application310, such as in the Content Receiving Circuitry312. The advertising rules may contain various configuration settings and instructions for advertising delivery and playback. For example, the rules may include instructions for selecting targeted advertisements for a user and/or device. This will be explained in more detail below. The configuration instructions may be downloaded as part of a content download, such as with entertainment or advertising content, and may contain various configuration settings and data for the content delivery. The configuration data may include information identifying a timeline for the content, and indicating what advertisements are scheduled to be presented, and at what playback times they are to be presented. The configuration information may also identify an address for one or more advertising servers, such as the Ad Server/Ad Content Delivery Network306and the Remote Ad Decision Server308, which may receive reports of the user's advertisement consumption behavior, for example.

The rules may also allow the application310to determine which portions of the video content constitute advertisements, and may also allow the application310to determine the viewing parameters to monitor for the advertisement, such as the whether it is obstructed, audio level, order, and the like. For example, it may be desirable for content providers to obfuscate where advertisements begin and end so that individuals may not construct unauthorized devices to detect and bypass the ads. However, the rules may include certain trusted authorities that are provided with data associated with information concerning when ads start and stop within a particular program stream. This may be contained within an encrypted header and/or periodically be disbursed in the program content stream. It may also be distributed out of band by the content provider and associated with certain content streams. In certain circumstances, the advertisement content information may include time codes, block frame codes and/or other MPEG data identifying certain segments which contain advertisements. This identifying information may then be utilized to push out ads either in real time and/or during DVR and/or VOD playback of the content to keep the ads fresh and current with an advertising campaign. The rules may include a list of advertisements, the location from where the advertisements may be acquired, as well as the rules for what, when, and how the advertisements may be played back. The rules may include whether advertisements may be played back multiple times or only once, whether advertisements can stop playing after a number of days, or if the advertisements can never stop playing. The rules may also include whether advertisements start on a particular day, such as a particular number of days after download, before and/or after a particular day, such as a holiday or birthday, and the like. The rules may also include a maximum or minimum number of times an advertisement may be displayed, such as during a piece of content or before the advertisement is replaced with another advertisement during a refreshing period. The rules may also include how advertisements may be displayed with respect to one another. For example, advertisements from two different car manufacturers may not be played adjacent to one another, and the rules may reflect this (e.g., competitive adjacency). The rules can also reflect which advertisements the advertisers are paying the most to display, and may provide these advertisements with priority. The rules may also include a location of a user and/or device, and determine advertisements based on the location. The rules may also include information regarding a type of device and/or a value associated with the device, and determine whether to play advertisements associated with expensive/inexpensive products based on the type of device and/or the value associated with the device and/or a predicted user of the device.

As shown by step332, other content, such as advertising content (e.g., advertisements), may be transmitted (e.g., streamed or downloaded) from the Content Service302, such as from the Ad Server/Ad Content Delivery Network306, and stored on the application310, such as in the Content Receiving Circuitry312. Advertising content may comprise many kinds of content, such as a video and/or audiovisual advertisement (e.g., television commercials, movie previews, product or service commercials, etc.), an audio advertisement, a still image advertisement (e.g., a web banner advertisement), an interactive advertisement (e.g., an interactive television (ITV) enabled banner advertisement), and/or a combination thereof. For example, advertisement content may include linear television commercials (e.g., broadcast commercials scheduled to play at a particular time and on a particular channel), on-demand commercials (e.g., commercials delivered with video on demand (VOD), video from a digital video recorder (DVR), and/or other advertisements dynamically inserted in content such as VOD, Linear TV, DVR programs, program guide content, and/or other content such as content displayed using a web browser application, Internet television player application (e.g., advertisements delivered using an Internet Protocol television (IPTV)), smart phone, tablet, watch, car display, and/or other content display devices. User devices may run a web browser and/or Internet player. Advertisement content displayed in web browsers and/or Internet players may include still image advertisements (e.g., a picture, such as a banner advertisement or other mobile advertisement), online video advertisements, audio advertisements, and/or combinations thereof.

Any content item (e.g., advertisements, video, audio, image, and the like) may be available on multiple platforms, such as cell phone-based platforms, set top box based platforms, and the like. For example, an advertisement from a company may be available as a linear television advertisement, an advertisement inserted into a video on demand program, and/or a web banner advertisement. A single location (such as the local office103) may process content items for all of the available types of platforms. Alternatively, different locations may process content items having different types of platforms. For example, a content server, such as the server106may handle content items configured to be displayed by a display device of a terminal such as a set-top box113. These content items may include, for example, a video commercial for a linear television show, a video commercial for an on demand movie, and other types of content presentable by the terminal. A network server, on the other hand, may handle content items configured to be displayed on a web browser application and/or Internet media application running on a device. These content items may include, for example, web banners, online video clips, and other types of content displayable using a web browser or other Internet media application.

By tracking a user's activities throughout multiple platforms, an advertising server may target an advertising campaign at the user using multiple different devices and multiple content streams to deliver a unified and managed advertising campaign tailored to a specific user through multiple sources and organized in a coherent manner until a certain predetermined number of impressions of each segment of the advertising campaign have been presented to a particular user.

Referring again to step332, the Ad Server/Ad Content Delivery Network306may use instructions transmitted to the Content Receiving Circuitry312to determine, for example, which types of advertisements to transmit to the application310, such as used in a targeting scheme. This will be discussed in greater detail below. According to some aspects, content transmitted from the Content Service302may be performed via a network (online state), such as the network100, and may be performed via communication link101. Alternatively or additionally, after content has been transmitted to the application310, a device that is associated or includes the application310may be disconnected from the network (offline state), such as the network100. In this aspect, content and advertisements may be downloaded and stored on the device301and/or the application310

After content, such as entertainment content, advertising content, and advertising decisions, has been transmitted to the application310, content may be played back using, for example, the application310. For example, at step334, advertising decisions may be provided to the Local Ad Decision Logic314from the Content Receiving Circuitry312, at step335, entertainment content may be provided to the Entertainment Content Component316from the Content Receiving Circuitry312, and/or at step336, advertising content may be provided to the Advertising Content Component318from the Content Receiving Circuitry312. After a user, for example, requests to play a desired piece of content, such as a sitcom episode, the Content Player320may pull the episode from the Entertainment Content Component316shown by step337, and may begin to play and display the episode for the user. In response to this request to play the content, the Content Player320may then call (e.g., function call) the Local Ad Decision Logic314, shown by step338, for instructions regarding, for example, which advertisements to play, where to insert advertisements in the content, and the like. The Local Ad Decision Logic314may then examine the advertising rules provided to it by the Content Receiving Circuitry312and may instruct Content Player320based on these rules. Using these instructions, the Content Player320may select and play advertisements, such as provided by the Advertising Content Component318shown by step339.

According to some aspects, as shown by step340, statistical data may be captured by the application310, such as by the Statistical Analysis Logic322. Statistical data may include data related to a profile of a user, device profile associated with the device, user habits, viewed content, device information, stored content, geolocation associated with a user or the device (using, e.g., a GPS device, such as the GPS211), and the like. Statistical data may also include information derived from analyzing which types of content a user has on a device, a frequency or a number of times a user accesses a particular piece of content, and the like. Statistical data may also include information regarding advertisements displayed and/or not displayed on, for example, the device301. Additionally, statistical data may include information regarding which advertisements may have been played while the device301is in an offline state. In general, statistical data may be any information used in the targeting of advertisements, and may form a basis of the advertising rules that control the display of advertisements.

For example, information regarding whether a user has actually watched an advertisement may be included in the statistical data. This may include information regarding whether a user fast forwarded through an advertisement, which point during the advertisement the fast forwarding began, how much of the advertisement was watched in either a regular speed, a fast forward speed, or a slow-motion speed, whether a user rewound content to view an advertisement content again, and the like. In this aspect, beacon events may be used to determine how much of an advertisement was played, and this may be used to determine if a particular advertisement or group of advertisements was actually viewed and/or heard. For example, measurement of data for each of the advertisement views and a percentage of the advertisement views may be determined. For example, if an advertisement lasts 60 seconds, a metric event may be determined at the 0, 15, 30, 45, and 60 second mark. If a beacon event associated with this advertisement is set to register the advertisement as being “viewed” at 30 seconds, then when a user, for example, initiates a fast forwarding of the advertisement at 10 seconds, the metric event taken at the 15 second mark may not satisfy the beacon event of having viewed the advertisement for 30 seconds (e.g., in regular speed). However, if the user initiates a fast forwarding at 35 seconds, then the metric event taken at the 45 second mark will satisfy the beacon event of 30 seconds. Metric events and beacon events may be set to be any specific length or period of time. Additionally, other aspects besides fast forwarding may be used, such as pausing, slow motion, rewinding, muting, switching to other content, switching to another application, turning a device or application on/off, and the like.

Additionally, statistical data may include information regarding interactive components associated and/or integrated with content, such as advertisements (e.g., direct response advertisements). For example, while an advertisement is playing, an interactive component, such as a clickable link or picture, may be integrated with the advertisement. If a user accesses, such as by clicking, the link or picture, the user may be brought to, for example, a website, associated with the advertisement or may be presented with a coupon or discount associated with the advertisement. Additionally, with regard to the beacon event aspect, if a user were to access an interactive component before the beacon event threshold mark, such as at 15 seconds for a 30 second beacon event in the previous example, the advertisement may be counted as being “viewed,” and the beacon event may be satisfied. Alternatively, the beacon event may not be satisfied even if an interactive component may have been accessed, and thus may require a metric event be determined at a predetermined second mark.

According to some aspects, as shown by step341, the Statistical Analysis Logic322may transmit information, such as statistical data, back to the Content Service302, such as to the Remote Ad Decision Server308. The Statistical Analysis Logic322may transmit statistical data to the Content Service302after the device301connects to a network. For example, while the device301is in an offline state, the Statistical Analysis Logic322may collect and store statistical data on the device301and/or the application310. Stored statistical data may be locally used by the Local Ad Decision Logic314to update some of the advertising rules stored locally on the device301and/or the application310. This aspect will be discussed further below. After some of the advertising rules may have been updated, the Local Ad Decision Logic314may implement these updates, such as in real-time, after a subsequent request to play a piece of content, while a piece of content is currently playing, while a piece of content is not currently playing, and the like. For example, if statistical data determines that the device301includes a lot of content associated with sports, then some of the advertisement rules may be modified and/or supplemented to reflect this. The Local Ad Decision Logic314may then instruct the Content Player320to play advertisements associated with sports either, for example, immediately, at the next advertisement break, at a subsequent time the content is displayed, not at all, and the like. If the device301is connected to a network, for example, then the stored statistical data may be transmitted to the Remote Ad Decision Server308. The Remote Ad Decision Server308may then provide updated or additional rules to the Content Receiving Circuitry312based on the statistical data. For example, as in the above sports example, the Remote Ad Decision Server308may transmit to the Content Receiving Circuitry312instructions to play, for example, more advertisements related to sports. Then the Ad Server/Ad Content Delivery Network306may use these updated rules to determine, for example, which types of advertisements to transmit to the Content Receiving Circuitry312. The updated rules may then be used by the Local Ad Decision Logic314to instruct the Content Player320to play particular advertisements from the Entertainment Content Component316.

Note thatFIG. 3is merely an example. The configuration ofFIG. 3may be added to, modified, or rearranged to fit the needs of an advertiser, service provider, and/or display device. The same is true for the other examples and processes described herein.

FIG. 4is an exemplary flow diagram illustrating an example process400of providing content and advertisements from a content service to an application, in accordance with one or more disclosed features described herein. In one or more embodiments, the process illustrated inFIG. 4and/or one or more steps thereof may be performed by one or more computing devices (e.g., the device301, servers associated with the Content Service302, and the like). In other embodiments, the process illustrated inFIG. 4and/or one or more steps thereof may be embodied in computer-executable instructions that are stored in a computer-readable medium, such as a non-transitory computer-readable memory. The steps in this flow chart need not all be performed in the order specified and some steps may be omitted and/or changed in order.

In the example provided, process400may begin with step402, in which the device301may connect to a network, such as the network100, which may be associated with the Content Service302. The network may connect the device301to the Content Service302. For example, the Content Service302may transmit information, such as content and rules, to the device301, which may then use an application, such as the application310, to access the content and/or rules.

In step404, content, such as entertainment content, may be received by the device301. This content may be transmitted to the device301, such as to the Content Receiving Circuitry312, from the Content Service302, such as from the Content Server304. The content may either be downloaded by the device301and/or streamed from the Content Service302. For example, the content may be delivered and subsequently downloaded using a HTTP Live Streaming (HLS) fragmented video format. HLS format may provide an easy modification after a piece of content is downloaded by the device301, which may enable the application310to insert, interweave, or “stitch in” advertising or other content into a piece of content (e.g. at the beginning, during, or after the playback of the content). According to some aspects, the content format comprises linear video, on demand video, or DVR video. Thus, advertisements can be inserted linearly in the middle of a video based on the advertising rules. Additional video formats and protocols for delivery may be used, such as FTP, UDP, MPEG, DVB, H.264, and the like.

In some embodiments, the device301may download content having an accessibility period (AP). The accessibility period may be a period of time or a number of times a piece of content may be played. For example, a piece of content with an accessibility period of two weeks may be viewed for two weeks before having to connect to the Content Service302to, for example, update a license agreement before continuing to watch that piece of content. Additionally, a piece of content with an accessibility period of thirty views may be viewed for thirty times before having to connect to the Content Service302to, for example, update a license agreement. Thus, the device301may not come back online (i.e., connect to the Content Service302), for the entire duration of an accessibility period of a piece of content.

In step406, advertising rules may be received by the device301. The advertising rules may be transmitted to the device301, such as to the Content Receiving Circuitry312, from the Content Service302, such as from the Remote Ad Decision Server308. The advertising rules may be either downloaded by the device301and/or streamed from the Content Service302. The advertising rules may contain various configuration settings and instructions for advertising delivery and playback. The advertising rules may interact and/or be associated with the metadata of advertisements delivered to the device301, such as when targeting using targeted advertisements. For example, statistical data, such as information related to device310or a user of device310, may be used to create, modify, or supplement advertising rules. The advertising rules may include instructions on which advertisements to play when the device301is in an offline state. Thus, as in the above example, where the content has an accessibility period, the device301may not come back online for the entire duration of an accessibility period of a piece of content, the advertising rules may be used to determine which advertisements to play during the offline period. Thus, if a piece of content has an accessibility period of two weeks, then the rules may determine which advertisements to play, for example, for the first three days, the next three days, the next five days, and so on. Additionally, the rules may determine which advertisements to play based on statistical data associated with the device301and/or a user associated with the device301.

In step408, advertisements may be received by the device301. The advertisements may be transmitted to the device301, such as to the Content Receiving Circuitry312, from the Content Service302, such as from the Ad Server/Ad Content Delivery Network306. The advertisements may be either downloaded by the device301and/or streamed from the Content Service302. The Ad Server/Ad Content Delivery Network306may communicate with the Remote Ad Decision Server308and/or the Content Receiving Circuitry312for advertising rules, and use the advertising rules to determine which advertisements to transmit to the device301. The advertisements may include metadata which may be related to targeting, which may be controlled and/or associated with the advertising rules. Thus, as in the above example, if a piece of content has an accessibility period of two weeks and device302includes a substantial amount of content related to sports, then the Ad Server/Ad Content Delivery Network306may send to the Content Receiving Circuitry312enough advertisements to cover the entire two week period, and these advertisements may include advertisements associated with sports, such as advertisements related to sports bars, football, and BBQ grills, and the like. Thus, the application310may adapt to different rules to play different advertisements at different times when, for example, in an offline scenario. Alternatively or additionally, the above recited steps may be performed for advertisements that are streamed to the device301through a network from, for example, the Content Service302.

In step410, the device301and/or the application310may optionally disconnect from the network or be disconnected from each other in any other way. Alternatively or additionally, the device301and/or the application310may optionally disconnect or connect to a network (or each other in any other way) after any of the steps in process400.

In step412, the application310may optionally collect statistical data, for example by using the Statistical Analysis Logic322. Statistical data may be used to create advertisements and/or advertising rules personalized or specific for a device or user associated with a device. Statistical data may include, data related to a profile of a user, device profile associated with the device, user habits, viewed content, device information, stored content, geolocation associated with a user or the device (using, e.g., a GPS device, such as the GPS211). Statistical data may also include information derived from analyzing which types of content a user has on a device, a frequency or a number of times a user accesses a particular piece of content, and the like. Statistical data may also include information regarding advertisements displayed and/or not displayed on, for example, the device301. Additionally, statistical data may include information regarding which advertisements may have been played while the device301is in an offline state

Additionally, statistical data may optionally be collected while disconnected or connected from the network, and may be collected after any of the steps in process400.

At step414, a request to play content, such as entertainment content, may be received by the application310. For example, a user may download an episode of a sitcom, such as from the Content Server304, and then a day later, may decide to display and view the episode using the application310on the device301. A user may then select the episode to watch. The device301may be in an online or offline state when a user requests to play content. As stated above, a piece of content may be associated with an accessibility period, which may limit the amount of time or number of views associated with the content. Thus, if a user selects to display the content within the accessibility period, then the content may be displayed to the user. If a user selects to display the content outside of the accessibility period, then the content may not be displayed to the user.

At step416, it may be determined whether the request to play the content was made during a campaign period associated with the content. A campaign period may be associated with a measurement model used for broadcasters and video publishers, such that credit or currency may be given for content (such as advertising) while being broadcasted (i.e., live over TV), and subsequently on platforms that allow for streaming and/or downloading of the content after it has been broadcasted (i.e., on-demand, DVR, subscription based download, etc.) For example, after a show has been broadcasted, the show may be implemented for on-demand or DVR services on, for example, a digital platform. Thus, any viewing of a piece of content that takes place within the campaign period may count toward the credit or currency associated with the piece of content. The credit or currency may be, for example, used in determining how much to charge for a piece of content. A campaign period may be associated with any content. For example, a C3 campaign period metric may correspond to a time period of three days (72 hours) after a piece of content, such as a show, has been broadcasted. C5 may correspond to a period of 5 days, and so on. After the expiration of the 72 hours, a C3 campaign period may end. Thus, if a user requests to play the show within the C3 campaign period of 72 hours after broadcast, then the request is made during the campaign period. Alternatively, the campaign period can have a predetermined start and end date for a validity period.

Additionally or alternatively to the campaign period being a period of time, the campaign period may be set at a number of “displays” of the content. For example, for a piece of content having a campaign period of twelve “displays,” the user may request that piece of content up to twelve times, and still be considered to have made the request within the campaign period. If, for example, the user requests the content a thirteenth time, the thirteenth request may be considered outside of the campaign period, because the campaign period may have expired after the twelfth request. In some embodiments, it may be determined that a request of a piece of content may not count as a “display” until a user has viewed a particular percentage of the content and/or advertisements associated with the content. In one example, a device may need to play 66% of the content and/or advertisements associated with the content to be considered a “display.” However, any such percentage may apply.

Additionally or alternatively, some of the advertisements transmitted to the device301from the Ad Server/Ad Content Delivery Network306may be associated with the campaign period and some may not be associated with the campaign period. For example, an advertisement may be associated with the campaign period if it was played during the original broadcast. In another example, an advertisement may be associated with the campaign period if the advertising rules specify that the advertisement may be played during the campaign period.

Further, an advertisement not associated with a campaign period may be played after expiration of the campaign period. For example, after downloading a piece of content, the advertising rules may determine/instruct that three advertisement breaks are needed for that piece of content, and the Ad Server/Ad Content Delivery Network306may send three pods of advertisements to the application310—a pre-roll pod of advertisements for before the content, a mid-roll pod of advertisements for during the content, and a post-roll pod of advertisements for after the content. Each pod may be composed of 4 advertisements, for example. One skilled in the art would recognize that any number of pods and/or advertisements per pod may be used with the features disclosed herein and that advertisements may be inserted into content at any insertion point in the content and not just the three listed above. Thus, in one example, the Remote Ad Decision Server308may determine that the content has an accessibility period of one week, and has a campaign period of three days (C3). The Remote Ad Decision Server308may then transmit rules based on this information to the Content Receiving Circuitry312, and the Ad Server/Ad Content Delivery Network306may then send advertisements to the Content Receiving Circuitry312based on these rules. For example, the Ad Server/Ad Content Delivery Network306may send 24 advertisements to the Content Receiving Circuitry312, with 12 initial advertisements (i.e., three pods of four advertisements each) being associated with the campaign period of C3, and may send 12 subsequent advertisements that may not be associated with the campaign period of C3. Thus, for any requests received by the application310to display this content within the C3 campaign period, at least a portion of the 12 initial advertisements may be inserted into the content and displayed. For any requests received at the expiration of the C3 campaign period (i.e., post 72 hours after broadcast), at least a portion of the 12 secondary advertisements may be inserted into the content and displayed. In some embodiments, the advertisements associated with the campaign period (e.g., the 12 initial advertisements as in the above example) may constitute advertisements that may not have been broadcasted. In some embodiments, the advertisements played after the expiration of the campaign period (e.g., the 12 secondary advertisements as in the above example) may comprise advertisements associated with the campaign period. For example, if it is determined that the device301includes a substantial amount of sports content, then a sports advertisement associated with the campaign period may be played after the expiration of the campaign period (i.e., a targeted advertisement). This may be implemented using statistical data, a modification of the advertising rules, and the like. Additionally, in some embodiments, the advertisements that are not associated with the campaign period may be associated with the campaign period. For example, if it is determined that the device301includes a substantial amount of sports content, then a sports advertisement not associated with the campaign period may be played during the campaign period (i.e., a targeted advertisement).

If it is determined at step416that the request for content is within a campaign period associated with the content, then the process continues to step418. In step418, advertisements associated with the campaign period may be played and displayed, such as described in the above examples. After playing the requested content and the advertisements, the process returns to step412to collect statistical data. The statistical data may include any of the information described above. The statistical data may include, for example, information regarding how many times the user played a piece of content within a campaign period, how long the user displayed the content for each request, whether the user selected an interactive component of an advertisement, whether the user has downloaded/accessed any additional content, and the like. The process then continues through steps414-416. If it is determined at step416that the request for content is outside of a campaign period associated with the content, then the process continues to step420.

In step420, statistical data may be collected again. The statistical data may include any of the information described above. The statistical data may include, for example, information regarding how many times the user played a piece of content within a campaign period, how long the user displayed the content for each request, whether the user selected an interactive component of an advertisement, whether the user has downloaded/accessed any additional content, and the like.

In step422, it may be determined whether the device301and/or the application310may be connected to a network and/or to the Content Service302. If it is determined at step422that the device may be in an online state, then the process continues to step424. At step424, any portion of the collected statistical data may be, for example, transmitted to the Content Service302, such as to the Remote Ad Decision Server308. Then process400continues to step426. If it is determined at step422that the device may be in an offline state, then the process continues to426. One skilled in the art would recognize that the device301may be connected to the network at any time, and it is not required to be at any specific time or in the order shown inFIG. 4.

At step426, advertising rules, such as on Remote Ad Decision Server308or the Local Ad Decision Logic314, may be revised, modified, supplemented, or added based on, for example, the statistical information. Step426may be performed in an offline or online state. For example, if a user continues to watch a child's show over and over, then the rules may be updated to reflect this (i.e., based on a user's viewing habits), and may modify the rules to indicate playing more branding advertising instead of direct response advertising. In some embodiments, no modification may be needed (e.g., because a child may not be able to respond to a direct response advertisement and/or may not understand a direct response advertisement). The Local Ad Decision Logic314may then instruct Content Player320to play advertisements during a subsequent display of the content using either the modified advertising rules (step428) or unmodified advertising rules (step430).

In step432, statistical data may be collected again. At step434, it is determined whether any items, such as content, rules, and/or advertisements are to be updated and/or refreshed by the Content Service302. If it is determined at step434that there may be no update, then the process returns to step414. At step414, the process may continue with a previous campaign period or with a subsequent campaign period. Please note, even though the campaign period may have expired, the campaign period may be extended based on the collected statistical data. For example, if it is determined that the user has a substantial amount of sports related content on the device, and there are one or more sports related advertisements associated with the first campaign period on the device, then the application310may extend the campaign period (such as using updated/revised advertising rules) to play the sports related advertisements. Additionally, based on the rules, advertisements may become associated with a campaign period. For example, if is determined that a user's device has a substantial amount of sports related content, then advertisements related to sports that were not previously associated with a campaign period, may become associated with a campaign period using the advertising rules. Alternatively or additionally, the sports related advertisements associated with the campaign period may be played after the expiration of the campaign period.

If it is determined at step434that any items, such as content, rules, and/or advertisements are to be updated by the Content Service302, the process continues to step436. At step436, the device301and/or the application310may connect to the network and/or the Content Service302. At step438, statistical data may be transmitted to the Remote Ad Decision Server308, which may be used to update advertising rules which may be used for advertising decisions. At step440, updates may be implemented on the Content Service302using, for example, the stored statistical data. The process then returns to step404, where the device301may receive content from the Content Service302.

Note thatFIG. 4is merely an example. The steps ofFIG. 4may be added, modified, removed, combined, divided, or rearranged to fit the needs of an advertiser or display device. The same is true for the other examples and processes described herein.

FIG. 5illustrates a schematic chart500showing how advertisements may be stitched-in, interweaved, and/or inserted into content, in accordance with one or more features described herein. The chart500may include the advertisement/content segments,502,514, and526, which may illustrate a displaying of advertisements and content at different times. The segment502may include one or more advertisement pods, such as the pods504,508, and512, and one or more content parts506aand506b. The segment514may include one or more advertisement pods, such as pods516,520, and524, and one or more content parts506aand506b. The segment526may include one or more advertisement pods, such as pods528,532, and536, and one or more content parts506aand506b. The content parts506aand506bmay be different parts of a single piece of content, such as two parts of an episode of a sitcom. The one or more advertisement pods may include one or more advertisements, and may include an equal or non-equal number of advertisements in each pod. For example, the pod504may include 6 advertisements, pod508may include 5 advertisements, and pod512may include 1 advertisement.

As stated above, the pods504,508,512,516,520,524,528,532, and536and the content parts506aand506bmay be downloaded on a device, such as the device301, and used by an application, such as the application310. In one example, the segment502may be associated with a campaign period, such as the C3 metric described above. Thus, for a period of three days from the content's broadcast, advertisements shown in the segment502may be associated with the C3 metric. After the expiration of the three days, a playback sequence may resemble the segment514, in which a new set of pods, which may or may not include some of the advertisements associated with the C3 metric, may be inserted into content and displayed. Advertisements associated with the segment514may be associated with a different campaign period, such as a campaign period of displaying the content a predetermined number of times (e.g., 1, 2, 15, or 200 times, etc.). It is noted that advertisements may be associated with multiple campaign periods. Advertisements may also be displayed and/or reused based on campaign period, statistical data, advertising rules, and the like. Further, the advertisements associated with the segment514may not be associated with a campaign period. Additional advertisements may be displayed based on, for example, statistical data. As stated above, advertisements may be reused after the expiration of a campaign and/or at a different time period. Advertisements in the segment526, for example, may occur subsequent to any campaign periods associated with the segments502and/or514, and may contain a portion of the advertisements used in the segments502and/or514.

In some embodiments, the pods504,508, and512may be received by the device301as a first set of advertisements, the pods516,520, and524may be received as a second set of advertisements, and the pods528,532, and536may be received as an “ith” set of advertisements. The first set of advertisements may be interwoven into content, such as the content parts506aand506b. At another time period, the second set of advertisements may be interwoven into content, such as the content parts506aand506b. At another time period, the ith set of advertisements may be interwoven into content, such as the content parts506aand506b. In such embodiments, the device301and/or the application310may or may not be connected to a content service, such as the Content Service302, and/or to a network, such as the network100, which may be associated with a content service, such as the Content Service302.

In accordance with one or more of the features described herein, content may be downloaded to a device, such as the device301. The content may be subscription based, such as a user or device subscribing to a premium channel or service. Content may be downloaded and then played for a predetermined time period while the device may not be connected to a network. The device may not come back online for the entire duration of the accessibility of that content. Once reconnected to the network, the content may be refreshed, and the offline viewing period may be extended. Thus, there may be a long duration of time in which a device may not be able to obtain fresh content. Thus multiple advertising loads for a single content asset may be downloaded, such as at a single time or during multiple times, and can be selected for display in a piece of content at different times while the device is offline. Advertisement may have different periods of validity, and after a period of validity, advertisements may or may not be shown again. When a device is offline, there may not be a way to call a remote advertisement service to determine which advertisements to play. Advertising decisions may need to be made in real-time and on demand. Thus, when playing a piece of content on a streaming service, part of the communication received by the device may include decisions regarding which advertisements to play for the content that is about to be played. These decisions can be received from, for example, a remote advertisement server or from a local advertisement decision service resident on a device, where the local advertisement decision service may use rules that have been downloaded to the device. The local advertisement decision service may instruct a content player to play advertisements stored on the device. The local advertisement decision service may provide various types of advertisement responses to adapt to different rules to play different advertisements at different times in an offline scenario. Advertisements stored on a device may be selected on the basis of stored content on the device. These advertisements then may be dynamically inserted into content, such as content stored on the device, based on advertising rules. Alternatively, the local advertisement decision service may instruct a content player to play advertisements streamed to the device.

In accordance with one or more of the features described herein, a piece of content may be played multiple times in an offline content, and advertisements displayed with that content may be changed during different display periods for the context. Multiple advertisement loads may be downloaded and stored along with advertising rules that may be associated with the downloaded advertisements. The rules may determine, for example, the way in which advertisements may be rotated. The playback device may respond to those rules and replace the advertisements according to those rules when the content is played multiple times.