WO2001017256A1 - Video distribution system and method - Google Patents

Video distribution system and method Download PDF

Info

Publication number
WO2001017256A1
WO2001017256A1 PCT/US2000/023563 US0023563W WO0117256A1 WO 2001017256 A1 WO2001017256 A1 WO 2001017256A1 US 0023563 W US0023563 W US 0023563W WO 0117256 A1 WO0117256 A1 WO 0117256A1
Authority
WO
WIPO (PCT)
Prior art keywords
product related
user
product
request
data
Prior art date
Application number
PCT/US2000/023563
Other languages
French (fr)
Inventor
Matthew W. Kay
Matthew J. Laughlin
Colin P. Campbell
Original Assignee
Commerce Tv Corporation
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 Commerce Tv Corporation filed Critical Commerce Tv Corporation
Priority to AU69424/00A priority Critical patent/AU6942400A/en
Publication of WO2001017256A1 publication Critical patent/WO2001017256A1/en

Links

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/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • H04N21/23109Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion by placing content in organized collections, e.g. EPG data repository
    • 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/06Buying, selling or leasing transactions
    • 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/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • 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
    • 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/27Server based end-user applications
    • H04N21/274Storing end-user multimedia data in response to end-user request, e.g. network recorder
    • 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/431Generation of visual interfaces for content selection or interaction; Content or additional data rendering
    • H04N21/4312Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations
    • 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/431Generation of visual interfaces for content selection or interaction; Content or additional data rendering
    • H04N21/4312Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations
    • H04N21/4314Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations for fitting data in a restricted space on the screen, e.g. EPG data in a rectangular grid
    • 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/431Generation of visual interfaces for content selection or interaction; Content or additional data rendering
    • H04N21/4312Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations
    • H04N21/4316Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations for displaying supplemental content in a region of the screen, e.g. an advertisement in a separate window
    • 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/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
    • 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/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/4722End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting additional data associated with the content
    • 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/475End-user interface for inputting end-user data, e.g. personal identification number [PIN], preference data
    • H04N21/4753End-user interface for inputting end-user data, e.g. personal identification number [PIN], preference data for user identification, e.g. by entering a PIN or password
    • 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/475End-user interface for inputting end-user data, e.g. personal identification number [PIN], preference data
    • H04N21/4755End-user interface for inputting end-user data, e.g. personal identification number [PIN], preference data for defining user preferences, e.g. favourite actors or genre
    • 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/47815Electronic shopping
    • 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/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/643Communication protocols
    • 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/85Assembly of content; Generation of multimedia applications
    • H04N21/858Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot
    • H04N21/8586Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot by using a URL
    • 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
    • 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/422Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS]
    • H04N21/42204User interfaces specially adapted for controlling a client device through a remote control device; Remote control devices therefor
    • 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

Definitions

  • This invention relates to an interactive television commerce system.
  • the Internet is growing rapidly and is emerging as a significant interactive medium for entertainment, communications, research, education and e-commerce.
  • Internet access has historically required a personal computer, it may be desirable for consumers to receive electronic information and entertainment services through their television sets. Some consumers may have little need for a personal computer because it can be costly and difficult or complicated to use.
  • a television-based approach to e-commerce thus may be a better alternative for many consumers.
  • a digital broadband delivery system is an architecture currently being deployed by cable television system operators, referred to here as multiple system operators (MSO).
  • MSO multiple system operators
  • the terminology used here is essentially that of Scientific-Atlanta, Inc., but the components described could be used in other systems.
  • DBDS allows the MSOs to offer their subscribers digital content that looks better than cable transmitted analog programs, and allows more digital channels to run on the same cable wire (at least 8 times as many).
  • DBDS also offers two-way messaging between the cable network and set top boxes, allowing MSOs to offer customers interactive applications such as near video on demand and emaiL DBDS is designed as a client server network with client applications running on set top boxes that communicate with an application server that provides the content for the client applications.
  • DBDS has several components that work together to deliver these broadband digital services to consumers.
  • Analog set top boxes are replaced by digital set top boxes, referred to as digital home communications terminals (DHCTs).
  • DHCT digital home communications terminals
  • a DHCT is essentially a small network computer that provides a subscriber with the ability to run multiple applications. It also provides Internet protocol (IP) connectivity back to a server via a hybrid fiber coax (HFC) line wired to the subscriber's home to allow an application running on the DHCT to interact with the DBDS.
  • IP Internet protocol
  • HFC hybrid fiber coax
  • a digital network control system is a server, typically UNLX based, that controls the configuration of the entire DBDS, routine DBDS maintenance, SNMP monitoring, the broadcasting of data to the set tops, and the registering of additional applications that run on the DBDS.
  • One DNCS can currently handle up to two hundred thousand subscribers.
  • a broadcast file system is a component of the DNCS and is essentially a file system containing system data (such as DHCT configurations) and application data.
  • This file system is continuously broadcast in a carousel fashion over the DBDS via an inband data path (IDP) and an out-of-band data path (ODP).
  • IDP inband data path
  • ODP out-of-band data path
  • DHCTs can then access the BFS in much the same way that a PC accesses a hard drive.
  • the IDP is a 27 Mbps data channel that the DHCTs tune to, much like any other programming channel.
  • the path is physically provided by a broadband integrated gateway (BIG) and an inband quadrature amplitude modulator (QAM).
  • BIG broadband integrated gateway
  • QAM inband quadrature amplitude modulator
  • these pieces of hardware are employed to create a 27 Mbps path over which the BFS is continuously broadcast to the DHCTs.
  • the DHCT Once the DHCT is tuned to the data channel, it can read the BFS data carousel at this high speed. This is useful for loading a new application on the DHCT as well as in any situation where fast access to the BFS is required.
  • the IDP is one-way; no programming content can be received while the IDP data is being read.
  • the ODP is a data channel that can be accessed while programming content is being sent to the DHCT.
  • the two components that make up the ODP are a forward data channel (FDC) that broadcasts out to the DHCTs and a reverse data channel (RDC) that receives data from the DHCTs, both at Tl speed.
  • the FDC interface to the HFC is provided by a quaternary phase shift key (QPSK) modulator.
  • QPSK quaternary phase shift key
  • the RDC interface to the HFC is provided by a QPSK demodulator. In essence, this equipment functions as a modem to bridge the HFC to an Ethernet.component of the DBDS.
  • the FDC and RDC are used by server applications to communicate with the DHCTs.
  • Cable head end application servers reside on the same IP network as the DNCS, and provide a hardware platform for running server based software applications that will be provisioned to the DHCTs, such as near video on demand and email. Services that run in the DBDS have a component running on the application server and are registered with the DNCS.
  • CCN commerce control network
  • the invention includes an architecture that has client applications residing in individual set top boxes; a commerce transfer point (CTP), including at least one commerce application server (CAS) and at least one head end database server (HEDS); and a remote commerce control point (CCP) coupled to one or more CTPs.
  • CTP commerce transfer point
  • the commerce application server communicates between the client applications and the HEDS, which stores commerce control network data such as product and broadcast information.
  • the HEDS communicates with the CCP to transfer commerce control network data back and forth.
  • the CCP would typically be coupled to a number of HEDS, and the data in each HEDS would be periodically replicated in the CCP.
  • the system of the present invention can provide product information or a purchase screen for a list of products in a manner that may or may not be related to underlying broadcast content (programming).
  • the product information being related to the programming
  • the information can be provided to the user in response to a user input.
  • a user can press a certain key on the television remote control upon seeing an icon during programming and access an electronic buying guide with a purchase screen for products that are related to that programming.
  • the buying guide can also be provided in a manner unrelated to the programming in response to a user input from the remote control to enter a buying guide mode.
  • the products that are offered may be a standard product list, or they may be a list based on information about the particular user.
  • the information that is displayed may be on a translucent screen, on a screen that blocks part of the programming, or on a full screen.
  • the electronic buying guide preferably has a scrollable list of items, a detail window that shows an item in the list when the user has selected that item, and a video window that captures the programming, all displayed at the same time.
  • the system of the present invention also allows the user to select a product and store it in a server (such as in the HEDS) in a list that is personalized for the particular user and accessible so the personalized list can be retrieved at a later time by the user.
  • This accessible and personalized list in essence functions as a persistent shopping cart containing the user's favorite items.
  • the icon displayed with the programming can be scheduled to appear by the client application, or triggered by data provided in a broadcast signal, such as in a vertical blanking interval (VBI).
  • VBI vertical blanking interval
  • the system for providing the icon is synchronized in scheduling terms with the programming based on information provided by the head end database server.
  • the user makes an input in response to the icon, further information is accessed from a memory for display.
  • the icon and the information in memory are preferably decoupled such that the information can be modified separately, preferably in a manner that is accessible to the information provider.
  • Another feature of the system of the present invention is the ability to provide a call option so that the user can cause a telephone call to the user to be initiated by a product provider.
  • the system of the present invention may be used in a widely available television network, such as a cable television system or a satellite television system available over a wide area and to a very large number of users.
  • the system of the present invention is simple to operate, in that it is completely functional from a television remote control, and it provides enhancements to the traditional broadcast entertainment programming currently available through cable and satellite operators.
  • Fig. 1 is a block diagram of a commerce control network according to the present invention.
  • Fig. 2 is a software process diagram of the commerce applications server.
  • Fig. 3 is a software process diagram of a head end database server.
  • Fig. 4 is a block diagram of a commerce control point.
  • Figs. 5(a) - 5(d) are block diagrams of screen shots and portions of screen shots for the quick buy client application.
  • Figs. 6(a) - 6(0 are block diagrams of screen shots and portions of screen shots for the electronic buying guide application.
  • the present invention includes an interactive television commerce system, referred to as a commerce control network (CCN) 10, in a interactive television system, such a cable television system described above or a satellite television system, that is widely available to a large number of users, e.g., over a metropolitan area.
  • CCN 10 allows TV users to select, purchase, gain additional information about, and store information relating to products using a simple and convenient menu-based user interface.
  • the system can provide product lists that may or may not be customized based on a particular channel and/or program being watched, or the product lists or other information can be tailored for the individual user.
  • the order can be processed by the system, the user's credit card may be billed, inventory may be updated, and the order may then be forwarded to a warehouse for shipment.
  • the order can be processed by the system and then forwarded to an appropriate third-party vendor for billing and fulfillment. In the latter instance, periodic status updates on the order may be provided by the vender to the system.
  • the system/ referred to here as an electronic buying guide (EBG) J is not strictly limited to "buying,” but can also include obtaining product information and samples.
  • CCN 10 of the present invention has a three-tiered architecture with client applications 12, a commerce transfer point (CTP) 22, and a commerce control point (CCP) 24.
  • CTP commerce transfer point
  • CCP commerce control point
  • Client application 12 runs in a set top box (STB) 18 on a set top operating system (OS), such as the PowerTV Set Top OS, which is currently being provided with a Scientific- Atlanta DHCT, or on top of a Windows CE OS.
  • OS set top operating system
  • client application 12 may be created using a PowerTV development kit.
  • the PowerTV OS provides a full- eatured application programming interface (API) that allows a developer to isolate the application code from the hardware level of the set top box.
  • API application programming interface
  • Client application 12 provides the user with a convenient user interface that is controllable by the user with a standard STB remote control to allow viewing, purchasing, or obtaining information about products, and provides messaging to and from the CTP with which it communicates.
  • the functionality to call the client application is built into a variety of resident applications provided by third party vendors and running on STB 18. The viewer can thus access the application via a remote control button while watching TV.
  • set top box is meant broadly to include a processing functionality with a television; that functionality could be integrated into the television itself, for example, and thus need not be literally in a separate standalone "box.”
  • a client application executable is loaded onto STB 18 by a digital communications network (DCN) 26 when a resident application in the STB determines that the user has tuned to a channel that is configured to run the client application.
  • DCN digital communications network
  • CTP 22 includes one or more commerce application servers (CAS) 16, each in communication with a number of set top boxes; one or more head end database servers (HEDS) 14, each connected to one or more CASs; a private Ethernet network for connecting CASs and HEDSs; and a private wide-area network connection 21 for communication with CCP 24.
  • CTP 22 handles all of the requests from the client applications 12, and serves as a data conduit to CCP 24.
  • the CTP is preferably located at the cable head end.
  • CAS 16 is responsible for registering CTP 22 for use within the DCN of the local MSO, and for providing client application 12 to DCN 26 for distribution to set top boxes 18.
  • the CAS also serves as the point of communication between client applications 12 and HEDS 14, and thus CAS 16 handles all client application 12 requests and forwards them to HEDS 14.
  • the number of CAS 16 machines may be set as needed based on the number of STBs 18.
  • CAS 16 is preferably implemented by a small server, such as a Compaq Proliant Model 1600R running Windows NT, preferably with message queuing software such as Microsoft Message Queue (MSMQ).
  • CAS 16 utilizes at least one Ethernet card to access HEDS 14 and at least one asynchronous transfer mode (ATM) card to access DCN 26 via an ATM switch, such as a Xylan ATM switch.
  • ATM asynchronous transfer mode
  • the system can have one more CAS 16 than is needed to handle usage so that in the event of a failure of one CAS, the overall system will still handle the full processing load.
  • CAS 16 has three components implemented in software: socket server process 200, which manages the client TCP IP connections; message queuing component 202, which provides the message queuing functionality; and database process 204, which processes client requests and provides database access.
  • socket server process 200 which manages the client TCP IP connections
  • message queuing component 202 which provides the message queuing functionality
  • database process 204 which processes client requests and provides database access.
  • Socket server process 200 has at least two functions: a receive service, ServerRX 206, and a transmit service, ServerTX 208.
  • ServerRX 206 manages client connections from a number of client applications 12, reads the client requests, and puts each such request message in an appropriate inbound queue in message queuing component 202 based on header information contained in the request.
  • ServerTX 208 scans the outbound queue of message queuing component 202 for replies from the database, opens connections to the appropriate client applications 12, and forwards the replies to the clients.
  • Message queuing component 202 is preferably implemented as multiple queues. For ServerRX 206 communications, there are at least two queues: inbound real time queue (IRTQ) 210 and inbound batch queue (IBQ) 212.
  • the request messages from the client applications have header information that indicates the response priority.
  • a client application request whose header information indicates that the request requires an immediate answer will be placed in the real time queue 210.
  • a client application request whose header information indicates that the request does not require an immediate answer will be placed in the batch queue 212.
  • Database process 204 has a number of single database programs 216, each of which can service incoming client application requests from message queuing component 202. Each database program 216 processes one inbound request from message queuing component 202 at a time. Each database program 216 first processes requests in IRTQ 210. If IRTQ 210 is empty, each database program 216 processes requests in IBQ 212. Database program 216 can then submit a request to the associated HEDS 14 and wait for a reply. When a reply is received, database program 216 forwards that reply to outbound message queue (OMQ) 214. Messages are retrieved from OMQ 214 by ServerTX 208, which functions as described above.
  • OMQ outbound message queue
  • each CTP 22 contains at least one HEDS 14 to provide all persistent data storage, including customer information, order status, program data, item information, and item descriptions.
  • HEDS 14 is preferably implemented by a small server, such as a Sun Sparc 1 running Solaris or an IBM RS6000 Model C20 running ADC, and preferably with a relational database management system (RDBMS) 15, such as an Oracle RDBMS.
  • RDBMS relational database management system
  • the use of an RDBMS is desirable because an RDBMS allows for scalable access to large amounts of data.
  • HEDS 14 preferably has at least one Ethernet card to communicate with one or more CASs 16 via a private Ethernet network 17 and at least one Ethernet card to communicate with CCP 24 via wide-area network 21.
  • HEDS 14 also has a console for either local or remote maintenance and operation.
  • database program 216 submits requests to HEDS 14 via remote access software 302, such as Oracle SQL*NET.
  • the requests include information for directing HEDS 14 to execute any one of a number of stored procedures 304 on RDBMS data.
  • Stored procedures 304 contain the business logic for supporting certain applications in the network, such as an electronic buying guide application and a quick buy application (discussed below).
  • RDBMS data is populated by multiple sources. These sources include CCP 24, which can provide data such as broadcast schedules, product lists, product information and order status information; CAS 16, which provides data from user inputs such as credit card data, pass codes, multiple user profiles and specific transaction information; and an MSO billing system, which provides household specific information including name, address, telephone number, and an unique identifier for a user's STB.
  • CCP 24 can provide data such as broadcast schedules, product lists, product information and order status information
  • CAS 16 which provides data from user inputs such as credit card data, pass codes, multiple user profiles and specific transaction information
  • MSO billing system which provides household specific information including name, address, telephone number, and an unique identifier for a user's STB.
  • HEDS 14 combines specific transaction information with credit card information and household specific information and forwards the combined information to CCP 24 in a real time or in near real-time fashion periodically at some desired time, which may be different for different types of information (e.g., general requests for information may be transferred at a slower rate than orders from customers to purchase products).
  • the CCP thus replicates what is in the different HEDSs in communication with it.
  • HEDS 14 also monitors portions of the system to ensure proper operation and generates alarms to CCP 24 when problems are detected.
  • commerce control point (CCP) 24 preferably includes at least one of each of the following components: a CCP server 26, a scheduling system 30, a general ledger system 32, a data warehouse 34, an internal reporting system 36 and an external reporting system 38.
  • CCP server 26 can be a large, highly available UNLX based server with a separate disk farm and an RDBMS.
  • Scheduling system 30 can be a UNIX based server with an RDBMS.
  • General ledger system 32 can be a component of a standard accounting system software package.
  • Data warehouse 34 can be a large UNIX based server with a separate disk farm and an RDBMS.
  • Each reporting system can be a Windows NT workstation.
  • CCP 24 may reside at a dedicated location or locations such as a collocation area of a telephone company central office or point of presence. CCP 24 also performs various maintenance and monitoring functions on its own systems to alert operators when any problems are detected.
  • CCP server 26 communicates bi-directionally with one or more commerce transfer points (CTPs) 22 and provides data, including broadcast schedules, product lists, product information and order status information, to each such CTPs 22.
  • CCP server 26 also aggregates user data in order to create user profiles. These user profiles can be compared to a stored product list and then used to allow a product lists to be customized for groups of users or for each individual user, or to associate one of a number of product lists to each user.
  • CCP server 26 interfaces with vendor e-commerce systems 28 to forward sales orders, obtain inventory control information, authorize and settle credit card transactions, and provide order fulfillment.
  • CCP server 26 can have a number of external data feeds 42.
  • these feeds include an interactive program guide (IPG) data 40, which provides raw broadcast schedules, and MSO customer data 44, which provides the customer name, address and phone number associated ⁇ with, a i ique set top box idejnifier.
  • Scheduling system 30 receives IPG data 40 and raw vendor product lists from CCP server 26, and provides to vendors a wcb-based interface for each vendor to designate which products from such vendor's raw product list are to be associated with which programming. The scheduling system then forwards the configured information back to CCP server 26, which in turn forwards the configured information to the appropriate CTPs 22.
  • General ledger system 32 can record all of the commerce control network's billable transactions downloaded from the CCP servers 26, and then can aggregate transaction information on a vendor-by- vendor basis for invoicing and financial reporting. Ledger system 32 can perform a similar function for other network participants such as MSOs.
  • Data warehouse 34 stores a near real time image of all of the data resident in each of the CCP servers 26. This data is used by internal reporting system 36 and external reporting system 38 to generate detailed reports without using the processing resources of the CCP server.
  • Internal reporting system 36 generates reports relevant to the operation of the CCN, such as exception reports and CCN marketing reports.
  • External reporting system 38 generates reports configured in any reasonable manner deemed useful by vendors or other CCN participants, such as vendor sales and demographics reports.
  • one embodiment of client application 12 is a quick buy application (QB) 400.
  • QB quick buy application
  • STB 18 resident application responds by loading the QB 400 executable file from the MSO's head end network file system (such as the Scientific Atlanta broadcast file system).
  • MSO's head end network file system such as the Scientific Atlanta broadcast file system.
  • QB 400 displays the video and audio portions of the tuned channel and can display a quick buy icon 402 indicating that the tuned channel is QB 400 enabled.
  • the icon is static; however, it could also be a dynamic mix of graphics and text, and it can be flashed at certain times to encourage the user to enter a purchasing mode.
  • quick buy icon 402 informs the user that QB 400 is running and therefore that the user may enter a purchasing and product information mode by pressing a defined key on the user's remote control.
  • the user may enter a purchasing mode by pressing a defined key on the STB remote control even when the icon is not present to enter QB.
  • QB 400 sends a client request to commerce transfer point (CTP) 22, which processes the request as described above and sends a database reply containing the list of product information associated with the tuned channel and current time, i.e., the programming.
  • CTP 22 can send a database reply with a list of products or product information that may be tailored to that user, or may be general product information provided to atTusers ⁇
  • QB 400 displays a tab screen 600 containing a product list and certain product information, such as prices for each of the items.
  • a possible embodiment of the tab screen 600 displayed by QB 400 could be configured as shown in quick buy tab 406.
  • Quick buy tab 406 may be translucent and overlays a portion of the video of the tuned channel. When quick buy tab 406 is displayed, QB 400 can remove the quick buy icon, if any, from the television screen.
  • the user can use standard tab screen navigation techniques (described below) to select a line item 614 from a list box 612 by pressing a defined key on the user's STB 18 remote control.
  • the user may select a line item 614 for one of a number of purposes indicated by buttons 624 and button text 626.
  • the item can be saved into a customized and personalized list (referred to here as a "Favorites" list) that is stored in the CTP, such that the personalized list can be accessed at another time.
  • the user can enter the electronic buying guide discussed below.
  • the user can indicate a desire to purchase at the current time and then enter a credit card number.
  • QB 400 in response to the user selecting a product to purchase and entering appropriate information (which may be configured in the client application to prevent entry for every purchase), QB 400 confirms the order by displaying a confirmation tab 408. The user can confirm the order or go back to the prior screen. If the user rejects the order by pressing a key on the user's STB 18 remote control defined by a button on the order confirmation tab 408, QB 400 redisplays quick buy tab 406. If the user confirms the order, QB 400 forwards the order to CTP 22 for processing. As discussed above, CTP 22 will forward the information to the CCP, which may handle the request, or which may forward the request to a separate vendor e-commcrce system for processing.
  • the system then displays a thank you tab 410, removes all tab screens from the video display, and can redisplay quick buy icon 402 if configured to do so or simply remove all non-programming information from the screen.
  • QB 400 launches another client application referred to here as the electronic buying guide (EBG) 500 and passes the existing purchase parameters to the EBG.
  • EBG 500 can also be launched from QB 400 via a button shown in Fig. 5(b) on quick buy tab 406, or can be launched in other ways including via an STB 18 remote control key defined and processed by the STB 18 resident application, and via the user tuning the STB 18 to a channel dedicated to the EBG 500.
  • EBG 500 When EBG 500 is launched, by whatever means, the STB 18 resident application responds by loading the EBG 500 executable file from the MSO's head end network file system (such as the Scientific Atlanta broadcast file system). Once loaded and running in the memory of the STB 18, EBG 500 displays a graphic screen configured, for example, as illustrated in Figure 6(a).
  • EBG 500 graphic screen may include at least one detail window 502, at least one video capture window 504, and at least one tab screen display window 506.
  • detail window 502 provides additional detail about products that may be purchased, or for which more information can be displayed.
  • Detail window 502 may include any of the following: a header 508, at least one graphics box 510, at least one text box 512 and at least one input box 514.
  • Header 508 can contain text much like the text box described below.
  • the graphics box 510 can display a picture in any one of a number of formats such as bitmap (.bmp), joint photographic experts group (JPEG), graphics interchange format (.gif), etc.
  • Text box 512 can be configured to display text in various font styles and point sizes and may or may not include a scrolling feature for text of a length exceeding the size of the box.
  • Input box 514 is a data entry field which can be populated by the user in several ways. For example, it can be populated by the user directly from STB 18 remote control numeric keys, or by a pull down menu containing a predetermined number and type of data options from which the user can choose.
  • the detail window can be configured as desired to provide information about the product. Accordingly, the detail window may have text only, a photograph, a moving image, or a desired combination of text and graphics.
  • video capture window 504 displays video in any of a number of formats, such as MPEG or MPEG 2.
  • the video being displayed can be captured from various sources, but it will most typically be captured from the tuned channel at the time the EBG was invoked.
  • tab screen display window 506 has at least one tab screen 600.
  • tab 602, screen detail 604, and button bar 606 of an active tab screen 516 are displayed, but only tab 602 of each inactive tab screen 518 is displayed.
  • the user can switch from the active tab screen 516 to an adjacent inactive tab screen 518 by pressing a defined STB 18 remote control key such as the left and right arrow keys.
  • the user can switch from an active tab screen 516 to an inactive tab screen 518 by pressing the numeric key on STB 18 remote control that corresponds to a number assigned to a tab screen 600, which may be displayed on tab 602.
  • the active tab screen 516 becomes an inactive tab screen 518, and the newly selected inactive tab screen 518 becomes the active tab screen 516.
  • each tab screen 600 may include a tab 602, at least one section of screen detail 604, and at least one button bar 606.
  • Tab 602 which generally functions to identify the tab screen 600, can display graphics or text in various font styles and point sizes.
  • screen detail 604 within a tab screen can have several components.
  • a list 608 can include at least one header 610, at least one list box 612, at least one scroll bar 616, and a scroll bar indicator 618.
  • a text component 620 can include at least one header 610, at least one text box 622, at least one input box 514 (see Fig. 6(b)), at least one scroll bar 616, and a scroll bar indicator 618.
  • Header 610 can contain text much like text box 622 described below.
  • List box 612 contains at least one line item 614 and may be configured to display a fixed number of line items 614 at one time notwithstanding the number of items in the actual list to be displayed by list box 612.
  • list box 612 is configured to display four line items 614, but the list to be displayed by list box 612 contains 10 items, the user can scroll upward or downward to cause list box 612 to display the items that are not currently displayed in list box 612.
  • the current line item may be highlighted and the scroll indicator 618 in scroll bar 616 is repositioned relative to the current line item content position in the actual list, where scroll bar 616 represents the length of actual list.
  • Text box 622 can be configured to display text in various font styles and point sizes and may or may not include a scrolling feature as described above utilizing scroll bar 616 for text of a length exceeding the size of the box.
  • button bar 606 may include one or more buttons 624 and button text 626.
  • Button text 626 can be configured to display text in various font styles and point sizes and is generally used to identify the function of an associated button 624; however, button text 626 can also be utilized in the absence of an associated button 624 to convey information to the user.
  • a button 624 is a virtual representation of a defined input key on a STB 18 remote control.
  • a button 624 may be displayed on the button bar 606 graphically or textually, or by a combination of the two.
  • the client application 12 such as the QB 400 or the EBG 500, maps the button 624 to the corresponding STB remote control key by registering its interest in such a key with the STB operating system. For example, when the user selects the mapped key on the STB remote control, the STB operating system delivers the user input to client application 12, and client application 12 in turn calls the function associated with such input.
  • EBG 500 interface can be configured using any combination of detail windows 502, video capture windows 504 and tab screen display windows 506, which can each in turn be configured using any combination of their respective components.
  • EBG 500 the functionality available to the user at any given time is driven by the active tab screen 516.
  • EBG functionality presented by a given active tab screen 516 determines the configuration of the EBG interface, including the location, number and configuration of detail windows 502 and video capture windows 504.
  • Each of the components of the EBG 500 interface provides information to the user, receives information from the user, or both.
  • a number of active tab screens can be included in EBG 500.
  • One of the screens within the EBG is a quick buy tab screen 600.
  • the functionality of such a tab is similar to that of quick buy tab 406 described above in an embodiment of the QB application.
  • the key function of the quick buy tab screen is to display a list of products, preferably associated with the underlying programming being displayed on the tuned channel.
  • the tuned channel is captured in a video capture window 504 and a detail window 502, configured in accordance with the need for information about the product, is available to display real-time detailed product information about a given product as the user scrolls through the product list.
  • the detail window 502 can then be utilized to display further information and request user input, such as quantity, style, color, size, etc., regarding the selected product.
  • a video capture window can be utilized to display video information regarding the selected product.
  • the favorites tab screen can have detail similar to that shown in Fig. 6(e) and can function identically to the quick buy tab screen described above, except that the user, rather than the underlying programming, determines the content of the product list.
  • the user may add items to the favorites list by tagging any item the user so designates as a "favorite" while viewing any other product list provided by any client application at any time.
  • the favorites tab screen also provides the user with the functionality to remove items from the favorites list.
  • the favorites list is stored in the HEDS for later retrieval as discussed in conjunction with Fig. 2, even after the client application has been closed and reopened. In other words, the storage is essentially permanent. The user can therefore delay purchase of a particular item, while the favorites list provides a convenient way to maintain the list for the user.
  • An order status tab screen displays a list of products recently ordered by the user and the status of each individual order. Each order listed can include a level of detail such as order date, product description and order status. In the preferred embodiment, an order's status can be Shipped, In Process, Pending, Back Ordered and Canceled.
  • An order is "Shipped” when the vendor informs the commerce control network (CCN) that the product has in fact been shipped.
  • An order is "In Process” when it is at a stage of processing at which the user cannot cancel the order.
  • An order is "Pending” when it is at a stage of processing at which the user can cancel the order.
  • An order is "Back Ordered” when the vendor informs the CCN that the vendor's inventory of such item is temporarily depleted.
  • Orders with a status of "Shipped” are removed from the user's order status list after a fixed period of time lapses. The user can obtain more information about an individual order on the order status tab screen by selecting the order for review, at which time the EBG will display additional details about the order, such as order number, shipping method, tracking number, shipping address, etc.
  • a settings tab screen allows the user to configure certain features of the EBG. Such settings can include payment information, shipping method, interface color scheme, security features, etc.
  • the settings tab screen provides a method for configuring more than one user per household. Each such user can have its own security code and user profile as described below.
  • a profiles tab screen allows the user, or users, to store default personal data, payment data and purchase preference data.
  • Default personal data can include information such as clothing sizes, which the EBG can use to populate clothing size fields that would otherwise have to be populated by the user.
  • Payment data can be user- specific credit card or other data that will override the default payment data set up for the household in the settings tab screen.
  • Purchase preference data can include user- designated product cost maximums and minimums, preferred vendors and preferred product types. Preferred product types can range from broad categories such as books, music and clothing to narrow categories such as fiction, folk, and formal.
  • the EBG can use an individual user's purchase preference data to customize product lists.
  • a help tab screen can offer context sensitive or general help. In another embodiment of the help function, context sensitive help can be provided via the detail or capture windows while the user is navigating through one or several of the other windows displayed in the EBG interface.

Abstract

A broadcast distribution system includes a broadcast station which broadcast information, including video programming and first data related to a product. Each of a plurality of user stations are capable of receiving the broadcast information and transmitting a product related request based on a user input responsive to the received first product related data. The broadcast station receives the transmitted product related request, and in response transmits second data related to the product to the user station from which the product related request was transmitted.

Description

VIDEO DISTRIBUTION SYSTEM AND METHOD
Background of the Invention This invention relates to an interactive television commerce system. The Internet is growing rapidly and is emerging as a significant interactive medium for entertainment, communications, research, education and e-commerce. Although Internet access has historically required a personal computer, it may be desirable for consumers to receive electronic information and entertainment services through their television sets. Some consumers may have little need for a personal computer because it can be costly and difficult or complicated to use. A television-based approach to e-commerce thus may be a better alternative for many consumers.
A digital broadband delivery system (DBDS) is an architecture currently being deployed by cable television system operators, referred to here as multiple system operators (MSO). The terminology used here is essentially that of Scientific-Atlanta, Inc., but the components described could be used in other systems. DBDS allows the MSOs to offer their subscribers digital content that looks better than cable transmitted analog programs, and allows more digital channels to run on the same cable wire (at least 8 times as many). DBDS also offers two-way messaging between the cable network and set top boxes, allowing MSOs to offer customers interactive applications such as near video on demand and emaiL DBDS is designed as a client server network with client applications running on set top boxes that communicate with an application server that provides the content for the client applications.
DBDS has several components that work together to deliver these broadband digital services to consumers. Analog set top boxes are replaced by digital set top boxes, referred to as digital home communications terminals (DHCTs). A DHCT is essentially a small network computer that provides a subscriber with the ability to run multiple applications. It also provides Internet protocol (IP) connectivity back to a server via a hybrid fiber coax (HFC) line wired to the subscriber's home to allow an application running on the DHCT to interact with the DBDS.
A digital network control system (DNCS) is a server, typically UNLX based, that controls the configuration of the entire DBDS, routine DBDS maintenance, SNMP monitoring, the broadcasting of data to the set tops, and the registering of additional applications that run on the DBDS. One DNCS can currently handle up to two hundred thousand subscribers.
A broadcast file system (BFS) is a component of the DNCS and is essentially a file system containing system data (such as DHCT configurations) and application data. This file system is continuously broadcast in a carousel fashion over the DBDS via an inband data path (IDP) and an out-of-band data path (ODP). DHCTs can then access the BFS in much the same way that a PC accesses a hard drive.
The IDP is a 27 Mbps data channel that the DHCTs tune to, much like any other programming channel. The path is physically provided by a broadband integrated gateway (BIG) and an inband quadrature amplitude modulator (QAM). In essence, these pieces of hardware are employed to create a 27 Mbps path over which the BFS is continuously broadcast to the DHCTs. Once the DHCT is tuned to the data channel, it can read the BFS data carousel at this high speed. This is useful for loading a new application on the DHCT as well as in any situation where fast access to the BFS is required. The IDP is one-way; no programming content can be received while the IDP data is being read.
The ODP is a data channel that can be accessed while programming content is being sent to the DHCT. The two components that make up the ODP are a forward data channel (FDC) that broadcasts out to the DHCTs and a reverse data channel (RDC) that receives data from the DHCTs, both at Tl speed. The FDC interface to the HFC is provided by a quaternary phase shift key (QPSK) modulator. The RDC interface to the HFC is provided by a QPSK demodulator. In essence, this equipment functions as a modem to bridge the HFC to an Ethernet.component of the DBDS. The FDC and RDC are used by server applications to communicate with the DHCTs.
Cable head end application servers reside on the same IP network as the DNCS, and provide a hardware platform for running server based software applications that will be provisioned to the DHCTs, such as near video on demand and email. Services that run in the DBDS have a component running on the application server and are registered with the DNCS. Summary o the Invention The present invention includes a commerce control network (CCN) system and methods for obtaining product information and for purchasing products through a two- way interactive television system.
In one aspect, the invention includes an architecture that has client applications residing in individual set top boxes; a commerce transfer point (CTP), including at least one commerce application server (CAS) and at least one head end database server (HEDS); and a remote commerce control point (CCP) coupled to one or more CTPs. The commerce application server communicates between the client applications and the HEDS, which stores commerce control network data such as product and broadcast information. The HEDS communicates with the CCP to transfer commerce control network data back and forth. The CCP would typically be coupled to a number of HEDS, and the data in each HEDS would be periodically replicated in the CCP.
The system of the present invention can provide product information or a purchase screen for a list of products in a manner that may or may not be related to underlying broadcast content (programming). In the case of the product information being related to the programming, the information can be provided to the user in response to a user input. For example, a user can press a certain key on the television remote control upon seeing an icon during programming and access an electronic buying guide with a purchase screen for products that are related to that programming. The buying guide can also be provided in a manner unrelated to the programming in response to a user input from the remote control to enter a buying guide mode. In that case, the products that are offered may be a standard product list, or they may be a list based on information about the particular user.
The information that is displayed may be on a translucent screen, on a screen that blocks part of the programming, or on a full screen. The electronic buying guide preferably has a scrollable list of items, a detail window that shows an item in the list when the user has selected that item, and a video window that captures the programming, all displayed at the same time.
In addition to the foregoing functionality, the system of the present invention also allows the user to select a product and store it in a server (such as in the HEDS) in a list that is personalized for the particular user and accessible so the personalized list can be retrieved at a later time by the user. This accessible and personalized list in essence functions as a persistent shopping cart containing the user's favorite items.
The icon displayed with the programming can be scheduled to appear by the client application, or triggered by data provided in a broadcast signal, such as in a vertical blanking interval (VBI). In the former case, the system for providing the icon is synchronized in scheduling terms with the programming based on information provided by the head end database server. When the user makes an input in response to the icon, further information is accessed from a memory for display. The icon and the information in memory are preferably decoupled such that the information can be modified separately, preferably in a manner that is accessible to the information provider.
Another feature of the system of the present invention is the ability to provide a call option so that the user can cause a telephone call to the user to be initiated by a product provider.
The system of the present invention may be used in a widely available television network, such as a cable television system or a satellite television system available over a wide area and to a very large number of users. The system of the present invention is simple to operate, in that it is completely functional from a television remote control, and it provides enhancements to the traditional broadcast entertainment programming currently available through cable and satellite operators. Other features and advantages will become apparent from the following detailed description, drawings, and claims.
Brief Description of the Drawings
Fig. 1 is a block diagram of a commerce control network according to the present invention.
Fig. 2 is a software process diagram of the commerce applications server.
Fig. 3 is a software process diagram of a head end database server.
Fig. 4 is a block diagram of a commerce control point.
Figs. 5(a) - 5(d) are block diagrams of screen shots and portions of screen shots for the quick buy client application. Figs. 6(a) - 6(0 are block diagrams of screen shots and portions of screen shots for the electronic buying guide application.
Detailed Description Referring to Fig. 1, the present invention includes an interactive television commerce system, referred to as a commerce control network (CCN) 10, in a interactive television system, such a cable television system described above or a satellite television system, that is widely available to a large number of users, e.g., over a metropolitan area. CCN 10 allows TV users to select, purchase, gain additional information about, and store information relating to products using a simple and convenient menu-based user interface. The system can provide product lists that may or may not be customized based on a particular channel and/or program being watched, or the product lists or other information can be tailored for the individual user.
In one instance of the system, if a user orders a product, the order can be processed by the system, the user's credit card may be billed, inventory may be updated, and the order may then be forwarded to a warehouse for shipment. In another instance, if a user orders a product, the order can be processed by the system and then forwarded to an appropriate third-party vendor for billing and fulfillment. In the latter instance, periodic status updates on the order may be provided by the vender to the system. The system/ referred to here as an electronic buying guide (EBG) J is not strictly limited to "buying," but can also include obtaining product information and samples.
CCN 10 of the present invention has a three-tiered architecture with client applications 12, a commerce transfer point (CTP) 22, and a commerce control point (CCP) 24.
Client application 12 runs in a set top box (STB) 18 on a set top operating system (OS), such as the PowerTV Set Top OS, which is currently being provided with a Scientific- Atlanta DHCT, or on top of a Windows CE OS. In the case of the PowerTV OS, client application 12 may be created using a PowerTV development kit. The PowerTV OS provides a full- eatured application programming interface (API) that allows a developer to isolate the application code from the hardware level of the set top box.
Client application 12 provides the user with a convenient user interface that is controllable by the user with a standard STB remote control to allow viewing, purchasing, or obtaining information about products, and provides messaging to and from the CTP with which it communicates. The functionality to call the client application is built into a variety of resident applications provided by third party vendors and running on STB 18. The viewer can thus access the application via a remote control button while watching TV. The term "set top box" is meant broadly to include a processing functionality with a television; that functionality could be integrated into the television itself, for example, and thus need not be literally in a separate standalone "box."
A client application executable is loaded onto STB 18 by a digital communications network (DCN) 26 when a resident application in the STB determines that the user has tuned to a channel that is configured to run the client application.
CTP 22 includes one or more commerce application servers (CAS) 16, each in communication with a number of set top boxes; one or more head end database servers (HEDS) 14, each connected to one or more CASs; a private Ethernet network for connecting CASs and HEDSs; and a private wide-area network connection 21 for communication with CCP 24. CTP 22 handles all of the requests from the client applications 12, and serves as a data conduit to CCP 24. In the case of a cable television system, the CTP is preferably located at the cable head end.
CAS 16 is responsible for registering CTP 22 for use within the DCN of the local MSO, and for providing client application 12 to DCN 26 for distribution to set top boxes 18. The CAS also serves as the point of communication between client applications 12 and HEDS 14, and thus CAS 16 handles all client application 12 requests and forwards them to HEDS 14. The number of CAS 16 machines may be set as needed based on the number of STBs 18.
CAS 16 is preferably implemented by a small server, such as a Compaq Proliant Model 1600R running Windows NT, preferably with message queuing software such as Microsoft Message Queue (MSMQ). CAS 16 utilizes at least one Ethernet card to access HEDS 14 and at least one asynchronous transfer mode (ATM) card to access DCN 26 via an ATM switch, such as a Xylan ATM switch. The system can have one more CAS 16 than is needed to handle usage so that in the event of a failure of one CAS, the overall system will still handle the full processing load.
Referring to Figure 2, CAS 16 has three components implemented in software: socket server process 200, which manages the client TCP IP connections; message queuing component 202, which provides the message queuing functionality; and database process 204, which processes client requests and provides database access.
Socket server process 200 has at least two functions: a receive service, ServerRX 206, and a transmit service, ServerTX 208. ServerRX 206 manages client connections from a number of client applications 12, reads the client requests, and puts each such request message in an appropriate inbound queue in message queuing component 202 based on header information contained in the request. ServerTX 208 scans the outbound queue of message queuing component 202 for replies from the database, opens connections to the appropriate client applications 12, and forwards the replies to the clients.
Message queuing component 202 is preferably implemented as multiple queues. For ServerRX 206 communications, there are at least two queues: inbound real time queue (IRTQ) 210 and inbound batch queue (IBQ) 212. The request messages from the client applications have header information that indicates the response priority. A client application request whose header information indicates that the request requires an immediate answer will be placed in the real time queue 210. A client application request whose header information indicates that the request does not require an immediate answer will be placed in the batch queue 212.
Database process 204 has a number of single database programs 216, each of which can service incoming client application requests from message queuing component 202. Each database program 216 processes one inbound request from message queuing component 202 at a time. Each database program 216 first processes requests in IRTQ 210. If IRTQ 210 is empty, each database program 216 processes requests in IBQ 212. Database program 216 can then submit a request to the associated HEDS 14 and wait for a reply. When a reply is received, database program 216 forwards that reply to outbound message queue (OMQ) 214. Messages are retrieved from OMQ 214 by ServerTX 208, which functions as described above.
The use of these multiple queues and database programs helps make possible the processing of a large number of requests by users through their client applications at the same time.
Referring again to Figure 1, each CTP 22 contains at least one HEDS 14 to provide all persistent data storage, including customer information, order status, program data, item information, and item descriptions. HEDS 14 is preferably implemented by a small server, such as a Sun Sparc 1 running Solaris or an IBM RS6000 Model C20 running ADC, and preferably with a relational database management system (RDBMS) 15, such as an Oracle RDBMS. The use of an RDBMS is desirable because an RDBMS allows for scalable access to large amounts of data. HEDS 14 preferably has at least one Ethernet card to communicate with one or more CASs 16 via a private Ethernet network 17 and at least one Ethernet card to communicate with CCP 24 via wide-area network 21. HEDS 14 also has a console for either local or remote maintenance and operation.
Referring to Figure 3, database program 216 submits requests to HEDS 14 via remote access software 302, such as Oracle SQL*NET. The requests include information for directing HEDS 14 to execute any one of a number of stored procedures 304 on RDBMS data. Stored procedures 304 contain the business logic for supporting certain applications in the network, such as an electronic buying guide application and a quick buy application (discussed below).
RDBMS data is populated by multiple sources. These sources include CCP 24, which can provide data such as broadcast schedules, product lists, product information and order status information; CAS 16, which provides data from user inputs such as credit card data, pass codes, multiple user profiles and specific transaction information; and an MSO billing system, which provides household specific information including name, address, telephone number, and an unique identifier for a user's STB.
HEDS 14 combines specific transaction information with credit card information and household specific information and forwards the combined information to CCP 24 in a real time or in near real-time fashion periodically at some desired time, which may be different for different types of information (e.g., general requests for information may be transferred at a slower rate than orders from customers to purchase products). The CCP thus replicates what is in the different HEDSs in communication with it. HEDS 14 also monitors portions of the system to ensure proper operation and generates alarms to CCP 24 when problems are detected.
Referring to Fig. 4, commerce control point (CCP) 24 preferably includes at least one of each of the following components: a CCP server 26, a scheduling system 30, a general ledger system 32, a data warehouse 34, an internal reporting system 36 and an external reporting system 38. CCP server 26 can be a large, highly available UNLX based server with a separate disk farm and an RDBMS. Scheduling system 30 can be a UNIX based server with an RDBMS. General ledger system 32 can be a component of a standard accounting system software package. Data warehouse 34 can be a large UNIX based server with a separate disk farm and an RDBMS. Each reporting system can be a Windows NT workstation. CCP 24 may reside at a dedicated location or locations such as a collocation area of a telephone company central office or point of presence. CCP 24 also performs various maintenance and monitoring functions on its own systems to alert operators when any problems are detected.
CCP server 26 communicates bi-directionally with one or more commerce transfer points (CTPs) 22 and provides data, including broadcast schedules, product lists, product information and order status information, to each such CTPs 22. CCP server 26 also aggregates user data in order to create user profiles. These user profiles can be compared to a stored product list and then used to allow a product lists to be customized for groups of users or for each individual user, or to associate one of a number of product lists to each user.
CCP server 26 interfaces with vendor e-commerce systems 28 to forward sales orders, obtain inventory control information, authorize and settle credit card transactions, and provide order fulfillment. CCP server 26 can have a number of external data feeds 42. In the preferred embodiment, these feeds include an interactive program guide (IPG) data 40, which provides raw broadcast schedules, and MSO customer data 44, which provides the customer name, address and phone number associated^ with, a i ique set top box idejnifier. Scheduling system 30 receives IPG data 40 and raw vendor product lists from CCP server 26, and provides to vendors a wcb-based interface for each vendor to designate which products from such vendor's raw product list are to be associated with which programming. The scheduling system then forwards the configured information back to CCP server 26, which in turn forwards the configured information to the appropriate CTPs 22.
General ledger system 32 can record all of the commerce control network's billable transactions downloaded from the CCP servers 26, and then can aggregate transaction information on a vendor-by- vendor basis for invoicing and financial reporting. Ledger system 32 can perform a similar function for other network participants such as MSOs.
Data warehouse 34 stores a near real time image of all of the data resident in each of the CCP servers 26. This data is used by internal reporting system 36 and external reporting system 38 to generate detailed reports without using the processing resources of the CCP server. Internal reporting system 36 generates reports relevant to the operation of the CCN, such as exception reports and CCN marketing reports. External reporting system 38 generates reports configured in any reasonable manner deemed useful by vendors or other CCN participants, such as vendor sales and demographics reports.
Referring to Figs. 5(a) - 5(d) in general, one embodiment of client application 12 is a quick buy application (QB) 400. Referring particularly to Fig. 5(a), when the user tunes STB 18 to a certain channel which has been pre-configured to function with the QB 400, STB 18 resident application responds by loading the QB 400 executable file from the MSO's head end network file system (such as the Scientific Atlanta broadcast file system). Once loaded and running in the memory of a STB 18, QB 400 displays the video and audio portions of the tuned channel and can display a quick buy icon 402 indicating that the tuned channel is QB 400 enabled. In the preferred embodiment, the icon is static; however, it could also be a dynamic mix of graphics and text, and it can be flashed at certain times to encourage the user to enter a purchasing mode.
The presence of quick buy icon 402 informs the user that QB 400 is running and therefore that the user may enter a purchasing and product information mode by pressing a defined key on the user's remote control. In an alternative embodiment, the user may enter a purchasing mode by pressing a defined key on the STB remote control even when the icon is not present to enter QB.
Once the user enters the purchasing mode, QB 400 sends a client request to commerce transfer point (CTP) 22, which processes the request as described above and sends a database reply containing the list of product information associated with the tuned channel and current time, i.e., the programming. Alternatively, CTP 22 can send a database reply with a list of products or product information that may be tailored to that user, or may be general product information provided to atTusers^
Referring to Fig. 5(b), QB 400 displays a tab screen 600 containing a product list and certain product information, such as prices for each of the items. A possible embodiment of the tab screen 600 displayed by QB 400 could be configured as shown in quick buy tab 406. Quick buy tab 406 may be translucent and overlays a portion of the video of the tuned channel. When quick buy tab 406 is displayed, QB 400 can remove the quick buy icon, if any, from the television screen.
The user can use standard tab screen navigation techniques (described below) to select a line item 614 from a list box 612 by pressing a defined key on the user's STB 18 remote control. The user may select a line item 614 for one of a number of purposes indicated by buttons 624 and button text 626. By selecting one button, the item can be saved into a customized and personalized list (referred to here as a "Favorites" list) that is stored in the CTP, such that the personalized list can be accessed at another time. By selecting another button, the user can enter the electronic buying guide discussed below. By selecting yet another button, the user can indicate a desire to purchase at the current time and then enter a credit card number.
Referring to Fig. 5(c), in response to the user selecting a product to purchase and entering appropriate information (which may be configured in the client application to prevent entry for every purchase), QB 400 confirms the order by displaying a confirmation tab 408. The user can confirm the order or go back to the prior screen. If the user rejects the order by pressing a key on the user's STB 18 remote control defined by a button on the order confirmation tab 408, QB 400 redisplays quick buy tab 406. If the user confirms the order, QB 400 forwards the order to CTP 22 for processing. As discussed above, CTP 22 will forward the information to the CCP, which may handle the request, or which may forward the request to a separate vendor e-commcrce system for processing.
Referring to Fig. 5(d), the system then displays a thank you tab 410, removes all tab screens from the video display, and can redisplay quick buy icon 402 if configured to do so or simply remove all non-programming information from the screen.
If the product selected requires additional configuration, such as quantity, style, size, etc., prior to purchase, QB 400 launches another client application referred to here as the electronic buying guide (EBG) 500 and passes the existing purchase parameters to the EBG. EBG 500 can also be launched from QB 400 via a button shown in Fig. 5(b) on quick buy tab 406, or can be launched in other ways including via an STB 18 remote control key defined and processed by the STB 18 resident application, and via the user tuning the STB 18 to a channel dedicated to the EBG 500.
When EBG 500 is launched, by whatever means, the STB 18 resident application responds by loading the EBG 500 executable file from the MSO's head end network file system (such as the Scientific Atlanta broadcast file system). Once loaded and running in the memory of the STB 18, EBG 500 displays a graphic screen configured, for example, as illustrated in Figure 6(a). EBG 500 graphic screen may include at least one detail window 502, at least one video capture window 504, and at least one tab screen display window 506.
Referring to Fig. 6(b), detail window 502 provides additional detail about products that may be purchased, or for which more information can be displayed. Detail window 502 may include any of the following: a header 508, at least one graphics box 510, at least one text box 512 and at least one input box 514. Header 508 can contain text much like the text box described below. The graphics box 510 can display a picture in any one of a number of formats such as bitmap (.bmp), joint photographic experts group (JPEG), graphics interchange format (.gif), etc. Text box 512 can be configured to display text in various font styles and point sizes and may or may not include a scrolling feature for text of a length exceeding the size of the box. Input box 514 is a data entry field which can be populated by the user in several ways. For example, it can be populated by the user directly from STB 18 remote control numeric keys, or by a pull down menu containing a predetermined number and type of data options from which the user can choose.
The detail window can be configured as desired to provide information about the product. Accordingly, the detail window may have text only, a photograph, a moving image, or a desired combination of text and graphics.
Referring again to Fig. 6(a), video capture window 504 displays video in any of a number of formats, such as MPEG or MPEG 2. The video being displayed can be captured from various sources, but it will most typically be captured from the tuned channel at the time the EBG was invoked.
Referring to Figs. 6(c) and 6(d), tab screen display window 506 has at least one tab screen 600. When more than one tab is presented in tab screen display window 506, tab 602, screen detail 604, and button bar 606 of an active tab screen 516 are displayed, but only tab 602 of each inactive tab screen 518 is displayed. The user can switch from the active tab screen 516 to an adjacent inactive tab screen 518 by pressing a defined STB 18 remote control key such as the left and right arrow keys. In another embodiment, the user can switch from an active tab screen 516 to an inactive tab screen 518 by pressing the numeric key on STB 18 remote control that corresponds to a number assigned to a tab screen 600, which may be displayed on tab 602. When such user input occurs, the active tab screen 516 becomes an inactive tab screen 518, and the newly selected inactive tab screen 518 becomes the active tab screen 516.
Referring to Fig. 6(d), each tab screen 600 may include a tab 602, at least one section of screen detail 604, and at least one button bar 606. Tab 602, which generally functions to identify the tab screen 600, can display graphics or text in various font styles and point sizes.
Referring to Fig. 6(e), screen detail 604 within a tab screen can have several components. For example, a list 608 can include at least one header 610, at least one list box 612, at least one scroll bar 616, and a scroll bar indicator 618. As an alternative, a text component 620 can include at least one header 610, at least one text box 622, at least one input box 514 (see Fig. 6(b)), at least one scroll bar 616, and a scroll bar indicator 618. Header 610 can contain text much like text box 622 described below. List box 612 contains at least one line item 614 and may be configured to display a fixed number of line items 614 at one time notwithstanding the number of items in the actual list to be displayed by list box 612. For example, if list box 612 is configured to display four line items 614, but the list to be displayed by list box 612 contains 10 items, the user can scroll upward or downward to cause list box 612 to display the items that are not currently displayed in list box 612. As the user scrolls through list box 612, the current line item may be highlighted and the scroll indicator 618 in scroll bar 616 is repositioned relative to the current line item content position in the actual list, where scroll bar 616 represents the length of actual list. Text box 622 can be configured to display text in various font styles and point sizes and may or may not include a scrolling feature as described above utilizing scroll bar 616 for text of a length exceeding the size of the box.
Referring to Figs. 6(b) and 6(f), button bar 606 may include one or more buttons 624 and button text 626. Button text 626 can be configured to display text in various font styles and point sizes and is generally used to identify the function of an associated button 624; however, button text 626 can also be utilized in the absence of an associated button 624 to convey information to the user. A button 624 is a virtual representation of a defined input key on a STB 18 remote control. A button 624 may be displayed on the button bar 606 graphically or textually, or by a combination of the two. The client application 12, such as the QB 400 or the EBG 500, maps the button 624 to the corresponding STB remote control key by registering its interest in such a key with the STB operating system. For example, when the user selects the mapped key on the STB remote control, the STB operating system delivers the user input to client application 12, and client application 12 in turn calls the function associated with such input.
As explained above, EBG 500 interface can be configured using any combination of detail windows 502, video capture windows 504 and tab screen display windows 506, which can each in turn be configured using any combination of their respective components.
In a typical embodiment of EBG 500, the functionality available to the user at any given time is driven by the active tab screen 516. EBG functionality presented by a given active tab screen 516 determines the configuration of the EBG interface, including the location, number and configuration of detail windows 502 and video capture windows 504. Each of the components of the EBG 500 interface provides information to the user, receives information from the user, or both. A number of active tab screens can be included in EBG 500.
One of the screens within the EBG is a quick buy tab screen 600. The functionality of such a tab is similar to that of quick buy tab 406 described above in an embodiment of the QB application. In both instances, the key function of the quick buy tab screen is to display a list of products, preferably associated with the underlying programming being displayed on the tuned channel. When the quick buy tab screen is utilized in the EBG context, the tuned channel is captured in a video capture window 504 and a detail window 502, configured in accordance with the need for information about the product, is available to display real-time detailed product information about a given product as the user scrolls through the product list. When the user selects a product to purchase, the detail window 502 can then be utilized to display further information and request user input, such as quantity, style, color, size, etc., regarding the selected product. In another instance, a video capture window can be utilized to display video information regarding the selected product.
Another screen is a favorites tab screen. The favorites tab screen can have detail similar to that shown in Fig. 6(e) and can function identically to the quick buy tab screen described above, except that the user, rather than the underlying programming, determines the content of the product list. The user may add items to the favorites list by tagging any item the user so designates as a "favorite" while viewing any other product list provided by any client application at any time. The favorites tab screen also provides the user with the functionality to remove items from the favorites list. The favorites list is stored in the HEDS for later retrieval as discussed in conjunction with Fig. 2, even after the client application has been closed and reopened. In other words, the storage is essentially permanent. The user can therefore delay purchase of a particular item, while the favorites list provides a convenient way to maintain the list for the user.
An order status tab screen displays a list of products recently ordered by the user and the status of each individual order. Each order listed can include a level of detail such as order date, product description and order status. In the preferred embodiment, an order's status can be Shipped, In Process, Pending, Back Ordered and Canceled. An order is "Shipped" when the vendor informs the commerce control network (CCN) that the product has in fact been shipped. An order is "In Process" when it is at a stage of processing at which the user cannot cancel the order. An order is "Pending" when it is at a stage of processing at which the user can cancel the order. An order is "Back Ordered" when the vendor informs the CCN that the vendor's inventory of such item is temporarily depleted. Back ordered orders are cancelable by the user. An order is "Canceled" when the vendor informs the CCN that the user's credit authorization has failed, the user cancels the order, or the vendor has sold out of a limited quantity item. The order status tab screen can display each status in an appropriate color such as green for "Shipped", red for "Canceled" and yellow for all other statuses. Orders with a status of "Shipped" are removed from the user's order status list after a fixed period of time lapses. The user can obtain more information about an individual order on the order status tab screen by selecting the order for review, at which time the EBG will display additional details about the order, such as order number, shipping method, tracking number, shipping address, etc.
A settings tab screen allows the user to configure certain features of the EBG. Such settings can include payment information, shipping method, interface color scheme, security features, etc. In addition, the settings tab screen provides a method for configuring more than one user per household. Each such user can have its own security code and user profile as described below.
A profiles tab screen allows the user, or users, to store default personal data, payment data and purchase preference data. Default personal data can include information such as clothing sizes, which the EBG can use to populate clothing size fields that would otherwise have to be populated by the user. Payment data can be user- specific credit card or other data that will override the default payment data set up for the household in the settings tab screen. Purchase preference data can include user- designated product cost maximums and minimums, preferred vendors and preferred product types. Preferred product types can range from broad categories such as books, music and clothing to narrow categories such as fiction, folk, and formal. The EBG can use an individual user's purchase preference data to customize product lists. A help tab screen can offer context sensitive or general help. In another embodiment of the help function, context sensitive help can be provided via the detail or capture windows while the user is navigating through one or several of the other windows displayed in the EBG interface.
While a number of embodiments have been described, it should be apparent that modifications can be made without departing from the scope of the appended claims. For example, there are many ways that the various screens shown here could be displayed.
What is claimed is:

Claims

In -the claims :
1. A broadcast distribution system, comprising: a broadcast station configured to broadcast information, including video programming and first data related to a product; and a plurality of user stations, each configured to receive the broadcast information and to transmit a product related request based on a user input responsive to the received first product related data; wherein the broadcast station is further configured to receive the transmitted product related request, and, in response, to transmit second data related to the product to the user station from which the product related request was transmitted.
2. A system according to claim 1, wherein the broadcast station is further configured to further transmit the received product related request, and further comprising: a control station configured (i) to transmit the first and the second product related data to the broadcast station, and (ii) to receive and store the further transmitted product related request.
3. A system according to claim 1, further comprising: a high priority queue configured to queue the product related request received from a first of the plurality of user stations; a low priority queue, configured to queue the product related request received from a second of the plurality of user stations; wherein the broadcast station is further configured to transmit the second product related data in response to the product related request queued in the high priority queue within a first time period after receipt of that request, and to transmit the second product related data in response to the product related request queued in the low priority queue within a second time period after receipt of that request, the second time period being longer than the first time period.
4. A system according to claim 3, wherein: the product related request received from the first user station is a request to purchase the product; and the product related request received from the second user station is a request for information regarding the product.
5. A system according to claim 3, wherein: the high priority queue is a real time queue; the low priority queue is a batch queue .
6. A system according to claim 3, wherein: each of the plurality of user stations is further configured to generate the product related request so as to include information indicative of response priority; and the broadcast station is further configured to queue the product related request received from the first and the second user stations in the high and the low priority queues based on the indicated response priority.
7. A system according to claim 1, further comprising: a database storing the first and the second product related data; a first server configured to direct the broadcasting of the first product related data and the transmission of the second product related data; and a second server configured to retrieve the stored second product related data associated with the first product related data responsive to the first product related request; wherein the transmitted second product related data is the retrieved second product related data.
8. A system according to claim 1, wherein the product is associated with the video programming.
9. A system according to claim 1, wherein each of the plurality of user stations includes a television set top box.
10. A system according to claim 1, wherein: each of the plurality of user stations is further configured to be tunable to a broadcast channel to thereby receive the broadcast information and the second product related data transmitted to it.
11. A system according to claim 1, wherein: the broadcast station is further configured to transmit the second product related data via an out-of-band data path; and each of the plurality of user stations is further configured to transmit the product related request and receive the second product related data, via the out-of-band data path.
12. A system according to claim 11, wherein: the broadcast station is further configured to transmit an executable application to each of the plurality of user stations via an in-band data path; and each of the plurality of user stations includes a display, and is further configured to receive the transmitted application via the in-band data path, and execute the received application to transmit the product related request and display the second product related data.
13. A system according to claim 1, wherein: the first product related information directs a display of an icon indicative of the availability of the second product related information; and the second product related information is at least one of (i) information regarding at least one attribute of the product itself and (ii) information regarding purchase of the product.
14. A system according to claim 1, wherein: the first product related information directs a display of icon indicative of the availability of the second product related information; and the second product related information includes a listing of products identifying a plurality of products including the product.
15. A system according to claim 14, wherein: the listing of products transmitted to a first of the plurality of user stations from which the product related request is transmitted, and the listing of products transmitted to a second of the plurality of user stations from which the product related request is transmitted, each identify the same plurality of products .
16. A system according to claim 14, wherein: the listing of products transmitted to a first of the plurality of user stations from which the product related request is transmitted, and the listing of products transmitted to a second of the plurality of user stations from which the product related request is transmitted, each identify a different plurality of products .
17. A system according to claim 16, wherein: the listing of products transmitted to the first user station identify a plurality of products corresponding to a first user preference and the listing of products transmitted to the second user station identify a plurality of products corresponding to a second user preference.
18. A system according to claim 16, wherein: the first user station has an associated first user and the second station has an associated second user; and the listing of products transmitted to the first user station identifies a plurality of products corresponding to a predetermined preference of the first user and the listing of products transmitted to the second user station identifies a plurality of products corresponding to a predetermined preference of a second user.
19. A system according to claim 16, wherein: the first station has an associated first user and the second station has an associated second user; and the listing of products transmitted to the first user station identifies a plurality of products corresponding to a predetermined preference of the first user and the listing of products transmitted to the second user station identifies a plurality of products corresponding to other than a predetermined preference of a second user.
20. A system according to claim 1, wherein: each of the plurality of user stations includes a display screen and is further configured to schedule a simultaneous display of the first product related data and a predetermined portion of the video programming on the display screen.
21. A system according to claim 1, wherein: the broadcast information further includes trigger data; each of the plurality of user stations includes a display screen and is further configured to time the display of the first product related data on the display screen based on the trigger data.
22. A system according to claim 21, wherein: the display of the first product related data on the display screen is simultaneous with a display of a predetermined portion of the video programming on the display screen.
23. A system according to claim 1, wherein: in a first mode of operation, the second product related data transmitted by the broadcast station to the user station from which the product related request was transmitted, corresponds to one of
(i) a preference of a user associated with that user station and
(ii) the video programming; and in a second mode of operation, the second product related data transmitted by the broadcast station to the user station from which the product related request was transmitted, corresponds to other than (i) the preference of a user associated with that user station and (ii) the video programming.
24. A method of distributing product related data over a broadcast channel, comprising: broadcasting, via a first channel, information, including video programming and first data related to a product; receiving, via a second channel associated with the first channel, a product related request corresponding to the broadcast first product related data; and transmitting, via the second channel, second data related to the product in response to the received request.
25. A method according to claim 24, wherein: the information is broadcast to a plurality of user stations; the request is received from a one of the plurality of user stations; and the second product related data is transmitted to the one user station.
26. A method according to claim 24, further comprising: queuing the received product related request in one of a high priority queue and a low priority queue; wherein, if the received request is queued in the high priority queue, the second product related data is transmitted within a first time period after receipt of that request and, if the received request is queued in the low priority queue, the second product related data is transmitted within a second time period after receipt of that request, the second time period being longer than the first time period.
27. A method according to claim 26, wherein: the received product related request is queued in the high priority queue if the request is to a purchase the product; and the received product related request is queued in the low priority queue if the request is for information regarding the product itself.
28. A method according to claim 26, wherein: if the received request is queued in the high priority queue, the second product related data is transmitted in real time; if the received request is queued in the low priority queue, the second product related data is transmitted in a batch transmission.
29. A method according to claim 26, wherein: the received product related request includes information indicative of a response priority; and the received product related request is queued based on the indicated response priority.
30. A method according to claim 2 ύ , wherein: the second channel is an out-of-band data path.
31. A method according to claim 30, further comprising: transmitting an executable application via an in-band data path associated with the first channel; and executing the transmitted application to transmit the received product related request.
32. A method according to claim 24, wherein: the second product related information includes a listing of products identifying a plurality of products including the product.
33. A method according to claim 32, wherein: the listing of products identify a plurality of products corresponding to one of (i) a preference of a user associated with the received request and (ii) other than a preference of a user associated with the received request.
34. A method according to claim 24, further comprising: simultaneously displaying the first product related data and a predetermined portion of the video programming.
35. A system according to claim 34, wherein the broadcast information further includes trigger data, and further comprising: timing the display of the first product related data based on the trigger data.
36. A method according to claim 24, wherein: in a first mode of operation, the second product related data corresponds to one of (i) a predetermined preference of a user associated with the request and (ii) the video programming; and in a second mode of operation, the second product related data corresponds to other than (i) the predetermined preference of the user associated with the request and (ii) the video programming.
37. A video distribution system, comprising: a transmitting station configured to transmit video programming, first data related to a product and second data related to the product; and a plurality of reception stations, each configured to be tunable to a broadcast channel in order to receive the transmitted video programming, first product related data, and second product related data.
38. A system according to claim 36, wherein: the video programming is first video programming; the transmitting station is further configured to transmit second video programming, third data related to another product and fourth data related to the other product; and each of the plurality of reception stations is further configured to be tunable to another broadcast channel in order to receive the transmitted second video programming, third product related data, and fourth product related data.
39. A system according to claim 36, wherein: the first product related data is indicative of the availability of the second product related data; and each of the plurality of reception stations is further configured to automatically display the received video programming and an icon representing the received first product related data, to receive a user input indicative of a request for the second product related data, and to display the second product related data responsive to the received user input.
40. A method for distributing video programming, comprising: transmitting video programming, first data related to a product and second data related to the product; and tuning to a broadcast channel in order to receive the transmitted video programming, first product related data, and second product related data.
41. A system according to claim 39, wherein: the video programming is first video programming; the transmitting station is further configured to transmit second video programming, third data related to another product and fourth data related to the other product; and each of the plurality of reception stations is further configured to be tunable to another broadcast channel in order to receive the transmitted second video programming, third product related data, and fourth product related data.
42. A system according to claim 39, wherein the first product related data is indicative of the availability of the second product related data, and further comprising: automatically displaying the received video programming and an icon representing the received first product related data; receiving a user input indicative of a request for the second product related data; and displaying the second product related data responsive to the received user input.
PCT/US2000/023563 1999-08-27 2000-08-28 Video distribution system and method WO2001017256A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU69424/00A AU6942400A (en) 1999-08-27 2000-08-28 Video distribution system and method

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US38418299A 1999-08-27 1999-08-27
US09/384,182 1999-08-27
US64489000A 2000-08-18 2000-08-18
US09/644,890 2000-08-18

Publications (1)

Publication Number Publication Date
WO2001017256A1 true WO2001017256A1 (en) 2001-03-08

Family

ID=27010502

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2000/023563 WO2001017256A1 (en) 1999-08-27 2000-08-28 Video distribution system and method

Country Status (2)

Country Link
AU (1) AU6942400A (en)
WO (1) WO2001017256A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6816628B1 (en) 2000-02-29 2004-11-09 Goldpocket Interactive, Inc. Methods for outlining and filling regions in multi-dimensional arrays
US8356329B2 (en) 2000-02-29 2013-01-15 Ericsson Television, Inc. Method and apparatus for interaction with hyperlinks in a television broadcast

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5418713A (en) * 1993-08-05 1995-05-23 Allen; Richard Apparatus and method for an on demand data delivery system for the preview, selection, retrieval and reproduction at a remote location of previously recorded or programmed materials
US5754939A (en) * 1994-11-29 1998-05-19 Herz; Frederick S. M. System for generation of user profiles for a system for customized electronic identification of desirable objects
EP0849948A2 (en) * 1992-12-09 1998-06-24 Discovery Communications, Inc. Remote control for cable television delivery system
WO1998037696A1 (en) * 1997-02-21 1998-08-27 Herz Frederick S M Broadcast data distribution system with asymmetric uplink/downlink bandwidths
WO1998043437A1 (en) * 1997-03-21 1998-10-01 Canal+ Societe Anonyme Method of and apparatus for transmitting data for interactive tv applications
US5892508A (en) * 1995-04-25 1999-04-06 Bellsouth Corporation System and method for providing television services

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0849948A2 (en) * 1992-12-09 1998-06-24 Discovery Communications, Inc. Remote control for cable television delivery system
US5418713A (en) * 1993-08-05 1995-05-23 Allen; Richard Apparatus and method for an on demand data delivery system for the preview, selection, retrieval and reproduction at a remote location of previously recorded or programmed materials
US5754939A (en) * 1994-11-29 1998-05-19 Herz; Frederick S. M. System for generation of user profiles for a system for customized electronic identification of desirable objects
US5892508A (en) * 1995-04-25 1999-04-06 Bellsouth Corporation System and method for providing television services
WO1998037696A1 (en) * 1997-02-21 1998-08-27 Herz Frederick S M Broadcast data distribution system with asymmetric uplink/downlink bandwidths
WO1998043437A1 (en) * 1997-03-21 1998-10-01 Canal+ Societe Anonyme Method of and apparatus for transmitting data for interactive tv applications

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6816628B1 (en) 2000-02-29 2004-11-09 Goldpocket Interactive, Inc. Methods for outlining and filling regions in multi-dimensional arrays
US8356329B2 (en) 2000-02-29 2013-01-15 Ericsson Television, Inc. Method and apparatus for interaction with hyperlinks in a television broadcast

Also Published As

Publication number Publication date
AU6942400A (en) 2001-03-26

Similar Documents

Publication Publication Date Title
US6711552B1 (en) Apparatus and method for saving commerce related information in a broadcast programming network
US7110714B1 (en) Television commerce system with program identifiers
US7234155B1 (en) Automating commerce on a broadcast programming distribution network
US11455673B2 (en) Methods, systems, and products for ordering items
US20040098747A1 (en) Electronic buying guide architecture
US10116978B2 (en) Mechanism for distributing content data
CA2455809C (en) Television message system
EP2793430B1 (en) Generating media control information in an interactive media content delivery system
US7856646B1 (en) Preparation and utilization of customer profile data in a cable services network
CA2597322A1 (en) Interacting with internet applications via a broadband network on electronic input/output devices
EP1302074A2 (en) Mechanism for distributing content data
WO2001017259A1 (en) Interface for purchasing products in a broadcast programming network
WO2001017261A1 (en) An interface for purchasing products in a broadcast programming network
WO2001017256A1 (en) Video distribution system and method
WO2001017260A1 (en) An interface for purchasing products in a broadcast programming network
WO2001017191A2 (en) Servicing real time request via a network
WO2002005568A2 (en) System and method for enabling television commerce simultaneously for multiple channels for multiple merchants

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AU CA JP

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: JP