This application is related to co-owned and co-pending U.S. patent application Ser. No. 12/414,576, filed contemporaneously herewith on Mar. 30, 2009 and entitled “Recommendation Engine Apparatus and Methods” and which is incorporated herein by reference in its entirety.
A portion of the disclosure of this patent document contains material that is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office patent files or records, but otherwise reserves all copyright rights whatsoever.
1. Field of the Invention
The invention relates to the field of content delivery over a network. Specifically, in one exemplary aspect, the invention relates to methods and apparatus for delivering content from a variety of sources in a cable television or satellite network to a client device.
2. Description of Related Technology
Recent advances in content delivery technologies have led to the proliferation of different content sources carrying a wide variety of content. A viewer may be easily overwhelmed by the presentation of hundreds of broadcast channels, purchasable content channels (e.g., VOD, pa-per-view, etc.) and the like, offering programming 24 hours per day. A channel-by-channel search for specific content can be tedious and frustrating to the user. With such an abundance of content offered, the user may be unable to rapidly and easily locate content of interest at any one time.
Likewise, other technological advancements have brought into common use electronic devices that allow users to record content received from a bearer network (such as a cable television or satellite network), whether at their premises or another location within the network. These devices include, inter alia, on digital video recorders (DVR), and personal video recorders (PVR). Access to content stored on recording devices farther increases the overabundance of content available to the user.
Some existing methods for specifically providing content in which a user may be interested, from among the large quantity and variety of content available, include the utilization of demographic data and/or explicit viewer designation of particular content. For instance, a user may have his/her content pre-selected (or at least the possibilities narrowed) based on their demographics, and/or explicit selections or preferences of the user. However, these methods generate targeted content based only on the information a user specifically gives or enters into the system (or which can be gleaned from their subscriber account, etc.).
Various other solutions have been presented to assist a user in finding content of interest. These include, for example, the utilization of a searchable program guide such as that described in U.S. Pat. No. 7,228,556 to Beach, et al., issued Jun. 5, 2007 and entitled “Distributed, Interactive Television Program Guide; System and Method”. Customizable program guides are also used in the prior art to provide targeted content to a user. These generally fit into two distinct categories: those in which a user must enter preference data, and those which are able to gather data about a user without user specification. The first category of customizable program guides, as stated, require a user to manually enter preference or other data, which can be inconvenient for the user, and incomplete depending on the level of detail. One example of the first category of customizable program guides is described in U.S. Pat. No. 7,185,355 to Ellis, et al., issued Feb. 27, 2007 and entitled “Program Guide System with Preference Profiles”. Exemplary prior art of the second category of customizable program guides includes U.S. Pat. No. 6,934,964 to Schaffer, et al., issued Aug. 23, 2005 and entitled “Electronic Program Guide Viewing History Generator Method and System”.
Certain prior art describe creating a dedicated or virtual channel in which targeted content is displayed; however, a majority of the prior art generally relates only to linear television. Linear television is a standard television service wherein the viewer watches a scheduled program at the particular time it's offered. Linear television models do not take into account the use of DVR and other recording apparatus, as well as other delivery paradigm including, for example, VOD and Pay-Per-View.
Other systems create a dedicated or virtual channel by utilization of an on-demand server or by utilization of user-entered information.
Despite the foregoing variety of different delivery and interface technologies associated with the delivery of content over a network, there is a salient need for improved apparatus and methods for providing content that: (i) a user is likely to have an interest in or enjoy watching, (ii) places no significant burden on the user (such as having to enter preference information), and (iii) avoids the user having to search through the large quantity of available content. Such apparatus and methods would, in addition to efficiently delivering targeted content according to data and criteria gathered passively from user actions, also ideally afford a user the ability to receive the content as one seamless stream on a virtual channel that was in effect dedicated and tailored to that particular user.
Moreover, the presentation of content on such a virtual channel would take into account non-linear television models (e.g., VOD, nPVR, “start over” features, etc.) as well as linear broadcast models, and could also access indigenous content (such as that disposed on a user's DVR or other premises device).
Additionally, the abovementioned apparatus and methods provide a user with the ability to choose among various recommended content, and present the user with a navigable list of content prioritized according to a system which immediately takes into account the user's activities, and thereby derives an even more finely tuned profile.
These features would also be provided using substantially extant network infrastructure and components, and would be compatible with a number of different client device and delivery systems including wired, optical, and wireless technologies.
Further, the apparatus and methods of the present invention provide users with access to a larger pool of content spanning an entire multiple systems operator's product and/or service line. In other words, via the methods and apparatus discussed herein, a user is not limited to a pool of content by a single content provider, but may be able to access content from various content sources.
The present invention satisfies the foregoing needs by providing improved apparatus and methods for the targeted delivery of content over a network.
In a first aspect of the invention, a method of providing targeted content obtained from a plurality of different sources to a user is disclosed. In one embodiment, the content is provided over a content-based network (e.g., satellite or cable television network), and the method comprises: receiving information regarding a plurality of content; comparing the information to a set of criteria; selecting individual ones of the plurality of content for provision to the user based at least in part on the act of comparing; and providing the selected individual ones of the plurality of content to the user.
In one variant, the content sources are selected from the group consisting of: (i) an on demand content source; (ii) a broadcast program content source; (iii) a digital video recorder; (iv) a personal media content storage device; and (v) a pay-per view content source.
In another variant, the information comprises metadata transmitted with and relating to individual ones of the plurality of content.
In yet another variant, the set of criteria comprises a user profile having information about the user relating to various aspects of the content. The act of comparing comprises e.g., examining aspects of individual ones of the plurality of content for similarity to the various aspects in the user profile, and the act of selecting individual ones of the plurality of content for provision to the user based at least in part on the act of comparing comprises storing information relating to individual ones of the plurality of content having a threshold level of similarity to the various aspects in the user profile.
In another variant, the method further comprises using the stored information relating to individual ones of the plurality of content to generate a list, the list comprising: content identification information; content location; and content accessing information; and wherein the list is prioritized based at least in part on the act of comparing the information regarding the plurality of content to the set of criteria. The act of providing the selected content to the user comprises e.g.,: displaying a portion of the content identification information to a user display; providing a mechanism for the selection of individual ones of the content; utilizing at least the content location and content accessing information to locate and access the content; and displaying the content to the user at the user display.
In still a further variant, the mechanism for selecting individual ones of the content comprises a user interface (UI), the user interface comprising a network-operated site.
In another variant, the act of providing the selected content to the user comprises providing a virtual channel accessible by the user; providing a mechanism to utilize at least the content location and content accessing information to locate and access the content; and displaying the content to the user at the virtual channel; the content is displayed in an order dictated by the list.
In a further variant, at least one of the content provided to the user comprises purchasable content; and wherein the act of providing the selected content to the user comprises: providing the content identification information; allowing the selection of the purchasable content; providing at least one user confirmation for the purchase of the content; providing a mechanism to utilize at least the content location and content accessing information to locate and access the content; and displaying the content to the user at the user display.
In another variant, the method further comprises modifying the user profile based at least in part on at least one user action; e.g., adding data regarding the at least one user action to the user profile. The data regarding the at least one user action is weighted depending on the classification of the at least one user action.
In another variant, the user actions comprise at least one of a group consisting of: (i) viewing the content; (ii) navigating away from the content; (iii) recording the content; (iv) deleting the content; and (v) rejecting recommendations to view the content.
In a further variant, the method further comprises modifying the user profile based at least in part on user feedback, the user feedback comprising instructions relating to the user's impression of the provided content.
In a second aspect of the invention, a system for the delivery of user-specific content is disclosed. In one embodiment, the system comprises: a receiving apparatus, the receiving apparatus adapted to receive data regarding a plurality of content; a processing apparatus, the processing apparatus adapted to generate a list of recommended content from among the plurality of content; apparatus adapted to allocate a carrier to deliver the recommended content; and a display apparatus, the display apparatus adapted to display the recommended content.
In one variant, the plurality of content is received from a plurality of content sources including at least two of; (i) an on-demand content source; (ii) a broadcast program content source; (iii) a digital video recorder; (iv) a personal media content storage device; and (v) a pay-per view content source.
In a second variant, the data regarding the plurality of content comprises metadata regarding various aspects of individual ones of the plurality of content, and the processing apparatus comprises a computer program adapted to: compare the various aspects of individual ones of the plurality of content to information contained in a user profile; select individual ones of the plurality of content for provision to a user, the selected individual ones of the plurality of content correlating with the information of the user profile to at least a pre-determined degree; and direct the display of the selected individual ones of the plurality of content to the user. The act of selecting comprises e.g., storing information relating to individual ones of the plurality of content, the information comprising: (i) content identification information, (ii) content location, and (iii) content accessing information. The system further comprises a user interface and the act of directing the display of the selected individual ones of the plurality of content comprises: utilizing the stored information to generate a list; displaying at least a portion of the list to a user on the interface; enabling the user to select at least one entry from the list; utilizing at least the content location and content accessing information to locate and access content associated with the selected entry; and displaying the content to the user at the display. Entries on the list are prioritized based at least in part on the act of comparing individual ones of the plurality of content to the user profile. The user interface comprises for example a network-operated Internet site.
In another variant, the system further comprises a user interface and the act of directing the display of the selected individual ones of the plurality of content comprises: providing a virtual channel accessible by the user; utilizing the stored information to generate a list; displaying content associated with the selected individual ones of the plurality of content to the user at the virtual channel; and wherein the content is displayed in an order determined by the list.
In yet another variant, the user profile comprises pre-programmed user preferences relating to various content aspects, and further comprises a computer program adapted to modify the user profile based at least in part on at least one user action by adding data regarding at least one user action to the user profile.
Data regarding the at least one user action is weighted depending on the type of the at least one user action. For instance, the user actions comprise at least one of a group consisting of: (i) viewing the content; (ii) navigating away from the content; (iii) recording the content; (iv) deleting the content; and (v) rejecting recommendations to view the content.
In another variant, the computer program is further adapted to modify the user profile based at least in part on user feedback, the user feedback comprising instructions relating to the user's impression of provided content, and the modifying comprising adding data regarding the user feedback to the user profile.
In a further variant, the plurality of content comprises programming content and advertising content, and the processing apparatus comprises a cable television network headend or switching hub server.
In yet another variant, the processing apparatus is located substantially on a consumer premises device, and the receiving apparatus comprises a hard disk drive of the consumer premises device.
In a third aspect of the invention, an apparatus for delivery of targeted content in a network is disclosed. In one embodiment, the apparatus comprises: a processor, the processor adapted to run at least one software process thereon, the software process adapted to: receive information related to a plurality of available content; compare the information relating to a plurality of available content to a standard (e.g., an individual one of the plurality of content); select individual ones of the plurality of available content for provision to a user based at least in part on the act of comparing; and deliver the selected content to the user; a network interface in data communication with the processor; and a storage device in data communication with the processor.
In one variant, the apparatus comprises a consumer premises device selected from the group consisting of: (i) a settop box; (ii) a digital video recorder; and (iii) a converged premises device.
In a second variant, the apparatus comprises a cable television network headend or switching hub server.
In a further variant, the information related to the plurality of available content comprises metadata rendered at least partly in a human-readable form, and the comparison comprises: generating records regarding various aspects of each of the plurality of available content; and utilizing the records to find matches between the various aspects of the available content and various aspects of the standard. The standard comprises e.g., a user-based profile, and wherein the storage device in data communication with the processor is adapted to store at least a portion of the user-based profile. The user-based profile is modified based at least in part on user actions, the user actions comprising for example at least one of: (i) viewing the content; (ii) entering the user's impression of displayed content; (iii) navigating away from the content; (iv) recording the content; (v) deleting the content; and (vi) rejecting recommendations to view the content.
In another variant, the selected individual ones of the plurality of available content are compiled into a selected content list, the selected content list having entries prioritized based at least in part on the results of the act of comparing. The delivery comprises displaying the selected content list on a display device in data communication with the apparatus; and wherein the software process is farther adapted to enable a user to choose one or more of the content in the prioritized list for delivery.
Alternatively, the delivery comprises displaying content associated with each of the selected content in the selected content list on a virtual channel.
In another variant, the display device in data communication with the apparatus comprises an Internet site in data communication with the software process.
In a fourth aspect of the invention, a method of using an electronic program guide in a content-based network is disclosed. In one embodiment, the method comprises: generating a navigable schedule of programs broadcast within a predetermined period of time; providing a means for navigating the schedule; and displaying a program stream simultaneous to the generation and navigation of the electronic program guide.
In one variant, the predetermined period of time comprises an interval of time extending from some past point in time to some future point in time.
In another variant, the method further comprises providing a representative icon for each program within the electronic program guide, wherein the representative icon for a particular program is displayed in the electronic program guide upon navigation through the program on the electronic program guide. For example, the representative icon comprises a recognizable picture related to the program, and may be further accompanied by a program description.
In a further variant, the electronic program guide is further adapted to provide a user with at least one function selected from a group consisting of: (i) accessing more information regarding a selected program; (ii) starting a program over from its beginning during the time block a program is set to broadcast; and (iii) setting an alert or reminder for at least one program having a broadcast time in the future.
In still another variant, the electronic program guide is further adapted to provide a user with at least one function selected from a group consisting of: (i) rating content; (ii) viewing descriptions of previous episodes of content in a series; and (iii) viewing clips of previous episodes of content in a series.
In a further variant, the electronic program guide is further adapted to display a list of recommended content. The recommended content is generated based e.g., at least in part on a comparison of available content to selected content, and/or a comparison of selected content to a user profile.
In another variant, the content broadcast within a predetermined period of time further comprises content beating a threshold level of similarity to the user profile.
In yet another variant, the method further comprises: displaying a personal timeline; and selecting content from the navigable schedule for placement in the personal timeline. Selecting content from the navigable schedule for placement in the personal timeline occurs via e.g., an internet site in data communication with the headend.
In a further variant, the user is further provided with an aspect of the electronic program guide showing a broadcast schedule for one day of one content source.
In still another variant, the display of the program stream occurs as a background to the simultaneous generation and navigation of the electronic program guide.
In a fifth aspect of the invention, a premises device adapted to generate an electronic program guide is disclosed. In one embodiment, the device comprises: apparatus for generating a navigable schedule of content; apparatus for navigating the navigable schedule of content; apparatus for displaying a representative icon for each program in the schedule; and apparatus for displaying as a background a programs stream over which the electronic program guide is displayed.
In one variant, the schedule of content comprises programs broadcast within a predetermined period of time, the predetermined period of time including future, present, and past broadcasts.
In another variant, the representative icon comprises a recognizable picture related to the program. The icon may farther be accompanied by a program description.
In a further variant, the electronic program guide is further adapted to comprise at least one tool with a function selected from a group consisting of: (i) accessing more information regarding a selected program; (ii) starting a program over from its beginning during the time block a program is set to broadcast; (iii) setting an alert or reminder for at least one program having a broadcast time in the future; (iv) receiving a short program clip regarding a selected content; (v) rating content; and (vi) viewing descriptions of previous episodes of content in a sense.
In another variant, the device further comprises a recommendation tool that performs a comparison of available content to a selected content and displays a list of the results of the comparison. Alternatively, the recommendation tool performs a comparison of a selected content to a user profile; and displays a recommendation based on the results of the comparison.
In a further variant, the navigable schedule of content comprises a one-day schedule of content from one content source.
Alternatively, the navigable schedule of content comprises content bearing a threshold level of similarity to a user profile, and the device further comprises a personal timeline, wherein the user is able to select content from the navigable schedule for placement in the personal timeline.
In yet another variant, the act of selecting content from the navigable schedule for placement in the personal timeline occurs via an Internet site.
In a sixth aspect of the invention, a computer readable apparatus is disclosed. In one embodiment, the apparatus comprises media adapted to contain a computer program having a plurality of instructions, the plurality of instructions which, when executed: request a plurality of available content; generate a navigable schedule of content; link each content item in the schedule of content a plurality of information regarding the content; link each content item in the schedule of content to a plurality of tools operable by a user via a user interface; and display the navigable schedule of content on top of a currently displayed program stream, the display comprising a user interface.
In one variant, the plurality of available content comprises content from a plurality of content sources.
In a second variant, the act of generating a navigable schedule of content further comprises utilizing metadata relating to the content to determine similarity to a prescribed set of criteria, and the computer program is further adapted to: display a personal timeline, the timeline comprising a plurality of date and time place holders; enable the user to select content from the navigable schedule of content for placement into the various date and time place holders; and display content from the personal timeline at the date and time given by the placeholders.
In another variant, the plurality of information comprises at least one of a group consisting of: (i) an icon representative of the content; (ii) a text description of the content; (iii) content identification information; (iv) content location information; and (v) content accessing information.
In a further variant, at least one of the plurality of tools operable by the user via the user interface comprises at least one function selected from a group consisting of: (i) accessing more information regarding a selected program; (ii) starting a program over from its beginning during the time block a program is set to broadcast; (iii) viewing a program by selection of the program during the time block the program is set to broadcast; and (iv) setting an alert or reminder for at least one program having a broadcast time in the future. In yet another variant, at least one of the plurality of tools operable by the user via the user interface comprises at least one function selected from a group consisting of: (i) receiving a short program clip regarding a selected content; (ii) rating content; (iii) viewing descriptions of previous episodes of content in a series; and (iv) viewing clips of previous episodes of content in a series.
In still a further variant, at least one of the plurality of tools operable by the user via the user interface comprises a recommendation tool. The recommendation tool performs e.g., a comparison of available content to a selected content and displays a list of the results of the comparison. Alternatively, the recommendation tool performs a comparison of a selected content to a set of criteria; and displays a recommendation based on the results of the comparison.
In another variant, the navigable schedule of content comprises schedule of content comprising a single day from one content source.
In another embodiment, the computer readable apparatus comprises a program which, when executed, generates a navigation toolbar interface comprising: a representative icon for each of a plurality of navigation tools; a means for allowing a user to navigate the plurality of navigation tools; and a program stream background over which the navigation toolbar is displayed.
In one variant, the representative icon for each of a plurality of navigation tools comprises a picture representative of the function of the navigation tool, and a textual description of the navigation tool.
In another variant, the means for allowing a user to navigate the plurality of navigation tools further comprises an indicator adapted to indicate which of the navigation tools the user has selected.
In a yet another variant, at least one of the plurality of navigation tools comprises a search tool adapted to permit the user to search available content based on user-entered key words.
In a further variant, at least one of the plurality of navigation tools comprises a tool linking the user to a virtual channel wherein recommended content is displayed.
In still another variant, at least one of the plurality of navigation tools comprises a tool linking the user to purchasable content.
In another variant, at least one of the plurality of navigation tools comprises a tool linking the user to an electronic program guide.
In yet another variant, at least one of the plurality of navigation tools comprises a tool linking the user to the contents of a premises content storage device.
In a third embodiment, the computer readable apparatus comprises a computer program which, when executed links individual ones of a plurality of navigation tools to the performance of a specific function; displays the plurality of navigation tools, the tools operable by a user via a user interface; and carries out navigation functions upon a user's selection of any one of the plurality of navigation tools via the user interface.
In a seventh aspect of the invention, a method of generating a subset of content elements having features consistent with a set of criteria is disclosed. In one embodiment, the method comprises: retrieving metadata regarding content elements from a content source associated therewith; determining similarity of the content metadata to the set of criteria; placing content elements having a threshold level of similarity in a list, the list arranged by similarity level; displaying at least one of the content elements in the list; interpreting a user action; updating the set of criteria to reflect the user action; and determining similarity of the content metadata to the updated set of criteria.
In an eighth aspect of the invention, a method of doing business in a content-based network is disclosed. In one embodiment, the method comprises: requesting and receiving an ensemble of content elements from a plurality of content sources; providing a navigable electronic program guide of the ensemble of content elements; providing a mechanism for the comparison of at least portions of the ensemble of content elements to a prescribed set of criteria; storing information regarding individual ones of the ensemble of content elements; and displaying results of the comparison to a user.
In one variant, the comparison comprises utilizing metadata transmitted with and relating to the content to find matches to the set of criteria.
In another variant, the stored information regarding individual ones of the ensemble of content elements comprises at least content identification information, content location information, and content accessing information, and the act of providing the selected content to the user comprises: displaying a portion of the content identification information to a user display; providing a means for the selection of individual ones of the content; utilizing at least the content location and content accessing information to locate and access the content; and displaying the content to the user at the user display.
In a further variant, the act of providing the selected content to the user comprises: providing a virtual channel accessible by the user; providing a mechanism to utilize at least the content location and content accessing information to locate and access the content; and displaying the content to the user at the virtual channel. The content is displayed in order dictated by the list.
Other features and advantages of the present invention will immediately be recognized by persons of ordinary skill in the art with reference to the attached drawings and detailed description of exemplary embodiments as given below.
Reference is now made to the drawings, wherein like numerals refer to like parts throughout.
As used herein, the term “advertisement” and similar forms refers without limitation to any audio, visual, promotion, message, or communication, whether for-profit or otherwise, that is perceptible by a human. Examples of advertisements include so-called “bumper” advertisements (advertisements inserted before or after a client requested program), “pause” advertisements (presented when a client sends a pause control command to a video server or the like), or additional and replacement advertisements.
As used herein, the term “application” refers generally to a unit of executable software that implements a certain functionality or theme. The themes of applications vary broadly across any number of disciplines and function (such as on demand content management, e-commerce transactions, brokerage transactions, home entertainment, calculator etc.), and one application may have more than one theme. The unit of executable software generally runs in a predetermined environment; for example, the unit could comprise a downloadable Java Xlet™ that runs within the JavaTV™ environment.
As used herein, the term “capacity” refers to, without limitation, the ability of a network, portion of a network, or component thereof (whether individually or in concert) to provide a requested or needed service, act or level of performance. One commonly used metric of capacity is so-called “bandwidth”, roughly akin to the size of the channel or “pipe” capable of carrying content or other information. However, capacity limitations may be imposed by any number of factors, such as the unavailability of the content from a provider (e.g., studio or television network), delays imposed by transmission, filtering, transcoding, encryption/decryption, conditional access establishment and/or download (e.g., according to a “DCAS” or downloadable conditional access system paradigm), and so forth.
As used herein, the terms “client device” and “end user device” include, but are not limited to, set-top boxes (e.g., DSTBs), personal computers (PCs), and minicomputers, whether desktop, laptop, or otherwise, and mobile devices such as handheld computers, PDAs, personal media devices (PMDs), and smartphones.
As used herein, the term “codec” refers to an video, audio, or other data coding and/or decoding algorithm, process or apparatus including, without limitation, those of the MPEG (e.g., MPEG-1, MPEG-2, MPEG-4, etc.), Real (RealVideo, etc.), AC-3 (audio), DiVX, XViD/ViDX, Windows Media Video (e.g., WMV 7, 8, or 9), ATI Video codec, or VC-1 (SMPTE standard 421M) families.
As used herein, the term “computer program” or “software” is meant to include any sequence or human or machine cognizable steps which perform a function. Such program may be rendered in virtually any programming language or environment including, for example, C/C++, Fortran, COBOL, PASCAL, assembly language, markup languages (e.g., HTML, SGML, XML, VoXML), and the like, as well as object-oriented environments such as the Common Object Request Broker Architecture (CORBA), Java™ (including J2ME, Java Beans, etc.), Binary Runtime Environment (e.g., BREW), and the like.
As used herein, the term “conditional access” refers to any access control scheme, whether implemented in hardware, software, or firmware (or combinations thereof), including without limitation members of the “PowerKey™” family, NDS (including VideoGuard, mVideoGuard, etc.), DVB, and Motorola/General Instrument DigiCipher® family (DigiCipher II, etc.). These can be implemented using, for example, CA-specific hardware/software elements embedded in the device, the so-called “CableCARD™” plug-in security module access technology, a downloadable CA system (DCAS), or otherwise.
As used herein, the term “consideration” refers without limitation to a payment, incentive, option, forbearance of a debt, credit, or any other thing or act which conveys monetary or any other type of value between two or more parties, such as for example cash or credit/debit payments, credits to account, erasure of debt, exchanges, barters, options or rights of first refusal.
Similarly, the terms “Consumer Premises Equipment (CPE)” and “host device” refer to any type of electronic equipment located within a consumer's or user's premises and connected to a network. The term “host device” refers generally to a terminal device that has access to digital television content via a satellite, cable, or terrestrial network. The host device functionality may be integrated into a digital television (DTV) set. The term “consumer premises equipment” (CPE) includes such electronic equipment such as set-top boxes, televisions, Digital Video Recorders (DVR), gateway storage devices (Furnace), and ITV Personal Computers.
As used herein, the term “display” means any type of device adapted to display information, including without limitation: CRTs, LCDs, TFTs, plasma displays, LEDs, incandescent and fluorescent devices. Display devices may also include less dynamic devices such as, for example, printers, e-ink devices, and the like.
As used herein, the term “DOCSIS” refers to any of tie existing or planned variants of the Data Over Cable Services Interface Specification, including for example DOCSIS versions 1.0, 1.1, 2.0 and 3.0. DOCSIS (version 1.0) is a standard and protocol for internet access using a “digital” cable network. DOCSIS 1.1 is interoperable with DOCSIS 1.0, and has data rate and latency guarantees (VoIP), as well as improved security compared to DOCSIS 1.0. DOCSIS 2.0 is interoperable with 1.0 and 1.1, yet provides a wider upstream band (6.4 MHz), as well as new modulation formats including TDMA and CDMA. It also provides symmetric services (30 Mbps upstream).
As used herein, the term “DVR” (digital video recorder) refers generally to any type of recording mechanism and/or software environment, located in the headend, the user premises or anywhere else, whereby content sent over a network can be recorded and selectively recalled. Such DVR may be dedicated in nature, or part of a non-dedicated or multi-function system.
As used herein, the term “headend” refers generally to a networked system controlled by an operator (e.g., an MSO or multiple systems operator) that distributes programming to MSO clientele using client devices. Such programming may include literally any information source/receiver including, inter alia, free-to-air TV channels, pay TV channels, interactive TV, and the Internet. DSTBs may literally take on any configuration, and can be retail devices meaning that consumers may or may not obtain their DSTBs from the MSO exclusively. Accordingly, it is anticipated that MSO networks may have client devices from multiple vendors, and these client devices will have widely varying hardware capabilities. Multiple regional headends may be in the same or different cities.
As used herein, the term “integrated circuit (IC)” refers to any type of device having any level of integration (including without limitation ULSI, VLSI, and LSI) and irrespective of process or base materials (including, without limitation Si, SiGe, CMOS and GaAs). ICs may include, for example, memory devices (e.g., DRAM, SRAM, DDRAM, EEPROM/Flash, ROM), digital processors, SoC devices, FPGAs, ASICs, ADCs, DACs, transceivers, memory controllers, and other devices, as well as any combinations thereof.
As used herein, the terms “Internet” and “internet” are used interchangeably to refer to inter-networks including, without limitation, the Internet.
As used herein, the term “memory” includes any type of integrated circuit or other storage device adapted for storing digital data including, without limitation, ROM. PROM, EEPROM, DRAM, SDRAM, DDR/2, DRAM, EDO/FPMS, RLDRAM, SRAM, “flash” memory (e.g., NAND/NOR), and PSRAM.
As used herein, the terms “microprocessor” and “digital processor” are meant generally to include all types of digital processing devices including, without limitation, digital signal processors (DSPs), reduced instruction set computers (RISC), general-purpose (CISC) processors, microprocessors, gate arrays (e.g., FPGAs), PLDs, reconfigurable compute fabrics (RCFs), array processors, secure microprocessors, and application-specific integrated circuits (ASICs). Such digital processors may be contained on a single unitary IC die, or distributed across multiple components.
As used herein, the terms “MSO” or “multi-systems operator” or “multiple systems operator” refer to a cable, fiber to the home (FTTH), fiber to the curb (FTTC), satellite, or terrestrial network provider having infrastructure required to deliver services including programming and data over those mediums.
As used herein, the terms “network” and “bearer network” refer generally to any type of telecommunications or data network including, without limitation, hybrid fiber coax (HFC) networks, satellite networks, telco networks, and data networks (including MANs, WANs, LANs, WLANs, internets, and intranets). Such networks or portions thereof may utilize any one or more different topologies (e.g., ring, bus, star, loop, etc.), transmission media (e.g., wired/RF cable, RF wireless, millimeter wave, optical, etc.) and/or communications or networking protocols (e.g., SONET, DOCSIS, IEEE Std. 802.3, ATM, X.25, Frame Relay, 3GPP, 3GPP2, WAP, SIP, UDP, FTP, RTP/RTCP, H.323, etc.).
As used herein, the terms “network agent” and “network entity” refers to any network entity (whether software, firmware, and/or hardware based) adapted to perform one or more specific purposes. For example, a network agent or entity may comprise a computer program running in server belonging to a network operator, which is in communication with one or more processes on a CPE or other device.
As used herein, the term “network interface” refers to any signal, data, or software interface with a component, network or process including, without limitation, those of the FireWire (e.g., FW400, FW800, etc.), USB (e.g., USB2), Ethernet (e.g., 10/100, 10/100/1000 (Gigabit Ethernet), 10-Gig-E, etc.), MoCA, Serial ATA (e.g., SATA, e-SATA, SATAII), Ultra-ATA/DMA, Coaxsys (e.g., TVnet™, radio frequency tuner (e.g., in-band or OOB, cable modem, etc.), WiFi (802.11a,b,g,n), WiMAX (802.16), PAN (802.15), or IrDA families.
As used herein, the term “node” refers without limitation to any location, functional entity, or component within a network.
As used herein, the term “on demand” or “OD” is meant to include any service that enables real, quasi-real time (e.g. “trick” mode delivery) or even non-real time delivery of content such as audio and/or video programs at any resolution, or data. Such content may be, for example, stored or temporarily cached on a server, or streamed directly from a source, and may be in response to a user-initiated event, service profile or configuration, headend event, or otherwise.
As used herein, the term “QAM” refers to modulation schemes used for sending signals over cable networks. Such modulation scheme might use any constellation level (e.g. QPSK, QAM-16, QAM-64, QAM-256 etc.) depending on details of a cable network. A QAM may also refer to a physical channel modulated according to the schemes.
As used herein, the term “server” refers to any computerized component, system or entity regardless of form which is adapted to provide data, files, applications, content, or other services to one or more other devices or entities on a computer network.
As used herein, the term “service”, “content”, “program” and “stream” are sometimes used synonymously to refer to a sequence of packetized data that is provided in what a subscriber may perceive as a service. A “service” (or “content”, or “stream”) in the former, specialized sense may correspond to different types of services in the latter, non-technical sense. For example, a “service” in the specialized sense may correspond to, among others, video broadcast, audio-only broadcast, pay-per-view, or video on demand. The perceivable content provided on such a “service” may be live, pre-recorded, delimited in time, undelimited in time, or of other descriptions. In some cases, a “service” in the specialized sense may correspond to what a subscriber would perceive as a “channel” in traditional broadcast television.
As used herein, the term “service group” refers to either a group of service users (e.g. subscribers) or the resources shared by them in the form of entire cable RF signal, only the RF channels used to receive the service or otherwise treated as a single logical unit by the network for resource assignment.
As used herein, the term “storage device” refers to without limitation computer hard drives, DVR device, memory, RAID devices or arrays, optical media (e.g., CD-ROMs, Laserdiscs, Blu-Ray, etc.), or any other devices or media capable of storing content or other information.
As used herein, the terms “user channel” and “program channel” are all generally synonymous with the concept of a perceived stream of information. For example, a program/user channel might comprise “Channel 3” which carries the content of a given network (e.g., NBC). This is to be distinguished from a physical channel, which is used to physically carry and distribute the content, which may for example comprise one or more QAMs within a given portion of the RF spectrum of a cable system.
As used herein, the term “user interface” refers to, without limitation, any visual, graphical, tactile, audible, sensory, or other means of providing information to and/or receiving information from a user or other entity including without limitation computer display screens and windows, touch screens (including “multi-touch” Y units), mechanical interfaces such as keyboards, scanners, microphones and speakers, etc.
As used herein, the term “WiFi” refers to, without limitation, any of the variants of IEEE-Std. 802.11 or related standards including 802.11 a/b/g/n.
As used herein, the term “wireless” means any wireless signal, data, communication, or other interface including without limitation WiFi, Bluetooth, 3G, HSDPA/HSUPA, TDMA, CDMA (e.g., IS-95A, WCDMA, etc.), FHSS, DSSS, GSM, PAN/802.15, WiMAX (802.16), 802.20, narrowband/FDMA, OFDM, PCS/DCS, analog cellular, CDPD, satellite systems, millimeter wave or microwave systems, acoustic, and infrared (i.e., IrDA).
In one salient aspect, the invention discloses methods and apparatus for “fused” targeted content delivery in a content-based network, such as a cable television or satellite network. Specifically,-the present invention provides a substantially user-friendly mechanism for viewing content compiled from various sources, including, inter alia, DVR, broadcast, VOD, Start Over, etc., and particularly that content selected to align with a user's preferences, which is displayed as a substantially continuous stream as part of a “virtual” user-based channel. In one embodiment, a user profile is constructed and targeted content gathered without requiring any user intervention whatsoever; e.g., based on a user's past or contemporaneous interactions with respect to particular types of content. The “virtual channel” acts as a centralized interface for the user and their content selections and preferences, as if the content relevant to a given user were in fact streamed over one program channel.
In another aspect, the compiled content is presented to the user in the form of a “playlist” from which a user may select desired content for viewing and/or recording. In one variant, a user is also presented with content having varying degrees or aspects of similarity to that presented in the “playlist” or elsewhere, including content listed in the EPG. In another variant, the user's purchase of recommended (and non-recommended) content is enabled directly from the aforementioned playlist and/or the virtual channel.
In another aspect of the invention, the user is able to navigate between on-demand content, the virtual channel, an EPG, a search tool, and a DVR navigation tool from a single user interface (e.g., on-screen display).
In yet another aspect of the invention, an improved EPG is provided. The EPG gives a user the ability to view broadcast content across a broad timeline (i.e., content previously aired, as well as that which is currently airing and that which will air in the future). The EPG may incorporate various functions including allowing a user to start over, record, watch, receive more information about, catch up with, and rate the content of interest. The EPG also includes a function wherein a user may view an entire day's programming from one or more program channels. The user may also pull up recommended content from the EPG and can, in one embodiment, view a customized EPG showing a schedule solely comprised of recommended content.
Another feature of the invention is the ability for content viewed to continue progressing (i.e., continue playing) in the background while a user navigates among the various associated interfaces available to them.
In another aspect, client applications (e.g., those disposed on a subscriber's CPE and/or network servers) are utilized to compile the playlist based on user-imputed as well as pre-programmed user profiles. Various feedback mechanisms may also be utilized to enable the client application to “learn” from the user's activities in order to update the user profile and generate more finely-tuned and cogent recommendations. Client applications may also be utilized to manage the seamless presentation of content on the virtual channel, and locate/flag various scenes inside selected content for user viewing or editing.
Additionally, a user may establish a remote connection to the aforementioned client applications via an internet or LAN/MAN (such as the Internet). Accordingly, the user may modify and create a future playlist and may remotely establish programs to record and/or be erased from an at home recording device (DVR, etc.).
Methods and apparatus for dynamic secondary content insertion (e.g., recommendation and/or insertion of content such as movies, advertisements, etc. based upon the user profile) are also described, as well as techniques for maintaining user anonymity (privacy) across the various delivery paths.
In yet another aspect, all or portions of the functionality of the client applications discussed above may be implemented by a network-based entity (e.g., hub or headend server) adapted to perform these function for a variety of user profiles simultaneously.
Advantageously, the methods and apparatus of the invention are readily implemented using existing infrastructure, thereby obviating significant modifications or expense in implementing such capabilities.
An operational and business rules “engine” useful in implementing various operational or business goals, and methods of doing business, are also disclosed.
Exemplary embodiments of the apparatus and methods of the present invention are now described in detail. While these exemplary embodiments are described in the context of the aforementioned hybrid fiber coax (HFC) cable architecture having an multi-system operator (MSO), digital networking capability, and plurality of client devices/CPE, the general principles and advantages of the invention may be extended to other types of networks and architectures, whether broadband, narrowband, wired or wireless, content or data, or otherwise. Hence, the following description is merely exemplary in nature. For example, the invention may be practiced over a fiber-to-the-home (FTTH) or fiber-to-the-curb (FTTC) system, or over a satellite or millimeter wave-based network.
It will also be appreciated that while described generally in the context of a network providing service to a consumer (i.e., home) end user domain, the present invention may be readily adapted to other types of environments including, e.g., commercial/enterprise, and government/military applications. Myriad other applications are possible.
Moreover, while the primary embodiments described herein describe predominantly the distribution of programs or similar content, other types of content including without limitation advertisements/promotions, instructional videos, or even data applications or files may likewise be distributed using the techniques of the present invention.
It is also noted that while aspects of the invention are described primarily in the context of 6 MHz RF channels within the HFC network, the present invention is applicable to any frequency/bandwidth, such as for example 8 MHz channels. Further, while generally described in terms of content delivery over discrete QAMs or RF channels, relevant portions of the invention can be used in conjunction with multiplexing algorithm and wideband tuner apparatus such as that described in co-owned and co-pending U.S. patent application Ser. No. 11/013,671 filed Dec. 15, 2004 and entitled “Method And Apparatus For Wideband Distribution Of Content”, which issued as U.S. Pat. No. 9,723,267 on Aug. 1, 2017 and is incorporated herein by reference in its entirety.
Also, while certain aspects are described primarily in the context of the well-known Internet Protocol (described in, inter alia, RFC 791 and 2460), it will be appreciated that the present invention may utilize other types of protocols (and in fact bearer networks to include other internets and intranets) to implement the described functionality.
Bearer Network Architecture
Furthermore, as discussed in greater detail subsequently herein, the generalized network of
The data/application origination point 102 comprises any medium that allows data and/or applications (such as a VOD-based application, gaming application, or “Watch TV” application) to be transferred to a distribution server 104. This can include for example a third party data source, application vendor website, CD-ROM, external network interface, mass storage device (e.g., RAID system), etc. Such transference may be automatic, initiated upon the occurrence of one or more specified events (such as the receipt of a request packet or ACK), performed manually, or accomplished in any number of other modes readily recognized by those of ordinary skill.
The application distribution server 104 comprises a computer system where such applications can enter the network system. Distribution servers are well known in the networking arts, and accordingly not described further herein.
The VOD server 105 comprises a computer system where on demand content can be received from one or more of the aforementioned data sources 102 and enter the network system. These servers may generate the content locally, or alternatively act as a gateway or intermediary from a distant source.
The CPE 106 includes any equipment in the “customers' premises” (or other locations, whether local or remote to the servers 104, 105) that can be accessed by a distribution server 104 or VOD server 105. Exemplary embodiments of a “converged” CPE (i.e., CD) of the invention are also described subsequently herein.
Referring now to
The architecture 150 of
It will also be recognized, however, that the multiplexing operation(s) need not necessarily occur at the headend 150 (e.g., in the aforementioned MEM 162). For example, in one variant, at least a portion of the multiplexing is conducted at a BSA switching node or hub (see discussion of
Content (e.g., audio, video, data, applications, etc.) is provided in each downstream (in-band) channel associated with the relevant service group. To communicate with the headend or intermediary node (e.g., hub server), the CPE 106 may use the out-of-band (OOB) or DOCSIS channels and associated protocols. The OCAP 1.0, 2.0, 3.0 (and subsequent) specification provides for exemplary networking protocols both downstream and upstream, although the invention is in no way limited to these approaches.
It will also be recognized that the multiple servers (broadcast, VOD, or otherwise) can be used, and disposed at two or more different locations if desired, such as being part of different server “farms”. These multiple servers can be used to feed one service group, or alternatively different service groups. In a simple architecture, a single server is used to feed one or more service groups. In another variant, multiple servers located at the same location are used to feed one or more service groups. In yet another variant, multiple servers disposed at different location are used to feed one or more service groups.
As shown in
“Switched” Networks
Switching architectures allow improved efficiency of bandwidth use for ordinary digital broadcast programs. Ideally, the subscriber will be unaware of any difference between programs delivered using a switched network and ordinary streaming broadcast delivery.
Co-owned U.S. patent application Ser. No. 09/956,688 filed Sep. 20, 2001 and entitled “Technique For Effectively Providing Program Material In A Cable Television System”, which issued as U.S. Pat. No. 8,713,623 on Apr. 29, 2014 and is incorporated herein by reference in its entirety, describes one exemplary broadcast switched digital architecture useful with the present invention, although it will be recognized by those of ordinary skill that other approaches and architectures may be substituted.
In addition to “broadcast” content (e.g., video programming), the systems of
Referring again to
The edge switch 194 forwards the packets receive from the CMTS 199 to the QAM modulator 189, which transmits the packets on one or more physical (QAM-modulated RF) channels to the CPEs (or CD). The IP packets are typically transmitted on RF channels that are different that the RF channels used for the broadcast video and audio programming, although this is not a requirement. The CPE 106 are each configured to monitor the particular assigned RF channel (such as via a port or socket ID/address, or other such mechanism) for IP packets intended for the subscriber premises/address that they serve.
Virtual Personal Media Channel (VPMC)
In the exemplary embodiment, the virtual personal media channel (VPMC) of the present invention somewhat resembles a conventional program channel, at least from a user's perspective. However, unlike a conventional program channel, when a user tunes to the VPMC, they are provided with a content stream that is specifically tailored to that user without the user having to physically enter preference or other information. The VPMC advantageously provides a seamless stream of programming pulled from various content sources, which is displayed according to a priority such that available content which a particular user is most likely to enjoy will be presented first, and so forth.
Hence, the VPMC can be thought of as a personalized user-specific program channel (one exemplary implementation of which is the “Me Channel™” service provided by the Assignee hereof) which aggregates content from various sources to make for a richer, more enjoyable user viewing experience.
Various aspects of the VPMC are now described in detail.
Content Sources
As noted above, the exemplary configuration of the VPMC presents a user with a highly tailored program stream containing content pulled from various sources. Several of the sources from which content may be streamed, and the manner in which they are pulled and placed in the VPMC stream, are discussed below.
Content presented to the user may in one case comprise content contemporaneously broadcast on a separate program channel. In other words, the VPMC may pull content from a separate program channel while it is being broadcast on that other channel. Accordingly, both the VPMC and the original program channel will broadcast the content simultaneously (“simulcast”). A user, tuning to the VPMC, is benefited inter alia in that the user will not have to bear the burden of having to seek out the content on his/her own, such as from a guide (whether electronic, physical or otherwise), and tune to the program channel which the content is set to broadcast at the appropriate time (e.g., by selection at an EPG or by manually keying in the program channel number). Rather, the VPMC in effect “knows” that the user would prefer to view that content, finds the content for the user, and displays the content at the time the broadcast of the content is set. In one embodiment, the broadcast of contemporaneously broadcast programs on the virtual channel is accomplished by well known simulcast techniques (i.e., actually delivering the content on two different program channels, which may or may not be on the same downstream QAM. Alternatively, the VPMC may seamless link the virtual channel to the program channel on which the program is broadcast via an imperceptible program channel switch; e.g., instructing the tuner to switch to the relevant QAM where the content is being delivered, and back to the VPMC at appropriate points. Alternative methods may also be utilized.
Delivery of content within a user's premises may be substantially IP based. In other words, a gateway storage device (such as, for example, a Furnace) may be disposed within the premises so that content may be transported within the premises (e.g., to other devices within a home premises). It is also appreciated that one or more devices within the home premises may utilize Media Over Coax Alliance (MoCA) technology for providing data over coax capability or other similar content distribution technology.
The content presented to the user may also comprise content previously broadcast on a separate program channel, which is either stored locally (e.g., on a user premises device such as a CD or DVR) or stored at a headend entity. Thus, rather than displaying the content, the VPMC presents the user with an opportunity to record the content locally (such as at the user's DVR) and view it at a later time, more appropriate for the user. Alternatively, the system may be programmed to automatically record content having a certain threshold level of similarity to the user's preferences. At any time after the content has been recorded, the content may be presented to the user. In one embodiment, the virtual channel may display the recorded program automatically when the recorded content has the highest level of similarity to the user's preferences, or meets other such criteria. In another embodiment, the user may be given an option to watch the recorded program or watch a currently airing program (having a lower level of similarity to the user's preferences).
Alternatively, the VPMC may present the user with broadcast content at any time after the broadcast has begun but before the broadcast has ended. In this model, the content is stored on a headend entity, such as at a VOD server 105 for storing “start-over” content as described in co-owned, co-pending U.S. Patent Publication No. 2005/0034171 to Benya entitled “Technique for delivering programming content based on a modified network personal video recorder service” incorporated herein by reference in its entirety; and is accessible anytime during the period set for broadcast of the program. In one embodiment, when a user tunes to the VPMC, the user will be presented with an opportunity to re-start the broadcast of a program; e.g., one having the highest level of similarity to his preferences. In an alternative embodiment, the re-started program may be automatically presented upon tuning to the VPMC.
The VPMC may also present a user with VOD, subscription VOD (SVOD), Free VOD (FVOD) or other on-demand content which is accessible through a VOD server or other related server. Where applicable, this content may be purchased directly via the VPMC user interface (described in greater detail subsequently herein). According to this model, the VPMC enables a user to order purchasable content which appears in the VPMC stream (as content the user may want to view) by establishing a connection to the aforementioned VOD server. The user, upon confirmation of the purchase of the content, is then able to view the content on the VPMC in the same logical “stream” as the other content the VPMC presents.
In another embodiment, the user's personal media content will appear in the VPMC stream through the establishment of a connection to the user's CPE/personal content storage device. For example, the user's CPE 106 may comprise a converged premises device such as that described in co-owned and U.S. patent application Ser. No. 11/378,129 filed Mar. 16, 2006 and entitled “Methods and Apparatus for Centralized Content and Data Delivery”, which issued as U.S. Pat. No. 8,347,341 on Jan. 1, 2013 and is incorporated herein by reference in its entirety, although other configurations may be used consistent with the invention with equal success. Such converged premises devices afford a substantially integrated management platform and gateway for multiple sources of content within the subscriber's premises, such as their premises LAN (and connected PCs), MoCA network, DVR, etc.
Thus, the VPMC compiles content from any source by establishing a connection thereto, and adding appropriate content from that source to the prioritized list of content to be displayed on the VPMC. A user, when tuned to the VPMC, will be presented with the content from the various sources according to the display hierarchy (e.g., in priority order). Hence, the user is no longer required to search through the various program channels, program guides, DVR interface (list of recorded content), etc., in order to find content that the user would like to view and/or record. Additionally, as discussed in further detail below, the VPMC “knows” the time that content will be available, and adjusts the priority accordingly to ensure that its user is given an opportunity to view or record finite duration content as it is broadcast or available.
Viewing Content on VPMC and Navigating the Priority Playlist
As will be discussed in greater detail below, the exemplary configuration of the VPMC relies on a recommendation engine (e.g., software process) to generate a priority playlist; i.e., a playlist of content which is tailored to a user profile and is presented in priority order. The user may navigate through the prioritized content of the priority playlist to view certain ones of the content in a user-specified order, or may allow the VPMC to display the priority playlist as a single content stream (i.e., the entirety of the playlist is displayed in priority order, uninterrupted).
In one embodiment, the user tunes to the VPMC (e.g., program channel No. XYZ) and views content as it appears (i.e., in priority order, uninterrupted). Accordingly, the user is presented with the first priority content first. As will be discussed in further detail below, the prioritization of content takes into account that certain content is time-sensitive, and thus the prioritization scheme adjusts accordingly. As the user views the first priority content in this embodiment, the prioritization of the remaining content may also dynamically change so as to incorporate any new content that becomes available according to a broadcast schedule, and to remove content that is no longer available as its broadcast has terminated. When the viewed content terminates (either naturally or upon a terminating user act), the priority playlist updates itself to present the user with a new, first-priority content and/or an updated priority playlist.
It is also appreciated that during viewing, the user will be able to apply so-called “trick mode” features to control their viewing experience including for example pause, fast forward and rewind, where available. Methods and apparatus for implementing such trick mode features within a content based network (such as via the lightweight stream control protocol or LSCP) are well known in the art, and thus will not be described in further detail herein.
In another embodiment of the invention, when the user “tunes” to the VPMC (e.g., makes a selection via an on-screen display within a navigation program running on their CPE 106), the prioritized content is presented as a series of clips or “trailers” which play from highest to least priority, and cycle back through again until the user makes a selection or requests an alternative action.
Alternatively, when the user selects the VPMC and is presented with the first priority content of the priority playlist, the user may navigate away from this content by selecting an option to “surf the VPMC” and/or to view the priority playlist so as to possibly select certain content there from.
As illustrated in the exemplary screenshot of
The surfing interface 200 of
In an alternative embodiment, however, surfing of the VPMC may comprise surfing trailers, thumbnails and/or descriptions of all of the available content (whether purchasable or otherwise), such that a user will not view any content, even immediately available content, until the user has affirmatively selected to view that content.
As noted above, the user may navigate away from the first priority content by selecting to view the playlist.
The mechanism for indicating to the user his position within the playlist interface 210 in the illustrated embodiment comprises a highlighted bar 214, however, it is appreciated that other indicators 214 including, inter alia, an icon, such as a dot, a star, increased size of wording, modulating the color or intensity of the text/icon, etc., may be utilized as well. The user's position within the playlist 212, and thus the indicator 214 may be moved within the list by a user pressing “up” and “down” keys (or other keys which have a position relative one another that would indicate position on the list, such as, volume keys, numerical channel keys, etc.) on the remote control. As a user disposes the indicator 214 on an individual program 211n within the list, program information 206 about that individual program 211n is displayed such as in a balloon window or other display area; the exemplary playlist interface 210 of
Similar Content Function
In one embodiment, at the playlist interface 210 of
Referring now to
The “similar” content interface 220 of
The indicator 214, as above, may be moved within the similar playlist 224 by using appropriate remote control buttons (such as “up” and “down”, “channel up” and “channel down”, or “volume up” and “volume down” controls, dedicated function buttons, etc.) to select an individual similar program 225n. Program information 206, a thumbnail 218 and rank 216 (where applicable) of the selected similar program 225n are displayed when the user places the visual indicator 214 on a similar program 225n.
Explore Content Function
At the exemplary playlist interface 210 of
Referring now to
The indicator 214, as above, may be moved within the Explore playlist 234 by using appropriate remote control buttons to select an individual explored program 235n. Program information 206, a thumbnail 218 and rank 216 (where applicable) of the selected explored program 235n is automatically displayed when the user disposes the indicator 214 on an explored program 235n.
As noted above, generation of the “Similar” and “Explore” content playlists 224, 234 occurs by examining one or more facets of the content (such as theme or genre, studio, primary actors, run time, rating/suitability for various audiences, geographic relation, etc.) and comparing these to corresponding aspects of other available content. In one embodiment, each evaluated facet is given a weight, and content with the highest level of similarity to the selected content (e.g., that highlighted on the primary content playlist and selected for the “Similar” or “Explore” functions) based on these evaluated aspects and weighing is presented. The aspects which are evaluated in the exemplary embodiment differ between the Similar and Explore content functions, and/or these functions may impose a different weight to individual ones of the various aspects examined. In one embodiment, the Explore content function delivers content which has a higher degree of similarity to certain aspects of the selected content than that content which is delivered via the aforementioned Similar function. In other words, the exemplary Explore function permits a more narrow and focused search of available content than the similar content function. Alternatively, the Explore content function may be configured to deliver content having less similarity to the selected content, thus providing a broader search than the Similar function.
It is also appreciated that, in another embodiment, the user may, upon selection of the “Explore” and/or “Similar” function be given an opportunity to select or enter the criteria by which similar or explored content will be searched. For example, a user may select the Explore and/or Similar menu option and be presented with a list of the various aspects of the selected content. In the example of
Purchasable Content
When a viewer tunes to the VPMC stream and/or navigates the playlist 212 (
In one embodiment, where the user has viewed the first priority content, and the second priority content is purchasable content, the VPMC may cycle through the trailer or preview one or more times before proceeding on to the next priority content or, alternatively, may display the priority list 212 (at which point the user must affirmatively select the purchasable or other content).
As will be discussed in greater detail below, when a purchasable content trailer or other such descriptive information is presented, the display elements 242, 244 of the purchasable content interface 240 are displayed on top of the trailer in such a way so as to not appreciably obscure or mask the user's continued viewing of the trailer/information. One embodiment of the purchasable content interface 240 is depicted in
Upon selection of content for purchase per the instructions 242 of
Navigation Interface
Referring now to
The user's position on the navigation toolbar 302, in the embodiment of
As a user places the highlight 306 on particular tool 304c within the list, additional information, lists, or interfaces may appear. In other words, indication (via the highlighting indicator 306) in the navigation interface 300 triggers an abbreviated interface or information list to appear on the display for each of the navigation tools 304. Thereafter, the user may select the tool 304 (by pressing “enter”, “select”, or other appropriate remote control button) to view the fall, more detailed interface or information.
For example, placing the highlight 306 on the on-demand tool 304a of the navigation toolbar 302 presents the user with a navigable list (not shown), such as the playlist 212 described above with respect to
Placing the highlight 306 on the Me Channel (VPMC) tool 304b presents the user with a priority playlist 212 similar to that discussed with respect to
As illustrated in
In another example, placing the highlight 306 on the search tool 304d of the navigation toolbar 302 provides the user with an interface (not shown) for searching various sources for content matching user-entered or other criteria. At this interface, the user can enter a search for a particular program, keyword, actor, genre, year, etc. The search engine will then generate a playlist of content (from the various sources discussed above) which matches the criteria of that search.
Alternatively, when a user selects the search tool 304d, a second searching interface (not shown) having more features may be provided. At this more detailed interface, a user may once again enter the user's own search criteria, or may select suggested search criteria provided by the search engine. For example, the search engine may suggest the user search previous searches, common searches, use “auto-complete” function of the type used on web browsers search inputs, etc., so as to save the user having to enter the criteria manually each time. The search engine may also suggest searching popular searches—the search engine may for example determine popularity based on data collected from various sources. For instance, the search engine may gather popularity data from Internet-based databases and/or from data collected from other similar search engines located in other user's homes within the same MSO network (e.g., other MSO subscribers).
It will be recognized that the aforementioned functions, and potentially other aspects of the present invention, can be effectively implemented by having user/CPE-specific data. To the degree that the collection of search engine or other data utilizes subscriber-specific or CPE-specific data in its operation, such data can optionally be protected so as to maintain subscriber privacy. For example, the MSO might use a mechanism to anonymously identify and associate the aforementioned data with particular CPE (and hence individual subscriber accounts). In one embodiment, subscriber identities are optionally protected by hashing or encryption of the tuner address or the like prior to logging and storage. The stored “hashed” address or other parameter (e.g., TUNER ID, MAC address, etc.) and associated data are therefore not traceable to a particular user account. The resulting obscured tuner address is repeatable so the necessary tuning location and other tracking may be performed while still maintaining complete subscriber anonymity. Alternatively, all or portions of the user-specific (albeit anonymous) information may be stripped off before storage and/or usage of the data. See, e.g., co-owned and co-pending U.S. patent application Ser. No. 11/186,452 filed Jul. 20, 2005 and entitled “Method and Apparatus for Boundary-Based Network Operation”, which is incorporated herein by reference in its entirety, for exemplary implementation of such privacy protection mechanisms. Accordingly, the search engine can evaluate individual CPE 106 based on searching activity, and provide analysis based on data gleaned from that particular CPE (i.e., on a per-CPE basis), or groups of CPE, if desired.
Referring again to
Although the embodiment of
Improved Electronic Program Guide (EPG)
As discussed above and illustrated in
Referring now to
The exemplary EPG 410 of the present invention further comprises descriptive headers 414 which indicate to the user whether he/she is viewing a listing of content that: (i) was previously aired 414a, (ii) is currently being aired 414b, or (iii0 will air at some future time 414c. In the illustrated embodiment, the headers which indicate the user's position relative to the current time are: “look back” 414a, “now” 414b, and/or “look ahead” 414c; however, it is noted that alternate text or mechanisms (such as icons) may be used in the descriptive headers 414.
As shown in
The navigation indicator 402 allows the user to keep track of his movement within the EPG 410. In the illustrated embodiment, the indicator 402 comprises a highlighted or different color indicator; nevertheless, other approaches to indication (e.g., icons, modulation of color or intensity, etc.) are equally useful. The EPG also highlights, by showing in a separate color or shade, all of the content that is broadcast simultaneously with the content indicated by the navigation indicator 402. It is appreciated that such shading and/or coloring methods may also be implemented to indicate to the user which programs will be displayed on the VMPC and/or are, or will be, listed in the priority playlist 212.
Program Options Menu
Referring now to
For example,
Referring again to
Selection of the “Start Over” user action 422a takes the user to the beginning of the program; thus, the user will be directed to a display of the content.
The “Record” user action 422b takes the user to the recordation interface (not shown) which shows details of the recording, and confirms the user's intent to record the program.
When the user selects the “Watch” user action 422c, the user is taken to the program as it is being broadcast; this may be at the beginning, middle or end of the broadcast depending on what time the program began and what time the user selects the action 422c. Selection of the “Watch” user action 422c for a program that has not yet broadcast may take the user to the recordation interface discussed above, or to an interface adapted to allow the user to set a reminder to notify him at some point proximate the beginning of the broadcast.
In one embodiment, selecting the “Recommendations ” user action 422e sends the user to a list of recommended programming generated by a recommendation engine (similar to that used by the VPMC above). Accordingly, the program will suggest content similar to the highlighted content. It is appreciated that the programs suggested by the “Recommendations” user action 422e may be filtered to include e.g., only broadcast programs and/or only programs which are set to begin or have already begun at the time the list is generated. In an alternative embodiment, the “Recommendations” user action 422e may give the priority playlist 212 and/or take the user to the VPMC interface 210. In yet another embodiment, the “Recommendations” user action 422e may be adapted to use the recommendation engine to compare the content highlighted to the user profile and generate a descriptor of how likely the user is to enjoy or have interest in the content. In other words, the user will be given an estimate of the likelihood the user will enjoy the content. The descriptor may be a certain number of icons (e.g., 3 stars, etc.), a number within a scale (such as a 4 out of 10), or may be textual in nature (such as a fuzzy logic scheme—“highly likely to enjoy”, “likely to enjoy”, “not likely to enjoy” etc.).
Additional user actions 422, sending users to alternative user action 422 interfaces or displays, are presented in the embodiment of
Selection of the “Catch Up” user action 422f sends the user to a catch-up interface (not shown), at this interface, the user will be able to read about and/or watch clips from previous episodes of the selected program. Clips from the current episode may also be displayed so as to “catch up” to the point in the episode he/she is joining at some time after it has begun. This feature can also be utilized for serialized content; e.g., to catch a user up on prior episodes of the same program series (e.g., what happened in the prior four episodes of “24”).
When the user selects the “Rate This” user action 422g, the user is sent to a rating interface (not shown). At this interface, the user will be able to explicitly indicate whether this program (based on genre, actor, etc.) is one that the user likes or dislikes, and/or other subjective attributes. As will be discussed below, entry of information at this interface will assist a recommender in finding programming that is better suited to the user's profile and tastes.
Selecting the “Close” user action 422h automatically takes the user out of the present menu (context). Accordingly, in the illustrated embodiment, selecting “Close” will return the user to the EPG 410.
Finally, the “Quick Clips” user action 422i, when selected, allows customers to access short-form video content, including without limitation trailers and content produced for the Internet (e.g., YouTube™ videos, etc.). The Quick Clips function of the illustrated embodiment uses an IP-based transport and software such as that described in co-owned, U.S. Pat. No. 7,174,126 to McElhatten, et al. issued Feb. 6, 2007 and entitled “Technique for effectively accessing programming listing information in an entertainment delivery system” incorporated herein by reference in its entirety, to push short-form content created by the participating networks to a user's on-screen display. Online video content is provided from participating programmers within minutes of its original web posting. This is facilitated via a server package media gateway catcher which acquires, re-encodes and makes content available to users (e.g., by placing a link to the content on an on-screen menu). For example, according to one embodiment of the present invention, a user may select the Quick Clips feature and see a display of all available short-form content; the user may then select to view any one of the available content elements.
It is appreciated that the user actions 422 discussed above with respect to
Day Viewer
Referring to
In the illustrated embodiment, the day viewer interface 440 gives a schedule 442a comprised of a list of content sorted by time 444a and having a date header 446a (e.g., “Tuesday 11/10”). This configuration enables a user to view an entire day's content for a particular channel. The exemplary day viewer interface 440 also shows a schedule 442b which is comprised of time sorted content list 444b and date header 446b (e.g., “Wednesday 11/11”). In the illustrated embodiment, the schedules 442a, 442b represent content for the highlighted program channel on two different days. However, it is appreciated that the second schedule 442b may comprise scheduling information for a second program channel for the same or a different day than the first schedule 442a.
The exemplary day viewer interface 440 also comprises a featured content thumbnail display 448. The content thumbnails 218 placed in the thumbnail display 448 may comprise for example: (i) content which the selected network has chosen to feature, (ii) content which the recommender (e.g., recommendation engine) suggests from the selected network, (iii) content advertisements or promotions from any network, or may optionally be replaced by a second network description column (not shown) having the network identifier and program channel number highlighted to indicate for which network the second schedule 442b relates.
Personal EPG
In another embodiment of the invention (illustrated in
It is noted that, in one embodiment, the recommendation engine may display the priority playlist 212 as if it too were a program channel on the timeline. According to this model, the EPG gives the user a distinct view of what program/content choices are available at any time along the selected timeline. This view can also be dynamically altered as user selections/deletions are received, programming passes the time of its broadcast, etc.
In the illustrated embodiment, the personalized EPG 450 also displays a personal viewing playlist 458 which the user may “fill in” with content that the user would like to be streamed on the VPMC. The user may insert the content via the exemplary UI by inserting the content within the timeline using a series of remote control keys such as arrows and “enter” key (or “dragging and dropping” if remotely accessing using a PC or other such device, as described subsequently herein). Alternatively, selection of the content from the personalized EPG 450 timeline above may result in the placement of the content on the personal timeline of the viewing playlist 458. Other selection mechanisms (e.g., other remote control buttons, textual commands, touch screen interfaces, etc.) may be used for these functions as well.
At various times on the timeline, there may be no adequate (e.g., similar or “logically proximate” enough) content to display in the personalized EPG, these instances are indicated by empty, or alternatively patterned blocks 460 on the EPG. It is noted that at these points in the timeline, “moveable” content may be inserted into the personalized EPG and/or the personal timeline. Moveable content comprises content which is not fixed in the time it may be displayed, for example, VOD content, previously recorded (i.e., DVR) content, content that is “start-over” capable in the selected timeframe, etc. Moveable content may be presented to a user as an option, similar to those of the program options menu 420 discussed above.
The embodiment of
A further variant of this embodiment includes the ability of the user to view the personalized EPG 450 and/or personal timeline, as well as perform the abovementioned function via an Internet connection to an MSO-operated website (e.g., over a TCP/IP transport).
In an alternative embodiment, the EPG may be comprised of all content from each program channel as discussed above, but has some identifying feature for that content which is recommended; e.g., highlighting, appearing in a different color, shading, arrows, icons, etc.
Continuous Background Content
As illustrated in
In one variant, the degree of transparency is primarily coupled to the position on the screen; i.e., more peripheral areas can tolerate a greater opacity, whereas those closer to the center of the display (where most of the interesting “action” is presumed to be, since as a general rule camera images attempt to maintain the primary subject(s) at least somewhat centered), less opacity can be tolerated. Other schemes may be applied as well. Moreover, the client software (e.g., that operating on the CPE 106) can include a user management interface (not shown) which allows the user to set the various attributes of their menu and display functionality according to their own preferences (e.g., persistence or latency of the menus displayed, degree of opacity, brightness, contrast, placement on the display screen, etc.).
Profile Creation and Selection
It is appreciated that in one embodiment, among the list of user profiles a user is presented with, one or more pre-programmed profiles having descriptive headings, including, for example “Family TV”, “Kids”, “Night Time Television”, “Prime Time Viewer”, “Reality TV”, “Over 50”, “Teens”, etc. may be included. These “user” profiles are not necessarily representative of a particular user, but rather a category of user or genre of interest to potentially many different users in the same premises. These profiles may be generated using local data from the affected users at the premises, or alternatively may be generated by the MSO or third party programmer based on demographic or other data (e.g., a profile which people over 50 years of age would in general (on average) tend to enjoy.) Hence, the CPE 106 or other relevant network entity can “pre-load” profiles at installation or first use of the CPE 106, and these profiles can then be modified by the user (or automatically by way of the client software update process) so as to fine-tune them to the particular premises. For instance, the generic or template “Over 50” profile may not be very accurate for a particular household whose adults over age 50 tend to watch programs oriented to younger viewers.
In yet another alternative embodiment, each CPE 106 will automatically have a certain number of profiles established which are indicative of the time of day or date that programs are being viewed. For example the profiles may include: weekday mornings, weekday afternoons, weekday primetime, weekday late night, weekend morning, weekend afternoon, weekend evening, weekend late night, etc., given that most viewers will tend to watch certain types of programming at certain times of the day/week.
At the user profile interface, the user may select a user profile 506 (i.e., log in as themselves or a different user), edit existing user profiles 508, and/or create new user profiles 512. However, it is appreciated that in one embodiment, certain user profiles may have limited editing capabilities since they are generated based on criteria not specific or personal to any given user.
As previously noted, at step 506, the user may select of any one of the list of user profiles. Any interface 470 to which the user is subsequently directed will display, as user profile data 202, the profile selected at step 506.
To make changes to an existing profile (either a previously created profile or a pre-set profile), the user selects at step 508, the option to edit a profile. The client software then, at step 510, directs the user to a profile editing interface. At the editing interface, the user may navigate and change profile related data by designating content features or aspects the user does and does not prefer. For example, a user may indicate at the editing interface a preference for comedy programs, or for certain actors, or programming from a particular era (e.g., the 1970's, etc.). The user may also change personal information (e.g., demographic information) which is utilized to target content to preferences. This information may include, inter alia, gender, age, zip code, occupation, household income, marital status, hobbies, etc. Once the user has completed entering and/or editing the user preferences, the user may save the information, and exit the profile editing interface. Upon exiting, the playlist generator or recommender will use the edited profile (step 518) to generate recommendations, suggestions, playlists, etc.
To create a new profile, the user will select (at step 512) an option to create a new profile. In response, a new profile interface is displayed and the user will be prompted to enter a profile name (step 514). It is further appreciated that other methods of identifying a profile and recognizing a user may be implemented, such as an image, a password, or other identifier. Moreover, if the profile will be accessed or transmitted over the network, the user can be anonymously identified if desired via their CPE, and or the profile encrypted or hashed; see the discussion presented above regarding preserving subscriber anonymity.
At step 516, the user may optionally enter other profile data including, inter alia, designating preferences for particular content features or aspects, as well as entering personal information (such as gender, age, zip code, occupation, household income, marital status, hobbies, etc.). The user may then save the entered information, and exit the new profile interface. Then, per step 518, the playlist generator or recommender uses the new profile to generate recommendations, suggestions and playlists.
Recommendation Engine
Once a user profile has been established and/or when a user profile has been modified, an updated profile is utilized to generate playlists, recommendations, suggestions, etc. by a recommendation engine. The recommendation engine of the illustrated embodiment comprises client software such as, for example, that described in the aforementioned co-owned, U.S. patent application Ser. No. 12/414,576 filed contemporaneously herewith on Mar. 30, 2009 and entitled “Recommendation Engine Apparatus and Methods”, which issued as U.S. Pat. No. 9,215,423 on Dec. 15, 2015 and is incorporated herein by reference in its entirety. Other types and configurations of apparatus may be used to generate recommendations, however, including even via human-based selection (e.g., a network operator or third party selecting recommendations based on their knowledge of a particular demographic, historical viewing patterns, etc.)
In the exemplary embodiment, the recommendation engine and feedback mechanisms comprise software located within a storage device (e.g., program memory or HDD) of the client device 106, and adapted to run on a digital processor 714 (see
The recommendation engine can also be integrated with other extant software on the CPE or network device if desired, such as with a “navigator”, VOD Session Resource Manager (SRM), BSA switching process, etc.
The metadata may be transmitted with the content either as part thereof or as a separate file, or alternatively may be obtained by the engine via another transport (e.g., from the same source via a different network interface), from an MSO repository (e.g., database or library), or from another source such as a third party website or server. Depending on the location of the recommendation engine 601, the CPE client software can also be configured to query a headend or other network process to generate a playlist for a given user profile beforehand, so as to obviate the transmission of any content (downstream) until it is requested, thereby conserving resources and bandwidth.
Per step 604, the recommendation engine 601 then compares one or more aspects of the metadata associated with an individual piece of content to one or more attributes of a user profile; if the recommendation engine 601 determines (at step 606) that the content is not an adequate match (based on established criteria, such as by the number and weight of matches within the various aspect of the content examined), then the content will not be selected (or discarded) per step 608.
However, if an adequate match is found, then per step 610, data regarding the content will be stored. The PID (Program ID), access code, etc. are stored by the recommendation engine 601 and linked to the content title as presented in a playlist. By this mechanism, the client software of a user's CPE 106 will be able to locate and retrieve the content selected for display.
Next, at step 612, the recommendation engine 601 determines whether there are any pieces of content which have not yet been analyzed. If there is remaining content, the recommendation engine 601 will begin again at step 604. If not, the recommendation engine 601 will prioritize the content that was selected for the playlist, and either display the stored content in the form of a playlist, etc. (step 614) or alternatively at least temporarily cease operation. As noted previously, the prioritization performed by the exemplary recommendation engine takes into account the matching discussed above, as well as other factors including the duration of availability of the content, location of the content, etc.
Per step 614, the stored data regarding content is displayed to the user in the form of the VPMC playlist, a recommendations list, a suggestions list, or other appropriate textual or graphical presentation to the user at a suitable interface 470. Then, at step 616, the user takes some action at the interface 470, which provides the recommendation engine 601 with either data (e.g., positive or negative feedback (see discussion of feedback mechanisms below), additional data to be stored such as preferences, etc.). At step 618, the data collected from the user action is used to update the user profile as applicable. Then, the updated profile is used at step 604 for comparison to the retrieved metadata and subsequent generation of an updated list of recommended content.
Input and Feedback Mechanisms
In one embodiment, the above-referenced content metadata is compared to data the engine has “learned” from the user via the client software (e.g., software running on the subscriber's CPE 106). The “learned data” may be derived from explicit and implicit user actions; i.e., may be affirmatively submitted such as via a user entering data or selecting answers to a questionnaire, or alternatively may be gleaned or extrapolated passively from analyzing user actions (or lack of actions).
One example of explicit user action comprises feedback relating to a watched content element. Thus, after a program ends, during a commercial break, or at the first instance of the user navigating away from the content, the user may be presented with an interface (not shown) wherein the user provides explicit feedback, such as by instructing the recommendation engine 601 (e.g., “Find more like this”, “Don't recommend again ever”, “Don't recommend for 6 months”, “Recommend again”, etc.), and/or wherein the user rates the content. Content may be rated by using, inter alia, stars, “thumbs up”, a numbering system (e.g., 7 out of 10), a qualitative or fuzzy logic-based system (“poor”, “fair”, “good”), etc.
A user may also explicitly direct the software towards and away from certain content via the aforementioned profile editing interface. As noted above, the user selects the appropriate user profile, and is then prompted to modify and add information which allows the software to better provide targeted content. For example, the editing interface may allow the user to enter which channels the user likes and dislikes, which genres the user likes and dislikes, and so forth. A user may also be prompted to enter specific favorites, including, inter alia, favorite actors, favorite shows, favorite periods in time (e.g., then 1970's, etc.), favorite themes (Christmas, Halloween, etc.).
Implicit user actions are derived from what users do with content; some user actions may be positive, while others negative. For example viewing content to completion will be considered a positive action, while ending viewing of content will be considered a negative action, Each of the various actions a user may take will also be weighted such that certain actions more indicative of preference effect the user profile learned data more than others which are less likely to indicate preference.
The implicitly and explicitly learned data is dynamically collected and utilized to update a user profile such that immediately after a user action has occurred the recommendation engine 601 generates an updated playlist, recommendations, suggestions, etc. which are more tailored to the user's profile.
It is appreciated that the recommendation engine 601 of the present invention may also be configured to utilize two or more profiles, or a composite profile, as a source for generating playlists, recommendations, etc. For example, it may take into a count a user's activities during different parts of both weekdays and weekends.
Note that the aforementioned edits can be permanent, or on a limited (even one-time) basis. Using the “save” functionality previously described, a user can make permanent changes to a selected profile. Alternatively, however, the user may not wish to modify a certain profile since e.g., they are only using it vicariously or temporarily, say for an evening, a weekend, etc. Accordingly, the changes and additions to a profile can in one embodiment be made to have an “expiration date” such that the profile will revert back to its original form after expiry of a given amount of time, upon occurrence of an event (e.g., when the CPE 106 is powered down next), etc. This approach advantageously helps prevent a proliferation of profiles due to intermittent or temporary use by others.
Moreover, as previously noted, access to a profile for purposes of editing or updating can be purposely limited or restricted, so as to prevent changes or corruption thereof. As part of this scheme, only certain types of data may be edited/updated as well.
Profile and Playlist Utilization
As discussed previously various aspects of each piece of content from the various available content sources are compared (using e.g., the associated metadata for that content) to the user profile as updated by “learned data”. Content meeting one or more prescribed criteria; e.g., showing a threshold level of similar aspects to those of the user profile, are ranked more highly in the priority list (which is generated by the recommendation engine 601). However, it is also appreciated that the recommendation engine 601 may take into account other attributes of the content including, inter alia, duration of availability, source location, any latency in obtaining the content, copyright or other intellectual property considerations (e.g., “copy once” or DRM protection), etc.
Business considerations may also factored into the selection of content and population of the playlist (and the priority of content therein). For example, where two content elements are effectively equal in relevance or rating for a given user profile (“don't care”), profitability or revenue information associated with the two choices can be evaluated to determine which selection is likely to produce more revenue or profit for the MSO or a third party (e.g., advertiser). Similarly, acquisition costs (e.g., RTA) for the various options may also be considered. Such “business rules” can also be applied such as to outweigh or overturn recommendations by the engine; e.g., such as where the engine picks one piece of content over another based on matching metadata attributes to the user profile, yet the profitability considerations associated with the less-optimal content element cause it to be selected or prioritized over the more optimal match.
In another embodiment, the client software further comprises a “playlist manager” process. The playlist manager module stores information regarding the source of each piece of content on the playlist. Thus, the playlist manager manages the location of where the content may be found, and keeps track of the appropriate action necessary to deliver the content to the user; i.e., maintains information regarding the asset ID, source ID, or other forms of identification that the underlying operating system middleware requires for tuning. When a user tunes to the VPMC the playlist manager immediately directs the CPE 106 to pull the appropriate content from the appropriate location for display. If viewing of the first priority content is terminated, the playlist manager informs the CPE 106 of where and how to obtain the next content scheduled in the playlist (this can also be performed in a “look-ahead” or anticipatory fashion so that the manager is not left short at any given time when the user terminates a given content element). The playlist manager also assists the CPE 106 in acquiring content which the user selects by manually navigating a playlist.
It will be recognized by those of ordinary skill that myriad different device and software architectures may be used consistent with abovementioned functions of the present invention, the foregoing description being merely exemplary.
Network Server Embodiment
Referring now to
The personal media server 700 shown in
As illustrated in
The storage device 702 of the exemplary illustrated personal media server 700 is adapted to store a plurality of user profiles associated with individual ones of the plurality of CPE 106 to which the personal media server 720 is connected, via the network 101. A is approach also contemplates the case where a given premises or subscriber account includes a plurality of different user profiles, such as for different family members, etc.
It is appreciated that any number of CPE 106 may utilize the same personal media server 700, and that several personal media server 700 may be present at the headend or other location within the network to serve all of the CPE 106 logically connected thereto.
Other components which may be utilized within the server device 700 include amplifiers, board level electronic components, as well as media processors and other specialized SoC or ASIC devices. Support for various processing layers and protocols (e.g., TCP/IP, 802.3, DHCP, SNMP, H.323/RTP/RTCP, VoIP, SD, LSCP, MPEG, etc.) may also be provided as required. Where the content server is also acting in a local network capacity (e.g., as a VOD or application server), an appropriate application is also disposed to run on the server module to provide a functional interface for e.g., VOD session requests received from the client devices 106 or other interposed entities. These additional components and functionalities are well known to those of ordinary skill in the cable and embedded system fields, and accordingly not described further herein.
The server device 700 may take any number of physical forms, comprising for example one of a plurality of discrete modules or cards within a larger network headend or edge device of the type well known in the art. The server 700 may also comprise firmware, either alone or in combination with other hardware/software components such as those previously described (e.g., disposed in the aforementioned edge device). Alternatively, the server module 700 may even include its own RF front end (e.g., modulators, encryptors, etc.) or optical interface so as to interface directly with various portions of the HFC network 101 if desired. Numerous other configurations may be used. The server device 700 may also be integrated with other types of components (such as satellite transceivers, encoders/decoders, etc.) and form factors if desired.
It can also be appreciated that the personals server functionality of the present invention may be practiced using any configuration or combination of hardware, firmware, or software, and may be disposed within one or any number of different physical or logical entities. For example, any required conditioning of the content before delivery (such as the inclusion of watermarking or other data, encryption, generation of encryption key pairs and/or challenges, and so forth) may take the form of one or more computer programs running on a single device disposed within the network, such as at a headend, node, or hub.
As yet another example, portions of the content distribution functionality may be rendered as a dedicated or application specific IC (ASIC) or DSP having code running thereon. For example, a security processor of the type well known in the art can be used to implement encryption algorithms on the delivered content, and/or to perform key pair generation and the like. Myriad different configurations for practicing the invention will be recognized by those of ordinary skill in the network arts provided the present disclosure.
The server operation can also be masked or controlled by a “business rules” engine” or other logical wrapper or layer as described subsequently herein.
In another embodiment (not shown), the recommendation engine 601 of the present invention is run on the processor of another headend entity, including, inter alia, a VOD server 105, an application server 104, or BSA hub server (
Client Device
Referring now to
As shown in the simplified diagram of
Other components which may be utilized within the device (deleted from
The digital processor(s) 714 of the CPE 106 of
In another embodiment, the recommendation engine 601 of the CPE 106 may contain programs which allow interactivity with other client devices 106. For example, a management entity (not shown) present on the CPE 106 may be adapted to communicate and interact with that of another CPE 106. Examples of such programs include UPnP application, a program guide, and so on. The CPE may also operate in a “peer-to-peer” (P2P) type of architecture, wherein processing assets (e.g., pre-processed recommendations, profiles, etc.) can be shared between two or more CPE at the edge of the network, thereby obviating significant involvement by the core (and attendant bandwidth usage). See, e.g., co-owned and co-pending U.S. patent application Ser. No. 11/726,095 entitled “Method and Apparatus for Content Delivery and Replacement In a Network” filed Mar. 20, 2007 and incorporated herein by reference in its entirety, for one exemplary approach to CPE P2P interactions and management that may be used consistent with the present invention.
Similarly, the recommendation engine 601 and CPE 106 may be configured such that a user's profile is stored locally (i.e., on the CPE or a proxy storage location), or alternatively at a network location (e.g., on the personal server 700). Depending which approach is used, a user can access the user's profile and associated playlists directly (locally), or over the network.
The CPE 106 bearing the client software (and optionally recommendation engine components) 601) may also comprise a multi-function or converged premises device, such as that described in co-owned U.S. patent application Ser. No. 11/378,129 filed Mar. 16, 2006 and issued as U.S. Pat. No. 8,347,341 on Jan. 1, 2013, previously incorporated herein. This disclosure describes a remotely manageable premises device that, inter alia, acts as a centralized client networking platform providing gateway services such as network management as well as traditional content and high-speed data delivery functions. The device also acts as the shared internet (e.g., Internet) connection for all devices in the premises via a cable modem or other such interface; metadata associated with personal and DVR content such as video, music and photos throughout the premises via may also be utilized as described above to incorporate that content into a playlist. Telephony services utilizing e.g., embedded multimedia terminal adapter (eMTA) and/or WiFi architectures may also be provided via the converged device 106; these services can make use of the network operator's indigenous VoIP or comparable telephony capability if desired, thereby providing an even more unified service environment and a mechanism for the various devices to communicate and interact with one another.
In another embodiment, a wired home network utilizing existing coaxial cable in the premises is created, by using e.g., an Ethernet-to-coaxial bridge technology based on the MoCA specification.
According to these alternate converged and networked CPE embodiments, existing devices and DVRs (i.e., those not having access to the recommendation engine 601) are permitted to connect and share content with a CPE 106. Hence, in one variant, the CPE 106 and its recommendation engine can “see” content disposed on the ancillary premises devices (e.g., DVR), including descriptive information (title, runtime, rating, encoding format, etc.) and even metadata associated with the content if stored there.
Remote CPE, Playlist and DVR Control
In yet another embodiment, the CPE 106 is advantageously accessible via any remote device with internetworking (e.g., Internet) capability. The recommendation engine 601 of the CPE 106b is adapted accordingly and thereby allows content and profiles associated therewith to be accessed by a user from outside the premises. Profiles present on the remote (e.g., mobile) device can also transmitted to the recommendation engine 601 for comparison to metadata (which in one configuration requires the transmission of the received profile data upstream to the server 700 or other network process). Exemplary devices including laptop computers, personal computers, cellular telephones, PDA and other hand-held electronic equipment can be used to remotely access the CPE and recommendation engine.
Moreover, in the embodiment where the recommendation engine 601 is disposed on a network entity or process (see e.g.,
In yet another embodiment, a user may access his user profile and/or the recommended content via the Internet. According to this embodiment, a user logs into an MSO-operated website, and by providing relevant information, be linked to his CPE 106 and its associated recommendation engine 601 (or that of the network server 700 responsible for that CPE).
As illustrated in
Alternatively, illustrated in
The recommendation engine 601 may be linked to an MSO-operated website in such a way so as to provide the user with the ability to schedule programming to a personalized playlist for recording (i.e., recommend and select for recording programs which are recommended and broadcast while the user is not physically at his CPE 106). The website may also offer users the ability to remove recorded programs from the user's DVR so as to open up space for the recording of other programs.
It is further noted that at an MSO-operated website, a user may access a future playlist. In other words, the user is able to view a playlist the recommendation engine 601 will generate at a particular date/time in the future. For example, a user can access the website at 12:00 pm and run a query to find out what programming the recommendation engine 601 will recommend at 8:30 pm, 9:00 pm, 9:30 pm, and 10:00 pm that night. These future playlists will be generated and displayed to the user, who may then create a modified playlist of the content from the future playlists he/she would like to view at those times.
Related and/or Targeted Secondary Content Delivery
In another embodiment, the present invention may advantageously utilize various methods for the delivery and/or selection of targeted or related “secondary” content occurring simultaneously with the delivery of a playlist of recommended content.
One such method for the delivery of contextually-related “secondary” content (e.g., advertising messages, useful informational links, etc.) in association with the primary content selected by the user and/or by the recommendation engine 601 is described in co-owned U.S. patent application Ser. No. 11/198,620, filed Aug. 4, 2005 and entitled “Method and Apparatus for Context-Specific Content Delivery”, which issued as U.S. Pat. No. 9,286,388 on Mar. 15, 2016 and is incorporated herein by reference in its entirety. Specifically, secondary content comprising advertising is selected at least in part based on metadata associated with the primary content. The metadata is provided by, e.g., the content originator or network operator, and is sent to a third party network entity (e.g., advertising server) which returns contextually specific advertising matching the search terms. In one variant, the search term is simply one or more keywords drawn from the metadata and used as an input to a search engine (such as the aforementioned recommendation engine 601). In another variant, more sophisticated analysis of the metadata is performed so as to ostensibly reduce the number of irrelevant or marginally relevant “hits” returned by the search engine/advertising server.
Another method enhanced of advertising selection and delivery advantageously coupled with the aforementioned delivery of targeted primary content is described in co-owned U.S. patent application Ser. No. 12/070,559, filed Feb. 19, 2008 and entitled “Method and Apparatus for Enhanced Advertising and Promotional Delivery in a Network”, which issued as U.S. Pat. No. 9,503,691 on Nov. 22, 2016 and is incorporated herein by reference in its entirety. Specifically, that application discusses a substantially user-friendly mechanism for viewing content and advertisements which both eliminates the guess-work and impression associated with skipping commercials via manual fast-forwarding through recorded content, and presents a viewer with options regarding the type and content of advertisements to view. Advertisers and network operators are also provided with more avenues for reaching subscribers with advertising or promotional content.
In one embodiment, the aforementioned network comprises a cable television network, and the methods and apparatus enable a viewer to individually preview and select the advertisements that they will view during real-time broadcast programming, as well as during “trick mode” operation in recorded program settings. In another embodiment, an advertising controller (AC) is utilized to select choices on the subscriber's advertising “playlist” based on, e.g., correlation between the advertising metadata and metadata associated with the programming content being viewed or recorded by the subscriber. This may likewise be accomplished by the recommendation engine 601 in manner which utilizes a user profile to create an advertising playlist similar to the manner discussed above. In another variant, advertising or commercial skipping may be substantially frustrated by presenting a viewer with several viewing options of potential interest, and/or imposing one or more minimum viewing policies.
Advanced Content Editor Functions
In yet another embodiment of the present invention, the metadata collected from the various content collected may include metadata related to various “flagged” points within the program. The “flagging” may be incorporated by the MSO, or by the content source prior to distribution; or alternatively, the user may insert flagging, as discussed in co-owned U.S. patent application Ser. No. 11/811,953 filed Jun. 11, 2007 and entitled “Methods and Apparatus for Providing Virtual Content Over a Network”, which issued as U.S. Pat. No. 9,024,762 on Sep. 20, 2011 is incorporated herein by reference in its entirety. This application describes providing the user/owner with the capability to personalize content. As described therein, the personalization includes, inter alia, annotating or flagging particular portions of interest of their content for other family members.
Accordingly, one embodiment of the invention provides the user with a downloadable software environment (e.g., application suite or tool) for user content editing and annotation. This software permits the user to make such annotations/personalizations to their content, which is stored in a file that is transmitted up to the headend, BSA hub site, etc. as appropriate. This file can be thought of as a layer atop the encoded content which functions much like metadata; it instructs the headend, BSA, etc. server to perform certain additional functions such as skipping to different frame or SI references within the content, inserting overlays or other graphical and/or audible mechanisms (e.g., pop-up windows), etc. when that particular user plays back their purchased content. This user editing environment is particularly well adapted to VOD or “PVR” delivery models, wherein the user can for example pause the content playback; call up the editing environment to add an annotation and “tag” it to that reference point in the content (wherein the editing environment transmits this annotation and reference to the headend server process via, e.g., OOB message, to be used on subsequent playbacks), and then un-pause the playback and continue watching. Any number of user interface mechanisms well known to those of ordinary skill can be used for enabling the user's entry of annotations, personalizations, etc. including without limitation on-screen displays (OSDs), browsers, interactive remote controls, keyboards, mice, joysticks, touch-screens, speech recognition algorithms, and so forth. It is also noted, that the present invention may be used in conjunction with content stored at a user's CPE (e.g., DVR) as well.
Broadcast modes may also be annotated or personalized, such as by marking locations within the content during viewing (e.g., using a remote control function that initiates a marking reference function that can store the mark points, such as for example by an SI reference or artifact within the content), and utilize these points later within the aforementioned software environment to add the user's personalizations. A screen capture or “snapshot” function can also be employed, such as where the screen display or contents of VRAM, frame buffer, etc. can be captured at each marking point, and saved along with the markings, so as to refresh the user's recollection when conducting annotation at a later time. These references and capture data can be saved locally (e.g., on the user's CPE or PC), or at the headend 150 or hub-site server.
Alternatively, the software environment can associate one or more predetermined annotations with certain portions of the content, such as, for example, “Slow part”, “Scary”, “Violent”, etc. These annotations can be user-designated, set by the MSO, or otherwise as desired. Such annotations can be useful, for example, to warn viewers of impending themes, situations, action, etc. which may be of particular interest, not suitable for children, etc.
These annotations may also be inserted by the content provider, in effect extending the utility of the well known “rating system” used for alerting viewers as to the maturity, sexual content, etc. of the content.
Alternatively, utilization of the aforementioned personalization software may enable a user to create user-edited versions of content which contain and eliminate those sections of a program which the user does not find suitable, is excessive, etc. The user may then opt to place the edited version of the content into the priority playlist 212, or on the aforementioned personalized EPG.
Charitable Content
In yet another variant, the apparatus and methods disclosed above may be utilized to provide users with a “virtual charity channel” which aggregates charity content from various sources into a virtual user or program channel. See, e.g., co-owned and co-pending U.S. patent application Ser. No. 12/393,981 entitled “METHODS AND APPARATUS FOR PROVIDING CHARITABLE CONTENT AND RELATED FUNCTIONS” filed Feb. 26, 2009, and incorporated herein by reference in its entirety- Specifically, the virtual charity channel would incorporate the methods and apparatus discussed above to create a channel for viewing content compiled from various sources, including, inter alia, DVR, broadcast, VOD, Start Over, etc., and particularly that content selected to align with a user's charitable preferences. In one embodiment, the user profile is configured to maintain data based on a user's past or contemporaneous interactions with respect to particular types of charitable content, or primary content which can be contextually related to charitable content. The compiled charitable content may, in one embodiment, be presented to the user in the form of a “playlist” from which a user may select desired content for viewing and/or recording. The charitable content may have varying degrees or aspects of similarity to that presented in a “playlist” of recommended content or elsewhere, including collective content listed in the EPG.
Business Methods and Considerations
The variety of different functions and content “shaping” options provided by the VPMC and user interfaces of the present invention also afford several opportunities for new or enhanced business models. Various business-related aspects of the VPMC and improved EPG interfaces previously discussed herein are now described in detail.
Specifically, in one embodiment, creation and access to a user's VPMC (and the personalized EPG) are provided as incentives or features as part of the subscriber's subscription plan. For instance, premium or new subscribers may be offered these features (either as a bundle, or in various grades) as an incentive or “teaser” to continue their subscription or upgrade it. Alternatively, subscribers may pay a fee for the additional capability.
Additionally, a “watch-along” function may also be marketed as an incentive or additional premium feature. Specifically, parents or others may have the capability to both monitor what their children may watch via Internet access, and modify or edit the priority playlist 212 for the VPMC. Accordingly, the parent or other user is given control and access, even while that person is not near to the location where the VPMC is viewed. This function enables the parent or other user not only to create a custom playlist given the recommendation engine 601 suggestions, but also allows the user to prohibit specific users from viewing material not on the VPMC, i.e., not “pre-approved”. This function may also be offered for a premium, or as part of an incentive package. This paradigm can also be readily extended into the enterprise or business arenas, such as to monitor/control employee channel usage.
Similarly, the ability to access one's DVR and/or the VPMC and recommendation engine 601 over an MSO operated website may be offered at a premium, or alternatively as a premium or new subscription or incentive feature.
Access to playlists generated for other individuals may also be used by the MSO or content provider as a “value added” basis. For example, the MSO or content provider may have an arrangement with a celebrity whereby the playlists generated for that celebrity are periodically distributed to user's in the MSO network, such as for an additional monthly fee. In this fashion, subscribers would be advised of what their favorite celebrities might be watching at any given time. Similarly, different user profiles ranging from those based on one other individual, to those based on a large sampling of the subscriber base, or on a particular demographic, genre, time period, etc., could be accessed by a subscriber. The playlist “package” afforded to a given subscriber might be based on subscription level for example; i.e., premium subscribers would receive the widest range of profiles/playlists, while those at lower subscription levels would receive a smaller or more restricted set.
The ability to create customized user profiles might also be tied to consideration given by the subscriber. For example, premium subscribers might be given an expansive set of profile creation and editing tools (thereby ostensibly providing more accurate profiles/playlists), while those at lower subscription levels might only be given a limited or rudimentary set of tools, or none at all.
As previously noted, delivery of content via the VPMC and/or the personalized EPG can also be effected over a TCP/IP-based or similar transport according to the methods and apparatus described in co-owned U.S. patent application Ser. No. 11/198,620 entitled “Method And Apparatus For Context-Specific Content Delivery” filed Aug. 4, 2005, which issued as U.S. Pat. No. 9,286,388 on Mar. 15, 2016 and is incorporated herein by reference in its entirety, which describes, inter alia, the display and seamless transition of primary and secondary content within, e.g., a unified display mechanism (window) in the context of computer-based access such as that described with respect to
Other types of incentives may be used as the basis for a business model as well. For example, an MSO might arrange to have an actor be “live” on a blog, VoIP telephony channel, webcam video, etc. which is made accessible only to donators to a particular charity (and/or of a certain level of donation). The donating user(s) might also be given that actor's “playlist” for a period of time so that the user can watch the same programs or content recommended to or selected by the actor.
Operations/Business Rules Engine
In another aspect of the invention, the aforementioned recommendation engine 601 (rendered as one or more computer programs disposed on e.g., the server 700 and/or the CPE 106) includes a so-called “rules” engine. These rules may be fully integrated within various entities associated with the present invention, or may be associated with the recommendation engine 601 itself, and controlled via e.g., the aforementioned interfaces 470. In effect, the rules engine comprises a supervisory entity which monitors and selectively controls the content recommendation function at a higher level, so as to implement desired operational or business rules. The rules engine can be considered an overlay of sorts to the recommendation and playlist/EPG population algorithms. For example, the recommendation engine 601 may make certain recommendations or playlist collections based on the user profile(s) of interest and the metadata associated with particular content elements. However, these recommendations may not always be compatible with higher-level business or operational goals, such as maximizing profit/revenue, best use of network resources, or system reliability. Hence, when imposed, the business/operational rules can be used to dynamically and transparently (or manually) control the operation of the recommendation engine 601. The rules may be, e.g., operational or business-oriented in nature, or related to preservation of security, and may also be applied selectively in terms of time of day, duration, specific local areas, or even at the individual premises or user level.
For example, as previously noted, where two content elements are effectively equal in relevance or rating for a given user profile (“don't care”), profitability or revenue information associated with the two choices can be evaluated to determine which selection is likely to produce more revenue or profit for the MSO or a third party (e.g., advertiser). Similarly, acquisition costs (e.g., RTA) for the various options may also be considered. Such rules can also be applied such as to outweigh or overturn recommendations by the engine.
Moreover, different aspects of the content, user, and network can be included within the recommendation engine so as to impose desired operational or business rules For example, the engine 601 might perform a three-faceted analysis for generating recommendations: (i) matching content metadata to a user profile, as discussed at length previously herein; (ii) evaluating the revenue, cost, and/or profitability aspects of various alternatives; and (iii) evaluating operational considerations (such as latency for delivery of content, reliability, Quos of the delivered content, user satisfaction, need for transcoding, etc.). The results of these three analyses might then be used as input to a weighted “Scoring” algorithm that generates a composite score for each piece of content; the playlist can then be assembled based simply on highest-to-lowest score (or some other such scheme).
Another rule implemented by the rules engine may comprise providing a virtual channel (a VPMC) of recommended content only to certain classes of subscribers (e.g., those at a premium level of service, or subscribers who have “opted-in” to receiving the channel), those in a particular geographic or network service area, those requesting at a particular time of day or day of the week, etc.
It will be recognized that while certain aspects of the invention are described in terms of a specific sequence of steps of a method, these descriptions are only illustrative of the broader methods of the invention, and may be modified as required by the particular application. Certain steps may be rendered unnecessary or optional under certain circumstances. Additionally, certain steps or functionality may be added to the disclosed embodiments, or the order of performance of two or more steps permuted. All such variations are considered to be encompassed within the invention disclosed and claimed herein.
While the above detailed description has shown, described, and pointed out novel features of the invention as applied to various embodiments, it will be understood that various omissions, substitutions, and changes in the form and details of the device or process illustrated may be made by those skilled in the art without departing from the invention. This description is in no way meant to be limiting, but rather should be taken as illustrative of the general principles of the invention. The scope of the invention should be determined with reference to the claims.
Number | Name | Date | Kind |
---|---|---|---|
4677501 | Saltzman et al. | Jun 1987 | A |
5253066 | Vogel et al. | Oct 1993 | A |
5285272 | Bradley et al. | Feb 1994 | A |
5335277 | Harvey et al. | Aug 1994 | A |
5357276 | Banker et al. | Oct 1994 | A |
5371551 | Logan et al. | Dec 1994 | A |
5410344 | Graves et al. | Apr 1995 | A |
5436917 | Karasawa | Jul 1995 | A |
5477263 | O'Callaghan et al. | Dec 1995 | A |
5517257 | Dunn et al. | May 1996 | A |
5528282 | Voeten et al. | Jun 1996 | A |
5528284 | Iwami et al. | Jun 1996 | A |
5534911 | Levitan | Jul 1996 | A |
5543927 | Herz | Aug 1996 | A |
5550640 | Tsuboi et al. | Aug 1996 | A |
5557319 | Gurusami et al. | Sep 1996 | A |
5579183 | Van Gestel et al. | Nov 1996 | A |
5619247 | Russo | Apr 1997 | A |
5628284 | Sheen et al. | May 1997 | A |
5671386 | Blair et al. | Sep 1997 | A |
5682597 | Ganek et al. | Oct 1997 | A |
5687275 | Lane et al. | Nov 1997 | A |
5699360 | Nishida et al. | Dec 1997 | A |
5708961 | Hylton et al. | Jan 1998 | A |
5710970 | Walters et al. | Jan 1998 | A |
5721878 | Ottesen et al. | Feb 1998 | A |
5727113 | Shimoda | Mar 1998 | A |
5729280 | Inoue et al. | Mar 1998 | A |
5729648 | Boyce et al. | Mar 1998 | A |
5745837 | Fuhrmann | Apr 1998 | A |
5748254 | Harrison et al. | May 1998 | A |
5758257 | Herz et al. | May 1998 | A |
5778187 | Monteiro et al. | Jul 1998 | A |
5793971 | Fujita et al. | Aug 1998 | A |
5794217 | Allen | Aug 1998 | A |
5798785 | Hendricks et al. | Aug 1998 | A |
5808608 | Young et al. | Sep 1998 | A |
5818438 | Howe et al. | Oct 1998 | A |
5818510 | Cobbley et al. | Oct 1998 | A |
5822493 | Uehara et al. | Oct 1998 | A |
5822530 | Brown | Oct 1998 | A |
5838921 | Speeter | Nov 1998 | A |
5844552 | Gaughan et al. | Dec 1998 | A |
5850218 | Lajoie et al. | Dec 1998 | A |
5861881 | Freeman et al. | Jan 1999 | A |
5887243 | Harvey et al. | Mar 1999 | A |
5897635 | Torres et al. | Apr 1999 | A |
5915068 | Levine | Jun 1999 | A |
5917538 | Asamizuya | Jun 1999 | A |
5940738 | Rao | Aug 1999 | A |
5999525 | Krishnaswamy et al. | Dec 1999 | A |
5999535 | Krishnaswamy et al. | Dec 1999 | A |
6005603 | Flavin | Dec 1999 | A |
6026211 | Nakamura et al. | Feb 2000 | A |
6046760 | Jun | Apr 2000 | A |
6047327 | Tso et al. | Apr 2000 | A |
6052588 | Mo et al. | Apr 2000 | A |
6055358 | Traxlmayr | Apr 2000 | A |
6065050 | Demoney | May 2000 | A |
6108002 | Ishizaki | Aug 2000 | A |
6115532 | Saeki | Sep 2000 | A |
6118472 | Dureau et al. | Sep 2000 | A |
6118922 | Van Gestel et al. | Sep 2000 | A |
6125397 | Yoshimura et al. | Sep 2000 | A |
6167432 | Jiang | Dec 2000 | A |
6172712 | Beard | Jan 2001 | B1 |
6177931 | Alexander et al. | Jan 2001 | B1 |
6181697 | Nurenberg et al. | Jan 2001 | B1 |
6219710 | Gray et al. | Apr 2001 | B1 |
6233389 | Barton et al. | May 2001 | B1 |
6253375 | Gordon et al. | Jun 2001 | B1 |
6259701 | Shur et al. | Jul 2001 | B1 |
6314572 | Larocca et al. | Nov 2001 | B1 |
6317884 | Eames et al. | Nov 2001 | B1 |
6324338 | Wood et al. | Nov 2001 | B1 |
6345038 | Selinger | Feb 2002 | B1 |
6389538 | Gruse et al. | May 2002 | B1 |
6396531 | Gerszberg et al. | May 2002 | B1 |
6442328 | Elliott et al. | Aug 2002 | B1 |
6442332 | Knudson et al. | Aug 2002 | B1 |
6473793 | Dillon et al. | Oct 2002 | B1 |
6519062 | Yoo | Feb 2003 | B1 |
6523696 | Saito et al. | Feb 2003 | B1 |
6532593 | Moroney | Mar 2003 | B1 |
6543053 | Li et al. | Apr 2003 | B1 |
6546016 | Gerszberg et al. | Apr 2003 | B1 |
6564381 | Hodge et al. | May 2003 | B1 |
6581207 | Sumita et al. | Jun 2003 | B1 |
6609253 | Swix et al. | Aug 2003 | B1 |
6640145 | Hoffberg et al. | Oct 2003 | B2 |
6642938 | Gilboy | Nov 2003 | B1 |
6642939 | Vallone et al. | Nov 2003 | B1 |
6643262 | Larsson et al. | Nov 2003 | B1 |
6694145 | Riikonen et al. | Feb 2004 | B2 |
6711742 | Kishi et al. | Mar 2004 | B1 |
6718552 | Goode | Apr 2004 | B1 |
6721789 | Demoney | Apr 2004 | B1 |
6748395 | Picker et al. | Jun 2004 | B1 |
6754904 | Cooper et al. | Jun 2004 | B1 |
6757906 | Look et al. | Jun 2004 | B1 |
6769127 | Bonomi et al. | Jul 2004 | B1 |
6774926 | Ellis et al. | Aug 2004 | B1 |
6788676 | Partanen et al. | Sep 2004 | B2 |
6847778 | Vallone et al. | Jan 2005 | B1 |
6865746 | Herrington et al. | Mar 2005 | B1 |
6909726 | Sheeran | Jun 2005 | B1 |
6917614 | Laubach et al. | Jul 2005 | B1 |
6917641 | Kotzin et al. | Jul 2005 | B2 |
6918131 | Rautila et al. | Jul 2005 | B1 |
6925257 | Yoo | Aug 2005 | B2 |
6931018 | Fisher | Aug 2005 | B1 |
6931657 | Marsh | Aug 2005 | B1 |
6934964 | Schaffer et al. | Aug 2005 | B1 |
6944150 | McConnell et al. | Sep 2005 | B1 |
6978474 | Sheppard et al. | Dec 2005 | B1 |
6981045 | Brooks | Dec 2005 | B1 |
7003670 | Heaven et al. | Feb 2006 | B2 |
7006881 | Hoffberg et al. | Feb 2006 | B1 |
7009972 | Maher et al. | Mar 2006 | B2 |
7013290 | Ananian | Mar 2006 | B2 |
7020652 | Matz et al. | Mar 2006 | B2 |
7027460 | Iyer et al. | Apr 2006 | B2 |
7039048 | Monta et al. | May 2006 | B1 |
7051352 | Schaffer | May 2006 | B1 |
7054902 | Toporek et al. | May 2006 | B2 |
7055031 | Platt | May 2006 | B2 |
7055165 | Connelly | May 2006 | B2 |
7068639 | Varma et al. | Jun 2006 | B1 |
7096483 | Johnson | Aug 2006 | B2 |
7099308 | Merrill et al. | Aug 2006 | B2 |
7100183 | Kunkel et al. | Aug 2006 | B2 |
7103905 | Novak | Sep 2006 | B2 |
7106382 | Shiotsu | Sep 2006 | B2 |
7146627 | Ismail et al. | Dec 2006 | B1 |
7149772 | Kalavade | Dec 2006 | B1 |
7167895 | Connelly | Jan 2007 | B1 |
7174126 | McElhatten et al. | Feb 2007 | B2 |
7174127 | Otten et al. | Feb 2007 | B2 |
7174385 | Li | Feb 2007 | B2 |
7185355 | Ellis et al. | Feb 2007 | B1 |
7197708 | Frendo et al. | Mar 2007 | B1 |
7206775 | Kaiser et al. | Apr 2007 | B2 |
7207055 | Hendricks et al. | Apr 2007 | B1 |
7209458 | Ahvonen et al. | Apr 2007 | B2 |
7213036 | Apparao et al. | May 2007 | B2 |
7228656 | Mitchell et al. | Jun 2007 | B2 |
7240359 | Sie et al. | Jul 2007 | B1 |
7242960 | Van Rooyen et al. | Jul 2007 | B2 |
7242988 | Hoffberg et al. | Jul 2007 | B1 |
7228556 | Beach et al. | Aug 2007 | B2 |
7254608 | Yeager et al. | Aug 2007 | B2 |
7257106 | Chen et al. | Aug 2007 | B2 |
7260823 | Schlack et al. | Aug 2007 | B2 |
7265927 | Sugiyama et al. | Sep 2007 | B2 |
7293276 | Phillips et al. | Nov 2007 | B2 |
7312391 | Kaiser et al. | Dec 2007 | B2 |
7325043 | Rosenberg et al. | Jan 2008 | B1 |
7325073 | Shao et al. | Jan 2008 | B2 |
7330483 | Peters, Jr. et al. | Feb 2008 | B1 |
7330510 | Castillo et al. | Feb 2008 | B2 |
7333483 | Zhao et al. | Feb 2008 | B2 |
7336787 | Unger et al. | Feb 2008 | B2 |
7337458 | Michelitsch et al. | Feb 2008 | B2 |
7340759 | Rodriguez | Mar 2008 | B1 |
7340762 | Kim | Mar 2008 | B2 |
7359375 | Lipsanen et al. | Apr 2008 | B2 |
7363643 | Drake et al. | Apr 2008 | B2 |
7376386 | Phillips et al. | May 2008 | B2 |
7382786 | Chen et al. | Jun 2008 | B2 |
7444655 | Sardera | Oct 2008 | B2 |
7457520 | Rossetti et al. | Nov 2008 | B2 |
7486869 | Alexander et al. | Feb 2009 | B2 |
7487523 | Hendricks | Feb 2009 | B1 |
7532712 | Gonder et al. | May 2009 | B2 |
7548562 | Ward et al. | Jun 2009 | B2 |
7567983 | Pickelsimer et al. | Jul 2009 | B2 |
7571452 | Gutta | Aug 2009 | B2 |
7592912 | Hasek et al. | Sep 2009 | B2 |
7602820 | Helms | Oct 2009 | B2 |
7609637 | Doshi et al. | Oct 2009 | B2 |
7624337 | Sull et al. | Nov 2009 | B2 |
7650319 | Hoffberg et al. | Jan 2010 | B2 |
7690020 | Lebar | Mar 2010 | B2 |
7693171 | Gould | Apr 2010 | B2 |
7721314 | Sincaglia et al. | May 2010 | B2 |
7725553 | Rang et al. | May 2010 | B2 |
7742074 | Minatogawa | Jun 2010 | B2 |
7763360 | Paul et al. | Jul 2010 | B2 |
7770200 | Brooks et al. | Aug 2010 | B2 |
7787539 | Chen | Aug 2010 | B2 |
7809942 | Baran et al. | Oct 2010 | B2 |
7889765 | Brooks et al. | Feb 2011 | B2 |
7893171 | Le et al. | Feb 2011 | B2 |
7900052 | Jonas et al. | Mar 2011 | B2 |
7908626 | Williamson et al. | Mar 2011 | B2 |
7916755 | Hasek et al. | Mar 2011 | B2 |
7924451 | Hirooka | Apr 2011 | B2 |
7936775 | Iwamura | May 2011 | B2 |
7937725 | Schaffer et al. | May 2011 | B1 |
7954131 | Cholas et al. | May 2011 | B2 |
7975283 | Bedingfield, Sr. et al. | Jul 2011 | B2 |
7987491 | Reisman | Jul 2011 | B2 |
8015306 | Bowman | Sep 2011 | B2 |
8024762 | Britt | Sep 2011 | B2 |
8032914 | Rodriguez | Oct 2011 | B2 |
8042054 | White et al. | Oct 2011 | B2 |
8046836 | Isokawa | Oct 2011 | B2 |
8056103 | Candelore | Nov 2011 | B2 |
8090014 | Cheung et al. | Jan 2012 | B2 |
8090104 | Wajs et al. | Jan 2012 | B2 |
8095610 | Gould et al. | Jan 2012 | B2 |
8099757 | Riedl et al. | Jan 2012 | B2 |
8151194 | Chan et al. | Apr 2012 | B1 |
8151294 | Carlucci et al. | Apr 2012 | B2 |
8166126 | Bristow et al. | Apr 2012 | B2 |
8170065 | Hasek et al. | May 2012 | B2 |
8181209 | Hasek et al. | May 2012 | B2 |
8214256 | Riedl et al. | Jul 2012 | B2 |
8219134 | Maharajh et al. | Jul 2012 | B2 |
8249497 | Ingrassia et al. | Aug 2012 | B2 |
8280982 | La Joie et al. | Oct 2012 | B2 |
8281352 | Brooks et al. | Oct 2012 | B2 |
8341242 | Dillon et al. | Dec 2012 | B2 |
8347341 | Markley et al. | Jan 2013 | B2 |
8396055 | Patel et al. | Mar 2013 | B2 |
8429702 | Yasrebi et al. | Apr 2013 | B2 |
8484511 | Engel et al. | Jul 2013 | B2 |
8516529 | Lajoie et al. | Aug 2013 | B2 |
8520850 | Helms et al. | Aug 2013 | B2 |
8549013 | Sarma et al. | Oct 2013 | B1 |
8561103 | Begeja | Oct 2013 | B2 |
8561116 | Hasek | Oct 2013 | B2 |
8677431 | Smith | Mar 2014 | B2 |
8713623 | Brooks | Apr 2014 | B2 |
8731053 | Karegoudar | May 2014 | B2 |
8738607 | Dettinger et al. | May 2014 | B2 |
8750490 | Murtagh et al. | Jun 2014 | B2 |
8750909 | Fan et al. | Jun 2014 | B2 |
8805270 | Maharajh et al. | Aug 2014 | B2 |
8813122 | Montie | Aug 2014 | B1 |
8949919 | Cholas et al. | Feb 2015 | B2 |
8995815 | Maharajh et al. | Mar 2015 | B2 |
9015736 | Cordray | Apr 2015 | B2 |
9021566 | Panayotopoulos et al. | Apr 2015 | B1 |
9124608 | Jin et al. | Sep 2015 | B2 |
9124650 | Maharajh et al. | Sep 2015 | B2 |
9215423 | Kimble et al. | Dec 2015 | B2 |
20010004768 | Hodge et al. | Jun 2001 | A1 |
20010047516 | Swain et al. | Nov 2001 | A1 |
20010050924 | Herrmann et al. | Dec 2001 | A1 |
20010050945 | Lindsey | Dec 2001 | A1 |
20020002688 | Gregg et al. | Jan 2002 | A1 |
20020024943 | Karaul et al. | Feb 2002 | A1 |
20020026645 | Son et al. | Feb 2002 | A1 |
20020027883 | Belaiche | Mar 2002 | A1 |
20020027894 | Arrakoski et al. | Mar 2002 | A1 |
20020031120 | Rakib | Mar 2002 | A1 |
20020032754 | Logston et al. | Mar 2002 | A1 |
20020042914 | Walker et al. | Apr 2002 | A1 |
20020042921 | Ellis | Apr 2002 | A1 |
20020049755 | Koike | Apr 2002 | A1 |
20020053076 | Landesmann | May 2002 | A1 |
20020056087 | Berezowski | May 2002 | A1 |
20020056125 | Hodge et al. | May 2002 | A1 |
20020059218 | August et al. | May 2002 | A1 |
20020059619 | Lebar | May 2002 | A1 |
20020066033 | Dobbins et al. | May 2002 | A1 |
20020083451 | Gill et al. | Jun 2002 | A1 |
20020087995 | Pedlow et al. | Jul 2002 | A1 |
20020100059 | Buehl et al. | Jul 2002 | A1 |
20020123931 | Splaver et al. | Sep 2002 | A1 |
20020143607 | Connelly | Oct 2002 | A1 |
20020144267 | Gutta et al. | Oct 2002 | A1 |
20020147771 | Traversat et al. | Oct 2002 | A1 |
20020152091 | Nagaoka et al. | Oct 2002 | A1 |
20020152299 | Traversat et al. | Oct 2002 | A1 |
20020152474 | Dudkiewicz | Oct 2002 | A1 |
20020174430 | Ellis et al. | Nov 2002 | A1 |
20020174433 | Baumgartner et al. | Nov 2002 | A1 |
20020178444 | Trajkovic et al. | Nov 2002 | A1 |
20020188744 | Mani | Dec 2002 | A1 |
20020188869 | Patrick | Dec 2002 | A1 |
20020188947 | Wang et al. | Dec 2002 | A1 |
20020191950 | Wang | Dec 2002 | A1 |
20020194595 | Miller et al. | Dec 2002 | A1 |
20030005453 | Rodriguez et al. | Jan 2003 | A1 |
20030005457 | Faibish et al. | Jan 2003 | A1 |
20030028451 | Ananian | Feb 2003 | A1 |
20030028873 | Lemmons | Feb 2003 | A1 |
20030046704 | Laksono et al. | Mar 2003 | A1 |
20030056217 | Brooks | Mar 2003 | A1 |
20030061618 | Horiuchi et al. | Mar 2003 | A1 |
20030086422 | Klinker et al. | May 2003 | A1 |
20030093790 | Logan et al. | May 2003 | A1 |
20030093794 | Thomas et al. | May 2003 | A1 |
20030097574 | Upton | May 2003 | A1 |
20030115267 | Hinton et al. | Jun 2003 | A1 |
20030118014 | Iyer et al. | Jun 2003 | A1 |
20030123465 | Donahue | Jul 2003 | A1 |
20030135628 | Fletcher et al. | Jul 2003 | A1 |
20030135860 | Dureau | Jul 2003 | A1 |
20030163443 | Wang | Aug 2003 | A1 |
20030165241 | Fransdonk | Sep 2003 | A1 |
20030166401 | Combes et al. | Sep 2003 | A1 |
20030188317 | Liew et al. | Oct 2003 | A1 |
20030200548 | Baran et al. | Oct 2003 | A1 |
20030208767 | Williamson et al. | Nov 2003 | A1 |
20030217137 | Roese et al. | Nov 2003 | A1 |
20030217365 | Caputo | Nov 2003 | A1 |
20030220100 | McElhatten et al. | Nov 2003 | A1 |
20040015986 | Carver et al. | Jan 2004 | A1 |
20040019913 | Wong et al. | Jan 2004 | A1 |
20040031058 | Reisman | Feb 2004 | A1 |
20040034877 | Nogues | Feb 2004 | A1 |
20040045032 | Cummings et al. | Mar 2004 | A1 |
20040045035 | Cummings et al. | Mar 2004 | A1 |
20040045037 | Cummings et al. | Mar 2004 | A1 |
20040049694 | Candelore | Mar 2004 | A1 |
20040057457 | Ahn et al. | Mar 2004 | A1 |
20040083177 | Chen et al. | Apr 2004 | A1 |
20040117254 | Nemirofsky et al. | Jun 2004 | A1 |
20040117838 | Karaoguz et al. | Jun 2004 | A1 |
20040133923 | Watson et al. | Jul 2004 | A1 |
20040137918 | Varonen et al. | Jul 2004 | A1 |
20040158870 | Paxton et al. | Aug 2004 | A1 |
20040166832 | Portman et al. | Aug 2004 | A1 |
20040216158 | Blas | Oct 2004 | A1 |
20040230994 | Urdang et al. | Nov 2004 | A1 |
20040250273 | Swix et al. | Dec 2004 | A1 |
20040268398 | Fano et al. | Dec 2004 | A1 |
20040268403 | Krieger et al. | Dec 2004 | A1 |
20050002418 | Yang et al. | Jan 2005 | A1 |
20050002638 | Putterman et al. | Jan 2005 | A1 |
20050005308 | Logan et al. | Jan 2005 | A1 |
20050034171 | Benya | Feb 2005 | A1 |
20050047501 | Yoshida et al. | Mar 2005 | A1 |
20050049886 | Grannan et al. | Mar 2005 | A1 |
20050050579 | Dietz et al. | Mar 2005 | A1 |
20050055220 | Lee et al. | Mar 2005 | A1 |
20050055729 | Atad et al. | Mar 2005 | A1 |
20050071882 | Rodriguez et al. | Mar 2005 | A1 |
20050086334 | Aaltonen et al. | Apr 2005 | A1 |
20050086683 | Meyerson | Apr 2005 | A1 |
20050097599 | Plotnick et al. | May 2005 | A1 |
20050108763 | Baran et al. | May 2005 | A1 |
20050114701 | Atkins et al. | May 2005 | A1 |
20050114900 | Ladd et al. | May 2005 | A1 |
20050157731 | Peters | Jul 2005 | A1 |
20050165899 | Mazzola | Jul 2005 | A1 |
20050177855 | Maynard et al. | Aug 2005 | A1 |
20050188415 | Riley | Aug 2005 | A1 |
20050223097 | Ramsayer et al. | Oct 2005 | A1 |
20050228725 | Rao et al. | Oct 2005 | A1 |
20050289616 | Horiuchi et al. | Dec 2005 | A1 |
20050289618 | Hardin | Dec 2005 | A1 |
20060020786 | Helms et al. | Jan 2006 | A1 |
20060021004 | Moran et al. | Jan 2006 | A1 |
20060021019 | Hinton et al. | Jan 2006 | A1 |
20060041905 | Wasilewski | Feb 2006 | A1 |
20060041915 | Dimitrova et al. | Feb 2006 | A1 |
20060047957 | Helms et al. | Mar 2006 | A1 |
20060053463 | Choi | Mar 2006 | A1 |
20060059532 | Dugan et al. | Mar 2006 | A1 |
20060061682 | Bradley | Mar 2006 | A1 |
20060090186 | Santangelo et al. | Apr 2006 | A1 |
20060095940 | Yearwood | May 2006 | A1 |
20060117379 | Bennett et al. | Jun 2006 | A1 |
20060130099 | Rooyen | Jun 2006 | A1 |
20060130101 | Wessel Van Rooyen et al. | Jun 2006 | A1 |
20060130107 | Gonder et al. | Jun 2006 | A1 |
20060130113 | Carlucci | Jun 2006 | A1 |
20060136964 | Diez et al. | Jun 2006 | A1 |
20060136968 | Han et al. | Jun 2006 | A1 |
20060139379 | Toma et al. | Jun 2006 | A1 |
20060149850 | Bowman | Jul 2006 | A1 |
20060156392 | Baugher et al. | Jul 2006 | A1 |
20060161635 | Lamkin et al. | Jul 2006 | A1 |
20060165082 | Pfeffer et al. | Jul 2006 | A1 |
20060165173 | Kim et al. | Jul 2006 | A1 |
20060171423 | Helms et al. | Aug 2006 | A1 |
20060187900 | Akbar | Aug 2006 | A1 |
20060206712 | Dillaway et al. | Sep 2006 | A1 |
20060209799 | Gallagher et al. | Sep 2006 | A1 |
20060218601 | Michel | Sep 2006 | A1 |
20060218604 | Riedl et al. | Sep 2006 | A1 |
20060221246 | Yoo | Oct 2006 | A1 |
20060236358 | Liu et al. | Oct 2006 | A1 |
20060238656 | Chen et al. | Oct 2006 | A1 |
20060248553 | Mikkelson et al. | Nov 2006 | A1 |
20060259927 | Acharya et al. | Nov 2006 | A1 |
20060288366 | Boylan et al. | Dec 2006 | A1 |
20060291506 | Cain | Dec 2006 | A1 |
20070014293 | Filsfils et al. | Jan 2007 | A1 |
20070019645 | Menon | Jan 2007 | A1 |
20070022459 | Gaebel, Jr. et al. | Jan 2007 | A1 |
20070022469 | Cooper et al. | Jan 2007 | A1 |
20070025372 | Brenes et al. | Feb 2007 | A1 |
20070033282 | Mao et al. | Feb 2007 | A1 |
20070033531 | Marsh | Feb 2007 | A1 |
20070038671 | Holm et al. | Feb 2007 | A1 |
20070049245 | Lipman | Mar 2007 | A1 |
20070050822 | Stevens et al. | Mar 2007 | A1 |
20070053513 | Hoffberg et al. | Mar 2007 | A1 |
20070061023 | Hoffberg I. et al. | Mar 2007 | A1 |
20070067851 | Fernando et al. | Mar 2007 | A1 |
20070073704 | Bowden et al. | Mar 2007 | A1 |
20070076728 | Rieger et al. | Apr 2007 | A1 |
20070081537 | Wheelock | Apr 2007 | A1 |
20070094691 | Gazdzinski | Apr 2007 | A1 |
20070113246 | Xiong | May 2007 | A1 |
20070118848 | Schwesinger et al. | May 2007 | A1 |
20070121578 | Annadata et al. | May 2007 | A1 |
20070121678 | Brooks et al. | May 2007 | A1 |
20070124488 | Baum et al. | May 2007 | A1 |
20070136777 | Hasek et al. | Jun 2007 | A1 |
20070153820 | Gould | Jul 2007 | A1 |
20070154041 | Beauchamp | Jul 2007 | A1 |
20070157234 | Walker | Jul 2007 | A1 |
20070157262 | Ramaswamy et al. | Jul 2007 | A1 |
20070180230 | Cortez | Aug 2007 | A1 |
20070192103 | Sato et al. | Aug 2007 | A1 |
20070204300 | Markley et al. | Aug 2007 | A1 |
20070204314 | Hasek et al. | Aug 2007 | A1 |
20070209054 | Cassanova | Sep 2007 | A1 |
20070209059 | Moore et al. | Sep 2007 | A1 |
20070217436 | Markley | Sep 2007 | A1 |
20070219910 | Martinez | Sep 2007 | A1 |
20070226365 | Hildreth et al. | Sep 2007 | A1 |
20070245376 | Svendsen | Oct 2007 | A1 |
20070250880 | Hainline | Oct 2007 | A1 |
20070261089 | Aaby | Nov 2007 | A1 |
20070261116 | Prafullchandra et al. | Nov 2007 | A1 |
20070276925 | La Joie et al. | Nov 2007 | A1 |
20070276926 | Lajoie et al. | Nov 2007 | A1 |
20070280298 | Hearn et al. | Dec 2007 | A1 |
20070288637 | Layton et al. | Dec 2007 | A1 |
20070288715 | Boswell et al. | Dec 2007 | A1 |
20070294717 | Hill et al. | Dec 2007 | A1 |
20070294738 | Kuo et al. | Dec 2007 | A1 |
20070299728 | Nemirofsky et al. | Dec 2007 | A1 |
20080021836 | Lao | Jan 2008 | A1 |
20080022012 | Wang | Jan 2008 | A1 |
20080036917 | Pascarella et al. | Feb 2008 | A1 |
20080059804 | Shah et al. | Mar 2008 | A1 |
20080066112 | Bailey et al. | Mar 2008 | A1 |
20080086750 | Yasrebi et al. | Apr 2008 | A1 |
20080091805 | Malaby et al. | Apr 2008 | A1 |
20080091807 | Strub et al. | Apr 2008 | A1 |
20080092181 | Britt et al. | Apr 2008 | A1 |
20080098212 | Helms et al. | Apr 2008 | A1 |
20080098241 | Cheshire | Apr 2008 | A1 |
20080098450 | Wu et al. | Apr 2008 | A1 |
20080101460 | Rodriguez | May 2008 | A1 |
20080109853 | Einarsson et al. | May 2008 | A1 |
20080112405 | Cholas | May 2008 | A1 |
20080133551 | Wensley et al. | Jun 2008 | A1 |
20080134043 | Georgis et al. | Jun 2008 | A1 |
20080134165 | Anderson et al. | Jun 2008 | A1 |
20080137541 | Agarwal et al. | Jun 2008 | A1 |
20080137740 | Thoreau et al. | Jun 2008 | A1 |
20080155059 | Hardin et al. | Jun 2008 | A1 |
20080155614 | Cooper et al. | Jun 2008 | A1 |
20080162353 | Tom et al. | Jul 2008 | A1 |
20080168487 | Chow et al. | Jul 2008 | A1 |
20080170551 | Zaks | Jul 2008 | A1 |
20080177998 | Apsangi et al. | Jul 2008 | A1 |
20080178225 | Jost | Jul 2008 | A1 |
20080184344 | Hernacki et al. | Jul 2008 | A1 |
20080189617 | Covell et al. | Aug 2008 | A1 |
20080192820 | Brooks et al. | Aug 2008 | A1 |
20080198780 | Sato | Aug 2008 | A1 |
20080200154 | Maharajh et al. | Aug 2008 | A1 |
20080201386 | Maharajh et al. | Aug 2008 | A1 |
20080201736 | Gordon et al. | Aug 2008 | A1 |
20080201748 | Hasek et al. | Aug 2008 | A1 |
20080215755 | Farber et al. | Sep 2008 | A1 |
20080222684 | Mukraj et al. | Sep 2008 | A1 |
20080229379 | Akhter | Sep 2008 | A1 |
20080235746 | Peters | Sep 2008 | A1 |
20080244667 | Osborne | Oct 2008 | A1 |
20080256615 | Schlacht et al. | Oct 2008 | A1 |
20080273591 | Brooks et al. | Nov 2008 | A1 |
20080279534 | Buttars | Nov 2008 | A1 |
20080281971 | Leppanen et al. | Nov 2008 | A1 |
20080282299 | Koat et al. | Nov 2008 | A1 |
20080297669 | Zalewski et al. | Dec 2008 | A1 |
20080306903 | Larson et al. | Dec 2008 | A1 |
20080320523 | Morris et al. | Dec 2008 | A1 |
20080320528 | Kim et al. | Dec 2008 | A1 |
20080320540 | Brooks et al. | Dec 2008 | A1 |
20090006211 | Perry et al. | Jan 2009 | A1 |
20090025027 | Craner | Jan 2009 | A1 |
20090030802 | Plotnick et al. | Jan 2009 | A1 |
20090031335 | Hendricks et al. | Jan 2009 | A1 |
20090064221 | Stevens | Mar 2009 | A1 |
20090083279 | Hasek | Mar 2009 | A1 |
20090083811 | Dolce et al. | Mar 2009 | A1 |
20090083813 | Dolce et al. | Mar 2009 | A1 |
20090086643 | Kotrla et al. | Apr 2009 | A1 |
20090094347 | Ting et al. | Apr 2009 | A1 |
20090098861 | Kalliola et al. | Apr 2009 | A1 |
20090100459 | Riedl et al. | Apr 2009 | A1 |
20090100493 | Jones et al. | Apr 2009 | A1 |
20090133048 | Gibbs et al. | May 2009 | A1 |
20090133090 | Busse | May 2009 | A1 |
20090141696 | Chou et al. | Jun 2009 | A1 |
20090150210 | Athsani et al. | Jun 2009 | A1 |
20090150917 | Huffman et al. | Jun 2009 | A1 |
20090151006 | Saeki et al. | Jun 2009 | A1 |
20090158311 | Hon et al. | Jun 2009 | A1 |
20090172757 | Aldrey | Jul 2009 | A1 |
20090172776 | Makagon et al. | Jul 2009 | A1 |
20090175218 | Song et al. | Jul 2009 | A1 |
20090185576 | Kisel et al. | Jul 2009 | A1 |
20090187939 | LaJoie | Jul 2009 | A1 |
20090187944 | White et al. | Jul 2009 | A1 |
20090193486 | Patel et al. | Jul 2009 | A1 |
20090201917 | Maes et al. | Aug 2009 | A1 |
20090210899 | Lawrence-Apfelbaum | Aug 2009 | A1 |
20090210912 | Cholas et al. | Aug 2009 | A1 |
20090225760 | Foti | Sep 2009 | A1 |
20090228941 | Russell et al. | Sep 2009 | A1 |
20090235308 | Ehlers et al. | Sep 2009 | A1 |
20090248794 | Helms et al. | Oct 2009 | A1 |
20090282241 | Prafullchandra et al. | Nov 2009 | A1 |
20090282449 | Lee | Nov 2009 | A1 |
20090293101 | Carter et al. | Nov 2009 | A1 |
20090296621 | Park et al. | Dec 2009 | A1 |
20100012568 | Fujisawa et al. | Jan 2010 | A1 |
20100027560 | Yang et al. | Feb 2010 | A1 |
20100030578 | Siddique et al. | Feb 2010 | A1 |
20100031299 | Harrang et al. | Feb 2010 | A1 |
20100042478 | Reisman | Feb 2010 | A1 |
20100043030 | White | Feb 2010 | A1 |
20100083329 | Joyce et al. | Apr 2010 | A1 |
20100083362 | Francisco | Apr 2010 | A1 |
20100086020 | Schlack | Apr 2010 | A1 |
20100106846 | Noldus et al. | Apr 2010 | A1 |
20100115091 | Park et al. | May 2010 | A1 |
20100115113 | Short et al. | May 2010 | A1 |
20100115540 | Fan et al. | May 2010 | A1 |
20100122274 | Gillies et al. | May 2010 | A1 |
20100122276 | Chen | May 2010 | A1 |
20100125658 | Strasters | May 2010 | A1 |
20100131973 | Dillon et al. | May 2010 | A1 |
20100132003 | Bennett et al. | May 2010 | A1 |
20100135646 | Bang et al. | Jun 2010 | A1 |
20100138900 | Peterka et al. | Jun 2010 | A1 |
20100169977 | Dasher et al. | Jul 2010 | A1 |
20100186029 | Kim et al. | Jul 2010 | A1 |
20100198655 | Ketchum et al. | Aug 2010 | A1 |
20100199299 | Chang et al. | Aug 2010 | A1 |
20100199312 | Chang et al. | Aug 2010 | A1 |
20100217613 | Kelly et al. | Aug 2010 | A1 |
20100218231 | Frink et al. | Aug 2010 | A1 |
20100219613 | Zaloom et al. | Sep 2010 | A1 |
20100251304 | Donoghue | Sep 2010 | A1 |
20100251305 | Kimble | Sep 2010 | A1 |
20100262999 | Curran | Oct 2010 | A1 |
20100269144 | Forsman et al. | Oct 2010 | A1 |
20100280641 | Harkness et al. | Nov 2010 | A1 |
20100287588 | Cox et al. | Nov 2010 | A1 |
20100287609 | Gonzalez et al. | Nov 2010 | A1 |
20100293494 | Schmidt | Nov 2010 | A1 |
20100312826 | Sarosi et al. | Dec 2010 | A1 |
20100313225 | Cholas et al. | Dec 2010 | A1 |
20100325547 | Keng et al. | Dec 2010 | A1 |
20110015989 | Tidwell et al. | Jan 2011 | A1 |
20110016479 | Tidwell et al. | Jan 2011 | A1 |
20110016482 | Tidwell et al. | Jan 2011 | A1 |
20110055866 | Piepenbrink et al. | Mar 2011 | A1 |
20110071841 | Fomenko et al. | Mar 2011 | A1 |
20110078001 | Archer et al. | Mar 2011 | A1 |
20110078005 | Klappert | Mar 2011 | A1 |
20110078731 | Nishimura | Mar 2011 | A1 |
20110090898 | Patel et al. | Apr 2011 | A1 |
20110093900 | Patel et al. | Apr 2011 | A1 |
20110099017 | Ure | Apr 2011 | A1 |
20110103374 | Lajoie et al. | May 2011 | A1 |
20110107364 | Lajoie et al. | May 2011 | A1 |
20110107379 | Lajoie et al. | May 2011 | A1 |
20110110515 | Tidwell et al. | May 2011 | A1 |
20110126018 | Narsinh et al. | May 2011 | A1 |
20110126244 | Hasek | May 2011 | A1 |
20110126246 | Thomas et al. | May 2011 | A1 |
20110138064 | Rieger et al. | Jun 2011 | A1 |
20110145049 | Hertel et al. | Jun 2011 | A1 |
20110154383 | Hao et al. | Jun 2011 | A1 |
20110173053 | Aaltonen et al. | Jul 2011 | A1 |
20110173095 | Kassaei et al. | Jul 2011 | A1 |
20110178943 | Motahari et al. | Jul 2011 | A1 |
20110191801 | Vytheeswaran | Aug 2011 | A1 |
20110212756 | Packard et al. | Sep 2011 | A1 |
20110213688 | Santos et al. | Sep 2011 | A1 |
20110219229 | Cholas et al. | Sep 2011 | A1 |
20110219411 | Smith | Sep 2011 | A1 |
20110231660 | Kanungo | Sep 2011 | A1 |
20110239253 | West et al. | Sep 2011 | A1 |
20110246616 | Ronca et al. | Oct 2011 | A1 |
20110258049 | Ramer et al. | Oct 2011 | A1 |
20110264530 | Santangelo et al. | Oct 2011 | A1 |
20110265116 | Stern et al. | Oct 2011 | A1 |
20110276881 | Keng et al. | Nov 2011 | A1 |
20110277008 | Smith | Nov 2011 | A1 |
20110302624 | Chen et al. | Dec 2011 | A1 |
20120005527 | Engel et al. | Jan 2012 | A1 |
20120008786 | Cronk et al. | Jan 2012 | A1 |
20120011567 | Cronk et al. | Jan 2012 | A1 |
20120023535 | Brooks et al. | Jan 2012 | A1 |
20120030363 | Conrad | Feb 2012 | A1 |
20120076015 | Pfeffer | Mar 2012 | A1 |
20120079523 | Trimper et al. | Mar 2012 | A1 |
20120089699 | Cholas | Apr 2012 | A1 |
20120124149 | Gross et al. | May 2012 | A1 |
20120124606 | Tidwell et al. | May 2012 | A1 |
20120137332 | Kumar | May 2012 | A1 |
20120144416 | Wetzer et al. | Jun 2012 | A1 |
20120151077 | Finster | Jun 2012 | A1 |
20120167132 | Mathews et al. | Jun 2012 | A1 |
20120170544 | Cheng et al. | Jul 2012 | A1 |
20120170741 | Chen et al. | Jul 2012 | A1 |
20120173746 | Salinger et al. | Jul 2012 | A1 |
20120185693 | Chen et al. | Jul 2012 | A1 |
20120185899 | Riedl et al. | Jul 2012 | A1 |
20120191844 | Boyns et al. | Jul 2012 | A1 |
20120215903 | Fleischman et al. | Aug 2012 | A1 |
20120246462 | Moroney et al. | Sep 2012 | A1 |
20120284804 | Lindquist et al. | Nov 2012 | A1 |
20120324552 | Padala et al. | Dec 2012 | A1 |
20130014140 | Ye et al. | Jan 2013 | A1 |
20130014171 | Sansom et al. | Jan 2013 | A1 |
20130024888 | Sivertsen | Jan 2013 | A1 |
20130024891 | Elend et al. | Jan 2013 | A1 |
20130031578 | Zhu et al. | Jan 2013 | A1 |
20130039338 | Suzuki et al. | Feb 2013 | A1 |
20130046849 | Wolf et al. | Feb 2013 | A1 |
20130067039 | Hartzler | Mar 2013 | A1 |
20130073400 | Heath | Mar 2013 | A1 |
20130097647 | Brooks et al. | Apr 2013 | A1 |
20130117692 | Padmanabhan et al. | May 2013 | A1 |
20130132986 | Mack et al. | May 2013 | A1 |
20130133010 | Chen | May 2013 | A1 |
20130166906 | Swaminathan et al. | Jun 2013 | A1 |
20130173745 | Biderman | Jul 2013 | A1 |
20130174271 | Handal et al. | Jul 2013 | A1 |
20130219178 | Xiques et al. | Aug 2013 | A1 |
20130227283 | Williamson et al. | Aug 2013 | A1 |
20130227284 | Pfeffer et al. | Aug 2013 | A1 |
20130311464 | Nix et al. | Nov 2013 | A1 |
20140012843 | Soon-Shiong | Jan 2014 | A1 |
20140074855 | Zhao et al. | Mar 2014 | A1 |
20140201799 | Smith | Jul 2014 | A1 |
20140245341 | Mack et al. | Aug 2014 | A1 |
20140259182 | Mershon | Sep 2014 | A1 |
20140351437 | Madani | Nov 2014 | A1 |
20150020126 | Kegel et al. | Jan 2015 | A1 |
20150040176 | Hybertson et al. | Feb 2015 | A1 |
20150095932 | Ren | Apr 2015 | A1 |
Number | Date | Country |
---|---|---|
1087619 | Mar 2001 | EP |
1821459 | Aug 2007 | EP |
2001275090 | Oct 2001 | JP |
2005519365 | Jun 2005 | JP |
2005519501 | Jun 2005 | JP |
2005339093 | Dec 2005 | JP |
2008015936 | Jan 2008 | JP |
2009211632 | Sep 2009 | JP |
2010502109 | Jan 2010 | JP |
2010079902 | Apr 2010 | JP |
2012505436 | Mar 2012 | JP |
2012523614 | Oct 2012 | JP |
WO-0011871 | Mar 2000 | WO |
WO-0052928 | Sep 2000 | WO |
WO-0110125 | Feb 2001 | WO |
WO-0139505 | May 2001 | WO |
WO-0156285 | Aug 2001 | WO |
WO-0195610 | Dec 2001 | WO |
WO-0195621 | Dec 2001 | WO |
WO-2005015422 | Feb 2005 | WO |
WO 2005031524 | Apr 2005 | WO |
WO-2007060451 | May 2007 | WO |
WO-2011035443 | Mar 2011 | WO |
WO-2011053858 | May 2011 | WO |
WO-2012021245 | Feb 2012 | WO |
WO-2012114140 | Aug 2012 | WO |
Entry |
---|
US 6,940,674 B2, 09/2005, Sakamoto (withdrawn) |
Brian Lowry, Television, as you like it; Today's gadgetry is smart enough to let viewers choose camera angles, or kick back and rewind as the action unfolds live. Watch it, and it watches back, Los Angeles Times, Feb. 13, 2000, section: Calendar, p. 8, Calendar Desk, 2000 Times Mirror Company. |
Dale Buss, “Ultra TV”, Brandmarketing, Sep. 1999, vol. VI, No. 9, p. 74, ISSN 1091-6962, 1999 Responsive Database Services, Inc. Business and Industry; 1999 Fairchild Publications. |
Duso et al, Operating System Support for a Video-On-Demand File Service, Digital Equipment Corporation, p. 4 (“CMFAP”). |
Future VOD role of studios vs. other companies debated, Video Week, Apr. 10, 2000, section: This Week's News, 2000 Warren Publishing, Inc. |
“Independent study shows TiVo service increases enjoyment and changes people's attitudes towards T.V.”, PR Newswire, May 2, 2000, 2000 FT Asia Intelligence Wire; 2000 PR Newswire. |
Kale, RFC 1180 “A TCP/1P tutorial”, Jan. 1991, Spider Systems Limited, Section 4 “ARP”. |
Marc Gunther; Irene Gashurov, “When technology attacks!; Your T.V. is looking weird. Network executives are getting flustered. Viewing choices are exploding. That's what happens . . . ”, Fortune, Mar. 6, 2000, section: Features/Television, p. 152, 2000 Time Inc. |
Mary Kathleen Flynn; Steve Young, “Interactive TV, CNNFn”, transcipt #00081407FN-111 interview Josh Bernoff, Digital Jam, Aug. 14, 2000, Mon. 8:08 p.m. EST, 2000 Cable News Network. |
“More ‘convergence’ digital video recorders emerge”, Video Week, Jun. 19, 2000, section: This Week's News, 2000 Warren Publishing, Inc. |
Patricia Sabga; Charles Molineaux, “TiVo—Ceo, CNNfn”, transcript # 000901 10FN-107 interview Michael Ramsay, The N.E.W. Show, Sep. 1, 2000, Fri. 5:18 p. m. EST, 2000 Cable News Network. |
Peter Thal Larsen, “Inside Track: TV viewers can box clever: Technology Video Recorders: personal video reorders will be a godsend for viewers. But what about the schedulers”, Financial Times London Ed., Jun. 23, 2000, p. 18, ISSN 0307-1766, 2000 Responsive Database Services, Inc. Business and Industry; 2000 Financial Times Ltd. |
“PVR copyright concerns raised”, Audio Week, Aug. 23, 1999, section: This Week's News, 1999 Warren Publishing, Inc. |
Raymond Snoddy, “The TiVo—T.V.'s nemesis?”, Times Newspapers Ltd., Sep. 1, 2000, section: Features, 2000 Times Newspapers Limited (the Times London). |
Roy Furchgott, “Don't want people to control their T.V.s?”, The New York Times, Aug. 24, 2000, Section G, p. 1, col. 2, Circuits, 2000 The New York Times Company. |
Scaling of the distribution of fluctuations of financial market indices by P. Gopikrishnan et al. Physical Review E. vol. 60 No. 5., Nov. 1999. |
Schonfeld, “Thuuz tells sports fans if a game is worth watching”, Oct. 7, 2010, TC News from http://techcrunch.com/2010/10/07/thuuz, 2 pages. |
Select a Channel to start watching, Videophiles: Curate your own online video channel with expressive, easy to use tools; © 2014 Redux, Inc. All rights reserved; http://www.redux.com/; 2 pages. |
“TiVo and replay sign cable deals to boost PVR distribution”, Warren's Cable Regulation Monitor, Aug. 21, 2000, section: This Week's News, 2000 Warren Publishing, Inc. |
American national Standard. ANSI/SCTE 35 2012. Digital Program Insertion Cueing Message for Cable, by Society of Cable Telecommunication Engineers. 2012. |
Apple Inc, The apparatus and methods of H1TP Live Streaming Overview, Apr. 1, 2011. |
Enhanced TV Binary Interchange, Format 1.0 OC-SP-ETV-BIF1.0-104-070921 Date: Sep. 21, 2007, 420 pages. |
Open Cable Specifications Alternate Content Real-Time Event Signaling and Management API by Cable Television Laboratories. Inc. 2012. |
SAML Binding: S. Cantor et al. Bindings for the OASIS Security Assertion Markup Language (SAML) V2.0 OASIS Standard Mar. 2005. Document ID saml-bindings-2.0-os (http://docs.oasis-open.orgisecurity/saml/v2.0/saml-bindings-2.0-os.pdf). |
SCTE Standards Document ANSUSCTE 118-2 2007 entitled Program-Specific Ad Insertion—Content Provider to Traffic Communication Applications Data Model. |
SCTE Standards Document ANSUSCTE 130-1 2008 entitled Digital Progra section Advertising Systems Interfaces. |
Security Assertion Markup Language (SAML) Specification (Version 2.0 released in 2005), as SAML Core: S. Cantor et al. Assertions and Protocols for the OASIS Security Assertion Markup Language (SAML) V2.0. OASIS Standard Mar. 2005. Document ID saml-core-2.0-os (http://docs.oasis-open.org/security/saml/v2.0/saml-core-2.0-os.pdf). |
UTF-32, IBM, retrieved from http://publib.boulder.ibm.com/infocenter/iseries/v5r3/index.jsp?topic=%2Fnls%2Frbagsutf32.htm. on Aug. 28, 2013. |
Zarnbell °T he Apparatus and Methods of HS Smooth Streaming Technical Overview, Mar. 2009. |
DLNA (Digital Living Network Alliance) protocols described in DLNA Networked Device Interoperability Guidelines Expanded, Mar. 2006 and subsequent expanded version dated Oct. 2006. |
DOCSIS 3.0 Management Features Differences Technical Report CM-TR-MGMTv3 0-DIFF-V01-071228, pp. 1-62. |
DOCSIS 3.0 OSSI Configuration Management Technical Report CM-TR-OSSIv3 0-CM-V01-080936 pp. 1-84. |
MPEG Headers Quick Reference, http://dvd.sourceforge.net/dvdinfo/mpeghdrs.html, Mar. 6, 2006. |
OpenCable Specifications, Tuning Resolver Interface Specification, OS-SP-TRIF-I01-080130, Jan. 30, 2008, pp. 1-50. |
Siebenlist F., et al., “Global Grid Forum Specification Roadmap towards a Secure OGSA,” Jul. 2002, pp. 1-22. |
Number | Date | Country | |
---|---|---|---|
20100251304 A1 | Sep 2010 | US |