WO2001053922A2 - Systeme procede et produit de programme informatique permettant de collecter des donnees d'opinions - Google Patents
Systeme procede et produit de programme informatique permettant de collecter des donnees d'opinions Download PDFInfo
- Publication number
- WO2001053922A2 WO2001053922A2 PCT/US2001/002241 US0102241W WO0153922A2 WO 2001053922 A2 WO2001053922 A2 WO 2001053922A2 US 0102241 W US0102241 W US 0102241W WO 0153922 A2 WO0153922 A2 WO 0153922A2
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- opinion
- data
- event
- time
- participant
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/04847—Interaction techniques to control parameter settings, e.g. interaction with sliders or dials
Definitions
- the present invention relates generally to opinion researching, and more particularly to a technique for polling and presenting opinion data over a computer network.
- a dial poll is an opinion research tool for capturing reactions to events as they happen.
- a panel of respondents or participants is selected and their demographics are captured.
- the participants are equipped with an instrument in the form of a dial that they hold in their hands as they watch an event or presentation.
- the panel members are instructed to rotate the dial to indicate their approval or disapproval of the presentation as it unfolds.
- the dials are typically wireless devices communicating to a data collection device interfaced to a personal computer.
- the real time opinions are captured from the panel for analysis and are, in many cases, displayed as overlaid graphics over the presentation or event video.
- Underlying databases of user demographic information provide for selected data views of the audience response.
- Extensive post event analysis is carried out by studying behavioral data associated with key elements of the presentation.
- Extensive demographic decomposition as well as specific segment analysis is routinely carried out.
- the present invention is directed to an opinion research system and method for collecting, analyzing and reporting real time opinion data regarding a variety of media events.
- Media events can include speeches, debates, presentations, contests, pageants, newscasts, sporting events, motion picture screenings, commercial testings, and the like.
- a media management server streams the live or on-demand events to a panel of respondents or participants over a computer network such as, the global
- the server can use satellite, terrestrial, radio, microwave and any other form or method of transmission.
- Each participant receives the media streams on a client apparatus and interacts with an input device for a display (e.g., graphical user interface "GUI") to indicate an opinion about the media streams.
- GUI graphical user interface
- the media streams are sent to the same client apparatus used to receive the opinion data.
- the media streaming and polling client apparatuses are the same device.
- the media streams are sent to a separate apparatus that is independent of the polling client apparatus.
- a polling application program interface interacts between the input device and polling client apparatus to provide real time visual feedback to the participant. Accordingly, the participant' s current opinion can be illustrated on a dial control for the GUI.
- Periodic scheduled communications of the current opinion are routed to a collection and display server that generates a composite opinion value for the entire panel.
- the collection and display server can also generate demographically filtered views of the composite opinion from participant demographics stored in a user demographic database.
- the opinion data also includes time stamps that synchronizes each opinion value with the media stream. As such, statistical analysis can be performed on individual media frames, i.e., topics, scenes, issues, and the like, from the media event.
- the composite results, filtered composite results and graphical representations of the results are routed to the participants' display GUIs.
- the panel's response data (e.g., dial data or other indicator) is synchronized with the video, audio or multimedia feeds of the event with minimum lag.
- demographically filtered views of the opinion data can be generated in real time from a user demographic database.
- An advantage of the present invention is a substantial reduction in the costs of performing traditional dial polls.
- the poll panel is no longer required to be brought to a centralized location. Costs associated with procuring specialized equipment, facilities and staff are also mitigated.
- a further advantage of the present invention is that the panel size can be scaled to hundreds of thousands of simultaneous participants, without the added costs of procuring larger facilities and equipment and additional staff.
- a still further advantage of the present invention is the ability to capture accurate and synchronized panel responses and provide instant access and analysis by using real time demographic views.
- FIG. 1 illustrates a high level block diagram of the configuration of a real time polling system according to one embodiment of the present invention.
- FIG. 2 illustrates a graphical user interface (GUI) for a client apparatus according to an embodiment of the present invention according to one embodiment of the present invention.
- GUI graphical user interface
- FIG. 2a illustrates an analog-based graphical representation of a polling indicator according to one embodiment of the present invention.
- FIG. 2b illustrates a discrete value-based graphical representation of a polling indicator according to one embodiment of the present invention.
- FIG. 3 illustrates a high level block diagram of the configuration of a media management server according to one embodiment of the present invention.
- FIG.4 illustrates a high level block diagram of the configuration of a load balancer according to one embodiment of the present invention.
- FIG. 5 illustrates a high level block diagram of the configuration of a polling server according to one embodiment of the present invention.
- FIG. 6 illustrates a master data table resident in the memory of a polling server according to one embodiment of the present invention.
- FIG. 7 illustrates a high level block diagram of the configuration of a collection and display server according to one embodiment of the present invention.
- FIG. 8 is a block diagram of an example computer system useful for implementing the present invention.
- FIG. 9 illustrates a high level operational flow diagram for the steps involved in collecting opinion data according to one embodiment of the present invention.
- FIG. 10 illustrates a GUI for a client apparatus according to a second embodiment of the present invention.
- FIG. 11 illustrates a GUI for a client apparatus according to a third embodiment of the present invention.
- FIG. 12 illustrates a GUI for an interactive opinion research report generated according to one embodiment of the present invention.
- FIG. 12a illustrates a GUI for an interactive opinion research report generated according to another embodiment of the present invention.
- FIG. 13 illustrates a GUI for an opinion research summary report generated according to one embodiment of the present invention.
- FIG. 14 illustrates a GUI for an interactive opinion research report generated according to another embodiment of the present invention.
- FIG. 15 illustrates a GUI for a navigation guide according to one embodiment of the present invention.
- FIG. 16 illustrates a GUI for a navigation guide according to another embodiment of the present invention.
- FIG. 17 illustrates a GUI for an authoring environment according to one embodiment of the present invention.
- FIG. 18 illustrates a GUI for opinion research post analysis according to one embodiment of the present invention.
- FIG. 1 illustrates, according to one embodiment of the present invention, a block diagram of a real time polling system 100 for collecting, analyzing and reporting opinion research data.
- polling system 100 in a representative embodiment, includes a media management server 134 in communication with one or more multimedia devices 146.
- multimedia devices include, but are not limited to, a video camera, record/playback device (RPD), and other devices capable of producing audio, video, text, graphics or any combination thereof to be sent over a network connection.
- RPD can be a video tape recorder/player (VTR), a video server, a virtual recorder, a digital audio tape
- DAT digital versatile disc
- Such multimedia devices can also include devices capable of producing video and audio from a video game, VCR, camcorder, laser disk, digital video disc or digital versatile disc (DVD) player and satellite receiver.
- Line 150 represents a logical communication path between media management server 134 and the multimedia devices 146 listed above.
- multimedia devices that can be used in the present invention
- any other multimedia device including, but not limited to, video recorders/servers, and virtual sets, could be easily included and would not change the scope of the invention.
- Any presently available or future developed device that is responsive to a general purpose interface is encompassed by the present invention.
- live feeds (such as, speeches, debates, presentations, contests, pageants, news reports, sporting events, and the like) from any type of source, including satellite, terrestrial (fiber optic, copper, coaxial, and the like), radio, microwave or any other form or method of transmission, can be provided in lieu of multimedia devices in accordance with the present invention.
- a poll/media manager 142 uses media management server 134 to conduct opinion research for an event, such as, speeches, television programs, commercials, and the like.
- media management server 134 displays a graphical user interface (GUI) on a display device (not shown).
- Line 154 represents a logical communication path between media management server 134 and the display GUI.
- Poll/media manager 142 utilizes the display GUI to program and control media management server 134.
- Media management server 134 is also in communication with time base generator 138 that supports time stamping.
- Line 152 represents a logical communication path between media management server 134 and time base generator 138.
- Line 174 represents a logical communication path between time base generator 138 and multimedia devices 146.
- Media management server 134 utilizes time generator 138 to control the creation, synchronization and management of media streams from multimedia devices 146.
- the synchronized media streams are routed to a participant, or panel of participants, over a diverse computer network 110, which includes wired or wireless local area networks (LANs) and/or wide area networks (WANs), such as the global Internet.
- Line 148 represents a logical communication path between media management server 134 and network connection 110.
- polling system 100 utilizes computer network 110 to communicate with the participants via one or more client apparatus (not shown). The client apparatuses enable the participants to interact with polling system 100.
- Polling system 100 also includes a load balancer 114, which receives input from all participants.
- Load balancer 114 communicates with one or more polling servers 118a-118n.
- Line 170 represents a logical communication path between network connection 110 and load balancer 114.
- line 168 (shownas 168a-168ninFIG. 1) represents a logical communication path between load balancer 114 and polling servers 118a-l 18n.
- load balancer 114 After receiving input (i.e., a data stream containing an opinion value) from the participants, load balancer 114 routes the data stream to polling servers 118a-l 18n. Polling servers 118a-l 18n process the data stream to statistically analyze the participants' opinions, as explained in detail below.
- Polling servers 118a-118n communicate with user demographic database 130, data checkpoint and storage database 126 and collection and display server 122.
- User demographic database 130 provides a centralized repository of demographic information on the participants.
- Polling servers 118a-l 18n maintain a copy of a participant's demographic records in its resident memory and uses the information to analyze the participant's opinion data. During the analysis process, the resident memory in polling servers 118a- 118n is periodically backed-up in data checkpoint and storage database 126, as described in further detail below.
- Polling system 100 also includes collection and display server 122, which communicates with polling servers 118a-118n, data checkpoint and storage database 126, user demographic database 130 and media management server 134.
- Collection and display server 122 receives statistical data from polling servers 118a-l 18n and aggregates the data to produce a composite result for a single event.
- Line 166 (shown as 166a-166n in FIG. 1) represents a logical communication path from polling servers 118a-l 18n to collection and display server 122.
- collection and display server 122 exchanges demographic data with user demographic database 130 and back-up data with data checkpoint and storage database 126.
- Lines 158 and 160 show logical communication paths for the demographic and back-up data, respectfully.
- collection and display server 122 also exchanges the demographic and back-up data with polling servers 118a- 118n.
- a logical communication path representing the exchange of data with polling servers 118a- 118n is illustrated in FIG. 1 by Line 162.
- Collection and display server 122 and polling servers 118a- 118n are connected to communication infrastructure 164 (e.g., communications bus, cross-over bar, or network) that provides bi-directional communications.
- Polling servers 118a-l 18n, collection and display server 122 and media management server 134 represent one or more computers providing various shared resources with each other and to the other network computers.
- the shared resources include files for programs, web pages, databases and libraries; output devices, such as, printers, plotters and audio/video recorders and players; and communications devices, such as modems and Internet access facilities.
- the communications devices can support wired and wireless communications, including satellite, terrestrial (fiber optic, copper, coaxial and the like), radio, microwave and any other form or method of transmission.
- Each server is configured to support the standard Internet Protocol (IP) developed to govern communications over public and private Internet backbones.
- IP Internet Protocol
- STD Internet Standard
- RRC Request for Comments
- the servers can also support transport protocols, such as, Transmission Control Protocol (TCP), User Datagram Protocol (UDP) and Real Time Transport Protocol (RTP).
- TCP Transmission Control Protocol
- UDP User Datagram Protocol
- RTP Real Time Transport Protocol
- the servers use a TCP/IP protocol to provide communications between any two nodes on the network.
- Each server is also configured to support various operating systems, such as, NetwareTM available from Novell®; MS-DOS®, Windows NT® and Windows® 3.xx/95/98/2000 available from Microsoft®; Linux® available from Linux Online Inc.; SolarisTM available from Sun Microsystems. Inc.; and the like as would be apparent to one skilled in the relevant art(s).
- polling system 100 communicates with one or more client apparatuses via network connection 110.
- Each client apparatus can be a personal computer, personal digital assistant (PDA), telephone, television or like devices linked to computer network 110 and including a display device with the ability to select one or more events and indicate an opinion.
- PDA personal digital assistant
- the display device for the client apparatus provides a text or graphical user interface (GUI) and enables a participant to interactively communicate with media management server
- FIG. 2 illustrates an embodiment of client GUI 200.
- GUI 200 can display one or more windows.
- event window 214 manages the display and participant interaction with the media streams that are routed to the participant from media management server 134.
- the media streams contain the event that is being reviewed and polled by the participant.
- Event window 214 can be used to evaluate the participant's opinion regarding a variety of events, such as, testing of speeches, debates and presentations; analysis and testing of commercials and their elements; reactions to new product introductions; response analysis for movie and television programs and content; response to personalities in live or test situations; testing and evaluation of testimony and summaries in litigation support applications; and the like as would be apparent to one skilled in the relevant art(s).
- polling system 100 can be used to conduct live and on-demand polls.
- the participant can request to view an event that has been delayed or archived to storage media.
- Polling system 100 and the client apparatuses can be configured to support Network 24, RealNetworks®.
- event window 214 operates with a third party media management client to manage the display and participant interaction with the event and serves as the transport platform for the delivery of frame synchronization data for real time polling system 100.
- the event is routed to the participant from media management server 134.
- the event can be routed to the participant from a third party source.
- the participant can request to view an event from another web site, such as streaming a live newscast from a news service.
- the third party would provide the time stamped media frames to be synchronized with polling system 100 as discussed below.
- the event can also be contained on a storage medium located within or connected to the client apparatus.
- the event can be read from a hard disk drive, removable storage drive, removable storage interface, and the like as described in more detail below.
- GUI 200 also includes polling window 210 that provides a graphical representation of the participant's current opinion.
- FIG. 2 illustrates one embodiment of the graphical representation.
- the participant can indicate an opinion by interacting with an input device (not shown) that moves polling indicator 218 to designate a discrete value between 0 and 100. "0" represents a strongly unfavorable response, "50” represents a neutral response, and "100” represents a strongly favorable response.
- FIG. 2a and FIG. 2b illustrate two additional embodiments of the graphical representation of the participant's current opinion.
- the input device permits the participant to move an indicator mark 240 along horizontal bar 244 which interacts with polling indicator 218 to signal a "thumbs-up" or "thumbs-down" response.
- polling indicator 218 would signal a thumbs-up to indicate a strongly favorable response.
- polling indicator 218 would signal a thumbs-down to indicate a strongly unfavorable response.
- the participant can signal an intermediate level of satisfaction.
- the input device permits the participant to move indicator mark 240 along horizontal bar 244 to instruct polling indicator 218 to signal a discrete value between 1 and 10.
- "1" represents a strongly unfavorable response
- "5" represents a neutral response
- "10" represents a strongly favorable response.
- the graphical representation of the participant's opinion can be illustrated as a dial or other graphical metaphors as would be apparent to one skilled in the relevant art(s). It can provide discrete values as shown in FIGs. 2 and 2b or analog values as shown in FIG. 2a.
- polling indicator 218 provides real time indication of the participant's current opinion regarding the event that is being viewed on event window 214.
- Panel value 222 provides real time communication of current opinions for all participants.
- the client apparatus includes a graphics application program interface (API) that interfaces between the media management server
- the API provides for customization of the display attributes without effecting changes to the underlying data management structures.
- collection and display server 122 tabulates the opinions of all participants on the panel to generate a composite result and routes this information (via media management server 134) to the client apparatus where the composite result is displayed as panel value 222, as discussed in greater detail below.
- FIG. 10 illustrates another embodiment of a GUI for the client apparatus (shown as GUI 1000).
- GUI 1000 includes event window 214, indicator bar 244, polling indicator mark 1018, indicator scale 1048 and script window 1052.
- event window 214 provides a forum for presenting a video, audio, multimedia or like forms of the event being polled.
- script window 1052 receives captions or text from the polled event.
- a complete transcript of the polled event is synchronized with the media streams and displayed in script window 1052.
- the event is provided with captions or text from the source.
- well-known captioning and stenographic technologies are used to produce the captions or text and synchronize the data with the media stream.
- the methods and systems of the present invention supports both live and delayed captioning for the events. Accordingly, in one embodiment, real time captions or text can be created and matched to the audio track as live or delayed media streams are sent to the client apparatuses.
- pre-recorded media streams can be processed to generate the captions or text that are timed and matched to the media streams.
- the captions are displayed in script window 1052.
- event window 214 is configured to support embedded captioning in media streams. Therefore, in this embodiment, the captions are located in image displayed in event window 214 in lieu of, or in addition, to script window 1052.
- indicator bar 244 positioned beneath event window 214 is indicator bar 244. A participant moves or slides polling indicator mark 1018 along the axis of indicator bar 244 to specify an opinion value for the event presented in event window 214.
- indicator bar 244 can be illustrated as a line segment in a horizontal position on GUI 1000.
- indicator bar 244 can vary in shape, size and layout. As such, in other embodiments, indicator bar 244 can be depicted in a vertical position, displayed in the form of an arc or circle, shaped like a polygon, and the like. As shown in FIG. 10, indicator bar 244 can be illustrated in two dimensional space. Alternatively, indicator bar 244 can be displayed with three or more coordinate dimensions.
- Indicator scale 1048 provides an array of possible opinion values to be selected by the participant. As shown, the opinion values are expressed as discrete values ranging from 0-100. However, as discussed with reference to FIGs. 2-2b, indicator scale 1048 can be expressed in various discrete or analog schemes, including metaphorical references, such as facial or hand expressions, directional signals, arrows, plus or minus signs, other contrasting graphical icons, and the like.
- the textual labeling for indicator scale 1048 can express categories, such as, strongly agree, agree, neutral, disagree and strongly disagree, and the like. As shown in FIG. 10, the textual labeling for indicator scale 1048 can always be present for ease of reference.
- the textual labeling can be formatted to change intensity or color as polling indicator mark 1018 traverses indicator bar 244.
- indicator scale 1048 can be blank, and part or all of the textual labeling can be formatted to appear only as polling indicator mark 1018 is moved. Referring to FIG. 10, a display area is positioned on top of polling indicator mark 1018 to display an opinion value. Thus, as polling indicator mark 1018 traverses indicator bar 244, the display area would dynamically reveal a specific opinion value corresponding to indicator scale 1048. As discussed with reference to indicator scale 1048, the display area can also produce discrete values, or metaphorical expressions and the like.
- indicator scale 1018 is blank, and the opinion value is only revealed on the display area for polling indicator mark 1018. In another embodiment, the opinion value is not revealed on the display area for polling indicator mark 1018, but is displayed only by indicator scale 1018.
- polling indicator mark 1018 is illustrated in GUI 1000 as a slider, one skilled in the relevant art(s) could readily use other graphical metaphors for the opinion responses. For example, instead of including indicator bar 244, GUI 1000, in another embodiment, can display an object similar to polling indicator mark 1018 with a display area. The participant could use an input device to designate discrete or metaphorical expressions on the display area.
- FIG. 11 illustrates another GUI for displaying both the participant's opinion and a composite opinion for an entire panel.
- GUI 1100 includes a vertically positioned indicator bar 244. No textual labeling is presented along the axis of indicator bar 244. However, the endpoints are labeled "positive” and “negative.” As discussed above, the endpoints can be other labels indicating a positive or negative opinion, including "vote for" or “vote against,” “yes” or “no,” and the like.
- Polling indicator mark 1018 includes a dynamically changing display area that reveals discrete opinion values.
- Display region 1104 exhibits a graphical representation of the participant and panel's opinion values. Participant legend
- panel legend 1160 provides a key or legend for distinguishing between the participant and panel's opinion values, respectively.
- the opinion values can be presented in display region 1104 as a function of time to show the moment-to-moment responses from the participant and the real time aggregate responses from all participants.
- the participant can use display region 1104 to compare the participant's response (shown by participant legend 1156) with the rest of the panel (shown by panel legend 1160).
- the opinion values can be plotted as a function of time on a graph.
- the participant and panel's responses can be depicted on bar charts, histograms, pie charts, and the like, as would be apparent to one skilled in the relevant art(s).
- an overlay of the participant's responses can be positioned over the panel's response.
- readily distinguishable colors, line styles, and the like can be used.
- the illustrations in display region 1 104 can be displayed in two, three or more dimensions.
- GUI embodiments for the client apparatus have been described in reference to data acquisition.
- the present invention also encompass the use of the above GUIs to replay polled events and/or review the polled results.
- media streams from the event can be replayed on event window 214.
- Polling window 210 can be used to present a graphical representation of the opinion responses. Accordingly, polling indicator 218 would move synchronously with the media frames.
- the opinion dial in polling window 210 can be replaced with a graph, bar chart, pie chart and the like, (comparable to panel graph 1160 shown in FIG. 11) to display the composite opinion values.
- polling indicator mark 1018 and/or indicator scale 1048 can be configured to reveal the composite opinion value for each media frame as it is displayed in event window 214.
- collection and display server 122 can also produce electronic and paper reports for each polled event. Such reports can also be displayed on the GUI for the client apparatus.
- FIG. 12 illustrates, according to one embodiment, GUI 1200 for displaying an interactive opinion research report.
- GUI 1200 includes response graph 1204 and script window 1052.
- Response graph 1204 displays a graphical representation of the composite opinion values as a function of time.
- the composite opinion values are plotted to create a graph, but other formats such as, charts, histograms, and the like can be used, as would be apparent to one skilled in the relevant art(s).
- the value for the opinion responses are referenced with respect to the ordinate and time (e.g., seconds, milliseconds, minutes and the like) is referenced as the abscissa.
- the coordinate axises could be switched with the opinion responses being the abscissa and time being the ordinate.
- the time axis shown in FIG. 12 as the abscissa, car. provide an index into the media streams of the event.
- the time axis contains a plurality of time marks that represent links or hyperlinks to the individual frames from the media streams. As such, each time mark is cross-referenced to the time stamps in the media event. Activation of one of the time marks would, as a result, cause the captions or text from the video, audio or the like to be displayed in script window 1052. The captions would be displayed at the precise point cross-referenced to the activated time stamp.
- the GUI 1200 can include a display area (not shown) that is comparable to event window 214.
- activation of the time mark would cause the actual video, audio and the like of the polled event to be viewed on GUI 1200.
- the polled event is visual (i.e., video, images and the like)
- activating the time mark can produce either a static display of individual frames or a dynamic media stream.
- the media feed can be in addition to, or in lieu of, the captioned data shown in script window 1052.
- the graph line illustrated in response graph 1204 can also provide an index into the media streams.
- operating an input device discussed below
- to activate any point along the graph line can, as a result, activate an associated time mark to obtain the captions or media streams of the polled event.
- activating a point on the graph line can cause the associated time mark to change colors or reveal a discrete time value.
- the points along the graph line are direct links into media streams for polled event, without regard to the time marks.
- the graph lines are in different colors. Different colors or line styles can be used to designate the opinion responses from different groups, individuals, polled events, filtered views, and the like.
- a participant can request a summary report (i.e., GUI 1200) to compare the participant's responses to those of the entire panel.
- GUI 1200 a summary report
- the participant's responses would be represented in one color and the panel's composite results are shown in a second color.
- the two graphs would be superimposed over each other for comparison.
- the participant can also request a comparison with different demographic groups. For instance, participant's responses can be graphed and compared with people of a certain age, income, educational level, geographic location, religion and the like.
- Response graph 1204 can also be used to compared multiple polled event. For instance, one can request to compare a panel's opinion of an specific episode of a television sitcom that was broadcasted on different nights or time segments. The results from each broadcast could be graphed in different colors and overlaid on each other for cross-comparison. As would be apparent to one skilled in the relevant art(s), other embodiments of response graph 1204 can be used to evaluate one or more opinion polls.
- response graph 1204 and script window 1052 can be placed in HTML format to be displayed on a browser.
- the data can be formatted to be printed as a paper report, as would be apparent to one skilled in the relevant art(s).
- FIG. 12a illustrates GUI 1200A another embodiment of an interactive opinion research report.
- GUI 1200A includes a plurality of speaker icons 1208a- 1208n, each associated with an individual participating in the event. For example, if the event is a political debate among seven candidates, each candidate would have a separate speaker icon 1208a-1208n.
- Each speaker icon 1208a-1208n is coupled to its respective speaker bar 1244a-1244n.
- On top of each speaker bar 1244a-1244n is an indicator mark 1218a-1218n.
- operating an input device to activate one of the speaker icons 1208a-1208n would automatically highlight (i.e., changing color or intensity) that portion the time axis cross-indexed to the media frames for the associated speaker.
- the corresponding portion of the graph lines shown in response graph 1204 can also be highlighted to illustrate the composite opinion values when the speaker icon 1208a-1208n is activated.
- activating a speaker icon 1208a- 1208n can also automatically trigger the time marks to initiate the associated captions in script window 1052 and/or static or dynamic displays of the speaker's media frames in event window 214 (not shown in FIG. 12a).
- the user can activate the highlighted time marks by, for example, clicking on the time marks to start the media feed to event window 214.
- speaker bars 1244a-1244n and indicator marks 1218a-1218n enable a user to manipulate the media streams cross-linked to the respective speaker icon 1208a-1208n. As discussed, activation of a speaker icon 1208a-1208n, in one embodiment, would highlight the cross-indexed time axis. Moving an indicator mark 1218a-1218 along the spine of its respective speaker bar
- indicator marks 1218a- 1218n are graphical controls for the content of script window 1052 and/or event window 214 (if included).
- speaker icons 1208a-1208n are described with reference to individuals engaging in the media events, it would be apparent to one skilled in the relevant art(s) that speaker icons 1208a-1208n can be used to create a cross-index to various components, features or aspects of the event.
- each speaker icon 1208a-1208n can be used to designate specific issues or topics in a presentation, scenes within a broadcast production, segments in a news program, tracks from an audio recording, performances within a live concert, and the like.
- GUI 1300 illustrates, according to one embodiment, an opinion research summary reported generated by collection and display server
- GUI 1300 provides a snapshot of the composite responses from the polled event GUI 1300 includes a composite region 1308 and filtered region 1312.
- the composite opinion value is computed for the panel and summarized by five categories : strongly agree, somewhat agree, undecided, somewhat disagree and strongly disagree. The five categories correspond to the indicator scale on the polling client (not shown).
- Filtered region 1312 displays filtered views of the composite results.
- the opinion responses can be demographically filtered by political affiliation (e.g., republican, democrat or independent), gender and age.
- filtering criteria e.g., income, marital status, religion, nationality, race, profession, address, psychographic or behavioral patterns, and the like
- other filtering criteria e.g., income, marital status, religion, nationality, race, profession, address, psychographic or behavioral patterns, and the like
- GUI 1400 illustrates another embodiment of an opinion research summary reported generated by collection and display server 122 (described in detail below).
- GUI 1400 includes a response graph 1404, primary region 1408 and a plurality of subordinate regions 1416a- 1416n. Similar to response graph 1204 (described with reference to FIG. 12), response graph 1404 displays a graphical representation of the composite opinion values as a function of time and, in one embodiment, can display multiple graphs in different colors or line styles for comparable studies between different groups, polls and the like.
- Primary region 1408 summarizes the opinion data for the entire polled event, at some point in time.
- Primary region 1408 includes a composite value for the panel in addition to filtered results by gender, political affiliation and a specific age range.
- Subordinate regions 1416a-1416n provide a breakdown of the composite result by topics or issues presented in the polled event. Each subordinate region
- each subordinate region 1416a-1416n has a distinct topic or issue.
- each subordinate region 1416a-1416n includes a composite value per topic with filtered results by demographic category.
- the summary reports can be presented in other layouts and forms, which are deemed to be within the scope of the present invention.
- FIG. 18 illustrates another embodiment of GUI 1800 for post opinion research analysis.
- GUI 1800 permits a research to readily filter and plot plural demographic data.
- a researcher would use controls 1802 to plots results on 1804.
- the graphical representations (shown in 1156, 1160, 1204, 1404 and the like) of the opinion values are calculated on collection and display server 122 and sent to the client GUIs in real time or on-demand. In another embodiment, all or part of the graphical representation can be calculated by a resident application on the client apparatuses.
- the input device can be a mouse, mouse wheel, joystick, rudder pedals, keyboard, touch screen, microphone, joystick, stylus, light pen, voice recognition unit or any other type of peripheral unit.
- the client apparatuses are configurable to receive verbal commands to execute various tasks during the polling or post analysis sessions (e.g., interactive voice response (IVR)).
- IVR interactive voice response
- a processing unit enables a voice recognition unit to identify the voice of the user.
- a poll participant can attach a biometric device to a hand or other body part. As the participant moves the hand through space, this movement can be translated and feed to the client apparatus to cause a corresponding movement in the polling indicator.
- a biometric device to a hand or other body part. As the participant moves the hand through space, this movement can be translated and feed to the client apparatus to cause a corresponding movement in the polling indicator.
- any presently available or future developed device that is responsive to a general purpose interface is encompassed by the present invention.
- a polling API interfaces between the client GUIs and the input device to support real time visual feedback to polling window 210 or the other graphical metaphors and graphical controls mentioned above.
- the polling API provides for the use and change of the appearance and methodology of the actual "dial control" interface (i.e., polling window 210) and other graphics without affecting the underlying communications and management technology.
- the system and method of the present invention generates a discrete value for the participant's current opinion, synchronizes the media streams with the opinion value and routes the synchronized data to load balancer 114.
- a Java applet or JavaScript controls the creation, synchronization, management and routing of the opinion data with the media steams.
- other programming languages such as JavaScript, C, C++, and the like, can be implemented and are considered to be within the scope of the present invention.
- the participant operates the input device to indicate an opinion value of "50” at time “22:24:02," the value "50” and time stamp "22:24:02" would be recorded.
- the opinion value time stamp is used to synchronize the opinion value with the media frame the participant was viewing at the time the opinion value was created.
- each media frame includes a time stamp (e.g., time or frame code) to identify each frame within the media streams.
- the media frame time stamp is used to synchronize the opinion value with the media streams.
- the client apparatus can generate the time stamps used to mark and identify each frame.
- any similar technique for identifying individual or a group of individual frames within a media stream can be integrated with the present invention to synchronize the opinion value with the media streams.
- the Java applet creates a data packet containing the opinion value and time stamp and routes the data packet to load balancer 114.
- a data packet includes the following frames:
- UserJD Poll D, Timestamp, Value
- User_ID is a unique user identification field that identifies the participant to user demographic database 130.
- Policy_ID is a unique identifier that identifies the poll associated with the opinion data. This allows polling system 100 to support multiple simultaneous events, as well as multiple simultaneous polls for the same event.
- Value is the response indication value specified in a range 0 -
- Time stamp is a time or frame indicator that synchronizes the opinion value data with the routed media streams, i.e., client-side audio and video. Timestamp is used to synchronize the opinion value data with the routed media streams. Time stamping is a key element in providing synchronization over the Internet where latency would vary with each participant. Polling system 100 uses the time stamps to properly interpret the data.
- the method and system of the present invention provides an absolute way of utilizing the client apparatus ' computer clock and an absolute standard to ascertain a unique time base for each participant.
- the media management server 134 sends instructions to all client apparatuses to synchronize the computer clocks for all participants.
- An absolute time scheme such as Greenwich Mean Time, can be used as the time standard. Therefore, in this embodiment, the time stamps would be identical for all participants.
- media management server 134 has the ability to set client clocks remotely. In this instance, the Java applet would create a dialog box prompting the participant's permission to reset the clock.
- the data packets are created and routed to load balancer 114.
- the frequency of the data transmission to load balancer 114 is controlled by media management server 134.
- the client apparatus transmits the data packets, including the time stamps, at a periodically scheduled rate or on an event-driven basis.
- the time stamping keeps all opinion data synchronized to the event.
- This transmission strategy overcomes problems due to variable delays and data loss. For instance, since each participant may experience the media streams at a different time due to latency, a media frame viewed by one participant may appear seconds apart for those viewed by other participants. Time stamping enables polling system 100 to keep the composite opinion value synchronized with the media streams. Accordingly, the present invention provides real time measurement of network, including Internet, latency as part of time synchronization.
- polling system 100 can be configured to support stand-alone, independent media streams.
- Independent media streams represent an event that is provided by a third party source, but is not routed to the client apparatus.
- Independent media streams can also be provided by multimedia devices 146 to a device other than the client apparatus.
- Such media streams can include, but is not limited to, a television show broadcasted on the participant's television, world-premiere televised broadcast of a new music video, musical program or song broadcasted on a radio, motion picture shown on a projector screen at a film festival, musical composition recorded on a compact disc and played over speakers in a theater, a recording of an awards ceremony or theatrical performance wherein the recording is time stamped and streamed in real time, delayed or on-demand to other locations, and the like as would be apparent to one skilled in the relevant art(s).
- GUI 200 can contain an icon (not shown) for polling independent media streams. Once the icon has been selected, GUI 200 permits the participant to interact with polling window 210. except event window 214 would not be present.
- the participant receives and evaluates the independent media streams as they are routed to or from a stand-alone apparatus.
- the stand-alone apparatus includes a television, radio, telephone, PDA, personal computer, theater screen, film projector, video server, other multimedia devices or similar apparatus configured to receive media signals and convert the signals to a medium capable of being processed by the participant.
- the stand-alone apparatus can be a multimedia device used to record the event, such as a live concert, play, public debate, speech, presentation, sporting event, news reports and the like.
- the participant would watch the event as it is being recorded and time stamped by the stand-alone apparatus.
- the standalone apparatus of this embodiment would route the independent media streams to media management server 134.
- the stand-alone apparatus is separate and independent from the polling client apparatus.
- the participant can interact with polling system 100 to provide opinion responses on the client apparatus, e.g., a PDA, while viewing or listening to media streams from a stand-alone apparatus, e.g., a radio, or while viewing a live event that is being recorded by a stand-alone apparatus, e.g. video camera.
- the individual media frames within the independent media streams contain time stamps (e.g., time or frame codes) provided by the third party source, time base generator 138 or stand-alone apparatus, as appropriate.
- the time stamps provide an absolute time standard that enables polling system 100 to synchronize the independent media frames with the opinion data generated by GUI 200.
- media management server 134 receives broadcast signals from the third party source to indicate which media frames are being provided to the participant. As such, media management server 134 would be able to track or count the media frames as they are being delivered to the participant. Accordingly, when collection and display server 122 receives the time stamped opinion data from the participant (as discussed below), the opinion data can be correlated with the independent media streams. For example, at time 10:55:18, the third party source can inform media management server 134 that User D "58679" is receiving frames 20: 10:18 and 20:10:19. Therefore, if collection and display server 122 receives opinion Value "70" at Timestamp " 10:55: 18," polling system 100 would know that this opinion Value relates to frames 20:10:18 and 20:10:19.
- media management server 134 synchronizes the clock in the client apparatus with time base generator 138.
- Time base generator 138 would be synchronized with the stand-alone apparatus.
- media management server 134 can transmit signals to reset the client clock, as discussed below, or alternatively, it can reset a resident time keeping unit within time base generator 138 to synchronize the resident time keeping unit with the client clock.
- the time stamps would be synchronized with those generated by the time keeping unit within time base generator 138.
- polling system 100 would be able to correlate the opinion data with the media frames within the independent media streams with marginal error.
- a bridging device (not shown) is used as an interface between the polling client apparatus and the stand-alone apparatus.
- the bridging device counts the frames or reads the time stamps from the independent media streams as they are being delivered to or sent from the stand-alone apparatus.
- the bridging device routes these signals to the polling client, where a Java application uses the data to time stamp the opinion data as discussed above in reference to the polling interface.
- the time stamped opinion data is, therefore, routed to load balancer 114 where it is processed as discussed below.
- FIG. 3 illustrates, according to one embodiment of the present invention, a block diagram of media management server 134.
- FIG. 3 is a conceptual illustration of media management server 134 that allows an easy explanation of the present invention. That is, one or more of the blocks can be performed by the same piece of hardware or module of software. It should also be understood that embodiments of the present invention can be implemented in hardware, software, or a combination thereof. In such an embodiment, the various components and steps would be implemented in hardware and/or software to perform the functions of the present invention.
- media management server 134 in a representative embodiment, includes a registering unit 310, polling management unit 314, formatting unit 318, media routing unit 322 and memory unit 326.
- Registering unit 310 includes a registering unit 310, polling management unit 314, formatting unit 318, media routing unit 322 and memory unit 326.
- registering unit 310 communicates with a plurality of client apparatuses and participants over network connection 110.
- a participant registers for a polling event by sending a registration request to registering unit 310.
- Registering unit 310 verifies the participant's registration information with the participant's existing profile, or establishes a new profile, as appropriate, by communicating with user demographic database 130.
- a copy of user demographic database 130 is located in memory unit 326 for efficient processing.
- registering unit 310 processes the participant's registration request by contacting memory unit 326.
- Memory unit 326 maintains coherency with user demographic database 130, as discussed below.
- registering unit 310 has a direct connection with user demographic database 130.
- Polling management unit 314 exchanges signals with registering unit 310 and formatting unit 318.
- registering unit 310 sends a signal to polling management unit 314 to indicate which participants have been properly registered to participate in the polling event.
- Registering unit 310 is also configured to transmit participant requests to terminate a polling session.
- polling management unit 314 Upon receipt of the registration or termination signal, polling management unit 314 routes the signal to formatting unit 318 to initialize and manage, or terminate, the polling session, as appropriate.
- Polling management unit 314 can also terminate a designated or all polling sessions independent of participant input.
- the initialization or termination signal is routed to formatting unit 318 to identify the network address (i.e., IP address) of the registered participants.
- Formatting unit 318 provides the initialization instructions for creating the polling GUIs (e.g., GUI 200, GUI 1000, GUI 1100 and the like) for client apparatuses.
- the instructions are included within a Java applet that is routed to the client apparatuses.
- formatting unit 318 places the graphics in a certain format and passes the physical size of the graphic images and name of file containing the images to the Java applet to manage them.
- Polling management unit 314 also manages the ongoing operations of polling system 100. Polling management unit 314 provides commands to formatting unit 18 to establish the operational modes for each polling session. For example, polling management unit 314 transmits signals to establish the synchronization scheme for the polling sessions. As discussed above, these instructions determine whether the client apparatuses would time stamp the opinion value data with, for example, time codes or frame codes. The time stamps are subsequently used to synchronize the opinion value with the media streams.
- These synchronization instructions can also request the client apparatuses to reset the computer clocks to an absolute time scheme, such as Greenwich Mean
- polling management unit 314 has the capability to remotely set the client clocks to synchronize the time stamps (i.e., time codes) for all participants.
- Formatting unit 318 embeds the synchronization instructions into the data packets routed to the Java applet in the client apparatuses.
- Polling management unit 314 also provides instructions to formatting unit 318 to synchronize the media streams from multimedia devices 146 with the time stamps from time base generator 138, as discussed below.
- a second operational mode set by polling management unit 314 is the transmission rate.
- Polling management unit 314 determines the frequency for updating the composite result (shown in FIG. 2 as panel value 222), as well as sending any graphical data related to the composite result for each polling session.
- Polling management unit 314 also determines the frequency for reporting each individual participant's value data to load balancer 114.
- the transmission instructions are routed to formatting unit 318 which, in turns, embeds the transmission instructions into the data packets routed to the Java applet in the client apparatuses.
- the reporting frequency can be event-driven or based on a periodic sampling. If event driven, a participant's value data is routed to load balancer 114 each time the participant indicates or changes the opinion value
- polling indicator 2128 If based on periodic sampling, the value data would be stored and reported at a designated time. For example, the
- Java applet can be instructed to transmit a specified number of data frames per unit of time. Another operational mode determined by polling management unit 314 is automatic reset. If selected, polling management unit 314 would instruct formatting unit 318 to route resetting instructions to the Java applet in the client apparatus. The Java applet would be instructed to automatically return polling indicator 218 to, for example, the "50%" mark if no response has been indicated for a designated period of time. /53922
- the Java applet can also be instructed to place the client apparatus in a "time-out" state. If selected, after a specified period of time has elapsed since a change in opinion value (shown in FIG. 2 as polling indicator 218), polling management unit 314 would terminate or temporarily suspend the polling session and instruct the participant' s browser to download another web page. If the polling session is temporarily suspended, the polling session can be terminated after a specified period ' of time has elapsed without participant interaction. The Java applet can be instructed to warn the participant by generating a dialog box prior to terminating or temporarily suspending the polling session. The time-out period for termination and suspension can be adjusted by poll/media manager 142.
- GUI 200 can include an icon or pull-down option (not shown) that enables the participant to select the time-out operational mode.
- the time-out state can be activated after the elapse of a participant-designated period of time or immediately upon activation. This option would enable the participant to place the polling session in a "pause" state while the participant engages in other activities.
- Media management server 134 also includes formatting unit 318 that exchanges signals with one or more multimedia devices 146, time base generator 138, collection and display server 122, polling management unit 314, and media routing unit 322. As instructed by polling management unit 314, formatting unit
- 318 contacts and receives composite opinion data from collection and display server 122.
- a data packet containing the composite data is subsequently transmitted to media routing unit 322.
- the frequency for receiving and transmitting the composite data is determined by polling management unit 314, as discussed above.
- formatting unit 318 communicates with a plurality of multimedia devices 146 by sending media management commands to receive information from multimedia devices 146.
- Media management server 134 therefore, provides a means for centrally controlling each of the multimedia devices 146.
- formatting unit 318 can instruct one or more multimedia devices 146 to send a stream of media data across network 110.
- Formatting unit 318 also sends commands to time base generator 138. In response to the commands, an output data stream with synchronization data is sent to the media management server 134.
- the synchronization data is based on an absolute time scheme, such as Greenwich Mean Time.
- Formatting unit 318 integrates the synchronization data with the media streams from multimedia devices 146 to create synchronized media streams.
- time base generator 138 can send the synchronization data directly to multimedia devices 146 where synchronized media streams are generated and routed to formatting unit 318. Data packets containing the synchronized media streams are then transmitted to the media routing unit 322.
- Formatting unit 318 can also configure the media streams to make them compatible with the client apparatuses. This can be implemented by utilizing the registration data routed to registering unit 310 by the participant, that, in turn, is forwarded to the polling management unit 314 and finally to formatting unit 318.
- the media streams can be formatted to support Apple®, Microsoft®, or RealNetworks® multimedia applications; Netscape® and Microsoft® browsers capable of handling Java 1.1 or higher; Windows®, Novell® or Linux® operating systems; HyperText Markup Language (HTML) or Synchronized Multimedia
- formatting unit 318 utilizes can use a combination of technologies, such as HTML, SMIL or a combination of both accessed under an abstraction layer, to coordinate the media streams for display on the client apparatuses.
- polling system 100 supports multimedia standards developed by Microsoft® technologies, such as, Windows® MediaTM Player; RealAudio® and RealVideo® formats from RealNetworks® Inc.; or the like as would be apparent to one skilled in the relevant art(s).
- Microsoft® technologies such as, Windows® MediaTM Player; RealAudio® and RealVideo® formats from RealNetworks® Inc.; or the like as would be apparent to one skilled in the relevant art(s).
- SMIL or a created abstraction of SMIL is used to provide compatibility with both RealNetworks® and Microsoft® technologies.
- Media management server 134 can be adopted directly from the client multimedia technologies, such as Windows® MediaTM tool offerings.
- Media management server 134 also includes media routing unit 322.
- Media routing unit 322 receives the data packets generated and formatted by formatting unit 318.
- the data packets includes the synchronized media stream representing the event.
- the data packets also include composite opinion data, including graphics, created by collection and display server 122 and formatted by formatting unit 318. Reading the network address, i.e., IP addresses, in the header frames, routing unit 322 transmits the data packets to the designated participant over network connection 110.
- poll/media manager 142 uses media management server 134 to conduct opinion research for an event.
- media management server 134 displays a GUI on a display device
- the display GUI provides graphical controls corresponding to the multimedia devices 146.
- Poll/media manager 142 can use a keyboard, mouse, or other input devices to interact with the media management server 134.
- client input device it should be understood that any other type of input device, including, but not limited to, a touch screen, voice recognition unit, microphone, stylus, light pen, or the like as would be apparent to one skilled in the relevant art(s) could be easily included and would not change the scope of the present invention.
- media management server 134 transmits a media management command to the multimedia device 146 corresponding to the actu ated graphical control.
- poll/media manager 142 centrally controls the operation of each of the multimedia devices 146.
- the display GUI also permits poll/media manager 142 to assemble the content of the events, establish the operational modes for polling management unit 314, develop formatting and configuration instructions for formatting unit 318, reconfigure or alter the records in user demographic database 130, and provide similar commands and information to control polling system 100 as would be apparent to one skilled in the relevant art(s).
- FIG. 4 illustrates, according to one embodiment of the present invention, a block diagram of load balancer 114.
- FIG. 4 is a conceptual illustration of load balancer 114 that allows an easy explanation of the present invention. That is, one or more of the blocks can be performed by the same piece of hardware or module of software. It should also be understood that embodiments of the present invention can be implemented in hardware, software, or a combination thereof. In such an embodiment, the various components and steps would be implemented in hardware and/or software to perform the functions of the present invention.
- load balancer 114 in a representative embodiment, includes a balancing queue 410 and balancing routing unit 414. Balancing queue
- the 410 receives data packets, i.e. IP datagrams, from a plurality of participants over computer network 110.
- the data packets contain current opinion values and time stamps marking the relevant frames for the polling event.
- Line balancer 114 also includes balancing routing unit 414 that routes the data packets to an available polling server 118a- 118n.
- the data packets wait in balancing queue 410 until a suitable polling server 118a- 118n can be identified by balancing routing unit 414.
- Balancing routing unit 414 determines server availability by, for example, evaluating the capacity and current workload of each polling server 1 18a-l 18n, resources required by the submitted job, and other user- defined (i.e., poll/media manger 142) criteria.
- the data packets are routed to the first available server.
- the data packets can be routed to designated servers based on other criteria, such as, the type of poll (e.g., live or on-demand polling), geographic regions, and the like as would be apparent to one skilled in the relevant art(s).
- load balancer 114 optimizes the use of computer resources by evenly distributing workloads to available polling servers 118a-118n within polling system 100. Moreover, load balancer 114 prevents polling system 100 from becoming overloaded. Load balancer 114, or a combination of multiple load balancer 114, supports the aggregation of an unlimited number of polling servers 118a-l 18n. Load balancer 114 is specialized hardware, and can be, for example, a BIG/ip® Controller developed by F5 Networks Inc., IOS server load balancing products from Cisco Systems, or similar hardware, software, or a combination thereof, as would be apparent to one skilled in the relevant art(s).
- FIG. 5 illustrates, according to one embodiment of the present invention, a block diagram of each polling server 118a-118n.
- FIG. 5 is a conceptual illustration of polling servers 118a-118n that allow an easy explanation of the present invention. That is, one or more of the blocks can be performed by the same piece of hardware or module of software. It should also be understood that embodiments of the present invention can be implemented in hardware, software, or a combination thereof. In such an embodiment, the various components and steps would be implemented in hardware and/or software to perform the functions of the present invention.
- Polling servers 118a-118n can be, for example, Intel®/NT computers, Intel® Linux boxes, or similar hardware, software, or a combination thereof, as would be apparent to one skilled in the relevant art(s).
- the total number of polling servers 1 18a-l 18n can be scaled to service an unlimited number of participants as would be apparent to one skilled in the relevant art(s).
- each polling server 118a-l 18n can support approximately 5,000 simultaneous sessions of live and on-demand streaming. Thus, polling system 100 can reach hundreds of thousands of participants daily.
- each polling server 118a-l 18n in a representative embodiment includes a memory unit 510 and work queue manager 514. Work queue manager 514 exchanges signals with load balancer 114 and collection and display server 122. Each polling server 118a-l 18n is assigned a unique network (e-g- > IP) address that load balancer 114 uses to distribute the data packets across the individual polling servers 118a-l 18n, as discussed in reference to FIG. 4.
- a unique network e-g- > IP
- each polling server 118a-l 18n contains a duplicate copy of the entire database from user demographic database 130. In this embodiment, it would not matter which participant's response packets are routed to a given polling server 118a-l 18n. Therefore, for large panel sizes, there should be no statistical differences among the results on each machine as the load balancing is uncorrelated to the data.
- a copy of the database is sent to work queue manager 514 from collection and display server 122, as discussed below.
- work queue manager 514 routes the database to memory unit 510 for storage.
- a copy of the database can be routed directly to work queue manager 514 from user demographic database 130.
- a copy of the database can be routed directly to memory unit 510 from either collection and display server 122 or user demographic database 130.
- FIG. 6 illustrates one embodiment of a memory resident master data table
- Work queue manager 514 uses master data table 600 to manage and analyze the opinion value data located in the data packets.
- work queue manager 514 is part of a multithreaded Java application that manages the input of data from each participant through a unique socket. Therefore, in this embodiment, each participant represents a thread in a Java application on polling servers 118a-l 18n.
- Work queue manager 514 examines the data packets to extract and add each new data items from the participants to master data table 600. In other words, each participant connection
- the Poll_ID, User_ID and Timestamp fields identify where in master data table 600 each new opinion value data entry (shown in FIG. 6 as the Value field) would be placed.
- Master data table 600 represents a sliding time window for each polling session and is organized by User_ID (i.e., participant's identification) and Timestamp (e.g., time or frame code).
- Work queue manager 514 inserts the Value data into the array element determined by the User lD and Timestamp for the appropriate polling session (i.e., Poll_ID).
- the Poll ID variable facilitates the support of multiple simultaneous polling sessions.
- Polling servers 118a-118n would maintain a memory resident window representing several minutes of polling data. This allows high latency data to "catch up" without slowing down system operations.
- FIG. 7 illustrates, according to one embodiment of the present invention, a block diagram of collection and display server 122.
- FIG. 7 is a conceptual illustration of collection and display server 122 that allows an easy explanation of the present invention. That is, one or more of the blocks can be performed by the same piece of hardware or module of software. It should also be understood that embodiments of the present invention can be implemented in hardware, software, or a combination thereof. In such an embodiment, the various components and steps would be implemented in hardware and/or software to perform the functions of the present invention.
- collection and display server ! 22 in a representative embodiment, includes a memory controller 710, checkpoint memory unit 714, demographic memory unit 718, polling databank 722, analyzing unit 726, graphics unit 730 and formatting unit 734.
- Memory controller 710 serves as a switch for routing signals among polling servers 118a- 118n, checkpoint memory unit 714, demographic memory unit 718 and polling databank 722.
- Checkpoint memory unit 714 communicates with data checkpoint and storage database 126. As discussed below, checkpoint memory unit 714 periodically routes signals (via memory controller 710) to polling servers 118a-l 18n and polling databank 722 to backup the data files.
- Memory controller 710 also routes signals from demographic memory unit 718 to polling servers 118a- 118n and polling databank 722.
- Demographic memory unit 718 communicates with user demographic database 130 to obtain a duplicate copy of the entire database from user demographic database 130.
- demographic memory unit 718 instructs memory controller 710 to route the duplicate copy of the database to polling servers 118a-l 18n and polling databank 722.
- demographic memory unit 718 maintains coherency among resident memories within each polling server 118a-l 18n and polling databank 722, as discussed below.
- Collection and display server 122 also includes polling databank 722.
- polling databank 722 contains an aggregated master data table similar to the table 600 depicted in FIG. 6.
- polling databank 722 instructs memory controller 710 to read each polling server 118a-118n, for example, every second to update the aggregated master data table.
- Analyzing unit 726 reads the aggregated master data table in polling databank 722 to generate a composite result representing the entire panel for each polling event.
- Analyzing unit 726 includes programmable instructions that provides for the easy addition and manipulation of data formats. Therefore, analyzing unit 726 is configured to produce one or more filtered views of the composite results.
- the aggregated master data table contains a subset of user demographic data that can be used to provide database-filtered data views of the real time polling data. Applying filtering criteria, such as women in a specified age range, would cause the Include_Flag to be set to include only the value data meeting the filtered criteria. As such, in this example, the composite result would only include the opinion values in the designated filtered or demographic view, such as women in the specified age range.
- Collection and display server 122 also includes graphics unit 730 that creates graphical displays of the composite and/or filtered composite results.
- Graphics unit 730 collects the composite result and generates the appropriate graphical representation of the data for display.
- the graphical representation data is time stamped to support synchronization with the composite result.
- graphics unit 730 creates data packets that separates the data layer (i.e., Value data) from the presentation layer (i.e., graphical representations) so that output formats and devices for the graphics data are independent from the formats and devices for the text data containing the composite results.
- Graphics unit 730 provides for the independent management of data display formats.
- PowerPoint® formats, and the like, or original graphical representations can be created by collection and display server 122 and managed by the viewer software on the client apparatuses. This can be accomplished by routing a Java code to the client apparatuses that includes programmable instructions for the addition of custom display applets.
- Polling system 100 can be configured to support both the server side and client side graphical display strategies.
- graphics unit 730 can embed instructions (e.g., Java code) into the data packets to control the display format at the client side.
- graphics unit 730 can embed formatting instructions to allow the graphics data to be displayed according the client's format.
- graphics unit 730 provides instructions, for example, to drive a video overlay creation device to support the insertion of a graphical overlay on top of the video signal from the server.
- Graphics unit 730 also supports multiple filtered views. Plotting multiple demographics on the same chart can be done in two ways: (1) use multiple data windows at, for example, 3 million bytes per table; and (2) run multiple passes on the aggregated master data table and output the demographics data sequentially. The first method can be faster since the data table is resident inside of graphics unit 730. However, the second method is generally more efficient because it would require less memory capacity.
- Collection and display server 122 also includes formatting unit 734.
- Formatting unit 734 receives the composite result data streams and graphical representation data streams from graphics unit 730. The data streams are synchronized and routed to media management server 134. Formatting unit 734 can route only the composite result data, only the graphical representation data or both as instructed by polling management unit 314.
- the synchronized data stream output from formatting unit 734 also includes the time stamp from the originating client apparatuses that permits the opinion value to be synchronized to correspond with the media stream from which it was created.
- the data stream output with synchronization data is sent to the formatting unit 318 within media management server 134, where the data stream is correlated with the media stream for the matching event.
- Formatting unit 734 also receives several signals from formatting unit 318.
- polling management unit 314 can route signals (via formatting unit 318) to formatting unit 734 to set the data format and filtering criteria for analyzer unit 726; graphics formatting instructions for graphics unit 730; routing instructions for formatting unit 734; and similar commands for controlling and managing the operations of collection and display server 122.
- Polling media/manager 142 can also use media management server 134 (and, hence polling management unit 314) to centrally command and control the operations of polling servers 118a-118n and load balancer 114. In one embodiment, this can be implemented by routing a signal through formatting unit 734 to memory controller 710 to be routed to polling servers 118a-118n (not shown).
- each polling server 118a-l 18n, collection and display server 122 and load balancer 114 can have separate input devices and/or display GUIs (not shown) to permit poll media manager 142 to control the respective operations.
- polling system 100 also includes data checkpoint and storage database 126.
- data checkpoint and storage database 126 controls the backup operations of the resident memories or transaction logs within the network components, such as, media management server 134, collection and display server 122 and each polling server 118a-l 18n.
- a checkpoint command provides a point of synchronization between the data checkpoint and storage database 126 and other network components.
- work queue manager 514 contains a snapshot of current opinion values within its resident master data table 600.
- a copy of master data table 600 can also be retained in data checkpoint and storage database 126.
- master data table 600 is damaged or lost in polling server 118a- 11.8n, the data can be recovered by accessing the data checkpoint and storage database 126.
- data checkpoint and storage database 126 waits until all outstanding write requests to database 126 and the memories within the network components are complete. A checkpoint record is then written to data checkpoint and storage database 126. When the data needs to be recovered, only images for transactions processed after the checkpoint need to be applied. Data checkpoints are written at a specified interval to facilitate error recovery conditions. In other words, data checkpoints can be written to data checkpoint and storage database 126 every N seconds, where the checkpoint time (N) is determined by the poll/media manager 142 and/or polling management unit 314, as experience with the system 100 is accumulated. For example, a ten-minute memory resident data window for 5,000 users would require 3 million bytes (i.e., (5,000 users) x (bytes per Value) x (600 seconds), assuming one byte per value).
- polling system 100 also includes user demographic database 130 which contains a complete record of all participants' demographics.
- user demographic database 130 is a relational database management system. As discussed above, user demographic database 130 provides a duplicate copy of its records to media management server 134, collection and display server 122 and each polling server 118a-l 18n. As discussed in reference to FIG. 3, in one embodiment of the present invention, the database is generated and/or updated each time a participant registers for a polling event via registering unit 310. In another embodiment of the present invention, the database records can be generated or augmented by seeking demographic information from one or more third party proprietary databases (not shown). In this embodiment, user demographic database 130 can contact a third party proprietary database, such as Acxiom® developed by Acxiom Corporation or PRIZMTM developed by ClaritasTM Inc.
- a third party proprietary database such as Acxiom® developed by Acxiom Corporation or PRIZMTM developed by ClaritasTM Inc.
- user demographic database 130 can obtain the information from a third party source.
- polling servers 118a- 118n and collection and display server 122 each, contain a duplicate copy of the entire database from user demographic database 130.
- the database records are used by work queue manager 514 and analyzing unit 726 to provide valid demographic inte retation of the polling data.
- the database records are used to support demographically filtered views generated by graphics unit 730. Accordingly, referring to FIG. 6, a portion of user demographic database 130 is inco ⁇ orated into master data table 600. Data streams representing composite results are created representing any and all of the recorded demographics.
- an initial set of demographics is set by polling management unit 314 (as directed by poll/media manager 142) to determine which demographics would be processed in analyzing unit 726 and graphics unit 730.
- poll/media manager 142 can cause the demographic display criteria to change.
- the participant can request demographic display changes by selecting an icon (not shown) disposed on client GUI 200. The appropriate display signal would be routed to polling management unit 314 for processing.
- analyzing unit 726 and graphics unit 730 would interrogate the resident database information within the aggregated master data table. A participant' s polling data that has no known demographic value would be excluded from the filtered views, unless poll/media manager 142 directs otherwise.
- User demographic database 130 supports both live and on-demand polling events. As such, analyzing unit 726 and graphics unit 730 have full access to updated user demographics to support post event data analysis, as well as real time analysis of live events.
- User demographic database 130 also provides for coherency among the duplicate database records distributed among the network components, namely polling servers 118a-118n and collection and display server 122.
- polling management unit 314 suspends, at periodic intervals, all write and read requests to the database records in user demographic database 130 and the network components.
- the demographics in the duplicate database records are synchronized with the records in user demographic database 130.
- the periodic intervals for maintaining coherency can be adjusted by poll/media manager 142 at any time, as appropriate.
- the present invention (e.g., system 100, media management server 134, collection and display server 122, polling servers 118a-l 18n, load balancer 114, user demographic database 130, data checkpoint and storage database 126, or any part thereof) can be implemented using hardware, software or a combination thereof and can be implemented in one or more computer systems or other processing systems. In fact, in one embodiment, the invention is directed toward one or more computer systems capable of carrying out the functionality described herein.
- the computer system 800 includes one or more processors, such as processor 804.
- the processor 804 is connected to a communication infrastructure 806 (e.g., a communications bus, cross-over bar, or network).
- a communication infrastructure 806 e.g., a communications bus, cross-over bar, or network.
- Computer system 800 can include a display interface 802 that forwards graphics, text, and other data from the communication infrastructure 806 (or from a frame buffer not shown) for display on the display unit 830.
- Computer system 800 also includes a main memory 808, preferably random access memory (RAM), and can also include a secondary memory 810.
- the secondary memory 810 can include, for example, a hard disk drive 812 and/or a removable storage drive 814, representing a floppy disk drive, a magnetic tape drive, an optical disk drive, etc.
- the removable storage drive 814 reads from and or writes to a removable storage unit 818 in a well-known manner.
- Removable storage unit 818 represents a floppy disk, magnetic tape, optical disk, etc. which is read by and written to removable storage drive 814.
- the removable storage unit 818 includes a computer usable storage medium having stored therein computer software and/or data.
- secondary memory 810 can include other similar means for allowing computer programs or other instructions to be loaded into computer system 800.
- Such means can include, for example, a removable storage unit 822 and an interface 820. Examples of such can include a program cartridge and cartridge interface (such as that found in video game devices), a removable memory chip (such as an EPROM, or PROM) and associated socket, and other removable storage units 822 and interfaces 820 which allow software and data to be transferred from the removable storage unit 822 to computer system 800.
- Computer system 800 can also include a communications interface 824.
- Communications interface 824 allows software and data to be transferred between computer system 800 and external devices.
- Examples of communications interface 824 can include a modem, a network interface (such as an Ethernet card), a communications port, a PCMCIA slot and card, etc.
- Software and data transferred via communications interface 824 are in the form of signals 828 which can be electronic, electromagnetic, optical or other signals capable of being received by communications interface 824. These signals 828 are provided to communications interface 824 via a communications path (i.e., channel) 826.
- This channel 826 carries signals 828 and can be implemented using wire or cable, fiber optics, a phone line, a cellular phone link, an RF link and other communications channels.
- computer program medium and “computer usable medium” are used to generally refer to media such as removable storage drive 814, a hard disk installed in hard disk drive 812, and signals 828.
- These computer program products are means for providing software to computer system 800.
- the invention is directed to such computer program products.
- Computer programs also called computer control logic
- Computer programs are stored in main memory 808 and/or secondary memory 810.
- Computer programs can also be received via communications interface 824.
- Such computer programs when executed, enable the computer system 800 to perform the features of the present invention as discussed herein.
- the computer programs when executed, enable the processor 804 to perform the features of the present invention. Accordingly, such computer programs represent controllers of the computer system 800.
- the software can be stored in a computer program product and loaded into computer system 800 using removable storage drive 814, hard drive 812 or communications interface 824.
- the control logic (software), when executed by the processor 804, causes the processor 804 to perform the functions of the invention as described herein.
- the invention is implemented primarily in hardware using, for example, hardware components such as application specific integrated circuits (ASICs). Implementation of the hardware state machine so as to perform the functions described herein will be apparent to persons skilled in the relevant art(s).
- the invention is implemented using a combination of both hardware and software.
- flowchart 900 represents the general operational flow of an embodiment of the present invention. More specifically, flowchart 900 shows an example of a control flow for collecting opinion research data over a network connection 110.
- a participant uses a client apparatus, such as, a computer, PDA, telephone, television, or the like, to register for a polling event. This can be accomplished by clicking on an icon on the display GUI for the client apparatus.
- a registering application program i.e., Java applet
- the participant would prompt the participant for a User_ID. If the participant has not previously registered with polling system 100, the participant would not have a User lD and would be prompted by the registering applet to create a user profile at step 918.
- the user profile would collect demographic information about the participant, such as, age, gender, place of residence, political affiliations, ethnicity, marital status, and other demographics data as would be apparent to one skilled in the relevant art(s).
- the registering applet routes the profile to registering unit 310 as shown in FIG. 3.
- Registering unit 310 sends the user profile to user demographic database 130 where a new record and User lD is generated for the participant.
- registering unit 314 subsequently forwards the User_ID to the participant and informs polling management unit 314 that the participant's registration process has been completed.
- the participant can simply enter the information into the client apparatus.
- the registering applet would subsequently route the User lD to registering unit 310 where a copy of the participant's profile (i.e., demographic record) is collected from user demographic database 130.
- a copy of the user profile can be sent to participant so that the demographics data can be updated, as appropriate.
- registering unit 310 would signal polling management unit 314 that the participant's registration has been completed.
- step 924 registering unit 310 notifies the participant that registration has been denied and the control passes to step 995. Otherwise, at step 926, polling management unit 314 receives a signal indicating that the participant has been properly registered to take part in a polling session. Polling management unit 314 then instructs formatting unit 318 to transmit initialization instructions to the participant's client apparatus and set the operational modes for managing the polling session.
- the operational modes include the synchronization, transmission, resetting and time-out schemes.
- the synchronization scheme determines how the media streams from formatting unit 318 and opinion value data streams from the client apparatus would be time stamped (e.g., time or frame code).
- the transmission rate determines the frequency for reporting opinion value data streams from the client apparatus and routing composite results and graphical representations from collection and display server 122.
- the transmission rate can be a periodically scheduled rate or the reporting can be event-driven.
- the resetting scheme determines whether polling indicator 218 is reset to a neutral position after each input. For example, if no response is entered for a designated time, polling indicator 218 can be automatically returned to a neutral position, e.g., the "50%" mark shown in FIG. 2.
- the time-out scheme determines whether the polling session would be terminated or temporarily suspended after a specified period of time has elapsed. These instructions can be routed to a Java applet within the client apparatus which, in turn, manages the operational modes for the polling session.
- polling management unit 314 maintains a list of registered participants that have been approved to partake in a polling session. Polling management unit 314 periodically provides the authorization list to formatting unit 318 that, in turn, sends initialization and or management instructions to the client apparatuses of the authorized participants.
- the periodic rate can be adjusted by poll/media manager 142. Accordingly, at any given time during a polling session, polling system 100 can initialize, terminate or modify the operational modes for the participant's polling session.
- polling management unit 314 instructs formatting unit 318 to start sending the media streams of the event to the client apparatus.
- the media streams include time stamps (e.g., time or frame codes). By using a single time line, all media on a page can be properly time coordinated and synchronized.
- Formatting unit 318 embeds formatting instructions into the media streams to make them compatible with the client apparatus.
- a markup language such as
- HTML or SMIL can be used to coordinate the media streams for display on the client apparatuses.
- the participant interacts with client apparatus to indicate an opinion value about the media streams.
- the participant indicates an opinion value by interacting with an input device (not shown) that moves polling indicator 218 to designate a discrete value between 0 and 100.
- a polling API interfaces with GUI 200 and the input device to provide real time visual feedback by moving polling indicator 218.
- the client apparatus synchronizes (e.g., time stamps) and routes a data stream containing a current opinion value and time stamp to load balancer 114 at the transmission rate set by polling management unit 314.
- the polling API establishes a quantitative value for the opinion depicted by polling indicator 218.
- a Java applet takes the current opinion value, synchronizes the opinion value with the media streams and routes the synchronized opinion data to load balancer 114.
- load balancer 114 collects the data stream consisting of a current opinion value and time stamp and routes the data stream to an available polling server 118a-l 18n.
- the data stream generally waits in balancing queue 410 until a suitable polling server 118a- 118n can be identified by balancing routing unit 414.
- Balancing routing unit 414 determines server availability by, for example, evaluating the capacity and current workload of each polling server 118a- 118n, resources required by the submitted job, and other user- defined (e.g., poll/media manger 142) criteria.
- the recipient polling server 118a-118n analyzes the data stream to tabulate the participant's opinion.
- the recipient polling server 118a-l 18n has a duplicate copy of the entire database from user demographic database 130.
- a copy of the database is sent to work queue manager 514 which generates a memory resident master data table, shown in FIG. 6 as master date table 600.
- Work queue manager 514 uses master data table 600 to manage and analyze the opinion value data located in the data stream.
- the participant represents a thread in a Java application on polling servers 118a-l 18n, and the participant's connection (socket) is polled by the Java application for data which is added to master data table 600.
- Work queue manager 514 inserts the Value data into the array element determined by the User_ID and Timestamp fields for the appropriate polling session, Poll_ID.
- collection and display server 122 reads the recipient polling server 118a-l 18n at a periodic rate, for example every second, and generates a time aggregated master data table.
- analyzing unit 726 utilizes the aggregated master data table to create a composite result representing an entire panel of participants. Since the aggregated master data table also includes a duplicate of the database from user demographic database 130, analyzing unit 726 can also utilize the aggregated master data table to provide database-filtered data views of the real time polling data. Applying filtering criteria, such as gender or age, analyzing unit 726 can create composite results for each demographic or " filtered view.
- collection and display server 122 can generate a filtered view by making a selected subset of user data memory resident and associating the user data with the User__IDs for all participants.
- analyzing unit 726 utilizes the Include Flag, associated with each User lD, in the aggregated master data table to identify the Value data to be assembled into the filtered or demographic view.
- the selected Include Flag is turned on if the user demographic data matches the filtering criteria. For example, by setting the Include_Flag(s) to select all females between the ages of 18-32, the filtered view would only include the composite results of participants in that particular demographic group. If analyzing unit 726 sets all the Include Flags to "ON," the composite result would include all participants' responses.
- collection and display server 122 creates graphical displays of the data.
- graphics unit 730 creates the appropriate graphical representation of the data to be displayed on the client apparatus. Depending on the filtering criteria, graphics unit 730 can generate graphical representations for each filtered view.
- Formatting unit 734 receives a data stream containing the composite result(s) and graphical representation(s) of the panel's opinion. The data stream also includes time stamps that synchronizes the data to correspond to the media streams where the opinions were created.
- Formatting unit 734 routes the data stream to media management server 134.
- media management server 134 receives the data stream containing the composite result(s) and graphical representation(s).
- formatting unit 318 receives the data stream and determines which registered participants are approved to receiving polling data.
- polling management unit 314 periodically transmits signals to formatting unit 318 to identify all authorized participants for each polling session.
- formatting unit 318 formats and sends the data stream to media routing unit 322.
- Media routing unit 322 sends the data stream to the participant's client apparatus, along with the media streams of the polling event.
- the control flow then passes to step 934 where the participant continues to interact with the media streams to indicate an opinion value.
- the participant's polling session has been terminated, either by the participant or polling management unit 314, the participant would not be identified as an authorized participant. In this instance, at step 962, formatting unit 318 and media routing unit 322 would not send additional media streams to participant.
- formatting unit 318 can send a final data stream showing the composite result to the participant. This can occur if the event has ended and the panel of participants have been authorized to receive the final opinion value. Upon termination of the participant's polling session, the control flow ends as indicated by step 995.
- a navigation guide is provided to assist, direct or lead a respondent or other system user during a session with media management server 134 or other components of real time polling system 100.
- the navigation guide can be provided as text, images or video streams.
- the navigation guide includes a video moderator that prompts the user during the session.
- FIG. 15 illustrates one embodiment of GUI 1500 containing a navigation screen 1504 the displays a video moderator. For example, when a respondent registers to initiate a polling session, as discussed above, the video moderator would appear in navigation screen 1504 to assist the respondent during the registration process.
- the video moderator can ask the respondent to select a prize or incentive for participating in the polling session.
- the prize can be money, flooz, movie tickets, coupons, and the like.
- the video moderator could also be activated to provide data if the respondent activates a help icon or request similar data from a context menu.
- GUI 1500 is one embodiment of a navigation guide.
- GUI 16 illustrates another embodiment of a GUI (shown as GUI 1600) containing a navigation screen 1504.
- GUI 1600 a GUI
- navigation screen 1504 can present only text, audio, graphics and like media and multimedia.
- ISML Interview Script Markup Language
- XML XML standards and provides multimedia control
- ISML can be used to create and manage interactive opinion research over a computer network, including the Internet.
- ISML can manage video with textual questions simultaneously and seamlessly.
- FIG. 17 illustrates a GUI 1700 of an authoring environment that can be used to debug the programming code generated in ISML.
- Window 1702 can be used to edit the code or watch the code play.
- Window 1702 can also be used to edit timing, text and video controls, including multiple video clips and entry point into video clips, and the like.
- Window 1702 can also be used for creation of questions, assignment of data variables to answers, instructional messages, interaction without presentation software such as Microsoft PowerPoint®, and supporting cutting and pasting into the editing environment.
- ISML is meant to fully define how an interview is experienced by the user (e.g., respondent) as well as capture the data from that session and provide it in a form that can be further processed by other database tools, such as SAS, Oracle®, Microsoft Access®, and the like.
- the language is a simple procedural listing of events and responses in an interview.
- HTML-like ASCII format HTML-like ASCII format.
- the script can be readily created and viewed in a text editor, but an interactive graphical script-maker is contemplated as part of the present invention.
- Script control the playing of media, asking of a questions, and presentation of static information.
- the language is extensible, and more types can be added as required.
- the script is inte ⁇ reted sequentially like most procedural languages, executing the events in order they appear in the script.
- Most event tags are single line, but the ⁇ PLAY> and ⁇ ASK> tags have corresponding ⁇ PLAY> and ⁇ /ASK> tags that define their scope, or range of influence. All events (with the exception of ⁇ PLAY>) can be nested within another, allowing for branching of questions and media based on responses of previous questions.
- ISML is case-sensitive, e.g., uppercase for tag commands and lowercase for parameter tags. Obviously, the parameters themselves can be either case, as desired.
- Event names are BOLD CAPITALIZED. Parameter names are lowercase. Parameter values are in Italics. Optional parameters are in brackets [].
- the DONE tag When the script is completed, the DONE tag will cede control of the script to a page defined by 'newpageurl'.
- the TAG tag defines a place in the script to jump to with the GOTO tag.
- the URL tag will stop the script and go to 'newpageurl'
- Adding the PLAY tag into the script causes the Media Player to play particular media stream, (defined by the 'clip' parameter) audio or video, from some position within the stream to some other time (defined by the 'start' and 'end' parameters).
- the PAUSE tag will cause the Media Player to stop playing, and the RESUME tag will cause it to resume playing where it left off.
- the STOP tag will fast forward to the end of the clip.
- the CUE tag will cue the media to a point specified by 'time'.
- moment-by-moment information can be captured to the destination defined by 'data' identifying name.
- This command must be within a ⁇ PLAY> ⁇ PLAY> tag set.
- the line can be centered on the screen by prefacing the line with a ' ⁇ ' (tilde). Please note that each time you break a line using the line break '
- the first letter of a line can be highlighted with a red circle by prefacing the line with a ' ⁇ ' (caret).
- the ' ⁇ ' should appear after any leading '
- the SAY tag will cause text to be displayed on the screen, but not expect any interaction from the respondent.
- the IMG tag will cause a bitmap image to be displayed on the screen, but not expect any interaction from the respondent.
- the ASK tag will automatically pause any media that is playing and present some text on the screen, and ask the respondent to react, using either the dial poll mechanism or through direct keyboard hits.
- the question text will be displayed on the screen. Later versions of the inte ⁇ reter will allow formatting and image commands to be embedded and shown.
- the 'data' parameter defines the data set name the response will be stored under.
- the 'style' parameter defines any special asking modes, such as multiple select (multi) and verbatim response (verb).
- the respondent When the script encounters the ASK tag, the respondent will be prompted to respond to the displayed question by setting the dial poll dial. Underneath the question, the 2 possible answers are displayed
- the dial no longer displays a range of 0-100, but only Yes or No, depending on which side it is turned to. In addition, the answer text will be highlighted to match the dial's current choice.
- the dial no longer displays a range of 0-100, but 0 to the number of answers, depending on its position. In addition, the answer text will be highlighted to match the dial's current choice.
- any tool supporting ISM must have a method for communicating the results of the respondent's session to a database for analysis.
- This can be a simple as a large ASCII file that describes to results or a direct interface to a database residing in an Oracle-based server.
- ASK Template Structure questionType Defines the style of question (Y/N, poll, etc).
- questionText Text of question asked during question .
- pollID What poll number was this asked in.
- startTime What time question was asked.
- askID Identifier for the question.
- RES Response Structure pollID What poll number was this asked in.
- responseText Text of response asked during question .
- respondentID Respondent ID.
- timeStamp Time associated with response (0 for non- poll events) value: Value associated with response.
- askID Identifier that says what question this is in response to.
- the ISM delivery mechanism sends the database the data via a Java interface as follows, where arrays of various types of data packets are sent to and from the database.
- the arrays can be one or more elements, making the amount and frequency the responsibility of the delivery mechanism, rather than the database.
- ASKPacket implements java.io.Serializable 10 ⁇ int mType; int mPollID; int mAskID; int mStartTime; 15 String mAskText;
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Development Economics (AREA)
- Finance (AREA)
- Physics & Mathematics (AREA)
- Strategic Management (AREA)
- Accounting & Taxation (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Entrepreneurship & Innovation (AREA)
- Game Theory and Decision Science (AREA)
- Human Computer Interaction (AREA)
- Economics (AREA)
- Marketing (AREA)
- General Business, Economics & Management (AREA)
- Information Transfer Between Computers (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
AU2001232927A AU2001232927A1 (en) | 2000-01-24 | 2001-01-24 | System, method and computer program product for collection of opinion data |
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17770400P | 2000-01-24 | 2000-01-24 | |
US60/177,704 | 2000-01-24 | ||
US54462400A | 2000-04-06 | 2000-04-06 | |
US09/544,624 | 2000-04-06 | ||
US61486200A | 2000-07-12 | 2000-07-12 | |
US09/614,862 | 2000-07-12 |
Publications (2)
Publication Number | Publication Date |
---|---|
WO2001053922A2 true WO2001053922A2 (fr) | 2001-07-26 |
WO2001053922A8 WO2001053922A8 (fr) | 2002-05-16 |
Family
ID=27390851
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/US2001/002241 WO2001053922A2 (fr) | 2000-01-24 | 2001-01-24 | Systeme procede et produit de programme informatique permettant de collecter des donnees d'opinions |
Country Status (2)
Country | Link |
---|---|
AU (1) | AU2001232927A1 (fr) |
WO (1) | WO2001053922A2 (fr) |
Cited By (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1337127A1 (fr) * | 2002-02-14 | 2003-08-20 | Fleetwood Group, Inc. | Système de réponse et de vote sans fil |
EP1355255A2 (fr) * | 2002-04-17 | 2003-10-22 | Sonera Oyj | Service en réseau indépendant du dispositif |
EP1387325A1 (fr) * | 2002-08-02 | 2004-02-04 | Fukuicomputer Inc. | Système de comptage à distance |
WO2004036406A1 (fr) * | 2002-10-16 | 2004-04-29 | Christoffel Edward Blaauw | Systeme d'enquete sur les opinions |
EP1443780A1 (fr) * | 2003-01-30 | 2004-08-04 | Accenture Global Services GmbH | Système d'acquisition et de transmission de données événementielles |
AT5795U3 (de) * | 2002-01-21 | 2006-02-15 | Trans Business Consulting Gmbh | Verfahren, programmlogik sowie einrichtung zum erfassen und zur auswertung von daten |
CN1314228C (zh) * | 2003-12-08 | 2007-05-02 | 英业达股份有限公司 | 数据传送系统及方法 |
US7277671B2 (en) | 2002-02-14 | 2007-10-02 | Fleetwood Group, Inc. | Wireless response system and method |
US7761287B2 (en) | 2006-10-23 | 2010-07-20 | Microsoft Corporation | Inferring opinions based on learned probabilities |
US7809788B2 (en) | 2000-10-26 | 2010-10-05 | Strum William E | System and method for managing client-server communications over a computer network using transmission schedule |
WO2013149314A1 (fr) * | 2012-04-02 | 2013-10-10 | Fagot Alain Christian Fernand | Système de collecte d'appréciation synchronisé en groupes |
US20140046861A1 (en) * | 2012-08-10 | 2014-02-13 | James E. Dodson | Method and System for Representing Collective and Individual Responses to a Shared Experience Event |
US20140156556A1 (en) * | 2012-03-06 | 2014-06-05 | Tal Lavian | Time variant rating system and method thereof |
US20160078458A1 (en) * | 2013-05-24 | 2016-03-17 | Zara A. Gold | System of poll initiation and data collection through a global computer/communication network and methods thereof |
US9348930B2 (en) | 2006-02-13 | 2016-05-24 | Junaid Ali | Web-based application or system for managing and coordinating review-enabled content |
WO2017000067A1 (fr) * | 2015-06-29 | 2017-01-05 | Diceman Jason | Système et procédé de collecte de retours d'informations |
US9609034B2 (en) | 2002-12-27 | 2017-03-28 | The Nielsen Company (Us), Llc | Methods and apparatus for transcoding metadata |
US9667365B2 (en) | 2008-10-24 | 2017-05-30 | The Nielsen Company (Us), Llc | Methods and apparatus to perform audio watermarking and watermark detection and extraction |
US9681204B2 (en) | 2011-04-12 | 2017-06-13 | The Nielsen Company (Us), Llc | Methods and apparatus to validate a tag for media |
US9711152B2 (en) | 2013-07-31 | 2017-07-18 | The Nielsen Company (Us), Llc | Systems apparatus and methods for encoding/decoding persistent universal media codes to encoded audio |
US9711153B2 (en) | 2002-09-27 | 2017-07-18 | The Nielsen Company (Us), Llc | Activating functions in processing devices using encoded audio and detecting audio signatures |
US9762965B2 (en) | 2015-05-29 | 2017-09-12 | The Nielsen Company (Us), Llc | Methods and apparatus to measure exposure to streaming media |
US9838281B2 (en) | 2011-06-21 | 2017-12-05 | The Nielsen Company (Us), Llc | Monitoring streaming media content |
US10003846B2 (en) | 2009-05-01 | 2018-06-19 | The Nielsen Company (Us), Llc | Methods, apparatus and articles of manufacture to provide secondary content in association with primary broadcast media content |
WO2019164708A1 (fr) * | 2018-02-23 | 2019-08-29 | Microsoft Technology Licensing, Llc | Procédé et système automatiques d'identification de consensus et de ressources |
WO2019164729A1 (fr) * | 2018-02-23 | 2019-08-29 | Microsoft Technology Licensing, Llc | Procédé et système automatiques d'identification de consensus et de ressources |
US10467286B2 (en) | 2008-10-24 | 2019-11-05 | The Nielsen Company (Us), Llc | Methods and apparatus to perform audio watermarking and watermark detection and extraction |
CN112383456A (zh) * | 2020-11-16 | 2021-02-19 | 中国联合网络通信集团有限公司 | 智能设备自动关联方法及自动关联服务器 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7239981B2 (en) | 2002-07-26 | 2007-07-03 | Arbitron Inc. | Systems and methods for gathering audience measurement data |
US8959016B2 (en) | 2002-09-27 | 2015-02-17 | The Nielsen Company (Us), Llc | Activating functions in processing devices using start codes embedded in audio |
US9209978B2 (en) | 2012-05-15 | 2015-12-08 | The Nielsen Company (Us), Llc | Methods and apparatus to measure exposure to streaming media |
US9313544B2 (en) | 2013-02-14 | 2016-04-12 | The Nielsen Company (Us), Llc | Methods and apparatus to measure exposure to streaming media |
US20150039321A1 (en) | 2013-07-31 | 2015-02-05 | Arbitron Inc. | Apparatus, System and Method for Reading Codes From Digital Audio on a Processing Device |
-
2001
- 2001-01-24 AU AU2001232927A patent/AU2001232927A1/en not_active Abandoned
- 2001-01-24 WO PCT/US2001/002241 patent/WO2001053922A2/fr active Application Filing
Non-Patent Citations (1)
Title |
---|
No Search * |
Cited By (51)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7809788B2 (en) | 2000-10-26 | 2010-10-05 | Strum William E | System and method for managing client-server communications over a computer network using transmission schedule |
AT5795U3 (de) * | 2002-01-21 | 2006-02-15 | Trans Business Consulting Gmbh | Verfahren, programmlogik sowie einrichtung zum erfassen und zur auswertung von daten |
EP1337127A1 (fr) * | 2002-02-14 | 2003-08-20 | Fleetwood Group, Inc. | Système de réponse et de vote sans fil |
US7277671B2 (en) | 2002-02-14 | 2007-10-02 | Fleetwood Group, Inc. | Wireless response system and method |
EP1355255A2 (fr) * | 2002-04-17 | 2003-10-22 | Sonera Oyj | Service en réseau indépendant du dispositif |
EP1355255A3 (fr) * | 2002-04-17 | 2003-12-03 | Sonera Oyj | Service en réseau indépendant du dispositif |
EP1387325A1 (fr) * | 2002-08-02 | 2004-02-04 | Fukuicomputer Inc. | Système de comptage à distance |
US9711153B2 (en) | 2002-09-27 | 2017-07-18 | The Nielsen Company (Us), Llc | Activating functions in processing devices using encoded audio and detecting audio signatures |
WO2004036406A1 (fr) * | 2002-10-16 | 2004-04-29 | Christoffel Edward Blaauw | Systeme d'enquete sur les opinions |
US9900652B2 (en) | 2002-12-27 | 2018-02-20 | The Nielsen Company (Us), Llc | Methods and apparatus for transcoding metadata |
US9609034B2 (en) | 2002-12-27 | 2017-03-28 | The Nielsen Company (Us), Llc | Methods and apparatus for transcoding metadata |
US7242318B2 (en) | 2003-01-30 | 2007-07-10 | Accenture Global Services Gmbh | Event detection and transmission system |
EP2374406A1 (fr) * | 2003-01-30 | 2011-10-12 | ACCENTURE Global Services GmbH | Système d'acquisition et de transmission de données événementielles |
EP1443780A1 (fr) * | 2003-01-30 | 2004-08-04 | Accenture Global Services GmbH | Système d'acquisition et de transmission de données événementielles |
WO2004068881A1 (fr) * | 2003-01-30 | 2004-08-12 | Accenture Global Services Gmbh | Systeme d'acquisition et transmission de donnees d'evenements |
CN1314228C (zh) * | 2003-12-08 | 2007-05-02 | 英业达股份有限公司 | 数据传送系统及方法 |
US9348930B2 (en) | 2006-02-13 | 2016-05-24 | Junaid Ali | Web-based application or system for managing and coordinating review-enabled content |
US7761287B2 (en) | 2006-10-23 | 2010-07-20 | Microsoft Corporation | Inferring opinions based on learned probabilities |
US10134408B2 (en) | 2008-10-24 | 2018-11-20 | The Nielsen Company (Us), Llc | Methods and apparatus to perform audio watermarking and watermark detection and extraction |
US12002478B2 (en) | 2008-10-24 | 2024-06-04 | The Nielsen Company (Us), Llc | Methods and apparatus to perform audio watermarking and watermark detection and extraction |
US9667365B2 (en) | 2008-10-24 | 2017-05-30 | The Nielsen Company (Us), Llc | Methods and apparatus to perform audio watermarking and watermark detection and extraction |
US11256740B2 (en) | 2008-10-24 | 2022-02-22 | The Nielsen Company (Us), Llc | Methods and apparatus to perform audio watermarking and watermark detection and extraction |
US10467286B2 (en) | 2008-10-24 | 2019-11-05 | The Nielsen Company (Us), Llc | Methods and apparatus to perform audio watermarking and watermark detection and extraction |
US11386908B2 (en) | 2008-10-24 | 2022-07-12 | The Nielsen Company (Us), Llc | Methods and apparatus to perform audio watermarking and watermark detection and extraction |
US11809489B2 (en) | 2008-10-24 | 2023-11-07 | The Nielsen Company (Us), Llc | Methods and apparatus to perform audio watermarking and watermark detection and extraction |
US11004456B2 (en) | 2009-05-01 | 2021-05-11 | The Nielsen Company (Us), Llc | Methods, apparatus and articles of manufacture to provide secondary content in association with primary broadcast media content |
US10555048B2 (en) | 2009-05-01 | 2020-02-04 | The Nielsen Company (Us), Llc | Methods, apparatus and articles of manufacture to provide secondary content in association with primary broadcast media content |
US11948588B2 (en) | 2009-05-01 | 2024-04-02 | The Nielsen Company (Us), Llc | Methods, apparatus and articles of manufacture to provide secondary content in association with primary broadcast media content |
US10003846B2 (en) | 2009-05-01 | 2018-06-19 | The Nielsen Company (Us), Llc | Methods, apparatus and articles of manufacture to provide secondary content in association with primary broadcast media content |
US9681204B2 (en) | 2011-04-12 | 2017-06-13 | The Nielsen Company (Us), Llc | Methods and apparatus to validate a tag for media |
US11784898B2 (en) | 2011-06-21 | 2023-10-10 | The Nielsen Company (Us), Llc | Monitoring streaming media content |
US9838281B2 (en) | 2011-06-21 | 2017-12-05 | The Nielsen Company (Us), Llc | Monitoring streaming media content |
US11296962B2 (en) | 2011-06-21 | 2022-04-05 | The Nielsen Company (Us), Llc | Monitoring streaming media content |
US10791042B2 (en) | 2011-06-21 | 2020-09-29 | The Nielsen Company (Us), Llc | Monitoring streaming media content |
US11252062B2 (en) | 2011-06-21 | 2022-02-15 | The Nielsen Company (Us), Llc | Monitoring streaming media content |
US20140156556A1 (en) * | 2012-03-06 | 2014-06-05 | Tal Lavian | Time variant rating system and method thereof |
WO2013149314A1 (fr) * | 2012-04-02 | 2013-10-10 | Fagot Alain Christian Fernand | Système de collecte d'appréciation synchronisé en groupes |
US20140046861A1 (en) * | 2012-08-10 | 2014-02-13 | James E. Dodson | Method and System for Representing Collective and Individual Responses to a Shared Experience Event |
US20160078458A1 (en) * | 2013-05-24 | 2016-03-17 | Zara A. Gold | System of poll initiation and data collection through a global computer/communication network and methods thereof |
US9711152B2 (en) | 2013-07-31 | 2017-07-18 | The Nielsen Company (Us), Llc | Systems apparatus and methods for encoding/decoding persistent universal media codes to encoded audio |
US11057680B2 (en) | 2015-05-29 | 2021-07-06 | The Nielsen Company (Us), Llc | Methods and apparatus to measure exposure to streaming media |
US10694254B2 (en) | 2015-05-29 | 2020-06-23 | The Nielsen Company (Us), Llc | Methods and apparatus to measure exposure to streaming media |
US11689769B2 (en) | 2015-05-29 | 2023-06-27 | The Nielsen Company (Us), Llc | Methods and apparatus to measure exposure to streaming media |
US10299002B2 (en) | 2015-05-29 | 2019-05-21 | The Nielsen Company (Us), Llc | Methods and apparatus to measure exposure to streaming media |
US9762965B2 (en) | 2015-05-29 | 2017-09-12 | The Nielsen Company (Us), Llc | Methods and apparatus to measure exposure to streaming media |
WO2017000067A1 (fr) * | 2015-06-29 | 2017-01-05 | Diceman Jason | Système et procédé de collecte de retours d'informations |
US10558827B2 (en) | 2018-02-23 | 2020-02-11 | Microsoft Technology Licensing, Llc | Automatic method and system for identifying consensus and resources |
WO2019164729A1 (fr) * | 2018-02-23 | 2019-08-29 | Microsoft Technology Licensing, Llc | Procédé et système automatiques d'identification de consensus et de ressources |
WO2019164708A1 (fr) * | 2018-02-23 | 2019-08-29 | Microsoft Technology Licensing, Llc | Procédé et système automatiques d'identification de consensus et de ressources |
CN112383456A (zh) * | 2020-11-16 | 2021-02-19 | 中国联合网络通信集团有限公司 | 智能设备自动关联方法及自动关联服务器 |
CN112383456B (zh) * | 2020-11-16 | 2022-09-02 | 中国联合网络通信集团有限公司 | 智能设备自动关联方法及自动关联服务器 |
Also Published As
Publication number | Publication date |
---|---|
AU2001232927A1 (en) | 2001-07-31 |
WO2001053922A8 (fr) | 2002-05-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2001053922A2 (fr) | Systeme procede et produit de programme informatique permettant de collecter des donnees d'opinions | |
US7809788B2 (en) | System and method for managing client-server communications over a computer network using transmission schedule | |
US20020091658A1 (en) | Multimedia electronic education system and method | |
US5613032A (en) | System and method for recording, playing back and searching multimedia events wherein video, audio and text can be searched and retrieved | |
USRE48579E1 (en) | Method and apparatus for internet-based interactive programming | |
US8073013B2 (en) | Method and apparatus for collecting survey data via the internet | |
US6665835B1 (en) | Real time media journaler with a timing event coordinator | |
US7937740B2 (en) | Method and apparatus for interactive programming using captioning | |
RU2257014C2 (ru) | Система и способ для близкого к реальному масштабу времени сбора данных и сообщения о действиях большого числа абонентов в отношении пользования телевидением | |
CN101681564B (zh) | 内容生成系统、内容生成装置以及内容生成方法 | |
US6006265A (en) | Hyperlinks resolution at and by a special network server in order to enable diverse sophisticated hyperlinking upon a digital network | |
US20030001880A1 (en) | Method, system, and computer program product for producing and distributing enhanced media | |
US20110072037A1 (en) | Intelligent media capture, organization, search and workflow | |
CN109117233A (zh) | 用于处理信息的方法和装置 | |
EP1087565A2 (fr) | Systeme de programme video amelioree et procede permettant de fournir un reseau distribue de communaute | |
EP1089201A1 (fr) | Système et procédé de programmation vidéo en utilisant des profils d'utilisateur | |
CN103548339A (zh) | 用于会议的时间相关的活动流 | |
KR20040028760A (ko) | 다수개의 정보 소스의 흐름 제어 | |
WO1998043406A1 (fr) | Systeme et procede de fourniture d'informations audiovisuelles supplementaires pour des programmes video | |
JP2001147944A (ja) | プレゼンテーションにおけるイメージについての視聴者嗜好のフィードバック方法 | |
KR20070121661A (ko) | 그룹 응답 이벤트 호스팅 방법 및 장치 | |
JPH0621907A (ja) | 多重媒体送出ネットワーク方法および装置 | |
CN102572533B (zh) | Iptv中央、区域业务管理系统 | |
Steinmetz et al. | e-Seminar lecture recording and distribution system | |
EP2443822B1 (fr) | Système et procédé de délivrance multimédia synchronisée |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AK | Designated states |
Kind code of ref document: A2 Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CR CU CZ DE DK DM DZ EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG UZ VN YU ZA ZW |
|
AL | Designated countries for regional patents |
Kind code of ref document: A2 Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
DFPE | Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101) | ||
AK | Designated states |
Kind code of ref document: C1 Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CR CU CZ DE DK DM DZ EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG UZ VN YU ZA ZW |
|
AL | Designated countries for regional patents |
Kind code of ref document: C1 Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG |
|
D17 | Declaration under article 17(2)a | ||
REG | Reference to national code |
Ref country code: DE Ref legal event code: 8642 |
|
122 | Ep: pct application non-entry in european phase | ||
NENP | Non-entry into the national phase in: |
Ref country code: JP |