WO2007131544A1 - Method of processing user data - Google Patents

Method of processing user data Download PDF

Info

Publication number
WO2007131544A1
WO2007131544A1 PCT/EP2006/011975 EP2006011975W WO2007131544A1 WO 2007131544 A1 WO2007131544 A1 WO 2007131544A1 EP 2006011975 W EP2006011975 W EP 2006011975W WO 2007131544 A1 WO2007131544 A1 WO 2007131544A1
Authority
WO
WIPO (PCT)
Prior art keywords
user
program content
peer
data
metadata
Prior art date
Application number
PCT/EP2006/011975
Other languages
French (fr)
Inventor
Sylvain Wallez
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
Priority claimed from PCT/EP2006/004559 external-priority patent/WO2007131525A1/en
Priority claimed from PCT/EP2006/004560 external-priority patent/WO2007131526A1/en
Application filed by Joost N.V. filed Critical Joost N.V.
Publication of WO2007131544A1 publication Critical patent/WO2007131544A1/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • G06F16/73Querying
    • G06F16/735Filtering based on additional data, e.g. user or group profiles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • G06F16/78Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • 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/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/466Learning process for intelligent management, e.g. learning user preferences for recommending movies
    • H04N21/4667Processing of monitored end-user data, e.g. trend analysis based on the log file of viewer selections
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • H04N21/4788Supplemental services, e.g. displaying phone caller identification, shopping application communicating with other users, e.g. chatting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/632Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing using a connection between clients on a wide area network, e.g. setting up a peer-to-peer communication via Internet for retrieving video segments from the hard-disk of other client devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • H04N21/6582Data stored in the client, e.g. viewing habits, hardware capabilities, credit card number

Definitions

  • the present invention relates to methods of processing user data in a digital television system wherein television program content is distributed from a source, for example one or more backend servers, via a peer-to-peer network to a multitude of users, for example viewers, and wherefrom user data is collated and returned via a least one of: directly to the source, indirectly via the peer-to-peer network to the source.
  • a source for example one or more backend servers
  • user data is collated and returned via a least one of: directly to the source, indirectly via the peer-to-peer network to the source.
  • the present invention also concerns peer- to-peer digital television systems operable pursuant to the methods.
  • the present invention also relates to software and software products executable on computing hardware for implementing the present invention.
  • the television company only received feedback regarding user response by receiving complaint telephone calls and viewer rating forms returned to the television company from a selected sub-ground of users.
  • a number of television licenses annually sold provided an indication of a total potential number of viewers.
  • an approximate response for all viewers could be determined by extrapolation.
  • viewing rating forms were only returned periodically to the television company, for example once each week or once each month, so the company was not able to receive an immediate assessment of viewer response to the program content.
  • Such effective lack of accurate information rendered uncertainties for advertising companies and agencies purchasing television transmission time to have their advertisements presented unselectively to all the viewers.
  • the television company had no way of targeting advertisements selectively to certain categories of viewers other than:
  • viewers' television apparatus have been supplemented with video recorders, for example digital video recorders based on hard disc data memory drives, which are operable to record television transmissions at an original time when sent from television companies so that users are subsequently able to view the television transmissions at a later time than the original time.
  • video recorders also enable users, namely viewers, to selectively skip over advertisements, or even edit advertisements from received transmissions, in order to concentrate on program content of most interest.
  • These video recorders have been of concern to advertisers paying for their advertisements to be presented to viewers.
  • conventional broadcasting companies have begun to experience a reduction in advertising revenues as advertisers elect to employ other media for communicating their advertisements, for example via Internet web-sites and associated search engines, by selective postal advertising schemes and by direct telephone sales.
  • FIG. 1 a known system operable to provide cable television services is indicated generally by 10.
  • the system 10 includes a central server arrangement 20 comprising an array of servers 30 operable to stream data comprising program content therefrom via the Internet 40 or similar type of data communication network, directly to users 60, namely to viewers.
  • Some servers 30 are dedicated to individual users 60, whereas other servers 30 are dedicated to simultaneously serve several users 60 in parallel with same program content.
  • the system 10 is capable of functioning technically satisfactorily, it represents an expensive approach to providing television services because the number of servers 30 needs to be increased in response the number of users 60, namely viewers, increasing.
  • a further problem encountered is that technical failure of a central server arrangement 20 serving a large number of users U 60 with program content, for example several tens of thousands of users U 60 in parallel, potentially results in the system 10 providing an unreliable service to its users U 60.
  • Such unreliability is of considerable concern to advertisers paying for their advertisements to be conveyed via the system 10 to its users U 60.
  • the system 10 does not provide for advertisements to be selectively targeted to certain preferred users whereat the advertisements are susceptible to providing an enhanced probability of user purchase.
  • the system 10 thus has fundamental limitations associated therewith which has limited its deployment in comparison to conventional wireless television broadcast which is still very widely employed by a majority of population in many regions of the World, for example in Europe, United States of America, Russia, China, India and Australia.
  • An object of the present invention is to provide an advanced form of television broadcast system which is operable to process user data provided in response to advertisements being presented to such users.
  • Another object of the present invention is to provide a method of processing user data provided in response to selective video program content being presented to such users.
  • Another object of the invention is to provide a digital television system operable to propagate program content to users in a more efficient, customized and controlled manner than hitherto possible in digital television systems.
  • Another object of the invention is to provide a digital television system operable propagate program content including advertisements to users and to collate users' responses to such advertisements to provide statistical information regarding user impression of such advertisements.
  • a method of processing user data in a digital television system characterized in that the digital television system comprises a principal server arrangement, a peer-to-peer network coupled in communication with the principal server arrangement, and one or more user nodes coupled to the peer-to-peer network, the method including steps of: (a) propagating program content data from the principal server arrangement to the peer-to- peer network in a peer-to-peer manner;
  • the invention is of advantage in that the television system is capable to collating statistical data for assisting with dissemination of program content data, for example advertisement program data, in a more advantageous manner within the system.
  • the principal server arrangement is a distributed server configuration within a communication network.
  • the principal server arrangement is implementable as a plurality of servers spatially distributed a various geographical locations and operable to perform mutually different data processing and data supply functions.
  • the principal server arrangement comprises a cluster of servers substantially at one geographical location or region. The principal server is of benefit in that it provides a focus for collation and assimilation of statistical data.
  • the peer-to-peer network is implemented as an interlinked network of nodes including at least one of: supernodes, data supply nodes, user nodes.
  • Implementation in such manner with supernodes and data supply nodes is especially efficient when handling data searches for locating program content data blocks for supply to the one or more user nodes, but also beneficial when propagating program content data in a peer-to-peer manner from the principal server arrangement.
  • the supernodes are operable to retain information indicative of associated data supply nodes in which propagated items of program content data are stored.
  • the method includes steps of: (f) collating at each user node user responses and generating the response information so as to associate the user responses with corresponding program content prompting the user responses; and (g) communicating the response information included in the collated information for receipt at the principal server arrangement for generating the statistical data definable in relation to the corresponding program content.
  • Collation of statistical data indicative of user viewing habits is especially beneficial in targeting advertisement program content to users who are more likely to respond commercially advantageously to the advertisement program content.
  • Such targeting of advertisements is not implemented, and often not possible, in contemporary television systems.
  • the method includes steps of:
  • the method includes a step of: (j) generating the definition of the subset of propagated program content by at least partially matching metadata of the one or more requests with metadata of program content data propagated within the peer-to-peer network.
  • the television program content corresponds to special-interest digital television channels, for example, golf channel, tiddly-winks channel, equestrian channel, campanology channel and so forth.
  • the method includes a step of: (k) generating the definition of the subset of propagated program content data by at least partially matching metadata of the one or more requests with metadata of program content data propagated within the peer-to-peer network and with user metadata provided from the one or more user nodes.
  • Such operation enables user profiles submitted by the one or more users of the one or more user nodes to have recommended program content data which is customized to their personal tastes and characteristics.
  • the method includes a step of:
  • This step of the method is operable to refine user profile metadata so that its is more representative of actual viewing habits and preferences of the one or more users rather than a user profile initially submitted by such one or more users which is often inaccurate or unrepresentative, for example deliberately for confidentiality reasons.
  • the user metadata is at least in part a temporal function reflecting diurnal or seasonally temporally changing viewing patterns of the one or more users.
  • the method including steps of:
  • the method includes a step of including executable code in at least one of : metadata associated with the program content data propagated in the peer-to-peer network, the program content data propagated in the peer-to-peer network, and wherein the executable code defining rules for presenting the program content at the one or more user nodes.
  • the executable code includes Javascript and/or XML, although other computer languages can be alternatively employed.
  • the method includes a step of including one or more priority rating parameters in at least one of: metadata associated the program content data propagated in the peer-to-peer network, the program content data propagated in the peer-to-peer network and wherein the one or more priority rating parameters are included for use at the one or more user nodes for resolving conflicts when executing rules associated with presenting a plurality of items of program content data.
  • the one or more priority ratings can be selected in response to commercial considerations, for example payment of premiums by advertisers for increased dissemination of their advertisements.
  • the method includes a step of including one or more priority rating parameters in at least one of: metadata associated with the program content data propagated in the peer-to-peer network, the program content data propagated in the peer-to-peer network and wherein the one or more priority rating parameters are included for use at the one or more user nodes for selecting on a basis of values of the one or more priority rating parameters items of program content data for user presentation at the one or more user nodes.
  • the one or more priority rating parameters are temporally dynamically variable for controlling a priority in which the program content data is present at the one or more user nodes. Such opportunity to dynamically vary the one or more priority ratings enables, for example, advertisers to modifying their advertising campaigns in a proactive manner in response to feedback provided by the system when in operation.
  • the program content data includes at least one of: film program content, advertisement program content.
  • a digital television system including a data communication network operable to provide program content data from a data source to one or more user nodes for user presentation thereat, wherein the one or more user nodes are operable to collate user responses for communication via the network to a data processing arrangement to generate user statistical data representative of responses of the one or more users to the program content data.
  • the program data is propagated within the data communication network in a peer-to-peer manner.
  • a peer-to-peer manner of propagation relieves data supply overload occurring at the data source which is a technical problem in convention cable television systems operable to stream program content directly from data sources to users.
  • a user node for a digital television system operable to implement a method pursuant to the first aspect of the invention, the user node including hardware for presenting the program content data received at the user node to one or more users of the user node, and for sensing and collating user responses to the presented program content data for communication within the system for generating user statistical data representative of responses of the one or more users to the program content data.
  • the user node is implemented using computing hardware operable to execute a software product. More optionally, the user node is implemented using at least one of: a personal computer, a WiFi telephone, a personal digital assistant, a dedicated hardware unit couplable to a contemporary television apparatus.
  • a software product stored on a data carrier or conveyable via a data signal, the software being executable on computing hardware for implementing a method pursuant to the first aspect of the invention.
  • the software product is, for example, susceptible to being downloaded via the Internet to computing hardware coupled to the Internet.
  • the software product can be provided in the form of software recorded on an optical disc data carrier or solid state memory device to mention a few examples.
  • a software product stored on a data carrier or conveyable via a data signal, the software being executable on computing hardware for implementing a user node pursuant to the third aspect of the invention.
  • Figure 1 is a schematic illustration of a known cable television system operable to stream program content directly from its central servers to users;
  • Figure 2 is an illustration of a digital television system pursuant to the present invention.
  • FIG. 3 is an illustration of metadata feedback processes implemented within the television system of Figure 2.
  • 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.
  • the non-underlined number is used to identify a general item at which the arrow is pointing.
  • a digital television system pursuant to the present invention is illustrated in Figure 2; the digital television system is indicated generally by 100.
  • the system 100 includes a backend server arrangement referred to as being a principal server S 110 comprising a relatively smaller number of servers 30 in comparison a relatively larger number of servers in the central server arrangement 20 of Figure 1.
  • the principal server S 110 is coupled to the aforesaid Internet 40 including nodes therein which have been provided with software operable to cause them to function as a peer-to-peer P2P network 120 operable to convey television program content data therein provided from the principal server S 110.
  • the peer-to-peer P2P network 120 has certain of its nodes designated to be supernodes SN, for example supernodes SN 130a, 130b and 13On. Moreover, the peer-to-peer P2P network 120 has other of its nodes designated to be data supply nodes N, for example data supply nodes N 150a, 150b, 150c, 15Od.
  • the peer-to-peer P2P network 120 is optionally implemented so as to utilize the user nodes 70 for peer-to-peer data distribution.
  • a server at a user's premises is susceptible to functioning as a data supply node N 150, as a supernode SN 130, or both as a data supply node N 120 and a supernode SN 130; in such case, the user node 70 is susceptible to functioning as a subscriber and is not involved with any peer-to-peer P2P data distribution.
  • the supernodes SN 130 are also susceptible to functioning as data supply nodes N 150; for example, the supernodes SN 130 and the data supply nodes N 150 are susceptible to being implemented together at a given geographical location. Moreover, certain supernodes SN
  • data supply nodes N 150 are susceptible to being reallocated to being data supply nodes N 150. Moreover, optionally, certain data supply nodes N 150 are susceptible to being preferentially assigned or elected to become supernodes SN 130.
  • peer-to-peer P2P network 120 is a dynamically changing entity in comparison to a relative static arrangement provided by the central server arrangement 20 and the Internet 40 of Figure 1.
  • Protocol for dissemination of digital program content within the peer-to-peer P2P network 120 represents a radically different and more complex task than arises in the contemporary system 10 illustrated in Figure 1.
  • program content data is propagated as data blocks B from the principal server S 110 to the peer-to-peer P2P network 120 and not directly to users U 60 in considerable contrast to operation of the aforesaid contemporary system 10 illustrated in Figure 1.
  • the user node 70 is operable to request to "pull" data from the peer-to-peer P2P network 120 in comparison to known systems which "push" data under at least partial control from a central data source.
  • the data blocks B supplied from the principal server S 110 namely "pushed" from the principal server S 110, are stored in one or more of the data supply nodes N 150 with a record of where the data blocks B are stored being compiled in the supernodes SN 130 associated with the data supply nodes N 150.
  • the supernodes SN 130a, 130b, 13On have associated groups of data supply nodes N denoted by 140a, 140b, 14On respectively for example.
  • the groups 140 are overlapping; for example, the supernode SN 130a is operable to store a record of data blocks B stored in the data supply nodes N 150a, 150b, 150c, and the supernode SN 130b is operable to store record of data blocks stored in the data supply nodes N 150c, 15Od.
  • each user U 60 via its user node 70 sends its user profile Z to the principal server S 110 at a time of initial registration of the user U 60 to the system 100 or updated at intervals thereafter if necessary; at least one of the user U 60 and the principal server S 110 are operable to update the user profile Z as will be further elucidated later.
  • each user U 60 from time-to-time sends search requests SR to the principal server S 110 for receiving in return metadata 1 MET indicative of program content P available via the peer-to-peer P2P network 120; in other words, the metadata I MET is indicative of program data content which the user U 60 is able to 'pull' from the peer-to-peer P2P network 120.
  • the principal server 110 Based on the user profile Z and the search request SR, the principal server 110 returns a first message including the metadata I MET back via the Internet 40 to the user U 60, the metadata information I MET describing program content P at least partially matching the user profile Z; optionally, the metadata information I MET includes indications for advertisement program content including executable code, for example executable code written in Javascript, defining conditions under which the advertisement program content is to be shown.
  • the user node 70 After interrogating the principal server S 110 to receive a cue list Q, the user node 70 then sends second requests to the supernodes SN 130a, 130b, 13On for receiving information I LO c concerning whereat program content P corresponding to at least a subset of the metadata I METsub is stored, namely pursuant to the cue list Q.
  • the supernodes SN 130a, 130b, 13On then respond to the user node 70 with third message including the information I LO c indicative of the data supply nodes N 150a, 150b, 150c, 15Od which have the program data stored thereat corresponding to the subset I ME ⁇ S ub-
  • the user node 70 receives the third messages including the information l L oc and then sends fourth messages to the data supply nodes N 150a, 150b, 150c, 15Od to supply their program content data corresponding to the aforesaid subset I METSI ⁇ t0 the user U 60; such supply is beneficially targeted in such a manner so as to take into account a data rate supply performance and/or capacity of the data supply nodes N 150.
  • the user U 60 potentially has thousands, even potentially millions, of program content channels to choose amongst and wherein advertisements to be presented to the user U 60 have been customized to the user profile Z and the search request SR.
  • Such enormous personal choice of channels and customized advertisements is of considerable interest to advertisers for utilizing their advertising revenue in a focused economical manner as well as potentially attracting large user audiences on account of enhanced viewing experience provided by the system 100.
  • distributing program content data supply responsibility away from the principal server S 110 into the peer-to-peer P2P network 120 for the user node 70 to 'pull' therefrom has a benefit of more reliable data supply to the user node 70 as well as circumventing a need for providing and servicing a large array of expensive servers 30 as required in the convention system 10 illustrated in Figure 1.
  • the system 100 illustrated in Figure 2 is capable of performing many more functions than merely providing program content data in a more efficient and cost effective manner than hitherto possible as described in the foregoing.
  • the users U 60 each have computing hardware implementing their user nodes 70 operable to execute application software AS for coupling the user nodes 70 to the principal server S 110 and also to the peer-to-peer P2P network 120.
  • the application software AS namely a software product provided to the user U 60 on a data carrier or via a signal communicated via the network 120, is operable to collate user U 60 responses, for example mouse click responses to advertisements being presented to users U 60, and periodically send collated responses via the peer-to-peer P2P network 120 back to the principal server S 110.
  • further collation of collated responses sent from the user node 70 occurs within the peer-to-peer P2P network 120 so as to relieve the principal server S 110 of communication and computational effort.
  • the principal server S 110 is thereby operable to collate information regarding deployment of any given advertising campaign and provide statistics to an advertiser associated with the campaign regarding numbers of impressions, namely viewings, of the advertisements for the advertising campaign.
  • Advertisers are thereby capable of receiving via the system 100 dynamic feedback of effectiveness of their advertising campaigns so that they can dynamically modify their campaigns midway in their deployment.
  • Such fine control of advertising campaigns by advertisers is not possible in contemporary digital television systems, for example in the system 10 illustrated in Figure 1.
  • the present invention represents a potential technical revolution in respect of presentation of advertisements in the technical field of digital television.
  • the present invention is concerned with methods of associating program content in digital television systems such as in the system 100; for example, the present invention is concerned with methods of associating advertisement program content P A with user profile Z metadata UMD and/or film program content P F .
  • digital television systems are operable to supply data via the Internet 40 or similar types of data communication network.
  • the Internet 40 is utilized in an aforesaid peer-to-peer P2P manner to provide program content P to the user U 60 without causing overload at the principal server S 110 at which the program content P originates.
  • the program content P is propagated in discrete data blocks B from the principal server S 110 to several data supply nodes N 150 in the Internet 40 for storage thereat.
  • 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 60 desirous to receive program content P causes its user node 70 to interrogate the principal server S 110 to identify program content P which is available on the Internet 40, namely corresponding to the discrete data blocks B which have been propagated within the Internet 40; the principal server S 110 provides the user node 70 and subsequently the user U 60 with a list of available program content P, namely the information I MET , and the user U 60 responds by sending a request REQ to the principal server S 110 for specific program content P 5 desired by the user U 60, namely the information I MET sub-
  • the principal server S 110 then responds to the request R from the user U 60 by sending a cue list Q corresponding to the specific program content P 5 to the user node 70; the cue list Q includes identifiers l s of the discrete data blocks B 5 constituting the specific program content P 3 .
  • the user node 70 executes the cue list Q by sending block requests R B for the discrete data blocks B s constituting the specific program content P 5 into the Internet 40 to the several supernodes nodes SN 130 which have received the discrete data blocks B propagated earlier from the principal server S 110.
  • the supernodes SN 130 are then operable to search their local data storage to determine whether or not one or more data blocks B stored in their associated data supply nodes N 150 correspond to the data block requests R B received at the several data supply nodes N 150.
  • one or more of the supply nodes N 150 are operable to send one or more requested data blocks B R to the user node 70 for consumption by the user U 60 thereat.
  • the user node 70 is thus operable to 'pull' data blocks from the peer-to-peer P2P network 120 in contradistinction to known data supply systems which 'push' data blocks under supervision or control from a central server.
  • Such a method of providing program content P is of benefit in that the principal server S 110 can deliver data blocks B into the several data supply nodes N 150 of the Internet 40 asynchronously to activities at the user U 60 and its associated user node 70, thereby avoiding aforementioned data supply overload problems at the principal server S 110.
  • interaction between the user node 70 of the user U 60 and the principal server S 110 involves relatively little data exchange, namely substantially a list of available program content P in the form of the metadata I MET and the cue list Q.
  • no program content is sent directly, except in exceptional circumstances, from the principal server S 110 via the Internet 40 to the user node 70; as such, this fundamentally differentiates the present invention from contemporary streamed program content approaches to deliver television services.
  • Such an approach to program content supply via the Internet 40 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.
  • bandwidth issues which represent a major limitation in contemporary streamed digital television systems, for example for the aforesaid system 10 of Figure 1, it becomes possible to deliver program content which is adapted to individual users in a customized manner as well as collating user responses to program content, for example advertisement program content P A .
  • advertisement program content P A it is feasible to at least partially customize advertisement program content P A to tastes and characteristics of individual users U 60, for example to user profiles Z and/or to film program content P F which the users U 60 select to view.
  • Such customized advertising is of potentially great interest to advertisers.
  • the principal server S 110 can include advertisement program content P A corresponding to advertisement subject matter which has also been delivered from the principal server S 110 for propagation within the Internet 40.
  • the principal server S 110 can specify in the cue list Q a preferred type of advertisement to be presented to the user U 60, for example in response to a user profile Z supplied from the user U 60 to the principal server S 110.
  • the user profile Z is anonymous so that the principal server S 110 is unaware of the real name and address A of the user U 60.
  • advertisers' advertisement material can be customized to the user U 60 in an anonymous manner to provide purchase propositions which are more likely to interest the user U 60 in contradistinction to untargeted advertising as used in conventional television broadcasts via UHF links or SHF satellite links.
  • the principal server S 110 is coupled to receive program content P F from organizations such as film producers, from national television companies, from independent film producers, and from film archives and similar.
  • the program content P F therefore includes, for example, movies, films, documentaries, sports coverage, news reports and similar.
  • the principal server S 110 is also coupled to receive advertising program content P A from advertising organizations, from specialist interest groups such as religious organizations and similar.
  • the program content P A thus comprises advertisements and promotional subject matter.
  • the user U 60 has associated therewith the user node 70 which is susceptible to being implemented as a personal computer (PC) loaded with suitable compatible application software AS, a screen of the personal computer being operable to present television images to the user U 60.
  • the user node 70 is susceptible to being implemented as a local server coupled via a set-top box to a conventional television.
  • 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 light emitting diode (LED) array display television, a laser-array display television, a flat-screen plasma display television, a liquid crystal display (LCD) projection television, a micro-mirror projection television, a beam-projection television and an organic light emitting diode (OLED) display television.
  • CTR cathode ray tube
  • LCD liquid crystal display
  • LED light emitting diode
  • laser-array display television a flat-screen plasma display television
  • LCD liquid crystal display
  • micro-mirror projection television a micro-mirror projection television
  • OLED organic light emitting diode
  • the user node 70 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 for buffering data blocks and/or resorting data blocks into a correct sequence for presentation to the user U 60.
  • a hard disc drive HDD
  • an optical data storage drive and/or solid state memory for buffering data blocks and/or resorting data blocks into a correct sequence for presentation to the user U 60. Operation of the system 100 will now be described in greater detail with reference to Figure 2.
  • Operators of the principal server S 110 comprise persons generally responsible for administering and managing the system 100; the persons responsible for the system 100 do not have control of the user U 60 who remains essentially anonymous to these persons.
  • the persons administering and managing the system 100 also interface with advertising organizations for procuring the advertising program content P A . These advertising organizations pay, for example, the persons responsible for the system 100 to target the advertising program content P A dependent upon one or more of the following constraints:
  • geographical constraints for example a geographical region or neighborhood in which the users U 60 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 60 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;
  • system 100 is beneficially operated so as to respect privacy of the users U 60.
  • the operators of the principal server S 110 propagate aforementioned application software AS throughout the Internet 40 in response to user U 60 request, for example by way of Internet registration to the system 100 by such users U 60 sending their aforesaid user profiles Z to the principal server 110 and/or paying a fee to receive credit tokens T.
  • registration to the system 100 can be optionally free of cost to users U 60.
  • the principal server S 110 is supported by a function such as contemporary secure Pay-Pal or similar payment system operable to support secure payment via the Internet 40.
  • the user U 60 On receipt of such application software AS at the user node 70, the user U 60 is capable of receiving program content from the Internet 40 propagated from the principal server S 110 in a peer-to-peer P2P manner.
  • the operators of the principal server S 110 cause the system 100 to propagate the program content P F and the advertising program content P A throughout the peer-to-peer P2P network 120 via the supernodes SN 130 to the data supply nodes
  • Each data block B beneficially comprises program content, for example implemented as encrypted
  • each data block B includes at least one of: (a) metadata describing the program content, for example name of actor, name of film director, year of release, category of film such as comedy or documentary;
  • some executable software code for example implemented in Java software language, for defining conditions of use of the program content.
  • the executable software serves to define, for example, use of the advertising 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 15 0 C.
  • data blocks B which are only relevant to a particular geographical region, for example advertising program content P A conveying information regarding a particular restaurant or theater in Tokyo in Japanese language, are propagated only to those supernodes SN 130 serving that particular geographical region rather than generally unnecessarily occupying data storage space within the system 100 in regions where Japanese as a language is generally not known and understood.
  • the user U 60 when the user U 60 is desirous to subscribe to the system 100, the user U 60 via its user node 70 contacts the principal server S 110, for example a sub-server thereof configured to deal with new enrolments, via a Universal Resource Locator (URL); the user U 60 then proceeds to provide via its user node 70 an aforesaid user profile Z although the user U 60 refrains from providing any personal details such as real name or residential address so that the user U 60 remains, in reality, anonymous to the system 100; such anonymity is important in the system 100 to respect personal privacy of the user U 60.
  • the actual user 60 is a middle-aged female living in Scotland parading in her user profile Z supplied to the principal server S 110 as a teenage male allegedly living in London.
  • the user profile Z is preferably provided by the user U 60 by selecting various options from a menu list presented to the user U 60; 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 60.
  • the principal server S 110 is operable to cause the application software AS to be downloaded from the principal server S 110 or another server of the peer-to-peer P2P network 120 tasked with providing the user U 60 with software; for example, one or more of the supernodes 130 are able to provide the user node 70 of the user U 60 with a download of the application software AS.
  • the user U 60 can purchase tokens T from the principal server S 110 or another server of the Internet 40 when downloading the application software AS; alternatively, the user U 60 can periodically buy such tokens T via the user node 70 once the application software AS has been loaded into the user node 70 and is executing on computing hardware therein, for example on a personal computer (PC).
  • the application software AS is supplied to the user U 60 on a data carrier, for example on an optical disc data storage medium.
  • the user node 70 On executing the application software AS, the user node 70 is optionally provided with advertising program content P A which the application software AS is programmed to seek locally in the peer-to-peer P2P network 120 to the user node 70. Such seeking occurs by the user node 70 sending requests for free advertising program content P A stored substantially locally thereto.
  • the user U 60 as a next step sends via its user node 70 the search request SR to the principal server S 110 for a list of program content P F available within the system 100.
  • the principal server S 110 responds by sending an electronic program guide EPG derived from metadata stored within the principal server S 110; optionally, the electronic guide EPG is customized to characteristics of the user profile metadata UMD, for example when the UMD specifies that the user U 60 is German speaking, the EPG is provided in German and pertains substantially to German items of program content P F , P A .
  • the electronic guide EPG optionally includes the aforementioned metadata I MET together with rules, for example written in Javascript language, regarding a manner in which film program content P F and/or advertisement program content P A is to be presented to the user U 60.
  • such metadata matching 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 P F ; the one or more Euclidean distances are summated in order to determine a matching factor MF.
  • Computation of the one or more Euclidean distances optionally involves filtering the metadata to 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 program content P F is communicated to the user node 70 of the user U 60.
  • the matching factor MF also enables program content lists in the EPG to be presented via the user node 70 to the user U 60 in an order of potential relevance to assist the user U 60 with selecting program content P F most likely to be of interest.
  • the electronic program guide EPG can be determined, for example, in respect of one or more of:
  • the user U 60 On receiving the electronic program guide EPG, the user U 60 selects program content which the user U 60 is desirous to consume and sends such selection via its user node 70 as a request REQ to the principal server S 110.
  • the principal server S 110 then, in response to receiving the request REQ, sends the aforementioned cue list Q back to the user node 70.
  • the cue list Q includes a list of encrypted data blocks B 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 70.
  • the principal server S 110 is operable to perform aforesaid matching of advertising program data P A metadata with the user profile Z, namely the user profile metadata UMD, and include corresponding advertisements likely to be interest to the user U 60, namely advertisements specifically targeted to the user U 60; such targeted advertising is in stark contradistinction to conventional broadcast television wherein advertising is included irrespective of characteristics of viewers.
  • the principal server S 110 is thus also able to determine a manner in which the advertisements are to be presented to the user U 60, for example before and/or after film program content P F 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 110 includes within the cue list Q a complement of all likely relevant advertising program content P A which the user node 70 is operable to select or reject locally based upon execution of the code implementing rules included in metadata of the aforesaid EPG; optionally, code describing rules is included in the data blocks B R requested although this is not essential for implementing the present invention.
  • the cue list Q may, for example, contain definitions for data blocks B which are subject to payment from the user U 60; such payment can be made by the principal server S 110 cancelling a certain number of the aforesaid tokens T allocated to the user U 60.
  • the cue list Q includes data blocks B for which no payment is necessary, namely cost-free to the user U 60.
  • the user node receives the cue list Q from the principal server S 110 and then proceeds to interpret the cue list Q.
  • the user node 70 sends out requests to the supernodes SN 130 for the data blocks B R .; in such a situation, the user node 70 is operable to 'pull' data blocks from the peer-to-peer P2P network 120.
  • the supernodes SN 130 substantially in parallel, without causing data load to the principal server S 110, search for the requested data blocks B R and send them via the Internet 40 to the user node 70 whereat they are stored in one or more data buffers of data storage of the user node 70.
  • the application software AS executing upon computing hardware of the user node 70 decrypts the received data blocks B R using one or more keys WP provided to the user node 70 to provide program content for consumption by the user U 60.
  • the one or more keys WP are beneficially layered and used to control when given film program content P F and/or advertisement program content P A is available to users U 60 from the peer-to-peer network 120.
  • issuing of passwords from the principal server S 110 can be used to define a start time and an end time of a given advertisement campaign.
  • Example XML code for use when the user U 60 is requesting some advertisements matching the user profile Z is as follows:
  • a time of showing associated advertisements between 18:00 hrs and 22:00 hrs is defined.
  • Rules can be either generic, for example as for the Coca Cola advertisement, or very specific to an advertisement which has a very particular presentation requirement, for example as for the Toyota advertisement.
  • the XML code above in a similar manner to other controlling code communicated within the system 100, is either propagated directly from the principal server S 110 to the user U 60, or from the principal server S 110 via the peer-to-peer P2P network 120 to the user U 60.
  • the aforementioned manner of providing program content P F , P A to the user node via the supernodes SN 130 is highly beneficial in that the principal server S 110 does not need to stream program content in real time as required in known conventional cable television systems which 'push' by streaming data blocks to users.
  • Such a manner of operation employed in the present invention considerably reduces a computation workload experienced by the principal server S 110, thereby enabling the principal server S 110 an opportunity to apply its computational effort to compile statistical data regarding advertising impressions for example.
  • delivery of data blocks B from the principal server S 110 via the supernodes SN 130 to the data supply nodes N 150 is beneficially implemented during periods when the Internet 40 is more lightly loaded, for example at night-time.
  • the peer-to-peer P2P network 120 is optionally provided with a purging function to prevent data storage of the supernodes SN 130 and their data supply nodes N 150 becoming progressively saturated with data blocks B delivered from the principal server S 110 to the supernodes SN 130.
  • the supernodes SN 130 and their associated data supply nodes N 150 are operable to store each data block B received thereat for a certain time interval before deleting the received data block B from their data storage.
  • the data blocks B are preferentially not purged from the supernodes N 130 and their associated data supply nodes 150.
  • the code associated with each data block B includes information instructing the supernodes SN 130 to retain the data block B in data storage for a defined time interval and/or until a defined end date. More optionally, the received data blocks B are deleted from data storage of the supernodes SN 130 and their associated data supply nodes N 150 after the received data blocks B have been accessed by users U 60 a defined number of times. Such a characteristic optionally enables the persons operating the system 100 to purchase program content from suppliers on a basis of purchasing a defined number of user viewings.
  • the supernodes SN 130 are operable to monitor and record a number of times given data blocks B are accessed, especially when such data blocks B relate to advertising program content P A .
  • Such monitoring and recording is beneficial in that the supernodes SN 130 are able to provide the principal server S 110 with statistics regarding presentation of advertisements to users U 60, such statistics for subsequent reporting to advertisers paying for their advertising program content P A to be shown via the peer-to-peer P2P network 120.
  • the application software AS executing in the computing hardware of the user node 70 can collate statistical information on which data blocks B corresponding to advertising program content P A have been viewed by the user U 60 and communicate such information anonymously either directly to the principal server S 110 or via the supernodes SN 130 in a manner which will be elucidated in more detail later.
  • the principal server S 110 is thereby capable of providing statistical reports of advertising effectiveness or exposure directly to advertisers paying for advertisement program content P A to be presented via the peer-to-per P2P network 120 and therefore enabling the effectiveness of advertising campaigns to be assessed on a substantially real-time basis.
  • the system 100 behaves in a different manner to known data streaming cable television systems in that program content is not instantly available to the users U 60 but first needs to propagate out from the principal server S 110 to the supernodes SN 130 and their associated data supply nodes N 150. Such a characteristic can render the system 100 less able to provide instant news reports in comparison to known data streamed systems.
  • the system 100 is potentially more robust than known data streamed systems in that failure of a given supernode SN 130 does not automatically result in loss of service to the user U 60, especially when data blocks B are duplicated within the peer-to-peer P2P network 120 at other of the supernodes SN 130 and their associated data supply nodes N 150 wherefrom the user node 70 can alternatively 'pull' data blocks.
  • supply of requested data blocks B R from the data supply nodes N 150 rather than directly from the principal server S 110 circumvents a conventional problem of data supply overload occurring at the principal server S 110.
  • the electronic program guide EPG as processed via the application software AS executing on the computing hardware of the user node 70 is presented to the user U 60 as one or more channels between which the user U 60 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 60 to upload the user's program content together with its metadata to the principal server S 110.
  • Such uploading of user's program content is preferably subject to a copyright disclaimer from the user U 60 allowing distribution of the program content in the system 100.
  • Such uploading of the program content is optionally subject to the user U 60 receiving payment for having uploaded the content, for example in a situation wherein the program content is a documentary or home movie likely to be of considerable interest to other users U 60.
  • Such uploading of the data content is optionally subject to a payment from the user U 60 to the principal server S 110, for example in a situation wherein the program content corresponds to private advertisement material, for example classified small advertisements.
  • the persons responsible for operation of the principal server S 110 are beneficially operable to review the program content submitted by the user U 60 for ensuring that the metadata provided by the user U 60 is consistent with the program content's subject matter, and also that the program content is of nature that it can respectfully be propagated within the peer-to-peer P2P network 120; for example, the persons responsible for the peer-to-peer P2P network 120 are able to potentially hinder propagation of the program content when causing incitement to criminal activities and such like.
  • the cue list Q provided to the user node 70 of user U 60 is capable of enabling the user U
  • 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 of sending a request directly to the principal server S 110 for the requested data block B R .
  • the principal server S 110 executes at least one of the following operations: (a) the principal server S 110 streams the unobtainable requested data block B R directly to the user node 70 for substantially immediate consumption thereat; and
  • the principal server S 110 outputs the unobtainable requested data block B R to one or more of the supernodes SN 130 and thereby to one or more of their associated data supply nodes N 150 and then informs the user node 70 of the identity of the one or more supernodes SN 130 and their associated data supply nodes N 150 whereat the requested data block B R has now become available.
  • the application software AS can present data blocks B corresponding to advertising data content P A to the user U 60 and/or a message that data blocks are being fetched and short delay is likely to be encountered; such presentation during the short delay is known as "infilling".
  • the application software AS executable at the user node 70 is beneficially synergistically capable of accessing other services available on the Internet 40, for example one or more of: voice over Internet Protocol (VoIP), electronic product auctioning such as provided by E-bay, banking services such as Pay-Pal, and user directories capable of bringing the user U 60 into contact with other users U of the system 100 and thereby form
  • VoIP voice over Internet Protocol
  • E-bay electronic product auctioning
  • banking services such as Pay-Pal
  • user directories capable of bringing the user U 60 into contact with other users U of the system 100 and thereby form
  • Such user contacts are beneficially not monitored or recorded at the principal server S 110 so as to respect privacy and anonymity of the users U 60.
  • the user profiles Z does not include actual names and postal addresses of the users U 60, thereby ensuring their anonymity.
  • Advertising program content P A can be passive, namely appears to the user U 60 for a period of time and then automatically disappears so that the user U 60 can view other subject matter, for example other advertisements or film program content P F ; such a manner of presenting advertisements is akin to contemporary television.
  • advertising program content P A can be active, namely appears to the user U 60 for a first period of time t
  • the second period of time t 2 can be unlimited, namely viewing by the user U 60 stalls or pauses until the user U 60 actuates a button of a television remote control unit associated with the user node 70 or actuates a mouse associated with the user node 70 or presses a key or button thereof; such stalling or pausing is of benefit that it forces a response from the user U 60 and thereby further enhances the magnitude of impression imposed upon the user U 60.
  • the advertising program content P A is interactive, for example in a manner akin to a computer game, whereat the user U 60 is required to provide multiple responses, for example several mouse clicks and/or mouse movements, in response to various images or propositions being presented to the user U 60; the system 100 is operable to collate such user U 60 responses and communicate them back, either directly or indirectly via the P2P network 120, to the principal server S 110 whereat advertising statistic data collected from users U 60 is processed. For example, advertisers are thereby able to obtain question-type information by including a plurality of animated options bearing questions to which the user U 60 is invited to respond.
  • the application software AS executable at the user node 70 beneficially provides a data collation function to circumvent in the system 100 a large number of smaller messages corresponding, for example, to individual mouse clicks being sent from the user nodes 70 via the peer-to-peer P2P network 120 to the principal server S 110; such a large number of small messages has a tendency to utilize data communication capacity available within the peer-to-peer P2P network 120 in an inefficient manner.
  • data collation occurs at the user node 70 via the application software AS and a certain degree of data collation is also executed within the peer-to-peer P2P network 120, namely at the supernodes SN 130 and/or the data supply nodes N 150, so as relieve processing effort at the principal server S 110; the principal server S 110 is, for example, thereby able to devote computing effort to reporting advertisement statistics to advertisers using the system 100.
  • the application software AS in operation being able to relate user mouse clicks and/or mouse movements to a given advertisement AD being presented to the user U 60, a user response is susceptible to generating valuable data pertaining to a relationship between the user profile Z metadata UMD, advertisement metadata AMD associated with the given data AD and a record of the user response URP.
  • Categories of program content in the system 100 are beneficially code identified groups such as: sport, road vehicles, gardening, health, travel, hobbies, food programs, children, adult, pensioner, home improvement, nature to mention a few examples.
  • the application software AS operating in the user node 70 is thus operable to collate information as described by Equation 1 (Eq. 1):
  • ST US user statistics collated in the user node 70 and supplied to the peer-to-peer network 120 for sending to the principal server S 110;
  • F a collation function;
  • the user metadata UMD user profile metadata at a time that the given advertisement AD 1 is presented; as will be elucidated later, the user metadata UMD is often in practice a temporally varying entity;
  • G n odei a geographical position of the user node 70, for example the user node 70 is susceptible to being implemented on a personal computer (PC) which is transported by the user U 60 around the World by air travel into different time zones, exposing the user U 60 to diverse weather conditions such as high humidity and temperature which influences the user's preference for advertisements and hence an impression created by the advertisements; in this respect, the aforesaid time of showing the given advertisement AD, is preferably a local time clock of the user node and not a general clock in the system 100; and
  • PC personal computer
  • the user profile Z metadata UMD is stored at the principal server S 110 and a smaller identifier referring to the user metadata UMD, included in the collated user statistics communicated via the network 120.
  • the user statistics ST US are collated over a sequence of n advertisements and then communicated as a collated message to the principal server S 110.
  • the principal server S 110 combines in various ways user statistics from potentially many hundreds of millions of users U 60 to provide advertisers utilizing the system 100 with general statistics as described by Equation 2 (Eq. 2):
  • the peer-to-peer P2P network 120 functioning in combination with the principal server S 110 is operable to provide, for example, advertisers with following information regarding their advertisements or advertising campaigns:
  • the principal server S 110 is operable to download additional executable software code to user nodes 70 to control collation of user responses at the user nodes 70; this additional executable code is different to, namely distinct from, the aforementioned application software AS.
  • the software application AS can be specified to collate data pertaining to user responses in a default manner, for example user responses in relation to specific categories of advertisements as a function of time of day pertaining to the user node 70, namely local user time.
  • additional executable code is specially downloaded to the user nodes 70 for modifying a manner in which the user nodes 70 collate their data so as to collate for the other aforesaid types of data collation.
  • the peer-to-peer P2P network 120 is operable to receive collated response data from numerous user nodes 70 and combine the collated results to provide compounded response data for communicating to the principal server S 110.
  • compounded response data corresponds to, for example, all positive user responses for Scottish salmon from users U 60 in the United Kingdom, and all positive user responses from users U 60 for Volvo cars in Germany.
  • the peer-to-peer P2P network 120 is capable of, at least in part, implementing a function as defined by aforementioned Equation 2 (Eq. 2).
  • the peer-to-peer P2P network 120 is programmed to execute a default collation of numerous user responses, unless the P2P network 120 is specifically instructed from the principal server S 110 to perform other types of data collation, for example is response to specific advertisers' advertisement program content.
  • the P2P network 120 is normally operable to compound collated data from users nodes 70 in respect of age as in Table 1, geographical location and user time; a specific advertiser has a requirement to receive compounded data for Denmark for a particular type of children's sweets, which involves the principal server S 110 sending out additional software instructions to the P2P network 120 to configure it to also compound data for users nodes 70 in Denmark responding to advertisements pertaining to the children's sweets.
  • Such instructions are optionally configured to include a time duration during which the P2P network 120 is to be operable to perform additional compounding of response data to avoid the P2P network 120 undertaking an ever increasing computing burden as a consequence of uncancelled previous data collation requests submitted to the P2P network 120.
  • the principal server S 110 even though the aforementioned actual user U 60 is a middle-aged female living in Scotland parading in her user profile Z supplied to the principal server S 110 as a teenage male allegedly living in London, her preference for watching program content relating to women's fashion including tartan pattern scarves, cooking haggis, playing bagpipes, highland games and knitting as well as advertisements relating to makeup and women's perfume will rapidly cause the principal server to update the actual user's profile Z metadata UMD from a teenage male in London to be more akin to that of a middle-age female living in Scotland, even if the principal server S 110 still retains initially the user U 60 recorded as being a male teenager with unusual associated metadata.
  • software executing in the principal server S 110 optionally computes in all probability that the user U 60 is in fact a middle-aged woman and eventually also updates this aspect of the user metadata UMD. Consistent relatively long aforementioned Euclidean distances between the user profile Z metadata UMD and metadata of advertisements and film program content consumed by the actual user U 60 is indicative of the user metadata UMD being inaccurate.
  • the given advertisement AD 1 being actively responded to by many users U 60 having user profile metadata UMD very different to that of the given advertisement AD 1 , for example as identified by aforementioned Euclidean distances, is potentially indicative of the given advertisement AD 1 being either focused at an incorrect group of potential customers or appealing in some unexpected way to a category of user which the advertiser is not desirous to address.
  • the principal server S 110 in providing advertising campaign statistics to the advertiser is operable to show such discrepancy.
  • the advertiser is thereby provided with an opportunity to update the metadata of the given advertisement AD 1 to more reflect an interested audience, or to change the design of the given advertisement AD 1 during, for example, the advertising campaign.
  • the given advertisement relates to a soft toy such as a teddy bear.
  • the advertiser envisages that the soft toy will appeal to customers in age Groups 1 and 2 in Table 1.
  • highly successful soap opera program content is presently being shown via the system 100 to many hundreds of millions of users U 60 who are avid enthusiastic watchers and nervously await a next episode of the soap opera.
  • a famous teenage film star in the soap opera has suddenly developed an interest in a story line of the soap opera to collect soft toys, in particular small teddy bears to establish a soft-toys collection in her bedroom.
  • a major world market for soft toys such a teddy bears promptly develops amongst teenagers.
  • the persons responsible for the principal server S 110 can then on behalf of the advertiser modify the metadata associated of the given advertisement AD 1 from infants in age Groups 1 and 2 to teenagers in age Group 3 together with modifying the metadata of the given advertisement AD 1 to include a name of the famous teenage film star and also the name of the soap opera.
  • the advertiser sudden finds that he/she is addressing a fast growing market in which high sales are possible to achieve and is able to redirect the advertising campaign of the given advert ready for the next nervously awaited episode of the soap opera !
  • the user U 60 has an effective real user profile with associated metadata which is temporally varying and potentially unstable; potentially diurnal and/or seasonal variations can be encountered for the user U 60; the system 100 is optionally implemented to take into account such unstable user characteristics.
  • the user U 60 corresponds to a family including mother, father and two children.
  • the children are using the user node 70 to consume film program content P F and associated advertising program content P A , they will select program content during early evening, for example children cartoons, which will be rather different program content to that selected by their mother and father late in the evening approaching midnight, for example romantic seductive love films.
  • the user metadata UMD retained at the principal server S 110 is made to be a dynamic function of a local time of the user U 60 so, for example, the user profile metadata UMD used for making program recommendations at the principal server S 110 and specifying associated advertisements to the user U 60 for early evening corresponds to that of young children, whilst corresponds to that of adults for late evening approaching midnight.
  • the user profile Z metadata UMD for early morning is suitably chosen for being associated with news and weather reports, and children's program content such as advertisements implemented in animated cartoon format.
  • user program content tastes will often be different in summertime in comparison to, for example, a period around Christmas.
  • FIG. 3 there is shown the user node 70 associated with the user U 60 coupled, for example via the P2P network 120, in communication with one or more trackers 300 included at the principal server S 110; the one or more trackers 300 are operable to communicate also via the P2P network 120 with other users U 60 of the system 100.
  • the one or more trackers 300 are coupled to output their data to a cluster of computers and/or servers 310 operable to perform storage and processing functions.
  • an output from the cluster of computers and/or servers 310 is coupled to a recommendation engine 320; conveniently, the recommendation engine 320 is implemented by software executable on computing hardware.
  • An output of the recommendation engine 320 is coupled in communication to a search engine 330 for handling enquiries, for example search requests SR, from the user U 60 and also other users of the system 100.
  • a configuration for the system 100 as depicted in Figure 3 forms a feedback loop to update metadata in response to user U 60 actions and selections.
  • the recommendation engine 320 is included within the principal server S 110.
  • the search engine 330 is included in the principal server S 110.
  • the search engine 330 is preferably a proprietary search engine, for example utilizing contemporary Apache software provided as open source software; Euclidean distances used by the search engine 330 are then beneficially modifiable so that the proprietary search engine can be adapted to various diverse applications.
  • the principal server S 110 is not concentrated in one geographical location but spread between several geographical locations within the Internet 40.
  • the user U 60 is desirous to consume program content, for example natural history program content relating to pandas, and sends via its user node 70 a search request SR 400 to the search engine 330.
  • the search engine 330 then processes the search request SR 400, optionally in association with the user profile Z metadata UMD, and makes a recommendation 410 regarding suitable program content or one or more natural history channels supported by the system 100.
  • the user node 70 then makes enquiries REQ at the principal server S 110 for a cue list Q appropriate for a subset of program content included in the recommendation 410.
  • the user node 70 On receipt of the cue list Q from the principal server S 110, the user node 70 then procures program content data from the peer-to-peer P2P network 120 as denoted by 420, 430, for example program content relating to the secretive life of pandas. Whilst watching the panda program content, the user U 60 is presented occasionally with advertisements, for example to purchase T-shirts with panda pictures printed thereon and soft cuddly panda toys.
  • the application software AS executing at the user node 70 is operable to monitor the user U 60 watching the panda program content, for example whether or not the user U 60 uses fast-forward and fast rewind functions at the user node 70 to skip or replay certain parts of the panda program content such as an infant panda eating fresh bamboo shoots, as well as the user's U 60 response to the advertisements, for example whether or not the user U 60 clicks on an active window of one of the advertisements to order using its credit card a soft cuddly panda toy.
  • the application software AS executing at the user node 70 sends a collated record of the user's response 450 via the P2P network 120, whereat user response data compounding occurs, to the one or more trackers 300 which are operable to collate responses from many disparate users coupled to the system 100.
  • the one or more trackers 300 perform data reduction which disassociates the response 450 from any connection with the user U 60 to respect privacy of the user U 60.
  • the one or more trackers 300 pass reduced data to the cluster of computers and/or servers 310 which, in turn, pass collated data to the recommendation engine 320.
  • the recommendation engine 320 is operable to feed suitable metadata terms to the search engine 330, such suitable metadata terms including a dynamically updated version of the user profile Z metadata UMD, for example updated temporally dynamic user profile Z metadata UMD.
  • suitable metadata terms including a dynamically updated version of the user profile Z metadata UMD, for example updated temporally dynamic user profile Z metadata UMD.
  • the search engine 330 is capable of making more accurate and appropriate recommendations 410 to the user U 60 in response to the user's search enquiry 400.
  • the user metadata UMD and/or advertisement program metadata P A and/or film program metadata P F is susceptible to being updated in response to compounded user response data passed from the one or more trackers 300 to the recommendation engine 330 so as to improve an accuracy of recommendation provided by the recommendation engine 330.
  • aforementioned Euclidean distances relating various metadata terms are modified.
  • the principal server S 110 On account of the principal server S 110 having access to advertisement metadata, user U 60 metadata and film program metadata, as well as having access to the search engine 330, the principal server S 110 is capable of running simulation of advertising campaigns for its advertisers before proposed advertisements are propagated for real into the peer-to-peer P2P network 120 for user U 60 consumption. From user profile metadata UMD for many users U 60 of the system 100, likely program content watching patterns can be established for the users U 60 together with their likely responses to the proposed advertisements, namely an estimate of impressions provided by the proposed advertisements. Such simulation is complex in that the system 100 executes advertising campaigns from numerous vendors of advertisements concurrently. In running such simulations for proposed advertisements, estimates of future advertisement scheduling for other advertisers must be taken into account to achieve a representative simulation.
  • Such simulation is not known in existing contemporary digital television systems such as the aforementioned simple streamed system 10 illustrated in Figure 1.
  • advertisers can interrogate the principal server S 110 using suitable interfacing software applications provided from the persons responsible for the system 100 for automatically running simulations on the principal server S 110 of the likely effectiveness of their advertising campaigns using the system 100.
  • the advertisers can select one or more of the following options for example: (a) the advertisers can optimize metadata associated with their advertisements so as to achieve exposure to more appropriate users U 60 who are likely to respond positively to the advertisements;
  • the advertisers can vary a time period over which their advertising campaign is to be run, for example advertising coverage in the system 100 is at a premium cost in a period approaching the Chinese New Year, the Christian Christmas Season or Thanksgiving in the
  • the advertisers can vary the size of their advertising campaign to obtain a higher priority of advertising coverage when advertising campaigns from other advertisers are running, or scheduled to run in the system 100; as will be elucidated later, advertisers can either define a given priority for their adverts and/or define a number of user impressions to be achieved within a given time period and/or define a total target number of impressions to be achieved for any given advertisement.
  • the principal server S 110 is operable to recommend a set of advertisements in the aforementioned cue list Q to present to the user U 60
  • the application software AS executing within the user node 70 is responsible for selecting within the set in response to various rules conveyed with metadata pertaining to the advertisement program content P A .
  • Such selection can arise in response to local weather conditions in a geographical region of the user U 60, for example promoting ice creams and cool fruit juice drinks to the user U 60 on days when external temperatures approach +35°C or higher in summer, or promoting umbrellas on rainy days to the user U 60.
  • Rules for selecting advertisements from the set are at least in part implemented by the principal server S 110 defining the set of advertisements in response to user profile Z metadata UMD and the search request 400.
  • rules are optionally conveyed in metadata pertaining to the advertisements program content P A provided from the peer-to-peer P2P network 120 to the user U 60.
  • rules are preferably defined in a computer language such as Javascript or XML into executable code associated with the advertisement program content P A , such code being susceptible to being interpreted by the application software AS executing at the user node 70.
  • rules regarding juxtaposition of one advertisement in a presentation sequence relative to another advertisement are defined in the aforementioned executable code included in metadata associated with the advertisement program content P A . For example, a first soft drinks manufacturer Ml pays for an advertising campaign via the system 100 after a second drinks manufacturer M2 has already started an advertising campaign via the system 100.
  • the second drinks manufacturer M2 has specified that its advertisements are to be presented in sequence with unrelated types of advertisements, for example unrelated clothes advertisements, shown immediately before and after the second manufacturer M2's advertisement so as to create an enhanced user impression by way of contrast of respective advertisement subject matters.
  • the second manufacturer M2's advertisement program content P AM2 when propagated via the peer-to-peer P2P network 120 includes executable code defining a rule that the advertisement program content P AM2 is to be shown between advertisements of unrelated subject matter.
  • the application software AS executing at the user node 70 is operable to provide the second manufacturer M2's advertisement program content P AM2 priority and deliberately not present the first manufacturer Mi 's advertisement program content P AM) immediately before or after the second manufacturer M2's advertisement program content P AM2 -
  • the application software AS then has a conflict of instructions which it resolves by a priority rating which will now be elucidated in greater detail.
  • advertisement program content P A propagated via the peer-to-peer P2P network 120 has one or more priority parameters included within executable software code included in metadata associated with its data blocks B, the one or more priority parameters defining a priority rating PRA for the advertisement program content P A .
  • priority rating data is optionally included in the data blocks B.
  • the persons responsible for the system 100 are, for example, susceptible to configuring the system 100 so that advertisers pay progressively higher prices for progressively higher priority rating PRA for their advertisements.
  • the software code optionally also defines rules for presenting the advertisement program content P A , namely a manner in which the advertisement program content P A is to be shown; for example, the advertisement program content P A is to be shown after 6 p.m. when weather conditions are rainy in juxtaposition against other advertisements relating to a class Q P of advertisements including outdoor raincoats.
  • the application software AS When the application software AS executing at the user node 70 processes the cue list Q provided from the principal server S 110 including a choice of potential advertisement program content P A to present to the user U 60, the application software AS, when confronted with a choice of potential advertisements to show to the user U 60, checks the priority ratings PRA of the advertisements and optionally selects a series of advertisement in progressively decreasing order of priority rating PRA. For example, Table 2 provides priority ratings PRA for a series of five advertisements AD 1 to AD5.
  • the application software AS is operable to select advertisements AD2, AD4 and AD3 because they have the highest priority ratings PRA.
  • the application software AS attempts to try to satisfy rules pertaining to all of the several advertisement program contents P A and only invokes the priority ratings PRA in an event of conflict in the rules.
  • three advertisements AD2, AD3 and AD4 are to be shown to the user U 60 in an advertisement time slot between episodes of the aforesaid Frankenstein horror movie, wherein advertisements AD2 and AD3 are advertisements for clothes; the advertisement AD2 has associated rules associated with its advertisement program content P A that it should not be shown in sequence juxtaposed against another clothes advertisement, whereas the advertisement AD 3 has no such limitation regarding its presentation to the user U 60.
  • the advertisement AD4 is an advertisement for personal cyber-massage machines and hence is in another category Q P than that for clothes.
  • the advertisement AD3 has associated therewith a rule that it should be shown as a first clothes advertisement in a sequence of advertisements
  • the advertisements AD2 and AD3 both have associated therewith rules that they should be a first clothes advertisement to be shown in a sequence of advertisements, a conflict arises and the application software AS then identifies which of the advertisements AD2 and AD3 has a higher priority rating PRA; an advertisement amongst the advertisements AD2 and AD3 which has a high priority rating PRA, namely the advertisement AD2, is shown first in the sequence of advertisements to the user U 60.
  • an advertisement ADm has a first priority rating PRAl for resolving conflicts of order of showing, a second priority rating PRA2 for resolving conflicts relating to juxtaposition of other subject matter classes of advertisements, and a third priority rating PRA3 for controlling how often the advertisement ADm is shown.
  • the priority rating PRA optionally also has a bearing on how frequently any given advertisement is shown.
  • An advertisement with a high rating PRA will preferentially be selected for showing, for example as elucidated in the foregoing in respect of theoretical scenario depicted in Table 2, and therefore has more frequent exposure to users U 60.
  • Statistical data gathering executed at the user nodes 70, and within the peer-to-peer P2P network 120 and/or at the principal server S 110 is operable to monitor a total number of impressions of advertisements within a given time period.
  • the priority rating PRA associated with the advertisement program content P A is beneficially dynamically variable.
  • Such dynamic control using the priority rating PRA requires that metadata provided from the principal server S I lO from time-to-time in response to user search requests SR includes values for priority rating PRA which are susceptible to being rapidly updated to control dissemination of the advertisement within the system 100.
  • the principal server S 110 is operable to monitor advertisement presentations, namely impressions, within the system 100 and thereby compute an average value of priority rating PRA average of advertisements being shown, wherein this average value PRA average will be dynamically varying with time as advertisements are presented to users
  • the advertiser is optionally presented with an opportunity to purchase higher or lower priority ratings PRA in order to control a frequency of showing of their advertisement relative to other competing advertisements within the system 100; there is thereby created a dynamic market within the system 100 for presenting advertisements, such a dynamic market being unknown in contemporary television systems, even in the system 10 illustrated in Figure 1 ; optionally, the average value PRA average is defined per category Q P of advertisement; alternatively, the average value PRA a%erage can be defined globally for all classes Q P of advertisement shown to user U 60 coupled to the system 100; (c) undertaking to present a given advertisement ADx with presentation being subject to defined rules, wherein execution of the rules requires the advertiser to pay an additional fee; for example, an advertiser pays an extra premium for ensuring that its fruit juice advertisement is not presented immediately juxtaposed to unhealthy sugary soft drink advertisements; alternatively, the advertiser has an option to pay less for its advertisement being shown with a risk for some users U 60 that its advertisement will be shown juxtaposed against unhealthy sugary soft drinks advertisements as the application software AS method
  • Advertising campaigns can be started or halted by at least two mechanisms within the system 100, namely: (a) by including or not including identities of specific advertisement program content P A within cue lists Q sent to users U 60; and/or
  • program content data blocks are periodically purged from the peer-to-peer P2P network 120 to prevent its data storage capacity being exceeded.
  • program content data blocks are purged relatively promptly from the P2P network 120.
  • the persons responsible for operating the system 100 are also optionally capable of configuring the system 100 as a dynamic market for the presentation of film program content P F , especially when the users U 60 are coupled to the system 100 by way of regular subscription payments.
  • the principal server S 110 is operable to collate statistics of how often the users U 60 access given film program content P F specified in their cue lists Q, wherein the cue lists Q are provided from the principal server S 110.
  • providers of film program content P F for example film studios, theaters, concern hall proprietors, news reporting companies and so forth, are paid a proportion of the regular subscriptions as a function of a total number of times their film program content P F is accessed by the users U 60 over a given period.
  • the providers of the film program content P F can pay an extra premium for their film program content P F to be given a higher rating in the recommendation engine 320 to encourage users U 60 to view the content.
  • film content providers can pay a premium for metadata associated with their film program content P F being defined in such a manner to encourage the recommendation engine 320 frequently to recommend their film program content P F to users U 60 when executing aforesaid search requests SR.
  • film program content P F can be given an associated priority rating PRF and selected in a competitive manner in a similar manner as described in the foregoing for advertising program content P A .
  • film program content P F optionally includes program content uploaded into the system by users U 60 from their user nodes 70.
  • operation of the system 100 represents a radical departure from known digital television systems.
  • propagation of program content via the peer-to-peer P2P network 120 with associated presentation rules in combination with statistical data collection by the principal server S 110 represents a unique opportunity to create a complex and diverse system for providing program content of disparate types to users U 60 in a targeted manner hitherto unknown in digital television. It thus represents a potential revolution in the field of digital television.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Databases & Information Systems (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Library & Information Science (AREA)
  • Computer Graphics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

There is provided a method of processing user data in a digital television system (100). The television system (100) comprises a principal server arrangement (110), a peer-to-peer network (120) coupled in communication with the principal server arrangement (110), and user nodes (70) coupled to the peer-to-peer network (120). The method includes steps of: (a) propagating program content data from the principal server arrangement (110) to the peer-to-peer network (120) in a peer-to-peer manner; (b) providing a subset of the propagated program content data from the peer-to-peer network (120) to the user nodes (70) for user presentation thereat; (c) collating information at the user nodes (70) indicative of user responses to presentation of program content provided from the peer-to-peer network (120) to the user nodes (70); (d) communicating the collated information as user data from the user nodes (70) at least one of: directly to the principal server arrangement (110), indirectly via the peer-to-peer network (120) to the principal server arrangement (110); and (e) processing the user data received at the principal server arrangement (110) for generating statistical data representative of user responses to the program content presented to the users (60).

Description

METHOD OF PROCESSING USER DATA
Field of the invention
The present invention relates to methods of processing user data in a digital television system wherein television program content is distributed from a source, for example one or more backend servers, via a peer-to-peer network to a multitude of users, for example viewers, and wherefrom user data is collated and returned via a least one of: directly to the source, indirectly via the peer-to-peer network to the source. Moreover, the present invention also concerns peer- to-peer digital television systems operable pursuant to the methods. Furthermore, the present invention also relates to software and software products executable on computing hardware for implementing the present invention.
Background to the invention
Until recently, television broadcasting of video program content to users, for example to viewers, was achieved by relatively few television companies generating or commissioning the program content and then communicating it by wireless, for example by UHF (ultra high frequency) transmission from television transmitters or by SHF (super high frequency) transmission via satellites, simultaneously to a large number of users. For example, when a television company was hitherto desirous to send a popular evening show followed by a national news report to its viewers, the company would send program content corresponding to the show and the news report via microwave links to one or more UHF transmitters which then simultaneously transmitted at UHF frequencies to users' antennas wherefrom received signals would be conveyed via a relatively short length of coaxial cable to viewers' television receivers for concurrent simultaneous consumption thereat. Conventionally, the television company only received feedback regarding user response by receiving complaint telephone calls and viewer rating forms returned to the television company from a selected sub-ground of users. A number of television licenses annually sold provided an indication of a total potential number of viewers. Moreover, by knowing the number of television licenses sold and by analyzing the viewing rating forms providing an indication of a response of the selected sub-group, an approximate response for all viewers could be determined by extrapolation. Furthermore, such viewing rating forms were only returned periodically to the television company, for example once each week or once each month, so the company was not able to receive an immediate assessment of viewer response to the program content. Such effective lack of accurate information rendered uncertainties for advertising companies and agencies purchasing television transmission time to have their advertisements presented unselectively to all the viewers. The television company had no way of targeting advertisements selectively to certain categories of viewers other than:
(a) providing recommendations to advertisers regarding suitable transmission time for their advertisements;
(b) providing advice regarding suitable content for the advertisements; and (c) manually juxtaposing certain of the advertisements vis-a-vis other advertisements for maximum viewer impact and impression.
More recently, viewers' television apparatus have been supplemented with video recorders, for example digital video recorders based on hard disc data memory drives, which are operable to record television transmissions at an original time when sent from television companies so that users are subsequently able to view the television transmissions at a later time than the original time. Such video recorders also enable users, namely viewers, to selectively skip over advertisements, or even edit advertisements from received transmissions, in order to concentrate on program content of most interest. These video recorders have been of concern to advertisers paying for their advertisements to be presented to viewers. In consequence, conventional broadcasting companies have begun to experience a reduction in advertising revenues as advertisers elect to employ other media for communicating their advertisements, for example via Internet web-sites and associated search engines, by selective postal advertising schemes and by direct telephone sales.
Recent technological developments in optical fiber communications have enabled the contemporary Internet to be provided in broadband format susceptible to supporting communication data rates of many Mbytes/second. Such technological developments have rendered it feasible to provide cable television services to users wherein program content is streamed from a central server simultaneously concurrently to a multitude of users in a temporal manner akin to aforementioned wireless broadcast via UHF and/or SHF signals. In Figure 1, a known system operable to provide cable television services is indicated generally by 10. The system 10 includes a central server arrangement 20 comprising an array of servers 30 operable to stream data comprising program content therefrom via the Internet 40 or similar type of data communication network, directly to users 60, namely to viewers. Some servers 30 are dedicated to individual users 60, whereas other servers 30 are dedicated to simultaneously serve several users 60 in parallel with same program content. Although the system 10 is capable of functioning technically satisfactorily, it represents an expensive approach to providing television services because the number of servers 30 needs to be increased in response the number of users 60, namely viewers, increasing. Moreover, a further problem encountered is that technical failure of a central server arrangement 20 serving a large number of users U 60 with program content, for example several tens of thousands of users U 60 in parallel, potentially results in the system 10 providing an unreliable service to its users U 60. Such unreliability is of considerable concern to advertisers paying for their advertisements to be conveyed via the system 10 to its users U 60. Furthermore, the system 10 does not provide for advertisements to be selectively targeted to certain preferred users whereat the advertisements are susceptible to providing an enhanced probability of user purchase.
The system 10 thus has fundamental limitations associated therewith which has limited its deployment in comparison to conventional wireless television broadcast which is still very widely employed by a majority of population in many regions of the World, for example in Europe, United States of America, Russia, China, India and Australia.
The inventor has therefore appreciated that conventional television broadcast systems have limitations and problems associated therewith which the present invention seeks to address, especially from a viewpoint of advertisers paying for their advertisements to be presented to users to provide user impressions thereto.
Summary of the invention
An object of the present invention is to provide an advanced form of television broadcast system which is operable to process user data provided in response to advertisements being presented to such users.
Another object of the present invention is to provide a method of processing user data provided in response to selective video program content being presented to such users. - A -
Another object of the invention is to provide a digital television system operable to propagate program content to users in a more efficient, customized and controlled manner than hitherto possible in digital television systems.
Another object of the invention is to provide a digital television system operable propagate program content including advertisements to users and to collate users' responses to such advertisements to provide statistical information regarding user impression of such advertisements.
According to a first aspect of the invention, there is provided a method of processing user data in a digital television system, characterized in that the digital television system comprises a principal server arrangement, a peer-to-peer network coupled in communication with the principal server arrangement, and one or more user nodes coupled to the peer-to-peer network, the method including steps of: (a) propagating program content data from the principal server arrangement to the peer-to- peer network in a peer-to-peer manner;
(b) providing at least a subset of the propagated program content data from the peer-to-peer network to the one or more user nodes for user presentation thereat;
(c) collating information at the one or more user nodes indicative of one or more user responses to presentation of program content provided from the peer-to-peer network to the one or more user nodes;
(d) communicating the collated information as user data from the one or more user nodes at least one of: directly to the principal server arrangement, indirectly via the peer-to-peer network to the principal server arrangement; and (e) processing the user data received at the principal server arrangement for generating statistical data representative of user responses to the program content data presented to the one or more users.
The invention is of advantage in that the television system is capable to collating statistical data for assisting with dissemination of program content data, for example advertisement program data, in a more advantageous manner within the system.
Optionally, in the method, the principal server arrangement is a distributed server configuration within a communication network. For example, the principal server arrangement is implementable as a plurality of servers spatially distributed a various geographical locations and operable to perform mutually different data processing and data supply functions. Alternatively, for example, the principal server arrangement comprises a cluster of servers substantially at one geographical location or region. The principal server is of benefit in that it provides a focus for collation and assimilation of statistical data.
Optionally, in the method, the peer-to-peer network is implemented as an interlinked network of nodes including at least one of: supernodes, data supply nodes, user nodes. Implementation in such manner with supernodes and data supply nodes is especially efficient when handling data searches for locating program content data blocks for supply to the one or more user nodes, but also beneficial when propagating program content data in a peer-to-peer manner from the principal server arrangement. More optionally, in the method, the supernodes are operable to retain information indicative of associated data supply nodes in which propagated items of program content data are stored.
Optionally, the method includes steps of: (f) collating at each user node user responses and generating the response information so as to associate the user responses with corresponding program content prompting the user responses; and (g) communicating the response information included in the collated information for receipt at the principal server arrangement for generating the statistical data definable in relation to the corresponding program content.
Collation of statistical data indicative of user viewing habits is especially beneficial in targeting advertisement program content to users who are more likely to respond commercially advantageously to the advertisement program content. Such targeting of advertisements is not implemented, and often not possible, in contemporary television systems.
Optionally, the method includes steps of:
(h) sending from the one or more user nodes at least one request for program content to the principal server arrangement; and
(i) responding to the at least one request for program content by sending from the principal server arrangement a definition of the subset of propagated program content data to the one or more users nodes. More optionally, the method includes a step of: (j) generating the definition of the subset of propagated program content by at least partially matching metadata of the one or more requests with metadata of program content data propagated within the peer-to-peer network. Such a feature of the method enables users to search for television program content in a manner akin to contemporary Internet searches for web-sites of special user interest. Optionally, the television program content corresponds to special-interest digital television channels, for example, golf channel, tiddly-winks channel, equestrian channel, campanology channel and so forth.
Optionally, the method includes a step of: (k) generating the definition of the subset of propagated program content data by at least partially matching metadata of the one or more requests with metadata of program content data propagated within the peer-to-peer network and with user metadata provided from the one or more user nodes.
Such operation enables user profiles submitted by the one or more users of the one or more user nodes to have recommended program content data which is customized to their personal tastes and characteristics.
Optionally, the method includes a step of:
(1) analyzing the user data in relation to the user metadata;
(m) identifying when the user data represents a viewing pattern which is substantially inconsistent with the user metadata; and (n) updating the user metadata to be more consistent with the user data, thereby rendering the user metadata more representative of program content consumption patterns at the one or more user nodes.
This step of the method is operable to refine user profile metadata so that its is more representative of actual viewing habits and preferences of the one or more users rather than a user profile initially submitted by such one or more users which is often inaccurate or unrepresentative, for example deliberately for confidentiality reasons.
More optionally, in the method, the user metadata is at least in part a temporal function reflecting diurnal or seasonally temporally changing viewing patterns of the one or more users. Optionally, the method including steps of:
(o) analyzing the user data with the metadata of program content propagated within the peer- to-peer network;
(p) identifying when the user data is substantially inconsistent with the metadata of program content propagated within the peer-to-peer network; and
(q) updating at the principal server arrangement the metadata of program content propagated within the peer-to-peer network to be more closely representative of the user data. Such updating of program content metadata is of benefit in that program content, for example film program content and/or advertisement program content, is capable of being more accurately presented to one or more users to whom the program content is relevant.
Optionally, the method includes a step of including executable code in at least one of : metadata associated with the program content data propagated in the peer-to-peer network, the program content data propagated in the peer-to-peer network, and wherein the executable code defining rules for presenting the program content at the one or more user nodes. More optionally, the executable code includes Javascript and/or XML, although other computer languages can be alternatively employed.
Optionally, the method includes a step of including one or more priority rating parameters in at least one of: metadata associated the program content data propagated in the peer-to-peer network, the program content data propagated in the peer-to-peer network and wherein the one or more priority rating parameters are included for use at the one or more user nodes for resolving conflicts when executing rules associated with presenting a plurality of items of program content data. More optionally, the one or more priority ratings can be selected in response to commercial considerations, for example payment of premiums by advertisers for increased dissemination of their advertisements.
Optionally, the method includes a step of including one or more priority rating parameters in at least one of: metadata associated with the program content data propagated in the peer-to-peer network, the program content data propagated in the peer-to-peer network and wherein the one or more priority rating parameters are included for use at the one or more user nodes for selecting on a basis of values of the one or more priority rating parameters items of program content data for user presentation at the one or more user nodes. Optionally, in the method, the one or more priority rating parameters are temporally dynamically variable for controlling a priority in which the program content data is present at the one or more user nodes. Such opportunity to dynamically vary the one or more priority ratings enables, for example, advertisers to modifying their advertising campaigns in a proactive manner in response to feedback provided by the system when in operation.
Optionally, in the method, the program content data includes at least one of: film program content, advertisement program content.
According to a second aspect of the present invention, there is provided a digital television system including a data communication network operable to provide program content data from a data source to one or more user nodes for user presentation thereat, wherein the one or more user nodes are operable to collate user responses for communication via the network to a data processing arrangement to generate user statistical data representative of responses of the one or more users to the program content data.
Optionally, in the digital television system, the program data is propagated within the data communication network in a peer-to-peer manner. Such a peer-to-peer manner of propagation relieves data supply overload occurring at the data source which is a technical problem in convention cable television systems operable to stream program content directly from data sources to users.
According to a third aspect of the invention, there is provided a user node for a digital television system operable to implement a method pursuant to the first aspect of the invention, the user node including hardware for presenting the program content data received at the user node to one or more users of the user node, and for sensing and collating user responses to the presented program content data for communication within the system for generating user statistical data representative of responses of the one or more users to the program content data.
Optionally, the user node is implemented using computing hardware operable to execute a software product. More optionally, the user node is implemented using at least one of: a personal computer, a WiFi telephone, a personal digital assistant, a dedicated hardware unit couplable to a contemporary television apparatus. According to a fourth aspect of the invention, there is provided a software product stored on a data carrier or conveyable via a data signal, the software being executable on computing hardware for implementing a method pursuant to the first aspect of the invention. The software product is, for example, susceptible to being downloaded via the Internet to computing hardware coupled to the Internet. Alternatively, the software product can be provided in the form of software recorded on an optical disc data carrier or solid state memory device to mention a few examples.
According to a fifth aspect of the invention, there is provided a software product stored on a data carrier or conveyable via a data signal, the software being executable on computing hardware for implementing a user node pursuant to the third aspect of the 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 cable television system operable to stream program content directly from its central servers to users;
Figure 2 is an illustration of a digital television system pursuant to the present invention; and
Figure 3 is an illustration of metadata feedback processes implemented within the television system of Figure 2.
In the accompanying drawings, an underlined number is employed to represent an item over which the underlined number is positioned or an item to which the underlined number is adjacent. A non-underlined number relates to an item identified by a line linking the non- underlined number to the item. When a number is non-underlined and accompanied by an associated arrow, the non-underlined number is used to identify a general item at which the arrow is pointing.
Description of embodiments of the invention
In overview, a digital television system pursuant to the present invention is illustrated in Figure 2; the digital television system is indicated generally by 100. The system 100 includes a backend server arrangement referred to as being a principal server S 110 comprising a relatively smaller number of servers 30 in comparison a relatively larger number of servers in the central server arrangement 20 of Figure 1. Moreover, the principal server S 110 is coupled to the aforesaid Internet 40 including nodes therein which have been provided with software operable to cause them to function as a peer-to-peer P2P network 120 operable to convey television program content data therein provided from the principal server S 110. The peer-to-peer P2P network 120 has certain of its nodes designated to be supernodes SN, for example supernodes SN 130a, 130b and 13On. Moreover, the peer-to-peer P2P network 120 has other of its nodes designated to be data supply nodes N, for example data supply nodes N 150a, 150b, 150c, 15Od.
The peer-to-peer P2P network 120 is optionally implemented so as to utilize the user nodes 70 for peer-to-peer data distribution. For example, a server at a user's premises is susceptible to functioning as a data supply node N 150, as a supernode SN 130, or both as a data supply node N 120 and a supernode SN 130; in such case, the user node 70 is susceptible to functioning as a subscriber and is not involved with any peer-to-peer P2P data distribution.
Optionally, the supernodes SN 130 are also susceptible to functioning as data supply nodes N 150; for example, the supernodes SN 130 and the data supply nodes N 150 are susceptible to being implemented together at a given geographical location. Moreover, certain supernodes SN
130 are susceptible to being reallocated to being data supply nodes N 150. Moreover, optionally, certain data supply nodes N 150 are susceptible to being preferentially assigned or elected to become supernodes SN 130.
It will thus be appreciated that the peer-to-peer P2P network 120 is a dynamically changing entity in comparison to a relative static arrangement provided by the central server arrangement 20 and the Internet 40 of Figure 1. Protocol for dissemination of digital program content within the peer-to-peer P2P network 120 represents a radically different and more complex task than arises in the contemporary system 10 illustrated in Figure 1.
When the system 100 is in operation, program content data is propagated as data blocks B from the principal server S 110 to the peer-to-peer P2P network 120 and not directly to users U 60 in considerable contrast to operation of the aforesaid contemporary system 10 illustrated in Figure 1. Thus, the user node 70 is operable to request to "pull" data from the peer-to-peer P2P network 120 in comparison to known systems which "push" data under at least partial control from a central data source. The data blocks B supplied from the principal server S 110, namely "pushed" from the principal server S 110, are stored in one or more of the data supply nodes N 150 with a record of where the data blocks B are stored being compiled in the supernodes SN 130 associated with the data supply nodes N 150. The supernodes SN 130a, 130b, 13On have associated groups of data supply nodes N denoted by 140a, 140b, 14On respectively for example. Optionally, although not a necessity, the groups 140 are overlapping; for example, the supernode SN 130a is operable to store a record of data blocks B stored in the data supply nodes N 150a, 150b, 150c, and the supernode SN 130b is operable to store record of data blocks stored in the data supply nodes N 150c, 15Od.
In operation, each user U 60 via its user node 70 sends its user profile Z to the principal server S 110 at a time of initial registration of the user U 60 to the system 100 or updated at intervals thereafter if necessary; at least one of the user U 60 and the principal server S 110 are operable to update the user profile Z as will be further elucidated later. Moreover, each user U 60 from time-to-time sends search requests SR to the principal server S 110 for receiving in return metadata 1MET indicative of program content P available via the peer-to-peer P2P network 120; in other words, the metadata IMET is indicative of program data content which the user U 60 is able to 'pull' from the peer-to-peer P2P network 120. Based on the user profile Z and the search request SR, the principal server 110 returns a first message including the metadata IMET back via the Internet 40 to the user U 60, the metadata information IMET describing program content P at least partially matching the user profile Z; optionally, the metadata information IMET includes indications for advertisement program content including executable code, for example executable code written in Javascript, defining conditions under which the advertisement program content is to be shown. After interrogating the principal server S 110 to receive a cue list Q, the user node 70 then sends second requests to the supernodes SN 130a, 130b, 13On for receiving information ILOc concerning whereat program content P corresponding to at least a subset of the metadata IMETsub is stored, namely pursuant to the cue list Q. The supernodes SN 130a, 130b, 13On then respond to the user node 70 with third message including the information ILOc indicative of the data supply nodes N 150a, 150b, 150c, 15Od which have the program data stored thereat corresponding to the subset IMEτSub- The user node 70 receives the third messages including the information lLoc and then sends fourth messages to the data supply nodes N 150a, 150b, 150c, 15Od to supply their program content data corresponding to the aforesaid subset IMETSIΛ t0 the user U 60; such supply is beneficially targeted in such a manner so as to take into account a data rate supply performance and/or capacity of the data supply nodes N 150. On account of the subset of the metadata IMETSIΛ being customized by the principal server S 110 in response to the user profile Z and the search request SR, the user U 60 potentially has thousands, even potentially millions, of program content channels to choose amongst and wherein advertisements to be presented to the user U 60 have been customized to the user profile Z and the search request SR. Such enormous personal choice of channels and customized advertisements is of considerable interest to advertisers for utilizing their advertising revenue in a focused economical manner as well as potentially attracting large user audiences on account of enhanced viewing experience provided by the system 100. Moreover, from a technical viewpoint, distributing program content data supply responsibility away from the principal server S 110 into the peer-to-peer P2P network 120 for the user node 70 to 'pull' therefrom has a benefit of more reliable data supply to the user node 70 as well as circumventing a need for providing and servicing a large array of expensive servers 30 as required in the convention system 10 illustrated in Figure 1.
The system 100 illustrated in Figure 2 is capable of performing many more functions than merely providing program content data in a more efficient and cost effective manner than hitherto possible as described in the foregoing. The users U 60 each have computing hardware implementing their user nodes 70 operable to execute application software AS for coupling the user nodes 70 to the principal server S 110 and also to the peer-to-peer P2P network 120. The application software AS, namely a software product provided to the user U 60 on a data carrier or via a signal communicated via the network 120, is operable to collate user U 60 responses, for example mouse click responses to advertisements being presented to users U 60, and periodically send collated responses via the peer-to-peer P2P network 120 back to the principal server S 110. Optionally, further collation of collated responses sent from the user node 70 occurs within the peer-to-peer P2P network 120 so as to relieve the principal server S 110 of communication and computational effort. The principal server S 110 is thereby operable to collate information regarding deployment of any given advertising campaign and provide statistics to an advertiser associated with the campaign regarding numbers of impressions, namely viewings, of the advertisements for the advertising campaign. Advertisers are thereby capable of receiving via the system 100 dynamic feedback of effectiveness of their advertising campaigns so that they can dynamically modify their campaigns midway in their deployment. Such fine control of advertising campaigns by advertisers is not possible in contemporary digital television systems, for example in the system 10 illustrated in Figure 1. In this respect, the present invention represents a potential technical revolution in respect of presentation of advertisements in the technical field of digital television.
From another viewpoint, the present invention is concerned with methods of associating program content in digital television systems such as in the system 100; for example, the present invention is concerned with methods of associating advertisement program content PA with user profile Z metadata UMD and/or film program content PF. As elucidated in the foregoing, such digital television systems are operable to supply data via the Internet 40 or similar types of data communication network. When implementing the present invention, the Internet 40 is utilized in an aforesaid peer-to-peer P2P manner to provide program content P to the user U 60 without causing overload at the principal server S 110 at which the program content P originates. The program content P is propagated in discrete data blocks B from the principal server S 110 to several data supply nodes N 150 in the Internet 40 for storage thereat. 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 60 desirous to receive program content P causes its user node 70 to interrogate the principal server S 110 to identify program content P which is available on the Internet 40, namely corresponding to the discrete data blocks B which have been propagated within the Internet 40; the principal server S 110 provides the user node 70 and subsequently the user U 60 with a list of available program content P, namely the information IMET, and the user U 60 responds by sending a request REQ to the principal server S 110 for specific program content P5 desired by the user U 60, namely the information IMETsub- The principal server S 110 then responds to the request R from the user U 60 by sending a cue list Q corresponding to the specific program content P5 to the user node 70; the cue list Q includes identifiers ls of the discrete data blocks B5 constituting the specific program content P3. The user node 70 executes the cue list Q by sending block requests RB for the discrete data blocks Bs constituting the specific program content P5 into the Internet 40 to the several supernodes nodes SN 130 which have received the discrete data blocks B propagated earlier from the principal server S 110. On receiving via the Internet 40 the block requests RB from the user node 70 of the user U 60, the supernodes SN 130 are then operable to search their local data storage to determine whether or not one or more data blocks B stored in their associated data supply nodes N 150 correspond to the data block requests RB received at the several data supply nodes N 150. If a match is found between the data block requests RB and data blocks B stored at the several data supply nodes N 150, one or more of the supply nodes N 150 are operable to send one or more requested data blocks BR to the user node 70 for consumption by the user U 60 thereat. The user node 70 is thus operable to 'pull' data blocks from the peer-to-peer P2P network 120 in contradistinction to known data supply systems which 'push' data blocks under supervision or control from a central server. Such a method of providing program content P is of benefit in that the principal server S 110 can deliver data blocks B into the several data supply nodes N 150 of the Internet 40 asynchronously to activities at the user U 60 and its associated user node 70, thereby avoiding aforementioned data supply overload problems at the principal server S 110. Moreover, interaction between the user node 70 of the user U 60 and the principal server S 110 involves relatively little data exchange, namely substantially a list of available program content P in the form of the metadata IMET and the cue list Q. Additionally, no program content is sent directly, except in exceptional circumstances, from the principal server S 110 via the Internet 40 to the user node 70; as such, this fundamentally differentiates the present invention from contemporary streamed program content approaches to deliver television services.
Thus, such an approach to program content supply via the Internet 40 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. By addressing bandwidth issues which represent a major limitation in contemporary streamed digital television systems, for example for the aforesaid system 10 of Figure 1, it becomes possible to deliver program content which is adapted to individual users in a customized manner as well as collating user responses to program content, for example advertisement program content PA. In particular, it is feasible to at least partially customize advertisement program content PA to tastes and characteristics of individual users U 60, for example to user profiles Z and/or to film program content PF which the users U 60 select to view. Such customized advertising is of potentially great interest to advertisers.
In the cue list Q, the principal server S 110 can include advertisement program content PA corresponding to advertisement subject matter which has also been delivered from the principal server S 110 for propagation within the Internet 40. Thus, the principal server S 110 can specify in the cue list Q a preferred type of advertisement to be presented to the user U 60, for example in response to a user profile Z supplied from the user U 60 to the principal server S 110. Beneficially, the user profile Z is anonymous so that the principal server S 110 is unaware of the real name and address A of the user U 60. In such a manner, advertisers' advertisement material can be customized to the user U 60 in an anonymous manner to provide purchase propositions which are more likely to interest the user U 60 in contradistinction to untargeted advertising as used in conventional television broadcasts via UHF links or SHF satellite links.
The principal server S 110 is coupled to receive program content PF from organizations such as film producers, from national television companies, from independent film producers, and from film archives and similar. The program content PF therefore includes, for example, movies, films, documentaries, sports coverage, news reports and similar. Moreover, the principal server S 110 is also coupled to receive advertising program content PA from advertising organizations, from specialist interest groups such as religious organizations and similar. The program content PA thus comprises advertisements and promotional subject matter.
The user U 60 has associated therewith the user node 70 which is susceptible to being implemented as a personal computer (PC) loaded with suitable compatible application software AS, a screen of the personal computer being operable to present television images to the user U 60. Alternatively, the user node 70 is susceptible to being implemented as a local server coupled via a set-top box to a conventional television. 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 light emitting diode (LED) array display television, a laser-array display television, a flat-screen plasma display television, a liquid crystal display (LCD) projection television, a micro-mirror projection television, a beam-projection television and an organic light emitting diode (OLED) display television. On account of data blocks BR requested by the user node 70 potentially being received at the user node 70 in any order from the data supply nodes N 150 and at imprecisely defined times as a result of peer-to-peer operation of the Internet 40, the user node 70 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 for buffering data blocks and/or resorting data blocks into a correct sequence for presentation to the user U 60. Operation of the system 100 will now be described in greater detail with reference to Figure 2. Operators of the principal server S 110 comprise persons generally responsible for administering and managing the system 100; the persons responsible for the system 100 do not have control of the user U 60 who remains essentially anonymous to these persons. These persons interface with program content providers regarding licensing and procurement of the film content PF 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 to provisions of the Berne Convention. The persons administering and managing the system 100 also interface with advertising organizations for procuring the advertising program content PA. These advertising organizations pay, for example, the persons responsible for the system 100 to target the advertising program content PA dependent upon one or more of the following constraints:
(a) towards users U 60 having particular user profiles Z, namely to present subject matter of interest to the users U 60, for example golf equipment to golfing enthusiasts;
(b) to be presented to users U 60 in conjunction with certain selected types of program content PF being presented shortly after or shortly before the advertising program content PA, namely to present the advertising program content PA 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 60 based upon geographical constraints, for example a geographical region or neighborhood in which the users U 60 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 60 live; (d) to be presented to users U 60 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 geographical region whereat the user U 60 lives exceeds 25 0C and there is sunshine in the user's U 60 geographical region; and
(e) not to be presented to users U 60 in conjunction with certain selected types of program content PF or other advertising program content PA being presented shortly after or shortly before the advertising program content PA, namely circumventing presentation of the advertising 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 or a fine food advertisement.
Other constraints are possible based on hobbies, preferences and habits as well as optionally, for example, user U 60 age, religious group, ethnic group, health, income group, marital status and so forth as will be elucidated in greater detail later. However, the system 100 is beneficially operated so as to respect privacy of the users U 60.
The operators of the principal server S 110 propagate aforementioned application software AS throughout the Internet 40 in response to user U 60 request, for example by way of Internet registration to the system 100 by such users U 60 sending their aforesaid user profiles Z to the principal server 110 and/or paying a fee to receive credit tokens T. Alternatively, registration to the system 100 can be optionally free of cost to users U 60. Beneficially, the principal server S 110 is supported by a function such as contemporary secure Pay-Pal or similar payment system operable to support secure payment via the Internet 40. On receipt of such application software AS at the user node 70, the user U 60 is capable of receiving program content from the Internet 40 propagated from the principal server S 110 in a peer-to-peer P2P manner.
As elucidated in the foregoing, the operators of the principal server S 110 cause the system 100 to propagate the program content PF and the advertising program content PA throughout the peer-to-peer P2P network 120 via the supernodes SN 130 to the data supply nodes
N 150 whereat the program contents PF, PA are stored as aforesaid encrypted data blocks B. Each data block B beneficially comprises program content, for example implemented as encrypted
MPEG-encoded data including audio data. Optionally, each data block B includes at least one of: (a) metadata describing the program content, for example name of actor, name of film director, year of release, category of film such as comedy or documentary;
(b) an identifier I uniquely identifying its corresponding block B; and
(c) some executable software code, for example implemented in Java software language, for defining conditions of use of the program content. The executable software serves to define, for example, use of the advertising program content PA relating to advertisements such as them being shown in conjunction with only certain types of films and not in conjunction with other types of advertisements in a given geographical region when the outdoor ambient temperature in that region is greater than 15 0C. Benefϊcially, data blocks B which are only relevant to a particular geographical region, for example advertising program content PA conveying information regarding a particular restaurant or theater in Tokyo in Japanese language, are propagated only to those supernodes SN 130 serving that particular geographical region rather than generally unnecessarily occupying data storage space within the system 100 in regions where Japanese as a language is generally not known and understood.
Initially, when the user U 60 is desirous to subscribe to the system 100, the user U 60 via its user node 70 contacts the principal server S 110, for example a sub-server thereof configured to deal with new enrolments, via a Universal Resource Locator (URL); the user U 60 then proceeds to provide via its user node 70 an aforesaid user profile Z although the user U 60 refrains from providing any personal details such as real name or residential address so that the user U 60 remains, in reality, anonymous to the system 100; such anonymity is important in the system 100 to respect personal privacy of the user U 60. As an example, the actual user 60 is a middle-aged female living in Scotland parading in her user profile Z supplied to the principal server S 110 as a teenage male allegedly living in London. The user profile Z is preferably provided by the user U 60 by selecting various options from a menu list presented to the user U 60; 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 60.
On providing the user profile metadata UMD, the principal server S 110 is operable to cause the application software AS to be downloaded from the principal server S 110 or another server of the peer-to-peer P2P network 120 tasked with providing the user U 60 with software; for example, one or more of the supernodes 130 are able to provide the user node 70 of the user U 60 with a download of the application software AS. Optionally, the user U 60 can purchase tokens T from the principal server S 110 or another server of the Internet 40 when downloading the application software AS; alternatively, the user U 60 can periodically buy such tokens T via the user node 70 once the application software AS has been loaded into the user node 70 and is executing on computing hardware therein, for example on a personal computer (PC). Optionally, the application software AS is supplied to the user U 60 on a data carrier, for example on an optical disc data storage medium.
On executing the application software AS, the user node 70 is optionally provided with advertising program content PA which the application software AS is programmed to seek locally in the peer-to-peer P2P network 120 to the user node 70. Such seeking occurs by the user node 70 sending requests for free advertising program content PA stored substantially locally thereto.
The user U 60 as a next step sends via its user node 70 the search request SR to the principal server S 110 for a list of program content PF available within the system 100. The principal server S 110 responds by sending an electronic program guide EPG derived from metadata stored within the principal server S 110; optionally, the electronic guide EPG is customized to characteristics of the user profile metadata UMD, for example when the UMD specifies that the user U 60 is German speaking, the EPG is provided in German and pertains substantially to German items of program content PF, PA. The electronic guide EPG optionally includes the aforementioned metadata IMET together with rules, for example written in Javascript language, regarding a manner in which film program content PF and/or advertisement program content PA is to be presented to the user U 60. By such a selective program guide EPG, it is feasible to limit an amount data that the principal server S 110, or another server of the system 100 tasked by the principal server S 110 with providing the EPG to the user U 60, has to provide to the user U 60, thereby avoiding exceeding data bandwidth restrictions at the principal server S 110. Selective generation of the 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. In the context of the present invention, such metadata matching involves determining one or more Euclidean distances between one or more terms present in the user profile metadata UMD and one or more terms present in the metadata associated with the program content PF; the one or more Euclidean distances are summated in order to determine a matching factor MF. Computation of the one or more Euclidean distances optionally involves filtering the metadata to 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 program content PF is communicated to the user node 70 of the user U 60. The matching factor MF also enables program content lists in the EPG to be presented via the user node 70 to the user U 60 in an order of potential relevance to assist the user U 60 with selecting program content PF most likely to be of interest. 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 PF is likely to appeal.
On receiving the electronic program guide EPG, the user U 60 selects program content which the user U 60 is desirous to consume and sends such selection via its user node 70 as a request REQ to the principal server S 110. The principal server S 110 then, in response to receiving the request REQ, sends the aforementioned cue list Q back to the user node 70. The cue list Q includes a list of encrypted data blocks B 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 70. Moreover, the principal server S 110 is operable to perform aforesaid matching of advertising program data PA metadata with the user profile Z, namely the user profile metadata UMD, and include corresponding advertisements likely to be interest to the user U 60, namely advertisements specifically targeted to the user U 60; such targeted advertising is in stark contradistinction to conventional broadcast television wherein advertising is included irrespective of characteristics of viewers. The principal server S 110 is thus also able to determine a manner in which the advertisements are to be presented to the user U 60, for example before and/or after film program content PF requested in the request REQ, and/or interspersed within one or more sections of the film program content PF requested. Optionally, the principal server S 110 includes within the cue list Q a complement of all likely relevant advertising program content PA which the user node 70 is operable to select or reject locally based upon execution of the code implementing rules included in metadata of the aforesaid EPG; optionally, code describing rules is included in the data blocks BR requested although this is not essential for implementing the present invention. The cue list Q may, for example, contain definitions for data blocks B which are subject to payment from the user U 60; such payment can be made by the principal server S 110 cancelling a certain number of the aforesaid tokens T allocated to the user U 60. Alternatively, or additionally, the cue list Q includes data blocks B for which no payment is necessary, namely cost-free to the user U 60. The user node receives the cue list Q from the principal server S 110 and then proceeds to interpret the cue list Q. In interpreting the cue list Q, the user node 70 sends out requests to the supernodes SN 130 for the data blocks BR.; in such a situation, the user node 70 is operable to 'pull' data blocks from the peer-to-peer P2P network 120. The supernodes SN 130 substantially in parallel, without causing data load to the principal server S 110, search for the requested data blocks BR and send them via the Internet 40 to the user node 70 whereat they are stored in one or more data buffers of data storage of the user node 70. Thereafter, optionally concurrently to receiving the requested data blocks BR from the data supply nodes N 150 associated with the supernodes 130, the application software AS executing upon computing hardware of the user node 70 decrypts the received data blocks BR using one or more keys WP provided to the user node 70 to provide program content for consumption by the user U 60. The one or more keys WP are beneficially layered and used to control when given film program content PF and/or advertisement program content PA is available to users U 60 from the peer-to-peer network 120. For example, issuing of passwords from the principal server S 110 can be used to define a start time and an end time of a given advertisement campaign.
Example XML code for use when the user U 60 is requesting some advertisements matching the user profile Z is as follows:
<ads>
<ad id='coca cola' score='1.0' rules='generic-rules-25.js'/> <ad id='toyota' score='0.94' rules='toyota-4323.js7> <ad id='casio' score='0.83'>
<rules> <daytime start='18:00' end='22:007>
<script> ...some code here ... </script> </rules> </ad> </ads>
In the example XML code, a time of showing associated advertisements between 18:00 hrs and 22:00 hrs is defined. Moreover, an expression rules='...' defines what user rules must be applied when deciding to show an associated advertisement. Rules can be either generic, for example as for the Coca Cola advertisement, or very specific to an advertisement which has a very particular presentation requirement, for example as for the Toyota advertisement. The XML code above, in a similar manner to other controlling code communicated within the system 100, is either propagated directly from the principal server S 110 to the user U 60, or from the principal server S 110 via the peer-to-peer P2P network 120 to the user U 60.
The aforementioned manner of providing program content PF, PA to the user node via the supernodes SN 130 is highly beneficial in that the principal server S 110 does not need to stream program content in real time as required in known conventional cable television systems which 'push' by streaming data blocks to users. Such a manner of operation employed in the present invention considerably reduces a computation workload experienced by the principal server S 110, thereby enabling the principal server S 110 an opportunity to apply its computational effort to compile statistical data regarding advertising impressions for example. Moreover, delivery of data blocks B from the principal server S 110 via the supernodes SN 130 to the data supply nodes N 150 is beneficially implemented during periods when the Internet 40 is more lightly loaded, for example at night-time.
The peer-to-peer P2P network 120 is optionally provided with a purging function to prevent data storage of the supernodes SN 130 and their data supply nodes N 150 becoming progressively saturated with data blocks B delivered from the principal server S 110 to the supernodes SN 130. For example, the supernodes SN 130 and their associated data supply nodes N 150 are operable to store each data block B received thereat for a certain time interval before deleting the received data block B from their data storage. Optionally, if a given one or more data blocks B are accessed frequently by users U 60, the data blocks B are preferentially not purged from the supernodes N 130 and their associated data supply nodes 150. Yet more optionally, the code associated with each data block B, for example conveyed via the metadata IMET provided from the principal server S 110 to the user nodes 70, includes information instructing the supernodes SN 130 to retain the data block B in data storage for a defined time interval and/or until a defined end date. More optionally, the received data blocks B are deleted from data storage of the supernodes SN 130 and their associated data supply nodes N 150 after the received data blocks B have been accessed by users U 60 a defined number of times. Such a characteristic optionally enables the persons operating the system 100 to purchase program content from suppliers on a basis of purchasing a defined number of user viewings.
Beneficially, the supernodes SN 130 are operable to monitor and record a number of times given data blocks B are accessed, especially when such data blocks B relate to advertising program content PA. Such monitoring and recording is beneficial in that the supernodes SN 130 are able to provide the principal server S 110 with statistics regarding presentation of advertisements to users U 60, such statistics for subsequent reporting to advertisers paying for their advertising program content PA to be shown via the peer-to-peer P2P network 120. Alternatively, or additionally, the application software AS executing in the computing hardware of the user node 70 can collate statistical information on which data blocks B corresponding to advertising program content PA have been viewed by the user U 60 and communicate such information anonymously either directly to the principal server S 110 or via the supernodes SN 130 in a manner which will be elucidated in more detail later. The principal server S 110 is thereby capable of providing statistical reports of advertising effectiveness or exposure directly to advertisers paying for advertisement program content PA to be presented via the peer-to-per P2P network 120 and therefore enabling the effectiveness of advertising campaigns to be assessed on a substantially real-time basis.
The system 100 behaves in a different manner to known data streaming cable television systems in that program content is not instantly available to the users U 60 but first needs to propagate out from the principal server S 110 to the supernodes SN 130 and their associated data supply nodes N 150. Such a characteristic can render the system 100 less able to provide instant news reports in comparison to known data streamed systems. However, on account of its peer- to-peer nature, the system 100 is potentially more robust than known data streamed systems in that failure of a given supernode SN 130 does not automatically result in loss of service to the user U 60, especially when data blocks B are duplicated within the peer-to-peer P2P network 120 at other of the supernodes SN 130 and their associated data supply nodes N 150 wherefrom the user node 70 can alternatively 'pull' data blocks. Moreover, supply of requested data blocks BR from the data supply nodes N 150 rather than directly from the principal server S 110 circumvents a conventional problem of data supply overload occurring at the principal server S 110.
Optionally, the electronic program guide EPG as processed via the application software AS executing on the computing hardware of the user node 70 is presented to the user U 60 as one or more channels between which the user U 60 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 60 to upload the user's program content together with its metadata to the principal server S 110. Such uploading of user's program content is preferably subject to a copyright disclaimer from the user U 60 allowing distribution of the program content in the system 100. Such uploading of the program content is optionally subject to the user U 60 receiving payment for having uploaded the content, for example in a situation wherein the program content is a documentary or home movie likely to be of considerable interest to other users U 60. Alternatively, such uploading of the data content is optionally subject to a payment from the user U 60 to the principal server S 110, for example in a situation wherein the program content corresponds to private advertisement material, for example classified small advertisements. The persons responsible for operation of the principal server S 110 are beneficially operable to review the program content submitted by the user U 60 for ensuring that the metadata provided by the user U 60 is consistent with the program content's subject matter, and also that the program content is of nature that it can respectfully be propagated within the peer-to-peer P2P network 120; for example, the persons responsible for the peer-to-peer P2P network 120 are able to potentially hinder propagation of the program content when causing incitement to criminal activities and such like.
The cue list Q provided to the user node 70 of user U 60 is capable of enabling the user U
60 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 supernodes SN 130 and their associated data supply nodes N 150, the application software AS is capable in such a situation of sending a request directly to the principal server S 110 for the requested data block BR. In response, the principal server S 110 executes at least one of the following operations: (a) the principal server S 110 streams the unobtainable requested data block BR directly to the user node 70 for substantially immediate consumption thereat; and
(b) the principal server S 110 outputs the unobtainable requested data block BR to one or more of the supernodes SN 130 and thereby to one or more of their associated data supply nodes N 150 and then informs the user node 70 of the identity of the one or more supernodes SN 130 and their associated data supply nodes N 150 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 corresponding to advertising data content PA to the user U 60 and/or a message that data blocks are being fetched and short delay is likely to be encountered; such presentation during the short delay is known as "infilling".
As elucidated in the foregoing, the application software AS executable at the user node 70 is beneficially synergistically capable of accessing other services available on the Internet 40, for example one or more of: voice over Internet Protocol (VoIP), electronic product auctioning such as provided by E-bay, banking services such as Pay-Pal, and user directories capable of bringing the user U 60 into contact with other users U of the system 100 and thereby form
'buddy' groups and specialist interest groups. Such user contacts are beneficially not monitored or recorded at the principal server S 110 so as to respect privacy and anonymity of the users U 60.
As elucidated in the foregoing, the user profiles Z, as represented in the user metadata UMD, does not include actual names and postal addresses of the users U 60, thereby ensuring their anonymity.
Advertising implemented via the system 100 will now be elucidated in greater detail.
Advertising program content PA can be passive, namely appears to the user U 60 for a period of time and then automatically disappears so that the user U 60 can view other subject matter, for example other advertisements or film program content PF; such a manner of presenting advertisements is akin to contemporary television. Alternatively, advertising program content PA can be active, namely appears to the user U 60 for a first period of time t| and then prompts the user U 60 for a response during a second period of time t2; such active response from the user U 60 provides a more reliable indication that a given advertisement has provided the user U 60 with an impression. Optionally, the second period of time t2 can be unlimited, namely viewing by the user U 60 stalls or pauses until the user U 60 actuates a button of a television remote control unit associated with the user node 70 or actuates a mouse associated with the user node 70 or presses a key or button thereof; such stalling or pausing is of benefit that it forces a response from the user U 60 and thereby further enhances the magnitude of impression imposed upon the user U 60. Yet more optionally, the advertising program content PA is interactive, for example in a manner akin to a computer game, whereat the user U 60 is required to provide multiple responses, for example several mouse clicks and/or mouse movements, in response to various images or propositions being presented to the user U 60; the system 100 is operable to collate such user U 60 responses and communicate them back, either directly or indirectly via the P2P network 120, to the principal server S 110 whereat advertising statistic data collected from users U 60 is processed. For example, advertisers are thereby able to obtain question-type information by including a plurality of animated options bearing questions to which the user U 60 is invited to respond.
The inventor has appreciated that the application software AS executable at the user node 70 beneficially provides a data collation function to circumvent in the system 100 a large number of smaller messages corresponding, for example, to individual mouse clicks being sent from the user nodes 70 via the peer-to-peer P2P network 120 to the principal server S 110; such a large number of small messages has a tendency to utilize data communication capacity available within the peer-to-peer P2P network 120 in an inefficient manner. Optionally, data collation occurs at the user node 70 via the application software AS and a certain degree of data collation is also executed within the peer-to-peer P2P network 120, namely at the supernodes SN 130 and/or the data supply nodes N 150, so as relieve processing effort at the principal server S 110; the principal server S 110 is, for example, thereby able to devote computing effort to reporting advertisement statistics to advertisers using the system 100. On account of the application software AS in operation being able to relate user mouse clicks and/or mouse movements to a given advertisement AD being presented to the user U 60, a user response is susceptible to generating valuable data pertaining to a relationship between the user profile Z metadata UMD, advertisement metadata AMD associated with the given data AD and a record of the user response URP. Other information is also available, for example time tAD of showing the advertisement at the user node 70, a geographical location of the user node Gnode, juxtaposition of the given advertisement AD to other categories of program content P to mention a few examples. Categories of program content in the system 100 are beneficially code identified groups such as: sport, road vehicles, gardening, health, travel, hobbies, food programs, children, adult, pensioner, home improvement, nature to mention a few examples.
The application software AS operating in the user node 70 is thus operable to collate information as described by Equation 1 (Eq. 1):
STm = ∑ F(AD1 , tADι , URP1 , UMD1 , Gn^ , QP) Eq. 1
wherein
STUS = user statistics collated in the user node 70 and supplied to the peer-to-peer network 120 for sending to the principal server S 110; F = a collation function;
AD1= a given advertisement / in a sequence of n advertisements for which data is to be collated and reported; tADi ~ a time of showing the advertisement / to the user U 60; URP, = a user response to the given advertisement i, for example: whether or not the user U 60 has actively selected the given advertisement AD, in preference to other advertisements, whether or not the user U 60 has provided an active mouse-click or mouse movement response or television remote-control button response when presented with the given advertisement AD1, whether or not the given advertisement AD, has been shown as an active or passive advertisement, whether or not the user U 60 has used fast-forward or fast-reverse functions in the application software AS to circumvent at least a part of the given advertisement ADn as a few examples;
UMD, = user profile metadata at a time that the given advertisement AD1 is presented; as will be elucidated later, the user metadata UMD is often in practice a temporally varying entity;
Gnodei = a geographical position of the user node 70, for example the user node 70 is susceptible to being implemented on a personal computer (PC) which is transported by the user U 60 around the World by air travel into different time zones, exposing the user U 60 to diverse weather conditions such as high humidity and temperature which influences the user's preference for advertisements and hence an impression created by the advertisements; in this respect, the aforesaid time of showing the given advertisement AD, is preferably a local time clock of the user node and not a general clock in the system 100; and
QP, = identifier of category of program content against which the given advertisement AD, has been shown.
Optionally, to reduce an amount of data communicated back to the principal server S 110, the user profile Z metadata UMD, is stored at the principal server S 110 and a smaller identifier referring to the user metadata UMD, included in the collated user statistics communicated via the network 120.
The user statistics STUS are collated over a sequence of n advertisements and then communicated as a collated message to the principal server S 110. The principal server S 110 combines in various ways user statistics from potentially many hundreds of millions of users U 60 to provide advertisers utilizing the system 100 with general statistics as described by Equation 2 (Eq. 2):
Figure imgf000030_0001
wherein
GST= general collated statistics for reporting to advertisers; w = total number of users U 60 being considered in a statistic report for an advertiser;
STυs - collated statistics for a user U 60 with identity /.
In combining such statistics, the identity of individual users U 60 by way of their user profile Z metadata UMD is maintained confidential from advertisers for respecting privacy of the individual users. The peer-to-peer P2P network 120 functioning in combination with the principal server S 110 is operable to provide, for example, advertisers with following information regarding their advertisements or advertising campaigns:
(a) a percentage of users U 60 who utilize the system 100 who have received an impression of the given advertisement AD1;
(b) a total number of impressions of the advertisement that have been presented to users U 60; (c) a time of day when the given advertisement AD, is most actively received by the users U
60;
(d) a given geographical region whereat the given advertisement AD1 was most actively appreciated by the users U 60, for example by way of user U 60 actively responding with mouse clicks when presented with propositions; (e) category of program content QP against the given advertisement AD1 resulting in most active impressions, or both active and passive impressions.
Other forms of presentation of the advertising statistics are possible, for example a number of impressions of the given advertisements for various age groups of the users U 60, for example for age groups as defined in Table 1. Table 1 : defined age groups for advertisement purposes
Figure imgf000031_0001
Optionally, the principal server S 110 is operable to download additional executable software code to user nodes 70 to control collation of user responses at the user nodes 70; this additional executable code is different to, namely distinct from, the aforementioned application software AS. For example, the software application AS can be specified to collate data pertaining to user responses in a default manner, for example user responses in relation to specific categories of advertisements as a function of time of day pertaining to the user node 70, namely local user time. In an event that a given advertisers needs other types of data collation to be executed at the user node 70, for example user responses to advertisements relating to mobile telephones including accounting functions, additional executable code is specially downloaded to the user nodes 70 for modifying a manner in which the user nodes 70 collate their data so as to collate for the other aforesaid types of data collation.
As elucidated in the foregoing, the peer-to-peer P2P network 120 is operable to receive collated response data from numerous user nodes 70 and combine the collated results to provide compounded response data for communicating to the principal server S 110. Such compounded response data corresponds to, for example, all positive user responses for Scottish salmon from users U 60 in the United Kingdom, and all positive user responses from users U 60 for Volvo cars in Germany. Thus, the peer-to-peer P2P network 120 is capable of, at least in part, implementing a function as defined by aforementioned Equation 2 (Eq. 2).
Optionally, the peer-to-peer P2P network 120 is programmed to execute a default collation of numerous user responses, unless the P2P network 120 is specifically instructed from the principal server S 110 to perform other types of data collation, for example is response to specific advertisers' advertisement program content. For example, the P2P network 120 is normally operable to compound collated data from users nodes 70 in respect of age as in Table 1, geographical location and user time; a specific advertiser has a requirement to receive compounded data for Denmark for a particular type of children's sweets, which involves the principal server S 110 sending out additional software instructions to the P2P network 120 to configure it to also compound data for users nodes 70 in Denmark responding to advertisements pertaining to the children's sweets. Such instructions are optionally configured to include a time duration during which the P2P network 120 is to be operable to perform additional compounding of response data to avoid the P2P network 120 undertaking an ever increasing computing burden as a consequence of uncancelled previous data collation requests submitted to the P2P network 120.
From experience, it is envisaged when operating the system 100 that users U 60 do not enter their user profile Z and corresponding metadata UMD accurately initially into the system 100; such user behavior is often exercised in an attempt to maintain user anonymity. In consequence, advertisements and program content suggested to the user U 60 are, at least initially, not to the users' U 60 true taste and preference. By collating statistics of film program content PF and advertising program content PA preferred by the users U 60, the principal server S 110 is capable of updating user profile Z metadata UMD. For example, even though the aforementioned actual user U 60 is a middle-aged female living in Scotland parading in her user profile Z supplied to the principal server S 110 as a teenage male allegedly living in London, her preference for watching program content relating to women's fashion including tartan pattern scarves, cooking haggis, playing bagpipes, highland games and knitting as well as advertisements relating to makeup and women's perfume will rapidly cause the principal server to update the actual user's profile Z metadata UMD from a teenage male in London to be more akin to that of a middle-age female living in Scotland, even if the principal server S 110 still retains initially the user U 60 recorded as being a male teenager with unusual associated metadata. Eventually, software executing in the principal server S 110 optionally computes in all probability that the user U 60 is in fact a middle-aged woman and eventually also updates this aspect of the user metadata UMD. Consistent relatively long aforementioned Euclidean distances between the user profile Z metadata UMD and metadata of advertisements and film program content consumed by the actual user U 60 is indicative of the user metadata UMD being inaccurate.
Similarly, the given advertisement AD1 being actively responded to by many users U 60 having user profile metadata UMD very different to that of the given advertisement AD1, for example as identified by aforementioned Euclidean distances, is potentially indicative of the given advertisement AD1 being either focused at an incorrect group of potential customers or appealing in some unexpected way to a category of user which the advertiser is not desirous to address. The principal server S 110 in providing advertising campaign statistics to the advertiser is operable to show such discrepancy. The advertiser is thereby provided with an opportunity to update the metadata of the given advertisement AD1 to more reflect an interested audience, or to change the design of the given advertisement AD1 during, for example, the advertising campaign. As an example, the given advertisement relates to a soft toy such as a teddy bear. Initially, the advertiser envisages that the soft toy will appeal to customers in age Groups 1 and 2 in Table 1. Unbeknown to the advertiser, highly successful soap opera program content is presently being shown via the system 100 to many hundreds of millions of users U 60 who are avid enthusiastic watchers and nervously await a next episode of the soap opera. A famous teenage film star in the soap opera has suddenly developed an interest in a story line of the soap opera to collect soft toys, in particular small teddy bears to establish a soft-toys collection in her bedroom. Suddenly, unexpected to the advertiser, a major world market for soft toys such a teddy bears promptly develops amongst teenagers. The persons responsible for the principal server S 110 can then on behalf of the advertiser modify the metadata associated of the given advertisement AD1 from infants in age Groups 1 and 2 to teenagers in age Group 3 together with modifying the metadata of the given advertisement AD1 to include a name of the famous teenage film star and also the name of the soap opera. In consequence, the advertiser sudden finds that he/she is addressing a fast growing market in which high sales are possible to achieve and is able to redirect the advertising campaign of the given advert ready for the next nervously awaited episode of the soap opera !
In devising the present invention, it has also been appreciated that the user U 60 has an effective real user profile with associated metadata which is temporally varying and potentially unstable; potentially diurnal and/or seasonal variations can be encountered for the user U 60; the system 100 is optionally implemented to take into account such unstable user characteristics. For example, the user U 60 corresponds to a family including mother, father and two children. When the children are using the user node 70 to consume film program content PF and associated advertising program content PA, they will select program content during early evening, for example children cartoons, which will be rather different program content to that selected by their mother and father late in the evening approaching midnight, for example romantic seductive love films. Beneficially, the user metadata UMD retained at the principal server S 110 is made to be a dynamic function of a local time of the user U 60 so, for example, the user profile metadata UMD used for making program recommendations at the principal server S 110 and specifying associated advertisements to the user U 60 for early evening corresponds to that of young children, whilst corresponds to that of adults for late evening approaching midnight. Similarly, the user profile Z metadata UMD for early morning is suitably chosen for being associated with news and weather reports, and children's program content such as advertisements implemented in animated cartoon format. Moreover, user program content tastes will often be different in summertime in comparison to, for example, a period around Christmas.
A method of making metadata-based recommendations to the user U 60 will now be described with reference to Figure 3. In Figure 3, there is shown the user node 70 associated with the user U 60 coupled, for example via the P2P network 120, in communication with one or more trackers 300 included at the principal server S 110; the one or more trackers 300 are operable to communicate also via the P2P network 120 with other users U 60 of the system 100. The one or more trackers 300 are coupled to output their data to a cluster of computers and/or servers 310 operable to perform storage and processing functions. Moreover, an output from the cluster of computers and/or servers 310 is coupled to a recommendation engine 320; conveniently, the recommendation engine 320 is implemented by software executable on computing hardware. An output of the recommendation engine 320 is coupled in communication to a search engine 330 for handling enquiries, for example search requests SR, from the user U 60 and also other users of the system 100. A configuration for the system 100 as depicted in Figure 3 forms a feedback loop to update metadata in response to user U 60 actions and selections. Optionally, the recommendation engine 320 is included within the principal server S 110. Similarly, optionally, the search engine 330 is included in the principal server S 110. The search engine 330 is preferably a proprietary search engine, for example utilizing contemporary Apache software provided as open source software; Euclidean distances used by the search engine 330 are then beneficially modifiable so that the proprietary search engine can be adapted to various diverse applications. Yet more optionally, the principal server S 110 is not concentrated in one geographical location but spread between several geographical locations within the Internet 40.
In operation, the user U 60 is desirous to consume program content, for example natural history program content relating to pandas, and sends via its user node 70 a search request SR 400 to the search engine 330. The search engine 330 then processes the search request SR 400, optionally in association with the user profile Z metadata UMD, and makes a recommendation 410 regarding suitable program content or one or more natural history channels supported by the system 100. The user node 70 then makes enquiries REQ at the principal server S 110 for a cue list Q appropriate for a subset of program content included in the recommendation 410. On receipt of the cue list Q from the principal server S 110, the user node 70 then procures program content data from the peer-to-peer P2P network 120 as denoted by 420, 430, for example program content relating to the secretive life of pandas. Whilst watching the panda program content, the user U 60 is presented occasionally with advertisements, for example to purchase T-shirts with panda pictures printed thereon and soft cuddly panda toys. The application software AS executing at the user node 70 is operable to monitor the user U 60 watching the panda program content, for example whether or not the user U 60 uses fast-forward and fast rewind functions at the user node 70 to skip or replay certain parts of the panda program content such as an infant panda eating fresh bamboo shoots, as well as the user's U 60 response to the advertisements, for example whether or not the user U 60 clicks on an active window of one of the advertisements to order using its credit card a soft cuddly panda toy. Periodically, for example after n advertisements being shown to the user U 60, the application software AS executing at the user node 70 sends a collated record of the user's response 450 via the P2P network 120, whereat user response data compounding occurs, to the one or more trackers 300 which are operable to collate responses from many disparate users coupled to the system 100. The one or more trackers 300 perform data reduction which disassociates the response 450 from any connection with the user U 60 to respect privacy of the user U 60. Periodically, the one or more trackers 300 pass reduced data to the cluster of computers and/or servers 310 which, in turn, pass collated data to the recommendation engine 320. Subsequently, the recommendation engine 320 is operable to feed suitable metadata terms to the search engine 330, such suitable metadata terms including a dynamically updated version of the user profile Z metadata UMD, for example updated temporally dynamic user profile Z metadata UMD. By feedback implemented in Figure 3, the search engine 330 is capable of making more accurate and appropriate recommendations 410 to the user U 60 in response to the user's search enquiry 400. The user metadata UMD and/or advertisement program metadata PA and/or film program metadata PF is susceptible to being updated in response to compounded user response data passed from the one or more trackers 300 to the recommendation engine 330 so as to improve an accuracy of recommendation provided by the recommendation engine 330. When global enhancement of accuracy of the search engine is required, aforementioned Euclidean distances relating various metadata terms are modified.
On account of the principal server S 110 having access to advertisement metadata, user U 60 metadata and film program metadata, as well as having access to the search engine 330, the principal server S 110 is capable of running simulation of advertising campaigns for its advertisers before proposed advertisements are propagated for real into the peer-to-peer P2P network 120 for user U 60 consumption. From user profile metadata UMD for many users U 60 of the system 100, likely program content watching patterns can be established for the users U 60 together with their likely responses to the proposed advertisements, namely an estimate of impressions provided by the proposed advertisements. Such simulation is complex in that the system 100 executes advertising campaigns from numerous vendors of advertisements concurrently. In running such simulations for proposed advertisements, estimates of future advertisement scheduling for other advertisers must be taken into account to achieve a representative simulation. Such simulation is not known in existing contemporary digital television systems such as the aforementioned simple streamed system 10 illustrated in Figure 1. Thus, advertisers can interrogate the principal server S 110 using suitable interfacing software applications provided from the persons responsible for the system 100 for automatically running simulations on the principal server S 110 of the likely effectiveness of their advertising campaigns using the system 100. The advertisers can select one or more of the following options for example: (a) the advertisers can optimize metadata associated with their advertisements so as to achieve exposure to more appropriate users U 60 who are likely to respond positively to the advertisements;
(b) the advertisers can vary a time period over which their advertising campaign is to be run, for example advertising coverage in the system 100 is at a premium cost in a period approaching the Chinese New Year, the Christian Christmas Season or Thanksgiving in the
United States of America, whereas summer campaigns when users U 60 are on holiday are potentially relatively less costly;
(c) the advertisers can vary the size of their advertising campaign to obtain a higher priority of advertising coverage when advertising campaigns from other advertisers are running, or scheduled to run in the system 100; as will be elucidated later, advertisers can either define a given priority for their adverts and/or define a number of user impressions to be achieved within a given time period and/or define a total target number of impressions to be achieved for any given advertisement.
Although the principal server S 110 is operable to recommend a set of advertisements in the aforementioned cue list Q to present to the user U 60, the application software AS executing within the user node 70 is responsible for selecting within the set in response to various rules conveyed with metadata pertaining to the advertisement program content PA. Such selection can arise in response to local weather conditions in a geographical region of the user U 60, for example promoting ice creams and cool fruit juice drinks to the user U 60 on days when external temperatures approach +35°C or higher in summer, or promoting umbrellas on rainy days to the user U 60. Rules for selecting advertisements from the set are at least in part implemented by the principal server S 110 defining the set of advertisements in response to user profile Z metadata UMD and the search request 400. As elucidated in the foregoing, rules are optionally conveyed in metadata pertaining to the advertisements program content PA provided from the peer-to-peer P2P network 120 to the user U 60. As mentioned earlier, such rules are preferably defined in a computer language such as Javascript or XML into executable code associated with the advertisement program content PA, such code being susceptible to being interpreted by the application software AS executing at the user node 70. For example, rules regarding juxtaposition of one advertisement in a presentation sequence relative to another advertisement are defined in the aforementioned executable code included in metadata associated with the advertisement program content PA. For example, a first soft drinks manufacturer Ml pays for an advertising campaign via the system 100 after a second drinks manufacturer M2 has already started an advertising campaign via the system 100. The second drinks manufacturer M2 has specified that its advertisements are to be presented in sequence with unrelated types of advertisements, for example unrelated clothes advertisements, shown immediately before and after the second manufacturer M2's advertisement so as to create an enhanced user impression by way of contrast of respective advertisement subject matters. The second manufacturer M2's advertisement program content PAM2 when propagated via the peer-to-peer P2P network 120 includes executable code defining a rule that the advertisement program content PAM2 is to be shown between advertisements of unrelated subject matter. When the first manufacturer Mi 's advertisement program content PAM1 is subsequently propagated via the peer-to-peer P2P network 120 to the user U 60 concurrently with the second manufacturer M2's advertisement program content PAM2 being supplied thereto, the application software AS executing at the user node 70 is operable to provide the second manufacturer M2's advertisement program content PAM2 priority and deliberately not present the first manufacturer Mi 's advertisement program content PAM) immediately before or after the second manufacturer M2's advertisement program content PAM2-
A priority problem potentially arises when the aforesaid second manufacturer M2 has paid a premium cost for its advertisement program content PAM2 to be shown in an aforementioned isolated manner, and the aforesaid first manufacturer Ml has paid a premium cost for its advertisement program content PAMι to be deliberately presented immediately adjacent to other related soft drinks adverts. The application software AS then has a conflict of instructions which it resolves by a priority rating which will now be elucidated in greater detail.
In the system 100, advertisement program content PA propagated via the peer-to-peer P2P network 120 has one or more priority parameters included within executable software code included in metadata associated with its data blocks B, the one or more priority parameters defining a priority rating PRA for the advertisement program content PA. Alternatively, or additionally, priority rating data is optionally included in the data blocks B. The persons responsible for the system 100 are, for example, susceptible to configuring the system 100 so that advertisers pay progressively higher prices for progressively higher priority rating PRA for their advertisements. The software code optionally also defines rules for presenting the advertisement program content PA, namely a manner in which the advertisement program content PA is to be shown; for example, the advertisement program content PA is to be shown after 6 p.m. when weather conditions are rainy in juxtaposition against other advertisements relating to a class QP of advertisements including outdoor raincoats.
When the application software AS executing at the user node 70 processes the cue list Q provided from the principal server S 110 including a choice of potential advertisement program content PA to present to the user U 60, the application software AS, when confronted with a choice of potential advertisements to show to the user U 60, checks the priority ratings PRA of the advertisements and optionally selects a series of advertisement in progressively decreasing order of priority rating PRA. For example, Table 2 provides priority ratings PRA for a series of five advertisements AD 1 to AD5.
Table 2: Advertisements with example priority ratings PRA
Figure imgf000038_0001
In an event that three advertisements are to be shown in a given advertisement opportunity as defined in the cue list Q between episodes of a Frankenstein horror movie, and wherein metadata pertaining to the cue list Q specifies adverts ADl to AD5 as candidates for user presentation, the application software AS is operable to select advertisements AD2, AD4 and AD3 because they have the highest priority ratings PRA.
When several advertisements are to be shown in sequence, the application software AS attempts to try to satisfy rules pertaining to all of the several advertisement program contents PA and only invokes the priority ratings PRA in an event of conflict in the rules. For example, in a theoretical scenario, three advertisements AD2, AD3 and AD4 are to be shown to the user U 60 in an advertisement time slot between episodes of the aforesaid Frankenstein horror movie, wherein advertisements AD2 and AD3 are advertisements for clothes; the advertisement AD2 has associated rules associated with its advertisement program content PA that it should not be shown in sequence juxtaposed against another clothes advertisement, whereas the advertisement AD 3 has no such limitation regarding its presentation to the user U 60. The advertisement AD4 is an advertisement for personal cyber-massage machines and hence is in another category QP than that for clothes. In such a theoretical scenario, the application software AS presents the advertisements to the user U 60 in a sequence AD2 => AD4 => AD3, or alternatively AD3 => AD4 => AD2. In an event that the advertisement AD3 has associated therewith a rule that it should be shown as a first clothes advertisement in a sequence of advertisements, the application software AS will preferentially select a showing sequence AD3 => AD4 => AD2. In a further scenario wherein the advertisements AD2 and AD3 both have associated therewith rules that they should be a first clothes advertisement to be shown in a sequence of advertisements, a conflict arises and the application software AS then identifies which of the advertisements AD2 and AD3 has a higher priority rating PRA; an advertisement amongst the advertisements AD2 and AD3 which has a high priority rating PRA, namely the advertisement AD2, is shown first in the sequence of advertisements to the user U 60. For each advertisement, there can be optionally defined a series of priority ratings for resolving situations wherein multiple conflicts arise; for example, an advertisement ADm has a first priority rating PRAl for resolving conflicts of order of showing, a second priority rating PRA2 for resolving conflicts relating to juxtaposition of other subject matter classes of advertisements, and a third priority rating PRA3 for controlling how often the advertisement ADm is shown.
The priority rating PRA optionally also has a bearing on how frequently any given advertisement is shown. An advertisement with a high rating PRA will preferentially be selected for showing, for example as elucidated in the foregoing in respect of theoretical scenario depicted in Table 2, and therefore has more frequent exposure to users U 60. Statistical data gathering executed at the user nodes 70, and within the peer-to-peer P2P network 120 and/or at the principal server S 110 is operable to monitor a total number of impressions of advertisements within a given time period. In a situation wherein an advertiser has specified that its given advertisement should be shown to a defined number of user U 60 impressions per week, the priority rating PRA associated with the advertisement program content PA is beneficially dynamically variable. Such dynamic control using the priority rating PRA requires that metadata provided from the principal server S I lO from time-to-time in response to user search requests SR includes values for priority rating PRA which are susceptible to being rapidly updated to control dissemination of the advertisement within the system 100.
Thus, persons responsible for operating the system 100 provide advertisers with a range of options:
(a) undertaking to provide a defined number of impressions, namely presentations, of a given advertisement ADx to users U 60 within a defined time period; alternatively to provide a defined rate of impressions with time;
(b) undertaking to present a given advertisement ADx on a basis of its priority rating PRA; optionally, the principal server S 110 is operable to monitor advertisement presentations, namely impressions, within the system 100 and thereby compute an average value of priority rating PRAaverage of advertisements being shown, wherein this average value PRAaverage will be dynamically varying with time as advertisements are presented to users
U 60; the advertiser is optionally presented with an opportunity to purchase higher or lower priority ratings PRA in order to control a frequency of showing of their advertisement relative to other competing advertisements within the system 100; there is thereby created a dynamic market within the system 100 for presenting advertisements, such a dynamic market being unknown in contemporary television systems, even in the system 10 illustrated in Figure 1 ; optionally, the average value PRAaverage is defined per category QP of advertisement; alternatively, the average value PRAa%erage can be defined globally for all classes QP of advertisement shown to user U 60 coupled to the system 100; (c) undertaking to present a given advertisement ADx with presentation being subject to defined rules, wherein execution of the rules requires the advertiser to pay an additional fee; for example, an advertiser pays an extra premium for ensuring that its fruit juice advertisement is not presented immediately juxtaposed to unhealthy sugary soft drink advertisements; alternatively, the advertiser has an option to pay less for its advertisement being shown with a risk for some users U 60 that its advertisement will be shown juxtaposed against unhealthy sugary soft drinks advertisements as the application software AS methodically and automatically selects advertisements for presentation to users U 60. Aforementioned options (a) to (c) can be combined in any combination if required pursuant to the present invention.
Advertising campaigns can be started or halted by at least two mechanisms within the system 100, namely: (a) by including or not including identities of specific advertisement program content PA within cue lists Q sent to users U 60; and/or
(b) by varying a priority rating PRA of one or more advertisements of the advertising campaign, for example a value of priority rating approaching zero effectively halts in most situations showing of the one or more advertisements even if their data blocks are still stored within the peer-to-peer P2P network 120.
As elucidated in the foregoing, program content data blocks are periodically purged from the peer-to-peer P2P network 120 to prevent its data storage capacity being exceeded. Beneficially, when an advertising campaign is of relatively short duration, its advertisement program content data blocks are purged relatively promptly from the P2P network 120.
The persons responsible for operating the system 100 are also optionally capable of configuring the system 100 as a dynamic market for the presentation of film program content PF, especially when the users U 60 are coupled to the system 100 by way of regular subscription payments. The principal server S 110 is operable to collate statistics of how often the users U 60 access given film program content PF specified in their cue lists Q, wherein the cue lists Q are provided from the principal server S 110. Optionally, providers of film program content PF, for example film studios, theaters, concern hall proprietors, news reporting companies and so forth, are paid a proportion of the regular subscriptions as a function of a total number of times their film program content PF is accessed by the users U 60 over a given period. Optionally, the providers of the film program content PF can pay an extra premium for their film program content PF to be given a higher rating in the recommendation engine 320 to encourage users U 60 to view the content. Alternatively, film content providers can pay a premium for metadata associated with their film program content PF being defined in such a manner to encourage the recommendation engine 320 frequently to recommend their film program content PF to users U 60 when executing aforesaid search requests SR. In a similar manner to advertising program content PA, film program content PF can be given an associated priority rating PRF and selected in a competitive manner in a similar manner as described in the foregoing for advertising program content PA. It should be borne in mind that film program content PF optionally includes program content uploaded into the system by users U 60 from their user nodes 70.
From the foregoing, it will be appreciated that operation of the system 100 represents a radical departure from known digital television systems. Moreover, propagation of program content via the peer-to-peer P2P network 120 with associated presentation rules in combination with statistical data collection by the principal server S 110 represents a unique opportunity to create a complex and diverse system for providing program content of disparate types to users U 60 in a targeted manner hitherto unknown in digital television. It thus represents a potential revolution in the field of digital television.
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.
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 nonexclusive 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 method of processing user data in a digital television system (100), characterized in that the digital television system (100) comprises a principal server arrangement (1 10), a peer-to-peer network (120) coupled in communication with the principal server arrangement (110), and one or more user nodes (70) coupled to the peer-to-peer network (120), said method including steps of: (a) propagating program content data from the principal server arrangement (1 10) to the peer-to-peer network (120) in a peer-to-peer manner;
(b) providing at least a subset of the propagated program content data from the peer-to-peer network (120) to the one or more user nodes (70) for user (60) presentation thereat;
(c) collating information at the one or more user nodes (70) indicative of one or more user (60) responses to presentation of program content provided from the peer-to-peer network
(120) to the one or more user nodes (70);
(d) communicating the collated information as user data (450) from the one or more user nodes (70) at least one of: directly to the principal server arrangement (1 10), indirectly via the peer-to-peer network (120) to the principal server arrangement (110); and (e) processing the user data (450) received at the principal server arrangement (110) for generating statistical data representative of user responses to the program content data presented to the one or more users (60).
2. A method as claimed in claim 1, wherein said principal server arrangement (110) is a distributed server configuration within a communication network (40).
3. A method as claimed in claim 1, wherein said peer-to-peer network (120) is implemented as an interlinked network of nodes including at least one of: supernodes (130), data supply nodes (150), user nodes (70).
4. A method as claimed in claim 3, wherein said supernodes (130) are operable to retain information indicative of associated data supply nodes (150) in which propagated items of program content data are stored.
5. A method as claimed in claim 1, including steps of:
(f) collating at each user node (70) user responses and generating said response information so as to associate said user responses with corresponding program content prompting said user responses; and (g) communicating said response information included in said collated information (450) for receipt at the principal server arrangement (1 10) for generating said statistical data definable in relation to said corresponding program content.
6. A method as claimed in claim 1, including steps of: (h) sending from the one or more user nodes (70) at least one request for program content to the principal server arrangement (1 10); and (i) responding to the at least one request for program content by sending from the principal server arrangement (1 10) a definition of the subset of propagated program content data to the one or more users nodes (70).
7. A method as claimed in claim 6, including a step of:
(j) generating said definition of the subset of propagated program content by at least partially matching metadata of the one or more requests with metadata of program content data propagated within the peer-to-peer network ( 120).
8. A method as claimed in claim 6, including a step of:
(k) generating said definition of the subset of propagated program content data by at least partially matching metadata of the one or more requests with metadata of program content data propagated within the peer-to-peer network and with user metadata provided from the one or more user nodes (70).
9. A method as claimed in claim 8, including steps of:
(1) analyzing said user data in relation to said user metadata;
(m) identifying when said user data represents a viewing pattern which is substantially inconsistent with said user metadata; and
(n) updating said user metadata to be more consistent with said user data, thereby rendering the user metadata more representative of program content consumption patterns at said one or more user nodes (70).
10. A method as claimed in claim 9, wherein said user metadata is at least in part a temporal function reflecting diurnal and/or seasonally temporally changing viewing patterns of said one or more users (60).
1 1. A method as claimed in claim 8, including steps of:
(o) analyzing said user data with said metadata of program content propagated within the peer-to-peer network; (p) identifying when said user data is substantially inconsistent with said metadata of program content propagated within the peer-to-peer network; and (q) updating at said principal server arrangement said metadata of program content propagated within the peer-to-peer network (120) to be more closely representative of said user data.
12. A method as claimed in any one of the preceding claims, including a step of including executable code within at least one of: metadata associated with said program content data propagated in said peer-to-peer network (120), said program content data propagated in said peer- to-peer network (120), and wherein said executable code defines rules for presenting said program content at said one or more user nodes (70).
13. A method as claimed in claim 12 wherein said executable code includes Javascript and/or XML.
14. A method as claimed in claim 12, including a step of including one or more priority rating parameters in at least one of: metadata associated with said program content data propagated in said peer-to-peer network (120), said program content data propagated in said peer- to-peer network (120), and wherein said one or more priority rating parameters are included for use at the one or more user nodes (70) for resolving conflicts when executing rules associated with presenting a plurality of items of program content data.
15. A method as claimed in claim 12, including a step of including one or more priority rating parameters in at least one of: metadata associated with said program content data propagated in said peer-to-peer network (120), said program content data propagated in said peer- to-peer network (120), and wherein said one or more priority rating parameters are included for use at the one or more user nodes (70) for selecting on a basis of values of said one or more priority rating parameters items of program content data for user presentation at said one or more user nodes (70).
16. A method as claimed in claim 14 or 15, wherein said one or more priority rating parameters are temporally dynamically variable for controlling a priority in which said program content data is present at said one or more user nodes (70).
17. A method as claimed in any one of the preceding claims, wherein said program content data includes at least one of: film program content, advertisement program content.
18. A digital television system (100) including a data communication network (40, 120) operable to provide program content data from a data source (110) to one or more user nodes (70) for user (60) presentation thereat, wherein the one or more user nodes (70) are operable to collate user responses for communication via the network (40, 120) to a data processing arrangement (300, 310) to generate user statistical data representative of responses of said one or more users (60) to said program content data.
19. A digital television system as claimed in claim 18, wherein said program data is propagated within said data communication network (40, 120) in a peer-to-peer manner.
20. A user node (70) for a digital television system (100) operable to implement a method as claimed in any one of claims 1 to 17, said user node (70) including hardware for presenting said program content data received at the user node (70) to one or more users (60) of the user node (70), and for sensing and collating user responses to said presented program content data for communication within said system (100) for generating user statistical data representative of responses of said one or more users (60) to said program content data.
21. A user node (70) as claimed in claim 20, said user node (70) being implemented using computing hardware operable to execute a software product.
22. A user node (70) as claimed in claim 21, implemented using at least one of: a personal computer, a WiFi telephone, a personal digital assistant, a dedicated hardware unit couplable to a contemporary television apparatus.
23. A software product stored on a data carrier or conveyable via a data signal, said software being executable on computing hardware for implementing a method as claimed in any one of claims 1 to 17.
24. A software product stored on a data carrier or conveyable via a data signal, said software being executable on computing hardware for implementing a user node as claimed in claim 20, 21 or 22.
PCT/EP2006/011975 2006-05-15 2006-12-12 Method of processing user data WO2007131544A1 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
EPPCT/EP2006/004560 2006-05-15
EPPCT/EP2006/004559 2006-05-15
PCT/EP2006/004559 WO2007131525A1 (en) 2006-05-15 2006-05-15 User interface for digital television networks
PCT/EP2006/004560 WO2007131526A1 (en) 2006-05-15 2006-05-15 Method of associating program content data in a digital television network

Publications (1)

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

Family

ID=37891865

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2006/011975 WO2007131544A1 (en) 2006-05-15 2006-12-12 Method of processing user data

Country Status (1)

Country Link
WO (1) WO2007131544A1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001002974A1 (en) * 1999-07-06 2001-01-11 Rotor Communications Corporation Decentralized internet-based program production system
US20040015995A1 (en) * 2002-06-28 2004-01-22 International Business Machines Corporation Apparatus and method for peer to peer VOD system
US20040025180A1 (en) * 2001-04-06 2004-02-05 Lee Begeja Method and apparatus for interactively retrieving content related to previous query results
US20050055718A1 (en) * 2003-09-05 2005-03-10 Stone Christopher J. Peer-to-peer architecture for sharing video on demand content
US20050125302A1 (en) * 2003-12-04 2005-06-09 International Business Machines Corporation Tracking locally broadcast electronic works

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001002974A1 (en) * 1999-07-06 2001-01-11 Rotor Communications Corporation Decentralized internet-based program production system
US20040025180A1 (en) * 2001-04-06 2004-02-05 Lee Begeja Method and apparatus for interactively retrieving content related to previous query results
US20040015995A1 (en) * 2002-06-28 2004-01-22 International Business Machines Corporation Apparatus and method for peer to peer VOD system
US20050055718A1 (en) * 2003-09-05 2005-03-10 Stone Christopher J. Peer-to-peer architecture for sharing video on demand content
US20050125302A1 (en) * 2003-12-04 2005-06-09 International Business Machines Corporation Tracking locally broadcast electronic works

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"Share it! deliverable#3: Description of example applications", INTERNET CITATION, 30 November 2002 (2002-11-30), XP002292778, Retrieved from the Internet <URL:http://www.extra.research.philips.com/euprojects/share_it/deliverable s/share-it-nob-31nov02-d3v10-final.pdf> [retrieved on 20040816] *
JOHAN POUWELSE ET AL ASSOCIATION FOR COMPUTING MACHINERY: "P2P-based PVR Recommendation using Friends, Taste Buddies and superpeers", 2005 INTERNATIONAL CONFERENCE ON INTELLIGENT USER INTERFACES. IUI 05. SAN DIEGO, CA, JAN. 9 - 12, 2005, ANNUAL INTERNATIONAL CONFERENCE ON INTELLIGENT USER INTERFACES, NEW YORK, NY : ACM, US, 9 January 2005 (2005-01-09), XP002410256, ISBN: 1-58113-894-6 *

Similar Documents

Publication Publication Date Title
US11195185B2 (en) Asynchronous advertising
US8966524B2 (en) Method of associating program content data in a digital television network
US10542321B2 (en) Receiver and system using an electronic questionnaire for advanced broadcast services
US10390101B2 (en) Advertisement rotation
US8732337B2 (en) System and method for delivering content to users on a network
US9367862B2 (en) Asynchronous advertising placement based on metadata
US8365295B2 (en) System and/or method for distributing media content
AU2012340249B2 (en) Method and apparatus for enabling recipient interaction with a content stream
US8146126B2 (en) Request for information related to broadcast network content
US20070265979A1 (en) User programmed media delivery service
US20070094081A1 (en) Resolution of rules for association of advertising and content in a time and space shifted media network
US20070094083A1 (en) Matching ads to content and users for time and space shifted media network
CN104620591A (en) Method and system for dynamically inserting content into streaming media
JP2011155695A (en) System and method for presenting search result
US20100162312A1 (en) Method and system for retrieving online content in an interactive television environment
US8566161B2 (en) Method and system for determining a position of information based on an intention of a party concerned
WO2007131525A1 (en) User interface for digital television networks
WO2007131544A1 (en) Method of processing user data
WO2007131524A1 (en) Method of supplying data in digital television networks
SECTOR FG IPTV-DOC-0125
Sanchez New Trends in Internet Market: An Exemplary of Strategic Chances and Risks for the Mobile Network Industry

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

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

Country of ref document: EP

Kind code of ref document: A1