Patent Publication Number: US-RE48579-E

Title: Method and apparatus for internet-based interactive programming

Description:
CROSS-REFERENCE TO RELATED APPLICATION(S) 
     This application is a reissue of U.S. Pat. No. 8,661,490, issued on Feb. 25, 2014, from U.S. patent application Ser. No. 13/597,185, filed on Aug. 28, 2012, which is a continuation of U.S. patent application Ser. No. 11/335,200, filed Jan. 18, 2006, now U.S. Pat. No. 8,255,966, which is a continuation of U.S. patent application Ser. No. 10/123,618, filed Apr. 15, 2002, now abandoned, the entire contents of all of which are hereby incorporated by reference as if set forth in full herein. 
    
    
     BACKGROUND OF THE INVENTION 
     This invention pertains generally to the field of interactive programming and more specifically to creating interactive programming including participants&#39; interactions. 
     Television has traditionally been a serial process where a television program having a series of images and sounds are broadcast to a viewer in an audience with limited opportunity for the viewer to participate, in the television program. The evolution to a more interactive form of television, or television where the viewer is allowed to participate, was slow given the lack of bidirectional communication channels between the viewer and the television program broadcaster. When bidirectional communication channels were created, they tended be of insufficient bandwidth for communication of complex viewer interactions with the television program. 
     Development of a nearly ubiquitous communications network, namely the Internet, has greatly expanded the use of interactive television. However, viewer participation has so far been limited to choosing television content, responding to advertising messages, and answering viewer questionnaires or polls. This is primarily because most interactive television programming follows a conventional television paradigm wherein the television programming is wrapped in advertisements; and the only responses needed from an audience are to watch linear pre-recorded programs and to buy advertised items or services. Little has been done to fully involve the audience in a rich participatory experience where the audience has as much control and influence over the content of an interactive program as the originator of the interactive program. This is in contrast to the expectations of some viewers who want a richer and more satisfying participatory experience within the context of an interactive program. 
     Some interactive television formats also have a disadvantage in that, although they may use the Internet as a bidirectional communication channel, the interactive television format is dependent upon set-top-boxes and middleware that a viewer either purchases or leases from a broadcaster such as a cable operator. While these devices may have a variety of functional features, they may require an additional expenditure that a viewer or a Multiple Systems Operator (MSO) may not want to incur, especially if the viewer already has an Internet-enabled device such as a home computer. This makes most existing interactive television programming “heavy” in the sense that specialized hardware is needed to take advantage of the interactive content embedded in an interactive programming signal. Additionally, the combination of a required set-top-box and specialized interactive television formats make interactive programming distributed over an interactive television network difficult to integrate with conventional Web content such as Web pages available from a Web site. 
     Therefore, a need exists for a light-weight interactive programming system allowing for rich viewer participation which is easily integrated with existing Web content. The present invention meets such need. 
     SUMMARY OF THE INVENTION 
     In one aspect of the invention, an interactive program includes moderator content generated by the moderator and edited participant commentary that is served by a moderator server. Moderators create and manage interactive programs using a Web site. Viewers register to be participants in interactive programs using the Web site as well. The interactive programs can be distributed as electronic documents written in a markup language such as HTML or XML over the Internet. The interactive programs can also be converted to conventional interactive television content for distribution over an interactive television network. The interactive programs can also be distributed over a Virtual Private Network (VPN) for use as a secure collaboration tool by an enterprise such as a business concern. The interactive programs require few processing resources so the interactive programs can be embedded within other Web processes such as electronic commerce (eCommerce) or television commerce (t-Commerce) transactions. 
     In another aspect of the invention, a method is provided for creating and transmitting an interactive program over a communications network. A moderator server is operably coupled to the communications network. A moderator client and a plurality of viewer clients are operably coupled to the moderator server via the communications network. In operation, participant comment signals are received by the moderator server via the communications network from the plurality of viewer clients and transmitted by the moderator server via the communications network to the moderator client. The moderator server then receives from the moderator client edited participant comment signals and moderator signals and generates interactive program signals using the edited participant comment signals and the moderator signals. The interactive program signals are then transmitted by the moderator server via the communications network to the plurality of viewer clients. 
     In another aspect of the invention, a data processing system is adapted for creating and transmitting an interactive program to a plurality of viewer clients as described above. In addition, the data processing system receives content signals from a content server and generates the interactive program signals using the content signals, edited participant comment signals, and the moderator signals. 
     In another aspect of the invention, the data processing system receives content signals from a content server and transmits the content signals via the communications network to the viewer clients while incorporating the content signals into the interactive program. 
     In another aspect of the invention, the communications network is a virtual private network thus enabling private and secure transmission of an interactive program throughout an enterprise. 
     In another aspect of the invention, the participant comment signals further include an interactive program rating signal indicating a level of audience satisfaction with the interactive program. 
     In another aspect of the invention, the moderator signals further include a participant exclusion signal corresponding to a specific viewer client from the plurality of viewer clients. The participant exclusion signal is used to exclude participant comments received from the specific viewer client thus preventing specified viewers from participating in the interactive program. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       These and other features, aspects, and advantages of the present invention will become better understood with regard to the following description, appended claims, and accompanying drawings where: 
         FIG. 1  is a conceptual diagram of a system for creating an interactive program incorporating participant interactions in accordance with an exemplary embodiment of the present invention; 
         FIG. 2  is a deployment diagram of a system for creating an interactive program in accordance with an exemplary embodiment of the present invention; 
         FIG. 3  is a sequence diagram of the operations within a system for creating an interactive program in accordance with an exemplary embodiment of the present invention; 
         FIG. 4  is a screen capture of a moderator&#39;s interface used to control generation of an interactive program in accordance with an exemplary embodiment of the present invention; 
         FIG. 5  is a screen capture of a viewer&#39;s interface used to view and interact with an interactive program in accordance with an exemplary embodiment of the present invention; 
         FIG. 6  is a diagram depicting a process for receiving viewer reactions to an interactive program and calculating an audience approval system rating for the interactive program in accordance with an exemplary embodiment of the present invention; 
         FIG. 7  is a diagram depicting the ways in which a moderator may interact with a system for creating an interactive program in accordance with an exemplary embodiment of the present invention; 
         FIG. 8  is a use case diagram depicting ways in which a viewer may interact with a system for creating an interactive program in accordance with an exemplary embodiment of the present invention; 
         FIG. 9  is a Web site diagram of an interactive program creation system in accordance with an exemplary embodiment of the present invention; 
         FIG. 10  is a screen capture of an edit profile viewer interface in accordance with an exemplary embodiment of the present invention; 
         FIG. 11  is a screen capture of a hub viewer interface in accordance with an exemplary embodiment of the present invention; 
         FIG. 12  is a screen capture of a program guide viewer interface in accordance with an exemplary embodiment of the present invention; 
         FIG. 13  is a screen capture of an interactive program archive viewer interface in accordance with an exemplary embodiment of the present invention; 
         FIG. 14  is a screen capture of a moderator interface for an interactive program authoring tool in accordance with an exemplary embodiment of the present invention; 
         FIG. 15  is a screen capture of a moderator interface for an interactive program reporting tool in accordance with an exemplary embodiment of the present invention; 
         FIG. 16  is a screen capture of a moderator interface for a participant interaction report generated in accordance with an exemplary embodiment of the present invention; 
         FIG. 17  is a screen capture of a moderator interface for an advertising report generated in accordance with an exemplary embodiment of the present invention; 
         FIG. 18  is a database entity relation diagram for a moderator database in accordance with an exemplary embodiment of the present invention; 
         FIG. 19  is a screen capture of a viewer interface for a non-moderator based interactive program associated with a broadcast in accordance with an exemplary embodiment of the present invention; 
         FIG. 20  is a screen capture of a viewer interface for a broadcast program guide in accordance with an exemplary embodiment of the present invention; 
         FIG. 21  is a screen capture of a viewer interface for an interactive program incorporating Web content in accordance with an exemplary embodiment of the present invention; 
         FIG. 22  is a screen capture of a viewer interface for an interactive program incorporating Web content in accordance with another exemplary embodiment of the present invention; 
         FIG. 23  is a screen capture of a viewer interface for a facility to manage a viewer&#39;s personal favorite interactive programs in accordance with an exemplary embodiment of the present invention; 
         FIG. 24  is a screen capture of a viewer interface for a facility to suggest programs to a viewer in accordance with an exemplary embodiment of the present invention; 
         FIG. 25  is a deployment diagram of a process for conversion and delivery of interactive programs via an interactive television network in accordance with an exemplary embodiment of the present invention; 
         FIG. 26  is a hardware architecture diagram of a computing device suitable for use as a moderator server host in accordance with an exemplary embodiment of the present invention; 
         FIG. 27  is a collaboration diagram depicting an interactive programming generation process in accordance with an exemplary embodiment of the present invention; 
         FIG. 28  is a screen capture of an interactive program home viewer interface in accordance with an exemplary embodiment of the present invention; 
         FIG. 29  is a screen capture of an interactive program system log-in interface in accordance with an exemplary embodiment of the present invention; 
         FIG. 30  is a process flow diagram of an interactive program generation process in accordance with an exemplary embodiment of the present invention; 
         FIG. 31  is a process flow diagram of an interactive program report generation process in accordance with an exemplary embodiment of the present invention; 
         FIG. 32  is a process flow diagram of a viewer notification process in accordance with an exemplary embodiment of the present invention; 
         FIG. 33  is a deployment diagram of a locally hosted moderator server in accordance with an exemplary embodiment of the present invention; 
         FIG. 34  is a participant question filtering moderator interface in accordance with an exemplary embodiment of the present invention; 
         FIG. 35  is an illustration of the operation of a participant question filtering facility in accordance with an exemplary embodiment of the resent invention; 
         FIG. 36  is a process flow diagram of a participant question filter process in accordance with an embodiment of the present invention; 
         FIG. 37  is a deployment diagram for a telephony system for delivery of an interactive program in accordance with an embodiment of the present invention; 
         FIG. 38  is a sequence diagram for a telephony process as used by a telephony system for delivery of an interactive program in accordance with an embodiment of the present invention; and 
         FIG. 39  is a screen capture of an interactive program authoring wizard in accordance with an exemplary embodiment of the present invention. 
     
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
       FIG. 1  is a conceptual diagram of a system for creating an interactive program incorporating participant interactions in accordance with an exemplary embodiment of the present invention. A moderator  100  hosts an interactive program, such as a broadcast program with a talk show format, that is transmitted to an audience having a plurality of viewers  102 . The interactive program takes place on a virtual stage  104  where the moderator generates interactive programming for transmission to the viewers. The moderator transmits the interactive program  106  to the viewers. The viewers may passively watch the interactive program or may become active participants by generating their own comments  108  that are transmitted back to the moderator. The moderator edits or filters the participant comments and retransmits the edited participant comments as part of the interactive program. The viewers may communicate with each other during the interactive program by exchanging audience interactive messages  110  between themselves. 
     The moderator controls the content of the interactive program in a variety of ways. The moderator introduces the initial topic or content for audience interaction. For example, the moderator may introduce a topical event such as a news story and then ask for participant comments. The moderator may also use previously prepared content such as a non-interactive program that is transmitted to the audience in order to elicit audience member responses and engage viewers. The moderator can invite virtual guests  112  from the audience onto the virtual stage. While on the virtual stage, the virtual guests exchange interactive messages directly with the moderator rather than with other audience members or participants. The moderator may also exclude a participant or viewer from the audience. Additionally, the moderator may generate additional interactive programming for use by the audience such as polls so that the audience can participate in the interactive program by selecting responses to a question from a list of answers. The results of the participant responses are aggregated for inclusion in the interactive program. 
     In one system for creating an interactive program incorporating participant interactions in accordance with an exemplary embodiment of the present invention, the interactive programs are talk shows hosted by independent moderators and delivered to an audience via the Internet. This system allows a moderator to be recognized as an expert or respected voice in a particular field while building a community of viewer participants interested in that particular field. The system allows the moderator to create a controlled and moderated environment where the moderator directs the flow of information and has complete control over the medium. The system is cost-effective because no special hardware or training is needed to operate the system. The system features a customizable Web-based interface for moderators and viewers to use in creating customized collaborative interactive programs. 
       FIG. 2  is a deployment diagram of a system for creating an interactive program incorporating participant interactions in accordance with an exemplary embodiment of the present invention. A moderator  100  transmits an interactive program to a plurality of viewers, as exemplified by viewers  200 a and  200 b, via a communications network  202  such as the Internet. The moderator uses a moderator client  204  to transmit moderator signals over communications link  206  and communications link  208  to a moderator server  210 . The moderator server uses the moderator signals to generate an interactive program that is transmitted over communication link  208  and communications links  212 a and  212 b to a plurality of viewer clients as exemplified by viewer clients  214 a and  214 b. The viewers become participants by responding to the interactive program by generating and transmitting to the moderator server a plurality of participant comment signals using the viewer clients. The participant comment signals encode the participants&#39; commentary about the interactive program. The moderator server receives the participant comment signals and retransmits them to the moderator client where the moderator edits the participant comment signals. The moderator generates new moderator signals that are transmitted to the moderator server along with the edited participant comment signals. The moderator server uses the moderator signals and the edited user comment signals to generate additional interactive program signals that are transmitted to the viewers&#39; clients. The process of receiving participant comment signals, editing the user comment signals, and generating new interactive program signals is repetitively performed in order to generate an interactive program incorporating viewer interactions. 
     In a system for creating an interactive program incorporating viewer interactions in accordance with an exemplary embodiment of the present invention, the moderator server is operably coupled to content server  216  via a communications link  218 . The content server hosts a content source  220  including content suitable for broadcast by the moderator server. Such content may include past broadcast programs that the moderator is using as a topic for further discussion within the audience. The moderator instructs the moderator server to request and receive content signals from the content server and the moderator server generates an interactive program including the content signals. In this way, non-interactive content may be enhanced with an interactive component thus leveraging non-interactive content by creating an interactive program using content without an interactive component. In another embodiment of enhanced content, the content is synchronized with the interactive component and the content is transmitted to the viewer client from a server other than the moderator server in program synchronous fashion. 
     In a system for creating an interactive program incorporating viewer interactions in accordance with an exemplary embodiment of the present invention, the moderator server hosts software facilities for the moderator to use in generating an interactive program. The moderator server is operably coupled to a moderator database  230  including moderator information describing the type of interactive program the moderator produces and the moderator&#39;s interactive program broadcast schedule. The moderator information may be used to automatically generate a dynamic programming guide thus helping viewers find the moderator&#39;s interactive program. In addition, the moderator server records viewer interaction data describing the amount, timing, and type of viewer interactions with the moderator&#39;s produced interactive programming. The moderator may access the viewer interaction data to generate reports regarding the moderator&#39;s interactive programming. 
     In a system for creating an interactive program incorporating viewer interactions in accordance with an exemplary embodiment of the present invention, the moderator server hosts a viewer database  232  including viewer profile information. Viewer profile information includes information about viewer preferences and viewer notification requests. The viewer preferences are used by the moderator server to suggest interactive programming generated by a moderator which may match the viewer&#39;s stated preferences. The viewer notification requests are used by the moderator server to generate viewer notifications that are transmitted to a viewer in order to notify a viewer when a specific interactive program is about to be broadcast. 
     In one embodiment of a viewer notification generation process in accordance with the present invention, the privacy of the viewer is protected by not allowing the moderator access to viewer profiles. For example, the moderator may initiate a notification process but the moderator is never allowed to see to which viewers the notifications are sent. In addition, any viewership reports generated on behalf of a moderator use aggregate data for the viewers so that the viewers&#39; identifications are not associated with the individual viewership reports. 
     In a system for creating an interactive program incorporating viewer interactions in accordance with an exemplary embodiment of the present invention, the audience and moderator comment on a broadcast program over which the moderator has minimal control. In this embodiment, a broadcaster  222  transmits a broadcast media signal  224  received by a viewer&#39;s broadcast media receiver  226  and a moderator&#39;s broadcast media receiver  228 . In this embodiment, the moderator and the audience watch the broadcast program and exchange commentary about the broadcast program over the communications network as described above. In this way, non-interactive programming can be supplemented with an interactive component. Exemplary broadcast programs include broadcasts of real-time events, such as sporting events or breaking news stories, and pre-recorded programming such entertainment programs or documentaries. 
       FIG. 3  is a sequence diagram of a process within a system for creating an interactive program incorporating viewer interactions in accordance with an exemplary embodiment of the present invention. A moderator server  210  receives participant comments  300 a and  300 b from a plurality of viewer clients as exemplified by viewer clients  212 a and  212 b. The moderator server transmits the participant comments,  300 a and  300 b, to a moderator client  204 . A moderator uses the moderator client to edit ( 302 ) the participant comments and generate ( 304 ) moderator comments. The edited participant comments and the moderator comments  306  are transmitted to the moderator server. The moderator server uses the moderator comments and the edited participant comments to generate ( 308 ) viewer interactive programming,  310 a and  310 b, that is transmitted to the plurality of viewer clients and moderator interactive programming  312  that is transmitted to the moderator client. The process is repeated indefinitely to generate an interactive program with the plurality of viewer&#39;s interacting with the viewer interactive programming and the moderator using the moderator interactive programming to moderate the generation process. 
     In one embodiment of a system for creating an interactive program in accordance with an exemplary embodiment of the present invention, the interactive programming generated by the moderator server is stored in a moderator database for archival purposes. The interactive programming can be indexed and cataloged for generation of an archive listing describing the archived interactive programming. A viewer can then request archived interactive programming for viewing at a later time for “on-demand” viewing. 
     In one embodiment of a system for creating an interactive program in accordance with an exemplary embodiment of the present invention, a viewer can initiate the creation of an archive for an interactive program. As the interactive program is produced and transmitted to the viewer, the interactive program signals are stored for the viewer&#39;s own use. For example, a viewer can initiate the creation of an archive for a short period of time so that the viewer can leave the interactive program and rejoin the interactive program and be able to view the portions of the interactive program that the viewer missed. As another example, the viewer can create a personal archive of past interactive programs in a manner similar to a personal video recorder. 
     In another system for creating an interactive program in accordance with an exemplary embodiment of the present invention, the communications network is the Internet and the viewer clients and moderator client are Web browsers. The moderator server receives moderator and participant comment signals in the form of POST requests and generates the interactive program as an interactive electronic document written in a document markup language such as Hyper Text Markup Language (HTML) or eXtensible Markup Language (XML) that is transmitted to the viewer clients. The viewer clients parse the electronic document and generate viewer displays using the instructions in the electronic document. The viewers respond to the viewer displays by entering text and selecting elements from the viewer displays. These viewer interactions are transmitted to the moderator server by the viewer&#39;s clients in subsequent POST messages. The moderator receives a different set of interactive moderator electronic documents that implement a moderator user interface enabling the moderator to control the operations of the moderator server. 
     In one system for creating an interactive program in accordance with an exemplary embodiment of the present invention, the system is deployed using the Microsoft® TV platform which is a standards-based, client and server software middleware system for deploying interactive programming. The platform includes a client software application hosted by a set-top-box and a server software application operably coupled by a communications network. The client software application includes a Web browser that can be used much like a conventional Web browser and an application programming interface for building native applications that are hosted by the set-top-box. The server includes several management functions including t-commerce and client management applications. 
     In another system for creating an interactive program in accordance with an exemplary embodiment of the present invention, the interactive programming generated by the moderator server further includes “click-through” style banner ads for selection by a viewer. If a viewer selects a click-through banner ad, the viewer&#39;s interaction with the banner ad is recorded in a moderator database in order to generate click-through activity related to the interactive programming. The banner ads may come either from the moderator server or an ad server not affiliated with the moderator server. 
       FIG. 37  is a deployment diagram for a telephony system for delivery of an interactive program in accordance with an embodiment of the present invention. A previously described moderator server  210  is operably coupled via a communications network  202  to previously described viewer client  214 a. A viewer  200 a, views an interactive program by accessing the moderator server using the viewer client. To participate, the viewer uses a telephone device  3700  to connect to a telephony agent  3702  operably coupled to the moderator server via the communications network. In operation, the viewer uses the telephone to dial up the telephony agent. The telephony agent receives audio signals and converts the audio signals to text signals that are transmitted to the moderator server via the communications network. In turn, the moderator server reroutes the textual component signals of an interactive program to the telephony agent. The telephony agent receives the textual component signals and converts the textual component signals into audio signals for transmission to the viewer via the telephone. 
     In another interactive program creation system in accordance with an embodiment of the present invention, a viewer downloads and installs a custom client plug-in that allows a viewer a built-in microphone on the viewer client. Using a control panel, participants direct their questions or comments to either the virtual stage or the audience interactive message area. The spoken words are digitized by the viewer client, analyzed, translated into text form, and transmitted via the communications link to the moderator server. The question or comment then appears in the interactive program. The plug-in allows viewers to participate in an interactive program in a traditional, voice-based way if they choose to. 
     In another interactive program creation system in accordance with an embodiment of the present invention, the spoken words are not translated to text. Instead, the digitized voice is transmitted directly over the communications link to the moderator server such as in Voice over Internet Protocol (VoIP) transmissions. 
       FIG. 38  is sequence diagram for a telephony process as used by a telephony system for delivery of an interactive program in accordance with an embodiment of the present invention. A viewer uses a telephone device  3700  to send participant voice signals to a telephony agent  3702 . The telephony agent converts  3802  the participant voice signals to text in a speech-to-text conversion process. The textual participant comments  3804  are transmitted to the moderator server. The textual participant comments are used to generate  3806  viewer interactive programming signals  3808  in a to-be-described process. The moderator server transmits the viewer interactive programming signals to the viewer client and transmits a second set of viewer interactive programming signals  3810  to the telephony agent. The telephony agent converts  3812  the textual portions of the viewer interactive programming to signals for an audio version of the viewer interactive programming  3814  in a text to speech conversion process. In this way, a viewer can participate in an interactive program using a telephone device for the generation of viewer interaction signals. 
     In another telephony process as used by a telephony system for delivery of an interactive program in accordance with an embodiment of the present invention, the video components of the interactive program are dispensed with and the participant interacts with the textual components of the interactive program using the telephone device. In this way, an interactive program can be created by a moderator with only textual or audio and textual components that is accessible to a participant using only a telephone device. 
       FIG. 27  is a collaboration diagram depicting an interactive programming generation process in accordance with an exemplary embodiment of the present invention. A moderator server  210  includes a virtual stage content engine  2702  and an audience content engine  2704 . These content engines generate content, such as the content for a chat room, and transmit the content to an interactive program generator  2706  included in the moderator server. The virtual stage content engine receives previously described moderator comments and edited participant comments  306  from the previously described moderator client. The virtual stage content engine uses the moderator&#39;s comments and edited participant comments to generate moderator content for a to-be-described stage section or area in an interactive program. The audience content engine receives previously described participant comments,  300 a and  300 b, from the previously described viewer clients,  212 a and  212 b, edited participant comments and moderator comments  306  from the moderator client, and uses the participant comments, edited participant comments, and moderator comments to generate audience content for a to-be-described audience section or area in an interactive program. 
     The interactive program generator receives the moderator content and the audience content and uses the content to generate enhanced interactive programming. The interactive programming includes viewer interactive programming  310 a and  310 b that is transmitted to the viewer clients for display and use of the viewers. The interactive programming further includes moderator interactive programming  312  transmitted to the moderator for viewing and use by the moderator. The cycle of receiving participant, moderator and edited participant comments and using the comments to generate interactive programming for transmission to the moderator and viewer is repeated indefinitely to create a continuous interactive program. 
     In an interactive program creation system in accordance with an exemplary embodiment of the present invention, content  2708  from a previously described content server  216  is received by the interactive program generator and the content is included in the generated interactive programming. In an interactive program creation system in accordance with another exemplary embodiment of the present invention, a virtual guest client  2710  transmits virtual guest comments  2712  to the virtual stage content engine for inclusion in the virtual stage content generated by the virtual content engine. 
     In an interactive program creation system in accordance with another exemplary embodiment of the present invention, the moderator, participant, and guest interactive messages are chat messages and the virtual stage and audience content engines are chat engines. The text-based output from the chat engines is used by the interactive program generator generate interactive programming including electronic documents, such as transcripts, composed in a document markup language such as HTML or XML. 
       FIG. 30  is a process flow diagram of an interactive program generation process in accordance with an exemplary embodiment of the present invention. A moderator server receives ( 3000 ) moderator commentary and edited participant commentary  3001  from a moderator. The moderator server receives ( 3002 ) participant commentary  3003  from viewers in an audience. The moderator server uses the participant commentary, the moderator commentary, and the edited participant commentary to generate ( 3004 ) viewer interactive programming  3006  for transmission to viewers in the audience. The moderator server uses the moderator commentary and the edited participant commentary to generate ( 3008 ) moderator interactive programming  3010  for transmission to the moderator. The moderator then transmits ( 3012 ) the moderator interactive programming to the moderator and the viewer interactive programming to the viewers in an audience. The process is repeated ( 3014 ) continuously to generate an interactive program. 
       FIG. 4  is a screen capture of a moderator interface used to control generation of an interactive program in accordance with an exemplary embodiment of the present invention. A moderator&#39;s interface  400  includes a trademark field  402  for display of a moderator server operator&#39;s trademark, in this screen capture, talkshow.com℠ is a service mark of Lakeview Capital Trust, a Pennsylvania Trust. The moderator interface has a moderator identification field  404  for the display of the moderator&#39;s identification and an interactive program identifier field  406  for identification of the interactive program being produced by the moderator. 
     In one embodiment of a moderator server in accordance with the present invention, the moderator server is operated in an application service provider (ASP) mode. In this mode, the moderator server is used to create a “private label” interactive program creation system. In this mode, the moderator server provides services that an operator can embed into another system such that a viewer perceives the interactive program creation system as being owned by individual operators. In some instances an indica of source, such as a “powered by” notice, is included in the interactive program creation system. 
     The moderator&#39;s interface is broken up into several operational sections. A “stage interaction” section  410  displays the moderator&#39;s direct interaction with a virtual guest on a virtual stage. The stage interaction section includes a plurality of fields for display of virtual guests&#39; previous questions as exemplified by previous question field  412 . For each answered virtual guest question, a moderator response field, as exemplified by moderator response held  414 , displays the moderator&#39;s response to the virtual guest&#39;s previous question. The stage interaction section further includes a current question field  416  for display of a virtual guest&#39;s current question. A moderator uses a moderator text entry section  418  to enter responses to the current virtual guest question. 
     An audience interaction section  420  displays audience comments. The audience interaction comments  422  are comments made by participants to other participants in the audience. 
     A moderator uses a status section  423  to monitor the progress of the interactive program. The moderator invites audience members to the virtual stage to be virtual guests using an “invite to stage” selector  426 . The moderator can select a viewer to invite on to the virtual stage by using a pull down menu of viewer names and selecting a viewer to invite. Once a viewer is invited to the virtual stage, the viewer&#39;s interactive messages are displayed in the stage interaction section and not in the audience interaction section. The moderator can also exclude a participant by selecting a participant from a “kick user out” pull down menu  428 . Once excluded, the moderator server removes the excluded participant&#39;s comment signals from the plurality of participant comment signals edited by the moderator and used by the moderator server to generate the interactive program. In this way, the moderator exercises direct control over the participants participating in the interactive program. 
     In another interactive program creation system, the participant&#39;s exchange video clips and files directly with each other in a peer-to-peer relationship. In this mode, the moderator server is not directly involved in the message exchanges occurring between audience members interacting with each other. 
     The status section further includes an audience approval system indicator  430  for indicating to the moderator how the audience feels about the progress of the show. Viewer responses are aggregated in a to-be-described process and displayed to the moderator as a colored indicator and as a numerical value. A moderator uses the audience member counter field  432  and pull down menu to determine the number and identification of the viewers receiving the transmitted interactive program. The status section further includes an elapsed time field  433  for display of the elapsed time of the interactive program. 
     An audience question section  434  displays an audience question  436  that the moderator may answer by selecting an answer question button  438  or delete by selecting a delete question button  440 . The moderator can get a new audience question by selecting the update button  442 . 
     A polls section  444  includes a poll question display field  446  for display of a current poll question and a poll results display field  448  for display of viewer&#39;s responses to the poll. The moderator selects a new poll button  450  to enter a new poll question whenever the moderator feels that a new poll should be created. 
       FIG. 34  is a participant question filtering moderator interface in accordance with an exemplary embodiment of the present invention. A participant question filtering interface  3400  includes a keyword entry field  3402  for entry of keywords that the moderator would like to have included by viewers in questions sent to the moderator. Questions with the entered keywords will be given a higher relevance, and thus priority, than questions without the keywords. The participant question filtering interface further includes an “exclude” entry field  3404  for words which the moderator does not want to see in questions, such as expletives or vulgarities. Any participant question having an excluded word will be deleted from a participant question queue managed by the moderator. The participant question filtering interface further includes a facility for setting a relevance threshold  3406 . A moderator uses the relevance threshold setting facility to establish a threshold relevance value that a question should have before the question will be added to the question queue. 
       FIG. 35  is an illustration of the operation of a participant question filtering facility in accordance with an exemplary embodiment of the present invention. A participant question  3500  is processed in a participant question filter  3502  and assigned a relevance value  3504 . A moderator uses the relevance value to determine which participant questions the moderator would like to answer. If a participant question  3506  has an excluded word, then the relevance of the participant question is assigned a value  3508  of 0 and deleted  3510  from a participant question queue. In one embodiment of a participant question filter in accordance with the present invention, the participant question is deleted if the participant question&#39;s relevance value does not exceed the threshold relevance value set by the moderator. A moderator uses the participant question filtering facility in order to process large numbers of participant questions without becoming overwhelmed and to filter out offensive participant questions. This allows the moderator to automatically moderate an interactive program having a large number of participants, thus facilitating scalability from few participants to many participants. 
       FIG. 36  is a process flow diagram of a participant question filter process in accordance with an embodiment of the present invention. The filter process receives ( 3600 ) a participant question  3601 . The filter process attempts to match ( 3602 ) words in the participant question with the moderator&#39;s excluded words  3603 . If it is determined ( 3604 ) that an excluded word is in the question, the relevance of the participant question is set ( 3606 ) to a value below the moderator&#39;s previously described threshold relevance value  3607 . 
     If no excluded words are found in the participant question, the filter process determines ( 3608 ) the relevance of the participant question by matching the moderator&#39;s keywords  3609  to the words in the participant question. If it is determined ( 3610 ) that the relevance of the participant question exceeds the threshold relevance value, then the participant question is added ( 3612 ) to a participant question queue  3614 . 
     In an embodiment of a filtering process in accordance with the present invention, keywords and excluded words are matched to the participant question using approximate string matching techniques in order to determine the relevance value of a participant question including misspelled keywords or excluded words. 
       FIG. 5  is a screen capture of a viewer interface used to view and interact with an interactive program in accordance with an exemplary embodiment of the present invention. The viewer interface  500  includes an interactive program identifier field  502  for display of the name of the interactive program being viewed by the viewer. A content display section  504  is included for display of a content portion of the interactive program. The content of an interactive program may be text-based, audio-based, or video-based in any combination dependent on the capabilities and desires of the moderator. An audience interactive message section  506  is included for display of audience interactive messages that the audience is exchanging amongst themselves. An interactive message entry field  508  is used by the viewer to enter interactive messages for display in the audience interactive message section and to interact with the moderator when the moderator invites the viewer onto the virtual stage. 
     A poll section  510  displays a poll question  511  asked by the moderator of the viewers. The poll section includes a plurality of response buttons, exemplified by response buttons  512  and  514 , selectable by the viewer to indicate the viewer&#39;s response to the poll. The viewer selects an answer to the poll question by selecting one of the response buttons and then selects the “Vote!” button  516  to register the viewer&#39;s poll answer with the moderator server. The viewer interface further includes sections for banner advertising  518  and for placement of a trademark or service mark  520  to identify the operator of the moderator server. By allowing banner adds, the moderator server allows a moderator to collect revenue from t-commerce interactions with the moderator&#39;s hosted interactive program. 
     In another embodiment of an interactive program creation system in accordance with the present invention, a poll is created using a plurality of participant questions for selection by participants. The participant question from the plurality of participant questions receiving the most participant selections is selected for submission to the moderator. 
     Referring again to  FIG. 4 , a current audience approval system rating field  430  is provided for the display of viewer&#39;s rating of an interactive program. Referring now to  FIG. 6 , a diagram depicting a process for receiving viewer reactions to the interactive program and calculating an audience approval system rating for an interactive program in accordance with an exemplary embodiment of the present invention is shown. A moderator  100  generates an interactive program and transmits the interactive program to an audience  102  as previously described. The audience includes a plurality of viewers, as exemplified by viewers  600 ,  602  and  604 . Each viewer may have a different opinion of the quality of the interactive program; therefore, each viewer is provided with an individual audience approval system button as exemplified by audience approval system buttons  606 ,  608 , and  610 . Each viewer selects an audience approval system rating button corresponding to the viewer&#39;s subjective rating of the interactive program. The selection of an audience approval system button transmits a corresponding audience approval system signal to the moderator server (not shown) thus creating a plurality of audience approval system signals for evaluation by the moderator server. The moderator server receives the plurality of audience approval system signals and uses them to generate a single audience approval system rating signal and transmits the audience approval system rating signal for display on the moderator&#39;s interface (not shown). 
     In an audience approval system in accordance with an exemplary embodiment of the present invention, an audience approval system signal can take on three states,  612 ,  614 , and  616 , with each state representing a viewer&#39;s subjective opinion of the interactive program. In this embodiment, the three states are mapped to the corresponding numeric values of “100”, “50”, and “0”, with “100” representing a viewer&#39;s complete satisfaction with the interactive program, “50” representing the viewer&#39;s partial satisfaction with the interactive program, and “0” representing the viewer&#39;s complete dissatisfaction with the interactive program. Each of the plurality of audience approval system signals are mapped to one of these numeric values. These numeric values are used to generate an arithmetic mean representing the audience approval system rating of the interactive program. In the illustrated example of  FIG. 6 , viewer  600  rates the interactive program at “100”, viewer  602  rates the interactive program at “50”, and viewer  604  rates the interactive program at “100”. These values are used by the moderator server to generate ( 618 ) an arithmetic mean  624  of the plurality of mapped viewer&#39;s audience approval system signals. The arithmetic mean is presented to the moderator as the audience approval system rating of the moderator&#39;s interactive program. In one audience approval system in accordance with an exemplary embodiment of the present invention, the audience approval system rating is mapped to a color, with the numeric value of “100” being represented in green, the numeric value of “50” being represented in yellow, and the numeric value of “0” being represented in red. 
       FIG. 7  is a use case diagram depicting ways in which a moderator may interact with a system for creating an interactive program incorporating viewer interactions in accordance with an exemplary embodiment of the present invention. A moderator  100  accesses the system in order to create ( 702 ) an interactive program. In one system for creating an interactive program incorporating viewer interactions in accordance with an exemplary embodiment of the present invention, the moderator creates a talk show that is a periodically broadcast interactive program. Creation of an interactive program may include selecting a theme for the talk show, establishing a broadcast time, and creating a brief description of the talk show. This interactive program information is stored in a moderator database  230  ( FIG. 2 ). The moderator database is used by a moderator server  210  ( FIG. 2 ) to generate a to-be-described programming guide. 
     The moderator also accesses the interactive program creation system to host ( 704 ) an interactive program. While the moderator is hosting an interactive program, the system provides facilities  706  for audience management allowing the moderator to restrict access to an interactive program. As previously described, the system provides facilities for the moderator to block interactive messages from viewers in the audience. The system also provides a facility  708  for posting polls during the interactive program. This allows a moderator to pose questions to the audience in order to receive and aggregate viewer&#39;s opinions about various subjects during an interactive program as previously described. The system further includes facilities  710  for answering questions presented by viewers to the moderator. As previously described, a moderator can receive questions from viewers and determine whether or not to answer them. Additionally, the system provides an invitation facility  712  for inviting viewers to participate in the interactive program as a virtual guest as previously described. 
     The moderator may also access the interactive program creation system to perform ( 714 ) administrative tasks associated with moderating a periodically presented interactive program. The interactive program creation system provides facilities  718  for sending scheduling reminders to viewers about upcoming interactive programs. Such scheduling reminders may be transmitted to a viewer by email, to a viewer&#39;s personal pager, to a viewer&#39;s wireless phone, or to a viewer&#39;s personal digital assistant. The interactive program creation system also includes facilities  720  for a moderator to review metrics collected by the system on a moderator&#39;s interactive program. 
       FIG. 8  is a use case diagram depicting ways in which a viewer may interact with a system for creating an interactive program incorporating viewer interactions in accordance with an exemplary embodiment of the present invention. A user  800  accesses the interactive program creation system in order to search for ( 802 ) interactive programs. The interactive program creation system includes facilities  804  for searching the interactive program creation system for interactive programs on particular topics that the viewer may be interested in. The interactive program creation system also includes browsing facilities  806  allowing the viewer to examine an interactive program creation system directory of interactive programs in a hierarchal manner. 
     The viewer may also access the interactive program creation system to view  816  and become part of an interactive program. The interactive program creation system includes facilities  817  allowing a viewer to interact with embedded advertising. The interactive program creation system also includes facilities  818  allowing a moderator to poll viewers during an interactive program as previously described. The interactive program creation system also includes facilities  820  allowing a viewer to ask questions of the moderator and virtual guests as previously described. The interactive program creation system also includes facilities  822  allowing a viewer to rate an interactive program as previously described. 
     The viewer may also access the interactive program creation system to personalize ( 808 ) the viewer&#39;s experience with the interactive program creation system. The interactive program creation system includes facilities  810  for submitting suggestions by the interactive program creation system of interactive programs the viewer may be interested in based on viewer preferences as included in a viewer profile and previously viewed interactive programs. The interactive program creation system further includes facilities  812  for creation of a list of favorite interactive programs used by moderators to send scheduling reminders to the viewer about upcoming interactive programs as previously described. The interactive program creation system also includes facilities  814  allowing a viewer to create and edit a viewer profile including topics of interest to the viewer. In one embodiment of an interactive program creation system in accordance with the present invention, viewer profiles are stored in data files on the viewer client. In another embodiment of an interactive program creator system in accordance with the present invention, viewer profiles are stored on a central server and downloaded as XML documents to the viewer client as needed. 
       FIG. 9  is a Web site diagram of an interactive program creation system in accordance with an exemplary embodiment of the present invention. As previously described, in one interactive program creation system in accordance with an exemplary embodiment of the present invention, a moderator server hosts a Web site for accessing interactive programs by both moderators and viewers. A user, such as a moderator or viewer, accesses the Web site via a log-in page  900 . 
       FIG. 29  is a screen capture of an interactive program creation system log-in interface in accordance with an exemplary embodiment of the present invention. A user selects a register button  2900  to register as either a viewer or a moderator. If the user is registering as a viewer, the user obtains a viewer identifier and a viewer password. If the user is registering as a moderator, the user obtains a moderator identifier and a moderator password. The identifiers and passwords are used by the user to access the interactive program creation system on fixture visits and can be stored in “cookies” on the client the user is using to access the interactive program creation system. 
     A user selects a log-in button  2902  to access the interactive program creation system as a viewer or selects a moderator log-in button  2904  to access the interactive program creation system as a moderator. The interactive program creation system log-in interface further includes an upcoming program guide section  2906  for display of interactive programs that are scheduled to be produced by their moderators in the next 24 hours. The listings in the upcoming program guide section include a previously described “mic” viewer rating  2908  and a category link  2910  to a viewer interface where a viewer can find more interactive programs similar to the listed interactive program. 
     Referring again to  FIG. 9 , if the user logs in as a viewer, the viewer is directed to a viewer home page  902 . From the viewer home page, the viewer may access a registration process  904 . Once registered, the viewer can access an edit profile process  906 . 
       FIG. 10  is a screen capture of an edit profile viewer interface in accordance with an exemplary embodiment of the present invention. The edit profile viewer interface is used by a viewer to edit the viewer&#39;s personal information stored in the viewer&#39;s profile. The edit profile viewer interface includes a viewer identification field  1000  for display of the viewer&#39;s identification and a password entry field for entry of the viewer&#39;s password. In operation, a user enters a new password into the password entry field and selects a “Submit and Continue” button  1003  to change the viewer&#39;s password. The viewer&#39;s identification and password are associated together in the user database  232  ( FIG. 9 ) for use by the viewer as the viewer accesses different facilities of the interactive program creation system. 
     The edit profile viewer interface further includes personal information entry fields, such as a first name entry field  1004  and a last name entry field  1006 . Alternatively, the viewer may enter an anonymous viewer name rather than the viewer&#39;s real name in order to hide the viewer&#39;s identity. In operation, a viewer enters their personal information and selects the “Submit and Continue” button to store the viewer&#39;s personal information in the viewer&#39;s database. The personal information is used by the interactive progam creation system to personalize the viewer&#39;s experience while using the interactive program creation system. 
     The edit profile viewer interface further includes a viewer profile entry field  1008 . In operation, the viewer enters the viewer&#39;s interests into the viewer profile entry field. The entered viewer profile is stored in the viewer database for use by the interactive program creation system to make suggestions of interactive programs that the viewer may want to participate in. To make suggestions, the viewer profile is queried and key terms are identified. For example, the illustrated viewer profile  1010  includes the key terms “sports”, “movies”, and “music”. The interactive program creation system compares these key terms to key terms included in the moderator database  230  ( FIG. 9 ) by moderators who have created interactive program profiles. If a match is found, the interactive program creation system suggests the matching interactive program to the viewer. 
     In an embodiment of an interactive program creation system in accordance with the present invention, interactive programs are suggested to the viewer in a “pay-for-placement” mode. For example, if a plurality of interactive programs match the viewer&#39;s profile, the first interactive program suggested to the viewer is the interactive program whose moderator has paid the interactive program creation system&#39;s operator the most for being placed first. 
     The edit profile viewer interface further includes a viewer email address entry field  1012 , viewer city  1016 , viewer state  1018 , viewer zipcode  1020 , and viewer country  1022  entry fields. In operation, the viewer enters their email and address location and selects the “Submit and Continue” button to store the viewer address information in the viewer database. Moderators using the interactive program creation system can use the viewer address information to notify a viewer when the moderator&#39;s interactive program is to be broadcast. Additionally, the viewer may optionally select a “Include in Directory” button  1022  in order to exclude the viewer&#39;s address information from view by the moderators. 
     The edit profile viewer interface further includes an interactive program search entry field  1024 . A viewer uses the search entry field to enter a search term used to search the moderator database for interactive programs with terms matching the search term. The edit profile viewer interface further includes a category or hub selection field  1026 . A viewer may select an individual category, such as “News”  1027  to be taken to a hub process for accessing interactive programs related to the selected category. 
     The edit profile viewer interface further includes an advertising section for display of “click-through” style banner ads. A user selects one of the banner ads to be transferred to an advertiser&#39;s or retailer&#39;s Web site. The edit profile viewer interface further includes a feature section  1030  for display of links to featured hubs. By selecting a featured hub link, a viewer can quickly access a hub process for accessing interactive programs related to the selected feature category. 
       FIG. 11  is a screen capture of a hub viewer interface in accordance with an exemplary embodiment of the present invention. The screen capture is of an exemplary “News”  1100  hub. Other hubs may be created for other subjects such as “home improvement” and the like. The hub includes links for accessing by the viewer, interactive programs whose themes are national news  1102 , world news  1104 , business news  1106 , sports news  1108 , weather news  1110 , and entertainment news  1112 . In operation, a viewer selects one of the links to access a specialized program guide including links to interactive programs with a theme corresponding to the link title. 
     Referring again to  FIG. 9 , a viewer may access an interactive program electronic program guide process  908 . A viewer uses the program guide process to add upcoming interactive programs to a viewer&#39;s interactive program list that is stored in the viewer database  232 . 
       FIG. 12  is a screen capture of a program guide viewer interface in accordance with an exemplary embodiment of the present invention. The program guide includes a plurality of listings for interactive programs available for viewing  1200 . Each of the listings include a title and brief description field  1201 , a current subject field  1202 , a time field  1204 , and a listing selection button  1206 . In operation, a viewer reads the listing title and brief description to determine if the viewer wants to participate in the interactive program. The viewer reads the time field to determine when the next interactive program will be available, and reads the current subject field to determine what the next subject to be discussed during the interactive program will be. The viewer then selects the listing selection button and the “Add Selected to My Talk Shows” button  1208  to add the listing to a viewer&#39;s list of interactive programs that the viewer wants to participate in. The list is maintained in the viewers database  232  ( FIG. 9 ). 
     The program guide viewer interface further includes an interactive program rating  1210  display. The interactive program rating is a viewer rating determined from viewer responses to the interactive program. In a program guide in accordance with an exemplary embodiment of the present invention, the viewer rating is expressed in terms of “mics” (short for microphone). The greater the number of mics, the higher the viewer rating of the interactive program. For example, the maximum number of mics an interactive program may receive is five mics for a popular program. A minimally popular interactive program may only receive only one mic. 
     The program guide viewer interface further includes a link to an interactive program suggestion  1212  process. As previously described, the interactive program creation system uses a viewer&#39;s profile stored in the viewer database and interactive program descriptions stored in the moderator database to suggest interactive programs that the viewer may be interested in. 
     In another program guide viewer interface in accordance with an embodiment of the present invention, the viewer may also access archived programs in an “on-demand” mode. In an on-demand mode, the program guide includes previously broadcast and archived interactive programs. 
     Referring again to  FIG. 9 , a viewer may access the previously described search facilities  910  of the interactive program creation system from the program guide. Additionally, the program guide provides a link to an immediate program guide  912  for listing interactive programs that are scheduled to be broadcast within the next day. A viewer may also access a browsing facility  914 . Using the browsing facility, a viewer can view a hierarchal list of interactive programs from which the viewer can select an interactive program to participate in. 
     The viewer may access a specific interactive program&#39;s home page  916  in a variety of ways, such as: selecting a link to an interactive program from the previously described search facility  910 ; immediate program guide  912 ; browsing facility  914 ; and suggestion facility  918 . Additionally, included in a moderator database  230  is a schedule of upcoming interactive program broadcasts. The schedule of upcoming interactive program broadcasts may be accessed by the viewer using an upcoming interactive program facility  920 . From an interactive program&#39;s home page, a viewer may join a previously described actual interactive program  922 . Each interactive program is hosted by a previously described moderator server  210 . 
       FIG. 28  is a screen capture of an interactive program home viewer interface in accordance with an exemplary embodiment of the present invention. An interactive program home viewer interface is generated by a moderator server using information entered by a moderator and stored in the moderator database. The interactive program home viewer interface includes an identifier field  2800  for display of an interactive program&#39;s identifier. An interactive program description field  2802  is used to display a brief description of the interactive program as described by the moderator. 
     The interactive program home viewer interface further includes a schedule section  2804  where the schedule of upcoming transmissions of the interactive program are listed. An upcoming listing  2805  includes a reminder button  2806 . In operation, a viewer selects the reminder button for a listing and an entry is made by the interactive program creation system to the previously described viewer profile. The entry is used to transmit notifications to the viewer when the interactive program is about to be transmitted. 
     The interactive program home viewer interface further includes a preference addition button  2808  that the viewer selects to have the interactive program added to the previously described viewer&#39;s list of interactive program preferences. A contact button  2810  is provided for use by a viewer in sending an email message to a moderator. A search button  2812  is provided for the viewer to search for additional interactive programs that are related thematically to the interactive program represented in the interactive program home viewer interface. 
     The interactive program creation system further includes a facility  926  for retrieving archived previously broadcast interactive programs for viewing. A viewer uses the archive facility to view transcripts and enhanced content of interactive programs that the viewer may have missed or wants to view again. In one facility for retrieving archived interactive programs for viewing in accordance with an exemplary embodiment of the present invention, the archived interactive programs can be viewed on an “on-demand” or “pay-for-view” basis. 
     In another facility for retrieving interactive programs for viewing in accordance with an exemplary embodiment of the present invention, the archived interactive programs may be accessed for presentation in conjunction with other content such as in a syndication mode. For example, an archived interactive program whose theme was discussion about a particular product can be linked to an advertisement for that product on a separate Website. As another example, an interactive program with a topical theme may be syndicated by a live news Website. 
       FIG. 13  is a screen capture of an interactive program archive viewer interface in accordance with an exemplary embodiment of the present invention. An archive viewer interface includes a plurality of archive listings of previously broadcast and archived interactive programs  1300  with each archive listing  1301  including a title field  1302 , a subject field  1304 , and a date field  1306 . In operation, a viewer reviews the plurality of archive listings and selects the archive listing corresponding to an archived interactive program the viewer wants to view. After selecting the archive listing of the archived interactive program, the viewer views a replay of the archived interactive program corresponding to the archive listing. In an interactive program archive viewer interface in accordance with an exemplary embodiment of the present invention, archived listings are organized by themes, such as the illustrated “The Gardening Center”  1308  that is an archive with a gardening theme. In other interactive program archive viewer interfaces in accordance with an exemplary embodiment of the present invention, an entity, such as a corporation, sponsors the archive as a form of advertising. For example, a brokerage may sponsor an archive with a financial theme or a hardware retailer may sponsor an archive with a “do-it-yourself” theme. 
     Referring again to  FIG. 9 , the interactive program creation system further includes facilities  924  for a moderator to create an interactive program. A moderator uses the facility to create an interactive program by entering information about the interactive program and the information is stored in the moderator database  230 . 
       FIG. 14  is a screen capture of a moderator interface for an interactive program authoring tool in accordance with an exemplary embodiment of the present invention. The interactive program creation moderator interface includes an interactive program identifier display field  1400  for displaying the interactive program&#39;s name. A moderator uses an interactive program identifier entry field  1402  to enter the name of the interactive program. The interactive program creation moderator interface further includes a description entry field  1404  for entry by the moderator of a brief description of the interactive program and a category/genre selection menu  1408  for selection by the moderator of a category under which the interactive program will be placed. The interactive program creation moderator interface further includes a host name entry field  1406  for entry of the moderator&#39;s name. The interactive program creation moderator interface further includes a broadcast scheduling selection menu  1410 , day selection buttons  1412 , and a time selection menu  1414  for selection of the broadcast time of the interactive program. In operation, a moderator enters in an interactive program name, interactive program description, and host name. The moderator selects a category, a broadcast schedule, the days of the week the interactive program will be broadcast, the time the interactive program will be broadcast, and selects a “Submit and Continue” button  1418  to store the entered and selected interactive broadcast information in the moderator database  230  ( FIG. 9 ). The moderator can also select an “Include in Program Guide” button  1416  to include the interactive program information in the previously described program guide. 
       FIG. 39  is a screen capture of an interactive program authoring wizard in accordance with an exemplary embodiment of the present invention. Within the interactive program authorizing tool is a “wizard” which allows a host/moderator to easily set up a new interactive program. A “wizard” is a software tool that guides a user through the configuration of a software application. A wizard typically includes a set of selectable configuration templates for use by a user and a dialog that guides the user through the configuration process. The interactive program authoring wizard can operate as a stand-alone application and may be used through a Web browser. The interactive program authoring wizard features beginner, intermediate, and expert levels and offers the ease of use of other mass market authoring tools making it easy for potential moderators to get started hosting their own interactive programs. During a setup process, the moderator selects from several preset genres allowing the moderator to quickly set the look and feel of their interactive programs. For example, these presets may include formats for defining interactive programs such as a news and perspective program, sports program, business program, human interest program, do-it-yourself program, etc. The interactive program authoring tool  3900  has a “genre/theme” link  3902  selectable by the moderator to bring up a list of themes  3904  that the moderator selects from. By selecting a theme, the moderator selects a configuration for the interactive program establishing backgrounds, layouts, and interactive areas for an interactive program. The moderator selects a theme and the selects a “submit and continue” button  3906  to configure the interactive program using a themed interactive program template. 
     The interactive program creation moderator interface further includes a link to a broadcast schedule editing facility  1419 . A moderator uses this link to access a more detailed interactive program scheduling entry facility. The interactive program creation moderator interface further includes a link to an add co-hosts facility  1420 . A moderator uses this link to access a facility for adding a co-host or additional, but subordinate moderator, such as a side-kick, panel of experts, or special guest to the interactive program. 
     The interactive program creation moderator interface further includes a link to a themes facility  1422 . A moderator uses this link to access a facility for assigning the interactive program to a thematic category for easier classification of interactive programs for browsing by a viewer. 
     The interactive program creation moderator interface further includes a link to a send reminders facility  1424 . A moderator uses this link to access a facility for transmitting reminders to viewers. The interactive program creation system uses the previously described viewer&#39;s lists of interactive programs to send notifications to each of the viewers who have added the moderator&#39;s interactive program to their list of interactive programs. Reminders may be sent by various communication links such as email, voice mail, and pager as agreed to by the viewer. 
       FIG. 32  is a process flow diagram of a viewer notification process in accordance with an exemplary embodiment of the present invention. A moderator server receives ( 3200 ) an interactive program identifier from a moderator for which the moderator would like to transmit reminders to viewers. The moderator server reads ( 3201 ) viewer preferences from previously described viewer profiles  3202 . Included in a viewer&#39;s profile is a list of interactive programs for which the viewer wants to be reminded of upcoming transmissions. If the moderator server determines ( 3204 ) that a viewer wants to receive notifications for the identified interactive program, the moderator server generates ( 3206 ) a viewer notification  3208  and transmits the viewer notification to the viewer. The moderator server then determines ( 3210 ) if all viewers have been processed. If not, the moderator server continues searching for viewers wishing to receive notifications. The moderator server continues processing until all viewers wishing to receive notifications of the transmission of the interactive program have been notified. 
     In one viewer notification process in accordance with an exemplary embodiment of the present invention, a viewer notification is transmitted as an email message to the viewer. The viewer may retrieve the email message by any suitable device or client such as a personal digital assistant, personal computer, etc. In another viewer notification process in accordance with an exemplary embodiment of the present invention, the viewer notification is in the form of an audio reminder transmitted to a viewer&#39;s voice mail system or directly to a viewer&#39;s telephone. In another viewer notification process in accordance with an exemplary embodiment of the present invention, the viewer notification is in the form of an instant message that is transmitted to a viewer if the viewer is currently on a system that is accessible to the moderator server. 
     Referring again to  FIG. 14 , the interactive program creation moderator interface further includes a link to a traffic report facility  1462 . A moderator uses this link to access a facility for generating reports describing the user interactions with an interactive program broadcast by the moderator. 
       FIG. 15  is a screen capture of a moderator interface for an interactive program reporting tool in accordance with an exemplary embodiment of the present invention. In general, a moderator uses an interactive program reporting tool to specify reports generated using data recorded about viewer interaction with an interactive program broadcast and stored in the moderator database as previously described. Additionally, the interactive program reporting tool is used by a moderator to generate a report regarding viewer access of archived interactive programs so that the moderator can determine the popularity of old content that was previously broadcast. The moderator can specify reports to analyze the data in a variety of ways using a variety of data mining techniques to yield customizable, comprehensive, and flexible reports. Additionally, viewer identifications associated with the viewer interaction data can be combined with the previously described viewer profile data to generate reports on the demographics and geographic locations of the viewers participating in an interactive program. In this mode, a viewer&#39;s privacy may be protected by aggregating the viewer data or stripping viewer identifiers from any data viewable by a moderator. The reporting tool moderator interface includes a select group report menu  1500  for selecting a specific set of reports to view. 
     The reporting tool moderator interface further includes entry fields for selection of types and formats of viewer interaction reports. Each of these sections is typified by a selection button  1504  and a format selection pull-down menu  1506 . A moderator selects a selection button to include the specific type of report in a viewer interaction report and uses the format pull-down menu to select the format of the specific report. The types of reports the moderator can include in a viewer interaction report include a peak usage report  1504 . A peak usage report is a report indicating the peak usage of the interactive program by the viewers. 
     A moderator can select a total traffic report  1508 . A total traffic report is a report depicting the total number of viewers and viewer interactions with the interactive program over the broadcast time of the interactive program. 
     A moderator can select a breakdown by user report  1512 . A breakdown by user report is reported depicting the interactions of single viewers. 
     A moderator can select a breakdown by demographic report  1516 . A breakdown by demographic report is a report depicting viewer interactions by viewers fitting certain demographic descriptions. 
     A moderator can select a breakdown by geography report  1520 . A breakdown by geography report is a report depicting where viewers participating in an interactive program are physically located. 
     A moderator can select a visitor path report  1524 . A visitor path report is a report depicting where viewer&#39;s are located on a network. 
     A moderator can select a referral report  1528 . A referral report is a report depicting from which locations viewers have been referred from such as an external Web site, etc. 
     A moderator can select a polling data report  1534 . A polling data report is a report depicting the results of polls taken by a moderator during an interactive program. 
     A moderator can select a “clicks by a viewer” report  1538 . A clicks by a viewer report is a report depicting how many selections viewers make during an interactive program. 
     A moderator can select a feature utilization report  1542 . A feature utilization report is a report depicting how many different features viewers are using during an interactive program. 
     A moderator can select a chat or interactive messaging report  1538 . A chat or interactive messaging report is a report depicting how many interactive messages are being sent between the audience members during an interactive program. 
       FIG. 16  is a screen capture of a moderator interface for a viewer interaction report generated in accordance with an exemplary embodiment of the present invention. The report moderator interface includes a report selection pull down menu  1600  for immediately viewing sections of the report without having to scroll through each of the reports. 
     Graph  1610  is a graph of click-through activity versus time for an interactive program. During an interactive program, individual instances of viewers selecting advertising banners is recorded in the previously described moderator database associated with the time of the selection of the advertising banner. An interactive program creation system can use the recorded advertising selection events and their associated times to generate the click-through activity versus time graph. 
     Graph  1612  is a geographically based graph depicting the geographic location of viewers participating in an interactive program. The viewers participating in an interactive program are recorded in the previously described moderator database. Each recorded viewer&#39;s geographic location can be determined from the previously described viewer&#39;s profile or by mapping the viewer&#39;s IP address to a specific geographic location. An interactive program creation system can use the recorded viewer identifications and viewer geographic locations to generate a graphic illustrating the geographic locations of the viewers. 
     The viewer interactivity reports are used by a moderator to determine the effectiveness of an interactive program. For example, the moderator can use the demographic charts to determine if the interactive program is reaching an audience with the demographic profile desired by the moderator. As a further example, the moderator can determine the effectiveness of various portions of an interactive program by analyzing participant interaction with the interactive program over time. Spikes in interactive message transmissions from the participants may indicate portions of the interactive program that the participants find most engaging. 
       FIG. 17  is a screen capture of a moderator interface for an advertising report generated in accordance with an exemplary embodiment of the present invention. A revenue generation graphic  1702  illustrates the relative amounts of revenue generated from the viewers participating in an interactive program. As the viewers participate in the interactive programs, the viewers&#39; interactions with links and advertising banners included in the interactive program are recorded in the moderator database as previously described. An interactive program creation system can use the recorded viewer interactions to generate a graphic showing the relative contributions to total revenue by each of several possible viewer interaction modes. For example, in the illustrated graph, comparisons are made for selection of links  1704 , selection of embedded ads  1706 , selection of banner ads  1708 , and selection of other types of ads  1710  and  1712 , as a percentage of total revenue. 
     An advertising geographical graphic  1716  indicates the geographic viewer locations of viewers participating with the interactive program. As the viewers participate in the interactive programs, the viewers&#39; interactions with links and advertising banners included in the interactive program are recorded in the moderator database as previously described. Additionally, a viewer identification for each viewer interaction is stored in the moderator database. Each viewer&#39;s geographic location can be determined from the previously described viewer&#39;s profile or by mapping the viewer&#39;s IP address to a specific geographic location. An interactive program creation system can use the recorded viewer interactions and viewer identifications to generate a graphic illustrating the geographic locations of advertising revenue generation. An interactive program creation system can use viewer interaction data, viewer identification data, and viewer profile data to generate a revenue by age graphic  1718  or a revenue by demographic description graphic  1720 . 
       FIG. 31  is a process flow diagram of an interactive program report generation process in accordance with an exemplary embodiment of the present invention. A moderator server determines ( 3100 ) a set of viewer demographics for an interactive program&#39;s viewing audience by using the interactive program&#39;s history  3104  along with a set of viewer profiles  3102 . For each viewer that participated in the interactive program when the interactive program was transmitted, the moderator server extracts the individual viewer&#39;s stored viewer profile. The moderator server aggregates the individual viewer profiles to generate viewer demographics  3106  for the interactive program transmission. The moderator server generates ( 3108 ) a graphical representation  3110  of the viewer demographics, for example a bar graph, and adds  3112  the graphical representation to a report  3114 . The moderator server determines ( 3116 ) if all requested graphics have been generated. If not, the moderator selects the next graphic to generate and repeats the process thereby adding a new graphic to the report. Once all of the graphics have been added to the report, the moderator server transmits ( 3118 ) the report to the moderator requesting the report. 
       FIG. 18  is a database entity relation diagram for a moderator database in accordance with an exemplary embodiment of the present invention. The database entity relation diagram is an expression of meta data describing how the data in the viewer and moderator databases are related. The moderator database includes information used to organize interactive programs created and administered by moderators and histories of interactive programs including viewer interactions with the interactive programs. Interactive programs are organized within categories as previously described. Category information is used to create hubs of viewer interactions. A super category  1800  is associated with many categories  1802  but each category is only associated with one super category. A category or hub is associated with many interactive message rooms  1804  which is in turn associated with many interactive message lines  1806 . A viewer profile  1808  is associated with many interactive message lines. In operation, a plurality of viewers select a category and enter an interactive message room associated with the category. Viewer submissions within an interactive message room are used to generate individual interactive message lines that are viewed by the viewers as they exchange interactive messages. 
     A category is associated with a plurality of polls  1810  with each poll being associated with a plurality of poll responses  1812 . A viewer profile is associated with a plurality of poll responses. In operation, viewers respond to a poll associated with a specific category and the viewers&#39; responses are recorded in the moderator database for future analysis. 
     A category is associated with a plurality of interactive programs  1814  and each interactive program is associated with a plurality of interactive program broadcasts or instances  1816 . Each interactive program broadcast is associated with a plurality of reminders  1818  with each reminder being associated with a single user profile. In operation, a moderator determines an interactive programming schedule of interactive program broadcasts and generates reminders that are transmitted to viewers who have expressed an interest in being reminded of the interactive program&#39;s broadcasts. 
     A category is associated with a plurality of message boards  1820  with each message board being associated with a plurality of message board threads  1822 . Each message board thread is associated with a plurality of message board messages  1824  with each message board message being associated with a single viewer profile. A viewer profile may be associated with a plurality of message board messages. In operation, viewers leave messages grouped into message board threads on message boards maintained by moderators. The messages may be for the moderators or may be for other viewers. 
     Keywords  1826  are stored in the moderator database so that viewers can search for categories  1802  and links  1832  associated with the categories. Additionally, all user inputs can be indexed and tagged to become interactive triggers that are linked to interactive programs served by the moderator server. Category keywords  1828  are associated with a plurality of categories. In operation, a viewer enters a category keyword into a previously described search facility and a set of categories for use by the viewer are generated that are associated with the category keyword. Link keywords  1830  associated with links to off-site resources are also stored in the moderator database. In operation, a viewer enters a link keyword in the previously described search facility and a set of links associated with the link keyword is generated for use by the viewer. 
     Viewer profiles are associated with a plurality of viewer histories  1834 . In operation, a viewer history is recorded of a viewer&#39;s interactions when accessing an interactive program creation system while not actually participating in an interactive program. 
       FIG. 19  is a screen capture of a viewer interface for a non-moderator based interactive program associated with a broadcast in accordance with an exemplary embodiment of the present invention. As previously described, an interactive program can include broadcast content from a source not associated with the interactive program, such as a broadcast from a commercial broadcaster. In this case, an interactive program includes participant commentary but may not include moderator commentary. The viewer interface for a non-moderated interactive program includes a broadcast content section  1900  for display of non-interactive broadcast content. The viewer interface for a non-moderated interactive program further includes a viewer interactive message section  1902  for display of viewer interactive messages transmitted to a moderator server (not shown). The viewer interface for a non-moderated interactive program includes a viewer interactive message entry field  1904  for entry of viewer interactive messages. In operation, a viewer views the non-interactive broadcast content, enters interactive messages into the interactive message entry field and selects the “enter” button  1906  to submit the interactive message to the moderator server. The viewer&#39;s entered interactive message is then combined with other viewers&#39; interactive messages to generate an interactive message display that is shown in the interactive message display section. 
     In an interactive program creation system in accordance with an embodiment of the present invention, the broadcast program is synchronized to the interactive program using synchronization signals included in the interactive program signals. In this way, an interactive program may be synchronized with an external broadcast. 
       FIG. 20  is a screen capture of a viewer interface for a broadcast program guide in accordance with an exemplary embodiment of the present invention. The broadcast program guide viewer interface includes a date selection/display field  2000  and a time selection/display field  2002 . A viewer uses the date selection/display field and time selection/display field to select and display a date and time for which the viewer wants to view scheduled broadcasts. Scheduled broadcasts for the selected date and time are shown in a listings section  2003 . The listings section includes a broadcast channel column  2004  for display of the broadcast channel of a particular program, and a program information column  2005  for display of information about a scheduled program. 
     A current broadcast content section  2006  includes a display of broadcast content that is currently being broadcast on a selected broadcast channel. Information about the broadcast content is shown in a broadcast content information section  2007  formatted as a televised programming guide. The broadcast information includes a broadcast channel, a title, a broadcast time, and a description, if available, of the broadcast content. If a microphone indicator  2008  is shown next to a listing of a scheduled broadcast, this indicates that the scheduled broadcast is available as an interactive program including broadcast content as previously described. In operation, a viewer can select an interactive program that is currently being broadcast and view the broadcast content in the current broadcast content section. A viewer selects a “switch to full screen” button  2012  to participate in a currently broadcast interactive program corresponding to the currently broadcast content displayed in the current broadcast content section. 
       FIG. 21  is a screen capture of a viewer interface for an interactive program incorporating Web content in accordance with an exemplary embodiment of the present invention. A viewer initiates participation with an interactive program displayed in an interactive program reduced screen viewer interface  2100 . The reduced screen viewer interface includes a link  2101  to a Web page  2102  that includes additional information about the interactive program&#39;s theme. For example, the link may be to an eCommerce Web site where a viewer may purchase a book that is currently being discussed by a moderator and viewers participating in the interactive program. The reduced screen viewer interface includes a stage interaction section  2104  for display of interactive messages exchanged between a moderator and a virtual guest or invited viewer as previously described. The reduced screen viewer interface further includes an audience interactive message display section  2106  for display of interactive messages exchanged between viewers as previously described. The reduced screen viewer interface further includes an interactive message entry field  2108 . In operation, a viewer enters an interactive message into the interactive message entry field and selects the “Enter” button  2110  to transmit the interactive message to a moderator server (not shown) for inclusion in the stage or audience interaction display section. 
     The reduced screen viewer interface further includes interactive program rating buttons  2112  for viewer rating of an interactive program as previously described. In operation, a viewer selects one of the interactive program rating buttons to indicate the viewer&#39;s satisfaction with the interactive program. Viewer ratings from a plurality of viewers are aggregated together and displayed to the moderator as previously described. 
     A moderator uses a reduced screen viewer interface to create a contextual commerce application using all interactive program. The moderator uses the interactive program to build a community from an audience attracted to the subject matter of the interactive program, such as a product line or a series of books. The moderator then links the reduced screen viewer interface to a location where a viewer can make a purchase of a product or item related to the subject matter of an interactive program. In addition, archived interactive programs can be accessed in an “on-demand” mode to be linked to an e-commerce Website in order to have a continually available sales tool such as an “infomerical” or testimonial for a product or item. 
       FIG. 22  is a screen capture of a viewer interface for an interactive program incorporating Web content in accordance with another exemplary embodiment of the present invention. A viewer initiates interaction with a previously described reduced screen viewer interface  2204  for an interactive program by selecting a link  2202  included in a Web page  2200 . For example, a seller offering items on an auction site may be a moderator for an interactive program in order to discuss the offered items with participating viewers. In this case, the seller includes a link to an interactive program for which the seller serves as a moderator. 
       FIG. 23  is a screen capture of a viewer interface for a facility to manage a viewer&#39;s personal favorite interactive programs in accordance with an exemplary embodiment of the present invention. The personal favorite viewer interface includes a listings display section  2300  for display of one or more listings  2301 . Each listing includes a viewer rating field  2302  for display of previously described viewer ratings of an interactive program displayed in the listing. The listing further includes a name field  2304  for display of an interactive program&#39;s name, a next broadcast field  2306  for display of the interactive program&#39;s next broadcast, a reminder button  2308 , and a delete button  2310 . In operation, a viewer selects the reminder button to receive previously described reminders from a listed interactive program&#39;s moderator and selects an “update settings” button  2312  to transmit the reminder request to a moderator server (not shown). To delete an interactive program from the viewer&#39;s personal favorite list, the viewer selects the delete button and selects the update settings button to delete a listed interactive program to delete the listed interactive program. 
       FIG. 24  is a screen capture of a viewer interface for a facility to suggest programs to a viewer in accordance with an exemplary embodiment of the present invention. The suggested program viewer interface includes a suggested interactive program listing section  2400 . A suggested interactive program listing includes a field for display of a previously described viewer rating  2404 , a field for display of an interactive program&#39;s name and brief description  2406 , a next broadcast field  2408  for display of an interactive program&#39;s next display time, and an “add” button  2410  for adding a listed interactive program to the viewer&#39;s list of favorite interactive programs. In operation, a viewer selects the add button for a listed interactive program and selects an “Add Selected to My interactive Programs” button  2412  to add a listed interactive program to the viewer&#39;s previously described favorite interactive program. 
       FIG. 25  is a deployment diagram of a process for conversion and delivery of interactive programs via an interactive television network in accordance with an exemplary embodiment of the present invention. A moderator server  210  receives participant comments and moderator content from an audience and a moderator and generates interactive program for transmission over the Internet  202  to a viewer client  212  as previously described. 
     The same interactive program can be transmitted over a conventional interactive television (iTV) network as well. The moderator server transmits the interactive program to an iTV server  2500  and the iTV server generates iTV content  2502  from the interactive program. The iTV content is transmitted via communications network  2504  to an iTV signal processor  2506 . The iTV signal processor receives the iTV content and uses the iTV content to generate iTV signals for transmission to an iTV enabled television  2508  for viewing by a viewer. In this mode, triggers are generated from the interactive program signals and the viewer uses the triggers to participate in the interactive program, such as through the use of tags associated with the triggers included in the iTV signals&#39; Vertical Blanking Interval (VBI), and the viewer&#39;s comments are transmitted via a back channel  2510  to the moderator server. In this way, a viewer can use either an iTV enabled television or a viewer client to participate in an interactive program as previously described. 
       FIG. 33  is a deployment diagram of a locally hosted moderator server in accordance with an exemplary embodiment of the present invention. A moderator server  210  implementing the previously described interactive program creation facilities is hosted by a local host  3300 . The local host may also host the previously described moderator client  204 . In this embodiment, the locally hosted moderator server is operably coupled to a plurality of previously described viewer clients, as exemplified by viewer clients  214 a and  214 b, via previously described communications network  202 . The moderator server is further coupled to an interactive program server  3302  via the communications network. The interactive program server is operably coupled to the previously described moderator database  230  and viewer database  232 . 
     In operation, the locally hosted moderator server is used by a moderator to create an interactive program for transmission to the viewer clients and moderator client as previously described. In this embodiment, viewer information is stored in the viewer database, moderator information is stored in the moderator database and the moderator server and the viewer clients access the information via the interactive program server. The local host may be any type of programmable device capable of bidirectional communication with other devices over a communications network. For example, the local host can be a game console, or a personal computer, or a set-top-box, etc. 
       FIG. 26  is a hardware architecture diagram of a data processing system suitable for use as a moderator server host in accordance with an exemplary embodiment of the present invention. A microprocessor  2600 , including a Central Processing Unit (CPU)  2610 , a memory cache  2620 , and a bus interface  2630 , is operatively coupled via a system bus  2635  to a main memory  2640  and an I/O control unit  2645 . The I/O interface control unit is operatively coupled via an I/O local bus  2650  to a disk storage controller  2695 , and a network communications controller  2680 . A communications device  2696  is operatively coupled to the network communications controller and is adapted to allow software objects hosted by the general purpose computer to communicate via a network with other software objects. 
     The disk storage controller is operatively coupled to a disk storage device  2655 . Computer program instructions  2697  implementing a previously described moderator server are stored on the disk storage device until the microprocessor retrieves the computer program instructions and stores them in the main memory. The microprocessor then executes the computer program instructions stored in the main memory to implement the moderator server. 
     Although this invention has been described in certain specific embodiments, many additional modifications and variations would be apparent to those skilled in the art. It is therefore to be understood that this invention may be practiced otherwise than as specifically described. Thus, the present embodiments of the invention should be considered in all respects as illustrative and not restrictive, the scope of the invention to be determined by any claims supportable by this application and the claims&#39; equivalents.