WO2007131525A1 - User interface for digital television networks - Google Patents

User interface for digital television networks Download PDF

Info

Publication number
WO2007131525A1
WO2007131525A1 PCT/EP2006/004559 EP2006004559W WO2007131525A1 WO 2007131525 A1 WO2007131525 A1 WO 2007131525A1 EP 2006004559 W EP2006004559 W EP 2006004559W WO 2007131525 A1 WO2007131525 A1 WO 2007131525A1
Authority
WO
Grant status
Application
Patent type
Prior art keywords
user
program content
network
nodes
interface
Prior art date
Application number
PCT/EP2006/004559
Other languages
French (fr)
Inventor
Dirk-Willem Van Gulik
Original Assignee
Joost N.V.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/173Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
    • H04N7/17309Transmission or handling of upstream communications
    • H04N7/17318Direct or substantially direct transmission and handling of requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/045Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply hybrid encryption, i.e. combination of symmetric and asymmetric encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/065Network architectures or network communication protocols for network security for supporting key management in a packet data network for group communications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network-specific arrangements or communication protocols supporting networked applications
    • H04L67/10Network-specific arrangements or communication protocols supporting networked applications in which an application is distributed across nodes in the network
    • H04L67/104Network-specific arrangements or communication protocols supporting networked applications in which an application is distributed across nodes in the network for peer-to-peer [P2P] networking; Functionalities or architectural details of P2P networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network-specific arrangements or communication protocols supporting networked applications
    • H04L67/10Network-specific arrangements or communication protocols supporting networked applications in which an application is distributed across nodes in the network
    • H04L67/104Network-specific arrangements or communication protocols supporting networked applications in which an application is distributed across nodes in the network for peer-to-peer [P2P] networking; Functionalities or architectural details of P2P networks
    • H04L67/1074Network-specific arrangements or communication protocols supporting networked applications in which an application is distributed across nodes in the network for peer-to-peer [P2P] networking; Functionalities or architectural details of P2P networks for supporting resource transmission mechanisms
    • H04L67/1078Resource delivery mechanisms
    • H04L67/108Resource delivery mechanisms characterized by resources being split in blocks or fragments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network-specific arrangements or communication protocols supporting networked applications
    • H04L67/20Network-specific arrangements or communication protocols supporting networked applications involving third party service providers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network-specific arrangements or communication protocols supporting networked applications
    • H04L67/30Network-specific arrangements or communication protocols supporting networked applications involving profiles
    • H04L67/306User profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television, VOD [Video On Demand]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/4508Management of client or end-user data
    • H04N21/4524Management of client or end-user data involving the geographical location of the client
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television, VOD [Video On Demand]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/4508Management of client or end-user data
    • H04N21/4532Management of client or end-user data involving end-user characteristics, e.g. viewer profile, preferences
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television, VOD [Video On Demand]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/454Content or additional data filtering, e.g. blocking advertisements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television, VOD [Video On Demand]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • H04N21/47805Electronic banking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television, VOD [Video On Demand]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • H04N21/47815Electronic shopping
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television, VOD [Video On Demand]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • H04N21/4788Supplemental services, e.g. displaying phone caller identification, shopping application communicating with other users, e.g. chatting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television, VOD [Video On Demand]
    • H04N21/60Selective content distribution, e.g. interactive television, VOD [Video On Demand] using Network structure or processes specifically adapted for video distribution between server and client or between remote clients; Control signaling specific to video distribution between clients, server and network components, e.g. to video encoder or decoder; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/632Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing using a connection between clients on a wide area network, e.g. setting up a peer-to-peer communication via Internet for retrieving video segments from the hard-disk of other client devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television, VOD [Video On Demand]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/812Monomedia components thereof involving advertisement data

Abstract

There is provided a user interface for a user node (600) of a digital television network (500). The network (500) is operable to supply program content to one or more such user node (600) coupled to the network (500). The network (500) includes: (a) a plurality of network nodes (540); and (b) a program content source (520) couplable in communication with the plurality of network nodes (540) for propagating program content in a peer-to-peer manner to the plurality of network nodes (540). The program content source (520) is operable to supply the user interfaces of the one or more user nodes (600) with one or more lists of identifiers (Q); and the user interfaces of the one or more user nodes (600) are operable to access program content defined by request identifiers (I, 730) selected from the identifiers included in the one or more lists (Q) from the network (500) by communicating the request identifiers (L, 730) to the plurality of network nodes (540) for receiving at the one or more user nodes (600) the program content defined by the request identifiers (I, 730) for user presentation.

Description

USER INTERFACE FOR DIGITAL TELEVISION NETWORKS

Field of the invention

The present invention relates to user interfaces for digital television networks, for example to user interfaces for digital television networks based upon Internet Protocol or similar, and utilizing the Internet and/or similar type of data network. Moreover, the present invention also relates methods of operating such user interfaces. Furthermore, the present invention relates to software executable on computing hardware for implementing such user interfaces.

Background of the invention

Television broadcasting systems are well known and employ UHF, satellite or cable transmission of program content to users. Broadcasting organizations are responsible for generating the program content. Two financial models substantially pertain to operation of the broadcasting organizations. In a first financial model, users pay the broadcasting organizations for a right to receive and consume the program content; such payment is conveniently made by way of subscription or Pay-to- View. In a second financial model, advertisers pay the broadcasting organizations to include advertisements in the program content which pays for the cost of preparing and transmitting the program content to users.

Conventional television broadcasting systems are operable to transmit specific program content pursuant to program time schedules. Such program schedules are inconvenient because users are obliged to consume the program content at its time of transmission. In order to address such inconvenience, users have for many years employed video recorders to record program content to enable subsequent watching of program content at a later time than that of its transmission to the users. Such video recorders enable users to employ fast-forward or fast-reverse functions of the recorders to skip over advertisements which are not of user interest. Such a manner of behavior is of concern to advertisers paying for their advertisements to be included in the program content pursuant to the aforesaid second financial model.

Recently, more sophisticated types of video recorder have been developed. In a United States patent application no. US 2005/0132418 (TIVO), there is described a multimedia time warping system indicated generally by 10 in Figure 1. The system 10 allows a user thereof to store selected television broadcast programs while the user is simultaneously watching or reviewing another program. Conveniently, the system 10 is similar in size to a conventional video recorder. The system 10 accepts television input streams 20 in a multitude of forms to an input module 30 which converts the input streams 20 to an MPEG encoded formatted stream 40 for internal transfer via a media switch 50 within the system 10. Events are recorded in the system 10 that indicate the type of program component that has been found, where it is located in a data storage device 90 of the system 10, and when it was transmitted. Program logic 70, for example a computer processing unit (CPU), of the system 10 is notified that an event has occurred and that corresponding data can be selectively extracted from data buffers 80 of the system 10 for selective storage on the data storage device 90 of the system 10. The system 10 further includes a decoder 100 for converting encoded streams stored within the system 10 to a television output signal 110 for user presentation on a contemporary television display 120. The system 10 provides user control commands which enable the user to view stored programs with at least the following functions: reverse, fast forward, play, pause, index, fast/slow reverse play, and fast/slow play. Such facilities enable the user to effectively avoid having to view advertisements.

As a further advance to the system 10, it is proposed that the program logic 70 is provided with software for performing automatic editing of advertisements, for example by identifying characteristic fingerprints of program content in comparison to characteristic fingerprints of advertisements and then performing an editing function to automatically remove those portions of received signals corresponding to advertisements. Alternatively, such editing can also be potentially performed manually by the user. Such technical developments are of concern to broadcasters and advertisers on account of potentially eroding advertising revenue and advertisement effectiveness.

It is well known that the purchase of personal computers (PCs) by homeowners has increased considerably in recent years. Such PCs are often used for word processing, accounting and other record keeping purposes. Most of these PCs also have modems for connection to the Internet through an Internet Service Provider (ISP) utilizing conventional telephone service. However, these modems often have low baud-rate that makes down-loading of graphics information tedious. Contemporarily, the provision of multimedia/television services has relied on the use of set-top boxes or PC's with added hardware such as TV tuner cards to convert signals from cable, satellite and DSL television systems which are configured for display on a television.

It will be appreciated from the foregoing that television broadcasting is gradually evolving from conventional broadcast media such as UHF and satellite transmissions towards transmission of television program content via data transmission networks such as the Internet. Moreover, Internet data transmission bandwidth limitations presently preclude the provision of individually user-customized services. Furthermore, the provision of individually user-customized services also presently places unreasonable burden of data delivery capacity. This technical problem of data transmission to individual users to support user-customized television is considered in a published International PCT patent application no. WO 03/058537. In the PCT application, there is described an electronic content distribution and exchange system providing authenticated, reliable content downloads and tracking capabilities. A user of the exchange system registers for the purchase of content through an interface on a client system or via an Internet web site. The purchase is for a license to the content, not a purchase of the content itself. When the exchange system is in operation, a list of available content is provided from the client system or the Internet web site and is displayed to the user. Central servers of the exchange system are operable to log the purchase of the license for the content into a central license database. In the aforesaid PCT application no. WO 03/058537, it is elucidated that user- server systems providing program content are popular because they rely on a clear division of responsibility between servers and their associated users. Each server is often costly and specially managed on account of it performing computations and storing data for a potentially large number of associated users. Moreover, each user is inexpensive, having only the resources needed to interact with its corresponding server. Such user- server systems employ an economic model of centralized management and control.

The incremental cost of accommodating a new user to such user-server systems can be relatively high. For example, additional network capacity must be available, sufficient additional computing resources must be available to support the new user, and additional operational overhead is needed in operation to manage these additional resources; the computing resources include for example data storage and computing cycles. As centralized servers become more complex, they also become much less reliable. Finally, a system failure of complex centralized servers results in many users suffering a loss of program content delivery service.

In the aforesaid PCT application no. WO 03/058537, it is elucidated that distributed systems are popular because system resources are distributed to each user, which enables more complex functions to be performed at each user. Access to programs or data content is faster since they are located at the user, thereby reducing load on the data transmission network employed, for example the Internet. Distributed systems are potentially more reliable than centralized systems as failure of a user's receiver only affects that user. However, such distributed systems are more complex to administer from a centralized perspective; moreover, hardware and software failures are more difficult to diagnose in such distributed systems. Recently, there have been attempts to deliver television program content over computer networks, for example the Internet. However, the point-to-point nature of computer networks has conventionally been found to be unwieldy and expensive, since additional resources are required for each additional user. Fully interactive television systems, where the viewer totally controls video streaming bandwidth through the user's set-top device, have proven even more uneconomical because dedication of server resources to each user quickly limits the size of system.

File sharing systems such as the Gnutella peer-to-peer file sharing system, reported to have been originally developed by Nullsoft Inc. of San Francisco, California, is an example of primitive electronic distribution systems. Gnutella is a non-centralized peer-to-peer network approach wherein each user thereof is directly connected to another user thereof, thereby chaining users together to form a network. However, these file sharing systems suffer several weaknesses. The systems are not automated, thereby direct interaction to introduce content to the systems or retrieve content from the systems. Moreover, the systems have not found to be reliable, for example long-duration downloads often fail and no data integrity is established. Furthermore, it is difficult to enforce copyright restrictions for protected content in the systems, for example copyright protected content. Lastly, these systems do not support payment to support the sales and exchange of protected content.

It has thus been conventionally concluded that centralized servers providing program content coupled in a streaming manner via broad-bandwidth Internet links to users is an only technically viable approach to providing interactive television services to users. However, the cost of providing such broad-bandwidth Internet links is presently prohibitively expensive. Moreover, in many parts of the world, Internet broad-band services are not available, therefore precluding the delivery of Internet television in those parts of the world. A difficulty as aforesaid in providing Internet television is a technical problem which the present invention seeks to address, namely to provide customized television services without substantially encountering problems due to data bandwidth limitations by utilizing advanced forms of user interface. Summary of the invention

An object of the present invention is to provide a user interface for a digital television network operable to supply program content to one or more user nodes coupled to the network in a customized manner using advanced forms of user interface.

According to a first aspect of the present invention, there is provided a user interface for a user node of a digital television network, the network being operable to supply program content to one or more such user nodes coupled to the network,

wherein the network includes:

(a) a plurality of network nodes; and

(b) a program content source couplable in communication with the plurality of network nodes for propagating program content as corresponding data blocks to the plurality of network nodes, each data block including an associated identifier by which it can be referenced;

the program content source being operable to supply the user interfaces of the one or more user nodes with one or more lists of identifiers (Q) associated with data blocks; and the user interfaces of the one or more user nodes are operable to access program content defined by request identifiers selected from the identifiers included in the one or more lists (Q) from the network by communicating the request identifiers to the plurality of network nodes for receiving from the plurality of network nodes data blocks having identifiers corresponding to the request identifiers and thereby receiving at the one or more user nodes the program content defined by the request identifiers for user presentation.

The invention is of advantage in that program content is supplied in a customized and convenient manner to the one or more users via their user interfaces. In other words, the present invention is concerned with a user interface for enabling users to interface with a digital television network or system, the television network or system being operable to propagate program content, for example film program content and/or advertisement program content, from a program content source in a peer-to-peer manner via a peer-to-peer data communication network to the users.

Preferably, the user interface is implemented by a software product executable on computing hardware of the user node. Such software implementation of the user interface is of benefit in that a high degree of functionality can be provided at the user nodes using, for example, standard hardware such as personal computers (PCs); processing tasks are thereby transferred from the program content source and the network to the user interface in a distributed manner.

Preferably, the user interface is operable to present the program content received at the one or more user nodes as user-selectable channels (CH). Such user.-selectable channels are contemporarily understood by users, thereby rendering the user interface of the present invention more straightforward for users to employ. The user-selectable channels (CH) are beneficially generated at the program content source from one or more channel templates which are populated with data block identifiers selected in response to one or more user profiles Z.

Preferably, in the user interface, the data blocks propagated within the plurality of nodes are encrypted with mutually different encryption keys to one or more encryption keys employed to encrypt the one or more program content lists (Q) for communication to the at least one user node. Such use of encryption keys is susceptible to rendering the television network more robust to resist hostile interference and manipulation by third parties, for example Internet hackers.

Preferably, in the user interface, the data blocks propagated within the plurality of network nodes are encrypted with mutually different encryption keys which are also propagated to the at least one user node in the one or more program content lists (Q), the mutually different keys propagated to the one or more user nodes being encrypted against one or more public keys of the at least one user node.

Preferably, in the user interface, the channels (CH) are implemented as one or more of: scheduled channels which are non-user modifiable, ad-hoc channels which are optionally user-modifiable, infill channels. Such a diversity of channel types enables the user interface to cater for several different types of viewing requirements.

Preferably, the user interface further includes an input for receiving program content from a user of the interface. The input enables the interface to facilitate user annotation of channels, input of user profiles for enabling the network to customize program content for the user, as well as user generation of ad-hoc channels for individual, group or universal propagation within the network. More preferably, in the user interface, the input is operable to receive input relating to one or more of: instant messaging, user comments, user tags, user bookmarks, user program content such as home movies, user definitions of program content available within the network when constructing ad-hoc channels, user profiles (Z).

Preferably, the user interface is operable to present visual icons on a display of the interface for user-invoking one or more of: instant messaging, user comments, user tags, user bookmarks. Use of such icons is susceptible to rendering the interface convenient to operate by users who are familiar with contemporary personal computer software platforms supporting computing mice.

Preferably, the user interface is operable to execute software code included within data blocks received at the one or more user nodes. Such execution of software included within the data blocks enables the user interface to selectively present program content to the user thereof, for example dependent on ambient weather conditions and similar; for example, running an ice-cream advert when an ambient weather condition at the user's environs exceeds 25 0C. Thus, the user interface is preferably operable to execute the software code of the data blocks for conditionally controlling presentation of advertisement program content to users.

Preferably, the user interface is operable to support one or more functions when presenting the program content at the one or more user nodes: fast forward viewing of program content, play viewing of program content, fast reverse viewing of program content, stop viewing of program content. Inclusion of these functions renders the interface easier for users to control when the users are acquainted with apparatus such as video recorders and similar.

Preferably, the user interface is operable to monitor user response to advertisement program content and/or film program content presented at the one or more nodes, and to communicate the response to the program content source via the plurality of network nodes and/or directly to the program content source for providing information to providers of the advertisement program content and/or the film program content indicative of the user response to the advertisement program content and/or the film program content. Such functionality of the user interface is a considerable benefit in that it enables the network to provide real-time feedback of an impact or success of an advertising campaign being implemented using the network.

Preferably, the user interface is operable to support communication between other user nodes of the network, the communication being pursuant to at least one of: Voice over Internet Protocol (VoIP), instant messaging, e-mail communication. This functionality takes into consideration users social characteristics as manifest in Internet chat web-sites and similar. Moreover, the functionality enables groups of users to share their comments whilst concurrently consuming similar program content.

Preferably, the user interface is also capable of configuring itself to operate as a network node for receiving data blocks propagated from the program content source, and for supplying said data blocks to one or more user nodes of the network. An ability of user nodes to function as supernodes of the network is of considerable benefit in establishing a robust peer-to-peer network for the dissemination of program content via the Internet.

According to a second aspect of the invention, there is provided a user interface for a user node of a digital television network, the network being operable to supply program content to one or more such user nodes coupled to the network,

wherein the network includes: (a) a plurality of network nodes; and (b) a program content source couplable in communication with the plurality of network nodes for propagating program content in a peer-to-peer manner to the plurality of network nodes,

the program content source being operable to supply the user interfaces of the one or more user nodes with one or more lists of identifiers (Q); and the user interfaces of the one or more user nodes are operable to access program content defined by request identifiers selected from the identifiers included in the one or more lists (Q) from the network by communicating the request identifiers to the plurality of network nodes for receiving at the one or more user nodes the program content defined by the request identifiers for user presentation.

According to a third aspect of the invention, there is provided a software product executable on computing hardware for implementing the user interface, the interface being according to the first or the second aspect of the invention.

Preferably, the software product is susceptible to being supplied to users via the network, for example a free downloads of software.

According to a fourth aspect of the invention, there is provided a method of providing a user interface for a user node of a digital television network, the network being operable to supply program content to one or more such user nodes coupled to the network,

wherein the network includes: a plurality of network nodes, and a program content source couplable in communication with the plurality of network nodes for propagating program content as corresponding data blocks to the plurality of network nodes, each data block including an associated identifier by which it can be referenced;

the method including steps of: (a) supplying from the program content source the user interfaces of the one or more user nodes with one or more lists of identifiers (Q) associated with data blocks;

(b) accessing using the user interfaces of the one or more user nodes program content defined by request identifiers selected from the identifiers included in the one or more lists (Q) from the network by communicating the request identifiers to the plurality of network nodes;

(c) receiving from the plurality of network nodes data blocks having identifiers corresponding to the request identifiers and thereby receiving at the one or more user nodes the program content defined by the request identifiers for user presentation.

Preferably, the method includes a step of implementing the user interface by a software product executable on computing hardware of the user node.

Preferably, the method includes a step of presenting the program content received at the one or more user nodes as user-selectable channels (CH).

Preferably, in the method, the data blocks propagated within the plurality of nodes are encrypted with mutually different encryption keys to one or more encryption keys employed to encrypt the one or more program content lists (Q) for communication to the at least one user node. Preferably, in the method, the data blocks propagated within the plurality of network nodes are encrypted with mutually different encryption keys which are also propagated to the at least one user node in the one or more program content lists (Q), the mutually different keys propagated to the one or more user nodes being encrypted against one or more public keys of the at least one user node.

Preferably, the method includes a step of implementing the channels (CH) as one or more of: scheduled channels which are non-user modifiable, ad-hoc channels which are optionally user-modifiable, infill channels.

Preferably, the method includes a step of providing an input for receiving program content from a user of the interface. More preferably, in the method, the input is operable to receive input relating to one or more of: instant messaging, user comments, user tags, user bookmarks, user program content such as home movies, user definitions of program content available within the network when constructing ad-hoc channels, user profiles (Z).

Preferably, the method includes a step of presenting via the interface visual icons on a display of the interface for user-invoking one or more of: instant messaging, user comments, user tags, user bookmarks.

Preferably, the method includes a step of executing at the interface software code included within data blocks received at the one or more user nodes.

Preferably, the method includes a step of executing at the user interface the software code of the data blocks for conditionally controlling presentation of advertisement program content and/or film program content to users.

Preferably, the method includes a step of supporting at the user interface one or more functions when presenting the program content at the one or more user nodes: fast forward viewing of program content, play viewing of program content, fast reverse viewing of program content, stop viewing of program content.

Preferably, the method includes steps of: (d) monitoring at the user interface user response to advertisement program content and/or film program content presented at the one or more nodes; and (e) communicating the response to the program content source via the plurality of network nodes and/or directly to the program content source for providing information to providers of the advertisement program content and/or the film program content indicative of the user response to the advertisement program content and/or the film program content.

Preferably, the method includes a step of configuring the user interface to support communication between other user nodes of the network, the communication being pursuant to at least one of: Voice over Internet Protocol (VoIP), instant messaging, e-mail communication.

According to a fifth aspect of the invention, there is provided a method of supplying program content to one or more user nodes coupled to a digital television network, each user node including a user interface,

wherein the network includes a plurality of network nodes, and a program content source couplable in communication with the plurality of network nodes for propagating program content in a peer-to-peer manner to the plurality of network nodes,

the method including steps of:

(a) supplying from the program content source the user interfaces of the one or more user nodes with one or more lists of identifiers;

(b) accessing via the user interfaces of the one or more user nodes program content defined by request identifiers selected from the identifiers included in the one or more lists from the network by communicating the request identifiers to the plurality of network nodes; and (c) receiving at the one or more user nodes the program content defined by the request identifiers for user presentation.

It will be appreciated that features of the invention are susceptible to being combined in any combination without departing from the scope of the invention as defined by the accompany claims.

Description of the diagrams

Embodiments of the present invention will now be described, by way of example only, with reference to the accompanying drawings wherein:

Figure 1 is a schematic illustration of a known multimedia time warping system as described in a United States patent application no. US 2005/0132418 (TIVO);

Figure 2 is an illustration of a digital television network including a user interface pursuant to the present invention;

Figure 3 is an illustration of decrypted component parts of data blocks B communicated within the network of Figure 2;

Figure 4 is a depiction of a series of steps required to convey program content to a user of the network of Figure 2 via a user interface pursuant to the present invention;

Figure 5 is a depiction of a display screen of a user interface pursuant to the present invention; Figure 6 is an example of a cue list Q communicated within the network of Figure 2;

Figure 7 is an example of generation of a cue list Q from a channel template at a principal server of the network of Figure 2; and

Figure 8 is an illustration of a method of encryption employed within the network of

Figure 2.

In the accompanying drawings, an underlined number is employed to represent an item over which the underlined number is positioned or an item to which the underlined number is adjacent. A non-underlined number relates to an item identified by a line linking the non-underlined number to the item. When a number is non-underlined and accompanied by an associated arrow, the non-underlined number is used to identify a general item at which the arrow is pointing.

Description of embodiments of the invention

In describing embodiments of the present invention, descriptions of networks operable to deliver television program content will be elucidated, followed by an explanation of their method of operation especially in respect of user interfaces in such networks. In overview, the present invention is concerned with supplying data in digital television networks, for example via the Internet or substantially similar type of data communication network. When implementing the present invention, the Internet or similar is utilized in a peer-to-peer manner to provide program content P to a user U without causing overload at a principal server S, conveniently referred as being a "back end" server, at which the program content P originates. The program content P is propagated in discrete data blocks B from the principal server S to several nodes N in the

Internet for storage thereat. The several nodes N are beneficially configured as supernodes coupled in communication with associated data storage nodes wherein each supernode maintains a record of data blocks stored in its associated one or more data storage nodes. Each data block B is at least partially in encrypted form and accompanied by an identifier I uniquely identifying the block B. The user U desirous to receive program content P interrogates the principal server S to identify program content P which is available on the Internet, namely corresponding to the discrete data blocks B which have been propagated within the Internet; the principal server S provides the user U with a list of available program content P and the user U responds by sending a request R to the principal server S for specific program content Ps desired by the user U. The principal server S then responds to the request R from the user U by sending a cue list Q corresponding to the specific program content Ps to the user U; the cue list Q includes identifiers Is of the discrete data blocks Bs constituting the specific program content Ps- Moreover, the cue list Q is beneficially customized in response to characteristics of the user profile Z; such customization will be elucidated later with reference to Figure 7. The user U executes the cue list Q by sending block requests RB for the discrete data blocks Bs constituting the specific program content Ps into the Internet to the several nodes N which have received the discrete data blocks B propagated earlier from the principal server S; requests are received at the aforesaid supernodes included in the nodes N. On receiving via the Internet the block requests RB from the user U, the supernodes of the several nodes N are then operable to search their local data storage and their associated one or more data storage nodes to determine whether or not one or more data blocks B stored thereat correspond to the data block requests RB received at the several nodes N. If a match is found between the data block requests RB and data blocks B stored at the several nodes N, one or more of the nodes N are operable to send one or more requested data blocks BR to the user U for decryption and then consumption thereat. Such a method of providing program content P is of benefit in that the principal server S can deliver data blocks B into the several nodes N of the Internet asynchronously to activities at the user U, thereby avoiding data supply overload problems at the principal server S. Moreover, the principal server S can deliver data blocks B in duplicate to various nodes N to enhance reliability of program content supply to the user U; thus, if a given node N should develop a fault and become unavailable to supply requested data blocks BR to the user U, the requested data blocks BR are susceptible to being provided to the user U from alternative nodes N whereat the requested data blocks BR are stored in duplication. Furthermore, interaction between the user U and the principal server S involves relatively little data exchange, namely substantially a list of available program content P, the cue list Q and the user profile Z. Additionally, no program content is sent directly, except in exceptional circumstances, from the principal server S via the Internet to the user U; as such, this fundamentally differentiates the present invention from streamed program content approaches to deliver television services. Thus, such an approach to program content supply via the Internet as described in overview above at least partially addresses problems encountered in aforementioned known approaches to streaming data when providing television services, especially user-customized television services.

Implementation of the present invention results in the program content P being stored in the Internet in fragmented form. The cue list Q can optionally include information useable by the user U to decrypt specific requested data blocks BR received thereat. As such, complete copies of the program content P are not freely available to third parties in the Internet, thereby enabling copyright provisions associated with the program content P to be honored. In the cue list Q, the principal server S can include also advertisement program content PA corresponding to advertisement subject matter which has also been delivered from the principal server S for propagation within the Internet. Thus, the principal server S can specify in the cue list Q a preferred type of advertisement to be presented to the user U, for example in response to a user profile Z supplied from the user U to the principal server S. Beneficially, the user profile Z is anonymous so that the principal server S is unaware of the real name and address A of the user U. In such a manner, advertisers' advertisement material can be customized to the user U to provide purchase propositions which are more likely to interest the user U in contradistinction to untargeted advertising as used in conventional television broadcasts via UHF or satellite links.

The present invention will now be described in more detail. Referring next to

Figure 2, an embodiment of the invention is illustrated as a digital television network indicated generally by 500. The television network 500 is also susceptible to being regarding as a digital television system. The network 500 comprises the Internet denoted by 510 including the principal server S denoted by 520. The principal server S 520 is coupled to receive film program content PF denoted by 525 from organizations such as film producers, from national television companies, from independent film producers, and from film archives and similar. The film program content PF therefore includes, for example, movies, films, documentaries, sports coverage, news reports and similar. Moreover, the principal server S 520 is also coupled to receive advertisement program content PA denoted by 530 from advertising organizations, from specialist interest groups such as religious organizations and similar. The advertisement program content PA thus comprises advertisements and promotional subject matter.

Optionally, the principal server S 520 can be implemented as a cluster of servers. Yet more optionally, certain servers of the cluster of servers can be operable to deliver data blocks B to nodes N denoted by 540 of the Internet 510, whereas certain other servers of the cluster of servers can be operable to handle dialogue with the user U as described in the foregoing, for example generation of the cue list Q. The cluster of servers can be implemented so that its number of servers is dynamically alterable in response to user demand for program content to be delivered thereto.

The Internet 510 includes the aforesaid nodes N denoted by 540. Optionally, the nodes 540 are implemented as supernodes having associated therewith one or more local nodes 550. Yet more optionally, the nodes N 540 implemented as supernodes include an index of data blocks B stored thereat and within their associated local nodes 550. Beneficially, the nodes N 540 and optionally the local nodes 550 are operable to function as servers of data blacks B delivered thereto.

As described earlier, the principal server S 520 is operable to deliver program content P in the form of encrypted data blocks B via communication links 560 provided in the Internet 510. Conveniently, the data blocks B are communicated in the Internet 510 as encrypted MPEG program content data, for example conforming to MPEG2 or MPEG4 standards, although other standards of encoding are optionally employable. In particular, MPEG4 video content encoding is known to provide a high data compression ratio approaching 50 times, thereby reducing a quantity of data to be communicated in the Internet 510 whilst achieving a high video image quality when presented to the user U.

In Figure 2, the user U is denoted by a user node 600. The user node 600 is susceptible to being implemented as a personal computer (PC) loaded with suitable compatible software providing the user U with a user interface pursuant to the present invention, a screen of the personal computer being operable to present television images to the user U 610. Alternatively, the user node 600 is susceptible to being implemented as a local server coupled via a set-top box to a conventional television to provide such a user interface pursuant to the present invention. Such a conventional television can comprise one or more of: a cathode ray tube (CRT) television, a flat-screen liquid crystal display (LCD) television, a flat-screen plasma display television, a liquid crystal display (LCD) projection television, and an organic light emitting diode (OLED) display television. On account of data blocks BR requested by the user U 610 potentially being received at the user node 600 in any order from the nodes N 540 and at imprecisely defined times as a result of peer-to-peer operation of the network 500, the user node 600 includes at least one data storage buffer therein, for example a hard disc drive (HDD), an optical data storage drive and/or solid state memory.

The user U 610 is optionally capable of loading user program content 620 into his/her user node 600 and sending such content to the principal server S 520, known also as the "back end server". Such user program content 620 will be elucidated in more detail later and includes at least one of: instant messaging, user comments, tags, overlays, bookmarks, user profile information, user program content such as home produced movies. Overlays are conveniently implemented as additional program content which is susceptible to being user-presented concurrently with corresponding film program content Pp or advertisement program content PA SO that the overlays appear visually overlaid onto the corresponding film program content Pp or advertisement program content PA. In the context of the present invention, instant messaging is susceptible to providing relatively prompt exchange of messages between users U 610 of the network 500. Operation of the digital television network 500 will now be described in greater detail with reference to Figure 2. Operators of the principal server S 520 comprise persons generally responsible for administering the network 500; the persons responsible for the network 500 do not have control of the user U 610 who remains essentially anonymous to these persons. These persons interface with program content providers regarding licensing and procurement of the film program content PF 525 from various suppliers, for example film producing companies, film licensing companies, film archives, television broadcast corporations and similar. Such licensing and procurement beneficially is in full compliance with international copyright provisions, for example with provisions of the Berne Convention. The persons administering the network 500 also interface with advertising organizations for procuring the advertisement program content PA 530. These advertising organizations pay, for example, the persons responsible for the digital television network 500 to target the advertisement program content PA 530 dependent upon one or more of the following constraints:

(a) towards users U having particular user profiles, namely to present subject matter of interest to the users U, for example golf equipment to golfing enthusiasts;

(b) to be presented to users U in conjunction with certain selected types of film program content PF 525 being presented shortly after or shortly before the advertisement program content PA, namely to present the advertisement program content PA 530 in a suitable setting, for example to advertise kitchen equipment in conjunction with a television program on cooking and wine;

(c ) to be presented to users U based upon geographical constraints, for example a geographical region or neighborhood in which the users U live based upon their user profiles Z, for example to advertise a local restaurant located in a 2 km radius of where the users U live;

(d) to be presented to users U based upon physical conditions, for example weather conditions such as temperature and/or incident sunshine, time of day, day of week, certain events having occurred such as Holland winning the World Football Cup and so forth; for example, an ice cream advertisement is presented on condition that the ambient weather temperature in a region where the user U lives exceeds 25 0C and there is sunshine in the user's U region; and

(e) not to be presented to users U in conjunction with certain selected types of film program content Pp 525 being presented shortly after or shortly before the advertisement program content PA, namely circumventing presentation of the advertisement program content PA in unsuitable association; for example, presentation of an advertisement for diapers (nappies) is avoided immediately before and/or after a fine food program.

Other constraints are possible based on user U age, religious group, ethnic group, health, income group, marital status and so forth.

The operators of the principal server S 520 propagate application software AS throughout the Internet 510 in response to user U request, for example by way of Internet registration to the system 500 by such users U sending their user profiles Z to the principal server 520 and/or paying a fee to receive credit tokens T. This application software AS provides the aforesaid user interface to the user U 610. Alternatively, registration to the network 500 can be optionally free to users U who receives the application software AS on request. Beneficially, the principal server S 520 is supported by a function such as contemporary secure Pay-Pal or similar payment system operable to support secure payment via the Internet 510. On receipt of such application software AS at the user node 600, the user U 610 is capable of receiving program content from the Internet 510 propagated from the principal server S 520. When the user node 610 is of sufficient data storage capacity and is operable above a threshold proportion of time, for example more than 99% of total time, the application software AS is operable to cause the user node 600 to function as a supernode, for example in a manner akin to supernodes included in the nodes N 540, namely to support both its user U 610 and also act as a server data store for other users for storing data blocks B not directly of interest to the user U 610 but accessible to other users U of the system 500. Conversely, when the user node 600 is deactivated frequently, for example often switched off, the application software AS executable at the user node 600 operates to serve only the needs of the user U 610. It is of benefit that the user node 600 becomes a supernode akin to the nodes N 540 because a more responsive service from the principal server S 520 is potentially possible for the user U 610 when program content is being propagated out into the network 500 from the principal server S 520.

As elucidated in the foregoing, the network 500 is operable to cause propagate the program content PF and the advertising program content PA throughout the network 500 to one or more of the supernodes N 540 whereat the program contents PF, PA are stored as aforesaid encrypted data blocks B. Such propagation is performed in a peer-to-peer manner wherein the principal server S 520 optionally is not able to control an extent and manner of propagation of the data blocks B 700 within the network 500. Moreover, such peer-to-peer propagation is in clear contradistinction to conventional television systems operable to utilize data streaming substantially from central servers to users. Each data block B as denoted by 700 in Figure 3 beneficially comprises several components parts including when decrypted: (a) program content 710, for example implemented as encrypted MPEG-encoded data including audio data;

(b) metadata 720 describing the program content 710, for example name of actor, name of film director, year of release, category of film such as comedy or documentary;

(c) an identifier I 730 uniquely identifying its corresponding block B 700; and (d) some executable software code 740, for example implemented in Java software language, for defining conditions of use of the program content 710 within the network 500.

Optionally, the data blocks B 700 comprise a plurality of smaller data bundles whose structure in respect of the aforesaid several component parts is not immediately understandable to third parties eavesdropping on the network 510. The executable software 740 serves to define, for example, use of the advertising program content PA relating to advertisements such as them being shown in conjunction with only certain types of films and not in conjunction with other types of advertisements in a given geographical region when the outdoor ambient temperature in that region is greater than 15 0C. Copyright material is thus spread in data blocks B 700 throughout the network 500 as fragments so no copy of the material is made directly freely available to third parties. The blocks B 700 propagated throughout the network 500 are only accessible to the user node 600 under permission from the principal server S 520. The aforementioned cue list Q is only released to the user node 600 for accessing the data blocks B 700 when copyright and associated distribution rights have been honored, for example the persons operating the network 500 have been granted permission to supply the film program content PF subject to payment of royalties to a relevant copyright owner as negotiated between the persons operating the network 500 and the copyright owner. As described earlier, the network 500 includes payment facilities, for example proprietary Pay-Pal or similar, so that the user 610 is able to buy viewing tokens T from the principal server S 520. The user 610 commences with a given "credit" of tokens T which can subsequently be consumed in return for the user 610 gaining access to program content conveyed by way of the aforesaid data blocks B 700 propagated throughout the network 500. Beneficially, data blocks B 700 which are only relevant to a particular geographical region, for example advertisement program content PA conveying information regarding a particular restaurant or theater in Tokyo in Japanese language, are propagated only to those nodes N 540 serving that particular geographical region rather than generally unnecessarily occupying data storage space within the network 500 in regions where Japanese as a language is generally not known and understood.

Initially, as depicted in Figure 4, when the user 610 is desirous to subscribe to the network 500, the user U 610 contacts the principal server S 520, for example a sub-server thereof configured to deal with new enrolments, via a Universal Resource Locator (URL); the user U 610 then proceeds to provide a user profile Z although the user U 610 refrains from providing any personal details such as real name or residential address so that the user U 610 remains, in reality, anonymous to the network 500; such anonymity is important in the network 500 to respect personal privacy of the user U 610. As an example, the actual user 610 is a middle-aged female living in Scotland parading in her user profile Z supplied to the principal server S 520 as a teenage male allegedly living in London. The user profile Z is preferably provided by the user U 610 selecting various options from a menu list presented to the user U 610; there is thereby automatically generated user metadata UMD, namely the aforesaid user profile Z expressed in metadata terms, in a standardized format corresponding to the user U 610.

On providing the user profile metadata UMD, the principal server S 520 is operable to cause the application software AS to be downloaded from the principal server S 520 or another server of the network 500 tasked with providing the user U 610 with software; for example, one or more of the nodes N 540, for example supernodes or data storage nodes associated therewith, are able to provide the user U 610 with a download of the application software AS. Optionally, the user U 610 can purchase tokens T from the principal server S 520 or another server of the network 500 when downloading the application software AS; alternatively, the user U 610 can periodically buy such tokens T via the user node 600 once the application software AS has been loaded into the user node 600 and is executing on computing hardware therein, for example on a personal computer (PC). The user U 610 is also provided with at least one public password WP complementary to a corresponding private password employed by the principal server S 520 in encrypting the data blocks B 700. By such an arrangement, the user U 610 only has potential access to the data blocks B 700, under supervision of a cue list Q provided from the principal server S 520, once the user U 610 has registered with the principal server S 520.

On executing the application software AS, the user node 600 is optionally provided with advertisement program content PA which the application software AS is programmed to seek locally in the network 500 to the user node 600. Such seeking occurs by the user node 600 sending requests for free advertisement program content PA stored substantially locally thereto.

The user U 610 as a next step sends a request enquiry EN to the principal server S

520 for a list of film program content PF available within the network 500. The principal server S 520 responds by sending an electronic program guide EPG derived from metadata stored within the principal server S 520; optionally, the electronic program guide EPG is customized to characteristics of the user profile metadata UMD, for example when the user profile metadata UMD specifies that the user U 610 is German speaking, the electronic program, guide EPG is provided in German and pertains substantially to German items of program content PF, PA- By such a selective electronic program guide EPG, it is feasible to limit an amount data that the principal server S 520, or another server of the network 500 tasked by the principal server 520 S with providing the electronic program guide EPG to the user U 610, has to provide to the user U 610, thereby avoiding exceeding data bandwidth restrictions at the principal server S 520. Selective generation of the electronic program guide EPG pursuant to the user profile metadata UMD is executed by metadata matching between metadata associated with the film program content Pp and that of the user profile metadata UMD. Such metadata matching is known in the art and involves determining one or more Euclidean distances between one or more terms present in the user profile metadata UMD and one or more terms present in the metadata associated with the program content PF; the one or more Euclidean distances are summated in order to determine a matching factor MF. Computation of the one or more Euclidean distances optionally involves filtering the metadata to correct or remove mis-spelt terms and terms imparting negligible information followed by a translation step, for example to an abstract conceptual language domain wherefrom the one or more Euclidean distances are determined. In an event of the matching factor MF exceeding a given threshold, the metadata of the program content PF is communicated to the user U 610. The matching factor MF also enables program content lists in the electronic program guide EPG to be presented via the user node 600 to the user U 610 in an order to potential relevance to assist the user U 610 with selecting program content Pp most likely to be of interest; the electronic program guide EPG beneficially includes principal channels, ad-hoc channels which can be user modified and/or user created, and in-fill advertisement channels. For example, the electronic program guide EPG can be determined, for example, in respect of one or more of:

(a) name of principal actor;

(b) name of film producer; (c) name of film title;

(d) year of release to television, cinema, satellite or cable networks; (e) nature of the program content, for example documentary, news, sport, comedy, pornographic, wildlife, pop music, classical music;

(f) language of the program content, for example German, Japanese, Korean; and

(g) presumed age-group to which the program content Pp is likely to appeal.

Optionally, the aforesaid electronic program guide EPG is presented to the user U 610 as screen icons or as lists of potentially relevant program content to the user U 610 based on the user profile Z. More optionally, the electronic program guide EPG is presented as a multiplicity of channels amongst which the user U 610 is able to select in a manner to channels in contemporary broadcast television. On receiving the electronic program guide EPG, the user U 610 selects program content which the user U 610 is desirous to consume and sends such selection as a request REQ to the principal server S 520. The principal server S 520 then, in response to receiving the request REQ, sends the aforementioned cue list Q back to the user U 610. The cue list Q is beneficially generated at the principal server S 520 from one or more channel templates which are the customized, namely populated, with program content likely to be of relevance or interest to the user U 610 as will be elucidated in more detail below. Optionally, generation of the cue list Q is delegated by the principal server S 520 to one or more support nodes (not shown) of the network 510.

The cue list Q includes a list of encrypted data blocks B 700 corresponding to the request REQ, the list preferably being in a sequence corresponding to its temporal execution; the cue list Q includes thus a list of aforementioned data blocks BR to be requested by the user node 600. Moreover, the principal server S 520 is operable to perform aforesaid matching of advertisement program data PA metadata 730 with the user profile Z, namely the user profile metadata UMD, and include corresponding advertisements likely to be interest to the user U 610, namely advertisements specifically targeted to the user U 610; such targeted advertising is in stark contradistinction to conventional broadcast television wherein advertising is included irrespective of characteristics of viewers. The principal server S 520 is thus also able to determine a manner in which the advertisements are to be presented to the user U 610, for example before and/or after film program content PF requested in the request REQ, and/or interspersed within one or more sections of the film program content PF requested. Optionally, the principal server S 520 includes within the cue list Q a complement of all likely relevant advertisement program content PA which the user node 600 is operable to select of reject locally based upon execution of the code 740 included in the data blocks BR requested. The cue list Q may, for example, contain definitions for data blocks B 700 which are subject to payment from the user U 610; such payment can be made by the principal server S 520 cancelling a certain number of the aforesaid tokens T allocated to the user U 610. Alternatively, or additionally, the cue list Q includes data blocks B 700 for which no payment is necessary, namely cost-free to the user U 610.

The user node 600 receives the cue list Q from the principal server S 520 and then proceeds to interpret the cue list Q. In interpreting the cue list Q, the user node 600 sends out requests to the nodes N 540, for example to the supernodes thereof, for the data blocks BR. The nodes N 540 substantially in parallel, without causing data load to the principal server S 520, search for the requested data blocks BR, and then report to the user node 600 whereat the data blocks BR are stored so that the user node 600 can then specifically request from nodes N 540 whereat the data blocks BR are stored to send the data blocks BR via the Internet 510 to the user node 600 whereat they are stored in one or more data buffers of data storage of the user node 600. Thereafter, optionally concurrently to receiving the requested data blocks BR from the nodes N 540, the application software AS executing upon computing hardware of the user node 600 decrypts the received data blocks BR 700 using the one or more keys provided to the user U 610 via the user node 600 to provide program content for consumption by the user U 610. Decryption optionally occurs real-time at a time of consumption of the program content by the user U 610.

Such a manner of providing program content Pp, PA to the user node 600 via the nodes N 540 is highly beneficial in that the principal server S 520 does not need to stream program content in real time as required in known conventional cable television systems.

Such a manner of operation considerably reduces a computation workload experienced by the principal server S 520. Moreover, data blocks B delivered from the principal server S 520 to the nodes N 540 is beneficially implemented during periods when the Internet 510 is more lightly loaded, for example at night-time.

The network 500 is optionally provided with a purging function to prevent data storage of the nodes N 540 become progressively saturated with data blocks B 700 delivered from the principal server S 520 to the nodes N 540. For example, the nodes N 540 are operable to store each data block B 700 received thereat for a certain time interval before deleting the received data block B 700 from their data storage. Optionally, if a given one or more data blocks B 700 are accessed frequency by users U, the data blocks B 700 are preferentially not purged from the nodes N 540. Yet more optionally, the code 740 associated with each data block B 700 includes information instructing the nodes N 540 to retain the data block B 700 in data storage for a define time interval and/or until a defined end date. More optionally, the received data blocks B 700 are deleted from data storage of the nodes N 540 after the received data blocks B 700 have been accessed by users U a defined number of times.

Beneficially, the nodes N 540, for example supernodes thereof, are operable to monitor and record a number of times given data blocks B 700 are accessed, especially when such data blocks B 700 relate to advertisement program content PA. Such monitoring and recording is beneficial in that the nodes N 540, for example supernodes thereof, are able to provide the principal server S 520 with statistics regarding presentation of advertisements to users U, such statistics for subsequent reporting to advertisers paying for their advertisement program content PA to be shown via the network 500. Alternatively, or additionally, the application software AS executing in the computing hardware of the user node 600 can collate statistical information on which data blocks B corresponding to advertisement program content PA have been viewed by the user U 610 and communicate such information anonymously either directly to the principal server S 520 or via the nodes N 540 to the principal server S 520 or elsewhere in the network 510. The principal server S 520 is thereby capable of providing statistical reports of advertising effectiveness or exposure directly to advertisers paying for advertisement program content to be presented via the network 500 and therefore enabling the effectiveness of advertising campaigns to be assessed on a substantially realtime basis.

The network 500 behaves in a different manner to known data streaming cable television systems in that program content is not instantly available to the users U but first needs to propagate out from the principal server S 520 to the nodes N 540; for example, supernodes of the nodes 540 are operable to keep a catalogue of data blocks stored in their associated one or more storage nodes. Such a characteristic can render the network 500 less able to provide instant news reports in comparison to known data streamed systems. However, on account of its peer-to-peer nature, the network 500 is potentially more robust than known data streamed systems in that failure of a given node N 540 does not automatically result in loss of service to the user U 610, especially when data blocks B 700 are duplicated within the network 500 at other of the nodes N 540. Moreover, supply of requested data blocks BR from the nodes N 540 rather than directly from the principal server S 520 circumstances a conventional problem of data supply overload occurring at the principal server S 520.

Optionally, the electronic program guide EPG as processed via the application software AS executing on the computing hardware of the user node 600 is presented to the user U 610 as one or more channels between which the user U 610 can select, namely in a manner akin to known conventional television broadcasting systems. Yet more optionally, the application software AS is operable, via for example an Application

Programming Interface API, to allow the user U 610 to upload the user's program content 620 together with its metadata to the principal server S 520. Such uploading of user's program content 620 is preferably subject to a copyright disclaimer from the user U 610 allowing distribution of the program content 620 in the network 500. Such uploading of the program content 620 is optionally subject to the user U 610 receiving payment for having uploaded the content, for example in a situation wherein the program content 620 is a documentary or home movie likely to be of considerable interest to other users U.

Alternatively, such uploading of the data content 620 is optionally subject to a payment from the user U 610 to the principal server S 520, for example in a situation wherein the program content 620 corresponds to private advertisement material, for example classified small advertisements. The persons responsible for operation of the principal server S 520 are beneficially operable to review the program content 620 submitted by the user U 610 for ensuring that the metadata provided by the user U 610 is consistent with the program content 620 subject matter, and also that the program content 620 is of nature that it can respectfully be propagated within the network 500; for example, the persons responsible for the network 500 are able to potentially hinder propagation of the program content 620 when causing incitement to criminal activities and such like.

The cue list Q provided to the user U 610 is capable of enabling the user U 610 via the application software AS to review the requested program content REQ, namely the requested data blocks BR, in fast-forward, fast-reverse, forward, reverse, and stop modes akin to a conventional video recorder. Beneficially, such modes are invoked by the user 610 moving a mouse cursor over icon symbols presented to the user and then clicking to invoke modes represented by the icon symbols.

Optionally, in an event that a requested data block BR included in the cue list Q is not found at any of the nodes N 540 by their associated supernodes, the application software AS is capable in such a situation to send a request directly to the principal server

S 520 for the requested data block BR. In response, the principal server S 520 executes at least one of the following operations:

(a) the principal server S 520 streams the unobtainable requested data block BR directly to the user node 600 for substantially immediate consumption thereat; and

(b) the principal server S 520 outputs the unobtainable requested data block BR to one or more of the nodes N 540 and then informs the user node 600 of the identity of the one or more nodes N 540 whereat the requested data block BR has now become available. Optionally, whilst awaiting availability of the formerly unavailable data block BR, the application software AS can present data blocks B 700 corresponding to advertisement program content PA to the user U 610 and/or a message that data blocks are being fetched and short delay is likely to be encountered; such presentation during the short delay is known as "infilling".

Optionally, the principal server S 520 is operable to propagate duplicate data blocks B 700 within the network 500 in response to estimated frequency of access by users U. For example, data blocks B 700 corresponding to sports coverage program content is beneficially duplicated to more nodes N 540 at weekends in comparison to data blocks B 700 corresponding to obscure documentary films. Such selective distribution of duplicate data blocks B 700 enables data supply overload occurring at the nodes N 540 to be circumvented. Yet more optionally, in an event of given program content PA, PF become unexpectedly very popular, for example a given amusing advertisement or comedy film, the nodes N 540 are optionally operable to propagate corresponding data blocks B 700 to other nodes N 540 of the network 500 so that data supply overload from the nodes N 540 to users U does not occur and that a high quality of service to users U is thereby provided.

Beneficially, the network 500 enables users U interested in mutually similar program content to form special interest groups, for example steam train enthusiast groups or golfing enthusiast groups, so that users U of such special interest groups are able to mutually communicate via the application software AS to one another, for example to suggest amongst themselves program content PF which is likely to be of mutual interest. Such formation of special interest groups is, for example, achieved by way of the data content 620 that the users U are capable of uploading into the network 500.

As elucidated in the foregoing, the application software AS executable at the user node U 600 is beneficially synergistically capable of accessing other services available on the Internet 510, for example one or more of: voice over Internet Protocol (VoIP), instant messaging, electronic product auctioning such as provided by E-bay, banking services such as Pay-Pal, and user directories capable of bring the user U 600 into contact with other users U of the network 500. Such user contacts are beneficially not monitored or recorded at the principal server S 520 so as to respect privacy and anonymity of the users U of the network 500. As elucidated in the foregoing, the user profiles Z, as represented in the user metadata UMD, does not include actual names and postal addresses of the users U thereby ensuring their anonymity.

In order to further elucidate the present invention, appearance and operating characteristics of the application software AS executing on computing hardware of the user node 600 will now be described. Referring to contemporary television services employing UHF and satellite transmission, users have become accustomed to a concept of television channels from which they can select program content according to program schedule. It is conventional practice for users to employ television remote controls to select, namely "flick", amongst such channels to find program items of user interest. Without employing a video recorder, the user has conventionally to consume, namely view and experience, the program content at its time of transmission. Conventionally, without using a video recorder to store program content, there is no notion of "stop", "play", "fast forward" and "fast reverse" as found on video recorders. However, the widespread use of video recorders has enabled users to record broadcast program content for later viewing and also enabled users to purchase pre-recorded program content for consumption, for example re-recorded video tapes, pre-recorded DVDs and such like; users thus have a choice of viewing:

(a) directly broadcast real-time program content;

(b) broadcast program content which has been recorded by the user for subsequent viewing; and (c) pre-recorded program content procured independently from, for example, video shops and similar retailing organizations.

Such a contemporary prevailing situation provides users with a complex situation, namely some directly broadcast program content, and pre-recorded material to which various "stop", "play", "fast forward" and "fast reverse" types of operations can be applied. The application software AS is operable to present certain known concepts to its user U 610 to preserve the "look and feel" of contemporary television systems. The system 500 is beneficially operable to provide the user U 610 with a choice of one or more channels CH amongst which the user U 610 can select. However, substantially all the channels CH provided via the application software AS to the user U 610 are subject to user-selectable "stop", "play", "fast forward" and "fast reverse" operations on account of program content of the channels CH being sourced from the network nodes N 540 and stored in data memory of the user node 600 prior to viewing. However, such operations have limitations in respect of "fast forward" when the program content PA, PF has been only very recently propagated within the network 510 from the principal server 520. Preserving the concept of channels CH when presenting program content via the user interface implemented using the application software AS to the user U 610 enables specific channels CH to have themes associated therewith, for example "news channel", "sports channels", "arts channel", "classic music channel", "hard rock channel", "gardening channel", "tattoo and piercing channel" and so forth.

Conveniently, the aforesaid request enquiry EN, see Figure 4, sent from the user node 600 to the principal server S 520 results in a list of program content PA, PF available from the network of nodes N 540 being communicated back to the user node 600. The application software AS is operable to provide the user U 610 with the aforesaid electronic program guide EPG presented as a plurality of channels CH amongst which the user U 610 can select, for example using a mouse, or buttons of a keyboard or remote control unit. Optionally, the application software AS providing the user interface pursuant to the present invention also lists specific items of film program content Pp, for example movies (MV) that have been recently released or movies which, from the user profile Z, are likely to be of interest to the user U 610. As illustrated in Figure 5, on a viewing screen 800 of the user node 600, for example a television monitor, the channels CH and movie choices are presented as icon symbols 810; preferably, the choices are listed in an order of likely relevance as determined from matching film metadata FMD of the choices to the metadata UMD of the user profile Z. The user U 610 can invoke a preferred choice by moving on the viewing screen 800 a curser symbol 820 onto an icon symbol 810 representing the preferred choice and then clicking a mouse switch or similar to confirm the choice. Such confirmation from the user U 610 results in the user node 600 sending the request REQ to the principal server S 520 to return the cue list Q defining data blocks 700 constituting the preferred choice. The application software AS executing in the computing hardware of the user node 600 causes the user node 600 to contact the network nodes N 540 to send to the user node 600 the data blocks 700 identified in the cue list Q.

In Figure 6, the cue list Q is indicated generally by 900 and includes one or more sequences, for example sequences 930a to 930d, of identifiers 940 denoted by "ID" corresponding to the aforesaid identifiers 740 of the data blocks B 700 propagated within the network 510 to the network nodes N 540. Optionally, the preferred choice comprises more than one channel CH in which case the cure list Q includes identifiers ID defining data blocks conveying program content for the more than one channel CH selected. An axis 910 denotes notional time "t" as perceived by the user U 610 when replaying program content of the cue list Q 900. Moreover, an axis 920 denotes direction along the sequences 930 for achieving "forward" and "back" functions as perceived by the user U 610 when using a conventional video recorder. Optionally, to reduce an amount of communication traffic between the user node 600 and the principal server S 520, the identifiers 940 for more than one channel CH is communicated to the user node 600 so that the user U 610 can select between channels conveyed in a single cue list Q. Alternatively, information solely for a given channel, for example solely the sequence 930a for the channel CH 1, can be communicated from the principal server S 520 to the user node 600 in the cue list Q 900.

Certain of the identifiers 940 included in the cue list Q 900 will correspond to film program content PF and others will correspond to advertisement program content PA- Optionally, data blocks B 700 corresponding to the identifiers ID 940 include executable code 750 controlling the application software AS concerning, for example: (a) whether or not presentation of the data block B 700 is skippable using "forward", "fast forward", "reverse" or "fast reverse" functions provided to the user U 610 via the user interface; such deactivation of these functions is important when the data block B 700 corresponds to an advertisement wherein the provider of the advertisement has paid the persons responsible for the network 500 a premium price for the advertisement to be non-avoidable by the user U 610;

(b) whether or not the user U 610 is to presented via the user interface with an invitation to view the advertisement; such a function is important in collating aforementioned statistical information regarding user exposure to the advertisement and also for optimizing advertisement program content matching to user profiles Z executed at the principal server S 520 when compiling the cue list Q; and

(c) whether or not to show the program content to the user U 610 depending upon various local rules, for example ambient outside temperature or weather in a region whereat the user U 610 is resident, time of day, and so forth.

The application software AS executing at the user node 600 is thus operable to implement the cue list Q and thereby provide a mixture of viewable program content to the user U 610; the mixture, for example, includes film program content PF interspersed with advertisement program content PA- However, unlike known conventional digital television systems, the system 500 as perceived by the user U 610 via the user interface provided by the application software AS executing on the user node 600 is capable of providing the user U 610 with an interactive and customized television service. Such interaction is susceptible to rendering advertisements enjoyable to the user U 610 and hence addressing a contemporary problem of users deliberately skipping advertisements which is such concern for revenue reasons to advertisement agencies and so forth.

The channels CH as perceived by the user U 610 are susceptible to being categorized into various groups as determined by data included in the cue list Q 900 and/or in the executable code 750 of data blocks B 700 invoked b the cue list Q. For example, the channels CH can be categorized as follows: (a) program channels which are a sequence of clips organized according to a well- defined schedule; such channels are beneficially included in the aforesaid electronic program guide EPG;

(b) ad-hoc channels that are defined by over means such as results of a query, for example "smart channels", or a user-defined play-list, for example a medley of

Start Trek episodes interposed with an interview with actors for Captain James T. Kirk and Dr Spock; and

(c) fill-in channels that are displayed when a channel in (a) and (b) above has nothing to display, for example their cue lists Q 900 have been fully played out. Optionally, the aforesaid video clips are arranged in "chapters", namely some form of user-identifiable groupings, to assist the user U 610 finding a video clip of interest. Beneficially, a list of chapters is prepared by the application software AS from the cue list Q, for example in response to the executable code 750 of the data blocks B 700 identified in the cue list Q including chapter markers therein.

As elucidated in overview, in a manner quite in contradistinction to known digital television systems, the network 500 is operable to enable the user U 610 to input user program content 620, Pu, as illustrated in Figure 2 via the user interface provided on the user node 600 by way of the application software AS executing therein. Optionally, input of the user program content 620 is subject to payment to the network 500, for example by way of the aforesaid tokens T; such payment is invoked, for example, when the user U 610 inputs small advertisements or home-movie program content into the network 500 for dissemination therearound. Alternatively, input of the data content 620 is without cost to the user U 610 when certain categories of data are input as will be elucidated later. The data content 620 can reside at the user node 600, within the network nodes N 540 and/or at the principal server S 520. Optionally, certain of the channels CH, for example program channels according to the aforesaid well-defined schedule, are not susceptible in the network 500 to being modified by the user content 620; such program channels are adapted for wide-spread distribution and viewing within the network 500, wherein spurious inputs from individual users U 610 are not permitted to be disseminated widely within the network 500 to other users thereof. Conversely, certain of the channels CH, for example the aforesaid ad-hoc channels, are susceptible to being modified or complemented with additional program content 620 from the user U 610 for the benefit of more than one user coupled to the network 500; for example, a given ad-hoc channel corresponds to a special interest group, for example railway train-spotters, wherein certain users U 610 are railway train-spotting enthusiasts who wish to share their interest with other such enthusiasts. Thus, the user interface implemented by executing the application software AS at the user node 600 is susceptible to enabling users of the network 500 to establish their own ad-hoc channels, either subject to payment or cost- free, by loading their program content 620 into the network 500 and/or by identifying within the network 500 items of program content PA, PF which should be included in such own ad-hoc channels. Optionally, the executable code 750 of the data blocks B 700 determines whether or not the program content PA, PF is permitted by the network 500 to be included in such ad-hoc channels, and defines a manner in which such program content PA, PF is permitted to be included in the ad-hoc channels; for example, certain advertisers providing the advertisement program content PA may be very concerned regarding a context in which their advertisements are shown, whereas other advertisers may be interested in having as wide a dissemination of their advertisements within the network 500 as possible, irrespective of context in which their advertisements are shown.

The program content 620 that the user U 610 is permitted to input into the user node 600 can be of several types: instant messaging, user comments, tags, bookmarks, static program content, animated program content. The application software AS preferably includes an application program interface API either susceptible to being invoked from the application software AS or embedded therein (namely linked therein post-compilation).

When program content PA, PF in being shown on the screen 800 of the user node

600, comments are manifest as symbols, for example icons, overlaid onto a moving or static images being presented on the screen to the user U 610. The user U 610 is able to move the cursor 820 onto the icon to read an associated comment. For example, whilst playing a movie at the user node 600, an icon briefly appears presented on the screen 800 in a spatial vicinity of a person in the movie; the user U 610 moves the cursor 820 over the icon and a text box appears on the screen 800 providing details regarding the actor. The text box is either overlaid onto the image presented or appears as a text stream outside an extent of the image as presented on the screen 800. The icon can have defined for it a time duration in which it is overlaid onto images of the movie when played. Optionally, invoking the icon interrupts playing of the movie, namely the movie will appear to the user U 610 to be paused whilst the text box is shown. By employing the user interface provided by execution of the application software AS, the user U 610 is capable of not only inputting text for the text box, but also defining a time duration during which it is shown and spatially a position whereat it is shown on the screen 800. The comments optionally are, for example, relatively long passages of text, for example more than 150 words, providing valuable peripheral information which is susceptible to enhancing user viewing experience. When the icon relating to such comment program content is invoked by moving the cursor 820 on the screen 800, the user U 610 is optionally presented with other icons associated with the comments for invoking further comments and/or advertisements and/or links to other users of the network 500; such links can invoke e-mail communication, voice over Internet Protocol (VoIP) communication or similar. Such subsidiary comments and/or adverts are defined, for example, in the executable code 750 included within the data blocks B 700. For example, an icon indicative of a comment overlaid on the bonnet of a sports car presented on the screen 800 when playing a channel CH populated with automotive program content can invoke a list of contact details concerning other users of the network 500 belonging to a mechanics interest group being presented to the user U 610.

The user interface also enables the user U 610 to enter tags. Tags function in a manner akin to aforesaid comments except that they are generally shorter than comments, for example a single words or simple phrase. Tags are susceptible to being input using the application software AS, for example by way of the aforesaid application programming interface API, as the user program content 620. Moreover, the network 500 is operable, either by action of the principal server S 520 when generating the cue list Q or locally at the user node 600, to link tags together. For example, the user U 610 is watching a given channel CH and an icon corresponding to a tag momentary appears overlaid onto an image presented on the display 800. The user U 610 moves the cursor 820 to the tag and then clicks a button of the user interface to invoke the tag icon. In response, the user interface is susceptible to listing one or more of: program content PA, PF on other channels CH being similarly tagged, listing one or more advertisements being similarly tagged and so forth.

The icons associated with comments and tags can be any geometric form, for example circles, squares, stars, arrows, lines and so forth, such icons either being positioned spatially over, alongside or enclosing an image detail to which they relate. The generation of such icons involves the user interface concurrently executing a plurality of data blocks B 700, wherein one or more of the data blocks B 700 corresponds to the user program content 620 loaded into the network 500. Optionally, the icons are animated to enhance user excitement and satisfaction; for example the icons can flash, change color, spatially dither, flicker and so forth.

Inclusion of bookmarks enables the user U 610 to navigate within the channels CH and can be recorded locally at the user node 600 or communicated within the network 500 so as to be of benefit to other users thereof.

The user interface provided by the application software AS supports inputting of the aforesaid user profile Z. In this respect, the user interface beneficially includes a library of standard metadata terms from which the user U 610 can select. Use of such standard metadata terms enables the network 500 to more reliably match program content together, for example for accurate and judicious inclusion of advertisements.

Generation of the aforesaid channels CH so that they are customized to the user U

610 will now be further elucidated with reference to Figure 7. In Figure 7, there is shown a representation of the principal server S 520 and the user node 600 by way of two rectangles with dashed peripheries. For each standard channel CH, there is stored at the principal server S 520 a channel template denoted by 1000 providing an outline of program content that should be included when presenting the channel customized to the user U 610. For example, the channel CH is a news channel so that the channel template includes a definition GNl for a first report of general world news, for example provided by an international content provider such as CNN, followed by a definition LNl for a first report of local national news. Thereafter, there is included a definition ADV indicative that advertisement program content is to be shown to users. After the definition ADV for advertisements, there is included a definition for a first documentary DOCl, followed by a definition GN2 for a second report of general world news. Thereafter, there is included a definition LN2 for a second report of local national news, and so on. When the user U 610 declares to the principal server S 520 that the user U 610 is interested in watching the new channel CH, the principal server S 520 is operable to generate a cue list Q denoted by 1010 wherein:

(a) the definitions for general world news GNl, GN2 are translated to identify corresponding data blocks B 700 irrespective of characteristics of the user profile Z other than language preference;

(b) the definitions for local national news LNl, LN2 are customized to a country in which the user U 610 is located as defined in the user profile Z, to a language preference as defined in the user profile Z; optionally, the local national news LNl, LN2 is even tailored to special interests of the user U 610 as defined in the user profile Z; the principal server S 520 is operable to select identifiers for data blocks B 700 comprising local national news to characteristics defined in the user profile Z, such identifiers being included in the cue list Q 1010;

(c) the definitions for advertisements ADV are customized to one or more of: locality of the user U 610 as defined in the user profile Z, language preferences of the user U 610 as defined in the user profile Z, subject interests of the user U 610 as defined in the user profile Z; beneficially, the principal server S 520 includes an excess of identifiers for data blocks B 700 conveying advertisement program content to allow for selection thereamongst as will be elucidated later;

(d) the definition for documentary DOCl is customized to one or more of: locality of the user U 610 as defined in the user profile Z, language preferences of the user U

610 as defined in the user profile Z, subject interests of the user U 610 as defined in the user profile Z; corresponding customized data block B 700 are included in the cue list Q 1010.

The cue list Q 1010 is then conveyed, optionally subject to encryption as will be elucidated later, as denoted by an arrow 1020 from the principal server S 520 to the user node 600.

The application software AS executing on computing hardware of the user node 600 interprets the cue list Q 1010 sequentially from top to bottom as shown commencing with seeking from the nodes N 540 of the network 510 data blocks B 700 constituting GNl. Data blocks B 700 corresponding to the local news LNl are also sourced on nodes N 540 more local to the user U 610. When the application software AS interprets the advertisements ADV in the cue list Q 1010, the user node 600 procures data blocks B 700 corresponding to the advertisements ADV and then executes associated code 750 in the data blocks B 700 to determine whether or not advertisement program content PA associated with the blocks B 700 should be presented to the user U 610, for example in response to ambient external temperature of the locality whereat the user U 610 is located. Thereafter, when the application software AS interprets the documentary DOCl in the cue list Q 1010, the user node 600 procures data blocks B 700 corresponding to the documentary DOCl and then executes associated code 750 in the data blocks B 700 to determine whether or not film program content PF associated with the blocks B 700 should be presented to the user U 610, for example in response to time of day of the locality whereat the user U 610 is located.

From the foregoing with reference to Figure 7, it will be appreciated that a degree of customization is executed at least at one of: the principal server S 520 and the user node 600. By using fast forward, fast reverse, play and similar functions provided at the user node 600, the user U 610 is capable of selecting along the cue list Q 1030 in a manner akin to such reviewing functions in a conventional video recorder. It will be appreciated that the channel template 1000, and the cue list Q in Figure 7 are only examples and that a wide variety of channel templates can be employed in the principal server S 520 for various channels CH provided therefrom. Optionally, data blocks B 700 corresponding to GNl and GN2 are continuously updated by propagating new corresponding data blocks B 700 regularly into the network 510.

In the foregoing, encryption of the data blocks B 700 is elucidated in general overview. However, there are several mutually different encryption methods that can potentially be employed in the network 500. An especially beneficial method involves a mutually different password for encrypting the data blocks B 700 relative to the cue list Q. Referring to Figure 8, there is shown a method indicated generally by 2000 illustrating encryption and decryption processes executed within the system 500. The network 500 includes an encryption key provider 2020, for example an additional server of the network 510, operable to generate one or more variants of an encryption key e. The encryption key e is an unpredictable number to third parties coupled to the network 510. Moreover, the network 500 includes a data block encryption unit Fencrpt denoted by 2010 coupled in data communication with the principal server S 520 and the encryption key provider 2020. The network 500 further comprises a cue list generator QCOMP 2030 operable to generate one or more cue lists Q for sending to the user node 600.

In operation, the data block encryption unit 2010 is operable to receive one or more encryption keys ey wherein a parameter y is an integer index identifying a variant of the key e, from the key provider 2020 and apply the encryption keys ey to encrypt data blocks B 700 provided thereto from the principal server S 520 to generate corresponding encrypted data blocks ey(B;) which are propagated within the network 510 as elucidated earlier in a peer-to-peer manner. The cue list generator 2030 is also operable to receive an identifier Iβi from the principal server S 520 and the encryption key ey used to encrypt the data block B 700 corresponding to the identifier Iβi.

Application software AS executing in the computing hardware of the user node 600 is operable to generate a complementary private-public key pair comprising a public key Kpub and a private key Kpπ. Optionally, the keys Kput,, Kpή are "layered" as known in encryption systems deign. The private key Kpn is maintained a secret at the user node 600, whereas the public key Kpub is communicated via the network 510 to the cue list generator 2030. In turn, the cue list generator 2030 is operable to generate the cue list Q to be a sequence of the identifiers Iβi, namely component 710 as illustrated in Figure 3, followed by the encryption keys ey employed in the encryption unit 2010 to encrypt data blocks B 700 corresponding to the identifiers Iβi, wherein the encryption keys are encrypted in the cue list generator 2030 using the public key Kpub. On receipt of the cue list Q at the user node 600, the user node 600 is operable to fully decrypt the Q list using the private key Kpπ. Without knowledge of the private key Kpπ, unauthorized third parties are not able to fully interpret the cue list Q. The user node 600 is thereby able to determine the variant of encryption key ey used to encrypt the data block B; corresponding to its identifier Iβi and thereby decrypted the encrypted data block ey(Bj) received in a peer-to-peer manner from the network 510 for consumption by the user U 610. Optionally, the encryption unit 2010, the encryption key provider 2020 and the cue list generator 2030 are substantially collocated with the principal server S. Alternatively, one or more of the encryption unit 2010, the encryption key provider 2020 and the cue list generator 2030 are function distributed within the network 510.

Multiple variants of the key e are utilized so that the network 500 as a whole is not compromised to hostile third parties should one variant of the key e become known. Optionally, in an event of a variant ex of the encryption key e being discovered by third parties, the network 500 is operable so that the encryption unit 2010 and the key provider 2020 cease using the variant ex to encode data blocks B 700 encoded by the variant ex to be progressively purged from the network 500 as elucidated in the foregoing.

Modifications to embodiments of the invention described in the foregoing are possible without departing from the scope of the invention as defined by the accompanying claims. Although program content in the foregoing is employed to refer to advertisement program content PA and film program content PF, it will be appreciated that the network 500 is also susceptible to distributing audio program content and executable software.

Although implementation of the aforesaid user interface at the user node 600 is most conveniently implemented as software executable on computing hardware, it will be appreciated that the interface is susceptible to being alternatively implemented using customized digital hardware, for example as an application specific integrated circuit (ASIC).

Expressions such as "including", "comprising", "incorporating", "consisting of, "have", "is" used to describe and claim the present invention are intended to be construed in a non-exclusive manner, namely allowing for items, components or elements not explicitly described also to be present. Reference to the singular is also to be construed to relate to the plural.

Numerals included within parentheses in the accompanying claims are intended to assist understanding of the claims and should not be construed in any way to limit subject matter claimed by these claims.

Claims

1. A user interface for a user node (600) of a digital television network (500), said network (500) being operable to supply program content to one or more such user nodes (600) coupled to the network (500),
wherein the network (500) includes: (a) a plurality of network nodes (540, 550); and
(b) a program content source (520) couplable in communication with the plurality of network nodes (540, 550) for propagating program content as corresponding data blocks (700) to said plurality of network nodes (540, 550), each data block (B, 700) including an associated identifier (I, 730) by which it can be referenced;
the program content source (520) being operable to supply the user interfaces of the one or more user nodes (600) with one or more lists of identifiers (Q) associated with data blocks (700); and said user interfaces of said one or more user nodes (600) are operable to access program content defined by request identifiers (I, 730) selected from the identifiers included in the one or more lists (Q) from the network (500) by communicating said request identifiers (I, 730) to said plurality of network nodes (540, 550) for receiving from said plurality of network nodes (540, 550) data blocks having identifiers (I, 730) corresponding to said request identifiers (I, 730) and thereby receiving at the one or more user nodes (600) the program content defined by the request identifiers (I, 730) for user presentation.
2. A user interface as claimed in claim 1, said interface being implemented by a software product executable on computing hardware of said user node (600).
3. A user interface as claimed in claim 1 or 2, operable to present said program content (PA, PF) received at the one or more user nodes (600) as user-selectable channels (CH).
4. A user interface as claimed in claim 1, 2 or 3, wherein the data blocks (700) propagated within the plurality of nodes (540, 550) are encrypted with mutually different encryption keys to one or more encryption keys employed to encrypt the one or more program content lists (Q) for communication to the at least one user node (600).
5. A user interface as claimed in claim 1, 2 , 3 or 4, wherein the data blocks (700) propagated within the plurality of network nodes (540, 550) are encrypted with mutually different encryption keys which are also propagated to the at least one user node (600) in the one or more program content lists (Q), the mutually different keys propagated to the one or more user nodes (600) being encrypted against one or more public keys of the at least one user node (600).
6. A user interface as claimed in any one of claims 3 to 5, wherein said channels (CH) are implemented as one or more of: scheduled channels which are non-user modifiable, ad-hoc channels which are optionally user-modifiable, infill channels.
7. A user interface as claimed in any one of the preceding claims, said user interface further including an input for receiving program content (620) from a user (610) of the interface.
8. A user interface as claimed in claim 7, wherein said input is operable to receive input relating to one or more of: instant messaging, written or spoken user comments, user tags, user bookmarks, user program content such as home movies, user definitions of program content available within the network when constructing ad-hoc channels, user profiles (Z).
9. A user interface as claimed in claim 8, wherein said interface is operable to present visual icons (810) on a display (800) of said interface for user-invoking one or more of: instant messaging, user comments, user tags, user bookmarks.
10. A user interface as claimed in any one of the preceding claims, said interface being operable to execute software code (750) included within data blocks (B, 700) received at the one or more user nodes (600).
11. A user interface as claimed in claim 10, wherein the user interface is operable to execute said software code (750) of said data blocks (B, 700) for conditionally controlling presentation of advertisement program content (PA) to users.
12. A user interface as claimed in any one of the preceding claims, wherein the interface is operable to support one or more functions when presenting the program content at said one or more user nodes: fast forward viewing of program content, play viewing of program content, fast reverse viewing of program content, stop viewing of program content.
13. A user interface as claimed in any one of the preceding claims, wherein said interface is operable to monitor user (610) response to advertisement program content
(PA) and/or film program content (PF) presented at the one or more nodes (600), and to communicate said response to the program content source (520) or an interested party via the plurality of network nodes (540, 550) and/or directly to the program content source (520) for providing information to providers of said advertisement program content (P A) and/or said film program content (Pp) indicative of said user response to said advertisement program content (PA) and/or said film program content (PF).
14. A user interface as claimed in any one of the preceding claims, wherein said interface is operable to support communication between other user nodes (600) of the network (500), said communication being pursuant to at least one of: Voice over Internet Protocol (VoIP), instant messaging, e-mail communication.
15. A user interface as claimed in any one of the preceding claims, wherein the user interface is also capable of configuring itself to operate as a network node (540) for receiving data blocks (B, 700) propagated from the program content source (520), and for supplying said data blocks (B, 700) to one or more user nodes (600) of the network (500).
16. A user interface for a user node (600) of a digital television network (500), said network (500) being operable to supply program content to one or more such user nodes (600) coupled to the network (500),
wherein the network (500) includes:
(a) a plurality of network nodes (540); and
(b) a program content source (520) couplable in communication with the plurality of network nodes (540) for propagating program content in a peer-to-peer manner to said plurality of network nodes (540),
the program content source (520) being operable to supply the user interfaces of the one or more user nodes (600) with one or more lists of identifiers (Q); and said user interfaces of said one or more user nodes (600) are operable to access program content defined by request identifiers (I, 730) selected from the identifiers included in the one or more lists (Q) from the network (500) by communicating said request identifiers (I, 730) to said plurality of network nodes (540) for receiving at the one or more user nodes (600) the program content defined by the request identifiers (I, 730) for user presentation.
17. A software product executable on computing hardware for implementing the user interface as claimed in any one of the preceding claims.
18. A method of providing a user interface for a user node (600) of a digital television network (500), said network (500) being operable to supply program content to one or more such user nodes (600) coupled to the network (500), wherein the network (500) includes: a plurality of network nodes (540), and a program content source (520) couplable in communication with the plurality of network nodes (540) for propagating program content as corresponding data blocks (700) to said plurality of network nodes (540), each data block (B, 700) including an associated identifier (I, 730) by which it can be referenced;
said method including steps of:
(a) supplying from the program content source (520) the user interfaces of the one or more user nodes (600) with one or more lists of identifiers (Q) associated with data blocks (700);
(b) accessing said user interfaces of said one or more user nodes (600) program content defined by request identifiers (I, 730) selected from the identifiers included in the one or more lists (Q) from the network (500) by communicating said request identifiers (I, 730) to said plurality of network nodes (540); and (c) receiving from said plurality of network nodes (540) data blocks having identifiers (I, 730) corresponding to said request identifiers (I, 730) and thereby receiving at the one or more user nodes (600) the program content defined by the request identifiers (I, 730) for user presentation.
19. A method as claimed in claim 18, including a step of implementing said user interface by a software product executable on computing hardware of said user node (600).
20. A method as claimed in claim 18 or 19, wherein the data blocks (700) propagated within the plurality of nodes (540, 550) are encrypted with mutually different encryption keys to one or more encryption keys employed to encrypt the one or more program content lists (Q) for communication to the at least one user node (600).
21. A method as claimed in claim 18, 19 or 20, wherein the data blocks (700) propagated within the plurality of network nodes (540, 550) are encrypted with mutually different encryption keys which are also propagated to the at least one user node (600) in the one or more program content lists (Q), the mutually different keys propagated to the one or more user nodes (600) being encrypted against one or more public keys of the at least one user node (600).
22. A method as claimed in any one of claims 18 to 21, including a step of presenting said program content (PA, PF) received at the one or more user nodes (600) as user- selectable channels (CH).
23. A method as claimed in any one of claims 18 to 22, including a step of implementing said channels (CH) as one or more of: scheduled channels which are non- user modifiable, ad-hoc channels which are optionally user-modifiable, infill channels.
24. A method as claimed in any one of claims 18 to 23, said method including a step of providing an input for receiving program content (620) from a user (610) of the interface.
25. A method as claimed in claim 24, wherein said input is operable to receive input relating to one or more of: instant messaging, user comments, user tags, user bookmarks, user program content such as home movies, user definitions of program content available within the network when constructing ad-hoc channels, user profiles (Z).
26. A method as claimed in claim 25, including a step of presenting via said interface visual icons (810) on a display (800) of said interface for user-invoking one or more of: instant messaging, user comments, user tags, user bookmarks.
27. A method as claimed in any one of claims 18 to 25, including a step of executing at said interface software code (750) included within data blocks (B, 700) received at the one or more user nodes (600).
28. A method as claimed in claim 27, including a step of executing at the user interface said software code (750) of said data blocks (B, 700) for conditionally controlling presentation of advertisement program content (P A) and/or film program content (PF) to users.
29. A method as claimed in any one of claims 18 to 28, including a step of supporting at said interface one or more functions when presenting the program content at said one or more user nodes: fast forward viewing of program content, play viewing of program content, fast reverse viewing of program content, stop viewing of program content.
30. A method as claimed in any one of claims 18 to 29, including steps of: (d) monitoring at said user interface user (610) response to advertisement program content (PA) and/or film program content (PF) presented at the one or more nodes (600); and
(e) communicating said response to the program content source (520) via the plurality of network nodes (540) and/or directly to the program content source (520) for providing information to providers of said advertisement program content (PA) and/or said film program content (PF) indicative of said user response to said advertisement program content (PA) and/or said film program content (PF).
31. A method as claimed in any one of claims 18 to 30, including a step of configuring said user interface to support communication between other user nodes (600) of the network (500), said communication being pursuant to at least one of: Voice over Internet Protocol (VoIP), instant messaging, e-mail communication.
32. A method of supplying program content to one or more user nodes (600) coupled to a digital television network (500), each user node (600) including a user interface,
wherein the network (500) includes a plurality of network nodes (540, 550), and a program content source (520) couplable in communication with the plurality of network nodes (540, 550) for propagating program content in a peer-to-peer manner to said plurality of network nodes (540, 550), said method including steps of:
(a) supplying from the program content source (520) the user interfaces of the one or more user nodes (600) with one or more lists of identifiers (Q);
(b) accessing via said user interfaces of said one or more user nodes (600) program content defined by request identifiers (I, 730) selected from the identifiers included in the one or more lists (Q) from the network (500) by communicating said request identifiers (I, 730) to said plurality of network nodes (540, 550); and
(c) receiving at the one or more user nodes (600) the program content defined by the request identifiers (I, 730) for user presentation.
33. A software product executable on computing hardware for implementing the method as claimed in any one of claims 18 to 32.
PCT/EP2006/004559 2006-05-15 2006-05-15 User interface for digital television networks WO2007131525A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/EP2006/004559 WO2007131525A1 (en) 2006-05-15 2006-05-15 User interface for digital television networks

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
PCT/EP2006/004559 WO2007131525A1 (en) 2006-05-15 2006-05-15 User interface for digital television networks
PCT/EP2006/011975 WO2007131544A1 (en) 2006-05-15 2006-12-12 Method of processing user data

Publications (1)

Publication Number Publication Date
WO2007131525A1 true true WO2007131525A1 (en) 2007-11-22

Family

ID=37433667

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2006/004559 WO2007131525A1 (en) 2006-05-15 2006-05-15 User interface for digital television networks

Country Status (1)

Country Link
WO (1) WO2007131525A1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010030737A1 (en) * 2008-09-10 2010-03-18 Qualcomm Incorporated Methods and systems for enabling interactivity in a mobile broadcast network
EP2372976A1 (en) * 2010-03-31 2011-10-05 Thomson Licensing Device and method for controlling dissemination of contents between peers having wireless communication capacities, depending on vote vectors
US8578426B2 (en) 2008-09-10 2013-11-05 Qualcomm Incorporated Method and system for selecting media content for broadcast based on viewer preference indications
US8706831B2 (en) 2010-01-28 2014-04-22 Thomson Licensing Device and method for controlling dissemination of contents between peers having wireless communication capacities, depending on vote vectors

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1241890A2 (en) * 1998-08-26 2002-09-18 United Video Properties, Inc. Television chat system
US20030093790A1 (en) * 2000-03-28 2003-05-15 Logan James D. Audio and video program recording, editing and playback systems using metadata
US20030118014A1 (en) * 2001-12-21 2003-06-26 Iyer Ravishankar R. Method and system for customized television viewing using a peer-to-peer network
US20040111473A1 (en) * 2002-12-09 2004-06-10 Anton Lysenko Method and system for instantaneous on-demand delivery of multimedia content over a communication network with aid of content capturing component, delivery-on-demand client and dynamically mapped resource locator server.
WO2004100010A1 (en) * 2003-04-30 2004-11-18 Iptv Systems, Llc Secure, continuous, proxy-optimized, device-to-device data download reception system and method of use
US20050076092A1 (en) * 2003-10-02 2005-04-07 Sony Corporation And Sony Electronics Inc. User shared virtual channel via media storage

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1241890A2 (en) * 1998-08-26 2002-09-18 United Video Properties, Inc. Television chat system
US20030093790A1 (en) * 2000-03-28 2003-05-15 Logan James D. Audio and video program recording, editing and playback systems using metadata
US20030118014A1 (en) * 2001-12-21 2003-06-26 Iyer Ravishankar R. Method and system for customized television viewing using a peer-to-peer network
US20040111473A1 (en) * 2002-12-09 2004-06-10 Anton Lysenko Method and system for instantaneous on-demand delivery of multimedia content over a communication network with aid of content capturing component, delivery-on-demand client and dynamically mapped resource locator server.
WO2004100010A1 (en) * 2003-04-30 2004-11-18 Iptv Systems, Llc Secure, continuous, proxy-optimized, device-to-device data download reception system and method of use
US20050076092A1 (en) * 2003-10-02 2005-04-07 Sony Corporation And Sony Electronics Inc. User shared virtual channel via media storage

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
MILOJICIC D S ET AL: "Peer-to-peer computing" HP LABORATORIES TECHNICAL REPORT, XX, XX, no. HPL-2002-57R1, 14 July 2003 (2003-07-14), pages 1-52, XP002344527 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010030737A1 (en) * 2008-09-10 2010-03-18 Qualcomm Incorporated Methods and systems for enabling interactivity in a mobile broadcast network
US8578426B2 (en) 2008-09-10 2013-11-05 Qualcomm Incorporated Method and system for selecting media content for broadcast based on viewer preference indications
US8613026B2 (en) 2008-09-10 2013-12-17 Qualcomm Incorporated Methods and systems for viewer interactivity and social networking in a mobile TV broadcast network
KR101348454B1 (en) * 2008-09-10 2014-01-07 퀄컴 인코포레이티드 Methods and systems for enabling interactivity in a mobile broadcast network
US8706831B2 (en) 2010-01-28 2014-04-22 Thomson Licensing Device and method for controlling dissemination of contents between peers having wireless communication capacities, depending on vote vectors
EP2372976A1 (en) * 2010-03-31 2011-10-05 Thomson Licensing Device and method for controlling dissemination of contents between peers having wireless communication capacities, depending on vote vectors

Similar Documents

Publication Publication Date Title
Pagani Multimedia and Interactive Digital TV: Managing the Opportunities Created by Digital Convergence: Managing the Opportunities Created by Digital Convergence
US7207057B1 (en) System and method for collaborative, peer-to-peer creation, management & synchronous, multi-platform distribution of profile-specified media objects
US8141111B2 (en) Movie advertising playback techniques
US8311382B1 (en) Recording and publishing content on social media websites
US8055688B2 (en) Method and system for meta-tagging media content and distribution
US20020178447A1 (en) Behavioral targeted advertising
US20020194601A1 (en) System, method and computer program product for cross technology monitoring, profiling and predictive caching in a peer to peer broadcasting and viewing framework
US20070022437A1 (en) Methods and apparatus for providing content and services coordinated with television content
US20030149975A1 (en) Targeted advertising in on demand programming
US7966638B2 (en) Interactive media display across devices
US20100004993A1 (en) Intelligent multi-media player
US20060184989A1 (en) Interacting with Internet applications via a broadband network on electronic input/output devices
US8645992B2 (en) Advertisement rotation
US20110197237A1 (en) Controlled Delivery of Content Data Streams to Remote Users
US20030078972A1 (en) Method and apparatus for disconnected chat room lurking in an interactive television environment
US20080255943A1 (en) Refreshing advertisements in offline or virally distributed content
US20050210498A1 (en) Control-based content pricing
US20070124416A1 (en) Real-time on demand server
US20140082645A1 (en) Apparatus and methods for providing enhanced or interactive features
US20070121651A1 (en) Network-based format conversion
US20070124779A1 (en) Networked PVR system
US20120030587A1 (en) Systems and methods for sharing media using social media guidance applications
US20090199230A1 (en) System, device, and method for delivering multimedia
US20070056002A1 (en) System and method for distributed video-on-demand
US20070124781A1 (en) Networked content storage

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 06753625

Country of ref document: EP

Kind code of ref document: A1

DPE1 Request for preliminary examination filed after expiration of 19th month from priority date (pct application filed from 20040101)
NENP Non-entry into the national phase in:

Ref country code: DE

122 Ep: pct app. not ent. europ. phase

Ref document number: 06753625

Country of ref document: EP

Kind code of ref document: A1