CA2319992C - An events capturing system and method for use in an integrated broadcast delivery system - Google Patents
An events capturing system and method for use in an integrated broadcast delivery system Download PDFInfo
- Publication number
- CA2319992C CA2319992C CA002319992A CA2319992A CA2319992C CA 2319992 C CA2319992 C CA 2319992C CA 002319992 A CA002319992 A CA 002319992A CA 2319992 A CA2319992 A CA 2319992A CA 2319992 C CA2319992 C CA 2319992C
- Authority
- CA
- Canada
- Prior art keywords
- event
- subscriber
- access
- system manager
- multicast
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
An event capturing system for use in an integrated multimedia broadcast delivery system extending from a broadcast provider to a subscriber.
The delivery system comprises means for providing multimedia signals configured according to IP (Internet Protocol) format for multicast transmission over a broadband network and a system manager for providing interactive access to the multimedia signals by the subscriber through conversion means (being either a decoder in a set top box and a television or a decoder in a computer and a computer monitor at the subscriber's location) configured for converting the IP
multicast format signal into a format for display on a television or computer monitor.
An interactive program guide (IPG) is provided to the subscriber for accessing the broadcast signal. The event capturing system comprises an event collection component configured for identifying the occurrence of an event associated with the system manager and/or said subscriber access and for forwarding for storage in a first memory location information which identifies the event. Each of the identification of the event and storage of the event information are advantageously performed in real time. Preferably, some or all of the information is also stored in a second memory location for direct access by another component of the system manager and statistical analyses are performed based on the information stored for a plurality of the identified events.
The delivery system comprises means for providing multimedia signals configured according to IP (Internet Protocol) format for multicast transmission over a broadband network and a system manager for providing interactive access to the multimedia signals by the subscriber through conversion means (being either a decoder in a set top box and a television or a decoder in a computer and a computer monitor at the subscriber's location) configured for converting the IP
multicast format signal into a format for display on a television or computer monitor.
An interactive program guide (IPG) is provided to the subscriber for accessing the broadcast signal. The event capturing system comprises an event collection component configured for identifying the occurrence of an event associated with the system manager and/or said subscriber access and for forwarding for storage in a first memory location information which identifies the event. Each of the identification of the event and storage of the event information are advantageously performed in real time. Preferably, some or all of the information is also stored in a second memory location for direct access by another component of the system manager and statistical analyses are performed based on the information stored for a plurality of the identified events.
Description
AN EVENTS CAPTURING SYSTEM AND METHOD FOR
USE IN AN INTEGRATED BROADCAST DELIVERY SYSTEM
Field of the Invention The invention claimed herein relates generally to a computer application for a multimedia (e.g. TV, video, Website, etc.) delivery system and, more particularly, 1 o to a system and method for identifying and processing occurrences of predefined events within the delivery system such as a customer's pay-per-view orders or internal system alarms, or for purposes of market research by capturing a consumer's viewing behavior.
Background of the Invention An integrated network/multimedia management system provided by the parent PCT application No. PCT/CA99/00505 enables interactive subscription television (multimedia) services to be delivered over private managed broadband networks using either a PC-based interface that enables the PC to receive, select and process television signals for output to a PC monitor or a set-top box interface
USE IN AN INTEGRATED BROADCAST DELIVERY SYSTEM
Field of the Invention The invention claimed herein relates generally to a computer application for a multimedia (e.g. TV, video, Website, etc.) delivery system and, more particularly, 1 o to a system and method for identifying and processing occurrences of predefined events within the delivery system such as a customer's pay-per-view orders or internal system alarms, or for purposes of market research by capturing a consumer's viewing behavior.
Background of the Invention An integrated network/multimedia management system provided by the parent PCT application No. PCT/CA99/00505 enables interactive subscription television (multimedia) services to be delivered over private managed broadband networks using either a PC-based interface that enables the PC to receive, select and process television signals for output to a PC monitor or a set-top box interface
2 o which provides similar signal processing but for output to a television display through a set-top box.
The broadband network architecture is non-proprietary, standards based and hardware independent. It exploits three technologies: MPEG, IP multicasting, and broadband transmission. MPEG provides a high quality video and audio data format that supports all major TV standards, including NTSC, PAL, and HDTV. 1P
multicasting provides an efficient way to broadcast data to many recipients simultaneously from one source. Broadband transmission technology, such as xDSL, providE;s the bandwidth necessary to deliver multiple data streams over a single medium such as twisted-pair copper wire or fiber optic: cable. Using these technologies in combination with the integrated networklmultimedia management system developed by the assignee of this application (see F'CT Application No.
PCT/CA99/00505 filed 3 June, 1999) companies are able to deliver television services on networks that currently deliver telephone, Internet, and/or power services.
The services platform of said assignee's network/multimedia management system (referred to herein as the "system manager") comprises both subscriber u0 and operations components the former providing the front-end, interactive television services that drive business growth, like an interactive program guide, self-service pay-per-view (PPV) and integrated Internet, and the latter providing the back-end management tools that support business operations, like a billing management component and consumer provisioning component for managing :_5 subscription packages.
Knowledge of certain events occurring within a multimedia delivery system is important for purposes of providing an acceptable service-level of responsiveness and also for purposes of capturing and processing statistical information such as information concerning consumers' viewing behaviour. One a 0 of the operations components of the system manager, as described and claimed herein, advantageously identifies and processes occurrences of pre-specified events within the delivery system.
Prior systems for monitoring consumers' reception/viewing behaviour for television broadcasts has relied upon a combination of manual diaries and installed a: 5 hardware referred to as ''people meters" but such monitoring means is intrusive (not invisible to the consumer) and is limited in terms of the information it is able to collect on a real time basis. Further, prior systems for billing for a pay-per-view type of service typically involve, in some manner, the intervention of a customer service representative.
Summar~of the Invention In accordance with the invention there is provided an event capturing system s for use in an integrated multimedia broadcast delivery system extending from a broadcast provider to a subscriber. The delivery system comprises means for providing multimedia signals configured according to IP (Internet Protocol) format for multicast transmission over a broadband network and a system manager for providing interactive access to the multimedia signals by the subscriber through to conversion means, being either a decoder in a set top box and a television or a decoder in a computer and a computer monitor at the subscriber's location, configured for converting the IP multicast format signal into a format for display on the television or monitor. An interactive program guide (/PG) is provided to the subscriber for accessing the broadcast signal. The event capturing system 1 s comprises an event collection component configured for identifying the occurrence of an event associated with the system manager and/or the subscriber access and for forwarding for storage in a first memory location information which identifies the event. Advantageously, the collection component identifies the occurrence of an event in real time. The event may determine a selection and retrieval of an IP
2 o multicast stream of the multimedia broadcast by the subscriber, an alarm within the system manager or the conversion means at the subscriber's location or a step taken by a component of the system manager. Preferably, some or all of the information is also stored in real time in a second memory location for direct access by another component of the system manager. Preferably, a statistical analysis 2 s component is provided for performing statistical analyses based on the information stored for a plurality of events identified by the event capturing component.
Also in accordance with the invention there is provided a method for capturing an event in an integrated multimedia broadcast delivery system extending
The broadband network architecture is non-proprietary, standards based and hardware independent. It exploits three technologies: MPEG, IP multicasting, and broadband transmission. MPEG provides a high quality video and audio data format that supports all major TV standards, including NTSC, PAL, and HDTV. 1P
multicasting provides an efficient way to broadcast data to many recipients simultaneously from one source. Broadband transmission technology, such as xDSL, providE;s the bandwidth necessary to deliver multiple data streams over a single medium such as twisted-pair copper wire or fiber optic: cable. Using these technologies in combination with the integrated networklmultimedia management system developed by the assignee of this application (see F'CT Application No.
PCT/CA99/00505 filed 3 June, 1999) companies are able to deliver television services on networks that currently deliver telephone, Internet, and/or power services.
The services platform of said assignee's network/multimedia management system (referred to herein as the "system manager") comprises both subscriber u0 and operations components the former providing the front-end, interactive television services that drive business growth, like an interactive program guide, self-service pay-per-view (PPV) and integrated Internet, and the latter providing the back-end management tools that support business operations, like a billing management component and consumer provisioning component for managing :_5 subscription packages.
Knowledge of certain events occurring within a multimedia delivery system is important for purposes of providing an acceptable service-level of responsiveness and also for purposes of capturing and processing statistical information such as information concerning consumers' viewing behaviour. One a 0 of the operations components of the system manager, as described and claimed herein, advantageously identifies and processes occurrences of pre-specified events within the delivery system.
Prior systems for monitoring consumers' reception/viewing behaviour for television broadcasts has relied upon a combination of manual diaries and installed a: 5 hardware referred to as ''people meters" but such monitoring means is intrusive (not invisible to the consumer) and is limited in terms of the information it is able to collect on a real time basis. Further, prior systems for billing for a pay-per-view type of service typically involve, in some manner, the intervention of a customer service representative.
Summar~of the Invention In accordance with the invention there is provided an event capturing system s for use in an integrated multimedia broadcast delivery system extending from a broadcast provider to a subscriber. The delivery system comprises means for providing multimedia signals configured according to IP (Internet Protocol) format for multicast transmission over a broadband network and a system manager for providing interactive access to the multimedia signals by the subscriber through to conversion means, being either a decoder in a set top box and a television or a decoder in a computer and a computer monitor at the subscriber's location, configured for converting the IP multicast format signal into a format for display on the television or monitor. An interactive program guide (/PG) is provided to the subscriber for accessing the broadcast signal. The event capturing system 1 s comprises an event collection component configured for identifying the occurrence of an event associated with the system manager and/or the subscriber access and for forwarding for storage in a first memory location information which identifies the event. Advantageously, the collection component identifies the occurrence of an event in real time. The event may determine a selection and retrieval of an IP
2 o multicast stream of the multimedia broadcast by the subscriber, an alarm within the system manager or the conversion means at the subscriber's location or a step taken by a component of the system manager. Preferably, some or all of the information is also stored in real time in a second memory location for direct access by another component of the system manager. Preferably, a statistical analysis 2 s component is provided for performing statistical analyses based on the information stored for a plurality of events identified by the event capturing component.
Also in accordance with the invention there is provided a method for capturing an event in an integrated multimedia broadcast delivery system extending
3 from a broadcast provider to a subscriber as aforesaid, the method comprising identifying the occurrence of an event associated with the system manager and/or the subscriber access and forwarding for storage in a first memory location information which identifies the event. Each of the identification of the event and storage of the event information are advantageously performed in real time.
Preferably, some or all of the information is also stored in a second memory location for direct access by another component of the system manager.
Preferably, statistical analyses are performed based on the information stored for a plurality of the identified events.
1 o Brief Description of the Drawings The present invention will now be described in greater detail with reference to the following drawings in which like reference numerals refer to like elements throughout.
Figure 1 is a block diagram of an exemplary television (multimedia) broadcast delivery system (hereinafter referred to as the "delivery system") for which use of the present invention is contemplated;
Figure 2 is a further block diagram of the delivery system;
Figure 3 is a schematic block diagram of the elements of the delivery system and the operational components of the system manager;
2 o Figure 4 is a schematic operational diagram of the delivery system and system manager;
Figure 5 is a schematic diagram illustrating a layered relationship of the components of the delivery system and system manager;
Figure 6 is an exemplary interactive program guide (IPG) generated by the 2 s system manager for display by a television through a set-top box;
Figure 7 is another exemplary interactive program guide (IPG) generated by the system manager for display by a personal computer (PC);
Preferably, some or all of the information is also stored in a second memory location for direct access by another component of the system manager.
Preferably, statistical analyses are performed based on the information stored for a plurality of the identified events.
1 o Brief Description of the Drawings The present invention will now be described in greater detail with reference to the following drawings in which like reference numerals refer to like elements throughout.
Figure 1 is a block diagram of an exemplary television (multimedia) broadcast delivery system (hereinafter referred to as the "delivery system") for which use of the present invention is contemplated;
Figure 2 is a further block diagram of the delivery system;
Figure 3 is a schematic block diagram of the elements of the delivery system and the operational components of the system manager;
2 o Figure 4 is a schematic operational diagram of the delivery system and system manager;
Figure 5 is a schematic diagram illustrating a layered relationship of the components of the delivery system and system manager;
Figure 6 is an exemplary interactive program guide (IPG) generated by the 2 s system manager for display by a television through a set-top box;
Figure 7 is another exemplary interactive program guide (IPG) generated by the system manager for display by a personal computer (PC);
4 Figure 8 is a block diagram of the network of the delivery system showing the inclusion of central past TV servers/data banks for providing the pay-per-view applications of the system manager;
Figure 9 is an exemplary player window and virtual remote control generated by the system manager for display by a personal computer (PC); and, Figure 10 is an exemplary database architectural model of data fields configured for use by the events capturing component described herein in accordance with the present invention.
Detailed Description of a Preferred Embodiment i o Multimedia Delivery System and System Manager Component:
Figure 1 is a high-level block diagram of the basic elements of an exemplary multimedia delivery system as contemplated herein; for the convenience of the reader a glossary of several terms used herein, setting out their well-known meaning in the communications art, is provided herein as Appendix A. At the head-end 24 of the system a multimedia (e.g. video) source 12 retrieves signals for broadcast from various sources such as satellites in the form of MPEG-compliant, Multi-Program Transport Streams (MPTS) and these signals are delivered to (analog-to-digital) video encoders 14 or (digital-to-digital) transcoders 130 where they are converted to one or more IP Multicast Single-Program Transport Streams 2 0 (SPTS). The encoder 14 encodes analog video and audio inputs. The transcoder 130 decodes digital video and audio signals, perhaps high-speed MPEG video SPTS or MPTS, and re-encodes them into a format which is suitable for the STB
22 or PC 30. Each IP multicast SPTS is a packetized MPEG stream which is subsequently sent out over a broadcast provider network 16 to a Digital Subscriber Line Access Multiplexer (DSLAM 18) 18 which might be located in a telephone company central office. The DSLAM 18 serves two purposes: firstly, it connects broadband lines in the transport network to xDSL lines in the access network and, secondly, it separates high-speed data from voice data, putting high speed data on the data network and low speed data on the conventional phone system. This
Figure 9 is an exemplary player window and virtual remote control generated by the system manager for display by a personal computer (PC); and, Figure 10 is an exemplary database architectural model of data fields configured for use by the events capturing component described herein in accordance with the present invention.
Detailed Description of a Preferred Embodiment i o Multimedia Delivery System and System Manager Component:
Figure 1 is a high-level block diagram of the basic elements of an exemplary multimedia delivery system as contemplated herein; for the convenience of the reader a glossary of several terms used herein, setting out their well-known meaning in the communications art, is provided herein as Appendix A. At the head-end 24 of the system a multimedia (e.g. video) source 12 retrieves signals for broadcast from various sources such as satellites in the form of MPEG-compliant, Multi-Program Transport Streams (MPTS) and these signals are delivered to (analog-to-digital) video encoders 14 or (digital-to-digital) transcoders 130 where they are converted to one or more IP Multicast Single-Program Transport Streams 2 0 (SPTS). The encoder 14 encodes analog video and audio inputs. The transcoder 130 decodes digital video and audio signals, perhaps high-speed MPEG video SPTS or MPTS, and re-encodes them into a format which is suitable for the STB
22 or PC 30. Each IP multicast SPTS is a packetized MPEG stream which is subsequently sent out over a broadcast provider network 16 to a Digital Subscriber Line Access Multiplexer (DSLAM 18) 18 which might be located in a telephone company central office. The DSLAM 18 serves two purposes: firstly, it connects broadband lines in the transport network to xDSL lines in the access network and, secondly, it separates high-speed data from voice data, putting high speed data on the data network and low speed data on the conventional phone system. This
5 allows concurrent use of the telephone and the system manager components on the same phone line. An IP Multicast signal from the DSLAM 18 is delivered to a subscriber's residence overan xDSL link such as an Asymmetric Digital Subscriber Line (ADSL), where it is received by an ADSL modem 20 and delivered to a client s server such as a set top box (STB) 22 or a PC 30. More precisely, xDSL lines connect the DSLAM 18 to an ethernet interface on the xDSL modem, and a 10BaseT cable connects the ethernet interface on the xDSL modem to an ethernet interface card on the set-top or PC.
The delivery system comprises software for enabling a service provider to to offer broadcast television over Internet Protocol (1P), including IP
multicast and unicast, which allows channel browsing by selecting and retrieving IP
multicast streams. 1P multicast is characterized by the sending out of data to distributed servers on a multicast backbone network. For large amounts of data (including video transmissions), IP multicast is more efficient than normal Internet unicast 1 s transmissions because the server can broadcast a message to many recipients simultaneously. Unlike traditionallnternettrafficthatrequiresseparateconnections foreach source-destination pair, IP multicasting allows many recipients to share the same source. This means that just one set of packets is required to be transmitted for all the destinations.
2 o If the bit rate of the satellite transmission is not greater than 1 MBPS
the signal may be transcoded directly to IP multicast MPEG. This takes existing digital transmissions from a satellite and reprocesses them for delivery on an IP
Multicast delivery system. The advantages of this are that it lowers the cost of head-end equipment 24 (satellite dish, etc.) by replacing the encoder 14 with a transcoder 2 s 130, and it also maximizes the quality of the signal being delivered from a digital signal source at the head-end (since it is only digitized once, and remains that way). At the broadcast provider location a split/distributed head-end (signal from satellite) can also be employed to optimize transport facility cost. As shown in
The delivery system comprises software for enabling a service provider to to offer broadcast television over Internet Protocol (1P), including IP
multicast and unicast, which allows channel browsing by selecting and retrieving IP
multicast streams. 1P multicast is characterized by the sending out of data to distributed servers on a multicast backbone network. For large amounts of data (including video transmissions), IP multicast is more efficient than normal Internet unicast 1 s transmissions because the server can broadcast a message to many recipients simultaneously. Unlike traditionallnternettrafficthatrequiresseparateconnections foreach source-destination pair, IP multicasting allows many recipients to share the same source. This means that just one set of packets is required to be transmitted for all the destinations.
2 o If the bit rate of the satellite transmission is not greater than 1 MBPS
the signal may be transcoded directly to IP multicast MPEG. This takes existing digital transmissions from a satellite and reprocesses them for delivery on an IP
Multicast delivery system. The advantages of this are that it lowers the cost of head-end equipment 24 (satellite dish, etc.) by replacing the encoder 14 with a transcoder 2 s 130, and it also maximizes the quality of the signal being delivered from a digital signal source at the head-end (since it is only digitized once, and remains that way). At the broadcast provider location a split/distributed head-end (signal from satellite) can also be employed to optimize transport facility cost. As shown in
6 Figure 2, the video source may be a satellite located at head-end 24, which may be operated by a broadcast provider such as a telephone company or other service provider. The head end 24, and a system server complex 40, interface with a broadband network 26 through an IP multicast router 28 and a transport router 42, respectively.
Digital video equipment gathers, processes, and distributes video. This equipment can include satellite dishes, satellite receiver units, encoders, remultiplexers, video servers, and IP gateways. Encoders and remultiplexers process live video, and video servers support the distribution of stored video.
to Encoders and remultiplexers perform two main functions: firstly, they convert individual MPEG-compliant, Multi-Program Transport Streams (MPTS) from satellite into one or more IP multicast Single Program Transport Streams (SPTS) in real time and, secondly, they multicast the I P SPTS's over the service provider's I P network.
i s The server complex of the system manager (also designated as "DTVM" or "Digital TV Manager" herein) 40 contains vital software components and comprises two main servers, namely, a system manager (DTVM) server and a database server. The DTVM server incorporates standard web server software, and other standard software, such as JVM (Java Virtual Machine), DHCP/BootP, RPC, and 2 o NFS. The database server runs standard database software and stores all data for consumers (such as IPG data) including events data.
The broadband network is IP Multicast compatible and has sufficient bandwidth capacity to transport encoded video signals. A subscriber to the broadcast service has access to the network via a broadband link. Examples of 2 s broadband links include Digital Subscriber Line (xDSL) (such as Asymmetric Digital Subscriber Line (ADSL)) Asynchronous Transfer Mode (ATM), Frame Relay, Synchronous Optical Network (SONET), Local Multipoint Distribution System (LMDS), Hybrid Fiber Coax (HFC), or Fiber To The Home (FTTH). xDSL is of particular significance because it allows a broadcast provider to deliver programming to residential communities over existing copper wire (i.e. the twisted pairs linking the customer premises to the telecommunications network) without s having to delay introduction of the service until the other access technologies become widely available.
The subscriber can access the TV broadcast with either a personal computer (PC) 30 having an associated monitor or a television 32 with a set top box (STB) 22 such that, in essence, the STBs and PC's act as network computers.
to Each PC and STB is configured from downloaded multicasted data sources and uses a head-end server for persistent storage. Accordingly, the consumer access 20 operates out of memory rather than a hard disk and this means that there is no dependence at the consumer end on moving parts and this, in turn, provides improved performance, decreased costs, reduced noise and fewer equipment 15 failures and facilitates automatic software upgrades. Dependence on servers at the consumer end is minimized and servers are not required for regular television viewing or web browsing. Once an STP or PC boots up, basic television viewing depends only on the availability of the video source and the associated network.
The set top box 22 includes decoding circuitry for decoding MPEG-1 and/or 2 o MPEG2 as well as IP Multicast. To view the broadcast from a PC 30 it is equipped with appropriate software and may optionally be equipped with an associated MPEG card. Preferably, the STB 22 is activated by an interface unit such as a keyboard or remote device 23.
As shown in Figures 1 and 2 the broadcast provider is able to access 2 s television broadcast signals from various sources such as satellite 12, off-air broadcast or a static source such as a storage medium containing movies or the like. The service provider encodes the broadcast signal (MPEG) and makes it s available to service subscribers (i.e. consumer users of the delivery system) through the broadband network 26 using the Internet protocol (1P). The system manager 40 is linked to the network 26 via a transport router 42 and provides end to-end management of services and resources provided by the integrated s broadcast delivery system.
Figure 3 shows the architectural configuration of the delivery system including the consumer end appliances (PC and/or STB), the broad band IP
network and the DTVM components. Figure 3 also shows another aspect of the deliverable services, i.e. Internet access 56. User access to the network is through an xDSL access element such as an ADSL Transmission Unit (ATU) 20. The broadband IP network and services section includes access router 28 and the transport network 'cloud' 26. The transport network 26 has access to various features running parallel to the head-end such as video-on-demand (VOD) 50 and near video-on-demand (NVOD) 52, and other on-demand applications including 15 a virtual digital video recorder (VDVR) application 100, a "timeless" TV
application and a TV-on-demand application, as well as e-mail 54 and Web access through the Internet 56.
For standard broadcast signals and pay-per-view (PPV) or near video on demand (NVOD) services a multicast IP protocol is used in order to make efficient 2 o use of bandwidth. With this protocol numerous subscribers can have access to a program at the same time. For true video-on-demand service (VOD, VDVR, timelessTV and TV-on-Demand), however, a unicast IP protocol is used. The DTVM software application 40 provides several features to a subscriber of the delivery and manager systems. These include but are not limited to customer 2s profile management 68, billing and reporting 84, Interactive Program Guide (IPG) access 60, connection and channel packaging 104 including a self-service option 71, channel blocking (not shown), on-line multilingual support (not shown) and information banner functions 64.
Figure 4 is an operational schematic diagram of the broadcast delivery system. The Digital Subscriber Line Access Multiplexer (DSLAM 18) 18 at the edge of the high speed IP network is a network device which may be located at a telephone company central office. The DSLAM 18 enables a telephone company s to provide subscribers with xDSL, such as ADSL, technology and to connect the subscriber to a fast backbone such as an ATM transport network 26. The ATM
network routes the various broadcast services, previously mentioned, to the DSLAM 18 which, in turn, makes them accessible to subscribers via their PC 30 and/or STB 22. Figure 5 shows in a layer format the relationship between suppliers to of the various components of the overall TV broadcast delivery system. At the bottom layer (layer 1 ) are the equipment and appliance suppliers such as set top box and computer suppliers, etc. The second layer (layer 2) represents the service provider such as a Telco who make available the IP and other protocols necessary to transport the video and furnish the manager application functions between the 1 s service provider and subscriber. The third layer (layer 3) includes the application functionality of the DTVM. As indicated in Figure 5, these include consumer 80 and administration 82 service components, reporting and billing components 84 and IPG 65 and browser 75 components.
The system manager (DTVM) utilizes some standards-based components 2 o and its components can be categorized into two groups, namely, client and server components. Client components run locally on the STB or PC and provide three capabilities: firstly, they provide viewing capability based on a user profile;
secondly, they provide business rules based on a user profile that specify permissions and restrictions to resources; and, thirdly, they forward events and 2 s registration information to the server. Registration information includes, among other things, the IP address of each device. Server components generate, manage, and update the data that is sent to the STB or PC. Server components also organize data according to a user profile. The DTVM may run on a Sun Solaris platform (this currently being a preferred platform) but the platform used will be dictated by the service provider based on its needs.
The DTVM uses four components that are installed the STB or PC, namely, an MPEG player, a browser, a networking API and a windowing API. The MPEG
player supports video viewing and browser supports web browsing. The networking API supports the protocols used by the DTVM applications such as IP, NFS, and MPEG. The windowing API specifies what interface screens can be drawn and how. Within the DTVM software there are many components which perform the following functions: management of the display of all content (including MPEG
to video, Interactive Program Guide (IPG), and web pages), processing of remote control commands, providing time measurement ability, sending of events data to the server, listening for updates from the server in the IP multicast stream, prompting the user for registration input, sending retrieved data to the server for further processing, and registering STB or PC with the DTVM/service provider.
An SNMP Management Information Base (MIB) component is also provided in each STB or PC which, conventionally, uses SNMP to query and reset remote indicators (i.e. receives and responds to SNMP compliant messages) and, unconventionally, uses SNMP to update consumer specific data on client devices for purposes of remote diagnostics, notification of new data availability and reminders or news 2 o items.
Several "off the shelf' server components are used by the system manager and they play the following roles:
~ A web server stores servlets that support administration (provisioning, remote diagnostics, etc.) and self service (pay-per-view, channel blocking, etc.) 2 5 transactions and standard products such as the NetscapeT"" Enterprise Server and ApacheT"" are used in this.
~ JDBC (JavaT"" Database Connectivity) and SQL*NETT"' are used to enable the Java applications of the DTVM to access the database.
m ~ A database stores all data for consumers, the IPG, events, etc., and the persistence architecture of the DTVM is able to support multiple database models, including OracIeT"' and SyQuestT"".
~ The operating system layer provides BootP/DHCP and NFS components to s support set top box boot up and profile retrieval.
The DTVM server components are written in the JavaT"" programming language and their roles are as follows:
~ DTVM uses two daemons (i.e. automated background processing modules):
multicast and Remote Procedure Call ('RPC'). The multicast daemon broadcasts 1 o multicast data content to specific multicast addresses to deliver data to the STB or PC. The RPC daemon forwards events data and registration information from the STB or PC to the database server. The RPC daemon also has an RMI (Remote Method Invocation) interface to support distributed Java applications. Both daemons use the SunT"" native JVM (Java Virtual Machine).
is ~ Batch transactions automate the IPG update process. The IPG update process consists of three phases: in phase one a retrieval process uses FTP to retrieve a data file from the data provider that contains television programming data, in phase two a mapping process maps the data file to the database and in phase three a preparation process formats and forwards the IPG data to the multicast server.
20 ~ Servlets may be used to generate HTML pages that support service administration and self service transactions and also to invoke persistence architecture components in order to make changes to the database.
Alternatively, JSP (Java Servlet Pages) and applets may be used (instead of servlets) if increased configurability and interactivity of self-service screens is desired.
2 s ~ Persistence architecture components facilitate connections and exchanges between Java business objects and database tables.
The subscriber accesses the IPG through components in the STB 22 or or PC 30. Some memory may be available locally for storing specific information, or alternatively, the entire IPG may be maintained in the network. The subscriber uses the remote control or keyboard/mouse 23 for interfacing with the IPG
displayed on the television or computer monitor the interactive nature of the IPG
gives a subscriber control over many aspects of the broadcast system. Program s scheduling information may be presented in a form as shown in Figures 6 and
Digital video equipment gathers, processes, and distributes video. This equipment can include satellite dishes, satellite receiver units, encoders, remultiplexers, video servers, and IP gateways. Encoders and remultiplexers process live video, and video servers support the distribution of stored video.
to Encoders and remultiplexers perform two main functions: firstly, they convert individual MPEG-compliant, Multi-Program Transport Streams (MPTS) from satellite into one or more IP multicast Single Program Transport Streams (SPTS) in real time and, secondly, they multicast the I P SPTS's over the service provider's I P network.
i s The server complex of the system manager (also designated as "DTVM" or "Digital TV Manager" herein) 40 contains vital software components and comprises two main servers, namely, a system manager (DTVM) server and a database server. The DTVM server incorporates standard web server software, and other standard software, such as JVM (Java Virtual Machine), DHCP/BootP, RPC, and 2 o NFS. The database server runs standard database software and stores all data for consumers (such as IPG data) including events data.
The broadband network is IP Multicast compatible and has sufficient bandwidth capacity to transport encoded video signals. A subscriber to the broadcast service has access to the network via a broadband link. Examples of 2 s broadband links include Digital Subscriber Line (xDSL) (such as Asymmetric Digital Subscriber Line (ADSL)) Asynchronous Transfer Mode (ATM), Frame Relay, Synchronous Optical Network (SONET), Local Multipoint Distribution System (LMDS), Hybrid Fiber Coax (HFC), or Fiber To The Home (FTTH). xDSL is of particular significance because it allows a broadcast provider to deliver programming to residential communities over existing copper wire (i.e. the twisted pairs linking the customer premises to the telecommunications network) without s having to delay introduction of the service until the other access technologies become widely available.
The subscriber can access the TV broadcast with either a personal computer (PC) 30 having an associated monitor or a television 32 with a set top box (STB) 22 such that, in essence, the STBs and PC's act as network computers.
to Each PC and STB is configured from downloaded multicasted data sources and uses a head-end server for persistent storage. Accordingly, the consumer access 20 operates out of memory rather than a hard disk and this means that there is no dependence at the consumer end on moving parts and this, in turn, provides improved performance, decreased costs, reduced noise and fewer equipment 15 failures and facilitates automatic software upgrades. Dependence on servers at the consumer end is minimized and servers are not required for regular television viewing or web browsing. Once an STP or PC boots up, basic television viewing depends only on the availability of the video source and the associated network.
The set top box 22 includes decoding circuitry for decoding MPEG-1 and/or 2 o MPEG2 as well as IP Multicast. To view the broadcast from a PC 30 it is equipped with appropriate software and may optionally be equipped with an associated MPEG card. Preferably, the STB 22 is activated by an interface unit such as a keyboard or remote device 23.
As shown in Figures 1 and 2 the broadcast provider is able to access 2 s television broadcast signals from various sources such as satellite 12, off-air broadcast or a static source such as a storage medium containing movies or the like. The service provider encodes the broadcast signal (MPEG) and makes it s available to service subscribers (i.e. consumer users of the delivery system) through the broadband network 26 using the Internet protocol (1P). The system manager 40 is linked to the network 26 via a transport router 42 and provides end to-end management of services and resources provided by the integrated s broadcast delivery system.
Figure 3 shows the architectural configuration of the delivery system including the consumer end appliances (PC and/or STB), the broad band IP
network and the DTVM components. Figure 3 also shows another aspect of the deliverable services, i.e. Internet access 56. User access to the network is through an xDSL access element such as an ADSL Transmission Unit (ATU) 20. The broadband IP network and services section includes access router 28 and the transport network 'cloud' 26. The transport network 26 has access to various features running parallel to the head-end such as video-on-demand (VOD) 50 and near video-on-demand (NVOD) 52, and other on-demand applications including 15 a virtual digital video recorder (VDVR) application 100, a "timeless" TV
application and a TV-on-demand application, as well as e-mail 54 and Web access through the Internet 56.
For standard broadcast signals and pay-per-view (PPV) or near video on demand (NVOD) services a multicast IP protocol is used in order to make efficient 2 o use of bandwidth. With this protocol numerous subscribers can have access to a program at the same time. For true video-on-demand service (VOD, VDVR, timelessTV and TV-on-Demand), however, a unicast IP protocol is used. The DTVM software application 40 provides several features to a subscriber of the delivery and manager systems. These include but are not limited to customer 2s profile management 68, billing and reporting 84, Interactive Program Guide (IPG) access 60, connection and channel packaging 104 including a self-service option 71, channel blocking (not shown), on-line multilingual support (not shown) and information banner functions 64.
Figure 4 is an operational schematic diagram of the broadcast delivery system. The Digital Subscriber Line Access Multiplexer (DSLAM 18) 18 at the edge of the high speed IP network is a network device which may be located at a telephone company central office. The DSLAM 18 enables a telephone company s to provide subscribers with xDSL, such as ADSL, technology and to connect the subscriber to a fast backbone such as an ATM transport network 26. The ATM
network routes the various broadcast services, previously mentioned, to the DSLAM 18 which, in turn, makes them accessible to subscribers via their PC 30 and/or STB 22. Figure 5 shows in a layer format the relationship between suppliers to of the various components of the overall TV broadcast delivery system. At the bottom layer (layer 1 ) are the equipment and appliance suppliers such as set top box and computer suppliers, etc. The second layer (layer 2) represents the service provider such as a Telco who make available the IP and other protocols necessary to transport the video and furnish the manager application functions between the 1 s service provider and subscriber. The third layer (layer 3) includes the application functionality of the DTVM. As indicated in Figure 5, these include consumer 80 and administration 82 service components, reporting and billing components 84 and IPG 65 and browser 75 components.
The system manager (DTVM) utilizes some standards-based components 2 o and its components can be categorized into two groups, namely, client and server components. Client components run locally on the STB or PC and provide three capabilities: firstly, they provide viewing capability based on a user profile;
secondly, they provide business rules based on a user profile that specify permissions and restrictions to resources; and, thirdly, they forward events and 2 s registration information to the server. Registration information includes, among other things, the IP address of each device. Server components generate, manage, and update the data that is sent to the STB or PC. Server components also organize data according to a user profile. The DTVM may run on a Sun Solaris platform (this currently being a preferred platform) but the platform used will be dictated by the service provider based on its needs.
The DTVM uses four components that are installed the STB or PC, namely, an MPEG player, a browser, a networking API and a windowing API. The MPEG
player supports video viewing and browser supports web browsing. The networking API supports the protocols used by the DTVM applications such as IP, NFS, and MPEG. The windowing API specifies what interface screens can be drawn and how. Within the DTVM software there are many components which perform the following functions: management of the display of all content (including MPEG
to video, Interactive Program Guide (IPG), and web pages), processing of remote control commands, providing time measurement ability, sending of events data to the server, listening for updates from the server in the IP multicast stream, prompting the user for registration input, sending retrieved data to the server for further processing, and registering STB or PC with the DTVM/service provider.
An SNMP Management Information Base (MIB) component is also provided in each STB or PC which, conventionally, uses SNMP to query and reset remote indicators (i.e. receives and responds to SNMP compliant messages) and, unconventionally, uses SNMP to update consumer specific data on client devices for purposes of remote diagnostics, notification of new data availability and reminders or news 2 o items.
Several "off the shelf' server components are used by the system manager and they play the following roles:
~ A web server stores servlets that support administration (provisioning, remote diagnostics, etc.) and self service (pay-per-view, channel blocking, etc.) 2 5 transactions and standard products such as the NetscapeT"" Enterprise Server and ApacheT"" are used in this.
~ JDBC (JavaT"" Database Connectivity) and SQL*NETT"' are used to enable the Java applications of the DTVM to access the database.
m ~ A database stores all data for consumers, the IPG, events, etc., and the persistence architecture of the DTVM is able to support multiple database models, including OracIeT"' and SyQuestT"".
~ The operating system layer provides BootP/DHCP and NFS components to s support set top box boot up and profile retrieval.
The DTVM server components are written in the JavaT"" programming language and their roles are as follows:
~ DTVM uses two daemons (i.e. automated background processing modules):
multicast and Remote Procedure Call ('RPC'). The multicast daemon broadcasts 1 o multicast data content to specific multicast addresses to deliver data to the STB or PC. The RPC daemon forwards events data and registration information from the STB or PC to the database server. The RPC daemon also has an RMI (Remote Method Invocation) interface to support distributed Java applications. Both daemons use the SunT"" native JVM (Java Virtual Machine).
is ~ Batch transactions automate the IPG update process. The IPG update process consists of three phases: in phase one a retrieval process uses FTP to retrieve a data file from the data provider that contains television programming data, in phase two a mapping process maps the data file to the database and in phase three a preparation process formats and forwards the IPG data to the multicast server.
20 ~ Servlets may be used to generate HTML pages that support service administration and self service transactions and also to invoke persistence architecture components in order to make changes to the database.
Alternatively, JSP (Java Servlet Pages) and applets may be used (instead of servlets) if increased configurability and interactivity of self-service screens is desired.
2 s ~ Persistence architecture components facilitate connections and exchanges between Java business objects and database tables.
The subscriber accesses the IPG through components in the STB 22 or or PC 30. Some memory may be available locally for storing specific information, or alternatively, the entire IPG may be maintained in the network. The subscriber uses the remote control or keyboard/mouse 23 for interfacing with the IPG
displayed on the television or computer monitor the interactive nature of the IPG
gives a subscriber control over many aspects of the broadcast system. Program s scheduling information may be presented in a form as shown in Figures 6 and
7 (Figure 6 showing a STB IPG and Figure 7 showing a PC IPG). With this listing displayed on a TV monitor or computer display the user can scan the channel line-up 126 and program schedule cells 123 listed on the display, choose, highlight and then click on a desired program and the television or computer will then to automatically retrieve the selected IP multicast stream. In addition, as indicated in Figures 6 and 7, another clicking configuration may display a brief information banner 121 with relevant data concerning program content and timing for a highlighted selection (i.e. "Travel with Beth" in Figure 6 and "Debbie Travis' Painted House" in Figure 7). Additionally, a user can click on a desired program and select 1 s it for recording (i.e. utilizing the VDVR application). The DTVM in conjunction with the IPG provides a subscriber with the ability to channel browse for TV
programs and/or Web sites and order pay-per-view programs. In the preferred embodiment a seven day channel lineup with scheduled automatic refresh is provided. The IPG
client software is automatically updated by the system at regular intervals.
The data 2 o provider must provide programming data in a pipe delimited tent file once every 24 hours, or such other period as may be appropriate. The DTVM system transfers data from the text file into the service provider's database and then multicasts IPG
data from the service provider's database across the network to the user on the PC
display or television.
2s In the PC environment, as shown by Figure 7, the IPG information is displayed on the PC's monitor for programs that are currently in progress as well as future scheduled programs. Using a keyboard or mouse, the consumer is able to: use a seven-day schedule for available channels; by browsing the IPG
window, change the day by selecting another day from the Scheduled Day dropdown control; quickly access other times in the current day; obtain the details for a show when it's clicked; retrieve the IP multicast steam corresponding to the selected channel when a show cell is double clicked (or the <Enter> key is pressed) if the show is currently running. The Scheduled Day Control 124 is a list box giving the s consumer the possibility to select the day he/she is interested to browse.
When the IPG window is activated, the current day is displayed. All future dates are shown as the day of the week followed by the calendar month and day of month. The Quick Access Control block 125 is also a list box providing an easy and fast access to a specific daytime. A cell of the Channel Lineup 126 column contains the station 1 o call letters and channel number for the station that is broadcasting the listed programs. The top station of the channel lineup will be the channel currently playing. If no station is playing, the top one will be the first available.
The data associated with the Program Schedule Cells 123 is controlled according to the following. When the IPG window is activated, the 7 day IPG
data is is already prepared and stored in the local memory of the PC client device.
The system selects the IPG data of the selected day beginning with the current time and displays it in the IPG window. When another day is selected from the Scheduled Day Control, the corresponding data is selected and displayed again.
These cells contain the show title and represent the area the consumer may 2 o browse through to view the one day program schedule or select a program that is currently being broadcast on a station. When a highlighted program is currently in progress the consumer may tune into that program by double clicking (or by pressing the <Enter> key) the episode cell. The cells are displayed with corners marking the start and end times.
25 A cell can be selected through three different processes as follows:
1 ) The user can use the mouse to click a cell and the cell will then be the selected cell; 2) The user can scroll using the keyboard arrow keys and each arrow key press will select the cell the user is navigating to; or, 3) When the system timer adds a minute to the local clock and the first cell on the grid then becomes in the past, the new first cell in that row will become the selected cell. If the selected cell is not in view when automatic scrolling takes place, nothing will change, but the system will display the appropriate selected cell when it comes into view.
Similarly, three different processes are provided for changing the viewable contents of the Program Cells Grid: 1 ) The user may use the arrow keys to navigate and as the selected cell meets a boundary, the grid automatically scrolls if there is more information in the desired direction; 2) The user may click the scroll bars and as long as there is information in the direction the user is scrolling, the grid will scroll;
to or, 3) If the system clock updates and visible cells become in the past, the grid will automatically scroll.
The I PG functionality as described above is identical to that of the TV/set-top box environment but without the PC's Windows-based features including the ability to minimize/resize the IPG window, the scroll bar and the drop down list box functionality of Scheduled Day Control 124 and Quick Access Control 125. In addition, the PC's user-input mouse clicks would be substituted with STB
remote contoller clicks.
When the IPG component is invoked (i.e. by clicking on the IPG icon 109 or on the Remote Controller's IPG button) the system manager retrieves the correct 2 o current date and time for the consumer's time zone, corrects all the shows times according to the consumer's time zone, selects the IPG data for the whole current day beginning with the current time, assigns the selected data to the IPG
window's components and activates the IPG window.
As stated above the IPG is a software application that operates in, for example, both a Windows and set-top environment and provides a link to a client MPEG-1/MPEG-2 decoder and a client conditional access module. This software also provides the user with access to all broadcast content on the broadband multicast IP network as well as supporting services (i.e. subscription management).
The IPG data delivery software component 60 is server software which provides the broadcast content schedules to the IPG client component software 65 based on the broadcast provider, customer location and customer profile. The server s software 60 operates to extract broadcast content schedules from various existing data sources.
A banner server 64 is server software which provides scheduled ad insertion into the IPG based on certain criteria such as the time of day, the broadcast provider, the customer location and the customer profile. A near video-on-demand (NVOD) server 66 provides scheduled managed delivery of pre-recorded material via an IP multicast network. A customer profile management system/subscription management software component 68 stores and tracks customer preferences, usage patterns, billing status, mailing addresses, client devices, service subscription, etc. It also provides the core data for many of the other components is of the system manager (DTVM). A notifier and indicator software component enables the system to script, send and display on the customer's television/set top box or computer display notices and messages such as notifications regarding service changes or regarding broadcast scheduling changes affecting programs which have been scheduled for recording, promotional features, telephone 2 o message caller ID and recorded messages.
The IPG may also provides access to VOD, NVOD, VDVR, timeless TV and TV-on-demand, Internet programming and video and audio content. "VOD" is an umbrella term referring to technologies that enable individuals to select a video (e.g. movie) from a static array of pre-recorded multimedia choices provided from 2 s a central server for viewing on a television or computer screen. The on-line applications enable individuals to select program content stored in a dynamic array of recorded video broadcasts provided from a central server for viewing on a television or a computer screen. The multimedia selection could, similarly, provide for games-on-demand whereby NintendoT""-type games may be made available for access by subscribers through the IPG. Alternatively, a Web user interface may be provided for selection of a game whereby subscribers are charged per game/time played.
s The on-demand VDVR software server 50 provides the user access to video playback using interactive DVR controls for optimal control. It includes tools for storing, managing and delivering real-time, full-screen video and audio content. In addition to tools for recording, storing, managing and delivering full screen video and audio content, it utilizes the core components of the system manager, 1 o including, but not limited to, Customer Profile Management 68, Interactive Program Guide 65, Consumer Self-Service 71, Operational Services 88, Multilingual Support (not shown), and Channel Packaging 104.
A conditional access system (not shown) consists of both a source and destination software component and is responsible for the encryption, as desired, 15 of data between the source and destination to protect against unauthorized use or copying.
A consumer services application 80 enables and controls connection services, self-ordering services and provisioning. An automatic service function of the consumer services application 80 eliminates the need for the service 2 o provider (e.g. Telco service trucks) to go to the consumer's location to add or remove new channel offerings. Instead, the subscriber is provided the means to change channel/package information online. Consumer profiles are updated immediately to the consumer's STB or PC by way of IP Multicast and/or SNMP.
This eliminates any need for equipment and/or personnel's physical presence to 2 s be dispatched to the user's home to connect or disconnect the appropriate channels. An administration services application 82 handles, inter alia, the importation of IPG data on a scheduled basis. Channel packaging, which enables m a user to manage the user's subscription (including self-service), is provided by a user interface module 71 and enables the user to view, add and delete channels from the user's service subscription. A report and billing software application 84 provides integrated billing and reporting which enables a user (subscriber) to s dynamically monitor service usage, keep track of service costs on a self-serve basis and pay bills. A user is able to utilize this ability to monitor the household's viewing history to determine, for example, the amount of television being viewed by children and whether the programs watched are suitable. A database software component 86 provides an information database of broadcast content unique to the to broadcast distribution system provider to feed the IPG database. An operational services component 88 of the system manager integrates the control of all the broadcast delivery system components into a networked management framework and provides quality management functions and collects usage information.
Additionally, the DTVM enables remote management of the user appliances 15 including the ability to query and reset key indicators such as system health indicators (e.g. MPEG diagnosis), application and network status (e.g. current viewed channel, current NFS server), and to re-initialize a user device. This may be accomplished by, for example, an SNMP protocol. The DTVM also remotely informs the user, to the user's set top box or computer display, that new data 2 o and/or software is available and should be retrieved. This may be accomplished by, for example, IP multicast and/or SNMP.
The broadcast delivery system may also provide to the service provider an option of assigning URL's to channel numbers. A URL is an address used to enable an Internet browser program to find a particular Internet resource, for 2 s example, 'http://www.imagictv.com'. Using this feature a subscriber could view a URL channel on the IPG similar to a television or video channel. Subscribers are then able to scan through URL channels and select a desired URL by entering the associated numbers from the remote device in the same way as television or video is channels are selected. Going through a URL channel would switch the user device (e.g. the set top box or PC) to a web browser and thereby access a selected web page. The broadcast delivery system may also provide for channel hotlinks such that while watching a program, or when a program is highlighted on the IPG, the s user can operate a remote entry device to activate a transfer to a dynamic web page. Such web page could display, for example, information on the program, on the channel, or on the subject matter currently being shown.
The DTVM software enables a subscriber to personalize channel selection, for example, create a list of favorite programs which the user can scan on the IPG
1 o and select from or have the television/set top box (or computer) automatically switch to at designated times. In addition, a one touch search feature may be provided to enable a user to specify certain searching criteria, such as program theme, by actor, by program/movie title, etc, and initiate one step searching to retrieve requested programming information from the IPG. Similarly, the user may i5 be provided with the ability to view a program's video trailer from the interactive program guide when the user "clicks on"/selects that program. The DTVM
software may also provide an intelligent agent which may be set up to remind a user of an upcoming program, or recommend program content based on user criteria, provide gathered data from outside source such as TV Guide, movie critics, etc.
2 o Other features provided by the DTVM include Multicast download where information required to boot a network device to a multicast group is constantly delivered by a network server. The DHCP server is configured to return the multicast address and port as parameters in a BOOTP response. The network device is programmed to join the multicast group and download a bootstrap 2 s program to local memory and boot from the local memory rather than across the network. Also, the system can provide a multicast file system wherein a server constantly delivers a read-only file system to a multicast group. A network device is programmed to access the file system by joining the multicast group and waiting until the requested file appears. Encryption is used for security and compression is used to minimize bandwidth. Since multicast UDP may lose packets, the multicast group is rejoined and holes in the files are filled if holes exist.
For the PC user, the DTVM includes a PC component for installation in the s PC which, advantageously, allows the user to watch television programming on a PC using the normal PC hardware and without requiring special hardware such as a TV tuner card. The PC component utilizes the core components of the DTVM
such as Report and Billing Services 84 (including Integrated Reporting, Integrated Billing, and Service Administration), Administrative Services 82 (including IPG Data to Import, Channel Packaging and Service Administration), Consumer Services 80 (including Connect Services, Consumer Self-Service and Provisioning), the Interactive Program Guide Client (including NVOD, Live Mpeg, Notifiers and Indicators, Profile, IPG Data Delivery and a Banner Service), the Browser Client (including Email, the World Wide Web, VOD, the On-Demand products, and Self-15 Ordering) and the Operational Services 88 (including Event Export, Event Collection and Network Management). On the client side, the PC component provides all of its functionality in software.
The PC component is itself comprised of three main components: a player Window component a virtual remote control component and an IPG component.
2o The player Window component provides a resizable viewing window 112, as illustrated by Figure 9, containing three selectable objects: a channel selector 108 a program guide icon 109 , and a remote control icon 110. The channel selector 108 is a pull down window that enables the user to select and retrieve an IP
multicast stream corresponding to a specific channel. When the remote control 2 5 icon 110 is selected a virtual remote controller 114 is opened and displayed. When the program guide icon is selected an IPG as shown by Figure 7 appears as a separate contollable.
The PC component is navigated bythe user using traditional windows-based click functions on drop down lists, together with the virtual remote control.
The remote control design is such that, for user comfort, it represents a virtual model of a physical hand-held remote controller. As shown in Figure 9 it includes user-selectable features for channel up, channel down, volume control, poweroff, Guide (i.e. go to IPG) plus an expandable options feature providing Preferences (i.e.
always hide remote on start-up, attach remote to left or right of TV, always on top), TV Off (turns off TV but continues to run the PC component) and Hide Remote.
The DTVM's Interactive Program Guide is interactive and allows users to scroll up, 1 o down, forward or back through several days of programming.
The PC component is made available to the user through downloading of software from a Web-based self-service component 71. The download software includes a Java Runtime Environment and Java Media Framework (being executables which are required by the PC component) and a PC setup program 15 module. Once installed the PC component retrieves the IP address of the Application Server, the default language and the help desk registration number from the local config file downloaded during the install process. It then establishes a connection to the Application Server and retrieves the system data from a Registry file. It also retrieves the IP addresses and ports of the IPG data and IPG
2o related data from the database. To retrieve IPG related data the PC
periodically joins the IP Multicast group for the IPG related data for the specified IP
address and port, waits for the beginning of the stream and downloads the IPG data until the end of the stream and then extracts and stores the program information for existing stations including schedule information on its local drive. The delivery 2 s system searches the server for the consumer file to confirm the consumer has subscribed to the service and retrieves the consumer specific information from the consumer file including any custom profiles the user may have created.
Channel selection for the PC component is identical to that for the STB in that when the user selects a channel from the channel lineup, the system checks for the source type of the channel and, ilf it's video/audio, it gets the IP
multicast address and port of the selected channel from the IPG Related Data object and s 'tunes' into the channel by joining the multicast address, thereby retrieving the signal from the transport network rather than, as in conventional tuning systems, tuning into one of several signals broadcast into the home. If the source is a Web channel, the system clears the player window, gets the homepage URL associated with the channel, and launches the default browser for the already retrieved URL.
1 o In the home, subscribers select a channel number on the virtual remote controller.
This triggers the PC component to issue an IGMP (Internet Group Management Protocol) request to join the corresponding IP multicast address. That is, the channel entry triggers the PC component to 'tune into' the IP multicast address where the channel can be found. To service the request, an IGMP-enabled network 1 s router sends channel data to the PC. Completing the process, the PC
decodes the packetized MPEG stream into video and audio for display on the PC monitor.
Events Capturing Component of the System Manager Component:
An events capturing component 105 is provided as one of the operations components of the system manager. This component is used in the preferred 2 o embodiment to provide three broad functions, namely, streamlining of the billing process for pay-per-view events by identifying and capturing (i.e. saving in memory) a user's self-service activity and logging it to an event file from where it accessed and processed by the system manager's billing component(s), enhancing network management processes by capturing events such as alarms and enhancing a 2s service provider's ability to conduct market research by capturing consumer/customer-viewing behaviour. An event export component 107 is also provided for identifying event information which is required for use by another component of the system manager and storing such information in storage means, being database 86 in the embodiment illustrated herein, for direct access by such other component. A statistical analysis component of the integrated reporting component 109 performs statistical analyses based on the events information stored in the database including analyses of the subscribers' viewing behaviour.
Advantageously, the events capturing component 105 is fully integrated s within the system manager and, therefore, requires no additional hardware beyond the customer's STB or PC so it is defacto located and fully functional within every customer's home. Moreover, the capturing and storage of information identifying events is advantageously performed in real time. Because this system for capturing events is operative on a real time basis any pre-selected event(s), such 1 o as subscriber broadcast selections for viewing, may be monitored and statistically analysed (i.e. by a statistical analysis component within the integrated reporting component 109) on a continuous basis, invisible to the user, over any desired length of time.
Any process performed by the system manager (DTVM) can be defined to is create and log an event. In the preferred embodiment events are logged for one or any of the following event categories:
Alarming Billing Reporting 2 o An event is predefined by an event type number. The numbering scheme used for this is divided into three groups to identify the following types of activity:
Consumer Generated Events Administrative/Operational User Generated Events Alarm Events 2 s When an event is defined it is also assigned an event level detail. The event level detail is a mechanism used by the event capturing component and the client device (STB/PC) to control the number of events recorded. Each originator of an event is associated with an event level detail and when the event detail level of the originator is greater than or equal to the event level detail of the event, the event capturing component logs the event.
An event is logged with an originator identifier (the originator id). An originator is the creator of an event, but since a creator is not always the same type of user an origin type code is also logged to categorize the creator of an event and is used to determine the meaning of the originator id in the event. Values include:
Consumer to ~ Administrative user id System manager-id Original Event Type-id The actual date and time derived from the system clock of the STB/PC or the server (whichever applies) is stored with each event. An event may or may not have additional parameters and these (if any) are defined in the event definition.
Figure 10 illustrates an exemplary database architectural model configured for use by the events capturing component. This model details the data fields which have been selected for use in this embodiment, the data tables these fields are stored in, the fields which are primary keys (designated "PK" and referring to 2 o uniquely identified fields in a table), and the fields in a table which are foreign keys (designated "FK" and referring to uniquely identified fields, or primary keys, in another table). As will be readily understood by the reader, the exemplary model of Figure 10 or any of a number of other alternative designs may be selected as a matter of choice, depending upon the particular application.
2 s For purposes of explanation the following description focusses on consumer generated events. Broadly, consumer generated events can be of three types:
Events describing consumer viewing usage Events describing viewing configuration changes Events describing consumer self-service activity Referring to events generated by the user's interaction with a television using a remote control/keyboard and or the IPG an example of such an event is a "channel change". When a consumer selects a channel the event capturing component captures and processes the tuning function by selecting the IP
address from the IPG data previously downloaded. The system manager tunes into the multicast and selects the appropriate station to stream to the device and, at the to same time the event capturing component captures the event whereby an event is created with the following information:
The identifier of it's origin (originator id) (this may be a consumer identifier if the event was created by a consumer or a system identifier if the event is created by the system).
~ The origin type (origin type code)( this will indicate if the above identifier is for a consumer or for the system) Created Date/Time (from the system clock of the STB/PC) Event Number (event type_number) In addition, the event is populated with other information as determined by 2 o defined parameters for the event. In this example of a channel selection event the following parameters are defined:
The client device ID (the id of the creating device which is unique to each home from the IP address of the Boot-up) Station call letters (the call letters of the station derived from the IPG
data) ~ MPEG format (MPEG 1 or 2) How it was selected (EPG, Channel up/Down, Channel Input, Channel Recall) Created date and time (from the system clock of the STB/PC) Appendix B hereto provides details for other predefined events (with their associated parameters).
The event capturing component may be configured to check to see if the event type is configured to be forwarded for any or all of the categories the event s is associated with. This will allow the system manager to determine what information it wishes to collect and from which STBs/PCs it is to collect the information.
At the set-top box level in the preferred embodiment no persistent storage is used and the information remains in memory (RAM) only long enough to identify io the action, create the event, make an assessment as to whether it is an event that has been configured to be collected and, if so, forward it to the back end of the system manager for storage to storage means viz. the database 86. (Further processing may occur at the back end as well to determine whether the event is one that has been configured to be stored.) The references herein to memory 15 may, optionally, be implemented by any suitable storage means.
The event information is derived from captured data and associated parameters stored in memory in the STB/PC which are populated with such information derived from several sources, namely, the batch application server, the multicast server, the Boot/DHCP server, the NFS server, the Web server, the RPC
2 o server, the database server and the STB/PC, as detailed below.
The system manager uses a batch application server to run an IPGDataUpdater script and the IPGDataUpdater script automates the retrieval and updating of IPG data retrieval. The IPGDataUpdater invokes four batch applications which are run sequentially:
2s ~ IPGDataRetriever- retrieves an IPG data file from the data provider's FTP
server and puts it in a specific directory on the batch application server.
MapsIPGData - (runs several operations) first it deletes existing IPG data in the database and then parses and validates IPG data and, finally, inserts IPG
data into the database.
IPGDataPreparer- it first retrieves IPG program data from the database and s then puts that data in a flat text file on the batch application server for distribution to the STB/PC.
IPGRelatedDataPreparer - it first retrieves IPG related data (station and package data by consumer group) from the database and then puts that data in a flat text file in a prep directory on the batch application server.
to (MapsIPGData runs after successful completion of IPGDataRetriever and IPGDataPreparerand IPGRelatedDataPrep are run after successful completion of MapsIPGData.) The multicast server checks the database for a new refresh date every minute and when this found it stops the multicasting of existing IPG data. The 1 s multicast server then copies the IPG flat text file from the prep directory to a refresh directory on the batch application server. To complete the IPG data update process, the multicast server multicasts new IPG data to the STBs/PCs.
To boot up, each STB/PC issues a BootP request and retrieves the following information from the BootP/DHCP server:
20 ~ an IP address its subnet mask its Gateway IP address the IP address of its DNS Server the IP address of its NFS Server 2s ~ a mount point on the NFS Server After the STB/PC retrieves boot information from the BootP/DHCP server, it accesses the mount point on the NFS server and retrieves the IP address information. The STB/PC then loads a generic boot image from the NFS server to start the DTVM application. After the generic boot image is loaded, consumer-specific information (i.e. cookies, favorites, etc.) is loaded from a dedicated file system on the NFS server. One private NFS share is provided for each STB/PC.
s A public NFS file system contains a configuration file that specifies the RPC Server IP address as well as the addresses on which the multicaster operates.
The web server stores DTVM software that supports administration and self-service transactions, such as consumer provisioning and pay-per-view.
io The RPC server supports the STB/PC registration process and also forwards events from the STB/PC to the database server. The RPC server has an RMI interface that supports evolving distributed JAVA applications.
The database server stores the telco's (OracIeT"") database and the database stores the following information:
15 ~ account, consumer and client device information (consumer name, consumer address, client device type, client device address, etc.) billing information (consumer address, credit card information, broadcast provider information, etc.) consumer group information (channel information, geo-range, country, etc.) 20 ~ program information (title, show, theme, etc.) station information (station id, call letters, name, IP address, port, etc.) channel package information (ID, name, description) events (event ID, event parameter values, etc.) data provider information (data provider number and name, time zone, etc.) 2s ~ transaction security information (user ID, user name, user language, user password, etc.) The Java applications use JDBCT"" and SQL*NETT"" to access the Oracle database. Other applications use ODBCT"" and SQL*NET to store and retrieve data from the database. Analysis applications are used to analyse the data as desired. Optionally, the service provider (Telco) can archive subscriber activity information in a separate data-warehousing system. Once the information has been archived, it can be purge from the database server to reduce memory and s disk requirements. Any data-warehousing system should be independent of the main database server.
The STB/PC uses the BOOTP/DHCP server to acquire its IP address and the NFS Server to acquire the initial registration/authentication and multicast bootstrap software. It also uses the IP multicast address space of the telco to network to retrieve software, IPG and Consumer data and MPEG-2 video multicasts. The STB/PC uses native support for RPC to execute client-server transactions with the batch application server and these transactions include registration, authentication, profile retrieval and event-logging. This information is forwarded to the RPC server as it is created where it is assigned a unique ID
15 "event id" and stored in an events table on the server for later processing into reports. As for the database server, Java applications use JDBC and SQL*NET to access the Oracle database and other applications use ODBC and SQL*NET to store and retrieve data from the database.
The information stored in the events table is processed to track each 2 o consumers channel change, the method of invoking the channel change and the duration of the viewing period between each channel change. As will be appreciated by the reader a virtually unlimited range of other functions and activities may be similarly tracked according to the wishes and limitations of the service provider. Appendix C hereto provides a telco overview of the types and 2 s categories of events.
The terms algorithm, module and component herein are used interchangeably and refer to any set of computer-readable instructions or The terms algorithm, module and component herein are used interchangeably and refer to any set of computer-readable instructions or commands such as in the form of software, without limitation to any specific location or means of operation of the same. The terms subscriber, consumer and s customer are also used interchangeably herein to refer to PC/STB user of the broadcast delivery system.
It is to be understood that the specific elements of the events capturing system and method described herein are not intended to limit the invention defined by the appended claims. From the teachings provided herein the invention could 1 o be implemented and embodied in any number of alternative computer program embodiments by persons skilled in the art without departing from the claimed invention.
programs and/or Web sites and order pay-per-view programs. In the preferred embodiment a seven day channel lineup with scheduled automatic refresh is provided. The IPG
client software is automatically updated by the system at regular intervals.
The data 2 o provider must provide programming data in a pipe delimited tent file once every 24 hours, or such other period as may be appropriate. The DTVM system transfers data from the text file into the service provider's database and then multicasts IPG
data from the service provider's database across the network to the user on the PC
display or television.
2s In the PC environment, as shown by Figure 7, the IPG information is displayed on the PC's monitor for programs that are currently in progress as well as future scheduled programs. Using a keyboard or mouse, the consumer is able to: use a seven-day schedule for available channels; by browsing the IPG
window, change the day by selecting another day from the Scheduled Day dropdown control; quickly access other times in the current day; obtain the details for a show when it's clicked; retrieve the IP multicast steam corresponding to the selected channel when a show cell is double clicked (or the <Enter> key is pressed) if the show is currently running. The Scheduled Day Control 124 is a list box giving the s consumer the possibility to select the day he/she is interested to browse.
When the IPG window is activated, the current day is displayed. All future dates are shown as the day of the week followed by the calendar month and day of month. The Quick Access Control block 125 is also a list box providing an easy and fast access to a specific daytime. A cell of the Channel Lineup 126 column contains the station 1 o call letters and channel number for the station that is broadcasting the listed programs. The top station of the channel lineup will be the channel currently playing. If no station is playing, the top one will be the first available.
The data associated with the Program Schedule Cells 123 is controlled according to the following. When the IPG window is activated, the 7 day IPG
data is is already prepared and stored in the local memory of the PC client device.
The system selects the IPG data of the selected day beginning with the current time and displays it in the IPG window. When another day is selected from the Scheduled Day Control, the corresponding data is selected and displayed again.
These cells contain the show title and represent the area the consumer may 2 o browse through to view the one day program schedule or select a program that is currently being broadcast on a station. When a highlighted program is currently in progress the consumer may tune into that program by double clicking (or by pressing the <Enter> key) the episode cell. The cells are displayed with corners marking the start and end times.
25 A cell can be selected through three different processes as follows:
1 ) The user can use the mouse to click a cell and the cell will then be the selected cell; 2) The user can scroll using the keyboard arrow keys and each arrow key press will select the cell the user is navigating to; or, 3) When the system timer adds a minute to the local clock and the first cell on the grid then becomes in the past, the new first cell in that row will become the selected cell. If the selected cell is not in view when automatic scrolling takes place, nothing will change, but the system will display the appropriate selected cell when it comes into view.
Similarly, three different processes are provided for changing the viewable contents of the Program Cells Grid: 1 ) The user may use the arrow keys to navigate and as the selected cell meets a boundary, the grid automatically scrolls if there is more information in the desired direction; 2) The user may click the scroll bars and as long as there is information in the direction the user is scrolling, the grid will scroll;
to or, 3) If the system clock updates and visible cells become in the past, the grid will automatically scroll.
The I PG functionality as described above is identical to that of the TV/set-top box environment but without the PC's Windows-based features including the ability to minimize/resize the IPG window, the scroll bar and the drop down list box functionality of Scheduled Day Control 124 and Quick Access Control 125. In addition, the PC's user-input mouse clicks would be substituted with STB
remote contoller clicks.
When the IPG component is invoked (i.e. by clicking on the IPG icon 109 or on the Remote Controller's IPG button) the system manager retrieves the correct 2 o current date and time for the consumer's time zone, corrects all the shows times according to the consumer's time zone, selects the IPG data for the whole current day beginning with the current time, assigns the selected data to the IPG
window's components and activates the IPG window.
As stated above the IPG is a software application that operates in, for example, both a Windows and set-top environment and provides a link to a client MPEG-1/MPEG-2 decoder and a client conditional access module. This software also provides the user with access to all broadcast content on the broadband multicast IP network as well as supporting services (i.e. subscription management).
The IPG data delivery software component 60 is server software which provides the broadcast content schedules to the IPG client component software 65 based on the broadcast provider, customer location and customer profile. The server s software 60 operates to extract broadcast content schedules from various existing data sources.
A banner server 64 is server software which provides scheduled ad insertion into the IPG based on certain criteria such as the time of day, the broadcast provider, the customer location and the customer profile. A near video-on-demand (NVOD) server 66 provides scheduled managed delivery of pre-recorded material via an IP multicast network. A customer profile management system/subscription management software component 68 stores and tracks customer preferences, usage patterns, billing status, mailing addresses, client devices, service subscription, etc. It also provides the core data for many of the other components is of the system manager (DTVM). A notifier and indicator software component enables the system to script, send and display on the customer's television/set top box or computer display notices and messages such as notifications regarding service changes or regarding broadcast scheduling changes affecting programs which have been scheduled for recording, promotional features, telephone 2 o message caller ID and recorded messages.
The IPG may also provides access to VOD, NVOD, VDVR, timeless TV and TV-on-demand, Internet programming and video and audio content. "VOD" is an umbrella term referring to technologies that enable individuals to select a video (e.g. movie) from a static array of pre-recorded multimedia choices provided from 2 s a central server for viewing on a television or computer screen. The on-line applications enable individuals to select program content stored in a dynamic array of recorded video broadcasts provided from a central server for viewing on a television or a computer screen. The multimedia selection could, similarly, provide for games-on-demand whereby NintendoT""-type games may be made available for access by subscribers through the IPG. Alternatively, a Web user interface may be provided for selection of a game whereby subscribers are charged per game/time played.
s The on-demand VDVR software server 50 provides the user access to video playback using interactive DVR controls for optimal control. It includes tools for storing, managing and delivering real-time, full-screen video and audio content. In addition to tools for recording, storing, managing and delivering full screen video and audio content, it utilizes the core components of the system manager, 1 o including, but not limited to, Customer Profile Management 68, Interactive Program Guide 65, Consumer Self-Service 71, Operational Services 88, Multilingual Support (not shown), and Channel Packaging 104.
A conditional access system (not shown) consists of both a source and destination software component and is responsible for the encryption, as desired, 15 of data between the source and destination to protect against unauthorized use or copying.
A consumer services application 80 enables and controls connection services, self-ordering services and provisioning. An automatic service function of the consumer services application 80 eliminates the need for the service 2 o provider (e.g. Telco service trucks) to go to the consumer's location to add or remove new channel offerings. Instead, the subscriber is provided the means to change channel/package information online. Consumer profiles are updated immediately to the consumer's STB or PC by way of IP Multicast and/or SNMP.
This eliminates any need for equipment and/or personnel's physical presence to 2 s be dispatched to the user's home to connect or disconnect the appropriate channels. An administration services application 82 handles, inter alia, the importation of IPG data on a scheduled basis. Channel packaging, which enables m a user to manage the user's subscription (including self-service), is provided by a user interface module 71 and enables the user to view, add and delete channels from the user's service subscription. A report and billing software application 84 provides integrated billing and reporting which enables a user (subscriber) to s dynamically monitor service usage, keep track of service costs on a self-serve basis and pay bills. A user is able to utilize this ability to monitor the household's viewing history to determine, for example, the amount of television being viewed by children and whether the programs watched are suitable. A database software component 86 provides an information database of broadcast content unique to the to broadcast distribution system provider to feed the IPG database. An operational services component 88 of the system manager integrates the control of all the broadcast delivery system components into a networked management framework and provides quality management functions and collects usage information.
Additionally, the DTVM enables remote management of the user appliances 15 including the ability to query and reset key indicators such as system health indicators (e.g. MPEG diagnosis), application and network status (e.g. current viewed channel, current NFS server), and to re-initialize a user device. This may be accomplished by, for example, an SNMP protocol. The DTVM also remotely informs the user, to the user's set top box or computer display, that new data 2 o and/or software is available and should be retrieved. This may be accomplished by, for example, IP multicast and/or SNMP.
The broadcast delivery system may also provide to the service provider an option of assigning URL's to channel numbers. A URL is an address used to enable an Internet browser program to find a particular Internet resource, for 2 s example, 'http://www.imagictv.com'. Using this feature a subscriber could view a URL channel on the IPG similar to a television or video channel. Subscribers are then able to scan through URL channels and select a desired URL by entering the associated numbers from the remote device in the same way as television or video is channels are selected. Going through a URL channel would switch the user device (e.g. the set top box or PC) to a web browser and thereby access a selected web page. The broadcast delivery system may also provide for channel hotlinks such that while watching a program, or when a program is highlighted on the IPG, the s user can operate a remote entry device to activate a transfer to a dynamic web page. Such web page could display, for example, information on the program, on the channel, or on the subject matter currently being shown.
The DTVM software enables a subscriber to personalize channel selection, for example, create a list of favorite programs which the user can scan on the IPG
1 o and select from or have the television/set top box (or computer) automatically switch to at designated times. In addition, a one touch search feature may be provided to enable a user to specify certain searching criteria, such as program theme, by actor, by program/movie title, etc, and initiate one step searching to retrieve requested programming information from the IPG. Similarly, the user may i5 be provided with the ability to view a program's video trailer from the interactive program guide when the user "clicks on"/selects that program. The DTVM
software may also provide an intelligent agent which may be set up to remind a user of an upcoming program, or recommend program content based on user criteria, provide gathered data from outside source such as TV Guide, movie critics, etc.
2 o Other features provided by the DTVM include Multicast download where information required to boot a network device to a multicast group is constantly delivered by a network server. The DHCP server is configured to return the multicast address and port as parameters in a BOOTP response. The network device is programmed to join the multicast group and download a bootstrap 2 s program to local memory and boot from the local memory rather than across the network. Also, the system can provide a multicast file system wherein a server constantly delivers a read-only file system to a multicast group. A network device is programmed to access the file system by joining the multicast group and waiting until the requested file appears. Encryption is used for security and compression is used to minimize bandwidth. Since multicast UDP may lose packets, the multicast group is rejoined and holes in the files are filled if holes exist.
For the PC user, the DTVM includes a PC component for installation in the s PC which, advantageously, allows the user to watch television programming on a PC using the normal PC hardware and without requiring special hardware such as a TV tuner card. The PC component utilizes the core components of the DTVM
such as Report and Billing Services 84 (including Integrated Reporting, Integrated Billing, and Service Administration), Administrative Services 82 (including IPG Data to Import, Channel Packaging and Service Administration), Consumer Services 80 (including Connect Services, Consumer Self-Service and Provisioning), the Interactive Program Guide Client (including NVOD, Live Mpeg, Notifiers and Indicators, Profile, IPG Data Delivery and a Banner Service), the Browser Client (including Email, the World Wide Web, VOD, the On-Demand products, and Self-15 Ordering) and the Operational Services 88 (including Event Export, Event Collection and Network Management). On the client side, the PC component provides all of its functionality in software.
The PC component is itself comprised of three main components: a player Window component a virtual remote control component and an IPG component.
2o The player Window component provides a resizable viewing window 112, as illustrated by Figure 9, containing three selectable objects: a channel selector 108 a program guide icon 109 , and a remote control icon 110. The channel selector 108 is a pull down window that enables the user to select and retrieve an IP
multicast stream corresponding to a specific channel. When the remote control 2 5 icon 110 is selected a virtual remote controller 114 is opened and displayed. When the program guide icon is selected an IPG as shown by Figure 7 appears as a separate contollable.
The PC component is navigated bythe user using traditional windows-based click functions on drop down lists, together with the virtual remote control.
The remote control design is such that, for user comfort, it represents a virtual model of a physical hand-held remote controller. As shown in Figure 9 it includes user-selectable features for channel up, channel down, volume control, poweroff, Guide (i.e. go to IPG) plus an expandable options feature providing Preferences (i.e.
always hide remote on start-up, attach remote to left or right of TV, always on top), TV Off (turns off TV but continues to run the PC component) and Hide Remote.
The DTVM's Interactive Program Guide is interactive and allows users to scroll up, 1 o down, forward or back through several days of programming.
The PC component is made available to the user through downloading of software from a Web-based self-service component 71. The download software includes a Java Runtime Environment and Java Media Framework (being executables which are required by the PC component) and a PC setup program 15 module. Once installed the PC component retrieves the IP address of the Application Server, the default language and the help desk registration number from the local config file downloaded during the install process. It then establishes a connection to the Application Server and retrieves the system data from a Registry file. It also retrieves the IP addresses and ports of the IPG data and IPG
2o related data from the database. To retrieve IPG related data the PC
periodically joins the IP Multicast group for the IPG related data for the specified IP
address and port, waits for the beginning of the stream and downloads the IPG data until the end of the stream and then extracts and stores the program information for existing stations including schedule information on its local drive. The delivery 2 s system searches the server for the consumer file to confirm the consumer has subscribed to the service and retrieves the consumer specific information from the consumer file including any custom profiles the user may have created.
Channel selection for the PC component is identical to that for the STB in that when the user selects a channel from the channel lineup, the system checks for the source type of the channel and, ilf it's video/audio, it gets the IP
multicast address and port of the selected channel from the IPG Related Data object and s 'tunes' into the channel by joining the multicast address, thereby retrieving the signal from the transport network rather than, as in conventional tuning systems, tuning into one of several signals broadcast into the home. If the source is a Web channel, the system clears the player window, gets the homepage URL associated with the channel, and launches the default browser for the already retrieved URL.
1 o In the home, subscribers select a channel number on the virtual remote controller.
This triggers the PC component to issue an IGMP (Internet Group Management Protocol) request to join the corresponding IP multicast address. That is, the channel entry triggers the PC component to 'tune into' the IP multicast address where the channel can be found. To service the request, an IGMP-enabled network 1 s router sends channel data to the PC. Completing the process, the PC
decodes the packetized MPEG stream into video and audio for display on the PC monitor.
Events Capturing Component of the System Manager Component:
An events capturing component 105 is provided as one of the operations components of the system manager. This component is used in the preferred 2 o embodiment to provide three broad functions, namely, streamlining of the billing process for pay-per-view events by identifying and capturing (i.e. saving in memory) a user's self-service activity and logging it to an event file from where it accessed and processed by the system manager's billing component(s), enhancing network management processes by capturing events such as alarms and enhancing a 2s service provider's ability to conduct market research by capturing consumer/customer-viewing behaviour. An event export component 107 is also provided for identifying event information which is required for use by another component of the system manager and storing such information in storage means, being database 86 in the embodiment illustrated herein, for direct access by such other component. A statistical analysis component of the integrated reporting component 109 performs statistical analyses based on the events information stored in the database including analyses of the subscribers' viewing behaviour.
Advantageously, the events capturing component 105 is fully integrated s within the system manager and, therefore, requires no additional hardware beyond the customer's STB or PC so it is defacto located and fully functional within every customer's home. Moreover, the capturing and storage of information identifying events is advantageously performed in real time. Because this system for capturing events is operative on a real time basis any pre-selected event(s), such 1 o as subscriber broadcast selections for viewing, may be monitored and statistically analysed (i.e. by a statistical analysis component within the integrated reporting component 109) on a continuous basis, invisible to the user, over any desired length of time.
Any process performed by the system manager (DTVM) can be defined to is create and log an event. In the preferred embodiment events are logged for one or any of the following event categories:
Alarming Billing Reporting 2 o An event is predefined by an event type number. The numbering scheme used for this is divided into three groups to identify the following types of activity:
Consumer Generated Events Administrative/Operational User Generated Events Alarm Events 2 s When an event is defined it is also assigned an event level detail. The event level detail is a mechanism used by the event capturing component and the client device (STB/PC) to control the number of events recorded. Each originator of an event is associated with an event level detail and when the event detail level of the originator is greater than or equal to the event level detail of the event, the event capturing component logs the event.
An event is logged with an originator identifier (the originator id). An originator is the creator of an event, but since a creator is not always the same type of user an origin type code is also logged to categorize the creator of an event and is used to determine the meaning of the originator id in the event. Values include:
Consumer to ~ Administrative user id System manager-id Original Event Type-id The actual date and time derived from the system clock of the STB/PC or the server (whichever applies) is stored with each event. An event may or may not have additional parameters and these (if any) are defined in the event definition.
Figure 10 illustrates an exemplary database architectural model configured for use by the events capturing component. This model details the data fields which have been selected for use in this embodiment, the data tables these fields are stored in, the fields which are primary keys (designated "PK" and referring to 2 o uniquely identified fields in a table), and the fields in a table which are foreign keys (designated "FK" and referring to uniquely identified fields, or primary keys, in another table). As will be readily understood by the reader, the exemplary model of Figure 10 or any of a number of other alternative designs may be selected as a matter of choice, depending upon the particular application.
2 s For purposes of explanation the following description focusses on consumer generated events. Broadly, consumer generated events can be of three types:
Events describing consumer viewing usage Events describing viewing configuration changes Events describing consumer self-service activity Referring to events generated by the user's interaction with a television using a remote control/keyboard and or the IPG an example of such an event is a "channel change". When a consumer selects a channel the event capturing component captures and processes the tuning function by selecting the IP
address from the IPG data previously downloaded. The system manager tunes into the multicast and selects the appropriate station to stream to the device and, at the to same time the event capturing component captures the event whereby an event is created with the following information:
The identifier of it's origin (originator id) (this may be a consumer identifier if the event was created by a consumer or a system identifier if the event is created by the system).
~ The origin type (origin type code)( this will indicate if the above identifier is for a consumer or for the system) Created Date/Time (from the system clock of the STB/PC) Event Number (event type_number) In addition, the event is populated with other information as determined by 2 o defined parameters for the event. In this example of a channel selection event the following parameters are defined:
The client device ID (the id of the creating device which is unique to each home from the IP address of the Boot-up) Station call letters (the call letters of the station derived from the IPG
data) ~ MPEG format (MPEG 1 or 2) How it was selected (EPG, Channel up/Down, Channel Input, Channel Recall) Created date and time (from the system clock of the STB/PC) Appendix B hereto provides details for other predefined events (with their associated parameters).
The event capturing component may be configured to check to see if the event type is configured to be forwarded for any or all of the categories the event s is associated with. This will allow the system manager to determine what information it wishes to collect and from which STBs/PCs it is to collect the information.
At the set-top box level in the preferred embodiment no persistent storage is used and the information remains in memory (RAM) only long enough to identify io the action, create the event, make an assessment as to whether it is an event that has been configured to be collected and, if so, forward it to the back end of the system manager for storage to storage means viz. the database 86. (Further processing may occur at the back end as well to determine whether the event is one that has been configured to be stored.) The references herein to memory 15 may, optionally, be implemented by any suitable storage means.
The event information is derived from captured data and associated parameters stored in memory in the STB/PC which are populated with such information derived from several sources, namely, the batch application server, the multicast server, the Boot/DHCP server, the NFS server, the Web server, the RPC
2 o server, the database server and the STB/PC, as detailed below.
The system manager uses a batch application server to run an IPGDataUpdater script and the IPGDataUpdater script automates the retrieval and updating of IPG data retrieval. The IPGDataUpdater invokes four batch applications which are run sequentially:
2s ~ IPGDataRetriever- retrieves an IPG data file from the data provider's FTP
server and puts it in a specific directory on the batch application server.
MapsIPGData - (runs several operations) first it deletes existing IPG data in the database and then parses and validates IPG data and, finally, inserts IPG
data into the database.
IPGDataPreparer- it first retrieves IPG program data from the database and s then puts that data in a flat text file on the batch application server for distribution to the STB/PC.
IPGRelatedDataPreparer - it first retrieves IPG related data (station and package data by consumer group) from the database and then puts that data in a flat text file in a prep directory on the batch application server.
to (MapsIPGData runs after successful completion of IPGDataRetriever and IPGDataPreparerand IPGRelatedDataPrep are run after successful completion of MapsIPGData.) The multicast server checks the database for a new refresh date every minute and when this found it stops the multicasting of existing IPG data. The 1 s multicast server then copies the IPG flat text file from the prep directory to a refresh directory on the batch application server. To complete the IPG data update process, the multicast server multicasts new IPG data to the STBs/PCs.
To boot up, each STB/PC issues a BootP request and retrieves the following information from the BootP/DHCP server:
20 ~ an IP address its subnet mask its Gateway IP address the IP address of its DNS Server the IP address of its NFS Server 2s ~ a mount point on the NFS Server After the STB/PC retrieves boot information from the BootP/DHCP server, it accesses the mount point on the NFS server and retrieves the IP address information. The STB/PC then loads a generic boot image from the NFS server to start the DTVM application. After the generic boot image is loaded, consumer-specific information (i.e. cookies, favorites, etc.) is loaded from a dedicated file system on the NFS server. One private NFS share is provided for each STB/PC.
s A public NFS file system contains a configuration file that specifies the RPC Server IP address as well as the addresses on which the multicaster operates.
The web server stores DTVM software that supports administration and self-service transactions, such as consumer provisioning and pay-per-view.
io The RPC server supports the STB/PC registration process and also forwards events from the STB/PC to the database server. The RPC server has an RMI interface that supports evolving distributed JAVA applications.
The database server stores the telco's (OracIeT"") database and the database stores the following information:
15 ~ account, consumer and client device information (consumer name, consumer address, client device type, client device address, etc.) billing information (consumer address, credit card information, broadcast provider information, etc.) consumer group information (channel information, geo-range, country, etc.) 20 ~ program information (title, show, theme, etc.) station information (station id, call letters, name, IP address, port, etc.) channel package information (ID, name, description) events (event ID, event parameter values, etc.) data provider information (data provider number and name, time zone, etc.) 2s ~ transaction security information (user ID, user name, user language, user password, etc.) The Java applications use JDBCT"" and SQL*NETT"" to access the Oracle database. Other applications use ODBCT"" and SQL*NET to store and retrieve data from the database. Analysis applications are used to analyse the data as desired. Optionally, the service provider (Telco) can archive subscriber activity information in a separate data-warehousing system. Once the information has been archived, it can be purge from the database server to reduce memory and s disk requirements. Any data-warehousing system should be independent of the main database server.
The STB/PC uses the BOOTP/DHCP server to acquire its IP address and the NFS Server to acquire the initial registration/authentication and multicast bootstrap software. It also uses the IP multicast address space of the telco to network to retrieve software, IPG and Consumer data and MPEG-2 video multicasts. The STB/PC uses native support for RPC to execute client-server transactions with the batch application server and these transactions include registration, authentication, profile retrieval and event-logging. This information is forwarded to the RPC server as it is created where it is assigned a unique ID
15 "event id" and stored in an events table on the server for later processing into reports. As for the database server, Java applications use JDBC and SQL*NET to access the Oracle database and other applications use ODBC and SQL*NET to store and retrieve data from the database.
The information stored in the events table is processed to track each 2 o consumers channel change, the method of invoking the channel change and the duration of the viewing period between each channel change. As will be appreciated by the reader a virtually unlimited range of other functions and activities may be similarly tracked according to the wishes and limitations of the service provider. Appendix C hereto provides a telco overview of the types and 2 s categories of events.
The terms algorithm, module and component herein are used interchangeably and refer to any set of computer-readable instructions or The terms algorithm, module and component herein are used interchangeably and refer to any set of computer-readable instructions or commands such as in the form of software, without limitation to any specific location or means of operation of the same. The terms subscriber, consumer and s customer are also used interchangeably herein to refer to PC/STB user of the broadcast delivery system.
It is to be understood that the specific elements of the events capturing system and method described herein are not intended to limit the invention defined by the appended claims. From the teachings provided herein the invention could 1 o be implemented and embodied in any number of alternative computer program embodiments by persons skilled in the art without departing from the claimed invention.
Claims (16)
1. An event capturing system for use in an integrated multimedia broadcast delivery system extending from a broadcast provider to a subscriber, said delivery system comprising means for providing multimedia signals configured according to IP (Internet Protocol) format for multicast transmission over a broadband network and a system manager for providing interactive access to said multimedia signals by said subscriber through conversion means, being either a decoder in a set top box and a television or a decoder in a computer and a computer monitor at said subcriber's location, configured for converting said IP
multicast format signal into a format for display on said television or monitor, wherein an interactive program guide (IPG) is provided to said subscriber for said access, said event capturing system comprising an event collection component configured for identifying the occurrence of an event associated with said system manager and said subscriber access and for forwarding information which identifies said event for storage in storage mean.
multicast format signal into a format for display on said television or monitor, wherein an interactive program guide (IPG) is provided to said subscriber for said access, said event capturing system comprising an event collection component configured for identifying the occurrence of an event associated with said system manager and said subscriber access and for forwarding information which identifies said event for storage in storage mean.
2. An event capturing system for use in an integrated multimedia broadcast delivery system extending from a broadcast provider to a subscriber, said delivery system comprising means for providing multimedia signals configured according to IP (Internet Protocol) format for multicast transmission over a broadband network and a system manager for providing interactive access to said multimedia signals by said subscriber through conversion means, being either a decoder in a set top box and a television or a decoder in a computer and a computer monitor at said subcriber's location, configured for converting said IP
multicast format signal into a format for display on said television or monitor, wherein an interactive program guide (IPG) is provided to said subscriber for said access, said event capturing system comprising an event collection component configured for identifying the occurrence of an event associated with said system manager or said subscriber access and for forwarding information which identifies said event for storage in storage means.
multicast format signal into a format for display on said television or monitor, wherein an interactive program guide (IPG) is provided to said subscriber for said access, said event capturing system comprising an event collection component configured for identifying the occurrence of an event associated with said system manager or said subscriber access and for forwarding information which identifies said event for storage in storage means.
3. An event capturing system according to claim 1 or 2 wherein said event collection component identifies said occurrence of an event in real time for storage in real time.
4. An event capturing system according to claim 3 wherein said event determines a selection and retrieval of an IP multicast stream of said multimedia broadcast by said subscriber.
5. An event capturing system according to claim 3 wherein said event determines an alarm within said system manager or said conversion means at said subscriber's location.
6. An event capturing system according to claim 3 wherein said event determines a step taken by a component of said system manager.
7. An event capturing system according to claim 3 wherein some or all of said information is also separately stored in real time in storage means for direct access by another component of said system manager.
8. An event capturing system according to claim 4 and further comprising a statistical analysis component for performing statistical analyses based on said information stored for a plurality of events identified by said event capturing component.
9. A method for capturing an event in an integrated multimedia broadcast delivery system extending from a broadcast provider to a subscriber, said delivery system comprising means for providing multimedia signals configured according to IP (Internet protocol) format for multicast transmission over a broadband network and a system manager for providing interactive access to said multimedia signals by said subscriber through conversion means, being either a decoder in a set top box and a television or a decoder in a computer and a computer monitor at said subcriber's location, configured for converting said IP multicast format signal into a format for display on said television or monitor, wherein an interactive program guide (IPG) is provided to said subscriber for said access, said method for capturing said event comprising identifying the occurrence of an event associated with said system manager and said subscriber access and forwarding information which identifies said event for storage in storage means.
10. A method for capturing an event in an integrated multimedia broadcast delivery system extending from a broadcast provider to a subscriber, said delivery system comprising means for providing multimedia signals configured according to IP (Internet Protocol) format for multicast transmission over a broadband network and a system manager for providing interactive access to said multimedia signals by said subscriber through conversion means, being either a decoder in a set top box and a television or a decoder in a computer and a computer monitor at said subcriber's location, configured for converting said IP multicast format signal into a format for display on said television or monitor, wherein an interactive program guide (IPG) is provided to said subscriber for said access, said method for capturing said event comprising identifying the occurrence of an event associated with said system manager or said subscriber access and forwarding information which identifies said event for storage in storage means.
11. A method according to claim 9 or 10 whereby said identifying of said occurrence of an event is performed in real time for storage in real time.
12. A method according to claim 11 whereby said event determines a selection and retrieval of an IP multicast stream of said multimedia broadcast by said subscriber.
13. A method according to claim 11 whereby said event determines an alarm within said system manager or said conversion means at said subscriber's location.
14. A method according to claim 11 whereby said event determines a step taken by a component of said system manager.
15. A method according to claim 11 whereby some or all of said information is also separately stored in real time in storage means for direct access by another component of said system manager.
16. A method according to claim 12 and further comprising performing statistical analyses based on said information stored for a plurality of said identified events.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US66397300A | 2000-09-19 | 2000-09-19 | |
US09/663,973 | 2000-09-19 |
Publications (2)
Publication Number | Publication Date |
---|---|
CA2319992A1 CA2319992A1 (en) | 2002-03-19 |
CA2319992C true CA2319992C (en) | 2004-05-25 |
Family
ID=24663976
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CA002319992A Expired - Fee Related CA2319992C (en) | 2000-09-19 | 2000-09-20 | An events capturing system and method for use in an integrated broadcast delivery system |
Country Status (1)
Country | Link |
---|---|
CA (1) | CA2319992C (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8352990B2 (en) | 2010-05-10 | 2013-01-08 | Encore Interactive Inc. | Realtime broadcast stream and control data conversion system and method |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB0509312D0 (en) | 2005-05-06 | 2005-06-15 | British Broadcasting Corp | Method and apparatus for providing an interactive facility on a computer in relation to digital video or audio signals streamed on an ip network |
-
2000
- 2000-09-20 CA CA002319992A patent/CA2319992C/en not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8352990B2 (en) | 2010-05-10 | 2013-01-08 | Encore Interactive Inc. | Realtime broadcast stream and control data conversion system and method |
US8839313B2 (en) | 2010-05-10 | 2014-09-16 | Encore Interactive Inc. | Realtime broadcast stream and control data conversion system and method |
Also Published As
Publication number | Publication date |
---|---|
CA2319992A1 (en) | 2002-03-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20050028206A1 (en) | Digital interactive delivery system for TV/multimedia/internet | |
CA2334203C (en) | Television delivery system | |
US9591356B2 (en) | System and method of determining viewership information | |
AU760064B2 (en) | Apparatus and method for web-casting over digital broadcast TV network | |
US8875183B2 (en) | Intelligent TV mosaic for IPTV | |
US10110965B2 (en) | Method and system for presenting electronic programming guides | |
JP4743738B2 (en) | Interactive television system using newsgroups | |
ES2467971T3 (en) | Interactive multimedia content distribution using a separate return channel communications network. | |
US10595093B2 (en) | Apparatus and method for presenting an electronic programming guide | |
US20090307719A1 (en) | Configurable Access Lists for On-Demand Multimedia Program Identifiers | |
US20090119703A1 (en) | Mosaic of Alternate Programming During a Blackout | |
US8056101B2 (en) | Customized interface based on viewed programming | |
US20090210907A1 (en) | Method and system for recommending multimedia content | |
US20090138459A1 (en) | System and Method of Searching for Video Content | |
WO2007109388A2 (en) | Apparatus and method for providing television services using an aggregator | |
US20100154003A1 (en) | Providing report of popular channels at present time | |
US20140380373A1 (en) | System for configuring soft keys in a media communication system | |
CA2321462C (en) | Digital interactive delivery system for tv/multimedia/internet with on-demand applications | |
US8612456B2 (en) | Scheduling recording of recommended multimedia programs | |
US10237627B2 (en) | System for providing audio recordings | |
CA2321805A1 (en) | Digital interactive delivery system for tv/multimedia/internet | |
US20070261085A1 (en) | Method and system for accessing programs from multiple triple play service listings | |
CA2319992C (en) | An events capturing system and method for use in an integrated broadcast delivery system | |
EP1517559A2 (en) | Television delivery system | |
CA2446852C (en) | Television delivery system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
EEER | Examination request | ||
MKLA | Lapsed |