US20020054087A1 - Channel dancer - Google Patents

Channel dancer Download PDF

Info

Publication number
US20020054087A1
US20020054087A1 US09/835,529 US83552901A US2002054087A1 US 20020054087 A1 US20020054087 A1 US 20020054087A1 US 83552901 A US83552901 A US 83552901A US 2002054087 A1 US2002054087 A1 US 2002054087A1
Authority
US
United States
Prior art keywords
content
user
virtual channels
client
user machine
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US09/835,529
Inventor
Roland Noll
Khanh Mai
Tom Grimes
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Andrew Kurth LLP
Andrews Kurth LLP
CacheStream Corp
Original Assignee
CacheStream Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by CacheStream Corp filed Critical CacheStream Corp
Priority to US09/835,529 priority Critical patent/US20020054087A1/en
Assigned to CACHESTREAM CORP. reassignment CACHESTREAM CORP. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: GRIMES, TOM, MAI, KHAHN, NOLL, ROLAND
Publication of US20020054087A1 publication Critical patent/US20020054087A1/en
Priority to US11/039,849 priority patent/US8799471B2/en
Assigned to Andrews Kurth LLP reassignment Andrews Kurth LLP ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: GRIMES, TOM, MAI, KAHNH
Assigned to Andrew Kurth LLP reassignment Andrew Kurth LLP ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: GRIMES, TOM, MAI, KHANH
Abandoned legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/254Management at additional data server, e.g. shopping server, rights management server
    • H04N21/2542Management at additional data server, e.g. shopping server, rights management server for selling goods, e.g. TV shopping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2402Monitoring of the downstream path of the transmission network, e.g. bandwidth available
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/254Management at additional data server, e.g. shopping server, rights management server
    • H04N21/2541Rights Management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/254Management at additional data server, e.g. shopping server, rights management server
    • H04N21/2543Billing, e.g. for subscription services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/258Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
    • H04N21/25866Management of end-user data
    • H04N21/25891Management of end-user data being end-user preferences
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/2668Creating a channel for a dedicated end-user group, e.g. insertion of targeted commercials based on end-user profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/426Internal components of the client ; Characteristics thereof
    • H04N21/42684Client identification by a unique number or address, e.g. serial number, MAC address, socket ID
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • H04N21/4331Caching operations, e.g. of an advertisement for later insertion during playback
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/44213Monitoring of end-user related data
    • H04N21/44222Analytics of user selections, e.g. selection of programs or purchase activity
    • H04N21/44224Monitoring of user activity on external systems, e.g. Internet browsing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/462Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
    • H04N21/4622Retrieving content or additional data from different sources, e.g. from a broadcast channel and the Internet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • H04N21/47805Electronic banking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • H04N21/4782Web browsing, e.g. WebTV
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/482End-user interface for program selection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/61Network physical structure; Signal processing
    • H04N21/6106Network physical structure; Signal processing specially adapted to the downstream path of the transmission network
    • H04N21/6125Network physical structure; Signal processing specially adapted to the downstream path of the transmission network involving transmission via Internet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/812Monomedia components thereof involving advertisement data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/8166Monomedia components thereof involving executable data, e.g. software
    • H04N21/8173End-user applications, e.g. Web browser, game
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/173Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
    • H04N7/17309Transmission or handling of upstream communications
    • H04N7/17318Direct or substantially direct transmission and handling of requests

Definitions

  • the technical field is delivery of broadband content and personalized multimedia content delivery systems.
  • bandwidth capacity available to consumers for receiving content from the Internet and other networks has increased ten-fold and more.
  • the increased bandwidth capacity has enabled consumers to download larger and larger files and other content, including rich media and multimedia content such as video clips, songs and movies.
  • This increased bandwidth capacity has increased Internet usage and the potential for enjoyable and productive usage.
  • a system and method (the “Channel Dancer”) of delivering broadband content that has been personalized for a recipient user is disclosed by this application.
  • the system and method develop “stickiness” with the user that maximizes the benefits and effectiveness of advertising and related activities.
  • An embodiment of the system comprises a network operations center (“NOC”) that collects, aggregates and classifies content, assigns appropriate targeted advertising and e-commerce material to the content, and schedules the content for transmission on “virtual channels”, a transmission medium, such as a satellite, that transmits the virtual channels, an edge-of-net location, such as a broadband Internet Service Provider (“ISP”), that receives the virtual channels transmitted from the transmission medium, and a user machine (e.g., a personal computer (“PC”)) on which resides client software (the “client”).
  • the NOC also preferably generates and transmits to the client a control channel comprising content programming information and graphical user interface (“GUI”) “skins” updates.
  • GUI graphical user interface
  • the GUI skins are used to dynamically update GUIs through which the user views and selects content, and are used to deliver target advertising and e-commerce opportunities based, for example, on user feedback.
  • the system preferably also comprises a point-of-presence (“POP”) client server, referred to as the “Channel Dancer” server, which resides at the edge-of-net location, or another location, and that acts as a router, propagating requested or personalized virtual channels to the client.
  • POP point-of-presence
  • the NOC may also comprise one or more servers for carrying out the above tasks and for keeping track of user feedback received over the Internet or otherwise, handling pay-per-view transactions and managing client services, including billing.
  • FIG. 1 is a block diagram overview of a system for delivering personalized broadband content.
  • FIGS. 2 a and 2 b are block diagrams illustrating exemplary hardware for servers and user machines of the system for delivering personalized broadband content.
  • FIG. 3 is a flowchart of a method for delivering personalized broadband content.
  • FIG. 4 is a block diagram illustrating a NOC and operation of the NOC in detail.
  • FIG. 5 is a flowchart of a method of content and advertising aggregation and management.
  • FIG. 6 is a flowchart of a method of content and advertising classification.
  • FIG. 7 is a flowchart of a method of content and advertising scheduling.
  • FIG. 8 is flowchart of a method of network controller operation.
  • FIG. 9 is a block diagram illustrating a channel controller component and operation of the channel controller.
  • FIG. 10 is a flowchart of a method of channel controller operation at the NOC.
  • FIG. 11 is a block diagram of components of and operation of a POP client server of the system for delivering personalized broadband content.
  • FIG. 12 is a flowchart of a method of POP client server operation.
  • FIG. 13 is a block diagram illustrating components of and operation of a client of the system for delivering personalized broadband content.
  • FIG. 14 is a flowchart of a method of client operation.
  • FIG. 15 is a flowchart of a further method of client operation.
  • FIG. 16 is a flowchart of a method of client installation and digital rights management.
  • FIG. 17 is a block diagram of additional components of the NOC.
  • FIG. 18 a is a flowchart of a method of license file generation.
  • FIG. 18 b is a flowchart of a method of account inquiry.
  • FIG. 19 is a flowchart of a method of pay-per-view
  • FIG. 20 is a logic flow/block diagram of a pay-per-view access operation.
  • FIG. 21 is a flowchart of a method of e-commerce purchasing.
  • FIG. 22 is a flowchart of a method of advertising redirection.
  • FIG. 23 is a flowchart of a method of data mining.
  • FIG. 24 is a block diagram of an alternative embodiment of the NOC.
  • FIG. 25 is a flowchart of a method of creating a dynamic GUI.
  • FIG. 26 is a flowchart of a method of delivering personalized broadband content.
  • FIG. 27 is a flowchart of another method of advertising in the system for delivering personalized broadband content.
  • FIG. 1 illustrates an embodiment of a system 10 for delivering personalized broadband content.
  • the system 10 preferably comprises a network operations center (“NOC”) 12 , a transmission medium 14 , a broadband Internet Service Provider (“ISP”) 16 , and a user machine 18 .
  • NOC network operations center
  • ISP broadband Internet Service Provider
  • the NOC receives or retrieves content 122 , processes and schedules the content 122 for transmission on virtual channels 124 , transmits or broadcasts the virtual channels 124 over the transmission medium 14 to broadband ISPs 16 , from which the virtual channels 124 (and hence, the content 122 ) are transmitted, based at least in part on user feedback, over a broadband connection (e.g., cable, DSL or T-x line) to the user machine 18 , on which resides client software (the “client”) 20 that processes received virtual channels 124 to display content to a user and to store content as the user's personal content 182 .
  • a broadband connection e.g., cable, DSL or T-x line
  • the NOC 12 preferably comprises a plurality of servers, controllers, storage devices and other components that are generally responsible for the overall operations of the system 10 . In a sense, the NOC 12 may also be thought of as a “headend” of the system 10 .
  • the NOC 12 preferably collects, aggregates and classifies content (e.g., video, audio and Web data) 122 .
  • the NOC 12 preferably assigns (e.g., based on the classification of the content) appropriate targeted advertising, e-commerce material and other promotional or commerce-related material (collectively, “assigned material”) to the content 122 .
  • a content scheduler application (not shown) of the NOC 12 preferably schedules the content (with the assigned material) 122 for transmission on the virtual channels 124 .
  • Each virtual channel 124 preferably has a “main” video (or audio) component that is the primary content stream.
  • Each virtual channel 124 preferably can concurrently carry several multiplexed streaming sub-components and preferably includes an integrated file transfer capability. Therefore, advertising and other promotional material, as one sub-component, may be associated with the primary content stream or main component, by synchronizing the advertising with the broadcast content on one virtual channel at run time (when the virtual channel is created and broadcast), leaving the primary content stream unaltered.
  • the primary content stream may have known commercial breaks; the content scheduler preferably synchronizes the advertising with the commercial breaks so that the virtual channel displays the advertising during these commercial breaks. Consequently, preprocessing (authoring) of the principal video or audio stream is not required to deliver multiple targeted advertising streams in tandem.
  • the NOC 12 also generates special low-bandwidth virtual channels 124 referred to as “control channels.”
  • the control channels are preferably configured to continually broadcast content 122 programming information.
  • the control channels preferably also carry client 20 graphical user interface (“GUI”) updates (“skins”).
  • GUI graphical user interface
  • the client 20 may present received content 122 and the content 122 programming information to the user with GUIs.
  • the GUI skins may be used to brand and personalize the GUIs, including material displayed in banners and other locations of the GUIs.
  • the system 10 provides flexibility in both branding and personalization as well as supporting the insertion of targeted advertising and e-commerce opportunities with the GUI itself (e.g., in GUI banners).
  • control channel 126 preferably delivers, among other things, an event database and a java applet.
  • the java applet preferably executed by the client 20 , preferably reads a user personal profile and event database in order to display a dynamic GUI.
  • the control channel 126 may also feed a rich media screen saver that provides information about content 122 , adverting and e-commerce opportunities on a user's screen saver.
  • the NOC 12 preferably packages the virtual channels 124 as Internet Protocol (“IP”) Multicast streams and then delivers them via the transmission medium 14 (e.g., satellite) to the broadband ISPs 16 at the edge of the Internet.
  • IP Internet Protocol
  • the broadband ISPs 16 are preferably enabled to receive and transmit high bandwidth (e.g., >kPs) content, providing the ISP subscribers with high bandwidth service.
  • POP point-of-presence
  • client servers sitting on the backbone (not shown) of the broadband ISPs 16 receives the virtual channels 124 .
  • the POP client servers preferably act primarily as gateway Multicast routers, propagating requested virtual channels 124 (multicast streams) over the ISP's 16 backbone, and on to the user machines 18 .
  • the POP client servers may propagate virtual channels 124 as determined based on, e.g., user feedback, advertising and e-commerce hits and viewing habits (collectively, “user feedback”).
  • the client 20 on the user machine 18 preferably transmits user feedback, including advertising and e-commerce hits generated by the user on the user machine 18 , to the NOC 12 via, e.g., the Internet or other transmission medium.
  • the client 20 may transmit this information in response to requests from the NOC 12 or as scheduled.
  • the NOC 12 preferably records this information in a transaction database (not shown) located at the NOC 12 .
  • FIG. 2 a is a block diagram illustrating exemplary hardware components for implementing the various servers of the system 10 for delivering personalized broadband content.
  • the exemplary hardware shown may be used to implement the servers of the NOC 12 or the POP client server.
  • Server 30 typically includes a memory 32 , a secondary storage device 34 , a processor 36 , an input device 38 , a display device 40 , and an output device 42 .
  • Memory 32 is preferably a computer-readable medium and may include RAM or similar types of memory, and it may store one or more applications 44 for execution by processor 36 .
  • Secondary storage device 34 is preferably a computer-readable medium and may include a hard disk drive, floppy disk drive, CD-ROM drive, or other types of non-volatile data storage.
  • Processor 36 executes the application(s) 44 , which is stored in memory 33 or secondary storage 34 , or received from the Internet or other network.
  • Input device 38 may include any device for entering information into server 30 , such as a keyboard, mouse, cursor-control device, touch-screen, microphone, digital camera, video recorder or camcorder.
  • Display device 40 may include any type of device for presenting visual information such as, for example, a computer monitor or flat-screen display.
  • Output device 42 may include any type of device for presenting a hard copy of information, such as a printer, and other types of output devices include speakers or any device for providing information in audio form.
  • Server 30 may store a database structure in secondary storage 34 , for example, for storing and maintaining such information as described herein.
  • processor 36 may execute one or more software applications 44 in order to provide the functions described in this specification, and the processing may be implemented in software, such as software modules, for execution by computers or other machines, such as the user machine.
  • FIG. 2 b illustrates typical components of a user machine 18 used by a user.
  • User machine 18 typically includes a memory 45 , a secondary storage device 46 , a processor 48 , an input device 50 , a display device 52 , and an output device 54 .
  • Memory 45 is preferably a computer-readable medium and may include random access memory (RAM) or similar types of memory, and it may store one or more applications 56 (may include application(s) 44 received from server), including the client 20 , and a web browser 58 , for execution by processor 48 .
  • Secondary storage device 50 is preferably a computer-readable medium and may include a hard disk drive, floppy disk drive, CD-ROM drive, or other types of nonvolatile data storage.
  • Processor 48 may execute applications 56 (and/or 44 ) or programs stored in memory 45 or secondary storage 46 , or received from the Internet or other network (not shown). For example, the processor 48 preferably executes the client 20 in order to provide the client functions described herein.
  • Input device 50 may include any device for entering information into user machine 18 , such as a keyboard, mouse, cursor-control device, touch-screen, microphone, digital camera, video recorder or camcorder.
  • Display device 52 may include any type of device for presenting visual information such as, for example, a computer monitor or flat-screen display.
  • Output device 54 may include any type of device for presenting a hard copy of information, such as a printer, and other types of output devices include speakers or any device for providing information in audio form.
  • Web browser 58 is used to display the dynamic GUIs described herein. Examples of web browsers include the Netscape Navigator program and the Microsoft Internet Explorer program. Any web browser, co-browser, or other application capable of retrieving content from a network and displaying pages or screens may be used.
  • Examples of user machines 18 include personal computers, laptop computers, notebook computers, palm top computers, network computers, wireless devices, or any processor-controlled device capable of executing a web browser or other type of application for interacting with the system.
  • server 30 Although only one server 30 is shown, the servers described herein may use multiple servers 30 as necessary or desired and may also use backup or redundant servers to prevent network downtime in the event of a failure of a particular server.
  • machine 18 and server 30 are depicted with various components, one skilled in the art will appreciate that the user machines 18 and the server 30 can contain additional or different components.
  • aspects of an implementation consistent with the present invention are described as being stored in memory, one skilled in the art will appreciate that these aspects can also be stored on or read from other types of computer program products or computer-readable media, such as secondary storage devices, including hard disks, floppy disks, or CD-ROM; a signal, a carrier wave from the Internet or other network; or other forms of RAM or ROM.
  • the computer-readable media may include instructions for controlling a computer system, such as user machine 18 and server 30 , or other device, to perform a particular method (e.g., such as the methods described herein).
  • FIG. 3 is a flowchart illustrating a method 60 of delivering personalized broadband content.
  • the method 60 preferably comprises: processing content 62 , assigning promotional material to content 64 , scheduling content for transmission as virtual channels 66 , configuring a control channel 68 , delivering virtual channels 70 , propagating requested virtual channels 72 and collecting user feedback 74 .
  • Processing content 62 preferably comprises collecting, for example, audio, video and Web data, aggregating the audio, video and Web data together, and classifying the audio, video and Web data.
  • the content 122 is preferably collected from a variety of sources and collecting may comprise receiving or retrieving the content 122 from external sources or from internal sources (e.g., content databases).
  • Assigning promotional material to content 64 preferably comprises assigning appropriate targeted advertising, e-commerce material and other promotional or commerce-related material (collectively, “assigned material”) to the content 122 .
  • the appropriateness of the assigned material may be determined by the classification of the content 122 and the correlation of the assigned material to that classification. For example, a beer commercial may be targeted advertising for the class “live-sports” and especially the sub-class “live professional football.” Therefore, the beer commercial is appropriate targeted advertising for the Monday Night FootballTM content.
  • Scheduling content for transmission as virtual channels 66 preferably comprises assigning content, and assigned material, on virtual channels 124 so as to efficiently transmit the content.
  • “live-sports” content may be grouped together on one or more virtual channels 124 to minimize the number of virtual channels that are transmitted to a user requesting or being targeted with “livesports” content.
  • Configuring a control channel 68 preferably comprises creating a low-bandwidth virtual channel 124 with information comprising a description of the content 122 scheduled on the virtual channels 124 and a description of each virtual channel 124 .
  • the control channel is preferably continually transmitted and updated so as to contain accurate and up-to-date information on the content 122 and the virtual channels 124 being broadcast at present and in the future.
  • Configuring a control channel may also comprise loading GUI skins on the control channel so GUI skin updates may be transmitted to the user machine 18 .
  • Delivering virtual channels 70 preferably comprises transmitting the virtual channels 124 to the broadband ISP 16 .
  • Delivering preferably comprises packaging the virtual channels 124 as IP Multicast streams and transmitting the virtual channel 124 IP Multicast streams via the transmission medium 14 (e.g., satellite) to broadband ISPs 16 .
  • Propagating requested virtual channels 72 preferably comprises transmitting virtual channels 124 that have been requested by the client 20 or that are being targeted to the user via a broadband connection to the user machine 18 .
  • the client 20 may request virtual channels 124 that the user has specified or that fit some criteria predetermined by the user (e.g., such as a personal profile) or that are determined by user feedback.
  • Collecting user feedback 72 preferably comprises the NOC 12 receiving user feedback from the user machine 18 .
  • the client 20 may transmit the user feedback as requested or polled by the NOC 12 or at regularly scheduled intervals, for example.
  • the user feedback is preferably transmitted via the Internet, but other transmission mediums may be used.
  • FIG. 4 illustrates various components of the NOC 12 and depicts operations of the NOC 12 .
  • the NOC 12 preferably comprises a network controller 126 , a plurality of channel controllers 128 , an IP gateway 130 , an uplink 132 and one or more data repositories 134 .
  • the NOC 12 preferably also comprises a NOC server (not shown in FIG. 4) that runs various software applications, as represented by the following software modules: a content & advertising aggregation ⁇ management module 136 ; a content & advertising classification module 137 ; and, a content & advertising broadcast scheduling module 138 (i.e., the content scheduler 138 ).
  • Content 122 preferably includes computer file-based material as well as live video/audio streams (e.g., IP, digital or analog streams), although content may include video, audio, text and other material from a variety of sources (e.g., recorded material such as video and audio tapes, DVDs, CDs, taped-delay audio/video streams, off-air broadcast content). Advertising, e-commerce and other promotional material (collectively, “promotional material”) may be considered a subset of content 122 .
  • live video/audio streams e.g., IP, digital or analog streams
  • sources e.g., recorded material such as video and audio tapes, DVDs, CDs, taped-delay audio/video streams, off-air broadcast content.
  • Advertising, e-commerce and other promotional material may be considered a subset of content 122 .
  • Content 122 with or without related promotional material, preferably is retrieved from or dropped off by partner content providers or otherwise received from a content provider or source.
  • the content and advertising aggregation ⁇ management module 136 preferably registers the file-based content 122 in a data repository 134 and assigns the file-based content 122 a content expiration date.
  • the content expiration date is generally a date on which the file-based content 122 is considered out-of-date, redundant, super-ceded, or past the content's usefulness, although the expiration date may also be arbitrarily chosen.
  • the expiration date enables an ongoing auto-cleanup procedure of the NOC data repository 134 (e.g., deleting all content 122 with an expired expiration date).
  • the content and advertising aggregation ⁇ management module 136 preferably also reviews and processes promotional material to ensure adherence to standards required for NOC transaction processing operations.
  • these standards may include hyper-text markup language (“HTML”) templates that incorporate “hooks” used by the client 20 to link to backoffice operations (e.g., NOC 12 operations that track e-commerce purchases or advertising clicks, as described below with reference to FIG. 17) to which the promotional material should conform (i.e., the promotional material includes these templates).
  • the content and advertising aggregation ⁇ management module 136 preferably assigns live (and taped-delay) feeds directly to a channel controller 128 for inclusion as a component of a specific virtual channel 124 .
  • the content and advertising classification module 137 preferably classifies the content 122 and promotional material so that the content 122 and promotional material may be targeted or filtered for users based on user personal profiles, feedback or other criteria.
  • the content and advertising module preferably classifies content 122 according to parameters that enable a preference-based filtering through an intelligent application of a user's personal profile by the client 20 .
  • the personal profile preferably includes various descriptive data about the user and the user's content preferences and may be created through question and answer sessions or other feedback, such as viewing/listening habits and content hits and may be dynamically updated to reflect changes in the user's preferences.
  • the classification parameters are preferably defined to correspond to classification parameters of the personal profile.
  • live sports content receives a classification that corresponds to a classification in the personal profile of a user that prefers live sports.
  • the content and advertising module may classify content 122 with classes and sub-classes to reflect specific sub-categories of a general category (e.g., a professional football game in a class “live sports”, subclass “professional football game”) and/or to show that the content 122 fits within multiple categories and/or sub-categories.
  • What is the nature of the content may be determined, for example, automatically from a content title or descriptor (e.g., a numeric code) encoded with the content or by a human operator that examines a description of the content, a content title or the content itself. Once this is determined, known methods of content classification may be used.
  • a content title or descriptor e.g., a numeric code
  • the content and advertising classification module 137 preferably classifies promotional materials according to demographic parameters that enable the targeting of one of several concurrently delivered advertising streams towards a user (e.g., based on personal profile).
  • the promotional materials may be received with related content, as described above, or unassociated with other content.
  • the demographic parameters are defined to correspond with the demographics of users so that advertising and e-commerce designed for users with certain demographics are targeted and sent the targeted promotional materials. For example, a beer ad designed for 25 to 35 year-old males is preferably classified accordingly.
  • What is the nature of the promotional material e.g., a beer commercial, an infomercial, an e-commerce opportunity
  • the promotional material may be determined, for example, automatically from a title or descriptor (e.g., a numeric code) encoded with the promotional material or by a human operator that examines a description of the promotional material, a promotional material title or the promotional material itself. Once this is determined, known methods of promotional material classifying may be used.
  • a title or descriptor e.g., a numeric code
  • FIG. 6 is a flowchart illustrating an exemplary method 1370 of content and advertising classification.
  • the method 1370 preferably executed by the content and advertising classification module 137 as described above, preferably comprises determining the nature of the content/promotional material 1371 , classifying content to enable filtering 1372 or classifying promotional material to enable targeting 1373 .
  • the content scheduler 138 is preferably responsible for the ongoing program scheduling of content 122 across virtual channels 124 .
  • the content scheduler 138 preferably schedules content 122 and related promotional materials for inclusion as part of a virtual channel 124 that supports concurrent broadcast of multiple subcomponents, including video and audio streams, as well as files.
  • the content scheduler 138 dynamically determines the scheduling of content 122 and promotional materials based on a variety of criteria. For example, the content scheduler 138 may schedule content 122 of one classification (e.g., live sports) together on one or more virtual channels 124 . Likewise, the content scheduler 138 may schedule content 122 provided from one content source together on one or more virtual channels 124 .
  • the content scheduler 138 may schedule content 122 based on the bandwidth necessary to receive the content 122 (e.g., scheduling high bandwidth content together). Once the content scheduler 138 determines on which virtual channel 124 to schedule certain content 122 , the content scheduler 138 preferably scheduled the content by sending real-time commands to the network controller 126 in order to provide process control of the channel controllers 128 , which are responsible for the actual production of a virtual channel 124 .
  • FIG. 7 is a flowchart illustrating an exemplary method 1380 of content & advertising broadcast scheduling.
  • the method 1380 preferably executed by the content scheduler 138 as described above, preferably comprises: determining on which virtual channel to schedule content 1381 ; scheduling the content for inclusion as part of a virtual channel 1382 ; and, scheduling related promotional materials for inclusion as part of the virtual channel 1383 .
  • the determining step 1381 may be based on a variety of criteria.
  • promotional material related to the scheduled content is also scheduled on the same virtual channel 124 .
  • the promotional material, whether related or not may be scheduled on a different virtual channel 124 (e.g., on a promotional material-only virtual channel that is linked to the content 122 by the client 20 at the user machine 18 ).
  • the network controller 126 is preferably a server-based software application package that provides top level network management functionality and that is responsible for controlling other components of the NOC 12 .
  • the network controller 126 preferably issues instructions/commands to the channel controllers 128 , directing the operation of the channel controllers 128 and the dynamic configuration of the virtual channels 124 .
  • the network controller 126 may accomplish the dynamic configuration by maintaining an open Transmission Control Protocol/Internet Protocol (“TCP/IP”) connection to each individual channel controller 128 , issuing basic instructions/commands that activate or deactivate content 122 subcomponents, thereby defining the composition of the virtual channel 124 .
  • TCP/IP Transmission Control Protocol/Internet Protocol
  • the network controller 126 preferably also issues a systemwide clock pulse that ensures timing synchronization across virtual channels 124 .
  • FIG. 8 is a flowchart illustrating an exemplary method 1260 of network controller operation.
  • the method 1260 preferably executed by the network controller 126 as described above, preferably comprises: opening and maintaining a TCP/IP connection to a channel controller 1261 ; instructing the channel controller to activate or de-activate content subcomponents 1262 ; and synchronizing virtual channels 1263 .
  • FIG. 9 is a block diagram illustrating a channel controller 128 and operation of the channel controller 128 .
  • the channel controller 128 preferably is a software application package that manages coordination of the various components used for the creation and transmission of an individual virtual channel.
  • the channel controller preferably comprises the following modules: a network command processor 1281 ; a media server 1282 ; a file broadcast module 1283 ; and, a IP multiplexer 1284 .
  • the network command processor 1281 preferably accepts instructions/commands from the network controller 126 to drive the operation and interaction of the other modules.
  • the media server 1282 e.g., a MicrosoftTM (“MS”) Media Server or RealNetworks, Inc.TM Server, preferably produces a real-time Multicast IP stream suitable for play by a media player (not shown in FIG. 9), e.g., a MS Media Player or RealPlayerTM.
  • a media player e.g., a MS Media Player or RealPlayerTM.
  • the media server 1282 stream may be an active streaming format (“ASF”) formatted user datagram protocol/internet protocol (“UDP/IP”) suitable for the MS Media Player or a Realtime Streaming Protocol (“RTSP”) suitable for the RealPlayer.
  • the media server 1282 stream is generated from content 122 transmitted to the channel controller.
  • the media server 1282 stream may be generated from a file source (e.g., from the data repository 134 ) or from a live or tape-delayed feed, such as an analog feed with the assistance of an encoder (not shown) that encodes the analog feed for digital transmission.
  • a file source e.g., from the data repository 134
  • a live or tape-delayed feed such as an analog feed with the assistance of an encoder (not shown) that encodes the analog feed for digital transmission.
  • the file broadcast module 1283 e.g., a CacheStream XDTM (“extreme datacasting”) file broadcast module, preferably provides for the file transfer subcomponent of the virtual channel 124 , enabling files to be transfer via the virtual channel 124 to a user machine 18 .
  • the file broadcast module preferably receives files and converts them to a stream.
  • the file broadcast module preferably outputs the stream via a TCP/IP connection to the IP multiplexer 1284 ; the TPC/IP connection provides flow control to any actual file transfer process.
  • the IP multiplexer 1284 e.g., a Cachestream CMX IP-MuxTM (“channel manager extreme”), preferably combines the streams produced by the media server 1282 and the file broadcast module 1283 configures the combined streams into a single output IP multicast stream from the channel controller 128 .
  • the IP multiplexer 1284 preferably encrypts the output IP multicast stream and protects the output stream, e.g., by forward error correction. As shown in FIG. 9, preferably each output IP multicast stream is a virtual channel 124 .
  • the output multicast IP streams from each channel controller 128 preferably flow over a NOC 12 local area network (“LAN”) to the IP Gateway 130 .
  • the IP Gateway 130 may be a third party commercial product, such as SkyStream's IP GatewayTM.
  • the IP Gateway 130 forwards the virtual channels 124 to the uplink 132 .
  • the uplink 132 is connected to the transmission medium 14 and may be, for example, a satellite uplink.
  • FIG. 10 is a flowchart illustrating an exemplary method 1280 of channel controller operation.
  • the method 1280 preferably executed by a channel controller 128 as described above, preferably comprises: receiving network controller commands 1285 ; producing a media server stream for a media player 1286 ; providing file transfer subcomponent stream 1287 ; combining streams into an output IP multicast stream 1288 ; and, encrypting and error protecting the output stream 1289 .
  • the stream produced for the media player in the producing step 1286 may be a different format (e.g., not ASF) and type (e.g., not UDP/IP) then that described herein, as determined by available media players in use on user machines 18 .
  • the NOC 12 delivers virtual channels 124 via the transmission medium 14 (e.g., satellite) to the broadband ISPs 16 at the edge of the Internet.
  • the broadband ISPs 16 are preferably enabled to receive and transmit high bandwidth (e.g., >kPs) content, providing the ISP subscribers with high bandwidth service.
  • Broadband ISPs 16 may include, for example, companies providing high bandwidth access via digital cable lines, DSL, T-x lines or Ethernet.
  • FIG. 11 illustrates an exemplary broadband ISP 16 comprising a broadband ISP backbone 162 , a receiver 164 , and a POP client server 80 .
  • the broadband ISP backbone 162 preferably handles the major communication traffic of the broadband ISP 16 .
  • the receiver 164 e.g., a satellite receiver
  • the POP client server 80 preferably sits on the broadband ISP backbone 162 .
  • the POP client server 80 preferably receives the virtual channels 124 received by the receiver 164 and is preferably configured to capture a subset of, or all, virtual channels 124 broadcast from the NOC 12 .
  • the POP client server 80 may be located elsewhere (i.e., separate from the broadband ISP 16 ) and may receive the virtual channels 124 directly (e.g., from the transmission medium 14 or the NOC 18 ).
  • the POP client server 80 preferably acts primarily as a simple Multicast router, propagating those virtual channels 124 that have actually been requested by at least one client 20 , over the broadband ISP backbone 162 for transmission to user machines 18 .
  • the POP client server 80 preferably also supports a utility application that allows each individual client 20 to assess the client's host user machine 18 link speed (i.e., bandwidth capacity) to the POP client server 80 upon startup.
  • the link speed is preferably used to determine the availability of certain virtual channels 124 for the user machine 18 . For example, if a certain virtual channel 124 contained content requiring a bandwidth greater then the bandwidth capacity of a user machine 18 , the user machine would not receive that virtual channel 124 .
  • FIG. 12 is a flowchart illustrating an exemplary method 800 of POP client server operation.
  • the method 800 preferably executed, at least in part, by the POP client server 80 as described above, preferably comprises: assessing user machine link speed 801 ; determining client's virtual channel availability 802 , capturing a subset of virtual channels 803 ; and, propagating requested virtual channels over IP backbone 804 .
  • the assessing step 801 and/or determining step 802 may be performed by, or in cooperation with, the client 20 of the user machine 18 being assessed.
  • the assessing step 801 may comprise the client 20 sending a request for link speed assessment upon startup on the user machine 18 , the POP client server 80 transmitting test packets of varying bandwidths to the user machine 18 , the client 20 reporting the transmission times for the test packets to the POP client server 80 , and the POP client server 80 calculating the bandwidth capacity of the user machine 18 from this information.
  • Virtual channels 124 that required a bandwidth exceeding this bandwidth capacity may then be determined to be outside the client's 20 available virtual channels 124 .
  • the subset of virtual channels 803 may be determined by the bandwidth capacity of all user machines 18 serviced by a broadband ISP 16 . For example, if the bandwidth capacity of all user machines 18 of a broadband ISP 16 is below a level required by certain virtual channels 124 , the POP client server 80 may not capture these certain virtual channels 124 in the capturing step 803 .
  • Each user machine 18 that receives virtual channels 124 from the POP client server 80 preferably hosts a client 20 , as described above.
  • the client 20 is preferably a software package that incorporates Internet browser and media player (e.g., MS IE and Media Player) technologies in order to provide flexibility in personalized selection and presentation of the multidimensional media content 122 available from the virtual channels 124 .
  • the client 20 preferably continually scans the control channel (described above), which preferably delivers scheduling and classification information on programming carried by the virtual channels 124 available to the client 20 .
  • the client 20 preferably enables each individual user (e.g., family members) on a single user machine 19 to fill out a personal profile describing personal interests in content 122 as well as GUI theme (skin) preference.
  • the client 20 may apply, at the user's request or otherwise (e.g., as directed by the NOC 12 or the POP client server 80 ), a user's personal profile to filter the presentation of available programming to include content 122 specified as being of interest to the user.
  • the client 20 may then present the filtered, personal content 182 (see FIG. 1) for selection, as a personalized view of available programming. Users may select the personal content 182 from across available virtual channels 124 for either immediate viewing or for caching—and future, on demand access.
  • the client 20 preferably continually monitors the ongoing allocation of disk resources and provides utilities and safeguards that allow each user to manage their personal disk cache.
  • the client 20 preferably incorporates a “clean-up” feature that automatically deletes outdated or expired content.
  • FIG. 13 illustrates an embodiment of the client 20 .
  • the client 20 preferably comprises a background data capture routine 201 and a customizable user interface (e.g., a dynamic GUI) 202 .
  • the background data capture routine 201 preferably that “tunes” to and interprets virtual channels 124 , including the control channel 125 .
  • the customizable user interface 202 supports management and display of incoming data (e.g., content and promotional material) through the selection of hyper-links (e.g., hyper-text markup language (“HTML”) links).
  • the customizable user interface 202 preferably utilizes dynamic HTML routines 2021 , personal profiles 2022 and dynamic GUI skins 2023 received from the control channel 125 to create a personalized display 2024 .
  • the client Upon startup, the client preferably connects to the local POP client server 80 to determine link speed (as described above with reference to FIGS. 11 - 12 ) and automatically opens the control channel 125 used to provide programming information and deliver dynamic GUI “skins”.
  • the dynamic GUIs 202 and their hyper-links are preferably customized for each individual user through the dynamic creation of displays that are a function of personal interests as defined in the personal profile, as well as indicated preferences in GUI presentation (skins).
  • the customizable interface 202 hyper-links preferably support the communication of information regarding user selection of content 122 back to the background capture routine 201 for execution.
  • the background capture routine 201 automatically opens membership to the appropriate multicast service, effectively tuning to the requested virtual channel 124 .
  • a multicast channel like a broadcast channel, is generally available while being broadcast.
  • the client 20 preferably issues a “join” request to join the multicast group of the desired virtual channel 124 . This request is sent to the nearest router (e.g., POP client server 80 ) in order for the client 20 to join the group (i.e., open membership to the appropriate multicast service).
  • the client 20 preferably enables the concurrent capture of two virtual channels 124 (as well as the control channel 125 ), making it possible to watch one program or content item while recording (caching) another.
  • the client 20 preferably accomplishes the caching of content 122 (e.g., video and audio streams) through implementation of a process and file structure.
  • the content 122 is preferably cached in a user cache 203 on the user machine 18 . Digital rights management of the cached content is discussed below.
  • FIG. 14 is a flowchart illustrating an exemplary method 210 of operation of the client 20 .
  • the method 210 preferably executed by the client 20 as described above, preferably comprises: scanning the control channel 211 ; filtering available content 212 ; selecting content 213 ; if the content is selected for immediate viewing, displaying content 214 ; if the content is not selected for immediate viewing, caching content 215 ; monitoring allocation of resources 216 ; and deleting content 217 .
  • the content 122 may include audio content, so “viewing” and “display” are meant to include listening to or playing audio alone or in conjunction with video, text, or other material.
  • Selecting content 213 may comprise the client 20 selecting content that has been chosen by a user (e.g., by clicking on a hyper-link on the dynamic GUI).
  • the monitoring allocation of resources 216 may comprises determining available space in the user cache 203 and may be performed when content 122 is cached or at regular intervals, for example.
  • the deleting content 217 may comprise deleting content 122 that has an expired expiration date.
  • the steps of the method 210 may be repeated as necessary (for example, the scanning step 211 is preferably executed continually and as new content is available, the filtering step 212 may be performed.)
  • FIG. 15 is a flowchart illustrating an additional exemplary method 220 of operation of the client 20 .
  • the method 220 preferably executed at least in part by the client 20 as described above, preferably comprises: connecting to server 221 ; determining link speed 222 ; opening control channel 223 ; customizing dynamic user interface 224 ; selecting virtual channel(s) 225 ; tuning to virtual channel(s) 226 ; and concurrently displaying a first selected virtual channel while caching a second selected virtual channel 227 .
  • the connecting step 221 preferably comprises the client 20 connecting to the POP client server 80 .
  • the opening step 223 may comprise receiving updated GUI skins over the control channel 125 , which may be used in the customizing step 224 .
  • the client 20 may provide alerts of, for example, new content 122 , advertising and e-commerce opportunities based on user profiles and/or what a user is viewing.
  • new content 122 advertising or e-commerce opportunities that match the interests of a user, as determined from/by the user's profile
  • the user may be alerted, for example with video in a separate window or the same window, about the new content 122 , advertising or e-commerce opportunity.
  • the alerts may interrupt the primary content stream, which the user may pause while viewing the alert to resume viewing later.
  • the alerts may be created by software running in background and/or by searches running in background.
  • the client 20 preferably provides the capability of caching incoming real-time streams (virtual channels 124 ) by implementing a generic approach of saving incoming packets to disk along with the time differential from receipt of the last packet from that steam. This allows the client user machine 18 to reconstitute the original real-time steam from disk at any time in the future.
  • the system 10 for delivering personalized broadband content preferably supports digital rights management that provides and restricts access to certain types of content 122 .
  • Installation of the client 20 is preferably a component of the digital rights management.
  • installation of the client 20 involves an automated exchange with a License Server (see FIG. 17) located at the NOC 12 , whereby a new user is preferably registered and is assigned a unique identification number.
  • the user's user machine 18 is profiled, and this information is embedded along with the unique identification number in an encrypted license file—essentially tying the license file to that particular user machine 18 .
  • Digital rights management e.g., the ability to record video or audio streams carried within virtual channels 124 , is preferably controlled dynamically at the NOC 12 on a channel-by-channel basis. If the recording of a certain program or e-commerce event, for example, is deemed permissible, users may optionally save the stream to disk (e.g., the user cache 203 ) for future, on-demand viewing.
  • the target stream is preferably saved to disk in an encrypted format, whereby the user's unique identification number is stored within the stream file header itself If the user attempts to view the stored content, the identification number within the stream file header is compared to that stored in the license file, which is in turn validated against the computer profile. If the identification numbers don't match, or the license file is invalid, the stream file is left encrypted and cannot be replayed. Besides preventing an unauthorized user from viewing the recording (i.e., since the user identification number is checked), this mechanism effectively inhibits content stream recordings from being shared between computers (i.e., since the license file is validated against the computer profile).
  • the encryption of content and use of user ids prevents the access to the content by other user machines 18 . Additionally, content can be encrypted with parental controls, such as passwords, to prevent unwanted viewing.
  • FIG. 16 is a flowchart illustrating an exemplary method 230 of client installation and digital rights management.
  • the method 230 which is preferably executed by the client 20 in conjunction with components of the NOC 12 , preferably comprises: assigning a unique user ID number 231 ; profiling the user machine 232 ; embed user machine profile and user ID in license file 233 ; request restricted content 234 ; save stream in encrypted format with user ID 235 ; verify user ID number 236 ; verify user machine profile 237 ; and replay recorded stream 238 .
  • FIG. 17 is a block diagram illustrating additional components of the NOC 12 and operation of the additional components.
  • the additional components are preferably located at the NOC 12 and accessed by clients 20 through the Internet 127 .
  • the additional components may be located remotely from the NOC 12 .
  • the additional components of the NOC 12 may comprise: a client services server 82 ; a pay-per-view server 84 ; an e-commerce router 86 ; and, an advertising portal server 88 .
  • the client services server 82 preferably manages new user registration and provides client services for users. For example, the client services server 82 preferably assigns the unique user identification number to a user as part of the user registration procedure.
  • the client services server 82 preferably stores user information in the client database 822 .
  • the client services server 82 preferably stores the user identification number along with the profile of the user's user machine 18 in an encrypted License file that is preferably transmitted over the Internet 127 to the user machine 18 , as illustrated by a License Generation 821 block.
  • the License file is used as a control mechanism for both pay-per-view operations and digital rights management of content recordings (as described above with reference to FIG. 16).
  • the client services server 82 By including the user machine 18 profile in the License file, the client services server 82 “ties” the License file to a specific user machine 18 , preventing use of the License file on another user machine 18 .
  • the client services server 82 preferably hosts a Web-site that allows users to view a password protected statement of the user's account with respect to pay-per-view and other operations, as illustrated by the client account reporting 823 block.
  • the client account reporting 823 preferably accesses the client database 822 to determine the user's account balances and transactional information.
  • FIG. 118 a is a flowchart illustrating an exemplary method 240 of user registration and license file creation.
  • the method 240 preferably executed by the client services server 82 in conjunction with a client 20 as described above, preferably comprises: registering a user 241 ; assigning user an id number 242 ; receiving profile of user machine 243 ; generating a license file 244 ; and, transmitting license file to the user machine 245 .
  • Registering a user 241 preferably comprises storing user information in the client database 822 .
  • Assigning user an id number 242 preferably comprises the client services server 82 randomly generating a unique user id number.
  • the receiving step 243 preferably comprises the client service server 82 receiving a profile of the user machine 18 generated by the client 20 installed on the user machine 18 .
  • the generating step 244 preferably comprises the client services server 82 storing the user id and user machine profile in a license file and encrypting the license file.
  • the transmitting step 245 preferably comprises the client services server 82 transmitting the license file to the user machine 18 .
  • FIG. 18 b is a flowchart illustrating an exemplary method 250 of user account inquiry.
  • the method 250 preferably executed by the client services server 82 in conjunction with the client 20 , preferably comprises: displaying user account Web-site 251 ; requesting user password 252 ; accessing user information from client database 253 ; and, displaying user account information 254 .
  • the displaying step 251 preferably comprises the client services server 82 transmitting one or more Web-pages (not shown) over the Internet to the user machine 18 for display by the client 20 on a browser (e.g., MS I/E).
  • the user password may be assigned or chosen by a user during user registration.
  • the client services server 82 accesses and retrieves the user information from the client database 822 .
  • the displaying step 254 preferably comprises the client services server 82 transmitting the user's account information over the Internet to the user machine 18 for display by the client 20 .
  • the pay-per-view (“PPV”) server 84 preferably manages and enables pay-per-view operations of the system 10 .
  • Pay-per-view operations are preferably based on a credit system, whereby users purchase credits (fixed denominations) that may be redeemed in exchange for access to pay-per-view events and content, as illustrated by the purchase credits block 841 .
  • Credits are preferably purchased via the PPV server 84 in fixed denominations and are transferred directly to a user's personal account. As noted above, status of this account may be viewed at any time via the client services server 82 .
  • the credit card verification block 842 indicates processing of a credit card purchase of credits.
  • Access to pay-per-view events is preferably granted by the PPV server 84 through issuance of an encrypted “certificate” detailing the broadcast of the event and the type and duration of access authorized.
  • the certificate generation block 844 indicates issuance of the certificate. These certificates are preferably transmitted to (e.g., over the Internet) and stored on the user's user machine 18 as part of a pay-per-view purchase transaction.
  • the PPV purchase 843 comprises verifying that the user has sufficient credits and deducting the cost of the purchase from the user credit balance.
  • the transactions block 844 indicates that the client account reporting 823 , as discussed above, is utilized to access the user's account.
  • the PPV server 84 may access the user account Web-site to determine the user's account credit balance.
  • the transactions block 844 also indicates that a commercial invoice may be generated.
  • the PPV server 84 may generate a commercial invoice if, for example, a third party rewards the user with credits for some transaction and the user redeems the credits to purchase a PPV event or content.
  • the commercial invoice may be a bill for the rewarded/redeemed credits.
  • the certificates generated by the PPV server 84 preferably include a reference to the user's unique ID. If this number matches that which is embedded in the user's License file—which in turn is validated against the user machine 18 profile—the certificate to be considered valid. This verification mechanism effectively inhibits the transfer of pay-per-view certificates between systems.
  • FIG. 19 is a flowchart illustrating an exemplary method 260 of pay-per-view access.
  • the method 260 preferably executed by the PPV server 84 and a client 20 as described above, preferably comprises: purchasing credits 261 ; transferring credits to a user account 262 ; granting pay-per-view access 263 ; issuing an encrypted certificate 264 ; storing the encrypted certificate 265 ; and validating the encrypted certificate 266 .
  • Transferring credits to a user account 262 may comprise a third party transferring credits to the user account as a reward (e.g., for visiting the a Web-site).
  • the granting step 263 preferably comprises verifying that the user has sufficient credits.
  • the validating step 266 preferably comprises comparing the user ID in the certificate with that stored in the user's License file stored on the user machine 18 and comparing the user machine profile in the License file to the user machine 18 . If both the user ID and user machine 18 are verified, the certificate is encrypted and the user may view the PPV event or content on the user machine 18 .
  • FIG. 20 is a logic flow/block diagram illustrating another exemplary method 270 of PPV access.
  • the method 270 preferably comprises a user ordering PPV content or a PPV event 271 , wherein the PPV content 272 is a show costing 25 credits; the PPV server 84 debiting the user's account by 25 credits 273 ; creating an encrypted digital certificate 274 , wherein the certificate comprises the show ID and the user ID; checking the license file of the client 275 ; and checking the user machine profile 276 .
  • the e-commerce router 86 is preferably a server responsible for routing e-commerce opportunities to clients 20 and re-routing e-commerce transactions to third-party e-commerce providers.
  • Web-based e-commerce opportunities within the system 10 that are broadcast as part of a virtual channel 124 are preferably first processed at the NOC 12 (e.g., by NOC staff) to implement an “interception” of purchase transactions back to the NOC 12 .
  • NOC 12 e.g., by NOC staff
  • the e-commerce purchase is preferably intercepted by the NOC 12 , and specifically by the e-commerce router 86 (e.g., via the Internet).
  • the e-commerce router 86 preferably records each incoming (secure) purchase in a transaction database 861 .
  • the e-commerce router 86 then preferably automatically securely re-routs the purchase to the originally defined destination, as indicated by the re-route transaction block 862 .
  • the implementation of this e-commerce routing provides a strict control mechanism for the tracking of e-commerce generated revenues, and enables the proactive invoicing of partner e-commerce retailers.
  • the e-commerce router 86 and the transaction database 861 may generate a commercial invoice that charges the e-commerce retailers/providers for e-commerce transactions routed through the e-commerce router 86 (and hence, generated through the system 10 ).
  • FIG. 21 is a flowchart illustrating an exemplary method 280 of e-commerce purchasing.
  • the method 280 preferably executed by the e-commerce router 86 and other components of the system 10 as described above, preferably comprises: processing e-commerce content to implement an interception 281 ; intercepting an e-commerce purchase 282 ; recording the intercepted e-commerce purchase 283 ; and re-routing intercepted e-commerce purchase 284 .
  • the advertising portal server 88 preferably manages advertising material delivered via the system 10 .
  • advertising material is first processed at the NOC 12 (e.g., by NOC staff) to implement a “redirect” of advertising clicks back to the advertising portal server 88 .
  • NOC 12 e.g., by NOC staff
  • the clicks are re-directed so that incoming clicks are registered in a transaction database 881 before being redirected 882 back to their original destination or website.
  • the registration of the incoming clicks enables the advertising portal server 88 to track the effectiveness of targeted advertising and enables the proactive invoicing of partner advertisers for portal revenues.
  • the advertising portal server 88 and the transaction database 881 may generate a commercial invoice that charges the partner advertisers for advertising clicks (or hits) re-directed through the advertising portal server 88 (and hence, generated through the system 10 ).
  • FIG. 22 is a flowchart illustrating an exemplary method 290 of advertising re-direction.
  • the method 290 preferably executed by the advertising portal server and other components of the system 10 as described above, preferably comprises: processing advertising material to implement redirection 881 ; intercepting incoming advertising click 882 ; registering intercepted advertising click 883 ; redirect advertising click 884 ; and, invoicing partner advertisers 885 .
  • the implementation of a credit system in support of pay-per-view operations in the system 10 provides an unprecedented opportunity to openly barter with users for access to information concerning the users personal habits, preferences, or opinions (“data mining”).
  • data mining collects user personal habits, preference, or opinions on a voluntary basis in exchange for credits, which may be redeemed for pay-per-view purchases.
  • Advertising partners may create “credit enable” Web pages (not shown). These pages preferably incorporate an automated transaction that credits a user's account in exchange for the return of information, or for the viewing of specific advertising opportunities. The same transaction automatically debits the advertiser's account, supporting the generation of a commercial invoice for credits allocated.
  • This automated transaction preferably utilizes the PPV server 84 to accomplish these credits and debits, as described above.
  • This data mining enables qualified lead generation (e.g., sales leads) for vendors, such as automotive dealers.
  • the system 10 operators may provide credits to users for viewing advertising. These credits may be redeemed for pay-per-view or other purchases.
  • the client 20 preferably verifies that the user watched the advertisement (e.g., that the complete advertisement was displayed) and provides advertisers a unique opportunity to target advertising and verify that their content is viewed.
  • FIG. 23 is a flowchart illustrating an exemplary method 300 of data mining.
  • the method 300 preferably comprises: requesting user information in exchange for credits 301 , wherein the credits may be used to purchase PPV content and events; receiving the requested user information 302 ; and crediting the user account with credits 303 .
  • the method 300 may also comprises debiting credits from a third-party account, wherein the number of credits credited to the user account are debited from the third-party account.
  • FIG. 24 is a block diagram illustrating an alternative embodiment of the NOC.
  • FIG. 25 is a flowchart illustrating an exemplary method 310 of creating a dynamic GUI.
  • the method 310 preferably comprises: determining data accommodation of a user machine 311 and, creating a dynamic GUI using the determined data accommodation and a user's personal profile 312 .
  • the data accommodation is preferably the bandwidth capacity of a user machine 18 .
  • FIG. 26 is a flowchart illustrating an exemplary method 320 of delivering personalized broadband content.
  • the method 320 preferably comprises: receiving a request for a portion of Multicast IP data 321 ; receiving Multicast IP data at internet service provider 322 ; receiving a control channel 323 ; locating the requested portion of Multicast IP data with information from control channel 324 ; communicating requested portion of Multicast IP data to client 325 ; and, determining if user is authorized to view requested portion of Multicast IP data 326 .
  • the receiving a request step 321 may comprise the POP client server 80 receiving a request for content 122 from a client 20 .
  • the receiving Multicast IP data step 322 may comprise the POP client server 80 receiving the virtual channels 124 at the broadband ISP 16 .
  • the receiving a control channel step 323 may comprise the POP client server 80 receiving the control channel 125 at the broadband ISP 16 .
  • the locating step 324 may comprise the POP client server 80 locating the virtual channel 124 with the requested content 122 using information contained on the control channel 125 .
  • the communicating step 325 may comprise the POP client server 80 transmitting the requested content over a broadband connection to the user machine 18 on which the client 20 resides.
  • the determining step 326 may comprise checking for a certificate file and/or checking a license file, as described above, to verify user authorization.
  • FIG. 27 is a flowchart illustrating another method 330 of advertising in the system 10 for delivering personalized broadband content.
  • the method 330 preferably comprises: sending advertisement linked to content 331 ; displaying the advertisement with the content if called for display 332 ; storing advertisement in memory 333 ; recalling advertisement for display with other content 334 ; and, linking advertisement with other content 335 .
  • the sending step 331 may comprise an advertising provider transmitting an advertisement to the NOC 12 .
  • the displaying step 332 comprises the client 20 displaying the advertisement with its linked content on the user machine 18 .
  • the storing step 334 may comprise the client 20 storing the content in the user cache 203 .
  • the recalling step 334 may comprise the client 20 retrieving the stored advertisement from the user cache 203 when the stored advertisement meets some criteria with regard to content being displayed (e.g., a beer commercial for display during a football game).
  • the linking step 335 may comprise the client 20 re-linking the advertisement to content for future display.

Abstract

A system and method (the “Channel Dancer”) of delivering broadband content that has been personalized for a recipient user is disclosed. By excelling in the personalization of the user's view of broadband content on the Internet and otherwise, the system and method develop “stickiness” with the user that maximizes the benefits and effectiveness of advertising and related activities. The system preferably comprises a network operations center (“NOC”) that receives and packages content, with promotional materials, on virtual channels, a transmission medium that transmits the virtual channels, a broadband ISP with a point-of-presence (“POP”) server that receives the virtual channels and routs virtual channels to a user machine, based on requests received from client software (the “client”) resident on the user machine and filtering performed by the client based on a personal profile of the user.

Description

    RELATED APPLICATIONS
  • This application claims priority on U.S. Provisional Application No. 60/197,682, entitled “Channel Dancer”, which is hereby incorporated by reference.[0001]
  • TECHNICAL FIELD
  • The technical field is delivery of broadband content and personalized multimedia content delivery systems. [0002]
  • BACKGROUND
  • Over the past ten years, the bandwidth capacity available to consumers for receiving content from the Internet and other networks has increased ten-fold and more. The increased bandwidth capacity has enabled consumers to download larger and larger files and other content, including rich media and multimedia content such as video clips, songs and movies. This increased bandwidth capacity has increased Internet usage and the potential for enjoyable and productive usage. [0003]
  • Despite the increased bandwidth capacity, however, prior to the present invention, there were no consumer-based broadband services that automate the delivery of rich media and multimedia content directly to the consumer's personal computer (PC) or Internet access device. Prior to the present invention, there were no service providers optimizing the use of a broadband connection by distributing multiple channels of rich media content and providing a mechanism to automate the selective tuning to desired material. Prior to the present invention, there were no mechanisms available to support Internet protocol (“IP”) recording and hence the time-shifted viewing of rich media material broadcast to the consumers PC or Internet access device. [0004]
  • Likewise, there has been an increase in the efforts of companies to gather information about consumers and to target consumers with advertising. Despite this effort, however, prior to the present invention there was no user interface that incorporates a profiling engine in offering personalized access to available material. Indeed, prior to the present invention, there was no personalized offering of rich media material to consumer PCs and Internet access devices. Further, companies gathering information about consumers seek to utilize that information remotely from the consumer PC or Internet access device, therefore raising privacy concerns. Moreover, prior to the present invention there were user interfaces are available that support downloading rich media content and provide utilities for the ongoing management of local disk resources that store or cache the rich media content. [0005]
  • For the broadcaster or source of content, advertising, and e-commerce opportunities to a consumer PC or Internet access device, prior to the present invention there was no way to combine multiple threads of targeted advertising with the delivery of broadband video, without the expensive pre-broadcast process of authoring of video content. Authoring of video content is a frame-by-frame, labor-intensive process of associating advertising into video content by inserting “triggers” in the video stream itself. Likewise, prior to the present invention, there was no way to support multiple concurrent channels of IP-based video within a system that allows individual clients to dynamically link to channels of a specific interest. Moreover, prior to the present invention, there was no easy, integrated way to implement pay-per-view (“PPV”) and subscription in the distribution of broadcast video content. Further, the broadcaster, prior to the present invention, has no way to receive real-time statistics on system usage, including targeted advertising impressions and click-throughs. [0006]
  • SUMMARY
  • A system and method (the “Channel Dancer”) of delivering broadband content that has been personalized for a recipient user is disclosed by this application. By excelling in the personalization of the user's view of broadband content on the Internet and otherwise, the system and method develop “stickiness” with the user that maximizes the benefits and effectiveness of advertising and related activities. An embodiment of the system comprises a network operations center (“NOC”) that collects, aggregates and classifies content, assigns appropriate targeted advertising and e-commerce material to the content, and schedules the content for transmission on “virtual channels”, a transmission medium, such as a satellite, that transmits the virtual channels, an edge-of-net location, such as a broadband Internet Service Provider (“ISP”), that receives the virtual channels transmitted from the transmission medium, and a user machine (e.g., a personal computer (“PC”)) on which resides client software (the “client”). The NOC also preferably generates and transmits to the client a control channel comprising content programming information and graphical user interface (“GUI”) “skins” updates. The GUI skins are used to dynamically update GUIs through which the user views and selects content, and are used to deliver target advertising and e-commerce opportunities based, for example, on user feedback. The system preferably also comprises a point-of-presence (“POP”) client server, referred to as the “Channel Dancer” server, which resides at the edge-of-net location, or another location, and that acts as a router, propagating requested or personalized virtual channels to the client. The NOC may also comprise one or more servers for carrying out the above tasks and for keeping track of user feedback received over the Internet or otherwise, handling pay-per-view transactions and managing client services, including billing. [0007]
  • [Independent claims][0008]
  • BRIEF DESCRIPTION OF THE FIGURES
  • The detailed description will refer to the following drawings, in which like numbers refer to like items, and in which: [0009]
  • FIG. 1 is a block diagram overview of a system for delivering personalized broadband content. [0010]
  • FIGS. 2[0011] a and 2 b are block diagrams illustrating exemplary hardware for servers and user machines of the system for delivering personalized broadband content.
  • FIG. 3 is a flowchart of a method for delivering personalized broadband content. [0012]
  • FIG. 4 is a block diagram illustrating a NOC and operation of the NOC in detail. [0013]
  • FIG. 5 is a flowchart of a method of content and advertising aggregation and management. [0014]
  • FIG. 6 is a flowchart of a method of content and advertising classification. [0015]
  • FIG. 7 is a flowchart of a method of content and advertising scheduling. [0016]
  • FIG. 8 is flowchart of a method of network controller operation. [0017]
  • FIG. 9 is a block diagram illustrating a channel controller component and operation of the channel controller. [0018]
  • FIG. 10 is a flowchart of a method of channel controller operation at the NOC. [0019]
  • FIG. 11 is a block diagram of components of and operation of a POP client server of the system for delivering personalized broadband content. [0020]
  • FIG. 12 is a flowchart of a method of POP client server operation. [0021]
  • FIG. 13 is a block diagram illustrating components of and operation of a client of the system for delivering personalized broadband content. [0022]
  • FIG. 14 is a flowchart of a method of client operation. [0023]
  • FIG. 15 is a flowchart of a further method of client operation. [0024]
  • FIG. 16 is a flowchart of a method of client installation and digital rights management. [0025]
  • FIG. 17 is a block diagram of additional components of the NOC. [0026]
  • FIG. 18[0027] a is a flowchart of a method of license file generation.
  • FIG. 18[0028] b is a flowchart of a method of account inquiry.
  • FIG. 19 is a flowchart of a method of pay-per-view [0029]
  • access. [0030]
  • FIG. 20 is a logic flow/block diagram of a pay-per-view access operation. [0031]
  • FIG. 21 is a flowchart of a method of e-commerce purchasing. [0032]
  • FIG. 22 is a flowchart of a method of advertising redirection. [0033]
  • FIG. 23 is a flowchart of a method of data mining. [0034]
  • FIG. 24 is a block diagram of an alternative embodiment of the NOC. [0035]
  • FIG. 25 is a flowchart of a method of creating a dynamic GUI. [0036]
  • FIG. 26 is a flowchart of a method of delivering personalized broadband content. [0037]
  • FIG. 27 is a flowchart of another method of advertising in the system for delivering personalized broadband content.[0038]
  • DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
  • FIG. 1 illustrates an embodiment of a [0039] system 10 for delivering personalized broadband content. As shown in FIG. 1, the system 10 preferably comprises a network operations center (“NOC”) 12, a transmission medium 14, a broadband Internet Service Provider (“ISP”) 16, and a user machine 18. In general operation, the NOC receives or retrieves content 122, processes and schedules the content 122 for transmission on virtual channels 124, transmits or broadcasts the virtual channels 124 over the transmission medium 14 to broadband ISPs 16, from which the virtual channels 124 (and hence, the content 122) are transmitted, based at least in part on user feedback, over a broadband connection (e.g., cable, DSL or T-x line) to the user machine 18, on which resides client software (the “client”) 20 that processes received virtual channels 124 to display content to a user and to store content as the user's personal content 182.
  • The [0040] NOC 12 preferably comprises a plurality of servers, controllers, storage devices and other components that are generally responsible for the overall operations of the system 10. In a sense, the NOC 12 may also be thought of as a “headend” of the system 10. The NOC 12 preferably collects, aggregates and classifies content (e.g., video, audio and Web data) 122. The NOC 12 preferably assigns (e.g., based on the classification of the content) appropriate targeted advertising, e-commerce material and other promotional or commerce-related material (collectively, “assigned material”) to the content 122.
  • A content scheduler application (not shown) of the [0041] NOC 12 preferably schedules the content (with the assigned material) 122 for transmission on the virtual channels 124. Each virtual channel 124 preferably has a “main” video (or audio) component that is the primary content stream. Each virtual channel 124 preferably can concurrently carry several multiplexed streaming sub-components and preferably includes an integrated file transfer capability. Therefore, advertising and other promotional material, as one sub-component, may be associated with the primary content stream or main component, by synchronizing the advertising with the broadcast content on one virtual channel at run time (when the virtual channel is created and broadcast), leaving the primary content stream unaltered. For example, the primary content stream may have known commercial breaks; the content scheduler preferably synchronizes the advertising with the commercial breaks so that the virtual channel displays the advertising during these commercial breaks. Consequently, preprocessing (authoring) of the principal video or audio stream is not required to deliver multiple targeted advertising streams in tandem.
  • The [0042] NOC 12 also generates special low-bandwidth virtual channels 124 referred to as “control channels.” The control channels are preferably configured to continually broadcast content 122 programming information. The control channels preferably also carry client 20 graphical user interface (“GUI”) updates (“skins”). As discussed below, the client 20 may present received content 122 and the content 122 programming information to the user with GUIs. The GUI skins may be used to brand and personalize the GUIs, including material displayed in banners and other locations of the GUIs. By dynamically updating the GUI skins, the system 10 provides flexibility in both branding and personalization as well as supporting the insertion of targeted advertising and e-commerce opportunities with the GUI itself (e.g., in GUI banners).
  • Further, the [0043] control channel 126 preferably delivers, among other things, an event database and a java applet. The java applet, preferably executed by the client 20, preferably reads a user personal profile and event database in order to display a dynamic GUI. The control channel 126 may also feed a rich media screen saver that provides information about content 122, adverting and e-commerce opportunities on a user's screen saver.
  • The [0044] NOC 12 preferably packages the virtual channels 124 as Internet Protocol (“IP”) Multicast streams and then delivers them via the transmission medium 14 (e.g., satellite) to the broadband ISPs 16 at the edge of the Internet. The broadband ISPs 16 are preferably enabled to receive and transmit high bandwidth (e.g., >kPs) content, providing the ISP subscribers with high bandwidth service. Preferably, point-of-presence (“POP”) client servers (not shown) sitting on the backbone (not shown) of the broadband ISPs 16 receives the virtual channels 124. The POP client servers preferably act primarily as gateway Multicast routers, propagating requested virtual channels 124 (multicast streams) over the ISP's 16 backbone, and on to the user machines 18. The POP client servers may propagate virtual channels 124 as determined based on, e.g., user feedback, advertising and e-commerce hits and viewing habits (collectively, “user feedback”).
  • The [0045] client 20 on the user machine 18 preferably transmits user feedback, including advertising and e-commerce hits generated by the user on the user machine 18, to the NOC 12 via, e.g., the Internet or other transmission medium. The client 20 may transmit this information in response to requests from the NOC 12 or as scheduled. The NOC 12 preferably records this information in a transaction database (not shown) located at the NOC 12.
  • FIG. 2[0046] a is a block diagram illustrating exemplary hardware components for implementing the various servers of the system 10 for delivering personalized broadband content. For example, the exemplary hardware shown may be used to implement the servers of the NOC 12 or the POP client server. Server 30 typically includes a memory 32, a secondary storage device 34, a processor 36, an input device 38, a display device 40, and an output device 42. Memory 32 is preferably a computer-readable medium and may include RAM or similar types of memory, and it may store one or more applications 44 for execution by processor 36. Secondary storage device 34 is preferably a computer-readable medium and may include a hard disk drive, floppy disk drive, CD-ROM drive, or other types of non-volatile data storage.
  • [0047] Processor 36 executes the application(s) 44, which is stored in memory 33 or secondary storage 34, or received from the Internet or other network. Input device 38 may include any device for entering information into server 30, such as a keyboard, mouse, cursor-control device, touch-screen, microphone, digital camera, video recorder or camcorder. Display device 40 may include any type of device for presenting visual information such as, for example, a computer monitor or flat-screen display. Output device 42 may include any type of device for presenting a hard copy of information, such as a printer, and other types of output devices include speakers or any device for providing information in audio form. Server 30 may store a database structure in secondary storage 34, for example, for storing and maintaining such information as described herein.
  • Also, [0048] processor 36 may execute one or more software applications 44 in order to provide the functions described in this specification, and the processing may be implemented in software, such as software modules, for execution by computers or other machines, such as the user machine.
  • FIG. 2[0049] b illustrates typical components of a user machine 18 used by a user. User machine 18 typically includes a memory 45, a secondary storage device 46, a processor 48, an input device 50, a display device 52, and an output device 54. Memory 45 is preferably a computer-readable medium and may include random access memory (RAM) or similar types of memory, and it may store one or more applications 56 (may include application(s) 44 received from server), including the client 20, and a web browser 58, for execution by processor 48. Secondary storage device 50 is preferably a computer-readable medium and may include a hard disk drive, floppy disk drive, CD-ROM drive, or other types of nonvolatile data storage. Processor 48 may execute applications 56 (and/or 44) or programs stored in memory 45 or secondary storage 46, or received from the Internet or other network (not shown). For example, the processor 48 preferably executes the client 20 in order to provide the client functions described herein.
  • [0050] Input device 50 may include any device for entering information into user machine 18, such as a keyboard, mouse, cursor-control device, touch-screen, microphone, digital camera, video recorder or camcorder. Display device 52 may include any type of device for presenting visual information such as, for example, a computer monitor or flat-screen display. Output device 54 may include any type of device for presenting a hard copy of information, such as a printer, and other types of output devices include speakers or any device for providing information in audio form.
  • [0051] Web browser 58 is used to display the dynamic GUIs described herein. Examples of web browsers include the Netscape Navigator program and the Microsoft Internet Explorer program. Any web browser, co-browser, or other application capable of retrieving content from a network and displaying pages or screens may be used.
  • Examples of [0052] user machines 18 include personal computers, laptop computers, notebook computers, palm top computers, network computers, wireless devices, or any processor-controlled device capable of executing a web browser or other type of application for interacting with the system.
  • Although only one [0053] server 30 is shown, the servers described herein may use multiple servers 30 as necessary or desired and may also use backup or redundant servers to prevent network downtime in the event of a failure of a particular server. In addition, although machine 18 and server 30 are depicted with various components, one skilled in the art will appreciate that the user machines 18 and the server 30 can contain additional or different components. In addition, although aspects of an implementation consistent with the present invention are described as being stored in memory, one skilled in the art will appreciate that these aspects can also be stored on or read from other types of computer program products or computer-readable media, such as secondary storage devices, including hard disks, floppy disks, or CD-ROM; a signal, a carrier wave from the Internet or other network; or other forms of RAM or ROM. The computer-readable media may include instructions for controlling a computer system, such as user machine 18 and server 30, or other device, to perform a particular method (e.g., such as the methods described herein).
  • FIG. 3 is a flowchart illustrating a method [0054] 60 of delivering personalized broadband content. The method 60 preferably comprises: processing content 62, assigning promotional material to content 64, scheduling content for transmission as virtual channels 66, configuring a control channel 68, delivering virtual channels 70, propagating requested virtual channels 72 and collecting user feedback 74. Processing content 62 preferably comprises collecting, for example, audio, video and Web data, aggregating the audio, video and Web data together, and classifying the audio, video and Web data. The content 122 is preferably collected from a variety of sources and collecting may comprise receiving or retrieving the content 122 from external sources or from internal sources (e.g., content databases). Aggregating may comprise storing received or retrieved content 122 in a NOC 12 data repository (not shown), assigning the content 122 an expiration date, reviewing content to assure adherence to standards required for NOC 12 processing operations, and/or assigning live feeds directly to a specific channel controller (not shown) for inclusion in a specific virtual channel 124. Classifying the content 122 may comprise assigning each item of content 122 a particular class or category based on pre-determined guidelines. For example, all live sports may be assigned a class “live-sports” and a Monday Night Football™ game a sub-class “live professional football”.
  • Assigning promotional material to [0055] content 64 preferably comprises assigning appropriate targeted advertising, e-commerce material and other promotional or commerce-related material (collectively, “assigned material”) to the content 122. The appropriateness of the assigned material may be determined by the classification of the content 122 and the correlation of the assigned material to that classification. For example, a beer commercial may be targeted advertising for the class “live-sports” and especially the sub-class “live professional football.” Therefore, the beer commercial is appropriate targeted advertising for the Monday Night Football™ content.
  • Scheduling content for transmission as [0056] virtual channels 66 preferably comprises assigning content, and assigned material, on virtual channels 124 so as to efficiently transmit the content. For example, “live-sports” content may be grouped together on one or more virtual channels 124 to minimize the number of virtual channels that are transmitted to a user requesting or being targeted with “livesports” content.
  • Configuring a [0057] control channel 68 preferably comprises creating a low-bandwidth virtual channel 124 with information comprising a description of the content 122 scheduled on the virtual channels 124 and a description of each virtual channel 124. The control channel is preferably continually transmitted and updated so as to contain accurate and up-to-date information on the content 122 and the virtual channels 124 being broadcast at present and in the future. Configuring a control channel may also comprise loading GUI skins on the control channel so GUI skin updates may be transmitted to the user machine 18.
  • Delivering [0058] virtual channels 70 preferably comprises transmitting the virtual channels 124 to the broadband ISP 16. Delivering preferably comprises packaging the virtual channels 124 as IP Multicast streams and transmitting the virtual channel 124 IP Multicast streams via the transmission medium 14 (e.g., satellite) to broadband ISPs 16. Propagating requested virtual channels 72 preferably comprises transmitting virtual channels 124 that have been requested by the client 20 or that are being targeted to the user via a broadband connection to the user machine 18. The client 20 may request virtual channels 124 that the user has specified or that fit some criteria predetermined by the user (e.g., such as a personal profile) or that are determined by user feedback.
  • Collecting user feedback [0059] 72 preferably comprises the NOC 12 receiving user feedback from the user machine 18. The client 20 may transmit the user feedback as requested or polled by the NOC 12 or at regularly scheduled intervals, for example. The user feedback is preferably transmitted via the Internet, but other transmission mediums may be used.
  • FIG. 4 illustrates various components of the [0060] NOC 12 and depicts operations of the NOC 12. As shown, the NOC 12 preferably comprises a network controller 126, a plurality of channel controllers 128, an IP gateway 130, an uplink 132 and one or more data repositories 134. As mentioned above, the NOC 12 preferably also comprises a NOC server (not shown in FIG. 4) that runs various software applications, as represented by the following software modules: a content & advertising aggregation\management module 136; a content & advertising classification module 137; and, a content & advertising broadcast scheduling module 138 (i.e., the content scheduler 138). Content 122 preferably includes computer file-based material as well as live video/audio streams (e.g., IP, digital or analog streams), although content may include video, audio, text and other material from a variety of sources (e.g., recorded material such as video and audio tapes, DVDs, CDs, taped-delay audio/video streams, off-air broadcast content). Advertising, e-commerce and other promotional material (collectively, “promotional material”) may be considered a subset of content 122.
  • [0061] Content 122, with or without related promotional material, preferably is retrieved from or dropped off by partner content providers or otherwise received from a content provider or source. The content and advertising aggregation\management module 136 preferably registers the file-based content 122 in a data repository 134 and assigns the file-based content 122 a content expiration date. The content expiration date is generally a date on which the file-based content 122 is considered out-of-date, redundant, super-ceded, or past the content's usefulness, although the expiration date may also be arbitrarily chosen. The expiration date enables an ongoing auto-cleanup procedure of the NOC data repository 134 (e.g., deleting all content 122 with an expired expiration date). The content and advertising aggregation\management module 136 preferably also reviews and processes promotional material to ensure adherence to standards required for NOC transaction processing operations. For example, these standards may include hyper-text markup language (“HTML”) templates that incorporate “hooks” used by the client 20 to link to backoffice operations (e.g., NOC 12 operations that track e-commerce purchases or advertising clicks, as described below with reference to FIG. 17) to which the promotional material should conform (i.e., the promotional material includes these templates). The content and advertising aggregation\management module 136 preferably assigns live (and taped-delay) feeds directly to a channel controller 128 for inclusion as a component of a specific virtual channel 124.
  • FIG. 5 is a flowchart illustrating an [0062] exemplary method 1360 of content and advertising aggregation and management. The method 1360, preferably executed by the content and advertising aggregation\management module 136 as described above, comprises receiving/retrieving content from content providers 1361, registering content in data repository 1362, assigning a content expiration date 1363, reviewing and processing advertising and e-commerce material to ensure adherence to standards 1364 and assigning live feeds to a channel controller 1365.
  • Referring again to FIG. 4, the content and [0063] advertising classification module 137 preferably classifies the content 122 and promotional material so that the content 122 and promotional material may be targeted or filtered for users based on user personal profiles, feedback or other criteria. The content and advertising module preferably classifies content 122 according to parameters that enable a preference-based filtering through an intelligent application of a user's personal profile by the client 20. The personal profile preferably includes various descriptive data about the user and the user's content preferences and may be created through question and answer sessions or other feedback, such as viewing/listening habits and content hits and may be dynamically updated to reflect changes in the user's preferences. The classification parameters are preferably defined to correspond to classification parameters of the personal profile. For example, live sports content receives a classification that corresponds to a classification in the personal profile of a user that prefers live sports. The content and advertising module may classify content 122 with classes and sub-classes to reflect specific sub-categories of a general category (e.g., a professional football game in a class “live sports”, subclass “professional football game”) and/or to show that the content 122 fits within multiple categories and/or sub-categories. What is the nature of the content (i.e., whether a movie, a sports event, a infomercial, a news program, a weekly program, etc.) may be determined, for example, automatically from a content title or descriptor (e.g., a numeric code) encoded with the content or by a human operator that examines a description of the content, a content title or the content itself. Once this is determined, known methods of content classification may be used.
  • The content and [0064] advertising classification module 137 preferably classifies promotional materials according to demographic parameters that enable the targeting of one of several concurrently delivered advertising streams towards a user (e.g., based on personal profile). The promotional materials may be received with related content, as described above, or unassociated with other content. The demographic parameters are defined to correspond with the demographics of users so that advertising and e-commerce designed for users with certain demographics are targeted and sent the targeted promotional materials. For example, a beer ad designed for 25 to 35 year-old males is preferably classified accordingly. What is the nature of the promotional material (e.g., a beer commercial, an infomercial, an e-commerce opportunity) and for what users the promotional material is designed may be determined, for example, automatically from a title or descriptor (e.g., a numeric code) encoded with the promotional material or by a human operator that examines a description of the promotional material, a promotional material title or the promotional material itself. Once this is determined, known methods of promotional material classifying may be used.
  • FIG. 6 is a flowchart illustrating an [0065] exemplary method 1370 of content and advertising classification. The method 1370, preferably executed by the content and advertising classification module 137 as described above, preferably comprises determining the nature of the content/promotional material 1371, classifying content to enable filtering 1372 or classifying promotional material to enable targeting 1373.
  • Referring again to FIG. 4, the [0066] content scheduler 138 is preferably responsible for the ongoing program scheduling of content 122 across virtual channels 124. The content scheduler 138 preferably schedules content 122 and related promotional materials for inclusion as part of a virtual channel 124 that supports concurrent broadcast of multiple subcomponents, including video and audio streams, as well as files. The content scheduler 138 dynamically determines the scheduling of content 122 and promotional materials based on a variety of criteria. For example, the content scheduler 138 may schedule content 122 of one classification (e.g., live sports) together on one or more virtual channels 124. Likewise, the content scheduler 138 may schedule content 122 provided from one content source together on one or more virtual channels 124. Further, the content scheduler 138 may schedule content 122 based on the bandwidth necessary to receive the content 122 (e.g., scheduling high bandwidth content together). Once the content scheduler 138 determines on which virtual channel 124 to schedule certain content 122, the content scheduler 138 preferably scheduled the content by sending real-time commands to the network controller 126 in order to provide process control of the channel controllers 128, which are responsible for the actual production of a virtual channel 124.
  • FIG. 7 is a flowchart illustrating an [0067] exemplary method 1380 of content & advertising broadcast scheduling. The method 1380, preferably executed by the content scheduler 138 as described above, preferably comprises: determining on which virtual channel to schedule content 1381; scheduling the content for inclusion as part of a virtual channel 1382; and, scheduling related promotional materials for inclusion as part of the virtual channel 1383. As noted above, the determining step 1381 may be based on a variety of criteria. In this example, promotional material related to the scheduled content is also scheduled on the same virtual channel 124. Alternatively, the promotional material, whether related or not, may be scheduled on a different virtual channel 124 (e.g., on a promotional material-only virtual channel that is linked to the content 122 by the client 20 at the user machine 18).
  • Referring again to FIG. 4, the [0068] network controller 126 is preferably a server-based software application package that provides top level network management functionality and that is responsible for controlling other components of the NOC 12. For example, the network controller 126 preferably issues instructions/commands to the channel controllers 128, directing the operation of the channel controllers 128 and the dynamic configuration of the virtual channels 124. The network controller 126 may accomplish the dynamic configuration by maintaining an open Transmission Control Protocol/Internet Protocol (“TCP/IP”) connection to each individual channel controller 128, issuing basic instructions/commands that activate or deactivate content 122 subcomponents, thereby defining the composition of the virtual channel 124. The network controller 126 preferably also issues a systemwide clock pulse that ensures timing synchronization across virtual channels 124.
  • FIG. 8 is a flowchart illustrating an [0069] exemplary method 1260 of network controller operation. The method 1260, preferably executed by the network controller 126 as described above, preferably comprises: opening and maintaining a TCP/IP connection to a channel controller 1261; instructing the channel controller to activate or de-activate content subcomponents 1262; and synchronizing virtual channels 1263.
  • FIG. 9 is a block diagram illustrating a [0070] channel controller 128 and operation of the channel controller 128. The channel controller 128 preferably is a software application package that manages coordination of the various components used for the creation and transmission of an individual virtual channel. Hence, the channel controller preferably comprises the following modules: a network command processor 1281; a media server 1282; a file broadcast module 1283; and, a IP multiplexer 1284. The network command processor 1281 preferably accepts instructions/commands from the network controller 126 to drive the operation and interaction of the other modules. The media server 1282, e.g., a Microsoft™ (“MS”) Media Server or RealNetworks, Inc.™ Server, preferably produces a real-time Multicast IP stream suitable for play by a media player (not shown in FIG. 9), e.g., a MS Media Player or RealPlayer™. For example, the media server 1282 stream may be an active streaming format (“ASF”) formatted user datagram protocol/internet protocol (“UDP/IP”) suitable for the MS Media Player or a Realtime Streaming Protocol (“RTSP”) suitable for the RealPlayer. The media server 1282 stream is generated from content 122 transmitted to the channel controller. For example, the media server 1282 stream may be generated from a file source (e.g., from the data repository 134) or from a live or tape-delayed feed, such as an analog feed with the assistance of an encoder (not shown) that encodes the analog feed for digital transmission.
  • The [0071] file broadcast module 1283, e.g., a CacheStream XD™ (“extreme datacasting”) file broadcast module, preferably provides for the file transfer subcomponent of the virtual channel 124, enabling files to be transfer via the virtual channel 124 to a user machine 18. The file broadcast module preferably receives files and converts them to a stream. The file broadcast module preferably outputs the stream via a TCP/IP connection to the IP multiplexer 1284; the TPC/IP connection provides flow control to any actual file transfer process.
  • The [0072] IP multiplexer 1284, e.g., a Cachestream CMX IP-Mux™ (“channel manager extreme”), preferably combines the streams produced by the media server 1282 and the file broadcast module 1283 configures the combined streams into a single output IP multicast stream from the channel controller 128. The IP multiplexer 1284 preferably encrypts the output IP multicast stream and protects the output stream, e.g., by forward error correction. As shown in FIG. 9, preferably each output IP multicast stream is a virtual channel 124.
  • Referring again to FIG. 4, the output multicast IP streams from each [0073] channel controller 128 preferably flow over a NOC 12 local area network (“LAN”) to the IP Gateway 130. The IP Gateway 130 may be a third party commercial product, such as SkyStream's IP Gateway™. The IP Gateway 130 forwards the virtual channels 124 to the uplink 132. The uplink 132 is connected to the transmission medium 14 and may be, for example, a satellite uplink.
  • FIG. 10 is a flowchart illustrating an exemplary method [0074] 1280 of channel controller operation. The method 1280, preferably executed by a channel controller 128 as described above, preferably comprises: receiving network controller commands 1285; producing a media server stream for a media player 1286; providing file transfer subcomponent stream 1287; combining streams into an output IP multicast stream 1288; and, encrypting and error protecting the output stream 1289. The stream produced for the media player in the producing step 1286 may be a different format (e.g., not ASF) and type (e.g., not UDP/IP) then that described herein, as determined by available media players in use on user machines 18.
  • Referring to FIG. 1, as discussed above, the [0075] NOC 12 delivers virtual channels 124 via the transmission medium 14 (e.g., satellite) to the broadband ISPs 16 at the edge of the Internet. The broadband ISPs 16 are preferably enabled to receive and transmit high bandwidth (e.g., >kPs) content, providing the ISP subscribers with high bandwidth service. Broadband ISPs 16 may include, for example, companies providing high bandwidth access via digital cable lines, DSL, T-x lines or Ethernet. FIG. 11 illustrates an exemplary broadband ISP 16 comprising a broadband ISP backbone 162, a receiver 164, and a POP client server 80. The broadband ISP backbone 162 preferably handles the major communication traffic of the broadband ISP 16. The receiver 164 (e.g., a satellite receiver) preferably receives the virtual channels (IP multicast streams) 124 from the transmission medium 14.
  • The [0076] POP client server 80 preferably sits on the broadband ISP backbone 162. The POP client server 80 preferably receives the virtual channels 124 received by the receiver 164 and is preferably configured to capture a subset of, or all, virtual channels 124 broadcast from the NOC 12. The POP client server 80 may be located elsewhere (i.e., separate from the broadband ISP 16) and may receive the virtual channels 124 directly (e.g., from the transmission medium 14 or the NOC 18). The POP client server 80 preferably acts primarily as a simple Multicast router, propagating those virtual channels 124 that have actually been requested by at least one client 20, over the broadband ISP backbone 162 for transmission to user machines 18. The POP client server 80 preferably also supports a utility application that allows each individual client 20 to assess the client's host user machine 18 link speed (i.e., bandwidth capacity) to the POP client server 80 upon startup. The link speed is preferably used to determine the availability of certain virtual channels 124 for the user machine 18. For example, if a certain virtual channel 124 contained content requiring a bandwidth greater then the bandwidth capacity of a user machine 18, the user machine would not receive that virtual channel 124.
  • FIG. 12 is a flowchart illustrating an exemplary method [0077] 800 of POP client server operation. The method 800, preferably executed, at least in part, by the POP client server 80 as described above, preferably comprises: assessing user machine link speed 801; determining client's virtual channel availability 802, capturing a subset of virtual channels 803; and, propagating requested virtual channels over IP backbone 804. The assessing step 801 and/or determining step 802 may be performed by, or in cooperation with, the client 20 of the user machine 18 being assessed. For example, the assessing step 801 may comprise the client 20 sending a request for link speed assessment upon startup on the user machine 18, the POP client server 80 transmitting test packets of varying bandwidths to the user machine 18, the client 20 reporting the transmission times for the test packets to the POP client server 80, and the POP client server 80 calculating the bandwidth capacity of the user machine 18 from this information. Virtual channels 124 that required a bandwidth exceeding this bandwidth capacity may then be determined to be outside the client's 20 available virtual channels 124. The subset of virtual channels 803 may be determined by the bandwidth capacity of all user machines 18 serviced by a broadband ISP 16. For example, if the bandwidth capacity of all user machines 18 of a broadband ISP 16 is below a level required by certain virtual channels 124, the POP client server 80 may not capture these certain virtual channels 124 in the capturing step 803.
  • Each [0078] user machine 18 that receives virtual channels 124 from the POP client server 80 preferably hosts a client 20, as described above. The client 20 is preferably a software package that incorporates Internet browser and media player (e.g., MS IE and Media Player) technologies in order to provide flexibility in personalized selection and presentation of the multidimensional media content 122 available from the virtual channels 124. The client 20 preferably continually scans the control channel (described above), which preferably delivers scheduling and classification information on programming carried by the virtual channels 124 available to the client 20. The client 20 preferably enables each individual user (e.g., family members) on a single user machine 19 to fill out a personal profile describing personal interests in content 122 as well as GUI theme (skin) preference.
  • Since the [0079] content 122 on the virtual channels 124 is preferably uniformly classified, the client 20 may apply, at the user's request or otherwise (e.g., as directed by the NOC 12 or the POP client server 80), a user's personal profile to filter the presentation of available programming to include content 122 specified as being of interest to the user. The client 20 may then present the filtered, personal content 182 (see FIG. 1) for selection, as a personalized view of available programming. Users may select the personal content 182 from across available virtual channels 124 for either immediate viewing or for caching—and future, on demand access. The client 20 preferably continually monitors the ongoing allocation of disk resources and provides utilities and safeguards that allow each user to manage their personal disk cache. The client 20 preferably incorporates a “clean-up” feature that automatically deletes outdated or expired content.
  • FIG. 13 illustrates an embodiment of the [0080] client 20. As shown, the client 20 preferably comprises a background data capture routine 201 and a customizable user interface (e.g., a dynamic GUI) 202. The background data capture routine 201 preferably that “tunes” to and interprets virtual channels 124, including the control channel 125. The customizable user interface 202 supports management and display of incoming data (e.g., content and promotional material) through the selection of hyper-links (e.g., hyper-text markup language (“HTML”) links). The customizable user interface 202 preferably utilizes dynamic HTML routines 2021, personal profiles 2022 and dynamic GUI skins 2023 received from the control channel 125 to create a personalized display 2024.
  • Upon startup, the client preferably connects to the local [0081] POP client server 80 to determine link speed (as described above with reference to FIGS. 11-12) and automatically opens the control channel 125 used to provide programming information and deliver dynamic GUI “skins”. In the system 10 for delivering personalized broadband content, the dynamic GUIs 202 and their hyper-links are preferably customized for each individual user through the dynamic creation of displays that are a function of personal interests as defined in the personal profile, as well as indicated preferences in GUI presentation (skins). The customizable interface 202 hyper-links preferably support the communication of information regarding user selection of content 122 back to the background capture routine 201 for execution. When a hyper-link for a virtual channel 124 is selected for display or caching, the background capture routine 201 automatically opens membership to the appropriate multicast service, effectively tuning to the requested virtual channel 124. A multicast channel, like a broadcast channel, is generally available while being broadcast. In order to tune to the multicast channel, the client 20 preferably issues a “join” request to join the multicast group of the desired virtual channel 124. This request is sent to the nearest router (e.g., POP client server 80) in order for the client 20 to join the group (i.e., open membership to the appropriate multicast service).
  • The [0082] client 20 preferably enables the concurrent capture of two virtual channels 124 (as well as the control channel 125), making it possible to watch one program or content item while recording (caching) another. The client 20 preferably accomplishes the caching of content 122 (e.g., video and audio streams) through implementation of a process and file structure. The content 122 is preferably cached in a user cache 203 on the user machine 18. Digital rights management of the cached content is discussed below.
  • FIG. 14 is a flowchart illustrating an exemplary method [0083] 210 of operation of the client 20. The method 210, preferably executed by the client 20 as described above, preferably comprises: scanning the control channel 211; filtering available content 212; selecting content 213; if the content is selected for immediate viewing, displaying content 214; if the content is not selected for immediate viewing, caching content 215; monitoring allocation of resources 216; and deleting content 217. As noted above, the content 122 may include audio content, so “viewing” and “display” are meant to include listening to or playing audio alone or in conjunction with video, text, or other material. Selecting content 213 may comprise the client 20 selecting content that has been chosen by a user (e.g., by clicking on a hyper-link on the dynamic GUI). The monitoring allocation of resources 216 may comprises determining available space in the user cache 203 and may be performed when content 122 is cached or at regular intervals, for example. The deleting content 217 may comprise deleting content 122 that has an expired expiration date. The steps of the method 210 may be repeated as necessary (for example, the scanning step 211 is preferably executed continually and as new content is available, the filtering step 212 may be performed.)
  • FIG. 15 is a flowchart illustrating an additional exemplary method [0084] 220 of operation of the client 20. The method 220, preferably executed at least in part by the client 20 as described above, preferably comprises: connecting to server 221; determining link speed 222; opening control channel 223; customizing dynamic user interface 224; selecting virtual channel(s) 225; tuning to virtual channel(s) 226; and concurrently displaying a first selected virtual channel while caching a second selected virtual channel 227. The connecting step 221 preferably comprises the client 20 connecting to the POP client server 80. The opening step 223 may comprise receiving updated GUI skins over the control channel 125, which may be used in the customizing step 224.
  • Additionally, the [0085] client 20 may provide alerts of, for example, new content 122, advertising and e-commerce opportunities based on user profiles and/or what a user is viewing. When new content 122, advertising or e-commerce opportunities that match the interests of a user, as determined from/by the user's profile, the user may be alerted, for example with video in a separate window or the same window, about the new content 122, advertising or e-commerce opportunity. The alerts may interrupt the primary content stream, which the user may pause while viewing the alert to resume viewing later. The alerts may be created by software running in background and/or by searches running in background.
  • The [0086] client 20 preferably provides the capability of caching incoming real-time streams (virtual channels 124) by implementing a generic approach of saving incoming packets to disk along with the time differential from receipt of the last packet from that steam. This allows the client user machine 18 to reconstitute the original real-time steam from disk at any time in the future.
  • The [0087] system 10 for delivering personalized broadband content preferably supports digital rights management that provides and restricts access to certain types of content 122. Installation of the client 20 is preferably a component of the digital rights management. Preferably, installation of the client 20 involves an automated exchange with a License Server (see FIG. 17) located at the NOC 12, whereby a new user is preferably registered and is assigned a unique identification number. As part of the installation process, the user's user machine 18 is profiled, and this information is embedded along with the unique identification number in an encrypted license file—essentially tying the license file to that particular user machine 18. Digital rights management, e.g., the ability to record video or audio streams carried within virtual channels 124, is preferably controlled dynamically at the NOC 12 on a channel-by-channel basis. If the recording of a certain program or e-commerce event, for example, is deemed permissible, users may optionally save the stream to disk (e.g., the user cache 203) for future, on-demand viewing.
  • When a user has opted to record, the target stream is preferably saved to disk in an encrypted format, whereby the user's unique identification number is stored within the stream file header itself If the user attempts to view the stored content, the identification number within the stream file header is compared to that stored in the license file, which is in turn validated against the computer profile. If the identification numbers don't match, or the license file is invalid, the stream file is left encrypted and cannot be replayed. Besides preventing an unauthorized user from viewing the recording (i.e., since the user identification number is checked), this mechanism effectively inhibits content stream recordings from being shared between computers (i.e., since the license file is validated against the computer profile). [0088]
  • The encryption of content and use of user ids prevents the access to the content by [0089] other user machines 18. Additionally, content can be encrypted with parental controls, such as passwords, to prevent unwanted viewing.
  • FIG. 16 is a flowchart illustrating an exemplary method [0090] 230 of client installation and digital rights management. The method 230, which is preferably executed by the client 20 in conjunction with components of the NOC 12, preferably comprises: assigning a unique user ID number 231; profiling the user machine 232; embed user machine profile and user ID in license file 233; request restricted content 234; save stream in encrypted format with user ID 235; verify user ID number 236; verify user machine profile 237; and replay recorded stream 238.
  • FIG. 17 is a block diagram illustrating additional components of the [0091] NOC 12 and operation of the additional components. The additional components are preferably located at the NOC 12 and accessed by clients 20 through the Internet 127. The additional components may be located remotely from the NOC 12. As shown in FIG. 17, the additional components of the NOC 12 may comprise: a client services server 82; a pay-per-view server 84; an e-commerce router 86; and, an advertising portal server 88.
  • The [0092] client services server 82 preferably manages new user registration and provides client services for users. For example, the client services server 82 preferably assigns the unique user identification number to a user as part of the user registration procedure. The client services server 82 preferably stores user information in the client database 822. The client services server 82 preferably stores the user identification number along with the profile of the user's user machine 18 in an encrypted License file that is preferably transmitted over the Internet 127 to the user machine 18, as illustrated by a License Generation 821 block. The License file is used as a control mechanism for both pay-per-view operations and digital rights management of content recordings (as described above with reference to FIG. 16). By including the user machine 18 profile in the License file, the client services server 82 “ties” the License file to a specific user machine 18, preventing use of the License file on another user machine 18. The client services server 82 preferably hosts a Web-site that allows users to view a password protected statement of the user's account with respect to pay-per-view and other operations, as illustrated by the client account reporting 823 block. The client account reporting 823 preferably accesses the client database 822 to determine the user's account balances and transactional information.
  • FIG. 118[0093] a is a flowchart illustrating an exemplary method 240 of user registration and license file creation. The method 240, preferably executed by the client services server 82 in conjunction with a client 20 as described above, preferably comprises: registering a user 241; assigning user an id number 242; receiving profile of user machine 243; generating a license file 244; and, transmitting license file to the user machine 245. Registering a user 241 preferably comprises storing user information in the client database 822. Assigning user an id number 242 preferably comprises the client services server 82 randomly generating a unique user id number. The receiving step 243 preferably comprises the client service server 82 receiving a profile of the user machine 18 generated by the client 20 installed on the user machine 18. The generating step 244 preferably comprises the client services server 82 storing the user id and user machine profile in a license file and encrypting the license file. The transmitting step 245 preferably comprises the client services server 82 transmitting the license file to the user machine 18.
  • FIG. 18[0094] b is a flowchart illustrating an exemplary method 250 of user account inquiry. The method 250, preferably executed by the client services server 82 in conjunction with the client 20, preferably comprises: displaying user account Web-site 251; requesting user password 252; accessing user information from client database 253; and, displaying user account information 254. The displaying step 251 preferably comprises the client services server 82 transmitting one or more Web-pages (not shown) over the Internet to the user machine 18 for display by the client 20 on a browser (e.g., MS I/E). The user password may be assigned or chosen by a user during user registration. If the user password is properly entered, the client services server 82 accesses and retrieves the user information from the client database 822. The displaying step 254 preferably comprises the client services server 82 transmitting the user's account information over the Internet to the user machine 18 for display by the client 20.
  • Referring again to FIG. 17, the pay-per-view (“PPV”) [0095] server 84 preferably manages and enables pay-per-view operations of the system 10. Pay-per-view operations are preferably based on a credit system, whereby users purchase credits (fixed denominations) that may be redeemed in exchange for access to pay-per-view events and content, as illustrated by the purchase credits block 841. Credits are preferably purchased via the PPV server 84 in fixed denominations and are transferred directly to a user's personal account. As noted above, status of this account may be viewed at any time via the client services server 82. The credit card verification block 842 indicates processing of a credit card purchase of credits.
  • Access to pay-per-view events, as indicated by the [0096] PPV purchase block 843, is preferably granted by the PPV server 84 through issuance of an encrypted “certificate” detailing the broadcast of the event and the type and duration of access authorized. The certificate generation block 844 indicates issuance of the certificate. These certificates are preferably transmitted to (e.g., over the Internet) and stored on the user's user machine 18 as part of a pay-per-view purchase transaction. The PPV purchase 843 comprises verifying that the user has sufficient credits and deducting the cost of the purchase from the user credit balance. The transactions block 844 indicates that the client account reporting 823, as discussed above, is utilized to access the user's account. For example, the PPV server 84 may access the user account Web-site to determine the user's account credit balance. The transactions block 844 also indicates that a commercial invoice may be generated. The PPV server 84 may generate a commercial invoice if, for example, a third party rewards the user with credits for some transaction and the user redeems the credits to purchase a PPV event or content. The commercial invoice may be a bill for the rewarded/redeemed credits.
  • The certificates generated by the [0097] PPV server 84 preferably include a reference to the user's unique ID. If this number matches that which is embedded in the user's License file—which in turn is validated against the user machine 18 profile—the certificate to be considered valid. This verification mechanism effectively inhibits the transfer of pay-per-view certificates between systems.
  • FIG. 19 is a flowchart illustrating an [0098] exemplary method 260 of pay-per-view access. The method 260, preferably executed by the PPV server 84 and a client 20 as described above, preferably comprises: purchasing credits 261; transferring credits to a user account 262; granting pay-per-view access 263; issuing an encrypted certificate 264; storing the encrypted certificate 265; and validating the encrypted certificate 266. Transferring credits to a user account 262 may comprise a third party transferring credits to the user account as a reward (e.g., for visiting the a Web-site). The granting step 263 preferably comprises verifying that the user has sufficient credits. The validating step 266 preferably comprises comparing the user ID in the certificate with that stored in the user's License file stored on the user machine 18 and comparing the user machine profile in the License file to the user machine 18. If both the user ID and user machine 18 are verified, the certificate is encrypted and the user may view the PPV event or content on the user machine 18.
  • FIG. 20 is a logic flow/block diagram illustrating another [0099] exemplary method 270 of PPV access. As shown, the method 270 preferably comprises a user ordering PPV content or a PPV event 271, wherein the PPV content 272 is a show costing 25 credits; the PPV server 84 debiting the user's account by 25 credits 273; creating an encrypted digital certificate 274, wherein the certificate comprises the show ID and the user ID; checking the license file of the client 275; and checking the user machine profile 276.
  • Referring back to FIG. 17, the [0100] e-commerce router 86 is preferably a server responsible for routing e-commerce opportunities to clients 20 and re-routing e-commerce transactions to third-party e-commerce providers. Web-based e-commerce opportunities within the system 10 that are broadcast as part of a virtual channel 124 are preferably first processed at the NOC 12 (e.g., by NOC staff) to implement an “interception” of purchase transactions back to the NOC 12. When a user selects an e-commerce opportunity for purchase (or other use) via a client 20, the e-commerce purchase is preferably intercepted by the NOC 12, and specifically by the e-commerce router 86 (e.g., via the Internet). The e-commerce router 86 preferably records each incoming (secure) purchase in a transaction database 861. The e-commerce router 86 then preferably automatically securely re-routs the purchase to the originally defined destination, as indicated by the re-route transaction block 862. The implementation of this e-commerce routing provides a strict control mechanism for the tracking of e-commerce generated revenues, and enables the proactive invoicing of partner e-commerce retailers. As seen in FIG. 17, the e-commerce router 86 and the transaction database 861 may generate a commercial invoice that charges the e-commerce retailers/providers for e-commerce transactions routed through the e-commerce router 86 (and hence, generated through the system 10).
  • FIG. 21 is a flowchart illustrating an [0101] exemplary method 280 of e-commerce purchasing. The method 280, preferably executed by the e-commerce router 86 and other components of the system 10 as described above, preferably comprises: processing e-commerce content to implement an interception 281; intercepting an e-commerce purchase 282; recording the intercepted e-commerce purchase 283; and re-routing intercepted e-commerce purchase 284.
  • Referring to FIG. 17 again, the [0102] advertising portal server 88 preferably manages advertising material delivered via the system 10. Preferably, advertising material is first processed at the NOC 12 (e.g., by NOC staff) to implement a “redirect” of advertising clicks back to the advertising portal server 88. When a user clicks on advertising material, the clicks are re-directed so that incoming clicks are registered in a transaction database 881 before being redirected 882 back to their original destination or website. The registration of the incoming clicks enables the advertising portal server 88 to track the effectiveness of targeted advertising and enables the proactive invoicing of partner advertisers for portal revenues. As seen in FIG. 17, the advertising portal server 88 and the transaction database 881 may generate a commercial invoice that charges the partner advertisers for advertising clicks (or hits) re-directed through the advertising portal server 88 (and hence, generated through the system 10).
  • FIG. 22 is a flowchart illustrating an [0103] exemplary method 290 of advertising re-direction. The method 290, preferably executed by the advertising portal server and other components of the system 10 as described above, preferably comprises: processing advertising material to implement redirection 881; intercepting incoming advertising click 882; registering intercepted advertising click 883; redirect advertising click 884; and, invoicing partner advertisers 885.
  • The implementation of a credit system in support of pay-per-view operations in the [0104] system 10 provides an unprecedented opportunity to openly barter with users for access to information concerning the users personal habits, preferences, or opinions (“data mining”). For example, as described above the client 20 incorporates the capability of tracking the personal viewing habits of each user profiled per client installation. Data mining collects user personal habits, preference, or opinions on a voluntary basis in exchange for credits, which may be redeemed for pay-per-view purchases. Advertising partners may create “credit enable” Web pages (not shown). These pages preferably incorporate an automated transaction that credits a user's account in exchange for the return of information, or for the viewing of specific advertising opportunities. The same transaction automatically debits the advertiser's account, supporting the generation of a commercial invoice for credits allocated. This automated transaction preferably utilizes the PPV server 84 to accomplish these credits and debits, as described above. This data mining enables qualified lead generation (e.g., sales leads) for vendors, such as automotive dealers.
  • Moreover, the [0105] system 10 operators may provide credits to users for viewing advertising. These credits may be redeemed for pay-per-view or other purchases. The client 20 preferably verifies that the user watched the advertisement (e.g., that the complete advertisement was displayed) and provides advertisers a unique opportunity to target advertising and verify that their content is viewed.
  • FIG. 23 is a flowchart illustrating an exemplary method [0106] 300 of data mining. The method 300 preferably comprises: requesting user information in exchange for credits 301, wherein the credits may be used to purchase PPV content and events; receiving the requested user information 302; and crediting the user account with credits 303. The method 300 may also comprises debiting credits from a third-party account, wherein the number of credits credited to the user account are debited from the third-party account.
  • FIG. 24 is a block diagram illustrating an alternative embodiment of the NOC. [0107]
  • FIG. 25 is a flowchart illustrating an [0108] exemplary method 310 of creating a dynamic GUI. The method 310 preferably comprises: determining data accommodation of a user machine 311 and, creating a dynamic GUI using the determined data accommodation and a user's personal profile 312. The data accommodation is preferably the bandwidth capacity of a user machine 18.
  • FIG. 26 is a flowchart illustrating an [0109] exemplary method 320 of delivering personalized broadband content. The method 320 preferably comprises: receiving a request for a portion of Multicast IP data 321; receiving Multicast IP data at internet service provider 322; receiving a control channel 323; locating the requested portion of Multicast IP data with information from control channel 324; communicating requested portion of Multicast IP data to client 325; and, determining if user is authorized to view requested portion of Multicast IP data 326. The receiving a request step 321 may comprise the POP client server 80 receiving a request for content 122 from a client 20. The receiving Multicast IP data step 322 may comprise the POP client server 80 receiving the virtual channels 124 at the broadband ISP 16. The receiving a control channel step 323 may comprise the POP client server 80 receiving the control channel 125 at the broadband ISP 16. The locating step 324 may comprise the POP client server 80 locating the virtual channel 124 with the requested content 122 using information contained on the control channel 125. The communicating step 325 may comprise the POP client server 80 transmitting the requested content over a broadband connection to the user machine 18 on which the client 20 resides. The determining step 326 may comprise checking for a certificate file and/or checking a license file, as described above, to verify user authorization.
  • FIG. 27 is a flowchart illustrating another [0110] method 330 of advertising in the system 10 for delivering personalized broadband content. The method 330 preferably comprises: sending advertisement linked to content 331; displaying the advertisement with the content if called for display 332; storing advertisement in memory 333; recalling advertisement for display with other content 334; and, linking advertisement with other content 335. The sending step 331 may comprise an advertising provider transmitting an advertisement to the NOC 12. The displaying step 332 comprises the client 20 displaying the advertisement with its linked content on the user machine 18. The storing step 334 may comprise the client 20 storing the content in the user cache 203. The recalling step 334 may comprise the client 20 retrieving the stored advertisement from the user cache 203 when the stored advertisement meets some criteria with regard to content being displayed (e.g., a beer commercial for display during a football game). The linking step 335 may comprise the client 20 re-linking the advertisement to content for future display.

Claims (72)

What we claim is:
1. A method for customizing an interface to accommodate a user's availability of content, comprising:
determining a link speed that a user machine can accommodate; and
using a control channel and the determined link speed, creating a display of content choices available to a user on the user machine.
2. The method of claim 1 wherein the user machine is a personal computer and the step of determining determines a maximum bandwidth at which the personal computer receives content from an internet service provider (“ISP”).
3. The method of claim 1 wherein the display of content choices is a dynamic graphical user interface (“GUI”).
4. The method of claim 3 wherein a skin for the dynamic GUI is used.
5. The method of claim 4 wherein the skin is personalized for the user.
6. The method of claim 5 wherein the skin includes advertisements.
7. The method of claim 1 wherein the creating step uses a personal profile of the user.
8. The method of claim 4 wherein the content is filtered for the user using the personal profile.
9. The method of claim 1 wherein the content is multimedia content.
10. The method of claim 1 wherein the content is made available from a source using a satellite transponder to multicast the content.
11. The method of claim 1 wherein the content includes infomercials with links to web sites.
12. The method of claim 1 wherein the creating step is created to create an additional display.
13. The method of claim 1 wherein the content is broadcast on virtual channels.
14. The method of claim 1 wherein the content is routed to the user machine by a software module resident at an Internet Service Provider (“ISP”).
15. The method of claim 1 wherein the content is routed to the user machine by a dedicated server at an ISP.
16. The method of claim 1, wherein the determining step and the creating step are performed by a software module resident on the user machine.
17. The method of claim 1 wherein software at an ISP location assists in performing the determining step.
18. A computer readable medium containing instructions for customizing an interface to accommodate a user's availability of content, by performing the method of claim 1.
19. A method for gathering data about a subscriber over the Internet using incentives comprising:
offering an incentive in exchange for receiving data about a subscriber;
receiving acceptance of the offer; and
providing the offered incentive, wherein the incentive may be used to purchase content.
20. The method of claim 19 wherein the incentive includes cash.
21. The method of claim 19 wherein the incentive includes credits that may be used to purchase pay-per-view content.
22. The method of claim 19 wherein the incentive is points of a credit card loyalty system.
23. The method of claim 19 wherein the incentive may be used to purchase data on virtual channels.
24. The method of claim 19 wherein the step of offering comprises transmitting an HTML page.
25. The method of claim 19 wherein the step of receiving acceptance comprises receiving data via the Internet.
26. The method of claim 19 wherein the offering step is performed by a client server at an ISP.
27. The method of claim 19 further comprising tracking incentives, wherein a network operations center is used to track the incentives.
28. The method of claim 27 wherein the step of receiving an acceptance comprises receiving an Internet communication at the network operations center.
29. The method of claim 19 wherein the offering step comprises sending an offer on a virtual channel.
30. The method of claim 19 wherein the step of offering comprises using a satellite transponder.
31. The method of claim 19 wherein acceptance includes a one-click action and the step of receiving an acceptance comprises receiving an indication of the one-click action.
32. The method of claim 19 further comprising:
storing the subscriber data.
33. The method of claim 32 wherein the subscriber data is stored in a file at a user machine.
34. The method of claim 32 wherein the subscriber data is stored at the client server.
35. The method of claim 19 wherein the step of receiving an acceptance comprises:
storing data about the user at a personal computer; and
the user authorizing a software program on the personal computer to send the stored data about the user over the internet.
36. A computer-readable medium containing instruction for gathering data about a subscriber over the Internet using incentives, by performing the method of claim 19.
37. A method for delivering personalized broadband content comprising:
receiving a request for a portion of multicast data in IP protocol;
receiving multicast data in an IP protocol;
locating the requested portion of multicast data; and
sending the requested portion of multicast data to a user machine connected to an ISP.
38. The method of claim 37 wherein the request is received from client software resident on the user machine.
39. The method of claim 37 wherein the request is received over a network.
40. The method of claim 37 wherein the requested portion of the multicast data comprises multimedia content.
41. The method of claim 37 further comprising:
receiving a control channel that contains information about the multicast data; and,
using the control channel to locate the requested portion of multicast data.
42. The method of claim 37 further comprising:
determining whether a user at the user machine is authorized to view the requested portion of data.
43. The method of claim 37 wherein the multicast data is received on virtual channels format.
44. The method of claim 37 wherein the multicast data is received from a satellite transponder.
45. The method of claim 37 further comprising:
reviewing a user database for information about a user at the user machine, wherein the user requests the multicast data.
46. The method of claim 45 further comprising:
confirming that the user is authorized to view the requested data based on the information about the user.
47. The method of claim 37 wherein a plurality of requests a received concurrently.
48. The method of claim 37 wherein a plurality of requests are received for the same multicast data.
49. The method of claim 37 wherein the requested multicast data is sent to a plurality of users concurrently.
50. The method of claim 37 wherein the step of receiving the multicast data comprises receiving multiple multicast feeds.
51. The method claim 37 wherein the step of sending sends streaming video.
52. A computer-readable medium comprising instructions for delivering personalized broadband content, by performing the method of claim 37.
53. A method for advertising with rich media type content comprising:
sending an advertisement linked to rich media content to a user machine;
displaying the advertisement with the rich media content at the user machine;
storing the advertisement in a memory device; and
recalling the advertisement for display with other rich media content.
54. The method of claim 53 further comprising:
linking the advertisement to the other rich media content.
55. The method of claim 53 wherein the rich media content is video and audio.
56. The method of claim 53 wherein the rich media content comprises text and graphics.
57. The method of claim 53 wherein the advertisement is stored for a set period of time.
58. The method of claim 53 wherein the advertisement is a rich media advertisement.
59. The method of claim 53 wherein the advertisement is targeted to users meeting certain criteria.
60. The method of claim 53 further comprising: deleting the advertisement from memory after it has been displayed.
61. A computer-readable medium comprising instructions for advertising with rich media type content, by performing the method of claim 53.
62. A method of delivering personalized broadband content, comprising:
receiving content at a network operations center;
associating promotional material with the content;
scheduling the content on virtual channels, wherein the virtual channels are a Multicast IP stream;
broadcasting the virtual channels over a transmission medium;
receiving the virtual channels at a broadband ISP;
routing requested virtual channels to a user machine; and
displaying the content in the requested virtual channels on the user machine.
63. A method of delivering personalized broadband content, comprising:
receiving a plurality of virtual channels at a user machine, wherein each virtual channel comprises content;
filtering the plurality of virtual channels based on a user's personal profile;
displaying the filtered virtual channels in a GUI, wherein a virtual channel may be selected; and,
if a virtual channel is selected, displaying or storing content from the virtual channel.
64. The method of claim 63, further comprising receiving a control channel that includes information about the virtual channels, wherein the filtering step is also based on the control channel information.
65. The method of claim 63, wherein the content is stored in a user cache on the user machine.
66. A computer-readable medium comprising instructions for delivering personalized broadband content, by:
receiving a plurality of virtual channels at a user machine, wherein each virtual channel comprises content;
filtering the plurality of virtual channels based on a user's personal profile;
displaying the filtered virtual channels in a GUI, wherein a virtual channel may be selected; and,
if a virtual channel is selected, displaying or storing content from the virtual channel.
67. A system for delivering personalized broadband content, comprising:
a network operations center (“NOC”), comprising one or more servers, that receives content and promotional material and schedules the content for broadcast on virtual channels;
a transmission medium, operatively connected to the NOC, that transmits the virtual channels;
a point-of-presence (“POP”) client server that receives at least a subset of the virtual channels; and
a user machine, connected via a network to the POP client server, comprising client software that issues requests for virtual channels and processes the virtual channels to display the content and promotional materials on the user machine, wherein the POP client server routs virtual channels to the user machine based on the requests issued by the client software.
68. The system of claim 67, wherein the user machine comprises a user cache and the client software stores content from virtual channels in the user cache.
69. The system of claim 67, wherein the user machine includes a personal profile and the client software filters the virtual channels based on the client software, the client software further comprising:
a dynamic GUI that displays the filtered virtual channels so that a user may select content from the filtered virtual channels for viewing and/or storing.
70. The system of claim 67, wherein the promotional materials include e-commerce opportunities through which a user on the user machine makes a purchase and wherein the NOC further comprises:
an e-commerce router that intercepts the user purchase, records the user purchase, re-routs the user purchase to a provider of the e-commerce opportunity, and invoices the provider for the purchase.
71. The system of claim 67, wherein the promotional materials include an advertisement with hyper-links that is clicked by a user at the user machine and wherein the NOC further comprises:
an advertising portal server that intercepts the advertisement click of the user, records the advertisement click, re-routs the advertisement click to a provider of the advertisement, and invoices the provider for the advertisement click.
72. The system of claim 67, wherein the transmission medium is a satellite and the POP client server is located at a broadband ISP that receives the virtual channels via satellite.
US09/835,529 2000-04-17 2001-04-17 Channel dancer Abandoned US20020054087A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US09/835,529 US20020054087A1 (en) 2000-04-17 2001-04-17 Channel dancer
US11/039,849 US8799471B2 (en) 2000-04-17 2005-01-24 Method and system for delivering personalized broadband content

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US19768200P 2000-04-17 2000-04-17
US09/835,529 US20020054087A1 (en) 2000-04-17 2001-04-17 Channel dancer

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US11/039,849 Continuation US8799471B2 (en) 2000-04-17 2005-01-24 Method and system for delivering personalized broadband content

Publications (1)

Publication Number Publication Date
US20020054087A1 true US20020054087A1 (en) 2002-05-09

Family

ID=22730336

Family Applications (2)

Application Number Title Priority Date Filing Date
US09/835,529 Abandoned US20020054087A1 (en) 2000-04-17 2001-04-17 Channel dancer
US11/039,849 Expired - Fee Related US8799471B2 (en) 2000-04-17 2005-01-24 Method and system for delivering personalized broadband content

Family Applications After (1)

Application Number Title Priority Date Filing Date
US11/039,849 Expired - Fee Related US8799471B2 (en) 2000-04-17 2005-01-24 Method and system for delivering personalized broadband content

Country Status (3)

Country Link
US (2) US20020054087A1 (en)
AU (1) AU2001253535A1 (en)
WO (1) WO2001080565A2 (en)

Cited By (62)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020099564A1 (en) * 2001-01-19 2002-07-25 Lg Electronics Inc. Method of advertising and conducting electronic commercial transactions through a communication network
US20030037144A1 (en) * 2001-08-14 2003-02-20 International Business Machines Corporation Collaborative content programming
US20030035646A1 (en) * 2001-08-20 2003-02-20 Vat 19, Llc Digital video device having a verification code thereon and method of generating a verification code
US20030084126A1 (en) * 2001-10-27 2003-05-01 Senthil Kumar Media and advertisement distribution and tracking system and method of operation thereof
US20030083940A1 (en) * 2001-10-27 2003-05-01 Real Image Media Technologies (P) Ltd. Remotely configurable media and advertisement player and methods of manufacture and operation thereof
US20040117828A1 (en) * 2002-12-16 2004-06-17 Parker Benjamin James Method and system for providing customized media content
US20040133701A1 (en) * 2002-12-11 2004-07-08 Jeyhan Karaoguz Media processing system supporting adaptive digital media parameters based on end-user viewing capabilities
US20040139173A1 (en) * 2002-12-11 2004-07-15 Jeyhan Karaoguz Media processing system automatically offering access to newly available media in a media exchange network
US20040143760A1 (en) * 2003-01-21 2004-07-22 Alkove James M. Systems and methods for licensing one or more data streams from an encoded digital media file
US20040225519A1 (en) * 2002-06-25 2004-11-11 Martin Keith D. Intelligent music track selection
US20050138614A1 (en) * 2003-12-19 2005-06-23 Fuji Xerox Co., Ltd Methods and systems for extending existing user interfaces
WO2005101842A1 (en) * 2004-04-16 2005-10-27 Papaya Limited Programme content delivery
US20060014523A1 (en) * 2002-02-07 2006-01-19 Reilly Paul J Method and appratus for providing content to a mobile terminal
US20060026065A1 (en) * 2004-04-22 2006-02-02 Bolatti Hugo A Digital entertainment distribution system
US20060031381A1 (en) * 2002-07-24 2006-02-09 Koninklijke Philips Electrices N.V. Method and device for regulating file sharing
US20060036674A1 (en) * 2004-05-11 2006-02-16 Walden Chris S Broadcasting network and content delivery system
US20060047777A1 (en) * 2004-09-01 2006-03-02 International Business Machines Corporation Enhancing portlet run-time display with dynamically applied portlet skins
US20060077921A1 (en) * 2004-10-07 2006-04-13 Sbc Knowledge Ventures, L.P. System and method for providing digital network access and digital broadcast services using combined channels on a single physical medium to the customer premises
US20060104237A1 (en) * 2004-11-13 2006-05-18 Lg Electronics Inc. Channel management for mobile multimedia terminal
US20060115084A1 (en) * 2004-11-19 2006-06-01 Lg Electronics Inc. Conditional access for a multimedia broadcast service using a wireless terminal
US20060195888A1 (en) * 2005-02-28 2006-08-31 France Telecom System and method for managing virtual user domains
US20060206716A1 (en) * 2005-03-04 2006-09-14 Nagaraj Thadi M Methods and apparatus for providing a control channel in a data network
US20070291747A1 (en) * 2006-06-19 2007-12-20 Stern Benjamin J Method and system for user to user targeted advertising
US20080256592A1 (en) * 2007-04-12 2008-10-16 Microsoft Corporation Managing Digital Rights for Multiple Assets in an Envelope
US20080256646A1 (en) * 2007-04-12 2008-10-16 Microsoft Corporation Managing Digital Rights in a Member-Based Domain Architecture
US7454509B2 (en) * 1999-11-10 2008-11-18 Yahoo! Inc. Online playback system with community bias
US20080310408A1 (en) * 2007-06-13 2008-12-18 Phil Thompson Internet Protocol Television
US20090099911A1 (en) * 2007-10-11 2009-04-16 Sony Corporation Systems and Methods for Managing Advertising Content Corresponding to Streaming Media Content
US20090125413A1 (en) * 2007-10-09 2009-05-14 Firstpaper Llc Systems, methods and apparatus for content distribution
US7711838B1 (en) * 1999-11-10 2010-05-04 Yahoo! Inc. Internet radio and broadcast method
US7716714B2 (en) 2004-12-01 2010-05-11 At&T Intellectual Property I, L.P. System and method for recording television content at a set top box
US7873102B2 (en) 2005-07-27 2011-01-18 At&T Intellectual Property I, Lp Video quality testing by encoding aggregated clips
US7908621B2 (en) 2003-10-29 2011-03-15 At&T Intellectual Property I, L.P. System and apparatus for local video distribution
US7908627B2 (en) 2005-06-22 2011-03-15 At&T Intellectual Property I, L.P. System and method to provide a unified video signal for diverse receiving platforms
US8054849B2 (en) 2005-05-27 2011-11-08 At&T Intellectual Property I, L.P. System and method of managing video content streams
CN102299955A (en) * 2010-06-28 2011-12-28 三星电子株式会社 Image device, receiving method of contents, server and providing method of contents
US8190688B2 (en) 2005-07-11 2012-05-29 At&T Intellectual Property I, Lp System and method of transmitting photographs from a set top box
US8214859B2 (en) 2005-02-14 2012-07-03 At&T Intellectual Property I, L.P. Automatic switching between high definition and standard definition IP television signals
US8228224B2 (en) 2005-02-02 2012-07-24 At&T Intellectual Property I, L.P. System and method of using a remote control and apparatus
US8282476B2 (en) 2005-06-24 2012-10-09 At&T Intellectual Property I, L.P. Multimedia-based video game distribution
US8365218B2 (en) 2005-06-24 2013-01-29 At&T Intellectual Property I, L.P. Networked television and method thereof
US8390744B2 (en) 2004-12-06 2013-03-05 At&T Intellectual Property I, L.P. System and method of displaying a video stream
US20130070914A1 (en) * 2005-07-26 2013-03-21 Microsoft Corporation Augmenting a call with context
US8434116B2 (en) 2004-12-01 2013-04-30 At&T Intellectual Property I, L.P. Device, system, and method for managing television tuners
US8458040B2 (en) * 2010-08-13 2013-06-04 Cox Communications, Inc. Systems and methods for managing rights to broadband content
US20130291012A1 (en) * 2006-07-21 2013-10-31 Say Media, Inc. System and Method for Interaction Prompt Initiated Video Advertising
US8584257B2 (en) 2004-08-10 2013-11-12 At&T Intellectual Property I, L.P. Method and interface for video content acquisition security on a set-top box
US8635659B2 (en) 2005-06-24 2014-01-21 At&T Intellectual Property I, L.P. Audio receiver modular card and method thereof
US20140250446A1 (en) * 2011-05-31 2014-09-04 Alcatel Lucent Method for authorising
US8893199B2 (en) 2005-06-22 2014-11-18 At&T Intellectual Property I, L.P. System and method of managing video content delivery
US20140351586A1 (en) * 2012-02-20 2014-11-27 Lock Box Pty Ltd Cryptographic method and system
US8904458B2 (en) 2004-07-29 2014-12-02 At&T Intellectual Property I, L.P. System and method for pre-caching a first portion of a video file on a set-top box
US20160191955A1 (en) * 2014-12-15 2016-06-30 Cable Television Laboratories, Inc. Software defined networking in a cable tv system
US9547650B2 (en) 2000-01-24 2017-01-17 George Aposporos System for sharing and rating streaming media playlists
US9607321B2 (en) 2006-07-21 2017-03-28 Microsoft Technology Licensing, Llc Fixed position interactive advertising
US9760911B2 (en) 2006-07-21 2017-09-12 Microsoft Technology Licensing, Llc Non-expanding interactive advertisement
US9805374B2 (en) 2007-04-12 2017-10-31 Microsoft Technology Licensing, Llc Content preview
US10134062B2 (en) 2006-07-21 2018-11-20 Microsoft Technology Licensing, Llc Fixed position multi-state interactive advertisement
US10567833B2 (en) * 2014-05-30 2020-02-18 Sony Corporation Reception apparatus, reception method, transmission apparatus and transmission method
US11010799B2 (en) * 2007-01-25 2021-05-18 Transoft (Shanghai) Inc. Generalized application virtualization method for business use on the web and the mini server using this method
US11490166B2 (en) * 2019-12-26 2022-11-01 Sling TV L.L.C. Systems and methods for program source display
US11496803B2 (en) * 2019-02-08 2022-11-08 Hulu, LLC Video stream switching service

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4766770B2 (en) * 2000-06-13 2011-09-07 パナソニック株式会社 Storage broadcast service system and reception storage device
US20030126611A1 (en) * 2001-12-28 2003-07-03 International Business Machines Corporation Methods and apparatus for controlling interactive television information and commerce services
JP2003249057A (en) * 2002-02-26 2003-09-05 Toshiba Corp Enhanced navigation system using digital information medium
KR20100102241A (en) * 2002-09-18 2010-09-20 엔디에스 리미티드 System for multimedia viewing based on entitlements
US20060294547A1 (en) * 2003-09-05 2006-12-28 Bon Bjorn J M System and method for forced commercial viewing
DE10353975A1 (en) * 2003-11-19 2005-05-25 Siemens Ag User specific information transmitting method e.g. for broadcasting system, involves indicating first program with second program selected on basis of stored user profile and broadcast end mechanism provided
WO2006023934A1 (en) * 2004-08-20 2006-03-02 Warner Bros. Entertainment Inc. Video delivery system and related method
US20190278560A1 (en) 2004-10-27 2019-09-12 Chestnut Hill Sound, Inc. Media appliance with auxiliary source module docking and fail-safe alarm modes
US7885622B2 (en) * 2004-10-27 2011-02-08 Chestnut Hill Sound Inc. Entertainment system with bandless tuning
US20060259852A1 (en) * 2005-05-11 2006-11-16 Manish Upendran System, method and framework for universal access to content and services
US8095642B1 (en) 2005-11-16 2012-01-10 Sprint Spectrum L.P. Method and apparatus for dynamically adjusting frequency of background-downloads
US8577732B1 (en) 2005-11-16 2013-11-05 Sprint Spectrum L.P. Method and system for providing custom background-downloads
US7711806B1 (en) 2005-11-16 2010-05-04 Sprint Spectrum L.P. Method for dynamically adjusting frequency of content transmissions to a communication device
US7890119B2 (en) * 2006-05-23 2011-02-15 Sprint Spectrum L.P. Dynamic selection of user plane or control plane or control plane for location determination
US20080176618A1 (en) * 2007-01-19 2008-07-24 Waterleaf Limited Method and System for Presenting Electronic Casino Games to a Player
US9083938B2 (en) 2007-02-26 2015-07-14 Sony Computer Entertainment America Llc Media player with networked playback control and advertisement insertion
US20100083307A1 (en) * 2007-02-26 2010-04-01 Sony Computer Entertainment America Inc. Media player with networked playback control and advertisement insertion
US9183753B2 (en) * 2007-02-26 2015-11-10 Sony Computer Entertainment America Llc Variation and control of sensory work playback
US20080232561A1 (en) * 2007-03-20 2008-09-25 Microsoft Corporation Advertising funded data access services
EP2156316A4 (en) * 2007-05-07 2013-03-06 Fourthwall Media Inc Providing personalized resources on-demand over a broadband network to consumer device applications
FR2925197A1 (en) * 2007-12-17 2009-06-19 Alcatel Lucent Sas METHOD FOR BROADCASTING PERSONALIZED INFORMATION OVER AN IPTV NETWORK DEVICE FOR IMPLEMENTING THIS METHOD
US20120131120A1 (en) * 2008-08-13 2012-05-24 Mediawave International Corporation Systems and methods for provision of content data
US20110078276A1 (en) * 2009-09-28 2011-03-31 Johnston J Mark Method of Scalable Web Financing By Micropayments
WO2015075729A1 (en) * 2013-11-20 2015-05-28 Madhavrao Naik Atul System for deployment of value-added services over digital broadcast cable
US20170019711A1 (en) * 2015-07-13 2017-01-19 International Business Machines Corporation Multiplexing targeted advertisements
US20170085931A1 (en) * 2015-09-22 2017-03-23 Samsung Electronics Co., Ltd. Electronic apparatus and method for providing content thereof
KR20170035309A (en) * 2015-09-22 2017-03-30 삼성전자주식회사 Electronic apparatus and Method for providing a content thereof
US20180227619A1 (en) * 2017-02-03 2018-08-09 Li Tv Taiwan Inc. Multimedia server, user device, and computer readable medium for broadcasting programs on-demand with virtual channels

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6216141B1 (en) * 1996-12-06 2001-04-10 Microsoft Corporation System and method for integrating a document into a desktop window on a client computer
US6571279B1 (en) * 1997-12-05 2003-05-27 Pinpoint Incorporated Location enhanced information delivery system
US6605120B1 (en) * 1998-12-10 2003-08-12 International Business Machines Corporation Filter definition for distribution mechanism for filtering, formatting and reuse of web based content
US6636242B2 (en) * 1999-08-31 2003-10-21 Accenture Llp View configurer in a presentation services patterns environment
US6665642B2 (en) * 2000-11-29 2003-12-16 Ibm Corporation Transcoding system and method for improved access by users with special needs
US6694482B1 (en) * 1998-09-11 2004-02-17 Sbc Technology Resources, Inc. System and methods for an architectural framework for design of an adaptive, personalized, interactive content delivery system

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010013123A1 (en) * 1991-11-25 2001-08-09 Freeman Michael J. Customized program creation by splicing server based video, audio, or graphical segments
US6850252B1 (en) * 1999-10-05 2005-02-01 Steven M. Hoffberg Intelligent electronic appliance system and method
US6463585B1 (en) * 1992-12-09 2002-10-08 Discovery Communications, Inc. Targeted advertisement using television delivery systems
US20020032907A1 (en) * 1993-03-29 2002-03-14 Daniels John J. Initiating record from an electronic programming schedule
US5608446A (en) * 1994-03-31 1997-03-04 Lucent Technologies Inc. Apparatus and method for combining high bandwidth and low bandwidth data transfer
US5818438A (en) * 1995-04-25 1998-10-06 Bellsouth Corporation System and method for providing television services
US5801753A (en) * 1995-08-11 1998-09-01 General Instrument Corporation Of Delaware Method and apparatus for providing an interactive guide to events available on an information network
US6018768A (en) * 1996-03-08 2000-01-25 Actv, Inc. Enhanced video programming system and method for incorporating and displaying retrieved integrated internet information segments
US6177931B1 (en) * 1996-12-19 2001-01-23 Index Systems, Inc. Systems and methods for displaying and recording control interface with television programs, video, advertising information and program scheduling information
US6005565A (en) * 1997-03-25 1999-12-21 Sony Corporation Integrated search of electronic program guide, internet and other information resources
DE69808080T2 (en) * 1997-06-02 2003-08-07 Sony Electronics Inc PRESENTATION OF INTERNET INFORMATION AND TELEVISION PROGRAMS
US20030040962A1 (en) * 1997-06-12 2003-02-27 Lewis William H. System and data management and on-demand rental and purchase of digital data products
IL121230A (en) * 1997-07-03 2004-05-12 Nds Ltd Intelligent electronic program guide
US6057872A (en) * 1997-07-09 2000-05-02 General Instrument Corporation Digital coupons for pay televisions
IL122194A0 (en) * 1997-11-13 1998-06-15 Scidel Technologies Ltd Method and apparatus for personalized images inserted into a video stream
US7032236B1 (en) * 1998-02-20 2006-04-18 Thomson Licensing Multimedia system for processing program guides and associated multimedia objects
US6898762B2 (en) * 1998-08-21 2005-05-24 United Video Properties, Inc. Client-server electronic program guide
US6564380B1 (en) * 1999-01-26 2003-05-13 Pixelworld Networks, Inc. System and method for sending live video on the internet
US6792615B1 (en) * 1999-05-19 2004-09-14 New Horizons Telecasting, Inc. Encapsulated, streaming media automation and distribution system
US6421067B1 (en) * 2000-01-16 2002-07-16 Isurftv Electronic programming guide
US6434747B1 (en) * 2000-01-19 2002-08-13 Individual Network, Inc. Method and system for providing a customized media list
US7106338B1 (en) * 2000-03-16 2006-09-12 Eagle New Media Investments, Llc Method and system for optimal usage of memory for storing scheduling and guiding data in 3D-enabled EPG

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6216141B1 (en) * 1996-12-06 2001-04-10 Microsoft Corporation System and method for integrating a document into a desktop window on a client computer
US6571279B1 (en) * 1997-12-05 2003-05-27 Pinpoint Incorporated Location enhanced information delivery system
US6694482B1 (en) * 1998-09-11 2004-02-17 Sbc Technology Resources, Inc. System and methods for an architectural framework for design of an adaptive, personalized, interactive content delivery system
US6605120B1 (en) * 1998-12-10 2003-08-12 International Business Machines Corporation Filter definition for distribution mechanism for filtering, formatting and reuse of web based content
US6636242B2 (en) * 1999-08-31 2003-10-21 Accenture Llp View configurer in a presentation services patterns environment
US6665642B2 (en) * 2000-11-29 2003-12-16 Ibm Corporation Transcoding system and method for improved access by users with special needs

Cited By (107)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7454509B2 (en) * 1999-11-10 2008-11-18 Yahoo! Inc. Online playback system with community bias
US7711838B1 (en) * 1999-11-10 2010-05-04 Yahoo! Inc. Internet radio and broadcast method
US9779095B2 (en) 2000-01-24 2017-10-03 George Aposporos User input-based play-list generation and playback system
US10318647B2 (en) 2000-01-24 2019-06-11 Bluebonnet Internet Media Services, Llc User input-based play-list generation and streaming media playback system
US9547650B2 (en) 2000-01-24 2017-01-17 George Aposporos System for sharing and rating streaming media playlists
US20020099564A1 (en) * 2001-01-19 2002-07-25 Lg Electronics Inc. Method of advertising and conducting electronic commercial transactions through a communication network
US7318036B2 (en) * 2001-01-19 2008-01-08 Lg Electronics Inc. Method of advertising and conducting electronic commercial transactions through a communication network
US20030037144A1 (en) * 2001-08-14 2003-02-20 International Business Machines Corporation Collaborative content programming
US20030035646A1 (en) * 2001-08-20 2003-02-20 Vat 19, Llc Digital video device having a verification code thereon and method of generating a verification code
US20030083940A1 (en) * 2001-10-27 2003-05-01 Real Image Media Technologies (P) Ltd. Remotely configurable media and advertisement player and methods of manufacture and operation thereof
US8554616B2 (en) * 2001-10-27 2013-10-08 Real Image Media Technologies, Ltd. Remotely configurable media and advertisement player and methods of manufacture and operation thereof
US7353270B2 (en) * 2001-10-27 2008-04-01 Real Image Media Technologies (P) Ltd. Media and advertisement distribution and tracking system and method of operation thereof
US20030084126A1 (en) * 2001-10-27 2003-05-01 Senthil Kumar Media and advertisement distribution and tracking system and method of operation thereof
US20080153468A1 (en) * 2002-02-07 2008-06-26 Qualcomm Cambridge Limited Method and apparatus for providing updated content data to a mobile terminal
US20060014523A1 (en) * 2002-02-07 2006-01-19 Reilly Paul J Method and appratus for providing content to a mobile terminal
US7363035B2 (en) * 2002-02-07 2008-04-22 Qualcomm Incorporated Method and apparatus for providing content to a mobile terminal
US8428564B2 (en) 2002-02-07 2013-04-23 Qualcomm Incorporated Method and apparatus for providing updated content data to a mobile terminal
US20040225519A1 (en) * 2002-06-25 2004-11-11 Martin Keith D. Intelligent music track selection
US20060031381A1 (en) * 2002-07-24 2006-02-09 Koninklijke Philips Electrices N.V. Method and device for regulating file sharing
US8661489B2 (en) 2002-12-11 2014-02-25 Broadcom Corporation Media processing system supporting adaptive digital media parameters based on end-user viewing capabilities
US8028093B2 (en) 2002-12-11 2011-09-27 Broadcom Corporation Media processing system supporting adaptive digital media parameters based on end-user viewing capabilities
US20040133701A1 (en) * 2002-12-11 2004-07-08 Jeyhan Karaoguz Media processing system supporting adaptive digital media parameters based on end-user viewing capabilities
US20040139173A1 (en) * 2002-12-11 2004-07-15 Jeyhan Karaoguz Media processing system automatically offering access to newly available media in a media exchange network
WO2004062289A1 (en) * 2002-12-16 2004-07-22 Sprint Communications Company L.P. Method and system for providing customized media content
US20040117828A1 (en) * 2002-12-16 2004-06-17 Parker Benjamin James Method and system for providing customized media content
US8893174B2 (en) 2002-12-16 2014-11-18 Centurylink Intellectual Property Llc Method and system for providing customized media content
US20040143760A1 (en) * 2003-01-21 2004-07-22 Alkove James M. Systems and methods for licensing one or more data streams from an encoded digital media file
US7581255B2 (en) * 2003-01-21 2009-08-25 Microsoft Corporation Systems and methods for licensing one or more data streams from an encoded digital media file
US7908621B2 (en) 2003-10-29 2011-03-15 At&T Intellectual Property I, L.P. System and apparatus for local video distribution
US8843970B2 (en) 2003-10-29 2014-09-23 Chanyu Holdings, Llc Video distribution systems and methods for multiple users
US7823070B2 (en) * 2003-12-19 2010-10-26 Fuji Xerox Co., Ltd. Methods and systems for extending existing user interfaces
US20050138614A1 (en) * 2003-12-19 2005-06-23 Fuji Xerox Co., Ltd Methods and systems for extending existing user interfaces
WO2005101842A1 (en) * 2004-04-16 2005-10-27 Papaya Limited Programme content delivery
US20060026065A1 (en) * 2004-04-22 2006-02-02 Bolatti Hugo A Digital entertainment distribution system
US20060036674A1 (en) * 2004-05-11 2006-02-16 Walden Chris S Broadcasting network and content delivery system
US9521452B2 (en) 2004-07-29 2016-12-13 At&T Intellectual Property I, L.P. System and method for pre-caching a first portion of a video file on a media device
US8904458B2 (en) 2004-07-29 2014-12-02 At&T Intellectual Property I, L.P. System and method for pre-caching a first portion of a video file on a set-top box
US8584257B2 (en) 2004-08-10 2013-11-12 At&T Intellectual Property I, L.P. Method and interface for video content acquisition security on a set-top box
US20060047777A1 (en) * 2004-09-01 2006-03-02 International Business Machines Corporation Enhancing portlet run-time display with dynamically applied portlet skins
US8086261B2 (en) 2004-10-07 2011-12-27 At&T Intellectual Property I, L.P. System and method for providing digital network access and digital broadcast services using combined channels on a single physical medium to the customer premises
US20060077921A1 (en) * 2004-10-07 2006-04-13 Sbc Knowledge Ventures, L.P. System and method for providing digital network access and digital broadcast services using combined channels on a single physical medium to the customer premises
US20060104237A1 (en) * 2004-11-13 2006-05-18 Lg Electronics Inc. Channel management for mobile multimedia terminal
US8355362B2 (en) * 2004-11-13 2013-01-15 Lg Electronics Inc. Channel management for mobile multimedia terminal
US20060115084A1 (en) * 2004-11-19 2006-06-01 Lg Electronics Inc. Conditional access for a multimedia broadcast service using a wireless terminal
US8190896B2 (en) * 2004-11-19 2012-05-29 Lg Electronics Inc. Conditional access for a multimedia broadcast service using a wireless terminal
US8434116B2 (en) 2004-12-01 2013-04-30 At&T Intellectual Property I, L.P. Device, system, and method for managing television tuners
US7716714B2 (en) 2004-12-01 2010-05-11 At&T Intellectual Property I, L.P. System and method for recording television content at a set top box
US8839314B2 (en) 2004-12-01 2014-09-16 At&T Intellectual Property I, L.P. Device, system, and method for managing television tuners
US9571702B2 (en) 2004-12-06 2017-02-14 At&T Intellectual Property I, L.P. System and method of displaying a video stream
US8390744B2 (en) 2004-12-06 2013-03-05 At&T Intellectual Property I, L.P. System and method of displaying a video stream
US8228224B2 (en) 2005-02-02 2012-07-24 At&T Intellectual Property I, L.P. System and method of using a remote control and apparatus
US8214859B2 (en) 2005-02-14 2012-07-03 At&T Intellectual Property I, L.P. Automatic switching between high definition and standard definition IP television signals
US20060195888A1 (en) * 2005-02-28 2006-08-31 France Telecom System and method for managing virtual user domains
US7765583B2 (en) * 2005-02-28 2010-07-27 France Telecom System and method for managing virtual user domains
US20100269160A1 (en) * 2005-02-28 2010-10-21 France Telecom System and method for managing virtual user domains
US7587752B2 (en) * 2005-03-04 2009-09-08 Qualcomm Incorporated Methods and apparatus for providing a control channel in a data network
US20100005164A1 (en) * 2005-03-04 2010-01-07 Qualcomm Incorporated Methods and apparatus for providing a control channel in a data network
US20060206716A1 (en) * 2005-03-04 2006-09-14 Nagaraj Thadi M Methods and apparatus for providing a control channel in a data network
US8054849B2 (en) 2005-05-27 2011-11-08 At&T Intellectual Property I, L.P. System and method of managing video content streams
US9178743B2 (en) 2005-05-27 2015-11-03 At&T Intellectual Property I, L.P. System and method of managing video content streams
US7908627B2 (en) 2005-06-22 2011-03-15 At&T Intellectual Property I, L.P. System and method to provide a unified video signal for diverse receiving platforms
US9338490B2 (en) 2005-06-22 2016-05-10 At&T Intellectual Property I, L.P. System and method to provide a unified video signal for diverse receiving platforms
US8966563B2 (en) 2005-06-22 2015-02-24 At&T Intellectual Property, I, L.P. System and method to provide a unified video signal for diverse receiving platforms
US10085054B2 (en) 2005-06-22 2018-09-25 At&T Intellectual Property System and method to provide a unified video signal for diverse receiving platforms
US8893199B2 (en) 2005-06-22 2014-11-18 At&T Intellectual Property I, L.P. System and method of managing video content delivery
US9278283B2 (en) 2005-06-24 2016-03-08 At&T Intellectual Property I, L.P. Networked television and method thereof
US8535151B2 (en) 2005-06-24 2013-09-17 At&T Intellectual Property I, L.P. Multimedia-based video game distribution
US8365218B2 (en) 2005-06-24 2013-01-29 At&T Intellectual Property I, L.P. Networked television and method thereof
US8282476B2 (en) 2005-06-24 2012-10-09 At&T Intellectual Property I, L.P. Multimedia-based video game distribution
US8635659B2 (en) 2005-06-24 2014-01-21 At&T Intellectual Property I, L.P. Audio receiver modular card and method thereof
US8190688B2 (en) 2005-07-11 2012-05-29 At&T Intellectual Property I, Lp System and method of transmitting photographs from a set top box
US9031208B2 (en) * 2005-07-26 2015-05-12 Microsoft Technology Licensing, Llc Augmenting a call with context
US20130070914A1 (en) * 2005-07-26 2013-03-21 Microsoft Corporation Augmenting a call with context
US9167241B2 (en) 2005-07-27 2015-10-20 At&T Intellectual Property I, L.P. Video quality testing by encoding aggregated clips
US7873102B2 (en) 2005-07-27 2011-01-18 At&T Intellectual Property I, Lp Video quality testing by encoding aggregated clips
US20070291747A1 (en) * 2006-06-19 2007-12-20 Stern Benjamin J Method and system for user to user targeted advertising
US9607321B2 (en) 2006-07-21 2017-03-28 Microsoft Technology Licensing, Llc Fixed position interactive advertising
US10726452B2 (en) 2006-07-21 2020-07-28 Microsoft Technology Licensing, Llc Non-expanding interactive advertisement
US20130291012A1 (en) * 2006-07-21 2013-10-31 Say Media, Inc. System and Method for Interaction Prompt Initiated Video Advertising
US10134062B2 (en) 2006-07-21 2018-11-20 Microsoft Technology Licensing, Llc Fixed position multi-state interactive advertisement
US9760911B2 (en) 2006-07-21 2017-09-12 Microsoft Technology Licensing, Llc Non-expanding interactive advertisement
US11010799B2 (en) * 2007-01-25 2021-05-18 Transoft (Shanghai) Inc. Generalized application virtualization method for business use on the web and the mini server using this method
US11257099B2 (en) 2007-04-12 2022-02-22 Microsoft Technology Licensing, Llc Content preview
US8539543B2 (en) 2007-04-12 2013-09-17 Microsoft Corporation Managing digital rights for multiple assets in an envelope
US20080256646A1 (en) * 2007-04-12 2008-10-16 Microsoft Corporation Managing Digital Rights in a Member-Based Domain Architecture
US20080256592A1 (en) * 2007-04-12 2008-10-16 Microsoft Corporation Managing Digital Rights for Multiple Assets in an Envelope
US9805374B2 (en) 2007-04-12 2017-10-31 Microsoft Technology Licensing, Llc Content preview
US20080310408A1 (en) * 2007-06-13 2008-12-18 Phil Thompson Internet Protocol Television
US20090125413A1 (en) * 2007-10-09 2009-05-14 Firstpaper Llc Systems, methods and apparatus for content distribution
US20090099911A1 (en) * 2007-10-11 2009-04-16 Sony Corporation Systems and Methods for Managing Advertising Content Corresponding to Streaming Media Content
CN102299955A (en) * 2010-06-28 2011-12-28 三星电子株式会社 Image device, receiving method of contents, server and providing method of contents
US9794633B2 (en) * 2010-06-28 2017-10-17 Samsung Electronics Co., Ltd. Image device, receiving method of contents, server and providing method of contents
US20110321081A1 (en) * 2010-06-28 2011-12-29 Samsung Electronics Co., Ltd. Image device, receiving method of contents, server and providing method of contents
EP2400445A3 (en) * 2010-06-28 2012-05-23 Samsung Electronics Co., Ltd. Image device, receiving method of contents, server and providing method of contents
US8458040B2 (en) * 2010-08-13 2013-06-04 Cox Communications, Inc. Systems and methods for managing rights to broadband content
US8788361B2 (en) 2010-08-13 2014-07-22 Cox Communications, Inc. Systems and methods for managing rights to broadband content
US20140250446A1 (en) * 2011-05-31 2014-09-04 Alcatel Lucent Method for authorising
US20140351586A1 (en) * 2012-02-20 2014-11-27 Lock Box Pty Ltd Cryptographic method and system
US10567833B2 (en) * 2014-05-30 2020-02-18 Sony Corporation Reception apparatus, reception method, transmission apparatus and transmission method
US11172250B2 (en) 2014-05-30 2021-11-09 Saturn Licensing Llc Reception apparatus, reception method, transmission apparatus and transmission method
US20160191955A1 (en) * 2014-12-15 2016-06-30 Cable Television Laboratories, Inc. Software defined networking in a cable tv system
US10979741B2 (en) 2014-12-15 2021-04-13 Cable Television Laboratories, Inc. Software defined networking methods
US11245934B1 (en) 2014-12-15 2022-02-08 Cable Television Laboratories, Inc. Software defined networking
US9628828B2 (en) * 2014-12-15 2017-04-18 Cable Television Laboratories, Inc. Software defined networking in a cable TV system
US11818402B1 (en) * 2014-12-15 2023-11-14 Cable Television Laboratories, Inc. Software defined networking
US11496803B2 (en) * 2019-02-08 2022-11-08 Hulu, LLC Video stream switching service
US11490166B2 (en) * 2019-12-26 2022-11-01 Sling TV L.L.C. Systems and methods for program source display

Also Published As

Publication number Publication date
US20050132295A1 (en) 2005-06-16
WO2001080565A3 (en) 2002-04-11
WO2001080565A2 (en) 2001-10-25
US8799471B2 (en) 2014-08-05
AU2001253535A1 (en) 2001-10-30

Similar Documents

Publication Publication Date Title
US8799471B2 (en) Method and system for delivering personalized broadband content
US8468099B2 (en) Digital entertainment service platform
US10506299B2 (en) Media player configuration to provide viewing data feedback
US9641909B2 (en) Audio/video advertising network
US20180131905A1 (en) Request for information related to broadcast network content
US8516515B2 (en) Impression based television advertising
US8997150B2 (en) Method and apparatus for permitting user interruption of an advertisement and the substitution of alternate advertisement version
US11109114B2 (en) Advertisement management method, system, and computer program product
WO2001093161A1 (en) Online multimedia system and method
US9202224B2 (en) Providing a survey during an advertisement opportunity to improve advertising experience
US20020007313A1 (en) Credit system
US20090150219A1 (en) Systems and methods for delivering media content
US20120331098A1 (en) Behavioral networking systems and methods for facilitating delivery of targeted content
US20120110620A1 (en) Method and apparatus for user selection of advertising combinations
US20090006187A1 (en) Profile based advertising method for out-of-line advertising delivery
US20020069132A1 (en) Cross technology monitoring, profiling and predictive caching method and system
WO2008157401A1 (en) Internet protocol television
US20090006197A1 (en) Profile based advertising method for out-of-line advertising delivery
AU2008242564A1 (en) Ad serving system, apparatus and methologies used therein
JP4338510B2 (en) Video content distribution apparatus and system
US20050044560A1 (en) Methods, data structures, and systems for monitoring and integrating media streams
US20120233637A1 (en) Methods and systems for flexible video on demand

Legal Events

Date Code Title Description
AS Assignment

Owner name: CACHESTREAM CORP., GEORGIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:NOLL, ROLAND;MAI, KHAHN;GRIMES, TOM;REEL/FRAME:011715/0970

Effective date: 20010417

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION

AS Assignment

Owner name: ANDREWS KURTH LLP, DISTRICT OF COLUMBIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:GRIMES, TOM;MAI, KAHNH;REEL/FRAME:023490/0010

Effective date: 20091105

Owner name: ANDREW KURTH LLP, DISTRICT OF COLUMBIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:GRIMES, TOM;MAI, KHANH;REEL/FRAME:023512/0328;SIGNING DATES FROM 20091005 TO 20091105

Owner name: ANDREW KURTH LLP, DISTRICT OF COLUMBIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:GRIMES, TOM;MAI, KHANH;SIGNING DATES FROM 20091005 TO 20091105;REEL/FRAME:023512/0328