Method, computer system, and computer program for media consumption gap filling (gap filling using personalized insertable media)

The method and system for personalized media consumption gap filling address the issue of reduced engagement during program wait times by using AI to provide relevant content from a user's personalized corpus, enhancing enjoyment and viewing time.

JP7740833B2Active Publication Date: 2025-09-17INTERNATIONAL BUSINESS MACHINE CORPORATION
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
JP2021187994
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2020-11-20
Filing Date
2021-11-18
Publication Date
2025-09-17
Estimated Expiration
2041-11-18

AI Technical Summary

Technical Problem

Users experience a gap in media consumption when waiting for a desired program to start, leading to reduced engagement and enjoyment.

Method used

A method and system for personalized media consumption gap filling that identifies and presents relevant content from a user's personalized media corpus during this waiting period, using AI to analyze preferences and generate a tailored media experience.

Benefits of technology

Enhances user engagement by providing personalized content during program wait times, increasing viewing enjoyment and time on streaming platforms.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007740833000001
    Figure 0007740833000001
  • Figure 0007740833000002
    Figure 0007740833000002
  • Figure 0007740833000003
    Figure 0007740833000003
Patent Text Reader

Abstract

To help a user receive personalized media content while waiting for a desired program to start.SOLUTION: Notification that a first user has selected a first broadcast channel to view while the first broadcast channel is showing a first program may be received. A desired program scheduled to be presented via the first broadcast channel at a time after an end of the first program may be determined. A first duration may be calculated that starts at a current time and ends at a scheduled time of commencement of the desired program. First gap-filling content that has a duration sufficient to fill the first duration may be identified. The first gap-filling content may be from a first personalized media corpus associated with the first user. The first gap-filling content may be presented.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates generally to the field of media consumption, and more particularly to the field of media consumption in a hybrid streaming environment. Summary of the Invention [Problem to be solved by the invention]

[0002] To assist a user in receiving personalized media content while waiting for a desired program to start. [Means for solving the problem]

[0003] According to one exemplary embodiment, a method for media consumption gap filling is provided. The method may include receiving a notification that a first user has selected and is viewing a first broadcast channel while the first broadcast channel is displaying a first program. A desired program scheduled to be presented via the first broadcast channel at a time after the end of the first program may be determined. A first time period may be calculated, the first time period beginning at a current time and ending at a scheduled time for the start of the desired program. First gap-filling content may be identified, the first gap-filling content having a duration sufficient to fill the first time period. The first gap-filling content may be from a first personalized media corpus associated with the first user. The first gap-filling content may be presented. Computer systems and computer program products corresponding to the above method are also disclosed herein. [Brief explanation of the drawings]

[0004] These and other objects, features and advantages of the present invention will become apparent from the following detailed description of illustrative embodiments thereof, which is to be read in connection with the accompanying drawings. Various features of the drawings are not to scale for clarity purposes to facilitate understanding of the invention by those skilled in the art together with the detailed description.

[0005] [Figure 1] 1 illustrates a networked computer environment according to at least one embodiment.

[0006] [Figure 2] 1 is an operational flowchart illustrating a process for media consumption gap filling, according to at least one embodiment.

[0007] [Figure 3A] 1 is an operational flowchart illustrating a process for adding to a corpus of personalized media via social media connections, according to at least one embodiment.

[0008] [Figure 3B] 1 is an operational flowchart illustrating a process for skipping media components during presentation of personalized media content for gap filling, according to at least one embodiment.

[0009] [Figure 4A] 1 is an operational flowchart illustrating a process for adding to a personalized media corpus associated with a first user, according to at least one embodiment.

[0010] [Figure 4B] 1 is an operational flowchart illustrating a process for determining whether desired media content has started on a particular broadcast channel, according to at least one embodiment.

[0011] [Figure 5] FIG. 2 is a block diagram of internal and external components of the computer and server shown in FIG. 1 according to at least one embodiment.

[0012] [Figure 6]2 is a block diagram of an exemplary cloud computing environment including the computer system shown in FIG. 1, according to one embodiment of the present disclosure.

[0013] [Figure 7] FIG. 7 is a block diagram of functional layers of the exemplary cloud computing environment of FIG. 6, in accordance with one embodiment of the present disclosure. DETAILED DESCRIPTION OF THE INVENTION

[0014] Although detailed embodiments of the claimed structures and methods are disclosed herein, it should be understood that the disclosed embodiments are merely exemplary of the claimed structures and methods, which may be embodied in various forms. However, the present invention may be embodied in many different forms and should not be construed as limited to the exemplary embodiments described herein. Rather, these exemplary embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the invention to those skilled in the art. In the description, details of well-known features and techniques may be omitted to avoid unnecessarily obscuring the presented embodiments.

[0015] The exemplary embodiments described below provide a computer system, method, and computer program product for media consumption gap filling. Accordingly, the present embodiments have the potential to improve the technical field of hybrid streaming for media consumption by assisting users, e.g., cord cutters, to access and view more personalized media, increasing their viewing enjoyment and increasing their viewing time on streaming platforms. The present embodiments assist users in receiving personalized media content while waiting for a desired program to start.

[0016] Referring to FIG. 1, an exemplary networked computing environment 100 according to one embodiment is illustrated. The networked computing environment 100 may include a computer 102 with a processor 104 and a data storage device 106 capable of executing a software program 108 and a media consumption gap-filling program 110a. The networked computing environment 100 may also include a server 112 capable of executing a media consumption gap-filling program 110b, which may interact with a database 114 and a communications network 116. The networked computing environment 100 may include multiple computers 102 and servers 112, only one of which is shown. The communications network 116 may include various types of communications networks, such as a wide area network (WAN), a local area network (LAN), a telecommunications network, a wireless network, a public switched network, or a satellite network, or combinations thereof. It should be understood that FIG. 1 provides only an illustration of one implementation and does not imply any limitations with regard to the environments in which different embodiments may be implemented. Many modifications to the depicted environment may be made based on design and implementation requirements.

[0017] The client computers 102 may communicate with the server computer 112 via a communications network 116. The communications network 116 may include connections such as wired, wireless communication links, or fiber optic cables. As described with reference to FIG. 5 , the server computers 112 may each include internal components 902a and external components 904a, and the client computers 102 may each include internal components 902b and external components 904b. The server computers 112 may also operate in a cloud computing service model such as Software as a Service (SaaS), Platform as a Service (PaaS), or Infrastructure as a Service (IaaS). The server 112 may also be located in a cloud computing deployment model such as a private cloud, a community cloud, a public cloud, or a hybrid cloud. The client computers 102 may be, for example, a mobile device, a phone, a personal digital assistant, a netbook, a laptop computer, a tablet computer, a desktop computer, or any type of computing device capable of running programs, accessing a network, and accessing a database 114. According to various implementations of this embodiment, the media consumption gap filling program 110a, 110b may interact with a database 114, which may be incorporated into various storage devices, such as, but not limited to, the computer / mobile device 102, a networked server 112, or a cloud storage service.

[0018] Digital media streaming companies may offer a combination of recorded content, live content, such as sporting events, award shows, news programs, messages from government leaders, and newly premiered programs or episodes that users can view. Because these digital media streaming services are typically accessed over the Internet, users can also easily access vast amounts of content from video sources such as YouTube® before and after using the digital media streaming service. Hybrid streaming may include services that allow users to access and view all of such recorded content, live content, newly premiered programs, newly aired episodes, and Internet-accessible content.

[0019] According to this embodiment, a user using the client computer 102 or the server computer 112 may use a media consumption gap-filling program 110a, 110b (respectively) that presents the user with personalized media from a personalized corpus of insertable media content for viewing during the gap before a program the user desires to watch begins. The media consumption gap-filling method is described in more detail below with respect to Figures 2, 3A, 3B, 4A, and 4B. The media consumption gap-filling program 110a, 110b may help streaming services better hold customers' attention while they wait for a desired program to start.

[0020] Referring now to FIG. 2, an operational flowchart illustrating a media consumption gap filling process 200 used by the media consumption gap filling programs 110a and 110b is shown, according to at least one embodiment.

[0021] In step 202 of the media consumption gap filling process 200 shown in FIG. 2, a user and a service provider opt in to participate in the media consumption gap filling program 110a, 110b. Multiple users may opt in to participate in the media consumption gap filling program 110a, 110b. Opting in may involve the user downloading the media consumption gap filling program 110a to a personal computer, such as the computer 102 shown in FIG. 1, or to another media viewing device of the user, such as a smart TV or smartphone. Opting in may involve the service provider downloading the media consumption gap filling program 110b to a server 112 used by or owned by the service provider. Alternatively, the service provider's opt-in may involve the service provider downloading another portion of the program while a third party runs and controls the media consumption gap filling program 110b on the server 112. Opting in informs the user that consent means the media consumption gap-filling program 110a, 110b will record and analyze the user's future media viewing choices to prepare better gap-filling recommendations and selections for the user. Opting in may include requesting the user's age so that the media consumption gap-filling program 110a, 110b can make media selections appropriate for the user's age. For example, adult content or content from programs rated TV-MA will not be presented to young people or children via the media consumption gap-filling program 110a, 110b. The opt-in process may prevent minors from opting in without parental consent.

[0022] In step 204 of the media consumption gap filling process 200 shown in FIG. 2, a respective personalized media corpus is generated for the first user and each user who opts in. The personalized media corpus for the first user may be referred to as a first personalized media corpus. The personalized media corpus may include insertable media content, which may include media that can be accessed and inserted into the user's computer / television / viewing device. The user's viewing history may be analyzed by the artificial intelligence of the media consumption gap filling programs 110a, 110b to generate the personalized media corpus. For example, if a viewer recently watched a VHS transfer of comedy show X on YouTube®, the artificial intelligence of the media consumption gap filling programs 110a, 110b may load a segment of a different, more recent comedy show, such as a 10-minute segment, created by an actor in comedy show X or the creator of comedy show X as gap-filling content for that viewer / user. The artificial intelligence may use links between the same actors and the same genre (comedy in the above example) between two shows as triggers for the selection of adding a clip or segment or episode of a more recent, different comedy show to a personal corpus of personal insertable media content for the user / viewer.

[0023] The personal media corpus of insertable media content may include summary content of media previously viewed by the user. The personal corpus of insertable media content may include the beginning of a first media content and the end of a first media content previously viewed by the first user. The media consumption gap-filling program 110a, 110b may integrate media fragments from different media platforms. The media consumption gap-filling program 110a, 110b may retrieve social media videos, such as videos from YouTube®, Instagram®, or TikTok®, or a combination thereof, to build a personalized corpus of insertable media content associated with the user. Instagram® and TikTok® videos may necessarily be short in length based on the time limits built into the Instagram® and TikTok® platforms for videos. For example, these videos may be less than two minutes long. YouTube® videos may be short in length, e.g., less than two minutes, or longer. The media consumption gap-filling programs 110a, 110b may also retrieve videos of medium length, e.g., 2 to 15 minutes, to add to a personal corpus of insertable media content associated with the user. Such medium-length videos may be from social media, short videos from a streaming corpus, or entire television programs with or without commercial breaks and advertisements within such commercial breaks. The media consumption gap-filling programs 110a, 110b may also retrieve videos of longer length, e.g., 15 minutes or more, to add to a personal corpus of insertable media content associated with the user. Such longer videos may be from social media, entire or portions of longer videos, long television or broadcast programs, or YouTube® videos.

[0024] For a user who regularly watches Program X, videos in the personal corpus of insertable media content may include summaries of previous episodes of Program X this season or may include summaries of previous seasons of Program X, where the summaries are produced by the producer of Program X or an independent, authorized third party.

[0025] The personal corpus may also include new videos from content creators to whom the user subscribes on YouTube®, sports highlight packages featuring highlights from recent games of the user's favorite sports teams, portions of content from other programs or videos that the user previously started but did not finish, or nature-related programs or other programs about animals in which the user is interested, such as dogs, or a combination thereof.

[0026] A graphical user interface may be generated by the media consumption gap-filling program 110a, 110b to ask the user which programs the user plans to watch regularly. This input viewing data may be used by the media consumption gap-filling program 110a, 110b to identify related media content that may be added to a personal corpus of insertable media content for the user.

[0027] Generating the personalized media corpus in step 204 may involve the media consumption gap-filling program 110b analyzing user-provided media preferences, which may be obtained when the user opts in to the media consumption gap-filling program 110a, 110b. For example, if the user opts in, the user may indicate preferences for sketch comedy, parkour videos, all media featuring a particular actor or actress, all media related to a particular sport or sports team, all media related to a particular music or dance group, etc. Opting in may also include the user indicating which programs the user regularly watches, so that the user profile stored by the media consumption gap-filling program 110b can quickly recognize when the user is waiting to watch that program and would like personalized media displayed while they are waiting. The preferences indicated by the user and collected by the media consumption gap-filling program 110b may then be compared with metatags or tags provided in the video or other media, or with the title of the video or other media. For example, some media may include tags for a particular sports team, a particular actor, or a particular animal, and these tags may help the media consumption gap-filling program 110b match such tagged media to users who have indicated preferences for those media types or tags. The media guide may include a description language or tags that the media consumption gap-filling program 110b can compare to keywords stored in the user's gap-filling profile, for example, stored in database 114. Step 204 may include topic analysis and natural language processing, e.g., Word2Vec processing, of keywords from user preferences or keywords from the user's viewing history and compare them with tags of available media content and new media content, such as media presented on social media. If a media element's metatags or tags match the user profile, the media element may be added to the user's personalized media corpus.

[0028] A personal media corpus associated with a user may be stored in a memory, for example, a database 114, so that the media consumption gap filling program 110b can access the personalized media corpus and retrieve media content from the personal corpus. In some cases, rather than storing entire media files in the database 114, links to media content or directions for accessing the media content may be stored in the database 114. If links or directions for access are stored in the database 114, the media consumption gap filling program 110a, 110b may periodically check the links or directions for access to ensure that the media content is still available at those links. If the media content is no longer accessible, the media consumption gap filling program 110a, 110b may exclude or delete the links or directions for access from the personal corpus of insertable media content.

[0029] Step 204 of the media consumption gap filling process 200 may include part of the social media connection process 300 shown in FIG. 3A. In the social media connection process 300, step 302 receives a designation that a user selects one or more of their social media connections to have access to add media content to a personalized media corpus associated with the first user. The selected social media connections may be considered contributors to the personal media corpus associated with the first user. In step 304, the designated social media connections select videos or other media to share with the user. This shared video / media may be referred to as friend media content. In step 306, the shared video / media is added to the personalized media corpus associated with the first user so that the friend media content may be available to be displayed to the user as gap-filling content while the user waits to watch the desired program. The media consumption gap filling program 110a, 110b may retrieve the user's social media account, the user's email account, or the user's device to find messages, links, or posts containing media content from the designated connections or contributors. This captured media may then be added to a media corpus personalized for the user.

[0030] Step 204 of the media consumption gap filling process 200 may also include a media addition from similar users process 400, as shown in FIG. 4A. In step 402 of the media addition from similar users process 400, multiple user profiles may be clustered according to the media consumed and according to the user preferences provided by each user. This clustering may include feeding user profile data into a clustering algorithm, such as a K-NN algorithm or a K-means algorithm. In the K-means algorithm, profiles are divided into clusters or buckets. A K-nearest neighbor function may be used on the found new media element, outputting an indication of which cluster is closest to the data point of the new media element. In step 404, a second user profile within a first cluster of multiple user profiles may be searched for. The first user's profile may also be present in the first cluster. The second user profile may represent a second user. A separate or second personal media corpus of insertable media content may be associated with the second user. In step 406, media content elements from the second personalized media corpus associated with the second user may be added to the first personalized media corpus associated with the first user. This clustering may help the media consumption gap filling program 110a, 110b more accurately predict what types of media will be of interest to the user and find new and interesting media to add to the user's personalized media corpus.

[0031] In step 206 of the media consumption gap filling process 200 shown in FIG. 2, user presets are received for fuzzy or specific content presentation. The user presets may include a first user preset from a first user. The first user preset may include a preference for flexible gap filling or a strict end of gap filling. Flexible gap filling allows the presentation of gap-filling media content to extend beyond the scheduled time of the start of the desired viewing program. Such flexible gap filling may sometimes be referred to as fuzzy content presentation. Strict end of gap filling causes the presentation to end at the scheduled time of the desired content or the start of the desired viewing program. Strict end may be referred to as specific content presentation for gap filling. The media consumption gap filling program 110b may store the user presets for the specific user in a memory associated with the media consumption gap filling program 110b, for example, in the database 114.

[0032] 2, a user's media consumption device is turned on. If the media consumption device is turned off, a notification may be sent, for example, by the media consumption gap filling program 110b, when the media consumption device is subsequently turned on and its status changes from off to on.

[0033] In step 210 of the media consumption gap filling process 200 shown in FIG. 2, desired content to be presented in the future is determined. The user desires to view the content in the future, e.g., in the near future, e.g., within the next 30 minutes. Determining the desired content may include receiving a notification that a user has selected and is watching a first broadcast channel while the first broadcast channel is displaying a first program. The selection may include a user, e.g., a first user, changing a media consumption device to the first broadcast channel. The selection may include a user, e.g., a first user, changing a media consumption device to the first broadcast channel and leaving the media consumption device on the first broadcast channel for a specific period of time, e.g., 5 seconds or more, 10 seconds or more. The selection may include a user logging in to a channel before a specific upcoming program that is predicted to be popular. The selection may include a user opening a digital TV guide and scrolling to a specific upcoming program. The scrolling may include a user leaving a cursor over an entry for the specific upcoming program for a time exceeding a specific threshold, e.g., 10 seconds. The desired content or program may, in some cases, be referred to as a second program. This determination in step 210 may be determining a desired program scheduled to be presented over a first broadcast channel at a time after the end of a first program that already began when the user utilized the streaming platform or utilized the media consumption gap-filling program 110a.

[0034] In some embodiments of step 210, determining the desired content may include receiving notification that the user changed the media consumption device to or logged into a first broadcast channel at some point during the previous program after the end of the previous program and before the last commercial break that airs before the scheduled start of the desired content. Because an average commercial break may be approximately four minutes, in some embodiments of step 210, determining the desired content may include receiving notification that the user changed the media consumption device to or logged into a first broadcast channel at some point during the previous program at least four or five minutes before the scheduled start time of the desired content. In other embodiments of step 210, determining the desired content may include receiving notification that the user changed the media consumption device to or logged into a first broadcast channel at any point during the previous program, e.g., during the last commercial break between the first program and the desired program, or before the scheduled start time of the desired content.

[0035] Step 210 of the media consumption gap filling process 200 may involve the media consumption gap filling program 110a, 110b directly asking the user to input which program the user desires. This question may be presented via a GUI on the user's device screen or presented to the user audibly via a smart speaker with a microphone. Each response may be provided by the user typing on a keyboard, by the user scrolling through an online keyboard using a remote control, or by the user speaking a response that is captured by the microphone.

[0036] Step 210 may also include the artificial intelligence of the media consumption gap-filling program 110a, 110b interpreting the user's behavior, the user's viewing history, the viewing list entered by the user, and the popularity of the broadcast event to determine upcoming programs the user would like to watch, view, or listen to. The artificial intelligence may analyze the cursor position of the computer 102 operated by the user and analyze the similarity of the event to past content viewed by the user. The artificial intelligence may access program ratings and viewership data from recent and past years to more accurately recognize which programs are likely to be popular and likely to become the user's desired viewing content, e.g., the user's desired programs.

[0037] Step 210 may include receiving a selection notification that a first user has selected a first broadcast channel for more than halfway through the duration of the first program. The media consumption gap-filling program 110a, 110b may recognize that the user is not primarily interested in the first program because the first program is already more than halfway through. Therefore, a subsequent program, e.g., an immediately following program that may be referred to as a desired program, may be recognized as a viewing program that the user primarily desires to watch.

[0038] Step 210 may include the media consumption gap-filling program 110a, 110b comparing the similarity between the content of the program currently airing on the channel and the program scheduled to play later on that channel. If the content is substantially different and the media consumption gap-filling program 110a, 110b is already aware of the user's interest in watching the subsequent program, for example, through analysis of user preferences or the user's viewing history, the media consumption gap-filling program 110a, 110b may interpret this as indicating that the user is not interested in watching the currently airing program. If the media consumption gap-filling program 110a, 110b concludes that the media content of the current and subsequent programs differs, the media consumption gap-filling program 110a, 110b may assume that the gap-filling content is desired by the user as a replacement for the current program, which is of no interest to the user.

[0039] Step 210 may include the media consumption gap-filling program 110a, 110b performing a gap-filling necessity likelihood analysis to analyze the likelihood that a user would prefer gap-filling content instead of the currently airing program. This analysis may include the media consumption gap-filling program 110a, 110b using a point-generating system and a point-rating system related to the likelihood that a user would like gap-filling content presented. The points generated for the current broadcast may be based on a certain percentage (e.g., 80%) based on viewing history, user-provided preferences, and the expected number of viewers for the program, and another percentage (e.g., 20%) based on the timing of the user's switching to the channel to watch the currently airing program (e.g., if the currently airing program is already more than halfway through when the user switches to the channel). Viewing history / user-provided preferences / overall program popularity scores may be weighted more heavily than the timing of channel selection. A high likelihood score triggers the media consumption gap-filling program 110a, 110b to assume that gap-filling content is needed or desired. A low likelihood score may cause the media consumption gap-filling program 110a, 110b to assume that gap-filling content is not currently needed or desired.

[0040] Step 210 may also include the user confirming that the program selected by the artificial intelligence of the media consumption gap-filling program 110a, 110b as the desired content is actually the content the user intends to watch or listen to. This confirmation may be performed, for example, by a graphical user interface prompt presented to the user on the computer 102, for example, on the display monitor 924 as shown in FIG. 5 and described below, allowing the user to click a button indicating that the particular program is the desired primary choice. Such confirmation may be requested via a question played by a speaker connected to the computer 102, and the confirmation response may be entered by a microphone connected to the computer 102 or another media device of the user. This audio confirmation may also be performed via a smart speaker that includes a microphone for capturing the user's spoken audio response. By clicking a box or button on the GUI or via an audio response to the smart speaker, the user may confirm or decline the suggestion provided by the media consumption gap-filling program 110a, 110b.

[0041] In one embodiment, a user watches a new episode of program X on channel Z on a particular day, e.g., Tuesday, during the first broadcast of the first two episodes. If the user then changes to channel Z 10 minutes before the scheduled start time of the new episode of program X on the same day later this month, e.g., Tuesday, the media consumption gap-filling program 110a, 110b may recognize or determine that the user is waiting to watch program X, which is scheduled to start in 10 minutes. The media consumption gap-filling program 110a, 110b has saved and recorded the user's viewing of program X from the previous day of the month. If the user changes their media consumption device, e.g., computer 102 or another television or smartphone, to channel Z, the media consumption gap-filling program 110a, 110b further obtains evidence that the user intends to watch program X, which is scheduled to start in 10 minutes. The media consumption gap-filling program 110a may also generate a GUI on the display of the computer 102, asking the user to confirm whether they intend to watch program X, which starts in 10 minutes. In response, the user may operate a box or button in the GUI to confirm or deny confirmation. Such confirmation may also be requested via questions and audio responses played / input by a speaker connected to computer 102.

[0042] The media consumption gap filling program 110a may also generate another GUI on the computer 102 asking the user to confirm whether they would like to watch a personalized video while they wait 10 minutes for a new episode of program X to start.

[0043] In step 212 of the media consumption gap filling process 200 shown in FIG. 2, a period from the current time to the scheduled start of the start of the desired future content is calculated. The desired future content may be a desired program. This period may be considered a first period. A timestamp may be obtained from the current time or from the program when the user selects the desired program. The timestamp may be obtained via the Internet from another reliable time-tracking resource or via time maintained by the computer 102 or server 112. This calculation may involve subtracting the scheduled start time from the current time or the time the user selected the desired program. If a user selects a channel to watch at 7:55 PM and the desired program starts at 8 PM, the period may total 5 minutes. The period may be calculated to the second or rounded to the minute. The media consumption gap filling program 110 a, 110 b may periodically retrieve or access a regularly updated television broadcast schedule to learn the scheduled start times of upcoming programs and the scheduled start times of the desired program. The media consumption gap-filling programs 110 a, 110 b may alternatively or additionally have API connections to cable providers or streaming services to access published broadcast schedules, which receive schedule updates from individual channels and use the updates to create a comprehensive broadcast schedule for all channels.

[0044] In step 214 of the media consumption gap-filling process 200 shown in FIG. 2, gap-filling content that allows for filling a time period is identified from a personalized media corpus associated with the user. This gap-filling content may be first gap-filling content and may have a duration sufficient to fill a first time period, e.g., from the current time to the scheduled start of desired future content, e.g., the start of a desired program. The personalized videos for the gap-filling content may include summaries of previous program episodes from this season of the program, or summaries of previous seasons of the program, new videos from content creators to which the user subscribes on YouTube®, sports highlight packages featuring highlights of recent games of the user's favorite sports team, or portions of content from other programs or videos that the user previously started but did not finish. In some cases, the media consumption gap-filling program 110a, 110b identifies those media elements stored in the personalized media corpus that have the greatest correlation with the desired content, e.g., the desired program. This correlation may be the contextual relevance of the media in the user's personalized media corpus to the desired program. For example, if the desired program is program X, the gap-filling content identified and selected from the personalized media corpus may be all of the media elements or may include media elements that evaluate, summarize, or preview program X. This identified gap-filling content may have a duration that is closest to the first duration of all possible media selections in the user's personal corpus of insertable media content. The selected gap-filling content may be a single media element or an aggregation or concatenation of multiple media elements that together fill the time of the first time period, i.e., that by themselves may not fill all of the first time period, but that together may fill all or substantially all of the time of the first time period.

[0045] Step 214 may include the media consumption gap-filling program 110a, 110b automatically identifying and selecting content from a media corpus personalized for the first user.

[0046] Step 214 may alternatively or additionally include the media consumption gap-filling program 110a, 110b presenting a choice or a variety of choices from the personalized media corpus to the user for selection or confirmation through manual curation. This presentation for manual curation may include the presentation of a graphical user interface (GUI) showing or displaying the choice or choices on the screen of the computer 102 or another device of the user, whereby the user may manually select a choice by clicking a button or scrolling to and then clicking an option. This presentation for manual curation may include audio presentation via a speaker or smart speaker of the user's device or the user's computer 102, whereby the user may manually curate a selection by speaking a response that is captured by a microphone of the computer 102 or another device of the user.

[0047] Step 214 may alternatively or additionally include the media consumption gap filling program 110a, 110b presenting a filler question to the user so that, after receiving a filler response from the user, the media consumption gap filling program 110a, 110b can more easily identify content from the personalized media corpus that is of interest to the user. This presentation of the filler question may include presentation of a graphical user interface (GUI) that represents or displays the filler question on the screen of the computer 102 or another device of the user, so that the user may manually enter a response using a keyboard or mouse. This presentation of the filler question may include audio presentation via a speaker or smart speaker of the user's device or the user's computer 102, so that the user may manually respond to the filler question by speaking a response that is captured by a microphone of the computer 102 or another device of the user. The filler question may relate to a type of desired filler material or a source of desired filler material. In one embodiment, the media consumption gap filler program 110a, 110b asks the user whether they would prefer to watch a preview or summary video related to a program currently airing on a major channel, a segment of an older program airing as a rerun, another video related to dogs and dog care, or another video about the latest celebrity gossip. The filler question may ask whether the user wants to watch only material related to the desired program or any media material of interest to the user.

[0048] Step 214 may include a parental or sensitivity option in which ratings of the desired program are analyzed and age-appropriate gap-filling content is identified according to the TV ratings and the channel on which the desired program is presented.

[0049] In some cases, step 214 may include a dynamic check for new media content that can be immediately added to the personalized media corpus already generated for the user. This dynamic check may search for media components that have a high or strong relationship with the desired program or desired content but have not yet been added to the personalized media corpus. Such a dynamic check may be for newly presented media, for example, media from social media that was not available during the previous generation of the personalized media corpus generated in step 204. If new content is found that has a stronger relationship with the desired program than existing content in the personalized media corpus has with the desired program, step 214 may identify this newly found content as identified gap-filling content that bypasses other content in the user's personalized media corpus. This dynamic check may include topic analysis and natural language processing, e.g., Word2Vec processing, of available media content and event descriptions tagged with new media content, such as media presented on social media. Thus, in this example, user preferences or keywords stored for the user's profile in media consumption gap-filling program 110b may be bypassed, and instead, keywords for the desired program may be compared to new media content tags. Dynamic checks may include rapid scraping of the user's social media accounts, the user's email accounts, or the user's devices to find recently received messages, links, or posts from specified connections or contributors that contain media to add to the user's personalized media corpus.

[0050] In step 216 of the media consumption gap-filling process 200 shown in FIG. 2 , the selected gap-filling content is presented. As part of step 216, the media consumption gap-filling program 110 a, 110 b may begin playing personalized video to the user to fill the time period until the desired content begins, e.g., to fill the 10-minute gap or time period until program X begins. This presentation of gap-filling content may occur on the user's first media consumption device or on the user's second media consumption device, whereby the user intends to watch the desired content on the first media consumption device. The presentation may occur via both video and audio presentation, video-only display, or audio-only playback. In some embodiments, a queue or buffer memory space may be provided on the user's viewing device, e.g., a television or computer 102, that allows gap-filling content to be stored and prepared for playback directly on the user's device.

[0051] In step 206, if a user preset for flexible gap filling was received, presentation may begin a short time after the scheduled start time of the desired content if the gap-filling content has not ended. Such overlap with the program time of the desired content may be 30 seconds, 1 minute, 2 minutes, or other time fractions. In some cases, the media consumption gap-filling program 110a, 110b may have DVR functionality so that the desired content can be displayed from the beginning even if the media consumption gap-filling program 110b switches to the desired content a short time after its scheduled start time. In step 206, if the user presets an exact end of the gap filling, the media consumption gap-filling program 110b may switch control of the broadcast channel to a regular broadcast stream exactly at the scheduled start time of the desired content, e.g., the desired program. In such a case, if the desired content is scheduled to start at 8:00 PM, the media consumption gap-filling program 110a, 110b may switch control of the broadcast channel to a regular broadcast stream exactly at 8:00 PM.

[0052] This step 216 may include execution of the media skip process 348 shown in FIG. 3B. In the media skip process 348, step 216 is first executed when gap-filling content is presented, which may include presenting personalized media components to the user during gap filling. In step 352, a skip request is received from the user. The skip request indicates that the user has chosen not to view the personalized media content, e.g., the first gap-filling content, presented during step 216. In step 354, the remaining time of the personalized media component to be skipped is determined. The remaining time may be for an unviewed portion of the first gap-filling content.

[0053] In step 356, additional personalized media content is added to the queue to fill the determined remaining time. As part of this step 356, the additional personalized media content may be identified from a personalized media corpus of insertable media content associated with the first user. The identified additional personalized media content may include, or be referred to as, second gap-filling content. The second gap-filling content may have a playback length referred to as a replacement duration. The queue may be a list of access instructions that the media consumption gap-filling program 110a, 110b may use to find desired media on the Internet or one of the broadcast platforms. The queue may also be memory storage on the user's device that can hold video files to be sent to the user's device as gap-filling content. In step 358, more personalized media is presented to the user during gap filling. The additional personalized media content added to the queue, for example, the second gap-filling content, may be displayed first after a skip or at the end of a sequence of other media displayed from the personalized media corpus associated with the user. Thus, this additional personalized media content may solely fill the remaining time of the first time period, or may fill a portion of the remaining time of the first time period. The skip request performed in step 352 may be made via voice activation captured via a microphone associated with the media consumption gap-filling program 110a, 110b, for example, via a microphone within the computer 102 or another device of the user that may communicate with the computer 102 or server 112 via the communications network 116. The skip request performed in step 352 may be made via a remote control or via an input device, for example, a keyboard, such as keyboard 926 shown in FIG. 5 and described below, of the computer 102 or another device of the user.

[0054] The skip of the media skip process 348 may generate a feedback request to the user whether the user requests a temporary skip or whether the user does not want to view the skipped material at any time in the future, at some point during or after the execution of the media skip process 348. Such a feedback request may be made via a GUI or via a voice request via a smart speaker.

[0055] This step 216 may comprise the final step of the media-to-social connection process 300 shown in Figure 3A, i.e., step 308, in which shared media, e.g., shared videos or friend media content received from the user's designated social media connections are presented. The designated social media connections have been designated as contributors to a personalized media corpus associated with the user.

[0056] In some embodiments, playing the gap-filling content in step 216 may include playing advertisements inserted by the media consumption gap-filling program 110a, 110b. Such advertisements may be shorter than advertisements customarily placed during regular commercial breaks. Such advertisements may consume some, but not all, of the time period filled by the gap-filling content. Such advertisements may consume less than half of the time period filled by the gap-filling content. For example, if the gap-filling content is selected to fill 12 minutes before the start of a desired program, 2 minutes or less of the 12 minutes may be advertisements inserted by the media consumption gap-filling program 110a, 110b, and the remaining 10 minutes or more may be personalized media. Such advertisements selected may have some relationship to the desired program, the gap-filling content, or the user's preferences stored in the user profile.

[0057] If filler questions and filler responses are provided and received in step 214, gap-filling content identified based on the response to the filler question may be presented. For example, if the user responds to the filler question to indicate that the gap-filling media should be videos of dogs, then the gap-filling content presented in step 216 will be all dog videos or will include at least some dog videos.

[0058] In step 218 of the media consumption gap filling process 200 shown in FIG. 2, a question is posed as to whether the user wants to confirm the start of the desired content after the end of the gap filling content. The user may set a preference via a GUI or audio prompts captured by a smart speaker regarding whether the user wants to confirm the start of the desired program. These preferences may be set at the time of the user's opt-in or earlier. The media consumption gap filling program 110 a, 110 b may also ask the user whether they want to confirm the start of the desired content during the gap filling process.

[0059] If step 218 is negative, step 220 of the media consumption gap filling process 200 shown in FIG. 2 confirms the start of the desired content. In at least some embodiments, this confirmation may be made by receiving notification from the user that the desired content has started on a broadcast channel. A graphical user interface may be generated and presented to the user to inquire whether the desired content has started on a broadcast channel, and the user may actuate a confirmation button to confirm viewing. An audio question may be presented to the user via a speaker, and a microphone may then capture a response provided by the user.

[0060] Step 220 may include a desired content broadcast confirmation process 420, shown in FIG. 4B. This desired content broadcast confirmation process 420 may be executed to determine whether the desired content, e.g., a desired program, started after its scheduled start time. The end times of sporting events are often uncertain. These end times may vary depending on the number of timeouts that occur in the game, the number of time stoppages for fouls, video review, or injuries, or whether the game goes into overtime. Such varying end times may interfere with the broadcast schedule entered into the media guide for that day, because broadcasting such a game or match in its entirety may extend beyond the originally intended broadcast window and encroach on the time slot of programs scheduled after the game or match. In some cases, a program may be scheduled to start at a specific time, but does not actually start until some time after the scheduled time entered into the media guide. In such cases, it is useful for the media consumption gap-filling program 110a, 110b to verify that the scheduled program actually started at its scheduled start time. If the actual start time of the desired program is delayed, gap filling may continue.

[0061] The determination or confirmation made in the desired content broadcast confirmation process 420 may include gathering, obtaining, and comparing steps. As part of the desired content broadcast confirmation process 420, step 422 may collect information from a broadcast being played on a first broadcast channel during the desired program's scheduled time. Step 424 may acquire media guide information related to the desired content, e.g., the desired program. Step 426 may compare the collected information to the media guide information. This comparison may be used in a query in step 428 to indicate a match or mismatch of the displayed media compared to the desired content scheduled to be displayed at that time. If the comparison indicates a match in step 428, step 430 may be performed in which more gap-filling content may be identified from a personal corpus of insertable media content associated with the user. This additional gap-filling content may be referred to as second gap-filling content. After step 430, step 224 shown in FIG. 2 may be performed in which more gap-filling content may be played or presented from the personalized media corpus associated with the user. If the comparison indicates no match in step 428, step 226 shown in Figure 2 may be performed in that the desired content, e.g., the desired program, may be played or presented on a first broadcast channel. This playing or presenting may occur on a user's media consumption device, e.g., the first media consumption device.

[0062] Gathering information in step 422 may include gathering audio or visual information from a broadcast being played on a first broadcast channel during the scheduled time of the desired program.

[0063] To collect audio information, the audio output of the program being played may be recorded. The audio recording may then be converted from audio to text to generate converted text. The converted text may then be compared to text and keywords from the media guide information that describe the desired program. If some or many of the keywords match, the media consumption gap-filling program 110a, 110b may assume that the program being broadcast is the desired program. Thus, the user is now able to watch the desired program, and gap-filling is no longer necessary for this repeat viewing of the user. The audio information may also include a recording of a theme song for a regularly scheduled program. The theme song may be recorded in a user profile if the user regularly watches that program. The recorded song may be compared to the song from the recorded broadcast in the profile to determine whether the two songs match, whereby a match indicates that the desired program is actually being broadcast.

[0064] To gather visual information, multiple screenshots of the visual video output of the broadcast may be captured and recorded as images by the media consumption gap filling program 110a, 110b. Natural language processing may be performed on the images by the media consumption gap filling program 110a, 110b to analyze text present in the images. Such text may include the program title presented during the program's introductory segment. The media consumption gap filling program 110a, 110b may then compare the text with titles provided in the media guide information describing the desired program. If the text matches, the media consumption gap filling program 110a, 110b may assume that the program being broadcast is the desired program. Thus, the user is now able to watch the desired program, and gap filling is no longer necessary for this repeat viewing. In some cases, facial images of actors / actresses / participants in the program may be captured in the images. The media consumption gap filling program 110a, 110b may compare these captured images with facial images of actors / actresses / participants shown in the media guide information describing the desired program. If the images match, the media consumption gap-filling program 110a, 110b may assume that the program being broadcast is the desired program, and thus, gap-filling is no longer required for this repeat viewing of the user, as the user is now viewing the desired program.

[0065] In at least some embodiments, the presentation of the first gap-filling content, e.g., the presentation performed in step 216, may continue until the start of the desired content, e.g., the desired program, is confirmed. The confirmation may be performed manually by the user or automatically via a program check, as described below. The first gap-filling content may be played on the user's second device while the media consumption gap-filling program 110a, 110b confirms via the first device that the desired content has started. In some embodiments, the first gap-filling content may be played on the user's first device while the media consumption gap-filling program 110a, 110b confirms via the first device that the desired content has started. The media consumption gap-filling program 110a, 110b may use another media consumption device or another computer to confirm the start of the desired content while the first gap-filling content continues to be presented via the user's first device. Such other device or other computer may be in a remote location near the server 112 or may include the server 112 interpreting a stream from a channel on which the desired content is scheduled to air.

[0066] Step 222 may constitute a question that is a result of the confirmation performed in step 220. The media consumption gap-filling program 110a, 110b may perform step 222 by taking the result from step 220 and making a binary decision of either confirmation or no confirmation.

[0067] If the query at step 222 is negative, then at step 224 of the media consumption gap-filling process 200 shown in FIG. 2 , more gap-filling content from a personalized media corpus associated with the user is played. This additional gap-filling content may be referred to as second gap-filling content. This step 222 may include identifying the second gap-filling content from a personal corpus of insertable media content associated with the first user. The procedure for identification may be similar to the procedure that governs the identification at step 214.

[0068] If step 218 is negative or step 222 is positive, then in step 226 of the media consumption gap-filling process 200 shown in Figure 2, the desired content may be played. As part of this authorization, the media consumption gap-filling program 110a, 110b may terminate all overrides of broadcast content on the desired program's channel, so that the desired program may be freely played and viewed by the user. Because the user is viewing the desired program, there is no longer a current need for the gap-filling content.

[0069] 2, a personalized media corpus associated with the user is updated. This step 228 may include deleting the first gap-filling content viewed by or presented to the user in step 216. This first gap-filling content may be deleted from the personal corpus of insertable media content associated with the first user because the user has viewed it and may not want to view it again. The user may set preferences in the user profile of the media consumption gap-filling program 110a, 110b regarding whether the user is interested in viewing repeats of the media content or whether the content should be deleted from the corpus after it has been viewed.

[0070] Step 228 may also include adding to a personalized media corpus associated with the first user, as performed, for example, in the media addition from similar users process 400 shown in FIG. 4A. Such adding may include clustering multiple user profiles, searching for profiles that match another user's cluster, and adding content from the other user's media corpus to the personalized media corpus associated with the first user. In step 402 of the media addition from similar users process 400, the multiple user profiles may be clustered according to the media consumed. This step 402 may be performed by the media consumption gap filling program 110b, which may access the profiles of various users who have opted in to participate in the media consumption gap filling program 110a, 110b. The clustering may include a K-means approach to clustering using the preferences and viewing histories of the various users. In step 404, a second user profile within a first cluster of the multiple user profiles may be searched for. The first user's profile may also be present in the first cluster. The second user profile may represent a second user. Another or second personal corpus of insertable media content may be associated with the second user. Step 406 may add media content elements from the second personalized media corpus associated with the second user to the first personalized media corpus associated with the first user.

[0071] Step 228 may include part of the social media connection process 300 shown in FIG. 3A. In the social media connection process 300, at step 302, a designation is received that a user selects one or more of their social media connections to have access as contributors to add media content to a personalized media corpus associated with the first user. At step 304, the designated social media connections select videos to share with the user. At step 306, the shared videos / media are added to the personalized media corpus associated with the first user. The shared videos / media may be referred to as friend media content.

[0072] If a skip request is made in which the user requests to skip some of the personalized media content presented in step 216, for example, if the skip is made according to the media skip process 348 shown in FIG. 3B and described above, then in step 228, this skip may be used to assist in updating the personalized media corpus, as occurs in step 228. In such embodiments, this step 228 may include the removal of the skipped content from the personalized media corpus and may include the removal or demotion of other content similar to the skipped content. Such demotion may include other similar material that receives lower priority, for example, in future iterations of step 214, when future gap-filling content is identified. Such removal or demotion may occur, in some embodiments, if the user confirms, via a subsequent input prompt generated by the media consumption gap-filling program 110a, 110b, that the user is not interested in viewing the skipped material in the future. In some cases, the user may be interested in viewing the skipped material in the future, but was not interested in viewing the skipped material at the time it was skipped. A GUI or voice prompt from the media consumption gap-filling program 110a, 110b can help perform this interpretation of the skip action performed by the user. Thus, the skip can constitute a feedback loop to assist the artificial intelligence of the media consumption gap-filling program 110a, 110b in more accurately selecting media components of interest to the user.

[0073] Step 228 may also include a feedback request generated by the media consumption gap-filling program 110a, 110b regarding whether the user enjoyed some of the gap-filling content presented to the user. If the user indicates praise or enjoyment, for example, through a response to a GUI generated by the media consumption gap-filling program 110a, 110b or by providing a voice response to a voice question posed by the media consumption gap-filling program 110a, 110b, the media consumption gap-filling program 110a, 110b may locate media content similar to the praised or enjoyed content and add such similar content to the user's personalized media corpus. Such a feedback request may be generated during a commercial break in the desired program, immediately after the presentation of the gap-filling content, or at a subsequent time, such as the next time the user turns on the media consumption device. Such feedback may be requested by the media consumption gap-filling program 110a, 110b, which may display such feedback on a user-visible GUI and provide a button the user can click indicating "Show me more videos like this." Such feedback may be received by the media consumption gap-filling program 110a, 110b when the user vocalizes into the smart speaker praise or satisfaction with the gap-filling content presented.

[0074] As part of step 228, the user's profile in the media consumption gap-filling program 110a, 110b may be updated to track the user's viewing history and so that the media consumption gap-filling program 110a, 110b can accurately predict when the user is waiting to watch a desired program. For example, if a user watches a lot of media associated with children's or youth programming, the media consumption gap-filling program 110a, 110b may predict that a user who is logged in to a children's or youth channel for part of the program's duration may indicate that the user is waiting for a new program or episode to air on that channel later in the near future. This updated user profile may be used in combination with the personalized media corpus to better fill the user's gaps in media consumption.

[0075] The media consumption gap filling process 200 may be a repeating cycle such that after step 228 is performed, the media consumption gap filling process 200 may return to step 208 as part of the cycle.

[0076] In this disclosure, adding or sharing media content may refer to adding or sharing a link to the content or access instructions for accessing the content that allow a recipient to find the media content without having to first send the entire media file to the user, or alternatively, adding or sharing media content may refer to sending or adding the actual entire media file to a corpus or queue.

[0077] The artificial intelligence used by the media consumption gap filling programs 110a, 110b may use a recurrent neural network architecture to generate target program suggestions, e.g., desired program suggestions, and the creation or addition of a personalized media corpus for each user of the media consumption gap filling programs 110a, 110b. The neural network architecture may use user viewing history, input user viewing preferences, program viewing information, friend media recommendations, and clustering information as inputs to the neural network. When new media elements are input to the neural network, the neural network of the artificial intelligence of the media consumption gap filling programs 110a, 110b may add the new media elements to the personalized media corpus of the user to which the new media elements are deemed to match as an output. When a new user with user preferences and viewing plans or viewing history is input to the neural network, the neural network of the artificial intelligence of the media consumption gap filling programs 110a, 110b may build a personalized media corpus for the user as an output. If a user's immediate program viewing and scrolling characteristics and daily media guide information are input into a neural network along with a user profile, the generated output may be suggested desired programs waiting for the user to watch and suggested gap-filling content for the user while the user waits for the desired program to start. User-provided feedback regarding the gap-filling content and skip requests made by the user may help train the neural network to improve gap-filling content suggestions and more accurately recognize appropriate times for providing intended desired programs and gap-filling content.

[0078] It can be understood that Figures 2, 3A, 3B, 4A, and 4B provide only examples of some embodiments and do not imply any limitations on how different embodiments may be implemented. Many modifications to the illustrated embodiments can be made based on design and implementation requirements.

[0079] Figure 5 is a block diagram 900 of the internal and external components of the computer shown in Figure 1 in accordance with an exemplary embodiment of the present invention. It should be understood that Figure 5 provides only an illustration of one implementation and is not intended to imply any limitations with regard to the environments in which different embodiments may be implemented. Many modifications to the depicted environment may be made based on design and implementation requirements.

[0080] Data processing systems 902, 904 represent any electronic device capable of executing machine-readable program instructions. Data processing systems 902, 904 may represent smartphones, computer systems, PDAs, or other electronic devices. Examples of computing systems, environments, or configurations, or combinations thereof, that may be represented by data processing systems 902, 904 include, but are not limited to, personal computer systems, server computer systems, thin clients, thick clients, handheld or laptop devices, multiprocessor systems, microprocessor-based systems, network PCs, minicomputer systems, and distributed cloud computing environments that include any of the above systems or devices.

[0081] The user client computer 102 and the network server 112 may include respective sets of internal components 902a, 902b and external components 904a, 904b shown in Figure 5. Each of the sets of internal components 902a, 902b includes one or more processors 906 on one or more buses 912, one or more computer-readable RAMs 908 and one or more computer-readable ROMs 910, as well as one or more operating systems 914 and one or more computer-readable tangible storage devices 916. The one or more operating systems 914, software programs 108, and media consumption gap filling program 110a in the client computer 102 and the media consumption gap filling program 110b in the network server 112 may be stored in the one or more computer-readable tangible storage devices 916 for execution by the one or more processors 906 via the one or more RAMs 908 (typically including cache memory). In the embodiment shown in Figure 5, each of the computer-readable tangible storage devices 916 is a magnetic disk storage device of an internal hard drive. Alternatively, each of the computer-readable tangible storage devices 916 is a semiconductor storage device such as ROM 910, EPROM, flash memory, or other computer-readable tangible storage device capable of storing computer programs and digital information.

[0082] Each set of internal components 902a, 902b also includes a R / W drive or interface 918 for reading from and writing to one or more portable computer-readable tangible storage devices 920, such as CD-ROMs, DVDs, memory sticks, magnetic tapes, magnetic disks, optical disks, or semiconductor storage devices. Software programs, such as software program 108 and media consumption gap-filling programs 110a, 110b, may be stored on one or more respective portable computer-readable tangible storage devices 920, read via the respective R / W drive or interface 918, and loaded onto the respective hard drive 916.

[0083] Each set of internal components 902a, 902b may also include a network adapter (or switch port card) or interface 922, such as a TCP / IP adapter card, a wireless Wi-Fi interface card, a 3G or 4G wireless interface card, or other wired or wireless communication link. The software program 108 and media consumption gap-filling program 110a in the client computer 102 and the media consumption gap-filling program 110b in the network server computer 112 can be downloaded from a network (e.g., the Internet, a local area network, or other wide area network) and an external computer (e.g., a server) via the respective network adapters or interfaces 922. From the network adapters (or switch port adapters) or interfaces 922, the software program 108 and media consumption gap-filling program 110a in the client computer 102 and the media consumption gap-filling program 110b in the network server computer 112 are loaded onto their respective hard drives 916. The network may comprise copper wire, optical fiber, wireless transmissions, routers, firewalls, switches, gateway computers, or edge servers, or a combination thereof.

[0084] Each set of external components 904a, 904b may include a computer display monitor 924, a keyboard 926, and a computer mouse 928. The external components 904a, 904b may also include a touch screen, a virtual keyboard, a touchpad, a pointing device, and other human interface devices. Each set of internal components 902a, 902b also includes a device driver 930 for interfacing to the computer display monitor 924, the keyboard 926, and the computer mouse 928. The device driver 930, the R / W drive or interface 918, and the network adapter or interface 922 comprise hardware and software (stored in the storage device 916 or the ROM 910, or both).

[0085] The present invention may be a system, method, and / or computer program product at any possible level of technical detail integration. The computer program product may include a computer-readable storage medium (or media) having computer-readable program instructions thereon for causing a processor to perform aspects of the present invention.

[0086] A computer-readable storage medium may be a tangible device that can hold and store instructions for use by an instruction execution device. The computer-readable storage medium may be, for example, but not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. A non-exhaustive list of more specific examples of computer-readable storage media includes portable computer diskettes, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), static random access memory (SRAM), portable compact disc read-only memory (CD-ROM), digital versatile disc (DVD), memory stick, floppy disk, mechanically encoded devices such as punch cards or groove-embossed structures having instructions recorded thereon, and any suitable combination of the foregoing. As used herein, computer-readable storage media should not be construed as being transitory signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission medium (e.g., light pulses passing through a fiber optic cable), or electrical signals transmitted over electrical wires.

[0087] The computer-readable program instructions described herein can be downloaded from a computer-readable storage medium to each computing / processing device or to an external computer or external storage device via a network, such as the Internet, a local area network, a wide area network, or a wireless network, or a combination thereof. The network may include copper transmission cables, optical fiber transmissions, wireless transmissions, routers, firewalls, switches, gateway computers, or edge servers, or a combination thereof. A network adapter card or network interface in each computing / processing device receives the computer-readable program instructions from the network and forwards the computer-readable program instructions for storage in a computer-readable storage medium in the respective computing / processing device.

[0088] Computer-readable program instructions for carrying out operations of the present invention may be either assembler instructions, instruction set architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, state setting data, configuration data for integrated circuits, or source or object code written in any combination of one or more programming languages, including object-oriented programming languages ​​such as Smalltalk®, C++, and procedural programming languages ​​such as the “C” programming language or similar programming languages. The computer-readable program instructions may be executed entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer via any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer (e.g., via the Internet using an Internet Service Provider). In some embodiments, electronic circuitry including, for example, a programmable logic circuit, a field programmable gate array (FPGA), or a programmable logic array (PLA) may execute computer-readable program instructions by utilizing state information of the computer-readable program instructions to personalize the electronic circuitry to perform aspects of the present invention.

[0089] Aspects of the present invention are described herein with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer-readable program instructions.

[0090] These computer-readable program instructions may be provided to a processor of a computer or other programmable data processing apparatus to produce a machine such that the instructions, executed by the processor of the computer or other programmable data processing apparatus, create means for performing the functions / acts specified in one or more blocks of the flowcharts and / or block diagrams. These computer-readable program instructions may also be stored in a computer-readable storage medium that can direct a computer, programmable data processing apparatus, and / or other device to function in a particular manner, such that a computer-readable storage medium having instructions stored therein comprises a product containing instructions that implement aspects of the functions / acts specified in one or more blocks of the flowcharts and / or block diagrams.

[0091] The computer-readable program instructions may also be loaded into a computer, other programmable data processing apparatus, or other device and cause the computer, other programmable apparatus, or other device to perform a series of operational steps to generate a computer-implemented process, such that the instructions executing on the computer, other programmable apparatus, or other device implement the functions / acts specified in one or more blocks of the flowcharts and / or block diagrams.

[0092] The flowcharts and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present invention. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of instructions, including one or more executable instructions for implementing a specified logical function. In some alternative implementations, the functions shown in the blocks may occur out of the order shown in the figures. For example, two blocks shown in succession may actually be executed as a single step, may be executed concurrently or substantially concurrently, in a partially or fully overlapping manner, or the blocks may be executed in reverse order depending on the functionality involved. It should also be noted that each block of the block diagrams and / or flowchart diagrams, and combinations of blocks in the block diagrams and / or flowchart diagrams, may be implemented by a special-purpose hardware-based system that performs the specified functions or operations or executes a combination of special-purpose hardware and computer instructions.

[0093] Although this disclosure includes detailed descriptions of cloud computing, it will be understood that practice of the teachings described herein is not limited to cloud computing environments. Rather, embodiments of the present invention may be implemented in conjunction with any other type of computing environment now known or later developed.

[0094] Cloud computing is a service delivery model that enables convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, network bandwidth, servers, processing, memory, storage, applications, virtual machines, services) that can be rapidly provisioned and released with minimal administrative effort or interaction with the service provider. This cloud model can include at least five characteristics, at least three service models, and at least four deployment models.

[0095] The features are as follows: On-Demand Self-Service: Cloud consumers can unilaterally provision computing capacity, such as server time and network storage, as needed without the need for human interaction with the service provider. Wide network access: Capabilities are available over the network and accessed through standard mechanisms that facilitate use by heterogeneous thin or thick client platforms (eg, cell phones, laptops, PDAs). Resource Pooling: A provider's computing resources are pooled to serve multiple consumers using a multi-tenant model, with various physical and virtual resources dynamically allocated and reallocated according to demand. Consumers generally have no control or knowledge of the exact location of the provided resources, but do have a sense of location independence in that they may be able to identify locations at a higher level of abstraction (e.g., country, state, data center). Rapid Elasticity: Capacity can be provisioned quickly and elastically, sometimes automatically, quickly scaled out, quickly released, and quickly scaled in. To the consumer, the capacity available for provisioning often appears unlimited and can be purchased in any quantity at any time. Measured Services: Cloud systems automatically control and optimize resource usage by leveraging metering capabilities at a level of abstraction appropriate to the type of service (e.g., storage, processing, bandwidth, active user accounts). Resource usage can be monitored, controlled, and reported, providing transparency to both providers and consumers of the services utilized.

[0096] The service model is as follows: Software as a Service (SaaS): The consumer is offered the ability to use a provider's applications running on a cloud infrastructure. The applications are accessible from a variety of client devices through thin-client interfaces such as web browsers (e.g., web-based email). The consumer does not manage or control the underlying cloud infrastructure, including networks, servers, operating systems, storage, or even individual application functions, except for limited user-specific application configuration settings. Platform as a Service (PaaS): The ability offered to consumers is to deploy applications they create or acquire, written using programming languages ​​and tools supported by the provider, onto a cloud infrastructure. The consumer does not manage or control the underlying cloud infrastructure, including networks, servers, operating systems, or storage, but does control the deployed applications and, in some cases, the configuration of the application hosting environment. Infrastructure as a Service (IaaS): The ability offered to consumers is to provision processing, storage, network, and other basic computing resources on which they can deploy and run any software, which may include operating systems and applications. Consumers do not manage or control the underlying cloud infrastructure, but they do have control over the operating systems, storage, deployed applications, and in some cases, limited control over selected network components (e.g., host firewalls).

[0097] The deployment model is as follows: Private Cloud: Cloud infrastructure is operated solely for the organization, managed by the organization or a third party, and can reside on-premise or off-premise. Community Cloud: Cloud infrastructure is shared by multiple organizations to support a specific community with common concerns (e.g., mission, security requirements, policies, compliance considerations). It may be managed by the organization or a third party and may reside on-premises or off-premises. Public Cloud: Cloud infrastructure is made available to the general public or large industry organizations and is owned by an organization that sells cloud services. Hybrid Cloud: A cloud infrastructure is a composition of two or more clouds (private, community, or public) joined by standardized or proprietary technologies (e.g., cloud bursting for load balancing between clouds) that remain a unique entity but allow for data and application portability.

[0098] Cloud computing environments are service-oriented with an emphasis on statelessness, low coupling, modularity, and semantic interoperability. At the heart of cloud computing is an infrastructure with a network of interconnected nodes.

[0099] Referring now to FIG. 6 , an exemplary cloud computing environment 1000 is shown. As shown, the cloud computing environment 1000 comprises one or more cloud computing nodes 100 with which local computing devices used by cloud consumers, such as, for example, a personal digital assistant (PDA) or mobile phone 1000A, a desktop computer 1000B, a laptop computer 1000C, or an automobile computer system 1000N, or combinations thereof, may communicate. The nodes 100 may communicate with each other. They may be grouped (not shown), physically or virtually, into one or more networks, such as the aforementioned private cloud, community cloud, public cloud, or hybrid cloud, or combinations thereof. This enables the cloud computing environment 1000 to provide infrastructure, platform, or software, or combinations thereof, as a service without the cloud consumer having to maintain resources on their local computing device. It will be understood that the types of computing devices 1000A-N shown in FIG. 6 are intended to be illustrative only, and that the computing node 100 and cloud computing environment 1000 can communicate with any type of computerized device via any type of network or network-addressable connection (e.g., using a web browser), or a combination thereof.

[0100] 7, there is shown a set of functional abstraction layers 1100 provided by the cloud computing environment 1000. It should be understood in advance that the components, layers, and functions shown in FIG. 7 are for illustrative purposes only, and embodiments of the present invention are not limited thereto. As shown, the following layers and corresponding functions are provided:

[0101] Hardware and software layer 1102 includes hardware and software components. Examples of hardware components include mainframe 1104, RISC (reduced instruction set computer) architecture-based server 1106, server 1108, blade server 1110, storage device 1112, and network and network components 1114. In some embodiments, software components include network application server software 1116 and database software 1118.

[0102] The virtualization layer 1120 provides an abstraction layer over which the following examples of virtual entities may be provided: virtual servers 1122, virtual storage 1124, virtual networks including virtual private networks 1126, virtual applications and operating systems 1128, and virtual clients 1130.

[0103] In one example, management layer 1132 may provide the functions described below. Resource provisioning 1134 provides dynamic procurement of computing and other resources utilized to execute tasks within the cloud computing environment. Metering and pricing 1136 provides cost tracking as resources are utilized within the cloud computing environment and billing or invoicing for the consumption of these resources. In one example, these resources may include application software licenses. Security provides identity verification for cloud consumers and task managers, as well as protection for data and other resources. User portal 1138 provides consumers and system administrators with access to the cloud computing environment. Service level management 1140 provides allocation and management of cloud computing resources so that required service levels are met. Service level agreement (SLA) planning and fulfillment 1142 provides proactive provisioning and procurement of cloud computing resources in anticipation of future requirements according to SLAs.

[0104] The workload layer 1144 provides examples of functions for which a cloud computing environment may be utilized. Examples of workloads and functions that may be provided from this layer include mapping and navigation 1146, software development and lifecycle management 1148, virtual classroom instructional delivery 1150, data analytics processing 1152, transaction processing 1154, and media consumption gap filling 1156. The media consumption gap filling programs 110a, 110b provide a way for users to fill in the gaps while they wait for their desired programs to start.

[0105] The terminology used herein is for the purpose of describing particular embodiments and is not intended to be limiting of the invention. As used herein, the singular forms "a," "an," and "the" are intended to include the plural forms as well, unless the context clearly dictates otherwise. It will be further understood that the terms "comprises," "comprising," "includes," "including," "has," "have," "having," "with," and the like, when used herein, specify the presence of stated features, integers, steps, operations, elements, and / or components, but do not exclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and / or groups thereof.

[0106] The description of various embodiments of the present invention is presented for illustrative purposes, but is not intended to be exhaustive or limited to the disclosed embodiments. Many modifications and variations will be apparent to those skilled in the art without departing from the scope of the described embodiments. The terms used herein have been selected to best explain the principles of the embodiments, practical applications, or technical improvements beyond those found in the market, or to enable others skilled in the art to understand the embodiments disclosed herein.

Claims

1. 1. A method for media consumption gap filling, the method comprising: receiving, via the computer system, notification that a first user has selected and is viewing a first broadcast channel while the first broadcast channel is displaying a first program; determining, via said computer system, a desired program scheduled to be presented over said first broadcast channel at a time after completion of said first program; calculating, via the computer system, a first time period, the first time period beginning at a current time and ending at a time scheduled for the start of the desired program; identifying, via the computer system, first gap-filling content having a duration sufficient to fill the first time period, the first gap-filling content being from a first personalized media corpus associated with the first user; presenting the first gap-filling content via the computer system; determining, via the computer system, whether the desired program has started after the scheduled time for the start of the desired program, wherein the determining whether the desired program has started includes: collecting, via said computer system, information from a broadcast being played on said first broadcast channel during the scheduled time of said desired program; obtaining, via the computer system, media guide information related to the desired program; comparing, via the computer system, the collected information with the media guidance information; a determining step having identifying, via the computer system, second gap-filling content from the first personalized media corpus associated with the first user in response to determining that the desired program has not started; presenting the second gap-filling content via the computer system; A method comprising:

2. receiving, via the computer system, a first user preset from the first user, the first user preset comprising: Flexible gap filling, which allows the presenting step to extend beyond the scheduled time of the start of the desired program; or Precise termination of gap filling so that the presenting step ends at the scheduled time of the start of the desired program. receiving the preferences of The method of claim 1 further comprising:

3. the first gap-filling content comprises summary content; the summary content includes a summary of previously shown media; the previously shown media is related to the desired program; The method according to claim 1 or 2.

4. the first gap-filling content comprises a final portion of the first media content; an initial portion of the first media content has been previously viewed by the first user; The method according to claim 1 or 2.

5. receiving, via the computer system, a skip notification that the first user has chosen not to view the first gap-filling content at this time; determining, via the computer system, a remaining time of an unviewed portion of the first gap-fill content; identifying, via the computer system, second gap-filling content having a replacement duration sufficient to fill the remaining time, the second gap-filling content being from the first personalized media corpus associated with the first user; presenting the second gap-filling content via the computer system; The method of claim 1 , further comprising:

6. adding to the first personalized media corpus associated with the first user; The adding step includes: clustering, via said computer system, a plurality of user profiles according to media consumed; searching, via the computer system, for a second user profile in a first cluster of the plurality of user profiles, wherein a profile of the first user is also in the first cluster, the second user profile represents a second user, and a second personalized media corpus is associated with the second user; adding, via the computer system, media content elements from the second personalized media corpus associated with the second user to the first personalized media corpus associated with the first user; 6. The method according to claim 1, wherein the

7. receiving, via the computer system, a designation of a social media connection of the first user as a contributor to the first personalized media corpus associated with the first user; receiving, via the computer system, friend media content from the social media connection; adding, via the computer system, the friend media content to the first personalized media corpus associated with the first user; The method of claim 1 , further comprising:

8. The method of claim 1 , wherein the first user selects and watches the first broadcast channel by turning a media consumption device to the first broadcast channel.

9. 9. The method of claim 1, wherein the first program is positioned immediately before the desired program on the first broadcast channel.

10. The step of determining the desired program comprises: receiving, via the computer system, a selection notification that the first user has selected the first broadcast channel for more than halfway through the duration of the first program; 10. The method of claim 1, wherein

11. identifying, via the computer system, the start of the desired program, wherein the presenting of the first gap-filling content continues until the identifying of the start of the desired program. The method of claim 1 , further comprising:

12. 1. A computer system for media consumption gap filling, the computer system comprising: a computer system comprising one or more processors, one or more computer-readable memories, one or more computer-readable tangible storage media, and program instructions stored on at least one of the one or more computer-readable tangible storage media for execution on at least one of the one or more processors via at least one of the one or more computer-readable memories; receiving notification that a first user has selected and is viewing a first broadcast channel while the first broadcast channel is displaying a first program; determining a desired program scheduled to be presented over said first broadcast channel at a time after completion of said first program; calculating a first time period, the first time period starting at a current time and ending at a scheduled time of start of the desired program; identifying first gap-filling content having a duration sufficient to fill the first time period, the first gap-filling content being from a first personalized media corpus associated with the first user; presenting the first gap-filling content; determining whether the desired program has started after the scheduled start time of the desired program, the determining whether the desired program has started includes: collecting information from a broadcast being played on said first broadcast channel during the scheduled time of said desired program; obtaining media guide information related to the desired program; comparing the collected information with the media guidance information; a determining step including: identifying second gap-filling content from the first personalized media corpus associated with the first user in response to determining that the desired program has not started; presenting the second gap-filling content; A computer system capable of performing a method comprising:

13. The method comprises: adding to the first personalized media corpus associated with the first user; The adding step includes: clustering a plurality of user profiles according to media consumed; searching for a second user profile in a first cluster of the plurality of user profiles, wherein a profile of the first user is also in the first cluster, the second user profile represents a second user, and a second personalized media corpus is associated with the second user; adding media content elements from the second personalized media corpus associated with the second user to the first personalized media corpus associated with the first user; 13. The computer system of claim 12, comprising:

14. The step of determining the desired program comprises: receiving a selection notification that the first user has selected the first broadcast channel more than halfway through the duration of the first program, the first program being positioned immediately before the desired program on the first broadcast channel; 14. A computer system according to claim 12 or 13, comprising:

15. To the computer receiving notification that a first user has selected and is viewing a first broadcast channel while the first broadcast channel is displaying a first program; determining a desired program scheduled to be presented over the first broadcast channel at a time after the first program has finished; calculating a first time period, the first time period starting at a current time and ending at a scheduled time for the start of the desired program; identifying first gap-filling content having a duration sufficient to fill the first time period, the first gap-filling content being from a first personalized media corpus associated with the first user; presenting the first gap-filling content; determining whether the desired program has started after the scheduled start time of the desired program, the determining whether the desired program has started comprises: collecting information from a broadcast being played on the first broadcast channel after the scheduled start time of the desired program; obtaining media guide information related to the desired program; comparing the collected information with the media guidance information; a step of determining whether responsive to determining that the desired program has not started, identifying second gap-filling content from the first personalized media corpus associated with the first user; presenting the second gap-filling content; A computer program for media consumption gap filling that executes the following:

16. The computer, adding to the first personalized media corpus associated with the first user. Then run The adding step is: clustering a plurality of user profiles according to media consumed; searching for a second user profile in a first cluster of the plurality of user profiles, wherein a profile of the first user is also in the first cluster, the second user profile represents a second user, and a second personalized media corpus is associated with the second user; adding media content elements from the second personalized media corpus associated with the second user to the first personalized media corpus associated with the first user; 16. The computer program of claim 15, comprising:

17. The procedure for determining the desired program includes: receiving a selection notification that the first user has selected the first broadcast channel more than halfway through the duration of the first program, the first program being positioned immediately before the desired program on the first broadcast channel; 17. A computer program according to claim 15 or 16, comprising:

Citation Information

Patent Citations

  • Content replaying device, content replaying method, content replaying system, content replaying program, and recording medium

    JP2011029916A

  • Method and apparatus for providing continuous programming on a broadcast channel

    US20070033623A1

  • Systems and methods of facilitating installment-by-installment consumption of discrete installments of a unitary media program

    US20150016800A1

  • Systems and methods to deliver a personalized mediacast with an uninterrupted lead-in portion

    US20150074732A1

  • Intuitive timer

    US20160142761A1