[go: up one dir, main page]

WO2007131524A1 - Method of supplying data in digital television networks - Google Patents

Method of supplying data in digital television networks Download PDF

Info

Publication number
WO2007131524A1
WO2007131524A1 PCT/EP2006/004558 EP2006004558W WO2007131524A1 WO 2007131524 A1 WO2007131524 A1 WO 2007131524A1 EP 2006004558 W EP2006004558 W EP 2006004558W WO 2007131524 A1 WO2007131524 A1 WO 2007131524A1
Authority
WO
WIPO (PCT)
Prior art keywords
program content
user
network
nodes
data blocks
Prior art date
Application number
PCT/EP2006/004558
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
Application filed by Joost N.V. filed Critical Joost N.V.
Priority to PCT/EP2006/004558 priority Critical patent/WO2007131524A1/en
Publication of WO2007131524A1 publication Critical patent/WO2007131524A1/en

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
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/222Secondary servers, e.g. proxy server, cable television Head-end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2347Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving video stream encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2407Monitoring of transmitted content, e.g. distribution time, number of downloads
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/258Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
    • H04N21/25866Management of end-user data
    • H04N21/25891Management of end-user data being end-user preferences
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/2668Creating a channel for a dedicated end-user group, e.g. insertion of targeted commercials based on end-user profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/27Server based end-user applications
    • H04N21/274Storing end-user multimedia data in response to end-user request, e.g. network recorder
    • H04N21/2743Video hosting of uploaded data from client
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content

Definitions

  • the present invention relates to methods of supplying data in digital television networks, for example to methods of supplying data in digital television networks based upon Internet Protocol or similar, and utilizing the Internet or similar data communication network. Moreover, the present invention also relates to digital television data networks utilizing such methods. Furthermore, the present invention relates to software executable on computing hardware for implementing at least part of the methods.
  • Broadcasting organizations are responsible for generating the program content.
  • Two financial models substantially pertain to operation of the broadcasting organizations.
  • 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.
  • 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.
  • 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.
  • FIG. 1 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.
  • 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.
  • 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. Altematively, 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.
  • the system 200 includes a head end 210 comprising a video source 220 coupled via a transcoder 230 and a video encoder 240 to provide MPEG streams 250a, 250b which are conveyed via a multicast router 260 to a broadband network 270 such as the Internet.
  • the streams 250a, 250b are transported through the network 270 to a digital subscriber line access multiplexer (DSLAM) 280 coupled at an edge of the network 270.
  • DSLAM digital subscriber line access multiplexer
  • the multiplexer 280 includes one or more asynchronous transfer units (ATU) 290 operable to selectively output the streams 250a, 260a via standard communication links, for example via conventional telephone links (POTS), to users.
  • ATU asynchronous transfer units
  • POTS conventional telephone links
  • At each user there is included an asymmetric digital subscriber line (ADSL) modem 300 coupled via a set-top-box 310 to a user television 320.
  • a transport router 330 and an associated server complex 340 coupled thereto.
  • PCs personal computers
  • ISP Internet Service Provider
  • the known system 200 is thus capable of offering an alternative form of television delivery to cable and satellite as presently known.
  • the system 200 manages the delivery of multimedia broadcast signals from a broadcast provider to a user, for example a subscriber, and provides to the user interactive access to the signals, the signals being configured according to Internet Protocol (IP) format for multicast transmission over the network 270 and reception by the user.
  • IP Internet Protocol
  • An interactive program guide (IPG) component of the system 200 is configured to provide the user with an interactive program guide (IPG) permitting selection of the multimedia signal by the user.
  • the system 200 includes software executable for enabling a service provider to offer broadcast television over Internet Protocol (IP) allowing user channel browsing by selecting and retrieving IP multicast streams conveyed via the network 270.
  • IP Internet Protocol
  • IP multicast transmission is more efficient than normal Internet unicast transmission because a server can broadcast a message to many recipients simultaneously.
  • IPG interactive program guide
  • VOD video-on-demand
  • Timeless TV and TV-on-demand Internet programming as well as video and audio content.
  • VOD is an umbrella term referring to technologies that enable users to select a video, for example a movie, from a static array of pre-recorded multimedia choices provided from a central server for viewing on a television or computer screen.
  • the system 200 also includes DTVM software executable to enable the user to personalize channel selection, for example, to create a list of favorite programs which the user can scan on the IPG and select from or have the television/set-top-box 310, 320 or PC automatically switch to at designated times.
  • the distribution system 400 comprises a content storage 410 coupled to a content server 420 and operable to provide content thereto.
  • the content server 420 is coupled via a data distribution network, for example the Internet 430, to one or more multicast groups 440.
  • Each multicast group 440 comprises one or more digital video recorders 450, for example of a type as described in the aforementioned United States patent application no. US 2005/0132418 (TIVO).
  • the content server 420 creates a schedule of transmission times for data streams and assigns the streams to multicast groups.
  • the digital video recorders 450 receive the schedule from the content server 420 that contains content description for each data stream together with the transmission times of each particular content description.
  • the content server 420 is operable to transmit the content across the Internet 430 according to the published schedule via a multicast transmission designed for a particular multicast group.
  • Each digital video recorder 450 determines the content for which it has an interest, finds the scheduled time for transmission for the content, schedules a recording time in its recording schedule, and joins the associated multicast group 440 at the scheduled time.
  • the digital video recorder 450 receives the multicast stream for the group 440 and stores the stream on its local storage device for use by the recorder 450 or for viewing by the user.
  • the use of the multicast groups 440 as well as digital recording in the recorders 450 at least partially circumvents bandwidth limitations of its Internet 430.
  • the aforementioned system 200 is also operable to employ multicast transmission in order to address bandwidth limitations of its Internet 270.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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 is required.
  • the systems have not been found to be reliable, for example long- duration downloads often fail and no data integrity is established.
  • it is difficult to enforce copyright restrictions for protected content in the systems for example copyright protected content.
  • An object of the present invention is to provide a digital television network operable to supply program content to one or more user nodes coupled to the network without substantially encountering problems due to data bandwidth limitations.
  • a digital television network operable to supply program content to one or more user nodes coupled to the network, wherein the network includes:
  • a program content source couplable in communication with the at least one network node for propagating program content as corresponding data blocks to the at least one network node, each data block including an associated identifier by which it can be referenced;
  • the program content source being operable to supply the one or more user nodes with one or more program content identifiers associated with data blocks; and the one or more user nodes are operable to access program content defined by request identifiers selected from the program content identifiers from the network by communicating the request identifiers to the at least one network node for receiving from the at least one network node 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.
  • the invention is of advantage in that it is capable of providing program content to the one or more users via the network having modest data bandwidth characteristics.
  • digital television system and “digital television network” is, for example, intended to include any data transmitting system that transmits one or more of: transient images of fixed or moving objects, video, audio, text with or without sound.
  • the present invention is concerned with a digital television network or system wherein program content, for example advertisement program content and/or film program content and/or audio and/or text, is propagated in an indirect peer-to-per manner via a peer-to-peer data distribution network from a program content source to one or more users, the one or more users being operable to receive or procure user-customized program content by way of receiving customized lists of program content defining program content to be procured from the peer-to-peer data distribution network.
  • program content for example advertisement program content and/or film program content and/or audio and/or text
  • peer-to-peer network arrangement differs from a client-server model wherein communication occurs usually directly between a central server and a client.
  • peer-to-peer is intended to include, for example, pure peer-to-peer arrangements wherein peers act as both clients and servers.
  • the one or more user nodes include corresponding fixed or mobile visual displays for presenting video content to corresponding users.
  • visual displays can comprise contemporary television displays, personal computers, mobile handsets, mobile telephones, cell phones, personal data assistants (PDAs) to mention a few examples.
  • PDAs personal data assistants
  • the program content as corresponding data blocks is propagated from the program content source within the network in a peer-to- peer manner asynchronously to data blocks being provided to the one or more user nodes from the network nodes.
  • Such a manner of propagating the program content circumvents a need for direct streaming of data from the program content source to the one or more user nodes, thereby easing bandwidth requirements for the network to support delivery of such program content.
  • the data blocks propagated within the at least one network node 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.
  • Use of such mutually different keys for one or more program lists in comparison to the data blocks is capable of rendering the network more robust to hostile to unauthorized third party interference.
  • the data blocks propagated within the at least one network node 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 identifiers (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.
  • the at least one network node includes supernodes, each supernode being coupled in communication with its one or more associated data storage nodes, wherein: (a) the at least one user node is operable to communicate the identifiers to the supernodes for determining which of the supernodes in conjunction with their one or more data storage nodes are capable of providing program content corresponding to the identifiers to the at least one user node;
  • the supernodes whose associated one or more data storage nodes are capable of providing the program content corresponding to the identifiers to the at least one user node are operable to communicate one or more indications thereof to the at least one user node;
  • the at least one user node is operable to communicate one or more requests to the superaodes whose one or more data storage nodes are capable of providing the program content to the at least one user node;
  • the supernodes and/or their one or more data storage nodes capable of providing the program content to the at least one user node are operable to supply the program content corresponding to the one or more requests to the at least one user node.
  • Configuring the at least one network node as supernodes coupled to associated one or more data storage nodes is susceptible to providing exceptionally efficient and rapid supply of encrypted data blocks to the at least one user node.
  • the supernodes are responsive in a first step to receive the identifiers to determine which supernode in combination with its associated one or more data storage nodes is capable of providing one or more desired data blocks corresponding to the identifiers; in a second step, the supernode and its associated one or more data storage nodes identified from the first step as being capable of providing the desired data blocks is then contacted to provide the desired data blocks to the at least one user.
  • an efficient two-step process for locating data blocks propagated within the plurality of network nodes is provided.
  • one or more of the network nodes are susceptible to being dynamically selected to be one or more supernodes, or dynamically deselected to be one or more data storage nodes or one or more user nodes.
  • the network nodes each include a searching unit for matching request identifiers received thereat to data blocks corresponding to program content stored at the network nodes having identifiers matching with the request identifiers.
  • identifiers enable data blocks representing program content to be efficiently identified in the network nodes for delivery to the one or more user nodes.
  • the digital television network is operable to propagate one or more of the data blocks provided from the program content source in multiple copies to a plurality of mutually different network nodes within the network.
  • Such multiple propagation of data blocks is susceptible to rendering the network more robust to delivering program content to the one or more users in an event of a network node becoming non-operational.
  • one or more of the data blocks are propagated in encrypted form in the network, and the one or more user nodes are operable to correspondingly decrypt data blocks received thereat for rendering corresponding program content susceptible to being user presented.
  • Such encryption circumvents unauthorized third party copying of the program content and therefore respects copyright.
  • the digital television network is operable to provide the one or more user nodes with the one or more lists of identifiers subject to payment from the one or more user nodes for the program content identifiers (Q).
  • Such payment enables suppliers of the program content to the program content source be subsequently paid for their program content.
  • the digital television network is operable to implement the payment by utilizing tokens representative of payment, the tokens being cancelled or consumed by the program content provider in response to providing the program content identifiers (Q).
  • the data blocks include information and/or executable software for enabling the one or more user nodes to conditionally present corresponding program content conveyed in the data blocks in response to one or more of:
  • the plurality of network nodes are operable to delete data blocks stored therein in response to one or more of:
  • the data blocks being non-accessed within a defined period of time.
  • Selective deletion of the data blocks within the network nodes is capable of freeing storage capacity thereat and thereby circumvent the network nodes become saturated with program content.
  • the one or more user nodes are also operable to perform a similar form of purging operation locally thereat.
  • the at least one network node is operable to propagate the program content including at least one of: film program content, advertisement program content; audio; text.
  • Such propagation of both film program content and advertising program content is capable of rendering juxtaposition of advertisements in conjunction with film or video footage to be achieved.
  • the digital television network is operable to collate statistical data representative of occurrence of presentation of advertisement program content and/or the film program content at the one or more user nodes, the statistical data being susceptible to being communicated by the network to providers of said advertisement program content and/or said film program content.
  • Such statistical data is of benefit in that it is capable of enabling advertisers to monitor in real-time performance of their advertising campaigns via the network.
  • the digital television network is operable to collate statistical data representative of user response the presentation of advertisement program content and/or the film program content at the one or more user nodes, the statistical data being susceptible to being communicated by the network to providers of such advertising program content and/or such film program content.
  • the program content source in generating the program content identifiers is operable to selectively include identifiers corresponding to the advertisement program content in the program content identifiers in conjunction with given film program content in response to the collated statistical data. Such selective inclusion of identifiers corresponding to the advertisement program content to be user targeted.
  • the digital television network is operable to provide the one or more users with infilling program content for presentation for a waiting period to one or more users of the one or more user nodes in an event that program content requested by the one or more nodes is not available from the at least one network node, wherein the program content source is operable to propagate to the at least one network node and/or directly to the one or more user nodes the hitherto unavailable program content for receipt and presentation at the one or more user nodes after the waiting period.
  • the infilling program content includes advertisement program content.
  • the one or more user nodes are operable to send requests for program content metadata information to the program content source and receive therefrom the metadata information, the one or more user nodes being operable to process the program metadata to generate one or more electronic program guides for presentation to one or more users of the one or more user nodes, the metadata information being indicative of program content propagated from the program content source into the plurality of network nodes.
  • EPGs electronic program guides
  • the lists of identifiers are provided by the program content source in response to one or more requests sent from the one or more user nodes in response to the metadata information being user presented at the one or more user nodes.
  • the one or more user nodes are operable to convey user-provided information and/or program content to the at least one network node and/or to the program content source, the user-provided information comprising at least one of:
  • tags for marking features of program content images to complement program content already available from the plurality of network nodes; and (d) user-defined bookmarks for marking and indexing portions of program content available at one of more of: the one or more user nodes, the at least one network node, the program content source.
  • the one or more user nodes are operable to support user-dialogue therebetween, the dialogue being implemented by one or more of:
  • VoIP Voice over Internet Protocol
  • e-mails electronic mail messages
  • VoIP Voice over Internet Protocol
  • additional functions are synergistically capable of enhancing user enjoyment when viewing program content by users sharing their experiences relatively promptly with other users.
  • the additional functions enable bidding and telephone ordering of products presented to the user in advertising program content provided via the network.
  • the network includes: a plurality of network nodes; and a program content source couplable in communication with the plurality of network nodes,
  • the one or more user nodes include corresponding visual displays for presenting video content to corresponding users.
  • the method includes a step of propagating the program content as corresponding data blocks from the program content source within the network in a peer- to-peer manner asynchronously to data blocks being provided to the one or more user nodes from the network nodes.
  • 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.
  • 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.
  • the plurality of network nodes include supernodes, each supernode being coupled in communication with its one or more associated data storage nodes, wherein step (c) includes steps of:
  • the method includes a step of matching using a searching unit included within each network node request identifiers received at the network nodes to data blocks corresponding to program content stored at the network nodes having identifiers matching with the request identifiers.
  • the method includes a step of propagating in the network one or more of the data blocks provided from the program content source in multiple copies to a plurality of mutually different network nodes within the network.
  • the method includes a step of propagating one or more of the data blocks in encrypted form in the network, and correspondingly decrypting at the one or more user nodes data blocks received thereat for rendering corresponding program content susceptible to being user presented.
  • the network is operable to provide the one or more user nodes with the one or more lists of identifiers subject to payment from the one or more user nodes for the one or more lists.
  • the method includes a step of implementing the payment in the network by utilizing tokens representative of payment, the tokens being cancelled or consumed by the program content provider in response to providing the one or more lists of identifiers.
  • the data blocks include information and/or executable software for enabling the one or more user nodes to conditionally present corresponding program content conveyed in the data blocks in response to one or more of:
  • the method includes a step of deleting data blocks stored at the plurality of network nodes in response to one or more of:
  • the plurality of network nodes are operable to propagate the program content including at least one of: film program content, advertisement program content.
  • the method includes a step of collating in the network statistical data representative of occurrence of presentation of advertisement program content at the one or more user nodes, the statistical data being susceptible to being communicated by the network to providers of such advertisement program content to the program content source.
  • the method includes a step of collating statistical data representative of user response the presentation of advertisement program content at the one or more user nodes, the statistical data being susceptible to being communicated by the network to providers of such advertising program content to the program content source.
  • the program content source in generating the one or more lists of identifiers is operable to selectively include identifiers corresponding to the advertisement program content in the one or more lists in conjunction with given film program content in response to the collated statistical data.
  • the network is operable to provide the one or more users with infilling program content for presentation for a waiting period to one or more users of the one or more user nodes in an event that program content requested by the one or more nodes is not available from the plurality of network nodes, wherein the program content source is operable to propagate to the plurality of network nodes and/or directly to the one or more user nodes the hitherto unavailable program content for receipt and presentation at the one or more user nodes after the waiting period.
  • the infilling program content includes advertisement program content.
  • the method includes steps of:
  • the lists of identifiers are provided by the program content source in response to one or more requests sent from the one or more user nodes in response to the metadata information being user presented at the one or more user nodes.
  • the one or more user nodes are operable to convey user- provided information and/or program content to the plurality of network nodes and/or to the program content source, the user-provided information comprising at least one of: (a) user-generated program content, for example home movies and/or classified advertisements; (b) user-generated comments to complement program content already available from the plurality of network nodes; (c ) tags for marking features of program content images to complement program content already available from the plurality of network nodes; and (d) user-defined bookmarks for marking and indexing portions of program content available at one of more of: the one or more user nodes, the plurality of network nodes, the program content source.
  • the user-provided information comprising at least one of: (a) user-generated program content, for example home movies and/or classified advertisements; (b) user-generated comments to complement program content already available from the plurality of network nodes; (c ) tags for marking features of program content images to complement program content already available from the plurality of network nodes; and (d) user-
  • the one or more user nodes are operable to support user- dialogue therebetween, the dialogue being implemented by one or more of: Voice over Internet Protocol (VoIP), electronic mail messages such as e-mails, instant messaging.
  • VoIP Voice over Internet Protocol
  • electronic mail messages such as e-mails
  • instant messaging instant messaging
  • a digital television device operable to present program content received thereat to a user of the television device, the television device being operable to function as a user node of the network according to the first aspect of the invention, and being operable to function to execute the method according to the second aspect of the invention.
  • an application software product for a digital television device for a digital television device according to third aspect of the invention, the software being executable on the digital television device for implementing a user node of the network according to the first aspect of the invention.
  • a back-end server system for a digital television network according to the first aspect of the invention, the server system being operable to function as the program content source in the network operable according to the method of the second aspect of the present invention.
  • 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 a schematic illustration of a digital multimedia delivery system for TV/multimedia/Interaet as described in a further published United States patent application no. US 2005/0028206;
  • Figure 3 is an illustration of a known multicast multimedia content distribution system as described in a further published international PCT patent application no. WO 2005/101411 (TIVO);
  • Figure 4 is an illustration of a digital television network pursuant to the present invention.
  • FIG. 5 is an illustration of decrypted component parts of data blocks B communicated within the network of Figure 4;
  • Figure 6 is a depiction of a series of steps required to convey program content to a user of the network of Figure 4.
  • FIG. 7 is an illustration of an encryption arrangement employed in the digital television network of Figure 4.
  • 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.
  • the present invention is concerned with methods of supplying data in digital television networks, for example via the Internet, although other types of data communication network can additionally or alternatively be employed.
  • 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 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.
  • the user U executes the cue list Q by sending block requests R B 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.
  • the supernodes of the several nodes N are then operable to search their local data storage and their associated data storage nodes to determine whether or not one or more data blocks B stored thereat correspond to the data block requests R B received at the several nodes N. If a match is found between the data block requests R B 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 B R 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.
  • 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 B R to the user U, the requested data blocks B R are susceptible to being provided to the user U from alternative nodes N whereat the requested data blocks B R are stored in duplication.
  • 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.
  • 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.
  • 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.
  • the method pursuant to 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 B R received thereat.
  • 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, hi the cue list Q, the principal server S can include also program content P A corresponding to advertisement subject matter which has also been delivered from the principal server S for propagation within the Internet.
  • the principal server S can specify in the cue list Q a preferred type of advert 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.
  • 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.
  • 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.
  • a digital television network indicated generally by 500 The digital television network 500 is also susceptible to being considered to be 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 P F 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 Pp therefore includes, for example, movies, films, documentaries, sports coverage, news reports and similar.
  • the principal server S 520 is also coupled to receive advertising program content P A denoted by 530 from advertisement organizations, from specialist interest groups such as religious organizations and similar.
  • the advertisement program content P A thus comprises advertisements and promotional subject matter.
  • 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.
  • the nodes 540 are implemented as supernodes having associated therewith one or more local nodes 550.
  • the nodes N 540 implemented as supernodes include an index of data blocks B stored thereat and within their associated local nodes 550.
  • the nodes N 540 and optionally the local nodes 550 are operable to function as servers of data blocks B delivered thereto.
  • 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.
  • 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 encoding standards can optionally be employed.
  • 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.
  • 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, a screen of the personal computer being operable to present television images to the user U 610.
  • the user node 600 is susceptible to being implemented as a local server coupled via a set-top box to a conventional television.
  • the present invention is also susceptible to being implemented for a mobile telephone or cell phone.
  • 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.
  • CTR cathode ray tube
  • LCD liquid crystal display
  • LCD liquid crystal display
  • OLED organic light emitting diode
  • 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".
  • user program content 620 will be elucidated in more detail later and includes at least one of: user comments, tags, overlays, bookmarks, user profile information, user program content such as home produced movies.
  • 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 Pp 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 P A 530.
  • These advertising organizations pay, for example, the persons responsible for the digital television network 500 to target the advertisement program content P A 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 program content P F 525 being presented shortly after or shortly before the advertisement program content P A , namely to present the advertisement program content P A 530 in a suitable setting, for example to advertise kitchen equipment in conjunction with a television program on cooking and wine;
  • 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
  • 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 advert is presented
  • 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.
  • registration to the network 500 can be optionally free to users U.
  • 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.
  • the user U 610 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.
  • the application software AS is operable to cause the user node 600 to function as a supernode, for example in a manner akin to 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.
  • the application software AS executable at the user node 600 operates to serve only the needs of the user U 610.
  • the user node 600 becomes a supernode akin to the supernodes 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.
  • each data block B as denoted by 700 in Figure 5 beneficially comprises several components parts including when decrypted:
  • program content 710 for example implemented as encrypted MPEG-encoded data including audio data
  • 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;
  • 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.
  • the data blocks B 700 each comprises a plurality of smaller data bundles whose structure in respect of the aforesaid several component parts are not immediately understandable to third parties eavesdropping on the network 510.
  • the executable software 740 serves to define, for example, use of the advertisement program content P A 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
  • Copyright material is thus spread in data blocks B 700 throughout the network 500 as fragments so no copy of the material is mad 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 P F subject to payment of royalties to a relevant copyright owner as negotiated between the persons operating the network 500 and the copyright owner.
  • the network 500 includes payment facilities, for example proprietary Pay-Pal or similar, so that the user U 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.
  • data blocks B 700 which are only relevant to a particular geographical region, for example advertisement program content P A 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.
  • the user U 610 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.
  • 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.
  • 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.
  • 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).
  • PC personal computer
  • 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.
  • 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.
  • the user node 600 On executing the application software AS, the user node 600 is optionally provided with advertisement program content P A 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 P A stored substantially locally thereto.
  • the user U 610 as a next step sends a request enquiry EN to the principal server S
  • 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 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 Pp, P A -
  • an 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 program content P F and that of the user profile UMD.
  • 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 Pp; the one or more Euclidean distances are summated or otherwise mathematically manipulated in order to determine a matching factor MF.
  • Computation of the one or more Euclidean distances optionally involves filtering the metadata for executing spelling correction and to remove 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.
  • the metadata of the film program content Pp 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 film program content P F 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.
  • the electronic program guide EPG can be determined, for example, in respect of one or more of:
  • language of the program content for example German, Japanese, Korean;
  • the aforesaid electronic program guide EPG is presented to the user U
  • 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 akin to channels in contemporary broadcast television.
  • 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 then 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.
  • the cue list Q includes a list of definitions 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 B R to be requested by the user node 600.
  • the principal server S 520 is operable to perform aforesaid matching of advertisement program data P A 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 Pp requested in the request REQ, and/or interspersed within one or more sections of the film program content P F requested.
  • the principal server S 520 includes within the cue list Q a complement of all likely relevant advertisement program content P A which the user node 600 is operable to select of reject locally based upon execution of the code 740 included in the data blocks B R 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.
  • 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 B R .
  • the nodes N 540 substantially in parallel, without causing data load to the principal server S 520, search for the requested data blocks B R , and then report to the user node 600 whereat the data blocks B R are stored so that the user node U 600 can then specifically request from the nodes 540 whereat the data blocks B R are stored to send the data blocks B R 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.
  • the application software AS executing upon computing hardware of the user node 600 decrypts the received data blocks B R 700 using the one or more public keys WP provided to the user U 610 via the user node 600 to provide decrypted 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 P F , P A 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • the nodes N 540 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 P A .
  • Such monitoring and recording is beneficial in that the nodes N 540, for example the supernodes thereat, 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 P A to be shown via the network 500.
  • 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 advertising program content P A 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, for example supernodes thereof.
  • 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 real-time 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. Such a characteristic can render the network 500 less able to provide instant news reports in comparison to known data streamed systems.
  • 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.
  • supply of requested data blocks B R 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.
  • 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.
  • 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.
  • 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 B R , in fast-forward, fast-reverse, forward, reverse, and stop modes akin to a conventional video recorder.
  • 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 B R .
  • 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 B R directly to the user node 600 for substantially immediate consumption thereat; and
  • the principal server S 520 outputs the unobtainable requested data block B R 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 B R has now become available.
  • the application software AS can present data blocks B 700 corresponding to advertisement data content P A to the user U 610 and/or a message that data blocks B 700 are being fetched and short delay is likely to be encountered; such presentation during the short delay is known as "infilling".
  • 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.
  • 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.
  • 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.
  • 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 film program content P F which is likely to be of mutual interest.
  • special interest groups for example steam train enthusiast groups or golfing enthusiast groups
  • 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.
  • 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.
  • VoIP voice over Internet Protocol
  • 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.
  • the user profiles Z as represented in the user metadata UMD, preferably does not include actual names and postal addresses of the users U thereby ensuring their anonymity.
  • encryption of the data blocks B 700 is elucidated in general overview.
  • An especially beneficial method involves a mutually different password for encrypting the data blocks B 700 relative to the cue list Q.
  • FIG 7 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.
  • the network 500 includes a data block encryption unit F encrpt 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 Q CO MP 2030 operable to generate one or more cue lists Q for sending to the user node 600.
  • the data block encryption unit 2010 is operable to receive one or more encryption keys e y 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 e y to encrypt data blocks B 700 provided thereto from the principal server S 520 to generate corresponding encrypted data blocks ⁇ y (Bi) 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 e y 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 Kp ub and a private key Kp ⁇ .
  • the keys Kp u b, K PH are "layered" as known in encryption systems deign.
  • the private key Kp ⁇ is maintained a secret at the user node 600, whereas the public key Kp U b is communicated via the network 510 to the cue list generator 2030.
  • 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 e y 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 Kp ub .
  • the user node 600 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 e y used to encrypt the data block B, corresponding to its identifier I B ⁇ and thereby decrypted the encrypted data block ey(B;) received in a peer-to-peer manner from the network 510 for consumption by the user U 610.
  • the encryption unit 2010, the encryption key provider 2020 and the cue list generator 2030 are substantially collocated with the principal server S.
  • 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.
  • the network 500 is operable so that the encryption unit 2010 and the key provider 2020 cease using the variant e x to encode data blocks B 700 encoded by the variant e x to be progressively purged from the network 500 as elucidated in the foregoing.
  • program content in the foregoing is employed to refer to advertisement program content P A and film program content P F , it will be appreciated that the network 500 is also susceptible to distributing audio program content and executable software.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Human Computer Interaction (AREA)
  • Computer Graphics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

There is provided a digital television network (500) operable to supply program content (700, B) to one or more user node (600) coupled to the network (500). The network (500) includes: (a) network nodes (N, 540); and (b) a program content source (S, 520) couplable to the network nodes (N, 540) for propagating program content as corresponding data blocks (B) in a peer-to-peer manner to the network nodes (N, 540), each data block (700, B) including an associated identifier by which it can be referenced. The program content source (S, 520) is operable to supply the one or more user nodes (600) with one or more lists of identifiers (I, 730) associated with data blocks (B, 700), and the one or more user nodes (600) are operable to access program content defined by request identifiers (I, 730) selected from the identifiers (I, 730) included in the one or more lists from the network (500) by communicating the request identifiers (I, 730) to the network nodes (N, 540) for receiving from the network nodes (N, 540) data blocks having identifiers (730) corresponding to the 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).

Description

METHOD OF SUPPLYING DATA IN DIGITAL TELEVISION NETWORKS
Field of the invention
The present invention relates to methods of supplying data in digital television networks, for example to methods of supplying data in digital television networks based upon Internet Protocol or similar, and utilizing the Internet or similar data communication network. Moreover, the present invention also relates to digital television data networks utilizing such methods. Furthermore, the present invention relates to software executable on computing hardware for implementing at least part of the methods.
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. Altematively, 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.
The system 10 described in the United States patent application no. US
2005/0132418 (TIVO) also anticipates the possibility of cable delivery of program content, hi a further published United States patent application no. US 2005/0028206, there is described a digital multimedia delivery system for TV/multimedia/Internet. The system is indicated generally by 200 in Figure 2. The system 200 includes a head end 210 comprising a video source 220 coupled via a transcoder 230 and a video encoder 240 to provide MPEG streams 250a, 250b which are conveyed via a multicast router 260 to a broadband network 270 such as the Internet. The streams 250a, 250b are transported through the network 270 to a digital subscriber line access multiplexer (DSLAM) 280 coupled at an edge of the network 270. The multiplexer 280 includes one or more asynchronous transfer units (ATU) 290 operable to selectively output the streams 250a, 260a via standard communication links, for example via conventional telephone links (POTS), to users. At each user, there is included an asymmetric digital subscriber line (ADSL) modem 300 coupled via a set-top-box 310 to a user television 320. Associated with the network 270 is a transport router 330 and an associated server complex 340 coupled thereto.
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. The known system 200 is thus capable of offering an alternative form of television delivery to cable and satellite as presently known. In operation, the system 200 manages the delivery of multimedia broadcast signals from a broadcast provider to a user, for example a subscriber, and provides to the user interactive access to the signals, the signals being configured according to Internet Protocol (IP) format for multicast transmission over the network 270 and reception by the user. An interactive program guide (IPG) component of the system 200 is configured to provide the user with an interactive program guide (IPG) permitting selection of the multimedia signal by the user.
The system 200 includes software executable for enabling a service provider to offer broadcast television over Internet Protocol (IP) allowing user channel browsing by selecting and retrieving IP multicast streams conveyed via the network 270. For large amounts of data, for example video transmissions, IP multicast transmission is more efficient than normal Internet unicast transmission because a server can broadcast a message to many recipients simultaneously. In the system 200, the aforesaid interactive program guide (IPG) provides the user with access to video-on-demand (VOD), Timeless TV and TV-on-demand, Internet programming as well as video and audio content. "VOD" is an umbrella term referring to technologies that enable users to select a video, for example a movie, from a static array of pre-recorded multimedia choices provided from a central server for viewing on a television or computer screen. The system 200 also includes DTVM software executable to enable the user to personalize channel selection, for example, to create a list of favorite programs which the user can scan on the IPG and select from or have the television/set-top-box 310, 320 or PC automatically switch to at designated times.
In a published international PCT United States patent application no. WO 2005/101411 (TIVO), there is described a multicast multimedia content distribution system as indicated generally by 400 in Figure 3. The distribution system 400 comprises a content storage 410 coupled to a content server 420 and operable to provide content thereto. Moreover, the content server 420 is coupled via a data distribution network, for example the Internet 430, to one or more multicast groups 440. Each multicast group 440 comprises one or more digital video recorders 450, for example of a type as described in the aforementioned United States patent application no. US 2005/0132418 (TIVO). When the system 400 is in operation, the content server 420 creates a schedule of transmission times for data streams and assigns the streams to multicast groups. The digital video recorders 450 receive the schedule from the content server 420 that contains content description for each data stream together with the transmission times of each particular content description. The content server 420 is operable to transmit the content across the Internet 430 according to the published schedule via a multicast transmission designed for a particular multicast group. Each digital video recorder 450, for example as described in the foregoing in respect of the United States patent application no. US 2005/0132418 (TIVO), determines the content for which it has an interest, finds the scheduled time for transmission for the content, schedules a recording time in its recording schedule, and joins the associated multicast group 440 at the scheduled time. The digital video recorder 450 receives the multicast stream for the group 440 and stores the stream on its local storage device for use by the recorder 450 or for viewing by the user.
In the system 400, the use of the multicast groups 440 as well as digital recording in the recorders 450 at least partially circumvents bandwidth limitations of its Internet 430. The aforementioned system 200 is also operable to employ multicast transmission in order to address bandwidth limitations of its Internet 270.
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, hence the use of multicast in aforementioned known systems 200, 400. Furthermore, the provision of individually user-customized services also presently places unreasonable burden of data delivery capacity on, for example, the video source 220 of the system 200, or the server 420 of the system 400. 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. Moreover, supply of program content is executed in a highly controlled manner from the servers to their associated viewers.
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 is required. Moreover, the systems have not been 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.
Summary of the invention
An object of the present invention is to provide a digital television network operable to supply program content to one or more user nodes coupled to the network without substantially encountering problems due to data bandwidth limitations.
According to a first aspect of the present invention, there is provided a digital television network operable to supply program content to one or more user nodes coupled to the network, wherein the network includes:
(a) at least one network node; and
(b) a program content source couplable in communication with the at least one network node for propagating program content as corresponding data blocks to the at least one network node, each data block including an associated identifier by which it can be referenced;
the program content source being operable to supply the one or more user nodes with one or more program content identifiers associated with data blocks; and the one or more user nodes are operable to access program content defined by request identifiers selected from the program content identifiers from the network by communicating the request identifiers to the at least one network node for receiving from the at least one network node 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.
The invention is of advantage in that it is capable of providing program content to the one or more users via the network having modest data bandwidth characteristics.
The expression "digital television system" and "digital television network" is, for example, intended to include any data transmitting system that transmits one or more of: transient images of fixed or moving objects, video, audio, text with or without sound.
hi other words, the present invention is concerned with a digital television network or system wherein program content, for example advertisement program content and/or film program content and/or audio and/or text, is propagated in an indirect peer-to-per manner via a peer-to-peer data distribution network from a program content source to one or more users, the one or more users being operable to receive or procure user-customized program content by way of receiving customized lists of program content defining program content to be procured from the peer-to-peer data distribution network.
Such a peer-to-peer network arrangement differs from a client-server model wherein communication occurs usually directly between a central server and a client. The expression "peer-to-peer" is intended to include, for example, pure peer-to-peer arrangements wherein peers act as both clients and servers.
Preferably, in the digital television network, the one or more user nodes include corresponding fixed or mobile visual displays for presenting video content to corresponding users. Such visual displays can comprise contemporary television displays, personal computers, mobile handsets, mobile telephones, cell phones, personal data assistants (PDAs) to mention a few examples. Preferably, in the digital television network, the program content as corresponding data blocks is propagated from the program content source within the network in a peer-to- peer manner asynchronously to data blocks being provided to the one or more user nodes from the network nodes. Such a manner of propagating the program content circumvents a need for direct streaming of data from the program content source to the one or more user nodes, thereby easing bandwidth requirements for the network to support delivery of such program content.
Preferably, in the digital television network, the data blocks propagated within the at least one network node 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. Use of such mutually different keys for one or more program lists in comparison to the data blocks is capable of rendering the network more robust to hostile to unauthorized third party interference.
Preferably, in the digital television network, the data blocks propagated within the at least one network node 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 identifiers (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 digital television network, the at least one network node includes supernodes, each supernode being coupled in communication with its one or more associated data storage nodes, wherein: (a) the at least one user node is operable to communicate the identifiers to the supernodes for determining which of the supernodes in conjunction with their one or more data storage nodes are capable of providing program content corresponding to the identifiers to the at least one user node;
(b) the supernodes whose associated one or more data storage nodes are capable of providing the program content corresponding to the identifiers to the at least one user node are operable to communicate one or more indications thereof to the at least one user node;
(c) the at least one user node is operable to communicate one or more requests to the superaodes whose one or more data storage nodes are capable of providing the program content to the at least one user node; and
(d) the supernodes and/or their one or more data storage nodes capable of providing the program content to the at least one user node, are operable to supply the program content corresponding to the one or more requests to the at least one user node. Configuring the at least one network node as supernodes coupled to associated one or more data storage nodes is susceptible to providing exceptionally efficient and rapid supply of encrypted data blocks to the at least one user node. The supernodes are responsive in a first step to receive the identifiers to determine which supernode in combination with its associated one or more data storage nodes is capable of providing one or more desired data blocks corresponding to the identifiers; in a second step, the supernode and its associated one or more data storage nodes identified from the first step as being capable of providing the desired data blocks is then contacted to provide the desired data blocks to the at least one user. In consequence, an efficient two-step process for locating data blocks propagated within the plurality of network nodes is provided. Optionally, within the digital television network, one or more of the network nodes are susceptible to being dynamically selected to be one or more supernodes, or dynamically deselected to be one or more data storage nodes or one or more user nodes.
Preferably, in the digital television network, the network nodes each include a searching unit for matching request identifiers received thereat to data blocks corresponding to program content stored at the network nodes having identifiers matching with the request identifiers. Such identifiers enable data blocks representing program content to be efficiently identified in the network nodes for delivery to the one or more user nodes.
Preferably, the digital television network is operable to propagate one or more of the data blocks provided from the program content source in multiple copies to a plurality of mutually different network nodes within the network. Such multiple propagation of data blocks is susceptible to rendering the network more robust to delivering program content to the one or more users in an event of a network node becoming non-operational.
Preferably, in the digital television network, one or more of the data blocks are propagated in encrypted form in the network, and the one or more user nodes are operable to correspondingly decrypt data blocks received thereat for rendering corresponding program content susceptible to being user presented. Such encryption circumvents unauthorized third party copying of the program content and therefore respects copyright.
Preferably, the digital television network is operable to provide the one or more user nodes with the one or more lists of identifiers subject to payment from the one or more user nodes for the program content identifiers (Q). Such payment enables suppliers of the program content to the program content source be subsequently paid for their program content.
Preferably, the digital television network is operable to implement the payment by utilizing tokens representative of payment, the tokens being cancelled or consumed by the program content provider in response to providing the program content identifiers (Q).
Preferably, in the digital television network, the data blocks include information and/or executable software for enabling the one or more user nodes to conditionally present corresponding program content conveyed in the data blocks in response to one or more of:
(a) environmental parameters such as weather condition;
(b) subject matter of the program content conveyed in the data blocks, the subject matter being described by associated metadata;
(c) user profiles of one or more users associated with the one or more user nodes; (d) geographical locality of the one or more user nodes;
(e) language preferences of the one or more users of the one or more user nodes; and (f) time of presentation of the program content at the one or more user nodes. Inclusion of such information and/or executable software enables, for example, advertising program content to be targeted in the network to most likely customers in a manner which is most likely to appeal to such customers.
Preferably, in the digital television network, the plurality of network nodes are operable to delete data blocks stored therein in response to one or more of:
(a) the data blocks having been accessed more than a defined number of times by the one or more user nodes; (b) the data blocks having associated therewith one or more date limits which have been exceeded;
(c) the data blocks having been accessed less than a defined number of times within a defined period of time; and
(d) the data blocks being non-accessed within a defined period of time. Selective deletion of the data blocks within the network nodes is capable of freeing storage capacity thereat and thereby circumvent the network nodes become saturated with program content. Beneficially, the one or more user nodes are also operable to perform a similar form of purging operation locally thereat.
Preferably, in the digital television network, the at least one network node is operable to propagate the program content including at least one of: film program content, advertisement program content; audio; text. Such propagation of both film program content and advertising program content is capable of rendering juxtaposition of advertisements in conjunction with film or video footage to be achieved.
More preferably, the digital television network is operable to collate statistical data representative of occurrence of presentation of advertisement program content and/or the film program content at the one or more user nodes, the statistical data being susceptible to being communicated by the network to providers of said advertisement program content and/or said film program content. Such statistical data is of benefit in that it is capable of enabling advertisers to monitor in real-time performance of their advertising campaigns via the network.
Preferably, the digital television network is operable to collate statistical data representative of user response the presentation of advertisement program content and/or the film program content at the one or more user nodes, the statistical data being susceptible to being communicated by the network to providers of such advertising program content and/or such film program content.
More preferably, in the digital television network, the program content source in generating the program content identifiers is operable to selectively include identifiers corresponding to the advertisement program content in the program content identifiers in conjunction with given film program content in response to the collated statistical data. Such selective inclusion of identifiers corresponding to the advertisement program content to be user targeted.
Preferably, the digital television network is operable to provide the one or more users with infilling program content for presentation for a waiting period to one or more users of the one or more user nodes in an event that program content requested by the one or more nodes is not available from the at least one network node, wherein the program content source is operable to propagate to the at least one network node and/or directly to the one or more user nodes the hitherto unavailable program content for receipt and presentation at the one or more user nodes after the waiting period. More preferably, in the digital television network, the infilling program content includes advertisement program content.
Preferably, in the digital television network, the one or more user nodes are operable to send requests for program content metadata information to the program content source and receive therefrom the metadata information, the one or more user nodes being operable to process the program metadata to generate one or more electronic program guides for presentation to one or more users of the one or more user nodes, the metadata information being indicative of program content propagated from the program content source into the plurality of network nodes. By this approach, electronic program guides (EPGs) and lists of available program content can be provided to the one or more users.
Preferably, in the digital television network, the lists of identifiers are provided by the program content source in response to one or more requests sent from the one or more user nodes in response to the metadata information being user presented at the one or more user nodes.
Preferably, in the digital television network, the one or more user nodes are operable to convey user-provided information and/or program content to the at least one network node and/or to the program content source, the user-provided information comprising at least one of:
(a) user-generated program content, for example home movies and/or classified advertisements;
(b) user-generated comments to complement program content already available from the at least one network node;
(c ) tags for marking features of program content images to complement program content already available from the plurality of network nodes; and (d) user-defined bookmarks for marking and indexing portions of program content available at one of more of: the one or more user nodes, the at least one network node, the program content source.
Preferably, in the digital television network, the one or more user nodes are operable to support user-dialogue therebetween, the dialogue being implemented by one or more of:
Voice over Internet Protocol (VoIP), instant messaging, electronic mail messages such as e-mails. These additional functions are synergistically capable of enhancing user enjoyment when viewing program content by users sharing their experiences relatively promptly with other users. Moreover, the additional functions enable bidding and telephone ordering of products presented to the user in advertising program content provided via the network. According to a second aspect of the invention, there is provided a method of supplying data in a digital television network operable to supply program content to one or more 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,
the method comprising steps of:
(a) 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;
(b) supplying from the program content source the one or more user nodes with one or more lists of identifiers associated with data blocks; and
(c) accessing for 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 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.
Preferably, in the method, the one or more user nodes include corresponding visual displays for presenting video content to corresponding users.
Preferably, the method includes a step of propagating the program content as corresponding data blocks from the program content source within the network in a peer- to-peer manner asynchronously to data blocks being provided to the one or more user nodes from the network nodes.
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, in the method, the plurality of network nodes include supernodes, each supernode being coupled in communication with its one or more associated data storage nodes, wherein step (c) includes steps of:
(a) communicating the identifiers from the at least one user node to the supernodes for determining which of the supernodes in conjunction with its one or more storage nodes are capable of providing program content corresponding to the identifiers to the at least one user node;
(b) communicating one or more indications of which of the supernodes whose associated one or more data storage nodes are capable of providing the program content corresponding to the identifiers to the at least one user node; (c) communicating one or more requests from the at least one user node to the supernodes whose one or more data storage nodes are capable of providing the program content to the at least one user node; and (d) supplying from the supernodes and/or their one or more data storage nodes capable of providing the program content to the at least one user node, the program content corresponding to the one or more requests to the at least one user node. Preferably, the method includes a step of matching using a searching unit included within each network node request identifiers received at the network nodes to data blocks corresponding to program content stored at the network nodes having identifiers matching with the request identifiers.
Preferably, the method includes a step of propagating in the network one or more of the data blocks provided from the program content source in multiple copies to a plurality of mutually different network nodes within the network.
Preferably, the method includes a step of propagating one or more of the data blocks in encrypted form in the network, and correspondingly decrypting at the one or more user nodes data blocks received thereat for rendering corresponding program content susceptible to being user presented.
Preferably, in the method, the network is operable to provide the one or more user nodes with the one or more lists of identifiers subject to payment from the one or more user nodes for the one or more lists.
Preferably, the method includes a step of implementing the payment in the network by utilizing tokens representative of payment, the tokens being cancelled or consumed by the program content provider in response to providing the one or more lists of identifiers.
Preferably, in the method, the data blocks include information and/or executable software for enabling the one or more user nodes to conditionally present corresponding program content conveyed in the data blocks in response to one or more of:
(a) environmental parameters such as weather condition;
(b) subject matter of the program content conveyed in the data blocks, the subject matter being described by associated metadata;
(c) user profiles of one or more users associated with the one or more user nodes; (d) geographical locality of the one or more user nodes;
(e) language preferences of the one or more users of the one or more user nodes; and
(f) time of presentation of the program content at the one or more user nodes.
Preferably, the method includes a step of deleting data blocks stored at the plurality of network nodes in response to one or more of:
(a) the data blocks having been accessed more than a defined number of times by the one or more user nodes;
(b) the data blocks having associated therewith one or more date limits which have been exceeded;
(c) the data blocks having been accessed less than a defined number of times within a defined period of time; and
(d) the data blocks being non-accessed within a defined period of time.
Preferably, in the method, the plurality of network nodes are operable to propagate the program content including at least one of: film program content, advertisement program content.
Preferably, the method includes a step of collating in the network statistical data representative of occurrence of presentation of advertisement program content at the one or more user nodes, the statistical data being susceptible to being communicated by the network to providers of such advertisement program content to the program content source.
Preferably, the method includes a step of collating statistical data representative of user response the presentation of advertisement program content at the one or more user nodes, the statistical data being susceptible to being communicated by the network to providers of such advertising program content to the program content source.
Preferably, in the method, the program content source in generating the one or more lists of identifiers is operable to selectively include identifiers corresponding to the advertisement program content in the one or more lists in conjunction with given film program content in response to the collated statistical data.
Preferably, in the method, the network is operable to provide the one or more users with infilling program content for presentation for a waiting period to one or more users of the one or more user nodes in an event that program content requested by the one or more nodes is not available from the plurality of network nodes, wherein the program content source is operable to propagate to the plurality of network nodes and/or directly to the one or more user nodes the hitherto unavailable program content for receipt and presentation at the one or more user nodes after the waiting period. More preferably, in the method, the infilling program content includes advertisement program content.
Preferably, the method includes steps of:
(a) sending from the one or more user nodes requests for program content metadata information to the program content source and receiving therefrom the metadata information; and
(b) processing at the one or more user nodes the program metadata to generate one or more electronic program guides for presentation to one or more users of the one or more user nodes, the metadata information being indicative of program content propagated from the program content source into the plurality of network nodes.
More preferably, in the method, the lists of identifiers are provided by the program content source in response to one or more requests sent from the one or more user nodes in response to the metadata information being user presented at the one or more user nodes.
Preferably, in the method, the one or more user nodes are operable to convey user- provided information and/or program content to the plurality of network nodes and/or to the program content source, the user-provided information comprising at least one of: (a) user-generated program content, for example home movies and/or classified advertisements; (b) user-generated comments to complement program content already available from the plurality of network nodes; (c ) tags for marking features of program content images to complement program content already available from the plurality of network nodes; and (d) user-defined bookmarks for marking and indexing portions of program content available at one of more of: the one or more user nodes, the plurality of network nodes, the program content source.
Preferably, in the method, the one or more user nodes are operable to support user- dialogue therebetween, the dialogue being implemented by one or more of: Voice over Internet Protocol (VoIP), electronic mail messages such as e-mails, instant messaging.
According to a third aspect of the invention, there is provided a digital television device operable to present program content received thereat to a user of the television device, the television device being operable to function as a user node of the network according to the first aspect of the invention, and being operable to function to execute the method according to the second aspect of the invention.
According to a fourth aspect of the invention, there is provided an application software product for a digital television device according to third aspect of the invention, the software being executable on the digital television device for implementing a user node of the network according to the first aspect of the invention.
According to a fifth aspect of the present invention, there is provided a back-end server system for a digital television network according to the first aspect of the invention, the server system being operable to function as the program content source in the network operable according to the method of the second aspect of the present invention.
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 a schematic illustration of a digital multimedia delivery system for TV/multimedia/Interaet as described in a further published United States patent application no. US 2005/0028206;
Figure 3 is an illustration of a known multicast multimedia content distribution system as described in a further published international PCT patent application no. WO 2005/101411 (TIVO);
Figure 4 is an illustration of a digital television network pursuant to the present invention;
Figure 5 is an illustration of decrypted component parts of data blocks B communicated within the network of Figure 4;
Figure 6 is a depiction of a series of steps required to convey program content to a user of the network of Figure 4; and
Figure 7 is an illustration of an encryption arrangement employed in the digital television network of Figure 4. 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 systems operable to deliver television program content will be elucidated, followed by an explanation of their method of operation. In overview, the present invention is concerned with methods of supplying data in digital television networks, for example via the Internet, although other types of data communication network can additionally or alternatively be employed. 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 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. 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 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. The method pursuant to 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, hi the cue list Q, the principal server S can include also 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 advert 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. hi 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 4, an embodiment of the invention is illustrated as a digital television network indicated generally by 500. The digital television network 500 is also susceptible to being considered to be 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 Pp therefore includes, for example, movies, films, documentaries, sports coverage, news reports and similar. Moreover, the principal server S 520 is also coupled to receive advertising program content PA denoted by 530 from advertisement 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, as elucidated earlier, 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 blocks 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 encoding standards can optionally be employed. 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 4, 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, 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. Yet alternatively, the present invention is also susceptible to being implemented for a mobile telephone or cell phone. 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: user comments, tags, overlays, bookmarks, user profile information, user program content such as home produced movies.
Operation of the digital television network 500 will now be described in greater detail with reference to Figure 4. 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 Pp 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 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 advert 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 program content PF 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 advert 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. Alternatively, registration to the network 500 can be optionally free to users U. 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 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 supernodes 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 operators of the principal server S 520 cause the network 500 to propagate the film program content PF and the advertisement program content PA throughout the network 500 to one or more of the supernodes N 540 whereat the program contents Pp, 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 systems operable to utilize data streaming substantially from central servers to users. Each data block B as denoted by 700 in Figure 5 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 each comprises a plurality of smaller data bundles whose structure in respect of the aforesaid several component parts are not immediately understandable to third parties eavesdropping on the network 510. The executable software 740 serves to define, for example, use of the advertisement 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 mad 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 U 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 6, 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 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 Pp, PA- By such a selective 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 program content PF and that of the user profile 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 Pp; the one or more Euclidean distances are summated or otherwise mathematically manipulated in order to determine a matching factor MF. Computation of the one or more Euclidean distances optionally involves filtering the metadata for executing spelling correction and to remove 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 film program content Pp 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 film program content PF 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 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 akin 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 then 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. The cue list Q includes a list of definitions 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 Pp 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 U 600 can then specifically request from the nodes 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 public keys WP provided to the user U 610 via the user node 600 to provide decrypted 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 PF, 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, delivery of data blocks B 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 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 the supernodes thereat, 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 advertising 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, for example supernodes thereof. 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 real-time 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. 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.
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 data content PA to the user U 610 and/or a message that data blocks B 700 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 film 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, preferably does not include actual names and postal addresses of the users U thereby ensuring their anonymity.
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 7, 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 βy(Bi) 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 Kpub, KPH are "layered" as known in encryption systems deign. The private key Kpπ 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 and thereby decrypted the encrypted data block ey(B;) 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 βx 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.
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 digital television network (500) operable to supply program content to one or more user nodes (600) coupled to the network (500),
wherein the network (500) includes: (a) at least one network node (540, 550); and (b) a program content source (520) couplable in communication with the at least one network node (540, 550) for propagating program content as corresponding data blocks (700) to said at least one network node (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 one or more user nodes (600) with program content identifiers (Q) associated with data blocks (700); and said one or more user nodes (600) are operable to access program content defined by request identifiers (I, 730) selected from the program content identifiers (Q) from the network (500) by communicating said request identifiers (I, 730) to said at least one network node (540, 550) for receiving from said at least one network node (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).
2. A digital television network (500) as claimed in claim 1 , wherein said one or more user nodes (600) include corresponding visual displays for presenting video content to corresponding users (610).
3. A digital television network (500) as claimed in claims 1 or 2, wherein the data blocks (700) propagated within the at least one network node (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).
4. A digital television network (500) as claimed in claim 1, 2 or 3, wherein the data blocks propagated within the at least one network node (540, 550) are encrypted with mutually different encryption keys which are also propagated to the at least one user node (600) in the program content identifiers (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).
5. A digital television network (500) as claimed in claim 1, 2, 3 or 4, wherein the program content as corresponding data blocks (B, 700) are propagated from the program content source (520) within the network (500) in a peer-to-peer manner asynchronously to data blocks (B, 700) being provided to the one or more user nodes (600) from the at least one network node (540, 550).
6. A digital television network (500) as claimed in any one of the preceding claims, wherein the at least one network node (540, 550) includes supernodes (540), each supernode (540) being coupled in communication with its one or more associated data storage nodes (550), wherein:
(a) the at least one user node (600) is operable to communicate the identifiers to the supernodes (540) for determining which of the supernodes (540) in conjunction with their one or more data storage nodes (550) are capable of providing program content corresponding to the identifiers to the at least one user node (600); (b) the supernodes (540) whose associated one or more data storage nodes (550) are capable of providing the program content corresponding to the identifiers to the at least one user node (600) are operable to communicate one or more indications thereof to the at least one user node (600);
(c ) the at least one user node (600) is operable to communicate one or more requests to the supernodes (540) whose one or more data storage nodes (550) are capable of providing the program content to the at least one user node (600); and (d) the supernodes (540) and/or their one or more data storage nodes capable of providing the program content to the at least one user node (600), are operable to supply the program content corresponding to the one or more requests to the at least one user node (600).
7. A digital television network (500) as claimed in any one of the preceding claims, wherein one or more of the at least one network node (540, 550) are susceptible to being dynamically selected to be one or more supernodes (540), or dynamically deselectable from being one or more supernodes (540) to being one or more data storage nodes (550) or one or more user nodes (600).
8. A digital television network (500) as claimed in any one of the preceding claims, wherein the network nodes (540) each include a searching unit for matching request identifiers received thereat to data blocks (B, 700) corresponding to program content stored at the network nodes (650) having identifiers (I, 730) matching with the request identifiers.
9. A digital television network (500) as claimed in any one of the preceding claims, wherein said network (500) is operable to propagate one or more of said data blocks (B, 730) provided from said program content source (520) in multiple copies to a plurality of mutually different network nodes (540) within the network (500).
10. A digital television network (500) as claimed in any one of the preceding claims, wherein one or more of the data blocks (B, 700) are propagated in encrypted form in the network (500), and the one or more user nodes (600) are operable to correspondingly decrypt data blocks (B, 700) received thereat for rendering corresponding program content susceptible to being user presented.
11. A digital television network (500) as claimed in claim 10, wherein the network (500) is operable to provide said one or more user nodes (600) with said program content identifiers (Q) subject to payment from said one or more user nodes (600) for said program content identifiers (Q).
12. A digital television network (500) as claimed in claim 11, wherein said network (500) is operable to implement said payment by utilizing tokens (T) representative of payment, said tokens (T) being cancelled or consumed by said program content provider (520) in response to providing said program content identifiers (Q).
13. A digital television network (500) as claimed in any one of the preceding claims, wherein said data blocks (B, 700) include information and/or executable software (740) for enabling said one or more user nodes (600) to conditionally present corresponding program content conveyed in said data blocks (B, 700) in response to one or more of:
(a) environmental parameters such as weather condition;
(b) subject matter of said program content conveyed in said data blocks (B, 700), said subject matter being described by associated metadata (720);
(c) user profiles of one or more users (610) associated with said one or more user nodes (600);
(d) geographical locality of said one or more user nodes (600);
(e) language preferences of said one or more users (610) of said one or more user nodes (600); and
(f) time of presentation of said program content at said one or more user nodes (600).
14. A digital television network (500) as claimed in any one of the preceding claims, wherein the at least one network node (540) is operable to delete data blocks (B, 700) stored therein in response to one or more of:
(a) the data blocks (B, 700) having been accessed more than a defined number of times by the one or more user nodes (600);
(b) the data blocks (B, 700) having associated therewith one or more date limits which have been exceeded; (c) the data blocks (B, 700) having been accessed less than a defined number of times within a defined period of time; and (d) the data blocks (B, 700) being non-accessed within a defined period of time.
15. A digital television network (500) as claimed in any one of the preceding claims, wherein the at least one network node (540) is operable to propagate the program content including at least one of: film program content, advertisement program content; text; audio.
16. A digital television network (500) as claimed in claim 15, wherein the network (500) is operable to collate statistical data representative of occurrence of presentation of advertisement program content and/or film program content at said one or more user nodes (600), said statistical data being susceptible to being communicated by the network (500) to providers of said advertisement program content and/or said film program content.
17. A digital television network (500) as claimed in claim 15, wherein the network (500) is operable to collate statistical data representative of user response said presentation of advertisement program content and/or film program content at said one or more user nodes (600), said statistical data being susceptible to being communicated by the network (500) to providers of said advertisement program content and/or said film program content.
18. A digital television network (500) as claimed in claim 15 or 16, wherein said program content source (520) in generating said one or more lists of identifiers (Q) is operable to selectively include identifiers (I, 730) corresponding to said advertisement program content in said program content identifiers (Q) in conjunction with given film program content in response to said collated statistic data.
19. A digital television network (500) as claimed in any one of the preceding claims, wherein the network (500) is operable to provide said one or more users (600) with infilling program content for presentation for a waiting period to one or more users (610) of the one or more user nodes (600) in an event that program content requested by the one or more nodes (610) is not available from the at least one network node (540), wherein the program content source (520) is operable to propagate to the at least one network node (540) and/or directly to said one or more user nodes (600) the hitherto unavailable program content for receipt and presentation at the one or more user nodes (600) after said waiting period.
20. A digital television network (500) as claimed in claim 19, wherein said infilling program content includes advertisement program content.
21. A digital television network (500) as claimed in any one of the preceding claims, wherein said one or more user nodes (600) are operable to send requests for program content metadata information to said program content source and receive therefrom said metadata information, said one or more user nodes (600) being operable to process said program metadata to generate one or more electronic program guides for presentation to one or more users of said one or more user nodes, said metadata information being indicative of program content propagated from said program content source into said plurality of network nodes (540).
22. A digital television network (500) as claimed in claim 21, wherein said program content identifiers (Q) are provided by said program content source (520) in response to one or more requests sent from said one or more user nodes (600) in response to said metadata information being user presented at said one or more user nodes (600).
23. A digital television network (500) as claimed in any one of the preceding claims, wherein said one or more user nodes (600) are operable to convey user-provided information and/or program content (620) to said plurality of network nodes (540) and/or to said program content source (520), said user-provided information (620) comprising at least one of:
(a) user-generated program content, for example home movies and/or classified advertisements; (b) user-generated comments to complement program content already available from the plurality of network nodes (540); (c ) tags for marking features of program content images to complement program content already available from the plurality of network nodes (540); and (d) user-defined bookmarks for marking and indexing portions of program content available at one of more of: said one or more user nodes (600), said plurality of network nodes (540), said program content source (520).
24. A digital television network (500) as claimed in any one of the preceding claims, wherein the one or more user nodes (600) are operable to support user-dialogue therebetween, said dialogue being implemented by one or more of: Voice over Internet Protocol (VoIP), instant messaging, electronic mail messages such as e-mails.
25. A method of supplying data in a digital television network (500) operable to supply program content to one or more 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),
said method comprising steps of:
(a) propagating program content as corresponding data blocks (700) to said plurality of network nodes (540), each data block (700) including an associated identifier (730) by which it can be referenced;
(b) supplying from the program content source (520) the one or more user nodes (600) with one or more lists of identifiers (730) associated with data blocks (700); and (c) accessing for said one or more user nodes (600) program content defined by request identifiers (730) selected from the identifiers included in the one or more lists from the network (500) by communicating said request identifiers (730) to said plurality of network nodes (540) for receiving from said plurality of network nodes (540) data blocks (700) having identifiers (730) corresponding to said request identifiers (730) and thereby receiving at the one or more user nodes (600) the program content defined by the request identifiers (730).
26. A method as claimed in claim 25, wherein said one or more user nodes (600) include corresponding visual displays for presenting video content to corresponding users
(610).
27. A method as claimed in claim 25 or 26, including a step of propagating the program content as corresponding data blocks (700) from the program content source (520) within the network (500) in a peer-to-peer manner asynchronously to data blocks (700) being provided to the one or more user nodes (600) from the network nodes (540).
28. A method as claimed in claim 25, 26 or 27, 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).
29. A method as claimed in claim 25, 26, 27 or 28, 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).
30. A method as claimed in any one of claims 25 to 29, wherein the plurality of network nodes (540, 550) include supernodes (540), each supernode (540) being coupled in communication with its one or more associated data storage nodes (550), wherein step (c) includes steps of:
(a) communicating the identifiers from the at least one user node (600) to the supernodes (540) for determining which of the supernodes (540) in conjunction with its one or more storage nodes (550) are capable of providing program content corresponding to the identifiers to the at least one user node (600);
(b) communicating one or more indications of which of the supernodes (540) whose associated one or more data storage nodes (550) are capable of providing the program content corresponding to the identifiers to the at least one user node (600);
(c) communicating one or more requests from the at least one user node (600) to the supernodes (540) whose one or more data storage nodes (550) are capable of providing the program content to the at least one user node (600); and
(d) supplying from the supernodes (540) and/or their one or more data storage nodes (550) capable of providing the program content to the at least one user node (600), the program content corresponding to the one or more requests to the at least one user node (600).
31. A method as claimed in claim 25,to 30, including a step of matching using a searching unit included within each network node (540) request identifiers received at the network nodes (540) to data blocks (700) corresponding to program content stored at the network nodes (540) having identifiers (730) matching with the request identifiers.
32. A method as claimed in any one of claims 25 to 31, including a step of propagating in said network (500) one or more of said data blocks (700) provided from said program content source (640) in multiple copies to a plurality of mutually different network nodes (540) within the network (500).
33. A method as claimed in any one of claims 25 to 32, including a step of propagating one or more of the data blocks (700) in encrypted form in the network (500), and correspondingly decrypting at the one or more user nodes (600) data blocks (700) received thereat for rendering corresponding program content susceptible to being user presented.
34. A method as claim in claim 33, wherein the network (500) is operable to provide said one or more user nodes (600) with said one or more lists of identifiers subject to payment from said one or more user nodes (600) for said one or more lists.
35. A method as claimed in claim 33, including a step of implementing said payment in said network (500) by utilizing tokens representative of payment, said tokens being cancelled or consumed by said program content provider (520) in response to providing said one or more lists of identifiers (Q).
36. A method as claimed in any one of claims 25 to 35, wherein said data blocks (700) include information and/or executable software (740) for enabling said one or more user nodes (600) to conditionally present corresponding program content conveyed in said data blocks (700) in response to one or more of:
(a) environmental parameters such as weather condition;
(b) subject matter of said program content conveyed in said data blocks (700), said subject matter being described by associated metadata (720); (c) user profiles of one or more users (610) associated with said one or more user nodes (600);
(d) geographical locality of said one or more user nodes (600);
(e) language preferences of said one or more users (610) of said one or more user nodes (600); and (f) time of presentation of said program content at said one or more user nodes (600).
37. A method as claimed in any one claims 25 to 36, including a. step of deleting data blocks (700) stored at the plurality of network nodes (540) in response to one or more of: (a) the data blocks (700) having been accessed more than a defined number of times by the one or more user nodes (600); (b) the data blocks (700) having associated therewith one or more date limits which have been exceeded;
(c) the data blocks (700) having been accessed less than a defined number of times within a defined period of time; and (d) the data blocks (700) being non-accessed within a defined period of time.
38. A method as claimed in any one of claims 25 to 35, wherein the plurality of network nodes (540) are operable to propagate the program content including at least one of: film program content, advertisement program content.
39. A method as claimed in claim 38, including a step of collating in the network (500) statistical data representative of occurrence of presentation of advertisement program content at said one or more user nodes (600), said statistical data being susceptible to being communicated by the network (500) to providers of such advertisement program content to the program content source (520).
40. A method as claimed in claim 38, including a step of collating statistical data representative of user response said presentation of advertisement program content and/or film program content at said one or more user nodes (600), said statistical data being susceptible to being communicated by the network (500) to providers of said advertisement program content and/or said film program content .
41. A method as claimed in claim 39 or 40, wherein said program content source (520) in generating said one or more lists of identifiers (Q) is operable to selectively include identifiers corresponding to said advertisement program content in said one or more lists in conjunction with given film program content in response to said collated statistical data.
42. A method as claimed in any one of claims 25 to 40, wherein the network (500) is operable to provide said one or more users (600) with infilling program content for presentation for a waiting period to one or more users (610) of the one or more user nodes (600) in an event that program content requested by the one or more nodes (600) is not available from the plurality of network nodes (540), wherein the program content source (520) is operable to propagate to the plurality of network nodes (540) and/or directly to said one or more user nodes (600) the hitherto unavailable program content for receipt and presentation at the one or more user nodes (600) after said waiting period.
43. A method as claimed in claim 42, wherein said infilling program content includes advertisement program content.
44. A method as claimed in any one of claims 25 to 43, wherein said method includes steps of:
(a) sending from said one or more user nodes (600) requests for program content metadata information to said program content source (520) and receiving therefrom said metadata information; and (b) processing at said one or more user nodes (600) said program metadata to generate one or more electronic program guides for presentation to one or more users (610) of said one or more user nodes (600), said metadata information being indicative of program content propagated from said program content source (520) into said plurality of network nodes (540).
45. A method as claimed in claim 44, wherein said lists of identifiers (Q) are provided by said program content source (520) in response to one or more requests sent from said one or more user nodes (600) in response to said metadata information being user presented at said one or more user nodes (600).
46. A method as claimed in any one of claims 25 to 45, wherein said one or more user nodes (600) are operable to convey user-provided information and/or program content to said plurality of network nodes (600) and/or to said program content source (520), said user-provided information comprising at least one of: (a) user-generated program content (620), for example home movies and/or classified advertisements; (b) user-generated comments to complement program content already available from the plurality of network nodes; (c ) tags for marking features of program content images to complement program content already available from the plurality of network nodes (540); (d) user-defined bookmarks for marking and indexing portions of program content available at one of more of: said one or more user nodes (600), said plurality of network nodes (540), said program content source (520).
47. A method as claimed in any one claims 25 to 46, wherein the one or more user nodes (600) are operable to support user-dialogue therebetween, said dialogue being implemented by one or more of: Voice over Internet Protocol (VoIP), instant messaging, electronic mail messages such as e-mails.
48. A digital television device (600) operable to present program content received thereat to a user (610) of the television device (600), said television device (600) being operable to function as a user node (600) of the network claimed in claim 1, and operable to function to execute the method as claimed in claim 25.
49. An application software product for a digital television device (600) of claim 46, said software being executable on said digital television device (600) for implementing a user node (600) of the network (500) claimed in claim 1.
50. A back-end server system (520) for a digital television network as claimed in claim 1, said server system (520) being operable to function as the program content source (520) in the network (500) operable according to a method of claim 25.
PCT/EP2006/004558 2006-05-15 2006-05-15 Method of supplying data in digital television networks WO2007131524A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/EP2006/004558 WO2007131524A1 (en) 2006-05-15 2006-05-15 Method of supplying data in digital television networks

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/EP2006/004558 WO2007131524A1 (en) 2006-05-15 2006-05-15 Method of supplying data in digital television networks

Publications (1)

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

Family

ID=37309246

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2006/004558 WO2007131524A1 (en) 2006-05-15 2006-05-15 Method of supplying data in digital television networks

Country Status (1)

Country Link
WO (1) WO2007131524A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2150019A1 (en) * 2008-07-30 2010-02-03 Alcatel, Lucent Internet protocol television server

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040010588A1 (en) * 2002-06-07 2004-01-15 Slater Alastair Michael Serving out video over a network of video servers
WO2004008289A2 (en) * 2002-07-17 2004-01-22 William Hayhurst Decentralized media delivery

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040010588A1 (en) * 2002-06-07 2004-01-15 Slater Alastair Michael Serving out video over a network of video servers
WO2004008289A2 (en) * 2002-07-17 2004-01-22 William Hayhurst Decentralized media delivery

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2150019A1 (en) * 2008-07-30 2010-02-03 Alcatel, Lucent Internet protocol television server

Similar Documents

Publication Publication Date Title
US11317164B2 (en) Methods, apparatus, and systems for providing media content over a communications network
US8966524B2 (en) Method of associating program content data in a digital television network
US10848816B2 (en) Updating content libraries by transmitting release data
US10951861B2 (en) Systems and methods to order a content item deliverable via a media service
US7810647B2 (en) Method and apparatus for assembling portions of a data file received from multiple devices
US8539536B2 (en) Fragmentation of a file for instant access
US9462337B2 (en) Peer-to-peer video on demand techniques
US8595757B2 (en) System and method of sharing media content
US7627888B2 (en) Method and system for keeping a library of titles updated
US20070174471A1 (en) Secure, continous, proxy-optimized, device-to-device data download reception system and method of use
US8219635B2 (en) Continuous data feeding in a distributed environment
US8739231B2 (en) System and method for distributed video-on-demand
US20060218220A1 (en) Method and system for updating contents in newly-installed devices
US7797440B2 (en) Method and system for managing objects distributed in a network
US8099511B1 (en) Instantaneous media-on-demand
US20090238543A1 (en) Local Recording of Previously Aired Programming
WO2007131525A1 (en) User interface for digital television networks
WO2007131524A1 (en) Method of supplying data in digital television networks
HK1111288B (en) Instantaneous media-on-demand

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: 06753624

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

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 06753624

Country of ref document: EP

Kind code of ref document: A1