Generation of dynamic content interfaces
Example embodiments relate to generation of dynamic content interfaces based on device capabilities and user entitlements. Multiple devices associated with a user account may each request a content interface. Generation of the content interfaces may be based on capability information of the devices and a tier entitlement associated with the user account. A service included in both the content interfaces may be assigned a same virtual channel in each of the content interfaces.
Latest Comcast Cable Communications, LLC Patents:
Known implementations of content interfaces, such as channel maps, have shortcomings. For example, such interfaces may fail to account for variations in device system parameters such as entitlements. For example, a particular user may not be entitled to premium channel access in a network. However, because multiple channel maps may be maintained, inefficiencies further increase. The following disclosure identifies and provides solutions for implementations of content interfaces.
BRIEF SUMMARYIn light of the foregoing background, the following presents a simplified summary of the present disclosure in order to provide a basic understanding of some aspects of the invention. This summary is not an extensive overview of the invention. It is not intended to identify key or critical elements of the invention or to delineate the scope of the invention. The following summary merely presents some concepts of the invention in a simplified form as a prelude to the more detailed description provided below.
The disclosure relates to a system, device, computer readable media, and method to dynamically generate content interfaces based on device capabilities and user entitlements. Aspects of the disclosure may be provided in one or more computer-readable medium having computer-executable instructions that, when executed by at least one processor, cause a computer, user terminal, or other apparatus to at least perform one or more of the processes described herein. The computer-readable medium may be a memory and/or may be non-transitory.
In some aspects, a first request for a first dynamic content interface received from a first device and a second request for a second dynamic content interface received from a second device may be processed, wherein the first and second devices are associated with a user account. The first dynamic content interface may be generated based on first capability information included in the first dynamic content interface request and a tier entitlement associated with the user account. The second dynamic content interface may be generated based on second capability information included in the second dynamic content interface request and the tier entitlement associated with the user account, wherein a service identified in both the first and second dynamic content interfaces is assigned a same virtual channel in each of the content interfaces.
Understanding of the disclosure may be facilitated by consideration of the following detailed description of the embodiments, taken in conjunction with the accompanying drawings, in which like numerals refer to like parts and in which:
It is to be understood that the figures and descriptions have been simplified to illustrate elements that are relevant for a clear understanding, while eliminating, for the purpose of brevity, many other elements found in typical communication devices, systems and methodologies. Those of ordinary skill in the art will thus recognize that other elements and/or steps are desirable and/or may be included. However, because such elements and steps are well known in the art, a discussion of such elements and steps is not provided herein. Furthermore, the embodiments identified and illustrated herein are for exemplary purposes only, and are not meant to be exclusive or limited in their description.
VGD 12 may present content (e.g., video, audio) to a user received from the Local Office 120 or other content source, or may be coupled to another video display device, such as, for example, user equipment 50 for presenting the content. VGD 12 may be, for example, a display, a television set, a mobile phone, a set top box, computer, or other device capable of audiovisual presentation. User equipment 50 may be, for example, a display, a television set, computer monitor, a mobile device, and the like. In an example, VGD 12 may include an embedded cable modem (eCM) operable using the “Data-Over-Cable Service Interface Specifications, e-DOCSIS™ Specification, CM-SP-eDOCSIS-I18-090529,” the contents of which are herein incorporated by reference in their entirety. An eCM may perform a network entry, or “provisioning,” process in accordance with the e-DOCSIS specification to obtain a network configuration, the time and date, download a DOCSIS configuration file, and registering and completing DOCSIS network entry. Further, although the examples discussed in this disclosure include video content delivery, those skilled in the art will appreciate, in light of the disclosure, that the examples discussed herein may additionally be applicable to content delivery systems generally.
Each of devices 12, 50, 120, and 122 may include at least one processor and may include one or more computer readable media storing computer executable instructions that, when executed, cause one or more of the devices 12, 50, 120, and 122 to perform the operations described herein. For example,
To obtain access to a particular tier, the user may electronically subscribe using their VGD 12 by communicating a request to the computing device 122 identifying a particular tier, or by contacting a customer service representative. Once a particular tier has been ordered, the computing device 122 may receive and store information on tier entitlement 202 in memory 142 (e.g., a database), for this user identifying the tier to which the user has subscribed. In an example, computing device 122 may establish an account in memory 142 for a user specifying to which tier of entitlements a user has subscribed. Entitlements may include channel entitlements, program entitlements, authorizations, application entitlements, document entitlements, game entitlements, and the like, for example. Memory 142 may also store entitlements for other users served by the computing device 122. Memory 142 may store a product and service catalog 204 listing available products and services that can be provided to a user, as well as sources for the products and services.
In an example, catalog 204 may list sources for each service. For example, a particular service may be available from one or more SD video sources, HD video sources, or wireless access protocol (WAP) sources or similar mobile video sources. Memory 142 may include, for example, a relational database relating a particular service with multiple sources for that service, such as by type, by market, by geography, or by other factors.
For each tier, computing device 122 may maintain a tier channel map 300. With reference to
With reference to the tier channel map 300 in
Tier channel map 300 may be considered a superset of information from which dynamic channel maps 216 may be created. In an example, tier channel map 300 may include information on services that not all VGDs 12 a user may have are capable of rendering. For instance, tier channel map 300 may include information on high definition (HD) channels and standard definition channels (SD) of a particular tier.
Frequently, a user may have more than one VGD 12. For example, a user may have a gateway (e.g., set top box), a tablet computer (e.g., an IPAD®), and a mobile phone. Each of these VGDs may have different capabilities for rendering content. In an example, the VGDs may differ in the resolution of video they are able to display. Some may be able to present high definition video, others may only be able to present standard definition video, and some may only be able to present low definition video. To accommodate for these differences and rather than sending the entire tier channel map 300, computing device 122 may generate a dynamic channel map 216 that is tailored to the capabilities of VGDs 12. Examples of dynamic channel maps 216a-b are shown in
With reference to
Computing device 122 may process request 214a to look up the entitlements 202 associated with an account of the user stored in memory 142. The lookup may include confirmation that the requesting VGD 12a is authorized to receive a dynamic channel map 216a, such as confirmation that the requesting VGD 12a is correspondent to a paid subscriber, for example. Upon lookup, computing device 122 may match the requesting VGD 12a with the user indicated as correspondent to that VGD 12a in memory 142, and may retrieve a list of services specified in the user's account to which the requesting user is entitled to access.
Based on the capabilities information received from VGD 12 and the services to which the user is entitled to access, computing device 122 may construct a dynamic channel map 216a tailored to the services the requesting VGD 12a can render. For example, a VGD 12a that can only render SD video channels would not receive information on HD video channels. VGD 12b, also shown in
In addition to user entitlements and device capabilities, computing device 122 may also consider other dynamic factors when generating a dynamic channel map 216. Such other dynamic factors may include market-available sources, sources switched based on bandwidth use monitoring, sources dictated by targeting information, such as may be obtained from a user profile, or the like. By way of non-limiting example, monitoring of entitlements and device capabilities may provide metrics that allow for source selection based on bandwidth availability. More particularly, in accordance with an indication of usage by certain numbers of a particular device type, as reflected by requests 214, sources may be switched to, or become selectable from, switched digital video (SDV) channels, for example. Thereby, determining a total number of requests 214 received from different VGDs 12 may provide metrics for unicast/SDV assignment calculations, for example.
In another example, network bandwidth conditions may be a dynamic factor in generating a dynamic channel map 216. For example, computing device 122 may receive content from multiple Local Offices 120 or other content sources. If the VGD 12 is configured to stream content, computing device 122 may monitor bandwidth conditions of the network 124 between the computing device 122 and each of the Local Offices. For instance, computing device 122 may determine an amount of available bandwidth between itself and each of any applicable network nodes, which may be Local Offices or other nodes, and may store available network bandwidth parameters. Computing device 122 may exclude any Local Offices where there is insufficient available bandwidth to stream content from that Local Office. For example, content may require 5 Megabits per second (Mbps) and only 4 Mbps of bandwidth may be available to stream the content from a particular Local Office. For the remaining Local Offices, computing device 122 may select the Local Office having a highest amount of available bandwidth and include a network address for that Local Office in the dynamic channel map 216. The VGD 12 may then use the network address to access the content from the Local Office identified in the dynamic channel map 216.
In a further example, geographic location of a VGD 12 may be a dynamic factor in generating a dynamic channel map 216. For example, computing device 122 may determine a geographic location of the VGD 12 either by querying the VGD 12 or by other manners. As there may be certain geographic and timing restrictions on when content may be accessed, computing device 122 may generate the dynamic channel map 216 so that the VGD 16 may only access local sources for services.
At block 402, a computing device may process a first request for a first dynamic content interface received from a first VGD and a second request for a second dynamic content interface received from a second VGD, wherein the first and second VGDs are associated with a user account. In an example, computing device 122 may receive a dynamic channel map request 216a from VGD 12a and a dynamic channel map request 216b from VGD 12b. Both VGDs 12a-b may be associated with the same user, and hence with the same account of the user stored by memory 142.
At block 404, a computing device may generate the first dynamic content interface based on first capability information included in the first dynamic content interface request and a tier entitlement associated with the user account. In an example, computing device 122 may generate channel map 216a based on capability information received in request 216a and a tier entitlement associated with the user account.
At block 406, a computing device may generate the second dynamic content interface based on second capability information included in the second dynamic content interface request and the tier entitlement associated with the account, wherein a service identified in both the first and second dynamic content interfaces is assigned a same virtual channel in each of the content interfaces. In an example, computing device 122 may generate channel map 216b based on capability information received in request 216b. Computing device 122 may assign a same virtual channel to a service included in both channel maps 216a-b. The flow diagram may then end or return to any of the preceding blocks.
The example embodiments for dynamic content interface generation thus allow providers, such as MSOs, to deliver different content interfaces to different devices based on capabilities of a requesting video generation device and entitlements of a user. Thereby, the example embodiments for dynamic content interface generation simplify the maintenance of content interfaces for different provisioning systems, additionally allowing simplified support for alternative VGDs with distinct features, and additionally readily provides for the addition of, or modification of, available channels, such as newly available HD channels. For example, as new devices become capable of displaying video in newly available formats, such as low resolution MPEG4 format being provided for mobile devices, dynamic content interface generation delivers the appropriate content interface, identifying appropriate video sources, based on capabilities of the device and user entitlements.
Those of ordinary skill in the art will recognize that many modifications and variations of the disclosure may be implemented without departing from its spirit or scope. Thus, it is intended that the disclosure cover the modifications and variations that come within the scope of the appended claims and their equivalents.
Claims
1. A method comprising:
- determining, at a computing device, an amount of bandwidth required to stream a service;
- determining a plurality of sources for the service;
- determining that an amount of available bandwidth associated with a first source, of the plurality of sources, is less than the amount of bandwidth required to stream the service;
- responsive to a first request received at the computing device, filtering a tier channel map to generate a first dynamic channel map based on capability information associated with a first device and a tier entitlement associated with a user account, wherein the filtering further comprises excluding a first network address associated with the first source for the service from the first dynamic channel map; and
- sending, from the computing device, the first dynamic channel map to the first device, wherein the first dynamic channel map is configured to enable the first device to access the service from one or more other sources of the plurality of sources different from the first source.
2. The method of claim 1, further comprising:
- responsive to a second request received at the computing device, filtering the tier channel map to generate a second dynamic channel map based on capability information associated with a second device and the tier entitlement associated with the user account; and
- sending, from the computing device, the second dynamic channel map to the second device.
3. The method of claim 2,
- wherein the filtering the tier channel map to generate the first dynamic channel map further comprises assigning a particular service in the first dynamic channel map to a particular virtual channel,
- wherein filtering the tier channel map to generate the second dynamic channel map further comprises assigning the particular service in the second dynamic channel map to the particular virtual channel, the method further comprising:
- providing the service to the first device in a high definition format in response to a selection by the first device of the particular virtual channel; and
- providing the service to the second device in a standard definition format in response to a selection by the second device of the particular virtual channel.
4. The method of claim 1, wherein the filtering the tier channel map to generate the first dynamic channel map further comprises including an identification of at least one of a game, an application, a document, and a channel.
5. The method of claim 1, wherein the filtering the tier channel map to generate the first dynamic channel map further comprises including a second network address associated with a second source for the service of the plurality of sources for the service in the first dynamic channel map based at least in part on available network bandwidth parameters.
6. The method of claim 1, wherein the capability information associated with the first device indicates that the first device is one of high-definition enabled, standard definition enabled, and a mobile device.
7. The method of claim 1, further comprising processing the first request to determine that the first device is authorized to receive the service.
8. The method of claim 1, wherein the filtering the tier channel map to generate the first dynamic channel map further comprises including in the first dynamic channel map a video channel lineup corresponding to a plurality of content creators.
9. The method of claim 2,
- wherein the filtering the tier channel map to generate the first dynamic channel map further comprises including in the first dynamic channel map a second service available in a high definition format and a third service available in a standard definition format, and
- wherein the second dynamic channel map only includes services in the standard definition format.
10. The method of claim 1, wherein the computing device is independent of a set-top box.
11. The method of claim 1, wherein the computing device is an edge server.
12. The method of claim 1, further comprising:
- including in the first dynamic channel map a second network address associated with a second source for the service of the plurality of sources for the service, wherein the second source has a highest amount of available bandwidth relative to other sources of the plurality of sources for the service.
13. The method of claim 1, wherein the first network address associated with the first source enables access to a data stream associated with the first source.
14. A method comprising:
- determining, at a computing device, an amount of bandwidth required to stream a service;
- identifying a plurality of sources for the service;
- determining that an amount of available bandwidth associated with a first source, of the plurality of sources, is insufficient to stream the service from the first source based on the amount of bandwidth required to stream the service;
- filtering, at the computing device, a tier channel map to generate a first dynamic channel map for a first device based on capability information associated with the first device and a tier entitlement associated with a user account, wherein the filtering further comprises excluding a network address associated with the first source for the service from the dynamic channel map; and
- sending, from the computing device, the first dynamic channel map to the first device, wherein the first dynamic channel map is configured to enable the first device to access the service from one or more other sources of the plurality of sources different from the first source.
15. The method of claim 14, further comprising:
- filtering the tier channel map to generate a second dynamic channel map for a second device based on capability information associated with the second device and the tier entitlement associated with the user account;
- identifying a particular service in the first dynamic channel map and identifying the particular service in the second dynamic channel map;
- assigning a virtual channel to the particular service identified in the first dynamic channel map and assigning the virtual channel to the particular service identified in the second dynamic channel map; and
- sending, from the computing device, the second dynamic channel map to the second device.
16. A method comprising:
- filtering, at a computing device, a tier channel map to generate a first dynamic channel map and a second dynamic channel map, wherein the first dynamic channel map is based on capability information associated with a first device included in a first dynamic channel map request and a tier entitlement associated with a user account, wherein the second dynamic channel map is based on capability information associated with a second device included in a second dynamic channel map request and the tier entitlement associated with the user account, wherein the filtering the tier channel map to generate the first dynamic channel map further comprises excluding a network address associated with a first source for a service from the first dynamic channel map in response to determining that there is insufficient bandwidth to stream the service from the first source;
- sending, from the computing device, the first dynamic channel map to the first device, wherein the first dynamic channel map is configured to enable the first device to access the service from a second source different from the first source; and
- sending, from the computing device, the second dynamic channel map to the second device, wherein the second dynamic channel map is configured to enable the second device to access the service.
17. The method of claim 16, wherein the computing device is independent of a set-top box.
18. The method of claim 16, further comprising assigning a virtual channel to a particular service identified in the first dynamic channel map and assigning the virtual channel to the particular service identified in the second dynamic channel map.
19. The method of claim 16, further comprising:
- including in the first dynamic channel map a different network address associated with the second source for the service, wherein the second source has a highest amount of available bandwidth relative to other sources for the service.
20. The method of claim 16, wherein the network address associated with the first source enables access to a data stream associated with the first source.
5461427 | October 24, 1995 | Duffield et al. |
5576769 | November 19, 1996 | Lendaro |
6108044 | August 22, 2000 | Shin |
6359580 | March 19, 2002 | Morrison |
6594825 | July 15, 2003 | Goldschmidt Iki et al. |
6772433 | August 3, 2004 | LaJoie et al. |
7061542 | June 13, 2006 | Ikeguchi |
7209874 | April 24, 2007 | Salmonsen |
7551229 | June 23, 2009 | Ozaki et al. |
7567565 | July 28, 2009 | La Joie |
7924451 | April 12, 2011 | Hirooka |
8166504 | April 24, 2012 | Kang et al. |
20010019365 | September 6, 2001 | Kim et al. |
20020009289 | January 24, 2002 | Morishita et al. |
20020076194 | June 20, 2002 | Watanabe |
20020145611 | October 10, 2002 | Dye et al. |
20050044566 | February 24, 2005 | Jerding et al. |
20050180858 | August 18, 2005 | Halgas |
20050213938 | September 29, 2005 | Ozawa et al. |
20060005223 | January 5, 2006 | Weng et al. |
20060061682 | March 23, 2006 | Bradley et al. |
20060133775 | June 22, 2006 | Ju |
20060184992 | August 17, 2006 | Kortum et al. |
20060188235 | August 24, 2006 | Umei et al. |
20060274203 | December 7, 2006 | Naganuma et al. |
20070101370 | May 3, 2007 | Calderwood |
20070157260 | July 5, 2007 | Walker |
20070223870 | September 27, 2007 | Farling et al. |
20080034391 | February 7, 2008 | Lehman et al. |
20080141303 | June 12, 2008 | Walker et al. |
20080195466 | August 14, 2008 | Wright |
20080301749 | December 4, 2008 | Harrar et al. |
20080307485 | December 11, 2008 | Clement et al. |
20090031335 | January 29, 2009 | Hendricks et al. |
20090031384 | January 29, 2009 | Brooks et al. |
20090150958 | June 11, 2009 | Jerding et al. |
20090190028 | July 30, 2009 | Rodriguez et al. |
20090262136 | October 22, 2009 | Tischer et al. |
20100054712 | March 4, 2010 | Wollmershauser et al. |
20100150531 | June 17, 2010 | Corry et al. |
20100162292 | June 24, 2010 | Potrebic et al. |
20110102675 | May 5, 2011 | Jackson |
20110102683 | May 5, 2011 | Josephs |
20110258665 | October 20, 2011 | Fahrny et al. |
20120072954 | March 22, 2012 | Karaoguz et al. |
20120084814 | April 5, 2012 | Olague et al. |
20120102535 | April 26, 2012 | Weintraub et al. |
2005/125200 | December 2005 | WO |
2007/078503 | July 2007 | WO |
09/118041 | October 2009 | WO |
- Data-Over-Cable Service Interface Specifications, eDOCSIS™ Specification, CM-SP-eDOCSISI18-090529, Copyright 2003—2009 Cable Television Laboratories, Inc., 72 pages.
- International Search Report and Written Opinion for PCT/US2011/032463, mailed Jul. 15, 2011.
- O'Donnell, White Paper, HDMI™: The Digital Display Link, Dec. 2006, 21 pages.
- Extended European Search Report—EP 11769576.7—Mailing Date: Sep. 20, 2013.
Type: Grant
Filed: May 11, 2012
Date of Patent: Jan 13, 2015
Patent Publication Number: 20130305289
Assignee: Comcast Cable Communications, LLC (Philadelphia, PA)
Inventors: Mehul Patel (Denver, CO), Edward David Monnerat (Parker, CO), Andrew R. Young (Glenmoore, PA)
Primary Examiner: Nasser Goodarzi
Assistant Examiner: Fred Peng
Application Number: 13/469,860
International Classification: H04N 5/445 (20110101); G06F 3/00 (20060101); G06F 13/00 (20060101);