Television programming distributors (e.g., operating a content platform) may receive a quantity of time (e.g., in minutes) per hour (e.g., a time slot) to utilize television content (e.g., advertisements) for each television channel distributed to subscribers. Content delivery platforms may deliver only a limited number of different television content on a same channel during a same time slot.
The following detailed description of example implementations refers to the accompanying drawings. The same reference numbers in different drawings may identify the same or similar elements.
A content provider may provide content via a quadrature amplitude modulation (QAM) channel. For example, a set-top box may tune to the QAM channel and the content provider may provide the content via the QAM channel. The content may be provided over a period of time based on an amount of QAM bandwidth allocated for the content.
In some instances, the content provider may desire to provide supplemental content during different portions of the period of time. In this regard, the content provider may request (using a computing device) an additional amount of QAM bandwidth to provide the supplemental content. In some situations, the requested additional amount of QAM bandwidth may not be available. Accordingly, the content provider may provide additional requests for the additional amount of QAM bandwidth until the additional amount of QAM bandwidth is allocated. Alternatively, the content provider may reconfigure (using a computing device) the supplemental content to accommodate for a limited amount of bandwidth. Therefore, relying on QAM bandwidth for providing supplemental content in this manner wastes computing resources, network resources, among other resources.
Implementations described herein are directed to providing Internet Protocol (IP) based supplemental content. For example, a client device (e.g., a set-top box) may tune to a QAM channel and provide, to a supplemental content management device, a notification indicating that that the client device has tuned to the QAM channel. Based on the notification, the supplemental content management device may provide information regarding supplemental content that may be provided during one or more portions of a period of time associated with providing the content. The information may include information identifying a network location of the supplemental content (e.g., a uniform resource locator (URL) of the supplemental content), information identifying a duration of the supplemental content, information identifying a start time for providing the supplemental content, among other examples. The client device may obtain the supplemental content (e.g., using the URL) and provide the supplemental content at the start time. The supplemental content may be provided during the one or more portions of the period of time associated with providing the content.
By providing IP-based supplemental content in this manner, the client device may preserve computing resources, network resources, and other resources that would have otherwise been used by relying on QAM bandwidth for providing supplemental content.
As used herein, the term “content” may include visual data, audio data, a combination of audio data and visual data, among other examples of media content. In some examples, the content may include television content, such as broadcasting television content, local programming, national programming, free programming, live-programming (e.g., a live broadcast), movies, sports, television shows, video-on-demand (VoD) content, premium channel content, and pay-per-view (PPV) content.
As shown in
Supplemental content management device 120 may include one or more devices capable of receiving, generating, storing, processing, and/or providing information associated with transitioning between different content, as described elsewhere herein. For example, supplemental content management device 120 may identify supplemental content to be provided by client device 105 and identify supplemental content information that may be used by client device 105 to provide the supplemental content. Supplemental content management device 120 may provide the supplemental content information to client device 105. Supplemental content management device 120 may perform similar actions for other client devices.
Supplemental content device 125 may include one or more devices capable of receiving, generating, storing, processing, and/or providing information associated with transitioning between different content, as described elsewhere herein. For example, supplemental content device 125 may store the supplemental content identified by supplemental content management device 120 and may provide the supplemental content to client devices. As shown in
As shown in
Client device 105 may provide the content using video player 115. In some situations, client device 105 (e.g., using video player 115) may provide the content by providing the content to a display device (e.g., a television) for display to the user. Additionally, or alternatively, client device 105 (e.g., video player 115) may provide the content by providing the content to an audio device (e.g., one or more speakers). Client device 105 may also provide the content to other devices connected to the client device 105 which may have their own video players 115 (e.g., other devices connected to the client device 105 over a network at a premises where the client device 105 is located).
Video player 115 may output the content as an audio and/or video signal to a connected display. Video player 115 may also store the content in a memory to allow for the pause, rewind or fast forward of the content by the content viewer (sometimes referred to a “trick play” features). As an example, a viewer may pause the playing of a content, and then resume the playing of the content at a later time. The content output to the connected display will be thereby “delayed” in comparison to the time at which the content was actually received.
As shown in
The information identifying client device 105 may include a serial number of client device 105, a model number of client device 105, information identifying a geographical location of client device 105, information regarding a user profile of the user (and/or of one or more other users associated with client device 105), among other examples. The information regarding the user profile may include information regarding types of content preferred by the user, information regarding one or more products preferred by the user, information regarding one or more services preferred by the user, among other examples.
A “type of content” may refer to movies in general, a type of movie, television shows in general, a type of television show, music in general, a genre of music, among other examples of other types of content. The information identifying the QAM channel may include a name of the QAM channel, a channel number of the QAM channel, among other examples of information that may identify the QAM channel. The information identifying the content may include a title of the content, a name of the content, a type of the content, among other examples.
As shown in
Additionally, or alternatively, the supplemental content may include content that is based on the user profile. For example, the supplemental content may include content based on the types of content preferred by the user, content based on the one or more products preferred by the user, content based on the one or more services preferred by the user, among other examples. In some situations, supplemental content management device 120 may identify different supplemental content, such as first supplemental content, second supplemental content, and so on. Alternatively, supplemental content management device 120 may identify single supplemental content.
Supplemental content management device 120 may identify the supplemental content information based on the supplemental content. For example, supplemental content management device 120 may identify first supplemental content information based on the first supplemental content, second supplemental content information based on the second supplemental content, and so on.
In some implementations, the first supplemental content information may include information identifying the QAM channel, information identifying the first supplemental content, location information identifying a location of the first supplemental content (e.g., a network location), start time information identifying a time when the first supplemental content is to be provided (e.g., a time to start providing the supplemental content), duration information identifying a duration associated with providing the first supplemental content, presentation timestamp (PTS) information identifying a PTS associated with the first supplemental content, offset information identifying an offset with respect to a time when other prior supplemental content is to be provided, among other examples.
The information identifying the QAM channel may include a name of the QAM channel, a channel number of the QAM channel, among other examples. The information identifying the first supplemental content may include a name or a title of the first supplemental content, an identifier of the first supplemental content, among other examples. The location information may identify a uniform resource identifier (URI) identifying the network location. As an example, the URI may include a URL identifying the location of the first supplemental content.
The start time information may identify the time in different time formats. The offset may be based on a duration of other supplemental content is to be provided prior to the first supplemental content being provided. For example, if the second supplemental content is to be provided prior to the first supplemental content, the offset may be based on a duration of the second supplemental content. The offset may identify an amount of time to be elapsed, after the second supplemental content has been provided, prior to the first supplemental content being provided. The second supplemental content information may include information similar to the information included in the first supplemental content information.
As shown in
For instance, client device 105 may use the location information of the first supplemental content information (e.g., the URL) to provide the request for the first supplemental content. Client device 105 may provide the request for the first supplemental content to a device associated with the URL. As an example, client device 105 may provide the request to a device included in content delivery network 130, such as supplemental content device 125.
In some implementations, client device 105 may determine whether the first supplemental content is stored in a memory of client device 105 prior to providing the request for the first supplemental content. For example, client device 105 may perform a search of the memory using the information identifying the first supplemental content and/or the location information. If client device 105 determines that the first supplemental content is not stored in the memory, client device 105 may provide the request for the first supplemental content. Alternatively, if client device 105 determines that the first supplemental content is stored in the memory, client device 105 may take no action with respect to obtaining the first supplemental content using the location information. Client device 105 may perform similar actions for the second supplemental content and other supplemental content.
As shown in
Client device 105 may store, in the memory of client device 105, the supplemental content in association with the supplemental content information. For example, client device 105 may store the first supplemental content in association with the first supplemental content information, store the second supplemental content in association with the second supplemental content information, and so on.
As shown in
For example, with respect to the first supplemental content, supplemental content management device 120 may provide the notification within a range of time prior to the time identified by the start time information (included in the first supplemental content information). The range of time may be configured by the content provider. In some implementations, supplemental content management device 120 may monitor a current date and a time with respect to the time identified by the start time information. When supplemental content management device 120 determines that the current date and the time is within the range of time of the time identified by the start time information, supplemental content management device 120 may provide the notification.
In some implementations, the notification may include all or a portion of the first supplemental content information. For example, the notification may include the information identifying the QAM channel, the information identifying the first supplemental content, the start time information of the first supplemental content, the duration information of the first supplemental content, among other examples. Supplemental content management device 120 may perform similar actions with respect to the second supplemental content and other supplemental content.
As shown in
Client device 105 may determine the amount of delay time as an amount of time corresponding to the delay. In this regard, when determining the amount of delay time, client device 105 may determine a current position (e.g., a current playback position) of the content broadcast by the content provider. For example, client device 105 may receive, from the content device of the content provider, a timestamp indicating the current position. Client device 105 may determine a playback position (e.g., a current playback position) of the content provided by client device 105. Client device 105 may determine the amount of delay time based on a difference between the current position and the playback position.
In some situations, the amount of delay time may be zero if the user is viewing the content as the content is being broadcast by the content provider (e.g., viewing the content live). Alternatively, the amount of delay time may be greater than zero if the user is viewing with some delay with respect to the content that is being broadcast by the content provider (for example, by the user requesting a pause action or rewind action when viewing the content).
In some situations, after determining the amount of delay time, client device 105 may detect a request to rewind content and/or a request to fast forward content. If client device 105 detects the request to rewind content, client device 105 may recalculate the amount of delay time in a manner similar to the manner described. In this regard, the playback position may be a new playback position as a result of the request to rewind content. If client device 105 detects the request to fast forward content and determines that the request is fast forwarded to a new playback position that is beyond the duration of the first supplemental content, client device 105 may prevent the first supplemental content from being provided.
As shown in
In some implementations, the message may be provided in a JavaScript Object Notation (JSON) format, among other examples of formats that may be used to provide information regarding the supplemental content.
The key value pairs illustrated in
Video player 115 may use the start time information to determine when to provide the first supplemental information. For example, when video player 115 detects that a current time is the time identified by the start time information, video player 115 may transition from providing the content to providing the first supplemental content. For example, client device 105 may switch from a QAM channel stream to playback for the first supplemental content from the memory of client device 105. In some implementations, client device 105 may use the information identifying the first supplemental content and/or the location information to identify the first supplemental content stored in the memory of client device 105.
In some situations, when transitioning to providing the supplemental content, client device 105 may transition to providing the supplemental content based on the start time information and the amount of delay time. For example, client device 105 may transition to provide the supplemental content after expiration of the amount of delay time following the time when the first supplemental content is to be provided.
Video player 115 may perform similar actions with respect to the second supplemental content. In some examples, video player 115 may transition, from providing the first supplemental content, to providing the second supplemental content based on start time information of the second supplemental content information and/or offset information of the second supplemental content information.
As shown in
In some implementations, video player 115 may determine an updated playback position of the content based on an actual duration of providing the first supplemental content. The actual duration may be an entirety of, or a portion of, the duration identified by the duration information based on requests from the user during the first supplemental content, as described below. When transitioning to providing the supplemental content, video player 115 may determine the playback position of the content based on the current position of the content (previously determined) and the actual duration of providing the first supplemental content. For example, video player 115 may add the actual duration to the current position of the content to determine the updated playback position. Video player 115 may provide the content from the updated playback position.
In some situations, client device 105 may detect a rewind request to rewind content after a portion of the supplemental content has been provided. Based on detecting the rewind request, video player 115 may terminate the first supplemental content. In some situations, if the second supplemental content is to be provided after the first supplemental content, client device 105 may provide the second supplemental content. Alternatively, if no additional supplemental content is to be provided after the first supplemental content, client device 105 may transition to provide the content.
In some examples, client device 105 may detect a pause request to pause content after a portion of the first supplemental content has been provided. Client device 105 may pause providing the first supplemental content based on detecting the pause request. After pausing the first supplemental content, client device 105 may determine whether a resume request to resume providing the first supplemental content is detected prior to an expiration of the duration associated with providing the first supplemental content. If client device 105 detects the resume request prior to the expiration of the duration, video player 115 may resume providing the first supplemental content for a remainder of the duration. Alternatively, if client device 105 does not detect the resume request prior to the expiration of the duration, video player 115 may transition to providing content other than the first supplemental content, such as the second supplemental content or the content.
As shown in
With respect to recorded content received from the QAM channel and stored on the memory of client device 105, client device 105 may perform actions similar to actions described above. In some implementations, the recorded content may be associated with information such as the information identifying the QAM channel, information identifying a date and/or a time when the content was first broadcast, information identifying one or more portions (of a duration of the recorded content) during which supplemental content may be provided, among other examples.
When client device 105 initiates a playback of the recorded content, video player 115 may provide the information associated with the recorded content to supplemental content management device 120. Based on the information associated with the recorded content, supplemental content management device 120 may identify supplemental content and supplemental content information regarding the supplemental content in a manner similar to the manner described above. Supplemental content management device 120 may provide the supplemental content information to client device 105 and client device 105 may obtain the supplemental content and provide the supplemental content in a manner similar to the manner described above.
By providing IP-based supplemental content in this manner, the client device may preserve computing resources, network resources, and other resources that would have otherwise been used by relying on QAM bandwidth for providing supplemental content.
As indicated above,
The cloud computing system 202 includes computing hardware 203, a resource management component 204, a host operating system (OS) 205, and/or one or more virtual computing systems 206. The cloud computing system 202 may execute on, for example, an Amazon Web Services platform, a Microsoft Azure platform, or a private data center platform. The resource management component 204 may perform virtualization (e.g., abstraction) of computing hardware 203 to create the one or more virtual computing systems 206. Using virtualization, the resource management component 204 enables a single computing device (e.g., a computer or a server) to operate like multiple computing devices, such as by creating multiple isolated virtual computing systems 206 from computing hardware 203 of the single computing device. In this way, computing hardware 203 can operate more efficiently, with lower power consumption, higher reliability, higher availability, higher utilization, greater flexibility, and lower cost than using separate computing devices.
Computing hardware 203 includes hardware and corresponding resources from one or more computing devices. For example, computing hardware 203 may include hardware from a single computing device (e.g., a single server) or from multiple computing devices (e.g., multiple servers), such as multiple computing devices in one or more data centers. As shown, computing hardware 203 may include one or more processors 207, one or more memories 208, one or more storage components 209, and/or one or more networking components 210. Examples of a processor, a memory, a storage component, and a networking component (e.g., a communication component) are described elsewhere herein.
The resource management component 204 includes a virtualization application (e.g., executing on hardware, such as computing hardware 203) capable of virtualizing computing hardware 203 to start, stop, and/or manage one or more virtual computing systems 206. For example, the resource management component 204 may include a hypervisor (e.g., a bare-metal or Type 1 hypervisor, a hosted or Type 2 hypervisor, or another type of hypervisor) or a virtual machine monitor, such as when the virtual computing systems 206 are virtual machines 211. Additionally, or alternatively, the resource management component 204 may include a container manager, such as when the virtual computing systems 206 are containers 212. In some implementations, the resource management component 204 executes within and/or in coordination with a host operating system 205.
A virtual computing system 206 includes a virtual environment that enables cloud-based execution of operations and/or processes described herein using computing hardware 203. As shown, a virtual computing system 206 may include a virtual machine 211, a container 212, or a hybrid environment 213 that includes a virtual machine and a container, among other examples. A virtual computing system 206 may execute one or more applications using a file system that includes binary files, software libraries, and/or other resources required to execute applications on a guest operating system (e.g., within the virtual computing system 206) or the host operating system 205.
Although the supplemental content management device 120 may include one or more elements 203-213 of the cloud computing system 202, may execute within the cloud computing system 202, and/or may be hosted within the cloud computing system 202, in some implementations, the supplemental content management device 120 may not be cloud-based (e.g., may be implemented outside of a cloud computing system) or may be partially cloud-based. For example, the supplemental content management device 120 may include one or more devices that are not part of the cloud computing system 202, such as device 300 of
Client device 105 may include a set-top box, a television, a mobile phone (e.g., a smart phone, a radiotelephone, and/or the like), a laptop computer, a tablet computer, a desktop computer, a handheld computer, a gaming device, among other examples. Supplemental content device 125 may include a laptop computer, a desktop computer, a group of server devices, among other examples.
Network 220 includes one or more wired and/or wireless networks. For example, network 220 may include a cellular network, a public land mobile network (PLMN), a local area network (LAN), a wide area network (WAN), a private network, the Internet, and/or a combination of these or other types of networks. The network 220 enables communication among the devices of environment 200.
The number and arrangement of devices and networks shown in
Bus 310 includes a component that enables wired and/or wireless communication among the components of device 300. Processor 320 includes a central processing unit, a graphics processing unit, a microprocessor, a controller, a microcontroller, a digital signal processor, a field-programmable gate array, an application-specific integrated circuit, and/or another type of processing component. Processor 320 is implemented in hardware, firmware, or a combination of hardware and software. In some implementations, processor 320 includes one or more processors capable of being programmed to perform a function. Memory 330 includes a random access memory, a read only memory, and/or another type of memory (e.g., a flash memory, a magnetic memory, and/or an optical memory).
Storage component 340 stores information and/or software related to the operation of device 300. For example, storage component 340 may include a hard disk drive, a magnetic disk drive, an optical disk drive, a solid state disk drive, a compact disc, a digital versatile disc, and/or another type of non-transitory computer-readable medium. Input component 350 enables device 300 to receive input, such as user input and/or sensed inputs. For example, input component 350 may include a touch screen, a keyboard, a keypad, a mouse, a button, a microphone, a switch, a sensor, a global positioning system component, an accelerometer, a gyroscope, and/or an actuator. Output component 360 enables device 300 to provide output, such as via a display, a speaker, and/or one or more light-emitting diodes. Communication component 370 enables device 300 to communicate with other devices, such as via a wired connection and/or a wireless connection. For example, communication component 370 may include a receiver, a transmitter, a transceiver, a modem, a network interface card, and/or an antenna.
Device 300 may perform one or more processes described herein. For example, a non-transitory computer-readable medium (e.g., memory 330 and/or storage component 340) may store a set of instructions (e.g., one or more instructions, code, software code, and/or program code) for execution by processor 320. Processor 320 may execute the set of instructions to perform one or more processes described herein. In some implementations, execution of the set of instructions, by one or more processors 320, causes the one or more processors 320 and/or the device 300 to perform one or more processes described herein. In some implementations, hardwired circuitry may be used instead of or in combination with the instructions to perform one or more processes described herein. Thus, implementations described herein are not limited to any specific combination of hardware circuitry and software.
The number and arrangement of components shown in
As shown in
As further shown in
In some implementations, the supplemental content information further includes duration information identifying a duration associated with providing the supplemental content.
As further shown in
In some implementations, obtaining the supplemental content using the URL comprises determining whether the supplemental content is stored in a memory of the device, and obtaining the supplemental content using the URL based on determining that the supplemental content is not stored in the memory of the device.
As further shown in
As further shown in
In some implementations, the supplemental content is a first supplemental content, and wherein the method further comprises detecting a rewind request to rewind content after a portion of the supplemental content has been provided, terminating the supplemental content based on detecting the rewind request, and providing second supplemental content after terminating the supplemental content.
In some implementations, the device is a first device, wherein receiving the supplemental content information includes receiving the supplemental content information from a second device, and wherein the method further comprises providing, to the second device, a notification indicating that the supplemental content has been provided after transitioning to providing the content.
Although
As used herein, the term “component” is intended to be broadly construed as hardware, firmware, or a combination of hardware and software. It will be apparent that systems and/or methods described herein may be implemented in different forms of hardware, firmware, and/or a combination of hardware and software. The actual specialized control hardware or software code used to implement these systems and/or methods is not limiting of the implementations. Thus, the operation and behavior of the systems and/or methods are described herein without reference to specific software code—it being understood that software and hardware can be used to implement the systems and/or methods based on the description herein.
As used herein, satisfying a threshold may, depending on the context, refer to a value being greater than the threshold, greater than or equal to the threshold, less than the threshold, less than or equal to the threshold, equal to the threshold, not equal to the threshold, or the like.
To the extent the aforementioned implementations collect, store, or employ personal information of individuals, it should be understood that such information shall be used in accordance with all applicable laws concerning protection of personal information. Additionally, the collection, storage, and use of such information can be subject to consent of the individual to such activity, for example, through well known “opt-in” or “opt-out” processes as can be appropriate for the situation and type of information. Storage and use of personal information can be in an appropriately secure manner reflective of the type of information, for example, through various encryption and anonymization techniques for particularly sensitive information.
Even though particular combinations of features are recited in the claims and/or disclosed in the specification, these combinations are not intended to limit the disclosure of various implementations. In fact, many of these features may be combined in ways not specifically recited in the claims and/or disclosed in the specification. Although each dependent claim listed below may directly depend on only one claim, the disclosure of various implementations includes each dependent claim in combination with every other claim in the claim set. As used herein, a phrase referring to “at least one of” a list of items refers to any combination of those items, including single members. As an example, “at least one of: a, b, or c” is intended to cover a, b, c, a-b, a-c, b-c, and a-b-c, as well as any combination with multiple of the same item.
No element, act, or instruction used herein should be construed as critical or essential unless explicitly described as such. Also, as used herein, the articles “a” and “an” are intended to include one or more items, and may be used interchangeably with “one or more.” Further, as used herein, the article “the” is intended to include one or more items referenced in connection with the article “the” and may be used interchangeably with “the one or more.” Furthermore, as used herein, the term “set” is intended to include one or more items (e.g., related items, unrelated items, or a combination of related and unrelated items), and may be used interchangeably with “one or more.” Where only one item is intended, the phrase “only one” or similar language is used. Also, as used herein, the terms “has,” “have,” “having,” or the like are intended to be open-ended terms. Further, the phrase “based on” is intended to mean “based, at least in part, on” unless explicitly stated otherwise. Also, as used herein, the term “or” is intended to be inclusive when used in a series and may be used interchangeably with “and/or,” unless explicitly stated otherwise (e.g., if used in combination with “either” or “only one of”).
In the preceding specification, various example embodiments have been described with reference to the accompanying drawings. It will, however, be evident that various modifications and changes may be made thereto, and additional embodiments may be implemented, without departing from the broader scope of the invention as set forth in the claims that follow. The specification and drawings are accordingly to be regarded in an illustrative rather than restrictive sense.
Number | Name | Date | Kind |
---|---|---|---|
20020144262 | Plotnick | Oct 2002 | A1 |
20030149975 | Eldering | Aug 2003 | A1 |
20090031339 | Pickens | Jan 2009 | A1 |
20100205049 | Long | Aug 2010 | A1 |
20140173650 | Mathews | Jun 2014 | A1 |
20140189139 | Cheng | Jul 2014 | A1 |
20140230003 | Ma | Aug 2014 | A1 |
20150143439 | Fay | May 2015 | A1 |
20180359502 | Romwell | Dec 2018 | A1 |
20190069004 | Badawiyeh | Feb 2019 | A1 |
20210306199 | McCarty | Sep 2021 | A1 |
20220191082 | McCarty | Jun 2022 | A1 |
Number | Date | Country | |
---|---|---|---|
20230217051 A1 | Jul 2023 | US |