REMOTELY PROGRAMMABLE TALKING TOY
for
FIELD OF THE INVENTION
The present invention relates generally to talking toys such as interactive dolls, and in particular to a remotely programmable talking toy which interacts with a user in accordance with script programs received through a communication network.
BACKGROUND OF THE INVENTION
Since their inception, talking toys have enjoyed considerable popularity in the marketplace. The talking toys are typically embodied as dolls, teddy bears, action figures, or robots which entertain or instruct their users, usually children. Such toys generally rely upon one of two common methods to produce sounds or spoken phrases . They either use electronic voice synthesis to synthesize phrases prestored in memory or they reproduce prerecorded sounds using an internal audio cassette player.
In either case, these conventional talking toys are generally limited to speaking a series of prestored phrases in a repetitive sequence selected at the time of manufacture. Because of the repetitious nature of the speech provided by the toys, children quickly lose interest in them. Further, because their speech patterns are preprogrammed during manufacture, these conventional toys are incapable of delivering messages which are
personalized, updated, or tailored to the changing needs of their users. Consequently, the educational and entertainment value of the toys is severely limited.
Several attempts have been made to develop talking toys which have broader speech capabilities. For example, U.S Patent 4,840,602 issued to Rose on June 20, 1989 describes a talking doll which interacts with an external signal source, such as a television or VCR. The external signal source communicates a story or narrative which is prerecorded on a magnetic tape. In addition to the narrative, the tape includes binary data which is broadcast to the doll via a radio frequency transmitter. The binary data instructs the doll to make statements at certain points in the narrative, so that the doll appears to interact intelligently with the external signal source.
A similar system is disclosed in U.S. Patent 4,846,693 issued to Baer on July 11, 1989. Baer described a talking doll having a speaker which is electrically connected to a control box. The control box is connected to the audio and video outputs of a conventional video cassette recorder (VCR), which is in turn connected to a television set. The VCR receives a cassette tape having a video/audio story line recorded thereon. The tape also includes control data recorded in the video track for routing selected portions of the audio track to the doll's speaker. The illusion created to a human viewer is that the doll is having an animated conversation with characters on the television monitor.
Although the talking dolls described by Baer and Rose provide somewhat less repetitious speech patterns than those of conventional talking dolls, they cannot be programmed to deliver messages which are tailored to the needs of a user. The dolls simply speak phrases in response to speech signals which have been prerecorded on a
cassette tape. Moreover, the dolls may only be programmed to speak new phrases by purchasing a new cassette tape.
U.S. Patent 5,607,336 issued to Lebensfeld et al . on March 4, 1997 discloses a talking doll which delivers messages relating to a user's desired area of interest. Audible messages relating to the area of interest are prerecorded on a read only memory (ROM) chip which is removably mounted in the talking doll. A user inserts the ROM chip in the doll and then activates the doll to hear the recorded messages. Although this practice provides greater speech capability, a new ROM chip must be purchased and inserted into the doll each time the user wishes to hear messages relating to a new area of interest. Moreover, Lebensfeld does not teach any mechanism for tailoring the prerecorded messages to the needs of a specific user.
OBJECTS AND ADVANTAGES OF THE INVENTION
In view of the above, it is an object of the present invention to provide a talking toy which may be programmed to deliver messages which are tailored to the needs of a user. It is another object of the invention to provide a talking toy which may be remotely programmed through a communication network, such as the Internet. It is another object of the invention to provide a talking toy including at least one control button for prompting the toy to execute a script program. It is a further object of the invention to provide a talking toy having at least one user interface means and a signaling unit; for specifying a time at which to execute a script program, and for signaling a user that a script program has been executed. It is another object of the invention to provide a talking toy capable of transmitting data and receiving data over a communication network. It is a further object of the invention to incorporate the talking toy in a networked system which allows flexible and dynamic updating of the messages delivered by the toy.
These and other objects and advantages will become more apparent after consideration of the ensuing description and the accompanying drawings .
SUMMARY
The invention presents a networked communication system which includes at least one talking toy for communicating a message to an individual. The system also includes a server and a remote interface connected to the server for specifying the message to be communicated. The server is preferably accessible via a standard network connection such as a world wide web connection, and the remote interface is preferably a personal computer, network terminal, web TV unit, Palm Pilot unit, or interactive voice system connected to the server via the Internet. The talking toy is also connected to the server via a communication network, preferably the Internet. In contrast to conventional talking toys whose speech is programmed during manufacture or through the insertion of memory chips, the talking toy of the present invention is remotely programmed through the communication network.
The server includes a script generator for generating a script program executable by the talking toy to communicate the message to the individual. The talking toy includes a communication device, such as a modem, for establishing a communication link to the server through the communication network and for receiving the script program from the server. The talking toy also includes a memory for storing the script program and a speech synthesizer for audibly communicating the message to the individual. The talking toy further includes a microcontroller connected to the communication device, the memory, and the speech synthesizer for executing the script program. Because the talking toy is programmed remotely through the use of script programs, the system allows flexible and dynamic
updating of the messages delivered by the toy. Further, because the messages may be specified through the remote interface, the system provides for convenient tailoring of the messages to the needs of an individual user or group of users .
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a block diagram of a networked system according to a preferred embodiment of the invention . FIG. 2 is a block diagram illustrating the interaction of the components of the system of FIG. 1. FIG. 3 is a perspective view of a remotely programmable talking toy of the system of FIG. 1.
FIG. 4 is a block diagram illustrating the components of the talking toy of FIG. 3. FIG. 5 is a script entry screen according to the preferred embodiment of the invention. FIG. 6 is a listing of a sample script program according to the preferred embodiment of the invention. FIG. 7 is a script assignment screen according to the preferred embodiment of the invention. FIG. 8 is a flow chart illustrating the steps included in a software application executed by the server of FIG. 1 according to the preferred embodiment of the invention. FIG. 9 is a flow chart illustrating the steps included in a control program executed by the talking toy of FIG. 3 according to the preferred embodiment of the invention. FIG. 10 is a flow chart illustrating the steps included in the script program of FIG. 6. FIG. 11 is a block diagram illustrating the interaction of the server of FIG. 1 with the talking toy of
FIG. 3 according to a second embodiment of the - invention.
FIG. 12 is a script entry screen according to the second embodiment of the invention. FIG. 13 is a listing of a generic script program according to the second embodiment of the invention .
FIG. 14 is a listing of a custom script program according to the second embodiment of the invention. FIG. 15 is a flow chart illustrating the steps included in a software application executed by the server of FIG. 1 according to the second embodiment of the invention. FIG. 16 is a script entry screen according to an alternative embodiment of the invention. FIG. 17 is a script entry screen according to another embodiment of the invention.
DETAILED DESCRIPTION
The invention presents a networked system which includes one or more talking toys for communicating messages to individuals . In contrast to conventional talking toys whose speech is programmed during manufacture or through the insertion of external media, the talking toys of the present invention are programmed remotely through the use of script programs. The script programs allow flexible and dynamic updating of the messages delivered by the toys, as well as convenient tailoring of the messages to the needs of the individuals .
In a preferred embodiment of the invention, the individuals are patients, and the talking toys are remotely programmed to encourage healthy behavior in the patients. For example, the talking toys may be programmed to encourage children to take their medicine or to tolerate difficult healthcare regimens. However, it is to be understood that the system of the present invention is not limited to healthcare applications. It will be apparent from the ensuing description that the system is equally well suited
for advertising, education, entertainment, or any other application which involves the communication of messages.
The preferred embodiment of the invention is illustrated in FIGS. 1 - 7. Referring to FIG. 1, a networked system 16 includes a server 18 and a workstation 20 connected to server 18 through a communication network 24. Server 18 is preferably accessible via a standard network connection such as a world wide web connection and communication network 24 is preferably the Internet. It will be apparent to one skilled in the art that server 18 may comprise a single stand-alone computer or multiple computers distributed throughout a network. Workstation 20 is preferably a personal computer, remote terminal, web TV unit, Palm Pilot unit, or interactive voice system connected to server 18 via the Internet. Workstation 20 functions as a remote interface for entering in server 18 the messages to be communicated to the individuals.
System 16 also includes first and second remotely programmable talking toys 26 and 28. Each talking toy interacts with an individual in accordance with script programs received from server 18. Each talking toy is connected to server 18 through communication network 24, preferably the Internet. Alternatively, the talking toys may be placed in communication with server 18 via wireless communication networks, cellular networks, telephone networks, or any other network which allows each talking toy to exchange data with server 18. For clarity of illustration, only two talking toys are shown in FIG. 1. It is to be understood that system 16 may include any number of talking toys for communicating messages to any number of individuals .
FIG. 2 shows server 18, workstation 20, and talking toy 26 in greater detail . Server 18 includes a database 30 for - storing script programs 32. The script programs are executed by the talking toys to communicate messages to the
individuals. Database 30 further includes a look-up table 34. Table 34 contains a list of the individuals who are to receive messages, and for each of the individuals, a unique identification code and a respective pointer to the script program assigned to the individual. Each talking toy is designed to execute assigned script programs which it receives from server 18. Clock 78 (Fig. 4) enables loaded script to remain in the toy for a period of time after downloading.
FIGS . 3 - 4 show the structure of each talking toy according to the preferred embodiment. For clarity, only talking toy 26 is illustrated since each talking toy of the preferred embodiment has substantially identical structure to toy 26. Referring to FIG. 3, toy 26 is preferably embodied as a doll, such as a teddy bear. Alternatively, toy 26 may be embodied as an action figure, robot, or any other desired toy. An action figure, robot, or other embodiment of toy 26 may have one or more moving body parts.
Toy 26 includes a modem jack 46 for connecting the toy to a telephone jack 22 through a connection cord 48. Toy 26 also include a signaling unit 51 for signaling a user, and one or more user interface means 53, as well as first and second user control buttons 50 and 52. Button 50 is pressed to instruct the toy to execute a script program. Button 52 is pressed to instruct the toy to establish a communication link to the server and download a new script program. In alternative embodiments, the control buttons may be replaced, or accompanied by switches, keys, sensors, or any other type of interface suitable for receiving user input. For example, one or more user interface means 53 may be included for prompting signaling unit 51 to signal a user (e.g. a child) at a predetermined time, via clock 78, that a message is waiting for the user.
FIG. 4 is a schematic block diagram illustrating the internal components of toy 26. Toy 26 includes an audio processor chip 54, which is preferably an RSC-164 chip commercially available from Sensory Circuits Inc. of 1735 N. First Street, San Jose, California 95112. Audio processor chip 54 has a microcontroller 56 for executing script programs received from server 18. A memory 58 is connected to microcontroller 56. Memory 58 stores the individual's unique identification code, script programs received from server 18, and a script interpreter used by microcontroller 56 to execute the script programs .
The script interpreter translates script commands into the native processor code of microcontroller 56. Specific techniques for translating and executing script commands in this manner are well known in the art. Memory 58 also stores a control program executed by microcontroller 56 to perform various control functions which are described in the operation section below. Memory 58 is preferably a non-volatile memory, such as a serial EEPROM.
Toy 26 also includes a modem 85 which is connected between microcontroller 56 and modem jack 46. Modem 85 operates under the control of microcontroller 56 to establish communication links to server 18 through the communication network and to exchange data with the server. The data includes the individual's unique identification code which modem 85 transmits to server 18, as well as assigned script programs which modem 85 receives from server 18. Modem 85 is preferably a complete 28.8 K modem commercially available from Cermetek Microelectronics, Inc., Sunnyvale, CA, although any suitable modem may be used.
Toy 26 further includes a speaker 64 and a microphone 66. Audio processor chip 54 has built in speech synthesis functionality for audibly communicating messages and prompts to an individual through speaker 64. Clock 78 (Fig. 4) allows for loaded script to remain in toy 26 for a
specified period of time after downloading a script program. The combination of clock 78 and a signaling unit 51 enable messages to be downloaded into toy 26 (e.g. by a parent in the morning) , and for toy 26 to subsequently signal a user (e.g. a child) at a later time during the day that a message is waiting. Signaling unit 51 may provide an audible and/or a visual signal, e.g., a light emitting diode, musical tones, etc. Alternatively, a signal may be provided" via flashing eyes, vibration, etc., of toy 26. According to an alternative embodiment, speech synthesis may be used to relay (audibly communicate) a signal to a user, as described hereinabove. For speech synthesis, chip 54 includes a digital to analog converter (DAC) 60 and an amplifier 62. DAC 60 and amplifier 62 drive speaker 64 under the control of microcontroller 56 to communicate the messages and prompts.
Audio processor chip 54 also has built in speech recognition functionality for recognizing responses spoken into microphone 66. Audio signals received through microphone 66 are converted to electrical signals and sent to a preamp and gain control circuit 68. Circuit 68 is controlled by an automatic gain control circuit 70, which is in turn controlled by microcontroller 56. After being amplified by preamp 68, the electrical signals enter chip 54 and pass through a multiplexer 72 and an analog to digital converter (ADC) 74. The resulting digital signals pass through a digital logic circuit 76 and enter microcontroller 56 for speech recognition.
Audio processor chip 54 also includes a RAM 80 for short term memory storage and a ROM 82 which stores audio sounds for speech synthesis and programs executed by microcontroller 56 to perform speech recognition and speech synthesis. Chip 54 operates at a clock speed determined by a crystal 84. Chip 54 further includes a clock 78 which- provides the current date and time to microcontroller 56. Microcontroller 56 is also connected to control buttons 50
and 52 to receive user input. Toy 26 is preferably powered by one or more batteries (not shown) . Alternatively, the toy may be powered by a standard wall outlet . Both methods for supplying power to a toy are well known in the art .
Referring again to FIG. 2, server 18 includes a controlling software application 36 which is executed by server 18 to perform the various functions described below. Application 36 includes a script generator 38 and a script assignor 40. Script generator 38 is designed to generate script programs 32 from script information entered through workstation 20. The script information is entered through a script entry screen 42. In the preferred embodiment, script entry screen 42 is implemented as a web page on server 18. Workstation 20 includes a web browser for accessing the web page to enter the script information.
FIG. 5 illustrates a sample script entry screen 42 as it appears on workstation 20. Screen 42 includes a script name field 86 for specifying the name of a script program to be generated. Screen 42 also includes entry fields 88 for entering a message, such as a set of statements or phrases, to be communicated to an individual. FIG. 5 illustrates an exemplary set of statements which encourage the individual to comply with his or her diabetes care regimen. However, it is to be understood that any type of message may be entered in screen 42, including advertisements, educational messages, and entertainment messages. Screen 42 further includes a CREATE SCRIPT button 90 for instructing the script generator to generate a script program from the information entered in screen 42. Screen 42 also includes a CANCEL button 92 for canceling the information entered.
In the preferred embodiment, each script program created by the script generator conforms to the standard file format used on UNIX systems. In the standard file format, each
command is listed in the upper case and followed by a colon. Every line in the script program is terminated by a linefeed character {LF}, and only one command is placed on each line. The last character in the script program is a UNIX end of file character {EOF} . Table 1 shows an exemplary listing of script commands used in the preferred embodiment of the invention.
TABLE 1 - SCRIPT COMMANDS
The script commands illustrated in Table 1 are representative of the preferred embodiment and are not intended to limit the scope of the invention. After consideration of the ensuing description, it will be apparent to one skilled in the art many other suitable scripting languages and sets of script commands may be used to implement the invention.
Script generator 38 preferably stores a script program template which it uses to create each script program. To generate a script program, script generator 38 inserts into the template the information entered in screen 42. For example, FIG. 6 illustrates a sample script program created by the script generator from the script information shown in FIG. 5. The script program includes speech commands to synthesize the phrases or statements entered in fields 88. The steps included in the script program are also shown in the flow chart of FIG. 10 and will be discussed in the operation section below.
Referring again to FIG. 2, script assignor 40 is for assigning script programs 32 to the individuals. Script programs 32 are assigned in accordance with script assignment information entered through workstation 20. The script assignment information is entered through a script assignment screen 44, which is preferably implemented as a web page on server 18.
FIG. 7 illustrates a sample script assignment screen 44 as it appears on workstation 20. Screen 44 includes check
boxes 94 for selecting a script program to be assigned and check boxes 96 for selecting the individuals to whom the script program is to be assigned. Screen 44 also includes an ASSIGN SCRIPT button 100 for entering the assignments. When button 100 is pressed, the script assignor creates and stores for each individual selected in check boxes 96 a respective pointer to the script program selected in check boxes 94. Each pointer is stored in look-up table 34 of database" 30. Screen 44 further includes an ADD SCRIPT button 98 for adding a new script program and a DELETE SCRIPT button 102 for deleting a script program.
The operation of the preferred embodiment is illustrated in FIGS. 1 - 10. FIG. 8 is a flow chart illustrating the steps included in the software application executed by server 18. In step 202, server 18 determines if new script information has been entered through script entry screen 42. If new script information has not been entered, server 18 proceeds to step 206. If new script information has been entered, server 18 proceeds to step 204.
In the preferred embodiment, the script information is entered in server 18 by one or more healthcare providers, such as a physician or case manager assigned to the individuals. Of course, any person desiring to communicate with the individuals may be granted access to server 18 to create and assign script programs. Further, it is to be understood that the system may include any number of remote interfaces for entering script generation and script assignment information in server 18.
As shown in FIG. 5, the script information specifies a message, such as a set of statements or phrases, to be communicated to one or more individuals. In step 204, script generator 38 generates a script program from the information entered in screen 42. The script program is , stored in database 30. Steps 202 and 204 are preferably repeated to generate multiple script programs, e.g. a
script program for diabetes patients, a script program for asthma patients, etc. Each script program corresponds to a respective one of the sets of statements entered through script entry screen 42.
In step 206, server 18 determines if new script assignment information has been entered through assignment screen 44. If new script assignment information has not been entered, server 18 proceeds to step 210. If new script assignment information has been entered, server 18 proceeds to step 208. As shown in FIG. 7, the script assignment information is entered by selecting a desired script program through check boxes 94, selecting the individuals to whom the selected script program is to be assigned through check boxes 96, and pressing the ASSIGN SCRIPT button 100. When button 100 is pressed, script assignor 40 creates for each individual selected in check boxes 96 a respective pointer to the script program selected in check boxes 94. In step 208, each pointer is stored in look-up table 34 of database 30.
In step 210, server 18 determines if any one of the talking toys is remotely connected to the server. Each individual is preferably provided with his or her own talking toy which has the individual's unique identification code stored therein. Each individual is thus uniquely associated with a respective one of the talking toys. If none of the talking toys is connected, server 18 returns to step 202. If a talking toy is connected, server 18 receives from the talking toy the individual's unique identification code in step 212. Server 18 uses the received identification code to retrieve from table 34 the pointer to the script program assigned to the individual. In step 214, server 18 retrieves the assigned script program from database 30. In step 216, server 18 transmits the assigned script program to the individual ' s talking toy through communication network 24. Following step 216, the server returns to step 202.
Each talking toy is initially programmed with its user ' s unique identification code, the script interpreter used by the toy to interpret and execute script program commands, and a control program executed by the toy to control its overall operation. The initial programming may be achieved during manufacture or during an initial connection to server 18.
FIG. 9 illustrates the steps included in the control program executed by microcontroller 56 of talking toy 26. In step 302, microcontroller 56 determines if any user input has been received. In the preferred embodiment, user input is received through control buttons 50 and 52. Control button 50 is pressed to instruct the talking toy to speak, and control button 52 is pressed to instruct the toy to connect to the server and download a new script program. If no user input is received for a predetermined period of time, such as two minutes, toy 26 enters sleep mode in step 304. The sleep mode conserves battery power while the toy is not in use. Following step 304, microcontroller 56 returns to step 302 and awaits user input.
If user input has been received, microcontroller 56 determines if the input is a speech request, step 306. If the user has pressed control button 50 requesting speech, microcontroller 56 executes the script program last received from the server, step 308. The steps included in a sample script program are shown in the flow chart of FIG. 10 and will be discussed below. Following step 308, microcontroller 56 returns to step 302 and awaits new user input .
If the user presses control button 52 requesting a connection to the server, microcontroller 56 attempts to establish a communication link to the server through mode 85 and communication network 24, step 310. In step 312, microcontroller determines if the connection was
successful. If the connection failed, the user is prompted to connect toy 26 to telephone jack 22 in step 314. Microcontroller 56 preferably prompts the user by synthesizing the phrase "PLEASE CONNECT ME TO THE TELEPHONE JACK USING THE CONNECTION CORD AND SAY 'DONE' WHEN YOU HAVE FINISHED." In step 316, microcontroller 56 waits until the appropriate reply is received through microphone 66. Upon recognizing the reply 'DONE', microcontroller 56 repeats step 310 to get a successful connection to the server.
Once a successful connection is established, microcontroller 56 transmits the unique identification code stored in memory 58 to server 18 in step 318. In step 320, microcontroller 56 receives a new script program from the server through communication network 24 and modem 85. The new script program is stored in memory 58 for subsequent execution by microcontroller 56. Following step 320, microcontroller 56 returns to step 302 and awaits new user input.
FIG. 10 is a flow chart illustrating the steps included in a sample script program executed by microcontroller 56. In step 402, microcontroller 56 prompts the user by synthesizing through speaker 64 "SAY 'OK' WHEN YOU ARE READY". In step 404, microcontroller 56 waits until a reply to the prompt is received through microphone 66. When the reply 'OK' is recognized, microcontroller 56 proceeds to step 406. If no reply is received within a predetermined period of time, such as two minutes, toy 26 preferably enters sleep mode until it is reactivated by pressing one the control buttons.
In step 406, microcontroller 56 executes successive speech commands to synthesize through speaker 64 the phrases or statements specified in the script program. Referring again to FIG . 6 , the speech commands are preferably separated by delay commands which instruct microcontroller
56 to pause for a number of seconds between statements. The number of seconds is selected to allow the user sufficient time to absorb each statement. Alternatively, the user may be prompted to acknowledge each statement before a subsequent statement is synthesized. For example, the script program may include commands which instruct microcontroller 56 to synthesize the phrase "SAY 'OK' WHEN YOU ARE READY TO HEAR THE NEXT STATEMENT. " Upon recognizing the reply 'OK', microcontroller 56 proceeds to the next speech command in the script program.
In step 408, the user is reminded to connect toy 26 to telephone jack 22 to download a new script program. Microcontroller 56 synthesizes through speaker 64 "PLEASE CONNECT ME TO THE TELEPHONE JACK TO GET NEW MESSAGES . " Following step 408, the script program ends.
One advantage of the system of the present invention is that it allows each talking toy to be programmed remotely through the use of script programs. This allows the messages delivered by each talking toy to be tailored to the specific needs of an individual user or group of users. Moreover, each script program may be easily created, assigned, and downloaded by simply accessing a server through a communication network, such as the Internet.
Thus, the invention provides a powerful, convenient, and inexpensive system for communicating messages to a large number of individuals .
FIGS. 11 - 15 illustrate a second embodiment of the invention in which messages are further customized to each individual by merging personal data with the script programs, much like a standard mail merge application. Referring to FIG. 11, personal data relating to each individual is preferably stored in look-up table 34 of database 30. By way of example, the data may include each individual's name, the name of each individual's medication or disease, or any other desired data. As in the preferred
embodiment, database 30 also stores generic script programs 31 created by script generator 38.
In the second embodiment, server 18 includes a data merge program 41 for merging the data stored in table 34 with generic script programs 31. Data merge program 41 is designed to retrieve selected data from table 34 and to insert the data into statements in generic script programs 31, thus creating custom script programs 33. Each custom script program contains a message which is customized to an individual. For example, the message may be customized with the individual's name, medication name, disease name, etc .
The operation of the second embodiment is illustrated in FIGS. 11 - 15. The operation of the second embodiment is similar to the operation of the preferred embodiment except that server 18 transmits custom script programs to each talking toy rather than generic script programs. FIG. 15 is a flow chart illustrating the steps included in a software application executed by server 18 according to the second embodiment .
In step 502, server 18 determines if new script information has been entered through script entry screen
42. If new script information has not been entered, server 18 proceeds to step 506. If new script information has been entered, server 18 proceeds to step 504. As shown in FIG. 12, the script information specifies a message, such as a set of statements or phrases, to be communicated to the individuals. Each statement preferably includes one or more insert commands specifying data from table 34 to be inserted into the statement. The insert commands instruct data merge program 41 to retrieve the specified data from database 30 and to insert the data into the statement. For example, the first statement shown in FIG. 12 includes insert commands instructing the data merge program to
insert a patient name and a medication name into the statement.
Following entry of the statements and insert commands, CREATE SCRIPT button 90 is pressed. When button 90 is pressed, script generator 38 generates a generic script program from the information entered in screen 42, step 504. A sample generic script program is illustrated in FIG. 13. The generic script program includes speech commands to synthesize the statements entered in fields 88. Each statement preferably includes one or more insert commands specifying data to be inserted into the script program. The generic script program is stored in database 30.
In step 506, server 18 determines if new script assignment information has been entered through assignment screen 44. If new script assignment information has not been entered, server 18 proceeds to step 512. If new script assignment information has been entered, server 18 proceeds to step 508. As shown in FIG. 7, the script assignment information is entered by selecting a desired script program through check boxes 94 , selecting the individuals to whom the selected script program is to be assigned through check boxes 96, and pressing the ASSIGN SCRIPT button 100.
When button 100 is pressed, data merge program 41 creates a custom script program for each individual selected in check boxes 96, step 508. Each custom script program is preferably created by using the selected generic script program as a template. For each individual selected, data merge program 41 retrieves from database 30 the data specified in the insert commands. Next, data merge program 41 inserts the data into the appropriate statements in the generic script program to create a custom script program for the individual. For example, FIG. 14 illustrates a custom script program created from the generic script
program of FIG. 13. Each custom script program is stored in database 30.
As each custom script program is generated for an individual, script assignor 40 assigns the custom script program to the individual, step 510. This is preferably accomplished by creating a pointer to the custom script program and storing the pointer with the individual ' s unique identification code in table 34. In step 512, server 18 determines if any one of the talking toys is remotely connected to the server. If a talking toy is connected, server 18 receives from the talking toy the individual's unique identification code in step 514.
Server 18 uses the received identification code to retrieve from table 34 the pointer to the custom script program assigned to the individual. In step 516, server 18 retrieves the custom script program from database 30. In step 518, server 18 transmits the custom script program to the individual's talking toy. The talking toy receives and executes the script program in the same manner described in the preferred embodiment . The remaining operation of the second embodiment is analogous to the operation of the preferred embodiment described above .
Although it is presently preferred to generate a custom script program for each individual as soon as script assignment information is received for the individual, it is also possible to wait until the individual's talking toy connects to the server before generating the custom script program. This is accomplished by creating and storing a pointer to the generic script program assigned to the individual, as previously described in the preferred embodiment . When the individual ' s talking toy connects to the server, the data merge program creates a custom script program for the individual from the generic script program assigned to the individual. The custom script program is
then transmitted to the individual ' s talking toy for execution.
Although the first and second embodiments focus on healthcare applications, the system of the present invention may be used for any messaging application. For example, the system is particularly well suited for advertising. In a third embodiment of the invention, an advertising service is provided with a remote interface to the server for creating and assigning script programs which contain advertising messages. As shown in FIG. 16, each advertising message may be conveniently entered through script entry screen 42, like the health-related messages of the preferred embodiment. The operation of the third embodiment is analogous to the operation of the preferred embodiment, except that the talking toys communicate advertising messages rather than health-related messages.
Of course, the system of the present invention has many other applications. Typically, the user of each talking toy is a child. In a fourth embodiment of the invention, the child's parent or guardian is provided with a remote interface to the server for creating and assigning script programs which contain messages for the child. As shown in FIG. 17, each message may be conveniently entered through script entry screen 42. The operation of the fourth embodiment is analogous to the operation of the preferred embodiment, except that script information is entered in the server by a parent or guardian rather than a healthcare provider. Alternatively, the child may be provided with a remote interface to the server to create and assign his or her own script programs .
It should also be noted that script programs may be generated from information received from multiple sources, such as a healthcare provider, an advertiser, and a parent. In a fifth embodiment of the invention, the script entry screen includes a respective section for each of the
sources to enter a message to be communicated. Each of the sources is provided with a remote interface to the server and a password for accessing the script entry screen. After each source has entered one or more messages in the server, a script program is generated which contains a combination of health-related messages, advertisements, educational messages, or entertainment messages. The remaining operation of the fifth embodiment is analogous to the operation of the preferred embodiment described above .
SUMMARY, RAMIFICATIONS, AND SCOPE
Although the above description contains many specificities, these should not be construed as limitations on the scope of the invention but merely as illustrations of some of the presently preferred embodiments . Many other embodiments of the invention are possible. For example, the scripting language and script commands shown are representative of the preferred embodiment. It will be apparent to one skilled in the art many other scripting languages and specific script commands may be used to implement the invention.
Moreover, the talking toys of the present invention need not be embodied as dolls. The toys may be embodied as action figures, robots, or any other type of toy. Further, each talking toy need not include a control button for triggering speech output. In alternative embodiments, speech is triggered by other mechanisms, such as voice prompts, the absence of the user's voice, position sensitive sensors, switches, or the like. Specific techniques for triggering speech in a talking toy are well known in the art .
In addition, the system of the present invention is not limited to healthcare applications. The system may be used- in any application which involves the communication of messages, including advertising, education, or
entertainment. Of course, various combinations of these applications are also possible. For example, messages from multiple sources may be combined to generate script programs which contain a combination of health-related messages, advertisements, or educational messages. Further, the system may include any number of remote interfaces for entering and assigning script programs, and any number of talking toys for delivering messages .
Therefore, the scope of the invention should be determined not by the examples given, but by the appended claims and their legal equivalents .