CA2528183A1 - Methods and apparatus for transmitting user selections to a host location in an interactive communication system - Google Patents

Methods and apparatus for transmitting user selections to a host location in an interactive communication system Download PDF

Info

Publication number
CA2528183A1
CA2528183A1 CA002528183A CA2528183A CA2528183A1 CA 2528183 A1 CA2528183 A1 CA 2528183A1 CA 002528183 A CA002528183 A CA 002528183A CA 2528183 A CA2528183 A CA 2528183A CA 2528183 A1 CA2528183 A1 CA 2528183A1
Authority
CA
Canada
Prior art keywords
method defined
data
host
memory
user data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
CA002528183A
Other languages
French (fr)
Inventor
Ovidiu Octavian Popa
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
BCE Inc
Original Assignee
BCE Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by BCE Inc filed Critical BCE Inc
Publication of CA2528183A1 publication Critical patent/CA2528183A1/en
Abandoned legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H20/00Arrangements for broadcast or for distribution combined with broadcast
    • H04H20/38Arrangements for distribution where lower stations, e.g. receivers, interact with the broadcast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H60/00Arrangements for broadcast applications with a direct linking to broadcast information or broadcast space-time; Broadcast-related systems
    • H04H60/29Arrangements for monitoring broadcast services or broadcast-related services
    • H04H60/33Arrangements for monitoring the users' behaviour or opinions
    • 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/47End-user applications
    • H04N21/475End-user interface for inputting end-user data, e.g. personal identification number [PIN], preference data
    • H04N21/4758End-user interface for inputting end-user data, e.g. personal identification number [PIN], preference data for providing answers, e.g. voting
    • 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/6581Reference data, e.g. a movie identifier for ordering a movie or a product identifier in a home shopping application
    • 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

Abstract

A method for execution by customer equipment capable of communication with a user. The method comprises collecting user data, storing the user data in a memory scheduling execution of a data send application at a time later than the current time. The data send application comprises computer-readable instructions for causing transmission of the user data to a host. The data send application may be downloaded into the memory, or it may already reside in the memory before the user data is collected. Also, there is disclosed a customer device, with a user interface for collecting user data, a memory and a control unit adapted to execute computer-readable instructions for storing the collected user data into the memory and scheduling execution of a data send application at a time later than the current time. Thus, the transmission of votes and other information can be delayed until a time frame where resource usage is statistically lower.

Description

6 The present invention relates generally to telecommunications and, in 7 particular, to methods and apparatus for transmitting selections made by 8 a user of an interactive communication system, such as an interactive 9 television system, to a central location.
1l BACKGROUND

13 Interactive television is an emerging field, with possibilities far exceeding 14 those of conventional (i.e., one-way) television. One of the features of interactive television is the ability to solicit and gather viewer input to 16 specific queries. Examples of data gathering include conducting political 17 polls during a newscast, obtaining viewer preferences during a talent i8 contest, and so on. One way in which this information can be collected is 19 through the use of a set-top box at the customer premises, which is connected to a viewer's television set. At a specified moment during a 21 broadcast, the set top box displays a pop-up on a television screen while 22 the viewer is watching a particular television channel. The pop-up 23 presents a plurality of choices. The viewer opts for one of the choices by 24 pressing one or more keys on a remote control device. The set top box collects the °vote" that has been cast by the viewer and the pop-up 26 disappears from the screen.
27 The set top box then has the job of transmitting the vote to a central 28 location so it can be tallied. This is the point at which television becomes 29 truly interactive by requiring two-way communications. In a satellite-based system, which employs a communication medium that is inherently 31 one-way, the requirement for interactivity is met by equipping the set top 1 box with a modem that is connected to a residential telephone line. Thus, 2 when a vote is cast by a viewer, the set top box instructs the modem to 3 dial a designated telephone number.
4 Conventionally, the telephone number dialed by the modem is related to the result of the vote. In other words, different selections made by the 6 viewer will cause the modem to dial different telephone numbers. As soon 7 as the telephone number is dialed and the call is answered at that 8 telephone number, the call is dropped. A computer counts the number of 9 calls dropped, which translates into a number of votes cast for a particular option. The numbers of votes cast for the various options are then 11 gathered by a central database for statistical purposes.
12 Since interactive television is a relatively new phenomenon, viewers may 13 be reluctant to cast votes when asked to do so. In order to encourage 14 viewers to cast votes, the television content provider may offer a prize.
In order to give away the prize, information needs to be collected about 16 each viewer so as to allow a winning viewer to be identified. For this 17 reason, the above-described drop call technique is insufficient. Rather, a 18 lengthier and more complex exchange of information needs to be 19 performed at the time that a given set top box transmits a vote to a host modem.
21 However, the need for a lengthier exchange with the host modem leads to 22 a severe capacity bottleneck. Specifically, consider the fact that all 23 viewers of a particular television channel will simultaneously receive a 24 pop-up on their screens and that these viewers will all vote during approximately the same period of time. Consequently, multiple set top 26 boxes may dial the same telephone number during a common time 27 interval. However, the number of host modems in a given modem bank is 28 limited. Thus, given that the exchange of information lasts a certain 29 amount of time, there is a possibility that the number of attempted calls at a critical time exceeds the total number of host modems in a given 31 modem bank. As a result, there may be an inaccuracy in the number of 32 votes counted, or a viewer's telephone line may be occupied for an 33 unacceptable amount of time due to multiple failed attempts at dialing a 34 particular telephone number.

1 Against this background, it is clear that the interactive television industry 2 is in need of an improvement in the way in which the results of viewer 3 input are transmitted to a central location.

SUMMARY OF THE INVENTION

7 In accordance with a first broad aspect, the present invention may be 8 summarized as a method for execution by customer equipment capable of 9 communication with a user. The method comprises collecting user data, 1o storing the user data in a memory and scheduling execution of a data 11 send application at a time later than the current time. The data send 12 application comprises computer-readable instructions for causing 13 transmission of the user data to a host.
14 In accordance with a second broad aspect, the present invention may be summarized as a method for execution by a plurality of customer devices 16 capable of communication with respective users. The method comprises 17 collecting respective user data from the respective users, storing the 18 respective user data in respective memories and scheduling execution of a 19 plurality of data send applications at respective execution times. The data send applications comprise respective computer-readable instructions for 21 causing transmission of the respective user data to a host.
22 In accordance with a third broad aspect, the present invention may be 23 summarized as computer-readable media tangibly embodying instructions z4 for execution by a control unit in a customer device to perform a method, the control unit having access to a memory, the method comprising 26 collecting user data, storing the user data in the memory, and scheduling 27 execution of the data send application at a time later than the current 28 time. The data send application comprises second computer-readable 29 instructions for causing transmission of the user data to a host.
In accordance with a fourth broad aspect, the present invention may be 31 summarized as a customer device, which comprises a user interface for 32 collecting user data from a user of the customer device, a memory, and a 33 control unit adapted to execute computer-readable instructions for storing 1 the collected user data into the memory and scheduling execution of a 2 data send application at a time later than the current time.
3 These and other aspects and features of the present invention will now 4 become apparent to those of ordinary skill in the art upon review of the following description of specific embodiments of the invention in 6 conjunction with the accompanying drawings.

1o In the accompanying drawings:
11 Fig. 1 is a block diagram showing an interactive television system, 12 including a digital set top box;
13 Fig. 2 is a block diagram showing the contents of a memory in the set top 14 box of Fig. 1;
Fig. 3 shows the steps in a channel control application executed by a i6 control unit in the set top box of Fig. 1;
17 Fig. 4 shows the steps in a voting application executed by the control unit;
i8 Fig. 5 shows the steps in a data send application executed by the control 19 unit;
Fig. 6 shows how deferred execution of the data send application can be 21 distributed over an extended time frame among a plurality of set top 22 boxes.

26 In accordance with a non-limiting embodiment of the present invention, 27 Fig. 1 shows an example of an interactive television system in which 28 customer equipment delivers an interactive television service to a viewer.
29 The customer equipment comprises a satellite receiver (dish) 12 and a digital set top box 14. The set top box 14 comprises a tuner 16, a viewer 1 interface 18, a control unit 20, an on-screen display and graphics 2 generator (ODGG) 22, a television interface 24 and a modem 26. The 3 control unit 20, which may be implemented as a microprocessor and/or an 4 application-specific integrated circuit (ASIC), has access to a memory 28.
The memory 28 comprises a plurality of blocks whose purpose and 6 function will be described in some detail later on.
7 The satellite dish 12 captures a broadcast signal emitted by a broadcast 8 control center 70 and forwarded by a satellite (not shown) orbiting the 9 Earth. The broadcast signal comprises a plurality of channels 40, S0, 60, to each of which comprises audio-video content. The audio-video content for 11 a given channel may occupy one or more sub-channels (subscripts A and 12 V). In addition, any given channel may also comprise one or more data 13 sub-channels (subscript D) that carries data intended for the set top box 14 14. Without limiting the scope of the present invention, the one or more data sub-channels are hereinafter referred to in the singular.
16 The received broadcast signal is fed to the tuner 16. Among the various 17 channels captured by the satellite dish 12, only a subset (e.g., one or two) 18 correspond to channels that have been selected by a viewer. The identity 19 of the selected channels) will be indicated by a tuning signal 30 from the control unit 20. Assuming for simplicity that there is a single selected 21 channel, namely channel 40, the tuner 16 filters the received broadcast 22 signal to allow passage of the associated audio-video channels 40A, 40~
23 and the associated data sub-channel 40p.
24 The control unit 20 processes the digital signal received from the tuner 16, with the audio-video sub-channels 40A, 40~ of the selected channel 40 26 being output to the ODGG 22. The ODGG 22, under the control of a 27 graphics signal 32 from the control unit 20, modifies the digital signal to 28 introduce certain visual elements, such as a pop-up. The ODGG 22 sends 29 the modified digital signal to the television interface 24, which effects conversion of the digital signal into a format suitable for viewing on a 31 television display 34. This format may be analog or digital, depending on 32 the type of display 34.
1 The data sub-channel 40p received from the tuner 16 is also processed by 2 the control unit 20. The data carried in the data sub-channel 40p can 3 include the information to be displayed in a pop-up that is presented to 4 the viewer. The data carried in the data sub-channel 40p may be stored in the memory 28 in a manner to be described in greater detail later on.
6 Continuing with the description of the set top box 14 in Fig. 1, the viewer 7 interface 18 captures viewer input, typically effected via a remote control 8 device 36 such as an infrared console, a wireless mouse or other device.
9 The viewer interface 18 may thus have a wireless component, but it is not l0 restricted to such. Examples of viewer input include but are not limited to 11 selecting a channel, programming a personal video recording function, 12 casting a vote, and so on.
13 Some forms of viewer input influence the tuning signal 30 supplied by the 14 control unit 20 to the tuner 16. Specifically, when the viewer identifies a selected channel to be viewed on the display 34, the identity of the 16 selected channel is captured by the viewer interface 18 and sent to the 17 control unit 20, which in turn generates the tuning signal 30, causing the i8 tuner 16 to allow passage of the digital signal associated with the selected 19 channel.
Other forms of viewer input are the result of the interactive nature of the 21 system of Fig. 1. Specifically, in response to viewing a pop-up, a viewer 22 may enter a selection on the remote control device 36. The selection is 23 captured by the viewer interface 18, which is then sent to the control unit 24 20. The control unit 20 interprets the viewer selection and may cause the selection to be reflected in the visual elements applied by the ODGG 22.
26 In addition, and as will be described in greater detail later on in this 27 specification, the viewer selection is stored in the memory 28 for 28 transmission outside the set top box 14 with the aid of the modem 26.
29 The modem 26 is connected to a telephone line in the viewer's home via a telephone jack (e.g., RJ-11). The modem 26 can be controlled by a 31 modem control signal 38 from the control unit 20, which causes it to dial a 32 given telephone number and establish a communication link with a remote 33 modem. The remote modem need not be located at the broadcast control 1 center 70. For example, the remote modem could be reachable via a toll-2 free number, which may be answered at a call center separate from the 3 broadcast control center 70. For the purposes of this discussion, let the 4 remote modem be part of a modem bank hereinafter referred to as a host computer 80 and let the location of the host computer 80 be hereinafter 6 referred to as a host location. Thus, it will be seen that the modem 26 is 7 used to send to the host computer 80 the viewer input, which is collected 8 by the control unit 20 in response to a particular pop-up, or during 9 ordinary usage of the set top box 14.
l0 It will be appreciated that the control unit 20 plays an important role in 11 rendering the viewing experience interactive. Accordingly, and with 12 additional reference to Fig. 2, it may be useful to describe in greater detail 13 the functionality of the control unit 20. Specifically, the control unit 20 14 runs an operating system or kernel, residing in a reserved block of the memory 28 ("memory block"), denoted 202.
16 The operating system is responsible for executing basic applications upon 17 detection of stimuli, which may be carried in the signals received from the 18 tuner 16 or the viewer interface 18, for example. These basic applications 19 reside in respective blocks of a code memory 204 as sets of computer-readable program instructions. Two of the applications that can be stored 21 in respective blocks 204A, 204B of the code memory 204 include a 22 "channel change" application and a "voting" application. Each of these 23 applications will be described in greater detail herein below. Other 24 applications that may be executed by the control include but are not limited to an event programming application and a session management 26 application.
27 The operating system also has the responsibility to execute certain other 28 applications at specific times in the future. These can be referred to as 29 scheduled applications. Rather than being stored in the code memory 204, the scheduled applications can reside anywhere in the memory 28, 31 including in a series of blocks 206A, 206B of a data memory 206. In 32 accordance with an embodiment of the present invention, the scheduled 33 applications are executed "blindly", i.e., under the assumption that a 1 particular block containing the application scheduled for execution 2 comprises valid program instructions.
3 For completeness, the data memory 206 comprises a further block 206D, 4 which is used for storing data and other variables used during execution of the control unit 20.
6 Those skilled in the art will appreciate that either or both of the code 7 memory 204 and the data memory 206 could comprise a medium which is 8 fixed, tangible and readable directly by the control unit 20 (e.g., 9 electrically erasable programmable read-only memory (EEPROM), flash memory, removable diskette, CD-ROM, ROM, or fixed disk). Alternatively, 11 either or both of the code memory 204 and the data memory 206 could be 12 stored remotely but transmittable to the control unit 20 via a modem or 13 other interface device (e.g., a communications adapter) connected to a 14 network over a transmission medium.
Details regarding the channel change application are now provided with 16 reference to Fig. 3. The associated program instructions stored in block 17 204A of the code memory 204 are executed upon detection of a signal 18 from the viewer interface 18 which indicates the viewer's intent to select a i9 channel.
Step 302: The control unit 20 verifies that the identity of the selected 21 channel 40 is different form the one currently being viewed.
22 The identity of the channel currently being viewed can be 23 found in block 206D of the data memory 206 (see step 306).
24 If the selected channel 40 is indeed different, the control unit 20 proceeds to step 304.
26 Step 304: The control unit 20 generates the tuning signal 30 in order to 27 cause the tuner 16 to allow passage of the audio, video and 28 data sub-channels 40A, 40~, 40o associated with the selected 29 channel 40.
Step 306: The control unit 20 stores the identity of the selected channel 31 40 in block 206D of the data memory 206 for future 32 reference (see step 302).

1 Step 308: The control unit 20 exits the channel change application and 2 returns control to the operating system.
3 Details regarding the voting application are now provided with reference 4 to Fig. 4. The associated program instructions stored in block 204B of the data memory 204 are executed upon detection of a marker in one or the 6 other or both of the audio and video sub-channels 40A, 40~ of the selected 7 channel 40, as received from the tuner 16. Such a marker could be 8 inserted by the broadcast control center 70 when it is desired that a pop-9 up be displayed in order to solicit viewer input on a particular subject.
Step 402: The control unit 20 downloads data related to the pop-up into 11 block 206D of the data memory 206. Specifically, the control 12 unit 20 waits for this data to arrive from the tuner 16 on the 13 data sub-channel 400 of the selected channel 40. The data 14 related to the pop-up includes data to be displayed on the screen 34, and may also include a time limit by which the 16 viewer is required to cast a vote.
17 Step 404: The control unit 20 commands the ODGG 22 to display a pop-18 up using the received data related to the pop-up. From a 19 graphical point of view, the pop-up may take on a variety of 2o forms, including a table, grid, array, etc.
21 Step 406: The control unit 20 monitors the viewer interface 18 for 22 viewer input. Viewer input is detected when the signal 23 received from the viewer interface 18 indicates that the 24 viewer has made a selection. If viewer input is detected, the control unit proceeds to step 408; if viewer input is not 26 detected, the control unit 20 continues executing step 406, 27 as long as the time limit has not expired.
28 Step 408: The control unit 20 stores the viewer input in block 206D of 29 the data memory 206. The viewer input may comprise an 3o indication of a vote, selection, etc. In addition, the control 31 unit 20 may store information related to the time at which 32 the viewer input was received or stored.

1 Step 410: The control unit 20 modifies the graphics signal 32 fed to the 2 ODGG 22 such that the pop-up disappears from the display 3 34. This step may be executed in response to the viewer 4 having made a selection or may be executed automatically after expiry of the time limit by which the viewer is permitted 6 to supply viewer input.
7 Step 412: The control unit 20 downloads program instructions related to 8 a 'data send" application into block 206A of the data memory 9 206. Specifically, the control unit 20 waits for these instructions to arrive from the tuner 16 on the data sub-11 channel 40p of the selected channel 40. It is assumed that 12 the broadcast control center 70 will indeed send the 13 instructions.
14 Step 414: The control unit 20 verifies that the program instructions related to the data send application are valid. This does not 16 imply execution of the instructions, only validation so as to 17 ensure that the control unit 20 will likely not crash if it were 18 to execute the contents of block 206A of the data memory i9 206. This step is of course optional, but can be 2o advantageous when the integrity of the received instructions 21 is questionable.
22 Step 416: The control unit 20 communicates with the operating system 23 to schedule execution of the data send application (i.e., the 24 contents of block 206A of the data memory 206) at time later than the current time.
26 Step 418: The control unit 20 exits the voting application and returns 27 control to the operating system.
28 In an alternative embodiment, steps 412 and 414 can be skipped over, 29 i.e., after collecting data from the viewer, the control unit 20 proceeds to step 418, where deferred execution of the data send application is 31 scheduled. In this case, instead of the control unit 20 downloading the 32 program instructions related to the data send application into block 206A
33 of the data memory 206, these program instructions may be pre-loaded in 1 block 206A of the data memory 206 or elsewhere in the data memory 2 206.
3 Details regarding the data send application are now provided with 4 reference to Fig. 5. The associated program instructions stored in block 206A of the data memory 206 are executed at the scheduled time, i.e., as 6 established at step 416 of the voting application. It is within the scope of 7 the present invention to abort another subroutine that the control unit 20 8 may be executing when the time comes to execute the data send 9 application.
Step 502: The control unit 20 determines a telephone number for the 11 modem 26 to dial. The telephone number identifies the 12 location where the host computer 80 can be reached. In one 13 embodiment, the telephone number may be a pre-14 determined telephone number to be used irrespective of the viewer input collected, whereas in other embodiments, a 16 different telephone number may be dialed, depending on the 17 input received from the viewer.
18 Step 504: The control unit 20 causes the modem 26 to dial the selected 19 telephone number and establish a connection with the host computer 80.
21 Step 506: The control unit 20 waits for confirmation of successful 22 establishment of the connection. If the connection is not 23 successfully established, the control unit 20 reverts to step 24 504, where the connection is re-attempted; when the connection is successfully established, the control unit 20 26 proceeds to step 508.
27 Step 508: The control unit 20 causes the modem 26 to send the viewer 28 selection, which is stored in block 206D of the data memory 29 206.
Step 510: The control unit 20 optionally causes the modem 26 to send 31 an identifier associated with the set top box 14. This could 32 be a hardware identifier, such as a MAC-ID, global unique 33 identifier (GUID) or serial number of the set top box or one or 1 more components thereof. This information is used in order 2 to enable the host computer 80 to associate received votes 3 with subscribers, thereby facilitating the distribution of prizes, 4 etc.
Step 512: The control unit 20 exits the data send application and 6 returns control to the operating system.
7 It will thus be seen that the ability to schedule execution of the data send 8 application at a desired time in the future can be used to delay the 9 transmission of votes and other information until a time frame where l0 usage of the telephone line (or the host computer 80 or the set top box 11 14) is statistically lower.
12 It should be appreciated that the scheduled execution time for the data 13 send application may be deliberately varied from one set top box to 14 another. For example, the scheduled execution time for the data send application can be randomized to occur with approximately equal 16 likelihood anywhere in a given time frame of low statistical usage of the 17 telephone line (or the host computer 80 or the set top box 14). An i8 example of suitable time frame is between midnight and 6AM, or between 19 1AM and 5AM, or between 2AM and 4AM, all times local to where the set top box is located.
21 With additional reference to Fig. 6, randomization across an ensemble of 22 set top boxes 14A, 14B, ..., 14N can be effected by performing a random 23 number generation function as part of step 416 described above. The 24 random number generation function can utilize a seed that is taken in part from a MAC-ID, global unique identifier or serial number for each set top 26 box in the ensemble of set top boxes 14A, 14B, ..., 14N. This will ensure 27 that the host computer 80 is contacted in a more uniform manner by the 28 ensemble of set top boxes 14A, 14B, ..., 14N when each executes its own 29 instantiation of the data send application.
It will be appreciated that once the viewer has made a selection in 31 response to a pop-up, the selected channel may be changed. In other 32 words, after executing the voting application, the operating system may 33 execute the channel change application before executing the data send 1 application. This scenario, which is quite likely to occur since the data 2 send application may not execute until the early morning hours, is 3 perfectly acceptable, since the data send application remains stored in a 4 different portion of the memory 28, namely block 206A of the data memory 206.
6 Now, consider the case where the viewer has voted while viewing channel 7 40, then changes to channel 50 and is presented with another opportunity 8 to vote before the data send application has had a chance to execute.
9 This scenario can be handled in many ways.
In a first variant, the same voting application as previously described will 11 be triggered by a marker in one or more of the audio and video sub-12 channels 50A, 50~ of the selected channel 50. This will result in the 13 receipt of program instructions for executing a second data send 14 application. However, instead of storing these new instructions in block 206A of the data memory 206, they will be stored in a different portion of 16 the memory 28, such as block 206B of the data memory 206.
17 In order to allow the control unit 20 to determine where to store a given 18 set of received instructions, be they for the first or second data send 19 application, an additional step may be executed between steps 410 and 412, whereby the control unit 20 verifies, in a certain order, whether each 21 of the available memory blocks (in this case blocks 206A and 206B of the 22 data memory 206) are full, in search of the first vacant code memory 23 block.
24 Of course, in an alternative embodiment, the first and second data send applications may be pre-loaded in the memory 206 and hence there would 26 be no need to download them from the broadcast control center 70.
27 Continuing with the scenario where multiple data send applications (either 28 downloaded or pre-loaded) need to be executed at a later time, there may 29 be an additional benefit to stagger the execution times of the various data send applications so as not to conflict internally at the set top box 14.
31 Thus, the operating system can have final control over the scheduled 32 execution times of multiple data send applications stored in multiple 33 memory blocks.

1 It has been assumed in the foregoing that the contents of blocks 204A, 2 204B of the code memory 204 containing the channel change operation 3 and the voting application, respectively, are pre-determined at the time 4 that the relevant triggering event occurs. This does not imply that the contents of these blocks of the code memory 204 is fixed. In other words, 6 it is within the scope of the present invention to allow the contents of 7 blocks 204A, 204B, which store the channel change application and the 8 voting application, to be dynamically changed (e.g., by an act of 9 downloading), thus offering the ability to upgrade the applications.
Also, although only two blocks 204A, 204B of the code memory 204 and 11 two blocks 206A, 206B of the data memory 206 have been referred to in 12 the above, it is to be understood that the number of blocks in either or 13 both of the code memory 204 and the data memory 206 can be selected 14 to match or exceed the number of applications needed to be run by the control unit 20. Moreover, the distinction between data memory and code 16 memory is made for convenience only, as it is possible to utilize a memory i7 206 that has a plurality of blocks of a more generic nature.
18 Moreover, although the above description has focused on implementation 19 of the invention using a digital set top box, it should be understood that the present invention could be applied to the collection of viewer input 21 using a residential gateway, cable modem or other device used for 22 delivering an interactive television service. Moreover, the present 23 invention could be applied outside the realm of interactive television in 24 order to collect input from users of other media, such as cellular telephones and personal computers. Generally speaking, it is within the 26 scope of the present invention to use any device that is capable of inviting 27 a user to input information that is to be sent to a central location where 28 the information is processed.
29 Furthermore, it will be appreciated that where the customer equipment is a residential gateway, the host computer may be contactable via an 31 Internet Protocol (IP) address over a digital communication link. Thus, 32 the modem 26 can be replaced by an interface that is capable of 33 communicating with the host computer and establishing a connection 1 (e.g., an IP session or a Point-to-Point-over-Ethernet (PPPoE) session) 2 therewith over the digital communication link.
3 While specific embodiments of the present invention have been described 4 and illustrated, it will be apparent to those skilled in the art that numerous modifications and variations can be made without departing from the 6 scope of the invention as defined in the appended claims.

Claims (11)

1. A method for execution by customer equipment capable of communication with a user, comprising:
collecting user data;
storing the user data in a memory;
scheduling execution of a data send application at a time later than the current time, the data send application comprising computer-readable instructions for causing transmission of the user data to a host.
2. The method defined in claim 1, further comprising downloading the data send application into the memory.
3. The method defined in claim 1, wherein the data send application resides in the memory before the user data is collected.
4. The method defined in claim 1, wherein collecting user data comprises receiving an indication of the user's intent to send the user data.
5. The method defined in claim 4, further comprising:
presenting to the user an option to send the user data by making a selection on a remote control device;
wherein the step of receiving an indication of the user's intent to send the user data is executed in response to the step of presenting.
6. The method defined in claim 5, further comprising receiving audio-video content from a source and relaying the received audio-video content to the user.
7. The method defined in claim 6, wherein the audio-video content comprises a marker implanted by the source, the method further comprising:
detecting the marker;
wherein the step of presenting to the user an option to send the user data is executed in response to the step of detecting the marker.
8. The method defined in claim 7, further comprising downloading the data send application into the memory subsequent to detecting the marker.
9. The method defined in claim 1, further comprising:
presenting to the user an option to send the user data by making a selection on a remote control device within a predetermined amount of time;
wherein the step of collecting user data is executed in response to the step of presenting, and is executed only during the predetermined amount of time.
10.The method defined in claim 1, wherein collecting user data comprises receiving an indication of at least one selection made by the user via a remote device.
11.The method defined in claim 10, wherein the at least one selection made by the user via a remote control device comprises a response to a survey.

l2.The method defined in claim 10, wherein the at least one selection made by the user via a remote control device comprises a vote.

13.The method defined in claim 10, wherein the at least one selection made by the user via a remote control device comprises a channel selection.

14.The method defined in claim 1, wherein collecting user data comprises receiving an indication of selections made by the user via a remote control device and an indication of the time instants at which the selections were made.

15.The method defined in claim 1, wherein the memory is a flash memory.

l6.The method defined in claim 1, further comprising:
at the scheduled time, executing the data send application.

l7.The method defined in claim 16, wherein executing the data send application comprises executing the computer-readable instructions for causing transmission of the user data to the host.

l8.The method defined in claim 16, wherein executing the data send application further comprises transmitting identification information to the host.

l9.The method defined in claim 18, wherein the identification information comprises an identifier of the customer equipment.

20.The method defined in claim 19, wherein the identifier of the customer equipment comprises at least one of a MAC ID, a serial number and a global unique identifier (GUID).

21.The method defined in claim 1, further comprising validating the data send application.

22.The method defined in claim 21, wherein validating the data send application comprises verifying executability of the instructions that comprise the data send application.

23.The method defined in claim 1, wherein scheduling execution of the data send application at a time later than the current time is preceded by determining the time at which to schedule the execution of the data send application.

24.The method defined in claim 23, wherein determining the time at which to schedule the execution of the data send command comprises execution of a random number generation process.

25.The method defined in claim 24, wherein the random number generation process utilizes a seed related to an identifier of the customer equipment.

26.The method defined in claim 25, wherein the identifier of the customer equipment comprises at least one of a MAC ID, a serial number and a global unique identifier (GUID).

27.The method defined in claim 24, wherein the time later than the current time is restricted to being between either (I) midnight and six A.M.; (II) one A.M. and five A.M.; or (III) two A.M. and four A.M. local time where the customer equipment is located.

28.The method defined in claim 1, wherein the computer-readable instructions of the data send application comprise:
computer-readable instructions for establishing a connection with the host;
computer-readable instructions for sending the user data to the host in response to successful establishment of the connection with the host.

29.The method defined in claim 28, further comprising storing host location information at a pre-determined location in the memory.

30.The method defined in claim 29, wherein the computer-readable instructions for establishing a connection with the host comprise computer-readable instructions for contacting the host using the host location information.

31.The method defined in claim 30, further comprising, prior to storing the host location information, receiving the host location information from a source.

32.The method defined in claim 30, wherein the host location information comprises a telephone number at which the host can be reached.

33.The method defined in claim 32, wherein the telephone number is a toll-free telephone number.

34.The method defined in claim 30, wherein the host location information comprises an Internet Protocol address at which the host can be reached.

35.The method defined in claim 34, wherein the connection is an Internet Protocol session.
36.The method defined in claim 34, wherein the connection is a Point-to-Point-over-Ethernet session.
37.The method defined in claim 28, wherein the host is selected from a group consisting of a plurality of hosts.
38.The method defined in claim 37, wherein the selected one of the plurality of pre-determined host locations is a function of the user data.
39.The method defined in claim 38, further comprising storing host location information at a pre-determined location in the memory.
40.The method defined in claim 39, wherein the computer-readable instructions for establishing a connection with the host comprise computer-readable instructions for contacting the host using the host location information.
41.The method defined in claim 40, further comprising, prior to storing the host location information, receiving the host location information from a broadcast control center.
42.The method defined in claim 40, wherein the host location information comprises a telephone number at which the host can be reached.
43.The method defined in claim 42, wherein the telephone number is a toll-free telephone number.

44.The method defined in claim 40, wherein the host location information comprises an Internet Protocol address at which the host can be reached.
45.The method defined in claim 44, wherein the connection is an Internet Protocol session.
46.The method defined in claim 44, wherein the connection is a Point-to-Point-over-Ethernet session.
47.The method defined in claim 1, wherein the customer equipment comprises a satellite receiver integrated with a modem.
48.The method defined in claim 2, wherein downloading the data send application into the memory comprises receiving the computer-readable instructions of the data send applications from a broadcast control center.
49.The method defined in claim 1, wherein the customer equipment comprises a set top box.
50.The method defined in claim 1, wherein the customer equipment comprises a residential gateway.
5l.The method defined in claim 1, wherein the customer equipment comprises a cellular telephone.
52.The method defined in claim 1, further comprising:
collecting second user data;

storing the second user data in the memory;
scheduling execution of a second data send application at a second time later than the current time, the second data send application comprising computer-readable instructions for causing transmission of the second user data to the host.
53.The method of claim 52, further comprising downloading the second data send application into the memory.
54.The method defined in claim 52, wherein the second data send application resides in the memory before the second user data is collected.
55.The method defined in claim 52, wherein the first and second data send applications are stored in separate portions of the memory.
56.The method defined in claim 55, wherein the first and second user data are stored in separate portions of the memory.
57.The method defined in claim 56, the times at which the first and second data send applications are scheduled for execution being different from one another.
58.The method defined in claim 56, further comprising selecting the times at which the first and second data send applications are scheduled for execution.
59.A method for execution by a plurality of customer devices capable of communication with respective users, the method comprising:
collecting respective user data from the respective users;

storing the respective user data in respective memories;
scheduling execution of respective data send applications at respective execution times, the respective data send applications comprising respective computer-readable instructions for causing transmission of the respective user data to a host.
60.The method defined in claim 59, wherein at least two of the respective execution times are different.
6l.The method defined in claim 59, wherein the respective execution times are distributed over a time interval greater than one minute.
62.The method defined in claim 59, wherein the respective execution times are distributed over a time interval greater than one hour.
63.The method defined in claim 59, wherein the respective execution times occur during a period of time that is associated with low usage of the customer equipment.
64.The method defined in claim 59, wherein the respective execution times occur during a period of time that is associated with low usage of the host.
65.Computer-readable media tangibly embodying instructions for execution by a control unit in a customer device to perform a method, the control unit having access to a memory, the method comprising:
collecting user data;
storing the user data in the memory;
scheduling execution of a data send application at a time later than the current time, the data send application comprising second computer-readable instructions for causing transmission of the user data to a host.
66.The method defined in claim 65, further comprising receiving and storing the data send application into the memory.
67.A customer device, comprising:
a user interface for collecting user data from a user of the customer device;
a memory;
a control unit adapted to execute computer-readable instructions for:
storing the collected user data into the memory;
scheduling execution of the data send application at a time later than the current time.
68.The customer device defined in claim 67, further comprising a receive interface capable of receiving the data send application from a control center.
69.The customer device defined in claim 68, wherein the control unit is further adapted to executed computer-readable instructions for storing the received data send application into the memory.
70.The customer device defined in claim 67, wherein the data send application comprises computer-readable instructions for causing transmission of the user data to the host.
71.The customer device defined in claim 70, further comprising a modem, wherein the transmission of the user data to the host is effected using the modem.

72.The customer device defined in claim 71, wherein the memory comprises a plurality of memory blocks, wherein the data send application resides in a pre-determined one of said memory blocks.
73.The customer device defined in claim 72, wherein the control unit is further adapted to execute computer-readable instructions for submitting a visual query to the user of the customer premises.
74.The customer device defined in claim 73, wherein the computer-readable instructions for submitting a visual query to the user of the customer premises are effected prior to the computer-readable instructions for storing the collected user data into the memory.
75.The customer device defined in claim 74, wherein the control unit is further adapted to execute computer-readable instructions for validating the data send application.
76.The customer device of claim 67, wherein the receive interface comprises a satellite dish in conjunction with a tuner.
77.The customer device of claim 67, being a set top box.
78.The customer device of claim 67, being a residential gateway.
79.The customer device of claim 67, being a cellular telephone.
CA002528183A 2004-12-03 2005-11-28 Methods and apparatus for transmitting user selections to a host location in an interactive communication system Abandoned CA2528183A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/002,096 2004-12-03
US11/002,096 US20060123454A1 (en) 2004-12-03 2004-12-03 Methods and apparatus for transmitting user selections to a host location in an interactive communication system

Publications (1)

Publication Number Publication Date
CA2528183A1 true CA2528183A1 (en) 2006-06-03

Family

ID=36565965

Family Applications (1)

Application Number Title Priority Date Filing Date
CA002528183A Abandoned CA2528183A1 (en) 2004-12-03 2005-11-28 Methods and apparatus for transmitting user selections to a host location in an interactive communication system

Country Status (2)

Country Link
US (1) US20060123454A1 (en)
CA (1) CA2528183A1 (en)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060212866A1 (en) * 2005-01-27 2006-09-21 Mckay Michael S System and method for graphically displaying scheduling information
US9646005B2 (en) * 2005-10-26 2017-05-09 Cortica, Ltd. System and method for creating a database of multimedia content elements assigned to users
US20080126197A1 (en) * 2006-06-30 2008-05-29 Kent Allen Savage System and method for network-based talent contest
US7789305B2 (en) 2006-09-08 2010-09-07 At&T Intellectual Property I, L.P. System and method of voting via an interactive television system
US20100058424A1 (en) * 2008-08-26 2010-03-04 Comcast Cable Holdings, Llc System and method for controlling signal traffic peaks on a video interactive network
US8925042B2 (en) 2010-04-30 2014-12-30 T-Mobile Usa, Inc. Connecting devices to an existing secure wireless network
US8340637B2 (en) 2010-04-30 2012-12-25 T-Mobile Usa, Inc. Securely establishing presence on telecommunication devices

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6463585B1 (en) * 1992-12-09 2002-10-08 Discovery Communications, Inc. Targeted advertisement using television delivery systems
US5717756A (en) * 1995-10-12 1998-02-10 International Business Machines Corporation System and method for providing masquerade protection in a computer network using hardware and timestamp-specific single use keys
US6298482B1 (en) * 1997-11-12 2001-10-02 International Business Machines Corporation System for two-way digital multimedia broadcast and interactive services
US6530082B1 (en) * 1998-04-30 2003-03-04 Wink Communications, Inc. Configurable monitoring of program viewership and usage of interactive applications
US6067107A (en) * 1998-04-30 2000-05-23 Wink Communications, Inc. Response capacity management in interactive broadcast systems by periodic reconfiguration of response priorities
US7386600B1 (en) * 1998-09-11 2008-06-10 Lv Partners, L.P. Launching a web site using a personal device
CA2377941A1 (en) * 1999-06-28 2001-01-04 United Video Properties, Inc. Interactive television program guide system and method with niche hubs
US6330719B1 (en) * 1999-06-30 2001-12-11 Webtv Networks, Inc. Interactive television receiver unit browser that waits to send requests
WO2001044888A2 (en) * 1999-12-17 2001-06-21 World Theatre, Inc. Centralized telephone order and distribution system
US6891825B1 (en) * 1999-12-22 2005-05-10 Mci, Inc. Method and system of providing multi-user access to a packet switched network
AU2001279170A1 (en) * 2000-08-03 2002-02-18 Edwin L. Lyda Apparatus for remote learning system
US20020073434A1 (en) * 2000-12-07 2002-06-13 Macrodyne Power Llc System and method for supporting broadband communications services
US20030215780A1 (en) * 2002-05-16 2003-11-20 Media Group Wireless Wireless audience polling and response system and method therefor
US20050058138A1 (en) * 2003-09-12 2005-03-17 Tim Bucher Communications management system

Also Published As

Publication number Publication date
US20060123454A1 (en) 2006-06-08

Similar Documents

Publication Publication Date Title
CA2272119C (en) Infrared blaster control system in cable television communication systems
CA2041210C (en) Television audience data gathering
CA2528183A1 (en) Methods and apparatus for transmitting user selections to a host location in an interactive communication system
US5539822A (en) System and method for subscriber interactivity in a television system
US8528038B2 (en) Process for downloading data preceded by announcement signals
CN101854514B (en) Method and system for authenticated fast channel change of media provided over a DSL connection
CA2182427C (en) Program verification for cable television at a consumer location
WO2003007610A2 (en) A television system with acoustic back-link
WO2003005713A1 (en) Headend cherrypicker with digital video recording capability
WO2003005714A1 (en) Dvr enabled gateway for home network
WO2003005320A2 (en) Remote control which can display video
JP2002516041A (en) Method and apparatus for transmitting and downloading preparation information
JP2002057645A (en) Method for data transfer and mobile unit server
US20070136776A1 (en) Television viewers interation and voting method
CN108449612B (en) Method, device, system, storage medium and computer equipment for distributing resources
CA2375698A1 (en) Interactive electronic voting by remote broadcasting
CN101909200A (en) Processing method of television program menu and interactive television server
CN101137035A (en) Apparatus and method for obtaining digital television multiple days electronic program guide data
US6175378B1 (en) Process for controlling the communication flow within an interactive network
JPH08275140A (en) Broadcast method for two-way program, response method with respect to two-way program and responder
JP2008502181A (en) Apparatus and method for transmission of data over a telephone line
EP1010326B1 (en) Method and installation for uploading a user's decoder platform
Gingold Integrated digital services for cable networks
JP3305091B2 (en) Broadcast receiving apparatus and response information receiving method
JP2002118812A (en) Digital broadcast receiver

Legal Events

Date Code Title Description
EEER Examination request
FZDE Discontinued