WO2001012285A1 - Networked toys - Google Patents

Networked toys Download PDF

Info

Publication number
WO2001012285A1
WO2001012285A1 PCT/US2000/022722 US0022722W WO0112285A1 WO 2001012285 A1 WO2001012285 A1 WO 2001012285A1 US 0022722 W US0022722 W US 0022722W WO 0112285 A1 WO0112285 A1 WO 0112285A1
Authority
WO
WIPO (PCT)
Prior art keywords
toy
data
user
server
interface
Prior art date
Application number
PCT/US2000/022722
Other languages
French (fr)
Other versions
WO2001012285A9 (en
Inventor
Dexter Liu
Original Assignee
Kidkids, Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Kidkids, Inc. filed Critical Kidkids, Inc.
Priority to AU66469/00A priority Critical patent/AU6646900A/en
Publication of WO2001012285A1 publication Critical patent/WO2001012285A1/en
Publication of WO2001012285A9 publication Critical patent/WO2001012285A9/en

Links

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63HTOYS, e.g. TOPS, DOLLS, HOOPS OR BUILDING BLOCKS
    • A63H30/00Remote-control arrangements specially adapted for toys, e.g. for toy vehicles
    • A63H30/02Electrical arrangements
    • A63H30/04Electrical arrangements using wireless transmission
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63HTOYS, e.g. TOPS, DOLLS, HOOPS OR BUILDING BLOCKS
    • A63H3/00Dolls
    • A63H3/28Arrangements of sound-producing means in dolls; Means in dolls for producing sounds
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63HTOYS, e.g. TOPS, DOLLS, HOOPS OR BUILDING BLOCKS
    • A63H2200/00Computerized interactive toys, e.g. dolls

Definitions

  • the toy may include a variety of inputs such as motion sensors, infrared sensors, and touch sensors, as well as a variety of outputs including servos and the like for mechanization, a speaker for sound, and video display dev ⁇ ce(s)
  • the interface- internetwork connection may be a direct connection through a telecommunications or data port, and may include pre-configuration of the interface to establish a connection to the remote toy server
  • the interface-network connection may instead be a connection to a personal computer, which may simply provide a platform for establishing the connection or provide a user interface for an internetwork session
  • the server is a World Wide Web server, which may include chat rooms, downloadable toy programs, toy information, and a database of user information and history
  • a one-touch peripheral for providing predetermined network functionality to an attached network device
  • the tov mav be used to gather user profile information based upon explicit inputs, or may gather profile mtormation using inferences drawn from actual toy usage Profile information may then be used to select or synthesize play patterns and other content tor the toy
  • Fig 1 depicts a tov according to the principles of the invention in block diagram form
  • Fig 2 depicts an embodiment of a tov according to the principles of the invention
  • Fig 3 depicts an embodiment of a toy according to the principles of the invention
  • Fig 4 shows a system architecture for use with a model toy according to the principles of the invention.
  • Fig 5 is an overall system configuration for a networked toy of the present disclosure
  • Fig 6 is a functional block diagram depicting certain optional capabilities of a toy according to the principles of the invention
  • Fig 7 is a functional block diagram reflecting certain optional functional modules for a control device according to the principles of the invention
  • Fig 8 depicts a local area network of toys according to the present invention
  • Fig 9 depicts another configuration for the system of Fig 5
  • Fig 10 is a functional block diagram that depicts data flows in an embodiment of the invention.
  • FIG. 1 1 shows an icon according to the principles of the invention
  • Fig. 12 shows a personal computer connected to an icon
  • Fig. 13 shows several alternative embodiments of an icon
  • Fig. 14 shows a Web server for use with the icon
  • Fig. 15 is a block diagram of a server for use with a toy according to the principles of the invention.
  • Fig. 16 is a block diagram of a system according to the p ⁇ nciples of the invention.
  • Fig. 1 depicts a toy according to the p ⁇ nciples of the invention in block diagram form.
  • a programmable toy 10 is provided The toy 10 is linked by a suitable external data link 20 to a toy/server interface 30 The interface 30 may provide bi-directional data communications between the programmable toy 10 and a remotely located server 50 through an external data link 40.
  • the interface 30 couples the toy 10 with the server 50, and the server 50 may provide programming and/or operating data to the toy for reprogramming of, or other use with, the toy 10.
  • the toy 10 may be any programmable toy including, but not limited to, a toy figure or doll, a toy vehicle, a toy play set, etc
  • the interface 30 could be a "black box", that is a device with two ports that performs any functions required to connect the toy to the server 50, a conventional personal computer (PC), or a combination of a black box and a conventional personal computer.
  • the data link 20 between the toy 10 and the interface 30 might be a wired connection such as a standard RS-232 serial port connection, which physically plugs into the programmable toy 10 and the interface 30, or a wireless link between the programmable toy 10 and the interface 30, such as an infrared or radio frequency (“RF") link using, for example, BlueTooth, HomeRF.
  • RF radio frequency
  • the data link 40 between the interface 30 and the server 50 may be any bi-directional data connection, including a telephone line, cell phone channel, a digital subscriber line ("DSL"), or a two-way cable or satellite link of any type currently known and used or which may be developed for data transfer.
  • a link(s) can include the Internet or World Wide Web, if desired.
  • the server 50 may be a computer such as a Web server or an n-tier server connected to the data link 40 through a network such as the Internet.
  • An exemplary server 50 includes a processor, a memory (e.g. RAM), a bus which couples the processor and the memory, a mass storage device (e.g. a magnetic or optical disk) coupled to the processor and the memory through an I/O controller, and a network interface coupled to the processor and the memory.
  • Servers may be clustered together to handle more client traffic, and may include separate servers for different functions such as a database server, an application server, and a Web presentation server.
  • Such servers may further include one or more mass storage devices such as a disk farm or a redundant array of independent disk (“RAID”) system for additional storage and data integrity.
  • RAID redundant array of independent disk
  • Read-only devices such as compact disk drives and digital versatile disk drives, may also be connected to the servers.
  • Suitable servers and mass storage devices are manufactured by, for example, Compaq, IBM, and Sun Microsystems.
  • the term "server” is intended to refer to any of the above-described servers.
  • the server 50 responds to queries from the programmable toy 10 and interface 30 to download data through the communication links 40, 20 and interface 30 to the programmable toy 10.
  • the data provided may be data which does not change the application software of the programmable toy 10. such as media files, or may include new executable code to reconfigure the microprocessor in the toy 10 for different functionality.
  • the server 50 may be a World Wide Web server that provides downloadable sounds, play scenarios, and the like for the toy 10, as well as a graphical user interface for a user having a personal computer.
  • the graphical user interface may include descriptions of downloadable programs, chat rooms where a number of users may meet, and other content related to the toy 10.
  • the server 50 may additionally include any other interface compatible with TCP IP or TCP/IP-like communications, including telnet, e-mail, and ftp, or other interfaces suitable for transmitting data over a network or internetwork.
  • the server 50 may also include a database for storing information relating to each user, such that downloaded content may be tailored to a user based on, for example, age, geographic region, interests, download history, etc.
  • the programmable toy 10 may be a toy figure containing a processor 12, a memory 14, and sound-generating circuit 18.
  • a video-generating circuit with appropriate display may be included but is not required.
  • the processor 12 may be, for example, a microprocessor, microcontroller, programmable logic device, programmable gate array, application specific integrated circuit, programmable digital signal processing device, or some combination of these.
  • the sound-generating circuit 18 may be any of the processors noted above with suitable programming, or may include a dedicated voice synthesizer, music synthesizer, sample and playback device, or any other device used to generate sound.
  • the data provided by the server 50 may be new sound data to replace existing sound data stored in the memory 14 in the toy 10 so that the sounds produced by the toy 10 are changed from the sounds it previously would make.
  • the new data provided by the server 50 might be a new story or poem.
  • the microprocessor in the toy 10 can be reprogrammed to operate in a different way.
  • the data transmitted by the server 50 might reconfigure the operating program of the toy 10 so that the toy engages in a question and answer mode with the user in response to the switch activation which had previously elicited the story or a poem without further interaction with the user.
  • the memory 14 may be any non-volatile or volatile memory, including random access memory, dynamic random access memory, read-only memory, programmable read-only memory, erasable programmable read-only memory, and so forth.
  • the toy may include numerous inputs and outputs.
  • Inputs may include a microphone, an external motion sensor, an inertial motion sensor, various touch sensors, and data inputs, including touch pads, buttons, switches, dials, levers, sliders, keypads, pressure transducers, pressures switches, and any other input that might be used to detect user input or environmental conditions of the toy 10.
  • Outputs may include a speaker, lights or light emitting diodes, and mechanization realized through motors, servos, and the like.
  • FIG. 2 depicts an embodiment of a toy according to the principles of the invention.
  • a programmable toy figure or doll 110 may include a processor 112, a memory 114, a sound generating circuit 118 (all indicated in phantom block diagram form) and an RS-232 female plug 116 for connecting via a standard RS-232 cable 120 with an interface 130.
  • the interface 130 may include a processor 132, a memory 33, a telephone handset receptacle 134 and/or a conventional female modular telephone jack connector 136 for connecting directly to a telephone line 140
  • the interface 130 may optionally be physically located on the toy figure 110
  • An activation button 138 when depressed, may cause the processor 132 to use communication circuitry 139 including, for example, a modem in the interface 130 to establish a telecommunications and or data network connection 140, to the server 150
  • this connection may be established on a request from the server 150
  • the connection 140 may be a telecommunications connection using, for example, toll-free access to a dial- in server connected to the server 150
  • the connection 140 may optionally be a data network connection using, for example, a DSL or cable modem connection to a network pomt-of- presence
  • the connection 140 may be some combination of these, such as telecommunications access to a local network service provider, which provides access to the network and a data network connection to
  • the server 150 may transmit a predetermined package of data through the links 140 and 120 and interface 130 to the programmable toy 110
  • the interface 130 may further be pre-configured to manipulate data received from the server 150 before it is passed on to the toy 1 10
  • the server 150 may also receive information from the toy 110 through the interface 130 This information may include registration information for a particular user, information identifying the toy 1 10 (so that approp ⁇ ate programs and data may be downloaded), and information collected by the toy 110 concerning for example, play patterns, actual toy usage, and any other sensory data gathered by the toy 110
  • the interface 130 in Fig 2 may be replaced with a computer (not shown) having a phone modem to couple the toy 1 10 with the server 150
  • the RS-232 link 120 can extend directly from the computer, which may include appropriate software to control communication and possible data processing between the toy 110 and the server 150
  • the computer may also provide a graphical user interface for controlling communications with the server 150 Through such an interface, the user may, for example, navigate through a Web site hosted by the server 150, select programs or data for download, enter user information and preferences, or enter a chat room or bulletin board for toy owners
  • FIG 3 depicts an embodiment of a toy according to the p ⁇ nciples of the invention
  • a programmable toy figure or doll 210 is provided with an internal microprocessor 212 and a programmable memory 214 coupled with infrared receiver or transceiver 216 in its seat which can conduct wireless communication with an infrared transceiver 231 in an infrared communication unit 232
  • the infrared communication unit 232 may include a microprocessor 234 with a programmable memory 235 that is coupled by a data link 236 with a computer 238.
  • the infrared communication unit 232, link 236 and computer 238 collectively constitute an interface 230 between the toy 210 and a remote server 250.
  • Communication between the interface 230 and the server 250 is via any bi-directional data connection indicated in phantom in 242, which may include a telephone line, cell phone channel, digital subscriber line (“DSL”), cable modem, wireless data connection, or two-way cable or satellite link of any type currently known and used or which may be developed for data transfer including, for example, the Public Switched Telephone Network, the Internet, and the World Wide Web.
  • DSL digital subscriber line
  • cable modem cable modem
  • wireless data connection or two-way cable or satellite link of any type currently known and used or which may be developed for data transfer including, for example, the Public Switched Telephone Network, the Internet, and the World Wide Web.
  • the infrared communication unit 232 and computer 238 can be configured in different operating relations.
  • the infrared communication unit 232 can be preprogrammed to provide essentially instant automatic access to the server 250, when activated, by interrupting the computer's functions and accessing the computer's modem to dial up the server 250.
  • the infrared communication unit 232 can be used as a peripheral of the computer 238, with control of the communications directed from the computer 238 and its keyboard and/or mouse. This may provide the possibility of user input to the server 250 using the computer 238.
  • the computer 238 may dial up the server 250, may recognize the interface 230 as a peripheral, and may set up and control the connection between the toy 210, the interface 230, and the server 250.
  • Figure 4 shows a system architecture for use with a toy according to the principles of the invention.
  • the system architecture of Fig. 4 may be used, for example, with any of the toys described above and below. It will be appreciated that each of the components of the system architecture described below may be implemented in hardware, firmware, software, or some combination of these.
  • a toy may connect to a computer 410 through a physical link 412, which may include any of the communications links discussed above.
  • the toy may include a communication link process 414 which provides communications protocols and may monitor integrity of the physical link using, for example cyclic redundancy checks or any other error detection and/or error correction techniques.
  • a toy identifier 416 may be accessible to the communication link process 414 for use in establishing identity of the toy when a connection is set up.
  • the toy identifier 416 may be stored in a non-volatile memory or a dip switch, or may be hard wired in some other permanent fashion.
  • a system service routine process 418 may be included to provide system services, such as system initialization, data authentication, system integrity checks, state sequencing, download/upload management, and computer interaction management
  • a system core process 420 may provide processing for frequently used toy functions, such as play pattern monitoring, data collection, content filtering and selection, and event scheduling Particular services provided by the system core process 420 may include system initialization, data authentication, system mtegnty check, master state sequencer, download/upload manager, input/output and timer control, interpreters, error and interrupt handlers, test mode routines, and memory and slave controller service routines
  • An mput/output process 422 may communicate with the system service routine process 418, and send and receive input/output data to other processes
  • the input output process 422 may connect to, for example, output d ⁇ vers 424 that operate devices 426 such as motors, light-emitting diodes, liquid crystal displays, lights, buzzers, and so forth
  • the interpreter provided with the system core process 420 may be, for example, a toy specific programming language interpreter
  • a toy programming language may be created using Java, with objects and methods specific to programming toys
  • the toy programming language provides high-level abstractions for commonly implemented toy functions
  • the interpreter may interpret the toy programming language to create machine code for a processor withm a toy, and may be adapted to different processor platforms for different toys
  • a memory controller process 428 may provide access to memory for storage and ret ⁇ eval of program instructions, system data, state data, game content, media content, and other data or content suitable for storage and ret ⁇ eval by the toy
  • the memory controller process 428 may include, for example, memory space mapping, data storage, and memory read/w ⁇ te control
  • the memory controller process 428 may control access to an address/data control bus 430 for sto ⁇ ng and retrieving data in a memory 432 such as an electronically erasable programmable read only memory (“EEPROM”)
  • EEPROM electronically erasable programmable read only memory
  • the memory 432 may be, for example, a one to sixteen MB EEPROM
  • the bus 430 may also control data storage and ret ⁇ eval from system components 434, which may include voice and sound synthesis and recording, as well as other toy content permanently or tempora ⁇ ly stored for use by the toy
  • the toy content may be used to d ⁇ ve devices 426.
  • a master/slave controller process 440 may control operation of the system components 434 to control the toy in execution of play patterns and other interactive or non-interactive sequences.
  • the processes described above may be abstracted to a discrete set of commands that may operate as a toy operating system.
  • Content for the toy such as play patterns, speech rendering, and so forth, may then be programmed using a high-level programming language created from the commands of the toy operating system.
  • a compiler may be used in conjunction with the command structure of the operating system to permit programming of the toy in a high-level language, and preparation of machine executable code for transfer to the toy.
  • a programming language for the toy may include abstractions of functions available through the above processes, or through the toy operating system. Using the toy programming language, descriptions may be written for play pattern finite state machines, data collection, event scheduling, artificial intelligence algorithms, sensory input and output, and so forth, with little or no knowledge about the hardware architecture of a particular toy.
  • Each toy 10, 110, 210, etc. may be battery powered. Further embodiments of the toys 10, 110, 210 are described below.
  • a toy may be an originally programmable robot.
  • a user may select a figure for the robot, along with features and any pre-programmed functions or play patterns on the website.
  • the toy may be shipped to the user, pre-configured so that it will carry out selected actions and play patterns when it is first activated.
  • the selected programs may be loaded into the toy at a retail outlet, or a user may purchase an unprogrammed toy, and the toy may be programmed when a user connects the toy to a server as described above. Further scenarios may be downloaded from the server that are designed for the particular toy and features selected by the user.
  • user may indicate a type of toy, such as a specific action figure, on a website, and the website will download a scenario for the day that the user then acts out.
  • These scenarios may be tailored to, for example, military, spy, or other action figure play patterns.
  • the website may also automatically detect the toy type when the toy is connected to the website.
  • Scenarios may include the use of any printed materials, which may be downloaded to a users computer for printing on a printer.
  • Files for printing may include secret maps, plans and spy info.
  • the user can use these printouts as accessories to the figures.
  • Further content may include voice commands concerning a mission for the user.
  • the user may receive periodic updates and complications as time progresses.
  • a scenario may progress bv monitoring a user activity and presenting varying challenges to a user to create real-time, strategy play for the user
  • the website and interface may periodically "beep" the user (If the user is withm range of our RF) and type out an emergency rescue situation on the beeper that the user must respond to This may include roleplay by a user, and may involve toy versions of rescue tools, medical tools, police equipment, army equipment, spy equipment, or any other equipment for role playing activity This could be a dedicated tov.
  • a fire station where a user gets a call
  • this may include a play set where different features are activated pe ⁇ odically, such as a cry of a civilian needing rescue, fire engine siren and lights, etc Scenarios with secret missions and James Bond type gear may be used
  • a p ⁇ nter may be used to make play accessories, e g , "Blueprints of the new X-99 fighter ' which must be "delivered to an agent in Miami '
  • A.lerts mav be generated only du ⁇ ng predetermined times, and mav omit times such as when a user should be in school or other inappropriate times tor interruption b ⁇ the toy
  • the toy may be a doll or other figure that receives programming from the server to host a tea party or other social event
  • a user may indicate to the website one or more programmable toys such as those described above, and/or one or more other non-programmable toys, and the server may generate dialog and so forth for the social event
  • the toy may be programmed to generate dialog such as "Miss Rabbitt is coming to tea today with her cousin Miss Bunny, they are b ⁇ nging their fussy friend Mr Aardavark, so everything must be just perfect They would like lemon tea and some strawberry strumpets Will you have that for them todav " Other tovs mav cooperate with one other, such as a talking teapot that mav help a user through all the manners and protocols ot entertaining a tea Printable content may also be downloaded, such as name cards, a guest list, a menu, and so forth
  • the toy may receive programming from the server for craft activities
  • a user may receive an activity kit with needed materials Every day there may be different things that can be made from the mate ⁇ als in the activity kit This may include popsicle stick constructions, weaving baskets, making jewelry, decorating objects, etc Crafts may be performed in front of a computer that provides interactive directions, or all the directions and steps could be verbalized by a doll or bear, or perhaps a dedicated character, "Miss Crafty " A p ⁇ nter may have a picture of each step Many craft projects may use paper directly from the p ⁇ nter, e g , origami with folding lines p ⁇ nted on it
  • the toy may rece ⁇ e programming from the server for hair, nail, and beauty activities
  • the website may provide downloads of thematic styles of hair, nails and makeup that the user can replicate
  • the toy may include a beauty kit A doll may give suggestions and directions to the user
  • the toy may be a large doll head that the user can put makeup on
  • the toy
  • the toy may receive programming from the server for licensed characters such as television, cartoon, movie, or other popular media
  • a toy may receive content relating to TV shows such as Blues Clues, CTW, CatDog, Rugrats, Bear in a B B House, Teletubbies, Arthur, etc
  • the toy may make conversation related to that day's TV show
  • the toy may also interact with content from a television program
  • the toy may include a real-time clock, or the television program may include embedded timing or control information in audio, video, or some other channel associated with the program
  • the toy speech and ammatronics may be downloaded before the program begins, and may be rendered at suitable times
  • the toy may receive programming from the server for play patterns relating to baby nurtu ⁇ ng
  • a toy configured as a doll may be initialized with newborn play patterns such as simple crying, and may mature over time Every few days, for example, the doll may go through a growth stage and behave slightly differently, e g , more mature Play patterns may include vanous stages of feeding, grooming, cuddling, cradling, dressing, rocking, teething, wetting, bathing, bottle feeding, and newborn play
  • the toy may receive programming from the server for play patterns relating to varying accesso ⁇ es
  • One or more sensors on the toy may sense accesso ⁇ es placed in physical contact with the toy, or in proximity to the toy
  • the accesso ⁇ es sensed m this manner may be indicated to the server, and the server may respond with play pattern content for the sensed accessory
  • a sports figure may have as accesso ⁇ es a tennis racquet, a basketball, a baseball bat, a baseball mitt, skates, a lacrosse stick, a football, a football helmet, and so forth
  • the server may respond with audio data, such as "Let's play tennis.” to be rendered by the sports figure.
  • the server may also respond with motor control data so that an arm of the sports figure simulates, for example, a serving motion.
  • the toy may receive programming from the server for interaction with other gaming platforms. For example, various content and play patterns may be provided for platforms such as Sony Playstation, Gameboy, Nintendo 64 and so forth.
  • the toy may include an interface for communicating with games for these game platforms, and may play a role in the game through any combination of inputs and outputs, or may respond to game play through audio and other outputs. For example, the toy may respond to an end of a game by rendering audio such as "Congratulations! or "Sorry, you lost. Maybe you should try again.”
  • the toy may receive programming from the server for play patterns relating to mystery games.
  • the toy may include a central console that is periodically reprogrammed with a variety of clues and details of a crime mystery. Players may leam details of the mystery over time, such as who the characters are, what the possible motive might be. and what possible murder weapons could be.
  • the mystery scenario may change from time to time.
  • a narrating doll toy may be included as an accessory to the central console, or as the sole programmable toy presenting the mystery.
  • Mysteries may be tailored to different age groups.
  • the toy may receive programming from the server relating to a scavenger hunt.
  • the scavenger hunt may be conducted among a number of different players, or by a single player who interacts with the toy.
  • Scavenger hunt items may include generic items, or items specific to a user's known geographic location, or selected from a list provided by a user or group of users. Items may be submitted as 'found' by, for example, submitting digital photographs of the items taken through a lens included in the toy, or a separate camera, or the game may proceed on an honor system. Winners may be presented on a website hosted by the server.
  • the toy may receive programming from the server relating to news.
  • the toy may automatically download National Weather Service information, etc., and include relevant comments in its speech.
  • a user may get weather updates while traveling by using, for example, a wireless Internet connection.
  • the toy may continuously check certain stocks for a user, and announce new prices, as well as humorous or analytical commentary.
  • News items may be selected according to user profile information, such as location, age, interests, and the like.
  • the toy may receive programming from the server relating to educational content. For example, the toy may announce historical events occurring on the present date, e.g., "On this day in 1776, the Declaration of Independence was signed.” Foreign languages may be spoken by the toy for educational purposes. The toy may review troublesome subject matter for young users.
  • the toy may receive programming from the server relating to other interests of the user. For example, the toy may get a daily horoscope, recite prayers for day, or provide reminders of scheduled events, times, etc.
  • the toy may receive programming from the server relating to a toy personality.
  • the toy personality may be selected from existing personality profiles, or may be created from configurable personality profiles.
  • the toy may be programmed to initiate dialog with other programmable toys in its vicinity, which may be detected through wireless links.
  • the toy may talks about a specific object that it recognizes or communicates with. For example, a dog toy may simulate play with a ball, an action figure may simulate play with a gun, or a doll may simulate play with a teddy bear.
  • a toy with an infant personality may, for example, require more nurturing, and may have smaller speech capacity.
  • the toy may receive programming relating to educational content.
  • the toy may include a Liquid Crystal Display ("LCD") screen.
  • LCD Liquid Crystal Display
  • a user may see individual letters or words, and hear a related narrative.
  • the toy may display only a single, huge letter, taking up the entire screen.
  • buttons may be provided for interactivity.
  • the toy may show pictures of alphabet characters, objects beginning with selected letters, and words beginning with selected letters.
  • the toy may employ audio rendering of letter sounds, and of words for objects displayed on the screen.
  • the toy may "grow" with a user.
  • the screen may display short animations, and may interactively prompt user input to develop alphabet skills.
  • Other preschool applications may include number recognition. For example, early lessons may involve a child recognizing particular numbers.
  • a child may scroll through the different representations of a number: sound, quantity, number, and name.
  • Other lessons can begin to address math.
  • the lessons about math may all be multiple choice, or may require input of numerical solutions.
  • the toy may involve a character or animations, and entertaining commentary.
  • Educational content may generally include alphabets, languages, math, logic, arts, health, and safety.
  • Content may be provided to the toy on a subscription basis.
  • Content may be purchased in discrete units, such as "Mystery Game #1" or “Adventure Game #14" and so forth.
  • Content may be purchased by category, such as "music” or "spy scenarios” or "sports”.
  • Content may also be purchased in time units, such as one month of French lessons, one month of news updates, one year of stock quotes, one day or several hours of music, and so forth.
  • time units such as one month of French lessons, one month of news updates, one year of stock quotes, one day or several hours of music, and so forth.
  • Several tiers of subscription may be provided, such as a first level for basic content, a second level for enhanced content, and so forth up to a final level for all available content.
  • the toy may include, for example, a hand button, a stomach button (sensing, for example, tickles and hugs), a mouth button (feeding/drinking play), an inertial motion sensor (useful for interactive scenarios, such as toy waiting to say something until it detects motion). Dialog generated by the toy may be responsive to sensor inputs.
  • the toy may say “Please pick me up"
  • a motion switch is activated, indicating that a doll has been picked up
  • the toy may continue to speak: "Thank you mommy, I love when you hold me.”
  • the toy may further incorporate: a microphone (may receive responses from a user, or react to music), light sensor (may play peek- a-boo), or IR, RF, or other wireless link (allows toy to communicate with other toys or interface).
  • the toy may include bioinformatics sensors.
  • the toy may apply speech recognition to identify a speaker, and content delivery may be tailored to that particular speaker.
  • the toy may include retinal scanners so that when a user looks at a particular location in the toy, such as eyes of the toy, the toy may identify the user. Other forms of identification may similarly be included in the toy, and may be used to recognize different individuals and adapt content accordingly. Individualized responses may be provided based upon programming stored in the toy, or based upon access to the server and download of customized content for an identified user of the toy.
  • the toy may include ammatronics. Animating the eyelids and eyeballs can provide a variety of expressions. Eyebrows may be included to provide even more expression. Moving lips may synchronize with play patterns for the toy that involve speech. Moving arms may allow for dancing and gesturing. Head motion may include nodding and shaking. Two microphones may be included, so that a toy can turn its head toward a sound. The body of the toy may rock back and forth. This may allow dancing and more emphatic gesturing.
  • a doll figure in an example embodiment, includes a hand button, a mouth button, a stomach button, a motion sensor, a microphone, moving eye lids, and one moving arm, and an IR or RF unit to permit two-way communication with other dolls, as well as communication with the interface.
  • a toy includes a teddy bear including one or more eccentric motors that product vibration and/or gyration, a motor that rotates a head of the teddy bear in an elliptical path with reverse polarity able to produce side-to-side nodding, a plurality of buttons on a vest, the buttons activating, for example, personal content, jokes, fads and trends, games, music, and so forth; one or more paw buttons on a paw of the teddy bear, a microphone, a nose button on a nose of the teddy bear to detect nuzzling and hugging, a speaker, and a pager, the pager attached to a belt of the teddy bear, the pager including an LED, a message switch, a computer connection, and a volume control.
  • the interface may include control mechanisms. For example a user may be provided with an option of rapidly and easily getting a download from the web site at the push of a button on the interface, with no further interaction needed. A user may also be provided with a window of time in which web site interaction may be selected, wherein specific downloads may be chosen from a variety of menus. On the website, there may be scenarios dedicated to specific activities a user is planning, such as a day at the beach or a car trip. Other scenarios and games may be downloaded to the toy automatically by default if the child or guardian does not select anything specific from the web site.
  • Play patterns, scenarios, and themes may include: tea time, camp, school yard, gardening, dinnertime, doing one's nails, wedding, Halloween, singing, hide-and-seek, nap time, feeding, drawing, hairplay, day at the beach, birthday, watching television, arts and crafts, at the playground, tickling, graduation, anniversary, piano lesson, peek-a-boo, diaper change, thirsty, story telling, dress up, bedtime, car trip, doing homework, cooking, bathtime, princess role play, Christmas, entertaining guests, ballet, dancing, what-am-I, teething, supermarket, joke telling, make-up, and so forth.
  • the daily download may include musical content, such as a new song everyday
  • the toy itself may include a play button, or other controls such as stop, pause, rewind, fast forward, skip, random, and so forth
  • Music and other audio content may include nursery rhymes (music only), nursery rhymes (words), classical music, popular music, folk songs, children's songs, nature sounds, rain, beach sounds, forest sounds, birds, c ⁇ ckets.
  • the toy may include keys such as piano or other instrument keys so that a user may play along
  • the toy may, for example, include only a few keys for pre-school users, but may include a full octave or more for older users
  • An embedded synthesizer may include sound bending, instrument selection, digital sampling, and so forth Tempo may be adjustable, and instruments may be selected by a user, or may be selected by the downloaded program, e g , "today is saxophone day, tomo ⁇ ow is kazoo day "
  • a tov system 501 The system 501 mav include a number oi different elements One such element is an interactive toy 502 Also provided are an interface 504. a control device 520, which may be a web server or similar device, an optional personal computer 528, and one or more databases 524
  • the toy 502 is connected to the interface 504. which connects to a data connection 508, such as the Internet, which connects to the control device 520, which executes vanous processing functions to control the toy 502 over the Internet It should be understood that more than one toy 502 may connect, via the data connection 508, to the control device 520 It will be appreciated that any number of toys in remote geographic locations can connect to the control device 520 in a client-server configuration, so that the control device 520 may provi ⁇ e control to multiple toys in the different locations
  • Figure 5 illustrates a system 501 wherein a plurality of toys 502 connect through a network 508 to a control device 520
  • the control device 520 connects to a proprietary database 524 maintained by the control device 520
  • the elements of the system 501 can include commercially available systems that have been arranged and modified to act as a system according to the invention, which allows a user to use a toy 502 that is controlled by instructions from the control device 520 or from another control device
  • the interactive toy 502 may be configured to resemble any of a wide range of possible toys, ranging from a dinosaur (as depicted in Fig 5) to any other shape of toy Examples include a teddy bear, an animal, a bird, a fish, a cat.
  • the toy may be interactive in the sense of conventional interactive toys, that is, the toy may be provided with a capability to make sounds, to move (whether through robotics, motors, or other movement elements), to emit light, and otherwise to create output that can be sensed by the user
  • a number of interactive features may be provided by the toy 502
  • FIG. 6 is a functional block diagram depicting certain optional capabilities or the toy 502
  • the toy 502 may include a number of elements, including a processor 600 for control of various functions of the toy
  • the processor 600 may be any method or system for processing in response to a signal or data and should be understood to encompass microprocessors, microcontrollers, integrated circuits, computer software, computer hardware, elect ⁇ cal circuits, application specific integrated circuits, programmable digital signal processors, personal computers, chips, and other devices capable of providing processing functions
  • the processor 600 may be a programmable integrated circuit, such as a PIC 16C63 or PIC 16C66 manufactured by Microchip Technology, Inc Although the PIC 16C66 is one microprocessor, any processor capable of controlling the toy 502 may be used Thus, for example, an application specific integrated circuit (ASIC) may be used as the processor 600 Likewise, other commercially available processors may also be used without departing from this disclosure
  • ASIC application specific integrated circuit
  • the processor 600 may control various capabilities of the toy 502, including capabilities of movement, synthesizing speech, making sounds, playing music, playing files, such as wav or midi files, presenting graphical displays, such as on an LCD or similar display screen displaying text content on such a display, or any other function that can be embodied in the toy
  • the processor 600 may operate an operating system 602, or it may directly control one or more modules, which may be embodied m hardware, software, or a combination thereof
  • a communications module 604 a display module 608, a sound module 610, a movement module 612 and an input module 614 may be optionally provided
  • Each of these modules may be programmed in a manner that would be understood by one of ordinary skill in the relevant art.
  • the communications module 604 may provide a communications capability of the toy 502 Thus, the communications module 604 may handle communications between the toy 502 and any other device In an embodiment, all communications are handled through the interface 504, but the interface 504 can be included as a module of the toy 502, communications functions can be shared between the toy 502 and the interface 504, or there may be redundant functions between the two Thus, the communications module 604 enables the toy to send and receive data in whatever format is required for the other formats of the toy 502 In embodiments, the communications module or the interface 504 can handle electronic mail messages, files, such as sound, wav. midi, or other sound files, graphics files, word or text files, machine code instructions, or other file formats
  • the toy 502 may also include an output module 606, which may be capable of generating output in any of a wide va ⁇ ety of optional formats
  • the output module 606 could include a sound module that could comp ⁇ se voice synthesis software, a player for .wav, MP3, midi, or other sound files, a self-executing sound player, a sound card, a CD player, a DVD player, a radio, a cassette player, or any other combination of hardware and/or software for generating sounds in response to control signals that are directed by the operating system 602 to the output module 606.
  • the toy 502 may be equipped with one or more speakers or other sound- generating devices, for playing sounds that are handled by the output module 606
  • the toy 502 may be made to interact with a user, such as child, by speaking words that are sent from the control device 520, by playing music or files, such as wav files, or the like
  • the output module 606 can optionally be equipped to produce, for example, output m any other form, including acoustic, electrical, magnetic, infrared, ultraviolet, laser, radio, or other signals
  • the output module 606 which my be hardware, software, or a combination, may control an audio player, a radio, an infrared transmitter, a laser, an ultraviolet or other light, or any other kind of device that generates an output in any spectrum m response to a control signal. Programming and hardware for such handling are known to those of ordinary skill in the relevant arts
  • the output module 606 may be combined with the input module 614 (descnbed below) to create a network of toys 502.
  • the toy 502 may also include an optional movement module 612, which may handle movement of elements of the toy 502.
  • the movement module 612 may control one or more motors (which might be controlled by machine code, e.g., through a pulse-width- modulation (PWM) method), which might drive an axle or other element of the toy for locomotion.
  • PWM pulse-width- modulation
  • the movement module could control robotic elements of the toy as well, to provide for movement of various optional features of the toy 502, such as arms, legs, mouth, cheeks, eyes, eyebrows, ears, nose, wheels, propellers, or the like.
  • the toy 502 may move itself or may move parts of itself.
  • the toy could be equipped with a video camera and could be controlled remotely through the Internet, with the control device 520 providing control instructions based on input from the video signal.
  • the control device 520 in such an embodiment, might include a joystick or the like for generating control signals that would be transmitted to the toy 502.
  • the toy 502 may be equipped with an optional display module 608. which may be a combination of a physical display device, such as a screen, e.g, a liquid crystal diode display, LED display, CRT, or other display, along with the appropriate hardware and software for controlling the display.
  • the display module 608 may thus allow the toy 502 to display, for example, text, video, graphics, word files, and the like in response to control instructions received through the interface 504.
  • the toy 502 could display on the display device an electronic mail message from a friend, such as the owner of another toy 502.
  • the toy may further include an input module 614, which may consist of hardware, software, or a combination of the two for accepting various inputs from the environment of the toy.
  • the input module 614 may be distinguished from the interface 504, which may provide input to the toy 502 through the processor 600.
  • the input module 614 may be controlled by the processor 600 and associated with various input devices that are capable of receiving data from the environment of the toy 502.
  • Such input devices may include, by way of example and not limitation, a keyboard, a smart pen, a stylus (such as used with a personal digital assistant or similar device) a mouse, a trackball, a pointer, a camera, a digital camera, a video camera, a digital video camera, a voice recorder, voice recognition software, an odometer, an anemometer, an inclinometer, a thermometer, a sound meter, a sound recorder, a .wav file generator, a .midi file generator, a pressure sensor, a motion sensor, or any other device capable of receiving an input or detecting a condition of the toy's environment or an interaction with the toy 502 and generating a responsive data signal.
  • a keyboard such as used with a personal digital assistant or similar device
  • a stylus such as used with a personal digital assistant or similar device
  • a mouse such as used with a personal digital assistant or similar device
  • a trackball such as used with a personal digital assistant
  • the toy 502 may include a pressure sensor that recognizes when the toy is hugged, or when a child shakes its hand.
  • the input module 614 could then accept the data from the pressure sensor and deliver it through the interface 504 and data connection 508 to the control device 520 for further processing
  • the control device 520 could then access the database 520 to obtain an instruction, such as instruction for the 606 sound module to handle a voice player that would say "Thank you for hugging me "
  • the input module 614 could accept an email message through a keyboard and deliver it, via the system 501 , to a client device, such as another toy 502
  • the input module 614 can combine with the display module 608 and the sound module 606 to create a networked messaging system through the toy 502
  • the input module 614 may also accept input, through the interface 504, or directly from the various peripheral devices 510, 512 and 514, or from another toy 502 that is equipped with an output module 606 and an output device, such as a transmitter
  • the input module 614 enables the toy 502 to react to its environmental conditions
  • the toy might say “it is hot”, in response to a transmitted signal from a thermometer, it might move in response to input trom a personal digital assistant, it might say “it is windy” in response to an anemometer signal, or the like
  • the toy might provide a warning, for example if the child took the toy outside a particular area, or if a security system were activated
  • modules desc ⁇ bed herein could reside, rather than onboard the toy 502, on the personal computer 528 or similar device to which the toy 502 can be connected through the interface 504
  • email or other functions may be accomplished using the capabilities of the personal computer, and through registration processes, the personal computer 528 may be linked to the toy 502, so that they operate as an integrated functional unit
  • the interface 504 may provide the toy 502 and the processor 600 with data
  • the interface 504 may comprise a modular cradle device into which the toy 502 may be alternately placed and removed, in a manner similar to a synchronizing device for a personal digital assistant, such as a PALMPILOT from Palm Computing, or a Visor from Handsp ⁇ ng, Inc
  • the interface 504 may be a hardware interface, such as a wire, cable, circuit, network card, or connector, a software interface, or other interface
  • the interface 504 permits the toy 502 to receive data from a network 508
  • the connection of the interface 504 to the network 508 may be direct, such as through a network card, connector, bus, port, or the like, or it may be through a computer, such as a personal computer, laptop, personal digital assistant, notebook computer, server, workstation, or other device
  • the interface 504 connects to the network through a wireless or cellular connection In a prefe ⁇ ed embodiment
  • the interface 504 may provide multiple avenues of connection, and that the toy 502 may have multiple interfaces
  • the interface 504 may, through a connection 516, connect to another device, such as a personal digital assistant 510, or through a connection 518 to another external device 512, which may be any device capable of receiving data from or sending data to the interface 504
  • the toy 502 may have other interfaces that provide direct connections to external devices, such as the personal digital assistant 510, another external device 512, or, for example, a sensor 514
  • the connections 516, 518 and the direct connections from the toy 502 may use any kind of connection, or any method or system for delivenng data, such as a network, a data bus, a wire, a cable, a cellular connection, a portable phone connection, a transmitter and receiver, a circuit, a video tape, a compact disc, a DVD disc, a video tape, an audio tape, a computer tape
  • the personal digital assistant 510 or the other devices 512, 514 may be any kind of pe ⁇ pheral devices capable of sending or receiving data Examples include a game player, a Palmpilot, a handheld computer, another toy 502, a cellular phone, a pager, a radio, a remote control, a voice recorder, a switch, a light, an appliance, a stereo, a television, a set-top box, a synchronizer, oven, microwave, a camera, a video camera, a digital camera, a cassette player, a receiver, a transmitter, a transducer, a heating system, a cooling system, a detector, an alarm, a CD player, a VCR, a DVD player, a computer, a satellite box, a cable box, a musical synthesizer, and a security system
  • the toy 502 can be made to communicate with or through any other type of electromc device, thereby permitting interaction of the toy 502 with its environment in a wide range of patterns of play
  • the toy 502 may be constructed for use either alone or as part of a set or network of such toys 502
  • An individual toy 502 or a set of toys 502 can be provided with interfaces 504 to one or more external devices, or, m certain embodiments of the invention, with other toys 502
  • the toy 502 may be equipped with a transmitter, receiver, or both to facilitate communication, and the processor 600 may be programmed to control the communication capabilities in a conventional manner
  • the toys 502 may receive data over the interface 504, or mav be part of a circuit or network connected to the toy 502
  • the interface 504 may be linked to or be part of a control device 520 that generates control data for controlling the toy 502
  • the control device 520 is a computer, such as a server, and the control instructions are sent via the network 508 and the interface 504 to the toy 502
  • the control data may be in any form suitable for controlling the processor 600 to control the toy 502
  • the control data is formatted for transmission over the network 508 according to a protocol such as TCP/IP and conventional computer programming for generating microcontroller instructions is used on a server, laptop or personal computer as the control device 520 to control the toy 502 It should be understood that local control would also be possible, from a laptop computer or other processor- enabled device, without use of a data network 508
  • the toy 502 may also be provided with memory for storing instructions to control the processor 600, so that the toy 502 may act in a standalone mode according to pre-programmed instructions
  • the toy 502 may form a node of a network of toys 502, as depicted m Fig 7
  • the data network 508 is the Internet
  • the interface 504 perhaps through a personal computer or similar device, receives data from a control device 520 that provides control instructions to the toy 502
  • the Internet connection may be any type of connection, whether a cable, a wire, a satellite dish, a digital subscnber line, a cable modem, a wireless connection, a cellular connection, a network card, a modem or other connection
  • Control instructions from the control device 520 can control any of a wide variety of the capabilities of the toy 502, such as a play pattern, a motion, a transducer, a thermometer, an inclinometer, a motion detector, a remote control, a sensor, an emitter, a telephone, a microphone, a display, a speaker, a music player, a graphics application
  • the control device 520 may be a web server or similar device Refernng again to Fig 9, a system 501 is depicted in which a toy 502 is connected to an interface 504 which connects to a network 508 which connects to the control device 520, which is a web server It should be understood that more than one toy 502 may connect, via the Internet, to the control device 520 In fact, any number of toys in remote geographic locations can connect to the control device 520 in a client-server configuration, so that the control device 520 may provide simultaneous control to multiple toys in the different locations
  • Fig 5 illustrates a system 501 wherein a plurality of toys 502 connect through a network 508 to a control device 520
  • the control device 520 connects to a proprietary database 524 maintained by the control device 520
  • the elements of the system 501 can include commercially available systems that have been arranged and modified to act as a system according to the invention, which allows a user to use a toy 502 that is controlled by instructions from the control device 520 or from another control device
  • the system 501 of Fig 5 employs the Internet to allow a toy user at a remote client with an interface 504 to access a central server
  • the system 501 can include a network-based system that includes a plurality of client systems 530, which comprise the toy 502, the interface 504, and, optionally, one or more other devices, such as a personal computer 528, and which connect through a data network 508, such as the Internet, or any suitable network, to a control device 520
  • the client systems 530 can be connected through (or can include) any suitable computer system such as a personal computer, a workstation, a handheld computing device, a wireless communication device, or any other such device, equipped with or configured as a network client capable of accessing a network server and interacting with the server to exchange information with the server
  • the network client is a web client, such as the Netscape web browser, the Microsoft Internet explorer web browser, the Lynx web browser, or any other propnetary or open source web browser, or any other web client that allows the user to exchange data with a web server, an ftp server, a gopher server, or some other type of network server
  • the client and the server rely on an unsecured communication path, such as the Internet, for accessing services on the remote server
  • the client and the server can employ a secunty system, such as any of the conventional security systems that have been developed to provide to the remote user a secured channel for transmitting data
  • the control device 520 may be supported by a commercially available server platform such as a Sun Sparc TM system running the Solans operating system and running a server capable of connecting with, or exchanging data with, one of the client systems 530
  • the control device 520 includes a web server, such as the Apache web server or any suitable web server
  • the web server component of the control device 520 acts to listen for requests from client systems 530, and to, in response to such a request, resolve the request to identity a filename, sc ⁇ pt, and/or dynamically generated data that can be associated with that request
  • the control device 520 can also send appropriate data in response to a request (or in response to another action, such as sensing of an environmental condition) to the client system 530
  • the operation of the web server component of control device 520 can be understood more fully from Laurie et al , Apache The Definitive Guide, O'Reilly Press (1997)
  • the control device 520 may also include components that extend its operation to accomplish the control functions desc ⁇ bed herein, and the
  • the control device 520 may couple to a database 524 that stores various information, including information capable of identifying a particular toy 502, the user of the toy, a particular class or group of toys, triggers for tnggenng control instructions for a toy, and vanous control instructions for controlling actions of a specific toy 502
  • the database may include tables or similar devices that associate triggers for initiating particular actions of the system 501 and the toy 502, as well as control instructions for initiating the relevant actions upon recognition of the relevant t ⁇ gger
  • the database 524 may also store information regarding the users' accounts, including passwords, user accounts, user p ⁇ vileges and similar information
  • the depicted database 524 may comprise any suitable database system, including the commercially available Oracle or Microsoft Access databases, and can be a local or distributed database system
  • the design and development of database systems suitable for use with the system 501 follow from p ⁇ nciples known in the art, including those described in McGovern et al , A Guide To Sybase and SQL Server, Addison-Wesley (1993)
  • the database 524 can be supported by any suitable persistent data memory, such as a hard disk drive, Redundant A ⁇ ay of Independent Disk (RAID) system, tape drive system, floppy diskette, CD-ROM, DVD, or any other suitable system.
  • the system 501 depicted in Figure 1 includes a database 524 that is separate from the server station platform 520, however, it will be understood by those of ordinary skill in the art that in other embodiments the database device 524 can be integrated into the control device 520.
  • control device 520 may connect to one or more databases 524.
  • server component of the control device 520 accesses the databases 524, such as through scripts, e.g., common gateway interface (CGI) scripts, or other programming codes, such as Java to obtain responses to queries.
  • CGI common gateway interface
  • Fig. 7 is a functional block diagram reflecting certain optional functional modules for the control device 520.
  • the control device 520 may include a variety of modules, including an operating system 700, a communications module 702, a routing module 704, a toy control module 708, and a query/access module 710.
  • the operating system 700 may control one or more of the other modules in a conventional fashion.
  • the communications module 702 can handle various communications functions, such as access to the data network 508, e.g., the Internet.
  • the communications module may be equipped to send and receive data according to a common protocol, such as the Transmission Control Protocol/Internet Protocol (TCP/IP) protocol. While TCP/IP has worked well in the past, there is nothing intrinsic in TCP/IP that is required to support this invention.
  • TCP/IP Transmission Control Protocol/Internet Protocol
  • the interface device may optionally be located on the toy itself.
  • delivery may be direct to the toy/device.
  • the routing module 704 may route one or more queries, which the control device 520 receives through the communications module 702, to one or more other modules, to one or more servers, or the like.
  • the routing module 704 may include various functions, such as load balancing and routing according to the nature of the request, as would be understood by those of ordinary skill in the art.
  • the query/access module 710 may be controlled by the operating system 700 to form and handle queries that are sent to the database 524, and to handle responses obtained from the database 524.
  • the query/access module 710 may form appropriate queries in accordance with conventional programming techniques, such as those required for creating processes for registering users, tracking user interactions with the graphical interface of the personal computer 528, responding to user queries, responding to user entries into forms and templates, such as HTML templates, responding to user interaction with buttons or icons, such as a "submit" icon, or the like.
  • the query /access module 710 can handle any conventional Internet methods and systems, ranging from registration, to e-commerce, to targeted banner advertisements, and the like
  • the toy control module 708 may provide processing for control instructions to be sent to the toy 502 and processing for data input that is received from the toy 502, the client system 530, the personal computer 528, or one or more other devices, such as the penpheral devices 510, 512, 514, or a remote device, such as another computer, another toy, or another pe ⁇ pheral device, such as a sensor
  • the toy control module 708 may receive instructions from a va ⁇ ety of different devices according to defined formats and may process those instructions to initiate further actions, including queries to the database 524, messaging to the client systems 530.
  • the toy control module 708 may include hardware and or software systems In an embodiment, it is a software module written m an algorithmic object-oriented computer programming language, such as Java or C — . and it includes vanous extensions that are specific to the remote control of a toy Such extensions may include code for generating machine code instructions for controlling various aspects of the toy 502, such as a motors or robotics, or other code instructions for voice synthesis, playing sounds or music, or displaying content on a display of the toy 502
  • the toy control module 708 can send an instruction to the toy 502 to initiate an action, such as synthesizing an audible message, such as "hello "
  • the control device 520 can then await a response, which may come from a sensor of the toy 502 For example, if the toy 502 includes a voice-activated recording device, the toy 502 can send, through the interface 504, a message over the data connection 508 to the control device 520
  • the toy control module 708 may send, through the
  • the toy 502 may receive a message as user input, and transmit the message over the data network 508 to another toy, or to a personal computer 528, an e-mail account, or another device such as a cellular phone
  • the message may be, for example, a digitized voice message, a text message, or some other media Further, the message may be converted before, dunng or after delivery from one form, e g text, to another form, e g speech
  • the control device 520 may manage transfers among toys, and between toys and other devices
  • the control device 520 may address messages according to names assigned to toys, which may be names chosen by toy users In an embodiment, messages may be received from devices other than toys, such as a cellular phone, and transmitted to a toy
  • the tov 502 mav be used as a platform for scheduling Schedule items such as sports practice, plays, games, meetings, classes, appointments, and so forth may be entered into a schedule that may be stored on the toy 502. on a computer attached to the toy 502, or on a remote server
  • the server may communicate a daily schedule to the toy 502. and the toy 502 may generate reminders which may be. for example, text display on an LCD or LED displav.
  • the tov 502 may vibrate or generate some other alert when schedule items are pending, to remind a toy user to tend to the scheduled item
  • the toy 502 may also receive pages or other messages, and may include alerts for these messages along with other scheduled items
  • the toy control module 708 may be used for a wide range of different interactions, as will be more particularly disclosed below
  • the input signals for the processor 600 can be obtained from a wireless control network I e , a network that does not have a direct electncal circuit connection to the processor 600
  • a transmitter which may be mounted on a wall or m a remote control can transmit a programmed infrared, radio frequency or other signal to a receiver which can then transmit the signal to the processor 600
  • the transmitter may, instead be provided as a pe ⁇ pheral device connected in a communicating relationship with the client system 530
  • Fig 8 depicts a local area network of toys 502
  • one or more of the toys 502 may be equipped with a receiver and/or a transmitter, which may be connected to the processor 600 of each so-equipped toy 502
  • the receiver may be capable of receiving data signals and relaying them to the processor 600 It should be understood that the receiver may be merely an interface to a circuit or network connection, or may be a separate component capable of receiving other signals
  • the receiver may receive signals by a data connection from another device 510, 512 or 514
  • the other device is a personal computer
  • the data connection is a synchronizer device with a USB connection to the computer
  • the data is sent in machine code controlling a microcontroller such as the processor 600 Processor 600 then processes the data to control the toy 502 in a manner similar to that described elsewhere herein in connection with other embodiments of the invention
  • a plurality of toys 502 may be established in a master/slave arrangement whereby the master toy 502 controls the operation of one or more other slave toys 502
  • the data connections 516 between the toys 502 could be any type of data connection 516, including any of those described in connection with Fig 9
  • the toy 502 may be part of a network of such toys 502 as depicted in Fig 7
  • each toy 502 may send and receive queries over a data connection similar to that disclosed in connection with the descnption of Fig 9
  • the toys 502 can determine the geometnc configuration of the network in which the toys 502 are contained
  • a toy 502 can process signals from another toy 502 to determine which of the toys 502 is the master and which is the slave in a master/slave relationship, or a "lost" toy 502 can be identified bv sending and receiving signals and using a process of t ⁇ angulation of other toys or network-connected devices
  • each toy 502 may be made responsive to an external data signal for control
  • the toy 502 may receive data from one or more sensors, which may be disposed either on the toy or in the environment of the toy, such as inclinometers, thermometers, barometers, anemometers, pressure sensors, odometers, chronometers, or the like
  • the sensor device may sense changes m one or more external conditions and send a signal to one or more toys 502, in which case the toy 502 may act m a different manner based on the sensed condition
  • a thermometer might send a temperature measurement to the interface 504, which might be programmed to send the signal via a personal computer over the data connection 508 to the control device 520, e g , a server
  • the server may include the capability of receiving the temperature measurement, consulting a database, and sending a response over the data connection 508 to the interface 504, which in turn may send a signal, such as machine code,
  • control device 520 can serve a page that may appear on a personal computer 528 or other client device that is associated with the toy 502.
  • the page may include a user interface for the user of the toy 502, or for another person, such as a parent, sibling, friend, babysitter, or the like who supervises the use of the toy 502 by a user.
  • the page may include content related to use of the toy, such as instructional content, advertising content, entertainment content, games, and the like.
  • the toy 502 comprises a character which is represented by a similar character on one or more pages on the computer 528.
  • a personality for the character may develop over time through, for example, a simulated maturing process, or through interaction with a user.
  • the character that appears on the pages may make a request, such as by graphics, words, or sounds, to be brought into the real world by the user, and the user is prompted with a template or similar device on the page that enables the user to order the toy.
  • the toy, or the character developed through interaction with the page or pages may be realized in a physical toy and provided for fulfillment to the user.
  • the page includes content that requests that the user take some action with the toy 502.
  • the page includes content that is responsive to an action of the toy 502.
  • the page provides one or more conventional communications or word processing functions, such as instant messaging, chat, email, file transfer, or the like.
  • the user interface of the computer 528 can thus present to the user a set of controls for performing various actions, either in connection with the user's computer, in communication with other users, or to control the toy 502.
  • the user interface 528 or page may prompt or permit the user to enter instructions that are in turn executed by the toy 520 as described elsewhere herein.
  • a user might enter a birthday for a family member, and the toy 502 could be programmed to remind the user, such as through a synthesized voice message, on the day of the birthday.
  • Interaction with the interface can be, for example, through HTML pages, dynamic HTML pages, or the like, which, when the user interacts with them, send instructions to the control device 520 or server for further processing.
  • Fig. 9 depicts another configuration for the system 501 of Fig. 9.
  • Each of the control devices 520 is connected to the data network 508, which in this case is the Internet.
  • Various client systems 530 comprising the toy 502 and the interface 504 are connected to the Internet as well.
  • Fig. 9 demonstrates that the toys 502 can be part of a wide, distributed network. Using the input and output modules described above, the users of the toys 502 can communicate to each other.
  • Also connected to the Internet are one or more conventional client devices 528. such as personal computers. Through those devices an individual other than a toy owner can still communicate to the toy 502, by, for example, sending a message over the Internet that is handled by the control device 520 and sent on to the toy 502 for delivery to the user.
  • a grandmother could send an email message, which could be displayed on a display of the toy 502, which could be synthesized in the voice of the toy 502, or which could carry a sound attachment, such as a .wav file recording of the grandmother's voice.
  • the toy 502 can serve as a unified communications platform.
  • the server 520 may, when providing a unified communications platform, convert messages between any number of available platforms, i.e. text, facsimile, audio, page, e-mail, and so forth.
  • a voice message may be left using a telephone, and this may be automatically converted to a text file for alphanumeric display by a toy 502.
  • a voice message recorded by a user of the toy 502 may conversely be converted to a facsimile or e-mail for delivery to an identified address, or may be delivered to another toy for audio reproduction, or may be delivered electronically as an audio attachment to an e-mail. Any combination of media may be used with a communications platform based upon a toy 502 and a server 520 according to the invention.
  • the toy 502 may respond to verbal commands, such as "call Grandma,” and enter a program routine to receive as input a message for the designated recipient, in this case, Grandma.
  • the name may be mapped to an address and media type.
  • "call Grandma” may map to a telephone number and a media type of 'voice.
  • "Fax Dad” may map to a telephone number and a media type of 'facsimile'.
  • "E-mail Brad” may map to an electronic mail address, with a media type of audio where the message is a voice message, or 'text' where the message is text input by the toy user, or the message is a speech-to- text converted text message spoken by the toy user
  • Fig 10 is a functional block diagram that depicts data flows in an embodiment of the invention
  • a data flow can be initiated by an action 600, which may be input from a user into the personal computer 528, or an interaction with the interface 504 or the toy 502
  • the data then flows, m an embodiment, over the Internet or other data network 508 to the control device 520
  • the control device 520 then handles the data by determining and executing the approp ⁇ ate reaction based on the action 600
  • the control device 520 may interact with the database 524 to determine the action, such as by CGI scripts, Perl Scnpts, PHP, or the like
  • Control data then flows back over the Internet to the client system 530, through the interface 504 to the toy 502, initiating an action of the tov 502
  • the server or other control device 520 may act as middleware that coordinates the operations of the personal computer 528, the toy 502, the interface 504 and the database 524 to establish a fully interactive tov that has interactivity based on both
  • the executable files accessed by the server or other control device 520 may be scnpts that execute the various modules of the control device 520
  • One such executable file mav be a sc ⁇ pt that implements a toy control process to provide control instructions for the toy 502 such as the depicted toy 502
  • the toy control process might, for example, be a Perl V sc ⁇ pt, a C language program or any other suitable program for providing a process that can determine, m response to information provided to it from the client system 530, an action based on that information
  • the design and development of the vanous modules of the control device 520 can follow from pnnciples known in the art of computer programming, including those set forth in Wall et al , Programming Perl, O'Reilly & Associates (1996), and Johnson et al , Linux Application Development, Addison- Wesley (1998) Additionally, in other embodiments, the modules can be implemented, at least in part, by employing the operating system to restnct the execution of certain scnpts and to restnct access to certain files by configu ⁇ ng the operating system m a selected manner Techniques tor so configuring the operating system are known in the art, including those techniques set forth m Bach, The Design of the Unix Operating System, Prentice-Hall (1986)
  • the toy 502 might be programmed to operate in a standalone mode as well
  • preprogrammed instructions may cause the toy 502 to take certain actions in response to inputs handled by the input module 614
  • the input module 614 may receive signals from a remote control of a conventional type used to control electronic devices through radio frequency or infrared signals
  • the remote control includes a transmitter, control switches or buttons, and a microprocessor and circuit responsive to the controls that causes the transmitter to transmit a predetermined signal
  • the processor 600 can be connected to an input module 614 that includes a receiver via such signals and may be capable of processing and executing instructions from the remote control according to the transmitted signal
  • vanous modules of the control device 520, the toy 502 and the interface 504 can be realized as software components operating on a conventional data processing system, such as a Unix workstation
  • the modules can, for example, be implemented as a C language computer program, or a computer program wntten in any high level language including C++, Fortran, Java or BASIC
  • the toy control module can be realized as a computer program wntten in microcode or wntten m a high level language and compiled down to microcode that can be executed on the platform employed
  • the development of such microcode is known to those of skill in the art It is also possible to realize the toy control module directly in the hardware General techniques for high level programming are known, and set forth in, for example, Stephen G Kochan, Programming in C, Hayden Publishing (1983)
  • the input module 614 may handle input from a CCD camera or any other digitizing video input system that is capable of generating a file in any format Examples include GIF, JPEG, TIFF, PBM, PGM, PPM, EPSF, XI 1 bitmap, Utah Raster Toolkit RLE, PDS/YICAR.
  • the CCD camera may be integrated with the toy 502 or connected through one of the connections 516, 518
  • the toy 502 may also be modular; that is. it may have an internal mechanism that can be supplied with a variety of cove ⁇ ngs or "skins," so that a consistent set of protocols can control the actions of the toy, while very different external appearances are available to the user
  • a single tov 502 mav. using various skins appear as a teddv bear, a female doll, an action figure, an infant, and so torth
  • control device 520 may operate as an application server that employs an object onented framework.
  • object oriented frameworks are generally understood as a set of classes that embody an abstract design for solutions to a family of related problems. See The C++ Programming Language, 2nd Ed., Stroustrup Addision- Wesley Accordingly, a framework provides a prefab ⁇ cated structure, or template, of a working program.
  • a framework can provide support and "default" behavior for drawing windows, scroll bars and menus
  • a tramework can provide sufficient lunctionality and wired-in interconnections between object classes to provide an infrastructure for a developer developing services for the system 501
  • the interconnections are generally understood to provide the architectural model and design for developers, allowing developers to focus on the problem domain and allowing increased levels of hardware independence, as frameworks can provide to developers abstractions of common communication devices reducing the need to include with a service application hardware dependent code
  • the system 501 may be configured to permit other developers to insert toy control modules for control of different embodiments of the toy 502
  • the communications module 604 of the control device 520 may comprise an HTTP server listener process, an HTTP server process, a server temporal process, a daemon, a log file, a data file, a database, and an HTML page.
  • the communications module 604 may receive data from the interface 504, or from a client process, such as a computer program operating on the client systems depicted in Fig. 9, that are capable of downloading and responding to computer files served by the control device 520.
  • the client process can be a browser program that is capable of forming one or more connections to an HTTP server process for transferring pages from the HTTP server process to the client process.
  • Such a browser process can be the Netscape Navigator browser process, the Microsoft Explorer browser process, or any other conventional or proprietary browser process capable of downloading pages generated by the control device 520.
  • the control device 520 can send pages for graphical display on the screen of the personal computer 528.
  • the HTTP server process can be any suitable server process including the Apache server. Suitable servers are known in the art and are described in Jamsa, Internet Programming, Jamsa Press (1995), the teachings of which are herein inco ⁇ orated by reference.
  • the HTTP server process serves HTML pages representative of page requests to client processes making requests for such pages.
  • An HTTP server listener process can be an executing computer program operating on the control device 520 which monitors a port, typically well-known port 80, and listens for client requests to transfer a resource file, such as a hypertext document, an image, audio, animation, or video file from the server's host to the client process host.
  • the client process employs the hypertext transfer protocol (HTTP) wherein the client process transmits a file request that specifies a file name, an internet location (host address), and a method, such as the HTTP, or any other proprietary or standard protocol suitable to retrieve the requested file.
  • HTTP server listener process detects the client request and passes the request to the executing HTTP server processors, such as the HTTP server process. It will be apparent to one of ordinary skill m the art, that although this disclosure depicts one HTTP server process, a plurality of HTTP server processes can be executing on the control device 520 simultaneously
  • the HTTP server processors can pass the file request (typically round-robm style) until an HTTP server process is identified that is available to service the client's request
  • the HTML page served by the server to the client process will be processed by the client process, the browser program, to generate a graphical image of the search request page being requested by the participant
  • the server can create a log file in which the seiver stores a signal that identifies and tracks actions of the toy 502 or the personal computer 528
  • the log file, or a database can be generated by a CGI Sc ⁇ pt or any other suitable technique, including any of the techniques desc ⁇ bed in Graham, HTML Sourcebook, Wilev Computer Publishing ( 1997) the teachings of which are herein inco ⁇ orated by reference
  • Such data can be used, for example, to alter the play pattern of a toy 502 based on information received and stored by the server process
  • FIG 11 shows an icon 910 according to the principles of the invention
  • the icon 910 has a connection 912 to an external network access device such as a personal computer, TV set top box, Web phone, personal digital assistant, or other device including software and hardware for accessing and navigating the Web or some other network or internetwork
  • the connection 912 may use any known parallel or serial bus standard including parallel or senal ports, IEEE- 1394 (also known as "Fire Wire"), Universal Senal Bus (“USB”), or other standardized or propnetarv busses
  • the connection 912 mav also be formed from a wireless connection such as an infrared or radio frequencv link In one emoodiment. the connection 912 uses USB
  • a switch 915 such as a momentary switch activated by depressing the upper surface of the body 914
  • the body 914 has an upper surface 916 attached by a hmge 918 to a lower surface 920
  • a spring inside the body 914 supports the upper surface 916 above the momentary switch, such that the switch is only depressed when pressure is applied to the upper surface 916
  • a button, switch, touch pad, or any other touch-activated mechanism may be mounted on the upper surface 916
  • the term "switch” is intended to refer to any one-touch mechanism including a button, switch, touch sensitive surface, proximity sensor, or other sensor configured to permit activation with a simple human gesture
  • an activation signal and an icon identification number are transmitted via the connection 912 to the Web access device
  • the icon 910 may also include an additional port 922 configured so that multiple icons can be daisy chained together to share the connection 912
  • the icon 910 may include a
  • Another embodiment includes two or more switches, with each switch configured to provide a different activation signal In one embodiment, this permits numerous users to maintain unique identities when accessing a target Web address with the icon Alternatively, the icon may be completely generic and user configurable This latter embodiment may operate as a physical realization of one or more bookmarks associated with a browser.
  • Figure 12 shows a personal computer connected to an icon 910
  • the icon 910 is configured as a fuel pump, with a switch embedded in a top thereof
  • a personal computer 1010 receives activation information from the icon 910 when the switch is depressed
  • the system may also include a toy 1020 in wireless communication with the icon 910 (which includes a wireless transceiver), such that the toy 1020 may send data to, and receive data from, a Web server that is in communication with the personal computer 1010
  • the personal computer Upon receiving activation information from the icon 910, the personal computer executes an activation program
  • the activation program receives the icon identification num_. r from the icon 910
  • the program determines whether a Web connection is present and a browser is executing on the computer 1010 If no browser is executing, then the program launches a browser (or, directs an operating system to launch the browser) residing on the Web access device and directs the browser to access the Web if re ⁇ uired
  • the icon 910 operates as a Web browser launch button, external to the web access device, that directs a user's first visitation to a predetermined Web site
  • the activation program directs the browser to access a Web site associated with the icon 910
  • the activation program further initiates a login at the Web site by providing the Web site with the icon's identification number, along with a login name and password Communications with the Web site may be performed through a secure connection For added security, the user may be prompted for the password with each new session
  • the icon 910 may include a keypad for ente ⁇ ng a password directly, or a user may enter a password through the browser on the Web access device
  • the activation program may terminate, and a user may interact with the Web site using the browser If the personal computer 1010 or other Web access device includes soft power-up and power-down features, the activation signal from the icon may also include a power-up signal to turn on the Web access device where required
  • the icon 910 may include one or more LED's or other illumination devices 1302 that light to confirm activation of the icon 910, or that lights to confirm a connection to the Web site
  • the icon 910 may also include sound reproduction or synthesis circuitry to generate one or more sounds upon occurrence of events, and the icon 910 mav include a memory into which new sounds mav be downloaded under direction of an icon user, or under direction of a server connected in a communicating relationship with the icon 910
  • the icon 910 may include a toy docking port 1304 that supplies power or data to a toy
  • the icon 910 may include a port 1306 for a wired connection to a toy
  • the icon 910 may include a radio frequency transceiver 1308, an infrared transceiver 1310, or anv other wireless transceiver
  • the icon 910 may include other features
  • the icon 910 may include an alpha-numeric display, or a small screen display such as an LED or LCD screen
  • the icon 910 may include a speaker for generating audio signals, and may include a microphone for receiving audio signals
  • the icon 910 may include a wireless transceiver and a power source for full wireless operation
  • the icon 910 may include interfaces for RAM, ROM, and Flash memory such as memory sticks and smart cards, or other programming or memory devices which may be plugged into the icon 910 to expand functionality of the icon 910 or provide audio, visual, or other sensory media, such as vibrating and flashing, to be used with the icon 910
  • the icon 910 may include, for example, sensors for biomet ⁇ c or bioinformatic detection of a user, through a voice print, finger print, retinal scan, or other inputs, any of which mav function to identify a user that activates the icon 910 User identification may be used to customize Web access from the icon 910, or to provide security for access to
  • Figure 14 shows a Web server for use with the icon 910
  • an icon 1450 may direct the Web access device 1460 to access the Web server 1470 through the Internet 1480, as desc ⁇ bed above
  • the server 1470 may receive the icon identification number and any login information and retrieves a user profile from an icon database 1490
  • the user profile may include user-provided information such as a name, address, personal preferences, interests, etc
  • the user profile may also include information that is not provided directly by the user
  • the user profile may include a record of when and where the icon 1450 was distributed to the user, or information available in the user's cookie file or otherwise available from the Web access device.
  • the Web server 1470 uses the user profile in the icon database 1490 to generate a customized Web page for the icon-activated access.
  • the Web page may include a salutation personalized to the icon's user, and may include content, hyperlinks, and promotions directed to the user.
  • There may also be, either stored locally with the activation program or retrieved remotely from the Web server 1470, a greeting sound that is presented when the session is established.
  • This may be an audio file, such as Real Audio (*.ram), wave (*.wav), or MPEG Audio Layer 3 (*.mp3), that includes a spoken salutation, such as "One touch to . . .” or an introductory chime. It may also include an introductory musical track, as might be stored in a Musical Instrument Digital Interface file (*.mid).
  • these sounds may also be downloaded to the icon for replay upon the occu ⁇ ence of predetermined events.
  • a personalized Web retail environment may be designed for the user.
  • This may include loyalty marketing or frequency marketing programs such as incentive programs that accumulate points as purchases are made.
  • the user's (or icon's) points may be displayed within the Web page, along with an indication of how the user's points may be used (e.g., "You have 11,341 points! You may use 5,000 of these points for a 5% discount on any purchase, or you may use 7,000 of these points for a free . . . ").
  • the Web page may also include promotions tailored to the user profile. This may be, for example, an award for being a regular visitor to the site, or it may be a discount at an affiliated site. Where the Web server is operated by a conventional retail outlet, promotions may also be directed to store visits.
  • the personalized Web site may also be configured to provide hyperlinks to other, third- party Web sites with suitable content.
  • the user profile may include content information concerning other Web sites visited and user interests. This content information can be used to recommend specific products for a user, either for sale on the Web page or through a hyperlink to an affiliated third-party Web site. If a sale is made to the user at the third-party site, this sale is preferably logged at the referring Web site, and a percentage of the sale allocated to the referring Web site.
  • the Web site may adopt a more adaptive role in customer relationships.
  • the Web page may present alternative content in response to declining visits from a customer.
  • Web site may provide several incremental levels of service based upon purchase volume. For example, a first level of service might include a bonus point plan, a second level of service might include penodic e-mails to a customer providing product information and comparisons, and a third level of service might include price matching for competing products or identical products from other sources Additional services may be distributed among the vanous service levels, such as a free gift shopping registry or penodic coupons
  • the icon user's shopping habits may also be recorded in the user profile This will permit the Web server to tailor each icon's Web page to the icon user's interests and habits
  • the icon 1450 may be configured to produce different results to a sequence of activations For example, a first activation of the icon 1450 may direct a Web access device to a first Web address A second activation may direct the Web access device to a different Web address, or to a different page withm a Web site. Additional responses may be provided for a third activation, a fourth activation, and so on The different accesses may be controlled by a program operating on the icon 1450.
  • the responses may be selected by an icon owner/user, or may be selected by an algorithm on a server
  • the server selection algorithm may employ user information stored a user profile to select sites which may be of interest to the user
  • the number of activations may be monitored by a counter maintained on the icon 1450 or at the server 1470, or may be monitored by a counter within an icon session tracked by the server 1470
  • the counter may be reset each time a new connection is established, or the state of the counter may be preserved from connection to connection and from session to session
  • the user may indicate the second activation by providing two activations in rapid succession, and so on
  • the amount of time between activations that is mte ⁇ reted as 'rapid succession' may be controlled by the user, or by the server 1470, or may be pre-programmed into the icon 1450
  • the icon 1450 may include a memory for storing Web-related information such as one or more digital signatures, one or more cookies specific to the icon 1450, and so forth
  • the icon 1450 may be configured to perform a specific transaction
  • the icon 1450 may be dedicated to executing financial transactions
  • the user may simply activate the icon 1450
  • the icon 1450 may then proceed, either through direct interaction with the Web page, or through a separate session created to authorized the transaction, exchange information with the Web page to complete the transaction.
  • This communication may be through a predetermined protocol, in which the icon 1450 provides required information to the server hosting the Web page. Some or all of the information may be exchanged through a secure connection.
  • the predetermined protocol may co ⁇ espond to manual information entry through a Web access device according to known techniques, or may be a separate protocol established specifically for transactions using an icon 1450.
  • the transaction may be authorized by a credit card company, by a bank, or by some other financial institution trusted by the creator of the Web page to provide payment. Delivery information may be provided directly from the financial institution over a separate, secure link, or may be provided directly from the icon 1450.
  • the icon 1450 may include systems for demonstrating authenticity, and may be used for authentication of a user.
  • a private key/public key algorithm may operate on the icon 1450.
  • a message may be forwarded from the server 1470 to the icon 1450.
  • the icon 1450 may then perform a forward encryption function on the message using a private key, and the encrypted message may be transmitted to the server 1470.
  • the server 1470 may then decrypt the message with a public key and compare the decrypted message to the original message to determine whether they are the same (i.e., that the icon is authentic). It will be appreciated by those skilled in the art that numerous variations and modifications to this basic authentication algorithm are known and may be used for authentication. Any of these algorithms may be suitable to the applications described herein.
  • the user may be presented with a verification option at some point during the transaction. For example, when authorization for the transaction has been completed, the user may be presented with a message on the Web access device stating, "Please activate your icon to confirm your purchase.”
  • the icon 1450 may include activation mechanisms for a number of different transaction types.
  • the icon 1450 may include several buttons, a first button for a MasterCard purchase, the second button for an American Express purchase, a third button for a debit card or ATM purchase, a fourth button for an electronic check, and so on.
  • a different icon may be provided for each financial transaction, and the icons may be chained together using, for example, a Universal Serial Bus connection.
  • FIG. 15 is a block diagram of a server tor use with a tov according to the pnnciples of the invention
  • the server 1510 may include a play pattern engine 1520 that generates a play pattern in response to a request from a toy 1530
  • a toy compiler 1540 receives play patterns from the play pattern engine 1520 and generates code for execution by the toy 1530
  • the play pattern engine 1520 may communicate with a database that includes tables such as a user profile table 1552, a user history table 1554, and a play pattern table 1556
  • the user profile table 1552 may include, for example, toy identifiers, demographic information such as age, geographic location, and the like, indicated preferences, toy capabilities, toy accessories and so forth
  • the user history table 1554 may include the toy identifier, a history of site visits, and user data collected from the toy, such as sensor data, log data, play habits, and so forth
  • the play patterns 1556 may include content for use by toys, including sound samples, play pattern state machines, and so forth
  • the server 1510 may access the database 1550 to retrieve any information corresponding to the toy 1530 or a user of the toy 1530
  • the play pattern engine 1520 may process the retrieved data to generate a suitable play pattern that may be returned to the toy
  • the play pattern engine 1520 may provide default content for a type of toy, if the type of the toy 1530 is known, or the play pattern engine 1520 may generate customized content according to information from the database 1550 about the toy type
  • the play pattern engine 1520 may customize content according to a specific play history when, for example, a toy scenario spans multiple downloads
  • the play pattern engine 1520 may customize content according to play habits and other usage information stored in the database 1550. or inferences that might be drawn from the information stored in the database 1550 about the user or the user's preferences
  • the play pattem engine 1520 may customize play patterns according to specific user indications of preferences, either stored in the database 1550 or provided by the user when the content is requested
  • the toy platform of Fig 15 may be used for feedback toy customization
  • a positive feedback loop may be created through generation of new play patterns and collection of usage data for each new play pattern
  • a personality of the toy 1530 may be developed over time
  • Content may be provided to the toy 1530, content usage from the toy 1530 may be reported back to the database 1550, and new content may be developed by the play pattern engine 1520 in response to the new user data
  • the toy 1530 may be customized to a particular user through this feedback mechanism, and may develop into a customized toy for the user.
  • the customized toy may accumulate factual data, such as a name of a user and names for the user's family members, pets, and so forth.
  • the toy may accumulate data about a user's hobbies, activities, and inferences.
  • the toy may employ this accumulated data in new play patterns.
  • the toy may also adapt to a user's personality and moods so that the play pattern engine 1520 may continue to generate play patterns of interest to the user.
  • a toy according to the invention may be linked to an online representation of the toy 1530.
  • the toy 1530 may be represented by an icon or other illustration that is depicted when a user visits, for example, a chat room or message board with the toy 1530.
  • other toys may be recognized by their accompanying icons.
  • the online representation may also engage in simulated activities outside the scope of a user's activities with the toy, and relate these activities to a toy user. For example, when the toy 1530 is activated, it may say, "Let me tell you about my day. I went on a picnic with . . .”
  • the toys simulated activities may be included in the toy's memory and projected through speech and other outputs, and the play patterns performed with a toy user may be reflected back into the online representation of the toy.
  • a visitor to a Web site presented by the server may engage in online play with a customized character.
  • the character may evolve through online play with the user as the database 1550 and the play pattern engine 1520 acquire information about the user, and the customized character may develop a personality adapted to the user.
  • the customized character may then explicitly request that it be realized in a toy, such as the toy 1530, and the customized character may, upon a user request, be transfe ⁇ ed to a physical embodiment in the toy 1530.
  • the user may at any time request that the customized character by transferred to a toy such as the toy 1530.
  • This transfer may be to a toy 1530 already owned by the user, or to a 'blank' toy which the user may purchase, or a toy including the customized character may be ordered as a complete retail unit through the Web site.
  • a physical realization may be created of a character developed through online play.
  • a method of doing business upon the toy platform disclosed herein may include developing an online relationship with a character and realizing the character in a physical toy.
  • FIG. 16 is a block diagram of a system according to the principles of the invention
  • the system 1600 includes a toy 1610 and a toy engine 1620
  • the toy 1610 may be any toy discussed above, and the toy engine 1620 may be any server, database, and other software discussed above
  • the system 1600 includes a feedback relationship between the toy 1610 and the toy engine 1620
  • the toy 1610 collects data and transmits the data to the toy engine 1620, as shown by a first arrow 1630
  • the toy engine 1620 then generates control data for the toy 1610, and transmits the control data to the toy 1610 as shown by a second arrow 1640
  • User information may be gathered in a user information database 1650, and other content may be stored in a content database 1650 to supplement the development of play patterns for the tov 1610
  • the tov 1610 may change and adapt play patterns over time in accordance with user information gathered by the toy engine 1620
  • a feedback system is provided for continuous
  • Data transmitted to the toy engine 1620 may be any data gathered by the toy 1610, or other information gathered about a user of the toy through interaction with a Web site This may include information explicitly provided by a user, such as age, name, birthday, and so forth, in response to quenes from the toy engine 1620
  • Data may also include information gathered using sensors of the toy, which may be any of the sensors discussed above
  • Data may include information gathered du ⁇ ng play with the toy
  • the toy 1610 may record transitions between states and transmit this information to the toy engine 1620
  • Data mav also include other explicit inputs such as pushing a button on the toy and so forth, using any of the input devices or modes desc ⁇ bed above Examples of inputs include motion (e g , through an mertial sensor), trigger activation (e g , through squeezing the toy 1610), voice recognition, touch recognition, temperature, sound activation, impact switches, and attitude
  • the toy engine 1620 may inte ⁇ ret the data received from the toy 1610
  • Inte ⁇ retation may include segmentation and analysis of a user of the toy 1610 into demographic and psychographic groups
  • Inte ⁇ retation may include further analysis of a user of the toy to identify, for example, potential problems such as child abuse, learning difficulties, social development difficulties, and so forth, or potential strengths such as high math aptitude, good reading skills, and so forth.
  • Inte ⁇ retive results may be used to generate parental alerts through, for example, electronic mail, and may be used to adapt play patterns of the toy.
  • Inte ⁇ retation may include generation of profile data for a user of the toy 1610, which may be storage of information gathered from the toy 1610, or storage of inferences from play pattern inputs and explicit user inputs.
  • Profile data may include preferences for music, education, games, stories, news, sports, and so forth, as well of degrees of like/dislike for each preference area.
  • Profile data may include inferences based upon toy usage and other data, such as learning style, inte ⁇ ersonal style, developmental profile.
  • Profile data may include demographic data such as age, name, zip code, nickname, grade in school, and so forth.
  • Profile data may include expressed preferences such as favorite colors, books, animals, music, games, and so forth.
  • Profile data may include parental content restrictions provided by a parent with respect to various types of content or access restrictions.
  • Profile data may include daily schedule items such as wakeup, mealtimes, bedtime, school and class times, activities, television programs, and so forth.
  • Profile data may include important dates, such as birthdays, anniversaries, holidays, and so forth.
  • the toy 1610 may be used as a profile generator that generates profile data for a user.
  • the toy 1610 may additionally serve as a receptacle of customized output generated by the toy engine 1620 using the profile data.
  • the toy engine 1620 may generate control data for the toy 1610.
  • the control data may include new play patterns, realized as state machines, structured code, or any other executable code that may be executed by the toy 1610.
  • the control data may also include media for use by the toy, which may be data, sounds, control sequences for one or more toy output mechanisms, and so forth.
  • the control data may implement a personality of the toy 1610, a mood of the toy 1610, or play patterns for execution by the toy 1610, such play patterns including any of the play patterns and content discussed above for delivery on a toy platform.
  • the control data may be transmitted to the toy 1610, and executed by the toy 1610 to realize new play patterns and content. The above steps may be repeated, as new data is gathered by the toy 1610 while executing new content and play patterns. The new data may be returned to the toy engine 1620, which may then generate additional content.
  • Each entity may be provided with tools for accessing the toy engine 1620 to control content and provide data Further, each entity may communicate with the toy engine 1620 using any of the network or communication systems desc ⁇ bed above
  • the manufacturer 1670 such as a manufacturer of the toy 1610, may access the site before the toy 1610 is sold to register a device identification number for the toy 1610 In this manner, each toy to be used with the system may be uniquely recognized
  • the content provider 1670 may wish to access the toy engine 1620
  • the content may be a data source, such as a news feed, or the content provider 1670 may be a Brand owner who provides and manages content for the toy 1610
  • the content provider 1670 may be provided with an interface for specifying any content or delivery restrictions on the type of content delivered to a toy 1610 that is sold under a particular brand For example, if the toy 1610 is associated with Brand X, then the tov 1610 may be prohibited from receiving content that includes certain words, or the toy 1610 may be required to receive content that includes one joke each day
  • the content provider 1670 may also provide original content and may dictate certain content, such as scheduling specific play patterns, scheduling notifications of events, providmg advertisements, and so forth
  • the content provider 1670 may also wish to create content subsc ⁇ ption services, adjust prices for subscnption services, and review financial and usage reports for toys
  • the admistrator 1680 mav be provided with administrative tools for accessing the toy engine 1620 This may include authorization, password protection account management, registration of content providers and developers, review of content in the content database 1660, review of data m the user data database 1650, notification to other entities of content changes, generation of toy usage reports, generation of content usage reports, generation of financial reports, modification of access, billing, payment, and other terms of usage of the toy engine 1620, system administration, and so forth
  • the developer 1682 may be provided with an interface and tools for developing content for the toy 1610 This may include creation of a new device definition for the toy 1610, such as when a toy is newly released and first becomes available This may include specification of capabilities of the toy 1610, including definitions of input and output transducers, memory, processing power, and so forth Tools may also be provided to edit play patterns by, for example, defining an effect (e g , smile, laugh, cry, etc ) and defining a plurality of explicit controls for this effect including, for example, instructions to motors, definition of audio output, and so forth. Tools may also be provided for assembling effects into play patterns, including flow control or state machine definitions for execution of play patterns by the toy 1610. The developer 1682 may also edit existing play patterns, effects, and so forth.
  • an effect e g , smile, laugh, cry, etc
  • Tools may also be provided for assembling effects into play patterns, including flow control or state machine definitions for execution of play patterns by the toy 1610.
  • the developer 1682 may use the interface and tools to control other parameters associated with play patterns.
  • the developer 1682 may, for example, specify or modify inferences related to usage. These may be input inferences. For example, when a song play pattern is repeated by a user, an inference may be drawn about the user's preference for songs. Particular types of songs may suggest further inferences, all of which may be specified by the developer 1682. Conversely, inferences may be output inferences. Inferences may be included in content about the result of a play pattern or other content. For example, the developer 1682 may specify that a certain song is likely to make a child happy. Flow control for play patterns may rely on these inferences to select different play patterns at different times.
  • the toy engine 1620 may, for example, use input and output inferences, alone or in conjunction with data from the user data database 1650, to generate content and/or play patterns for the toy 1610.
  • the developer 1682 may also use the tools to specify personalization parameters.
  • play patterns may include a user's name, or other data from the user data database 1650.
  • These personalization parameters may be defined and included in play pattern descriptions as variables specified by the toy engine 1620 when content and play patterns are provided to the toy 1610.
  • Tools for the developer 1682 may include a graphical user interface for developing toy content.
  • the graphical user interface may include, for example, visual flow charts for designing play patterns, effects description tools, and so forth. Play patterns may be stored during development, either within a database connected to the toy engine 1620, or locally in storage provided by the developer 1682.
  • Tools for the developer 1682 may also include tools for monitoring usage of various play patterns, which may be of considerable value to a developer in improving future play patterns.

Abstract

According to the principles of the invention, there is provided a remotely programmable toy, a toy interface, and a remote toy server. The toy may include a variety of inputs such as motion sensors, infrared sensors, and touch sensors, as well as a variety of outputs including servos and the like for mechanization, and a speaker for sound. There is also provided a toy interface which connects on one hand to the toy, and on the other hand either to an internetwork such as the Internet. There is also provided a remote toy server. There is also provided a one-touch peripheral for providing predetermined network functionality to an attached network device. The toy may be used to gather user profile information based upon explicit inputs, or may gather profile information using inferences drawn from actual toy usage. Profile information my then be used to select or synthesize play patterns and other content for the toy.

Description

NETWORKED TOYS
Related Applications
This application claims the benefit of the following U S Provisional Patent Applications, each of which is incorporated herein by reference
App No 60/149,743, filed August 19, 1999, App No 60/161,279, filed October 25, 1999, App No 60/170,039, filed December 10, 1999, App No 60/189,158, filed March 14, 2000, and App No 60/199,332, filed Apπl 24, 2000
Background of The Invention
There are toys known in the art that use data connections and microprocessors to provide varying plav patterns An example of such a toy may be found in U S Patent No 5,697,829, assigned to Microsoft Corporation The exemplary toy disclosed therein is a powered vehicle that can be programmed from a computer to perform certain maneuvers The toy connects to a conventional personal computer through a standard RS-232 connector, and application software is loaded onto the computer so that a user may prepare a control program for downloaded and execution by the toy vehicle Reconfiguration of the toy is limited by the programming skills of the user and by the software provided with the toy In view of the advent of the Internet, and the continually improving performance of processing devices, there remains substantial room for advancement in the toys
There remains a need for toys that employ advancing hardware and internetworking to provide interactivity between multiple toys, networked distπbution of play patterns and other content, feedback and evolution of play patterns, and/or a platform for developing play patterns
Summary of the Invention
According to the principles of the invention, there is provided a remotely programmable toy, a toy interface, and a remote toy server The toy may include a variety of inputs such as motion sensors, infrared sensors, and touch sensors, as well as a variety of outputs including servos and the like for mechanization, a speaker for sound, and video display devιce(s)
There is also provided a toy interface which connects on one hand to the toy, and on the other hand either to an internetwork such as the Internet or telephone system The interface- internetwork connection may be a direct connection through a telecommunications or data port, and may include pre-configuration of the interface to establish a connection to the remote toy server The interface-network connection may instead be a connection to a personal computer, which may simply provide a platform for establishing the connection or provide a user interface for an internetwork session
There is also provided a toy data server In a preferred embodiment, the server is a World Wide Web server, which may include chat rooms, downloadable toy programs, toy information, and a database of user information and history There is also provided a one-touch peripheral for providing predetermined network functionality to an attached network device
The tov mav be used to gather user profile information based upon explicit inputs, or may gather profile mtormation using inferences drawn from actual toy usage Profile information may then be used to select or synthesize play patterns and other content tor the toy
Bπef Descπption of Drawings
The foregoing and other objects and advantages of the invention will be appreciated more fully from the following further description thereof, with reference to the accompanying drawings, wherein
Fig 1 depicts a tov according to the principles of the invention in block diagram form, Fig 2 depicts an embodiment of a tov according to the principles of the invention. Fig 3 depicts an embodiment of a toy according to the principles of the invention, Fig 4 shows a system architecture for use with a model toy according to the principles of the invention.
Fig 5 is an overall system configuration for a networked toy of the present disclosure, Fig 6 is a functional block diagram depicting certain optional capabilities of a toy according to the principles of the invention, Fig 7 is a functional block diagram reflecting certain optional functional modules for a control device according to the principles of the invention,
Fig 8 depicts a local area network of toys according to the present invention, Fig 9 depicts another configuration for the system of Fig 5,
Fig 10 is a functional block diagram that depicts data flows in an embodiment of the invention,
9 Fig. 1 1 shows an icon according to the principles of the invention, Fig. 12 shows a personal computer connected to an icon, Fig. 13 shows several alternative embodiments of an icon; Fig. 14 shows a Web server for use with the icon; Fig. 15 is a block diagram of a server for use with a toy according to the principles of the invention; and
Fig. 16 is a block diagram of a system according to the pπnciples of the invention.
Detailed Description of Certain Embodiments To provide an overall understanding of the invention, certain illustrative embodiments will now be descπbed, including a remotely programmable toy with user profile gathering and feedback into play patterns However, it will be understood by those of ordinary skill in the art that the methods and systems descπbed herein can be suitably adapted to other applications where a programmable toy includes a data port for accessing a network computer. The pπnciples of the invention may be particularly applicable to those environments where programming content for the toy may change over time, or change in response to toy inputs. In the drawings, like numerals are used to indicate like elements throughout.
Fig. 1 depicts a toy according to the pπnciples of the invention in block diagram form. A programmable toy 10 is provided The toy 10 is linked by a suitable external data link 20 to a toy/server interface 30 The interface 30 may provide bi-directional data communications between the programmable toy 10 and a remotely located server 50 through an external data link 40. The interface 30 couples the toy 10 with the server 50, and the server 50 may provide programming and/or operating data to the toy for reprogramming of, or other use with, the toy 10.
The toy 10 may be any programmable toy including, but not limited to, a toy figure or doll, a toy vehicle, a toy play set, etc The interface 30 could be a "black box", that is a device with two ports that performs any functions required to connect the toy to the server 50, a conventional personal computer (PC), or a combination of a black box and a conventional personal computer. The data link 20 between the toy 10 and the interface 30 might be a wired connection such as a standard RS-232 serial port connection, which physically plugs into the programmable toy 10 and the interface 30, or a wireless link between the programmable toy 10 and the interface 30, such as an infrared or radio frequency ("RF") link using, for example, BlueTooth, HomeRF. or any other wireless protocol and/or standard. The data link 40 between the interface 30 and the server 50 may be any bi-directional data connection, including a telephone line, cell phone channel, a digital subscriber line ("DSL"), or a two-way cable or satellite link of any type currently known and used or which may be developed for data transfer. Such a link(s) can include the Internet or World Wide Web, if desired.
The server 50 may be a computer such as a Web server or an n-tier server connected to the data link 40 through a network such as the Internet. An exemplary server 50 includes a processor, a memory (e.g. RAM), a bus which couples the processor and the memory, a mass storage device (e.g. a magnetic or optical disk) coupled to the processor and the memory through an I/O controller, and a network interface coupled to the processor and the memory. Servers may be clustered together to handle more client traffic, and may include separate servers for different functions such as a database server, an application server, and a Web presentation server. Such servers may further include one or more mass storage devices such as a disk farm or a redundant array of independent disk ("RAID") system for additional storage and data integrity. Read-only devices, such as compact disk drives and digital versatile disk drives, may also be connected to the servers. Suitable servers and mass storage devices are manufactured by, for example, Compaq, IBM, and Sun Microsystems. As used herein, the term "server" is intended to refer to any of the above-described servers.
The server 50 responds to queries from the programmable toy 10 and interface 30 to download data through the communication links 40, 20 and interface 30 to the programmable toy 10. The data provided may be data which does not change the application software of the programmable toy 10. such as media files, or may include new executable code to reconfigure the microprocessor in the toy 10 for different functionality. The server 50 may be a World Wide Web server that provides downloadable sounds, play scenarios, and the like for the toy 10, as well as a graphical user interface for a user having a personal computer. In this embodiment, the graphical user interface may include descriptions of downloadable programs, chat rooms where a number of users may meet, and other content related to the toy 10. The server 50 may additionally include any other interface compatible with TCP IP or TCP/IP-like communications, including telnet, e-mail, and ftp, or other interfaces suitable for transmitting data over a network or internetwork. The server 50 may also include a database for storing information relating to each user, such that downloaded content may be tailored to a user based on, for example, age, geographic region, interests, download history, etc. The programmable toy 10 may be a toy figure containing a processor 12, a memory 14, and sound-generating circuit 18. Optionally, a video-generating circuit with appropriate display may be included but is not required. The processor 12 may be, for example, a microprocessor, microcontroller, programmable logic device, programmable gate array, application specific integrated circuit, programmable digital signal processing device, or some combination of these. The sound-generating circuit 18 may be any of the processors noted above with suitable programming, or may include a dedicated voice synthesizer, music synthesizer, sample and playback device, or any other device used to generate sound. The data provided by the server 50 may be new sound data to replace existing sound data stored in the memory 14 in the toy 10 so that the sounds produced by the toy 10 are changed from the sounds it previously would make. For example, if the toy 10 were programmed to recite a story or poem in response to a user activation of the toy 10, the new data provided by the server 50 might be a new story or poem. Alternatively or in addition, the microprocessor in the toy 10 can be reprogrammed to operate in a different way. For example, where the toy 10 originally provided a certain response (e.g., recite a story or poem) when a switch (not depicted) on the toy 10 was user activated, the data transmitted by the server 50 might reconfigure the operating program of the toy 10 so that the toy engages in a question and answer mode with the user in response to the switch activation which had previously elicited the story or a poem without further interaction with the user. The memory 14 may be any non-volatile or volatile memory, including random access memory, dynamic random access memory, read-only memory, programmable read-only memory, erasable programmable read-only memory, and so forth.
The toy may include numerous inputs and outputs. Inputs may include a microphone, an external motion sensor, an inertial motion sensor, various touch sensors, and data inputs, including touch pads, buttons, switches, dials, levers, sliders, keypads, pressure transducers, pressures switches, and any other input that might be used to detect user input or environmental conditions of the toy 10. Outputs may include a speaker, lights or light emitting diodes, and mechanization realized through motors, servos, and the like.
Figure 2 depicts an embodiment of a toy according to the principles of the invention. A programmable toy figure or doll 110 may include a processor 112, a memory 114, a sound generating circuit 118 (all indicated in phantom block diagram form) and an RS-232 female plug 116 for connecting via a standard RS-232 cable 120 with an interface 130. The interface 130 may include a processor 132, a memory 33, a telephone handset receptacle 134 and/or a conventional female modular telephone jack connector 136 for connecting directly to a telephone line 140 The interface 130 may optionally be physically located on the toy figure 110 An activation button 138, when depressed, may cause the processor 132 to use communication circuitry 139 including, for example, a modem in the interface 130 to establish a telecommunications and or data network connection 140, to the server 150 Optionally, this connection may be established on a request from the server 150 In one embodiment, the connection 140 may be a telecommunications connection using, for example, toll-free access to a dial- in server connected to the server 150 The connection 140 may optionally be a data network connection using, for example, a DSL or cable modem connection to a network pomt-of- presence The connection 140 may be some combination of these, such as telecommunications access to a local network service provider, which provides access to the network and a data network connection to the Internet
The server 150 mav veπfv the interface 130 and may transmit a predetermined package of data through the links 140 and 120 and interface 130 to the programmable toy 110 The interface 130 may further be pre-configured to manipulate data received from the server 150 before it is passed on to the toy 1 10 The server 150 may also receive information from the toy 110 through the interface 130 This information may include registration information for a particular user, information identifying the toy 1 10 (so that appropπate programs and data may be downloaded), and information collected by the toy 110 concerning for example, play patterns, actual toy usage, and any other sensory data gathered by the toy 110
The interface 130 in Fig 2 may be replaced with a computer (not shown) having a phone modem to couple the toy 1 10 with the server 150 The RS-232 link 120 can extend directly from the computer, which may include appropriate software to control communication and possible data processing between the toy 110 and the server 150 The computer may also provide a graphical user interface for controlling communications with the server 150 Through such an interface, the user may, for example, navigate through a Web site hosted by the server 150, select programs or data for download, enter user information and preferences, or enter a chat room or bulletin board for toy owners
Fig 3 depicts an embodiment of a toy according to the pπnciples of the invention A programmable toy figure or doll 210 is provided with an internal microprocessor 212 and a programmable memory 214 coupled with infrared receiver or transceiver 216 in its seat which can conduct wireless communication with an infrared transceiver 231 in an infrared communication unit 232 The infrared communication unit 232 may include a microprocessor 234 with a programmable memory 235 that is coupled by a data link 236 with a computer 238. The infrared communication unit 232, link 236 and computer 238 collectively constitute an interface 230 between the toy 210 and a remote server 250. Communication between the interface 230 and the server 250 is via any bi-directional data connection indicated in phantom in 242, which may include a telephone line, cell phone channel, digital subscriber line ("DSL"), cable modem, wireless data connection, or two-way cable or satellite link of any type currently known and used or which may be developed for data transfer including, for example, the Public Switched Telephone Network, the Internet, and the World Wide Web.
The infrared communication unit 232 and computer 238 can be configured in different operating relations. In one configuration, the infrared communication unit 232 can be preprogrammed to provide essentially instant automatic access to the server 250, when activated, by interrupting the computer's functions and accessing the computer's modem to dial up the server 250. Alternatively, the infrared communication unit 232 can be used as a peripheral of the computer 238, with control of the communications directed from the computer 238 and its keyboard and/or mouse. This may provide the possibility of user input to the server 250 using the computer 238. In this mode, the computer 238 may dial up the server 250, may recognize the interface 230 as a peripheral, and may set up and control the connection between the toy 210, the interface 230, and the server 250.
Figure 4 shows a system architecture for use with a toy according to the principles of the invention. The system architecture of Fig. 4 may be used, for example, with any of the toys described above and below. It will be appreciated that each of the components of the system architecture described below may be implemented in hardware, firmware, software, or some combination of these.
A toy may connect to a computer 410 through a physical link 412, which may include any of the communications links discussed above. The toy may include a communication link process 414 which provides communications protocols and may monitor integrity of the physical link using, for example cyclic redundancy checks or any other error detection and/or error correction techniques. A toy identifier 416 may be accessible to the communication link process 414 for use in establishing identity of the toy when a connection is set up. The toy identifier 416 may be stored in a non-volatile memory or a dip switch, or may be hard wired in some other permanent fashion. A system service routine process 418 may be included to provide system services, such as system initialization, data authentication, system integrity checks, state sequencing, download/upload management, and computer interaction management A system core process 420 may provide processing for frequently used toy functions, such as play pattern monitoring, data collection, content filtering and selection, and event scheduling Particular services provided by the system core process 420 may include system initialization, data authentication, system mtegnty check, master state sequencer, download/upload manager, input/output and timer control, interpreters, error and interrupt handlers, test mode routines, and memory and slave controller service routines An mput/output process 422 may communicate with the system service routine process 418, and send and receive input/output data to other processes The input output process 422 may connect to, for example, output dπvers 424 that operate devices 426 such as motors, light-emitting diodes, liquid crystal displays, lights, buzzers, and so forth
The interpreter provided with the system core process 420 may be, for example, a toy specific programming language interpreter For example, a toy programming language may be created using Java, with objects and methods specific to programming toys The toy programming language provides high-level abstractions for commonly implemented toy functions The interpreter may interpret the toy programming language to create machine code for a processor withm a toy, and may be adapted to different processor platforms for different toys
A memory controller process 428 may provide access to memory for storage and retπeval of program instructions, system data, state data, game content, media content, and other data or content suitable for storage and retπeval by the toy The memory controller process 428 may include, for example, memory space mapping, data storage, and memory read/wπte control The memory controller process 428 may control access to an address/data control bus 430 for stoπng and retrieving data in a memory 432 such as an electronically erasable programmable read only memory ("EEPROM") The memory 432 may be, for example, a one to sixteen MB EEPROM The bus 430 may also control data storage and retπeval from system components 434, which may include voice and sound synthesis and recording, as well as other toy content permanently or temporaπly stored for use by the toy The toy content may be used to dπve devices 426. such as motors, LED's, IR elements, LCD elements, and the like, that are connected to the output dπvers 424, as well as, for example, a speaker 436 and a microphone 438 connected to the system components 434 A master/slave controller process 440 may control operation of the system components 434 to control the toy in execution of play patterns and other interactive or non-interactive sequences.
It will be appreciated that the processes described above may be abstracted to a discrete set of commands that may operate as a toy operating system. Content for the toy, such as play patterns, speech rendering, and so forth, may then be programmed using a high-level programming language created from the commands of the toy operating system. A compiler may be used in conjunction with the command structure of the operating system to permit programming of the toy in a high-level language, and preparation of machine executable code for transfer to the toy. A programming language for the toy may include abstractions of functions available through the above processes, or through the toy operating system. Using the toy programming language, descriptions may be written for play pattern finite state machines, data collection, event scheduling, artificial intelligence algorithms, sensory input and output, and so forth, with little or no knowledge about the hardware architecture of a particular toy.
Each toy 10, 110, 210, etc. may be battery powered. Further embodiments of the toys 10, 110, 210 are described below.
A toy may be an originally programmable robot. A user may select a figure for the robot, along with features and any pre-programmed functions or play patterns on the website. The toy may be shipped to the user, pre-configured so that it will carry out selected actions and play patterns when it is first activated. Or the selected programs may be loaded into the toy at a retail outlet, or a user may purchase an unprogrammed toy, and the toy may be programmed when a user connects the toy to a server as described above. Further scenarios may be downloaded from the server that are designed for the particular toy and features selected by the user.
In one configuration, user may indicate a type of toy, such as a specific action figure, on a website, and the website will download a scenario for the day that the user then acts out. These scenarios may be tailored to, for example, military, spy, or other action figure play patterns. Using a toy identifier as described above, the website may also automatically detect the toy type when the toy is connected to the website. Scenarios may include the use of any printed materials, which may be downloaded to a users computer for printing on a printer. Files for printing may include secret maps, plans and spy info. The user can use these printouts as accessories to the figures. Further content may include voice commands concerning a mission for the user. The user may receive periodic updates and complications as time progresses. A scenario may progress bv monitoring a user activity and presenting varying challenges to a user to create real-time, strategy play for the user
Using wireless technology, the website and interface may periodically "beep" the user (If the user is withm range of our RF) and type out an emergency rescue situation on the beeper that the user must respond to This may include roleplay by a user, and may involve toy versions of rescue tools, medical tools, police equipment, army equipment, spy equipment, or any other equipment for role playing activity This could be a dedicated tov. such as a fire station where a user gets a call Or this may include a play set where different features are activated peπodically, such as a cry of a civilian needing rescue, fire engine siren and lights, etc Scenarios with secret missions and James Bond type gear may be used A pπnter may be used to make play accessories, e g , "Blueprints of the new X-99 fighter ' which must be "delivered to an agent in Miami ' A.lerts mav be generated only duπng predetermined times, and mav omit times such as when a user should be in school or other inappropriate times tor interruption b\ the toy
The toy may be a doll or other figure that receives programming from the server to host a tea party or other social event A user may indicate to the website one or more programmable toys such as those described above, and/or one or more other non-programmable toys, and the server may generate dialog and so forth for the social event For example, the toy may be programmed to generate dialog such as "Miss Rabbitt is coming to tea today with her cousin Miss Bunny, they are bπnging their fussy friend Mr Aardavark, so everything must be just perfect They would like lemon tea and some strawberry strumpets Will you have that for them todav " Other tovs mav cooperate with one other, such as a talking teapot that mav help a user through all the manners and protocols ot entertaining a tea
Figure imgf000011_0001
Printable content may also be downloaded, such as name cards, a guest list, a menu, and so forth
The toy may receive programming from the server for craft activities In addition to downloaded content, a user may receive an activity kit with needed materials Every day there may be different things that can be made from the mateπals in the activity kit This may include popsicle stick constructions, weaving baskets, making jewelry, decorating objects, etc Crafts may be performed in front of a computer that provides interactive directions, or all the directions and steps could be verbalized by a doll or bear, or perhaps a dedicated character, "Miss Crafty " A pπnter may have a picture of each step Many craft projects may use paper directly from the pπnter, e g , origami with folding lines pπnted on it The toy may receπ e programming from the server for hair, nail, and beauty activities The website may provide downloads of thematic styles of hair, nails and makeup that the user can replicate The toy may include a beauty kit A doll may give suggestions and directions to the user The toy may be a large doll head that the user can put makeup on The toy may speak to the user and guide the user through steps of makeup application and so forth A pπnter may be used to produce images that act as instructions, e g , "Today we are going to put on evening makeup for the Grand Ball you will look glamorous and stπkmg ," or "This afternoon we will make you look relaxed and casual with makeup that looks natural " Each of these makeup scenarios may develop into more lengthy fantasy and roleplay activities, e g , attending a big ball Activities may relate to dress-up, hair play, makeup, perfume, jewelry, fashion trends, and accessoπes
The toy may receive programming from the server for licensed characters such as television, cartoon, movie, or other popular media For example, a toy may receive content relating to TV shows such as Blues Clues, CTW, CatDog, Rugrats, Bear in a B B House, Teletubbies, Arthur, etc The toy may make conversation related to that day's TV show With suitable sensors, the toy may also interact with content from a television program In order to synchronize toy behavior with television programs, the toy may include a real-time clock, or the television program may include embedded timing or control information in audio, video, or some other channel associated with the program The toy speech and ammatronics may be downloaded before the program begins, and may be rendered at suitable times
The toy may receive programming from the server for play patterns relating to baby nurtuπng A toy configured as a doll may be initialized with newborn play patterns such as simple crying, and may mature over time Every few days, for example, the doll may go through a growth stage and behave slightly differently, e g , more mature Play patterns may include vanous stages of feeding, grooming, cuddling, cradling, dressing, rocking, teething, wetting, bathing, bottle feeding, and newborn play
The toy may receive programming from the server for play patterns relating to varying accessoπes One or more sensors on the toy may sense accessoπes placed in physical contact with the toy, or in proximity to the toy The accessoπes sensed m this manner may be indicated to the server, and the server may respond with play pattern content for the sensed accessory For example, a sports figure may have as accessoπes a tennis racquet, a basketball, a baseball bat, a baseball mitt, skates, a lacrosse stick, a football, a football helmet, and so forth When, for example, a tennis racquet is placed in a hand of the sports figure, the tennis racquet may be detected, and detection of the tennis racquet may be transmitted to the server. The server may respond with audio data, such as "Let's play tennis." to be rendered by the sports figure. The server may also respond with motor control data so that an arm of the sports figure simulates, for example, a serving motion.
The toy may receive programming from the server for interaction with other gaming platforms. For example, various content and play patterns may be provided for platforms such as Sony Playstation, Gameboy, Nintendo 64 and so forth. The toy may include an interface for communicating with games for these game platforms, and may play a role in the game through any combination of inputs and outputs, or may respond to game play through audio and other outputs. For example, the toy may respond to an end of a game by rendering audio such as "Congratulations!" or "Sorry, you lost. Maybe you should try again."
The toy may receive programming from the server for play patterns relating to mystery games. The toy may include a central console that is periodically reprogrammed with a variety of clues and details of a crime mystery. Players may leam details of the mystery over time, such as who the characters are, what the possible motive might be. and what possible murder weapons could be. The mystery scenario may change from time to time. A narrating doll toy may be included as an accessory to the central console, or as the sole programmable toy presenting the mystery. Mysteries may be tailored to different age groups.
The toy may receive programming from the server relating to a scavenger hunt. The scavenger hunt may be conducted among a number of different players, or by a single player who interacts with the toy. Scavenger hunt items may include generic items, or items specific to a user's known geographic location, or selected from a list provided by a user or group of users. Items may be submitted as 'found' by, for example, submitting digital photographs of the items taken through a lens included in the toy, or a separate camera, or the game may proceed on an honor system. Winners may be presented on a website hosted by the server.
The toy may receive programming from the server relating to news. The toy may automatically download National Weather Service information, etc., and include relevant comments in its speech. A user may get weather updates while traveling by using, for example, a wireless Internet connection. The toy may continuously check certain stocks for a user, and announce new prices, as well as humorous or analytical commentary. News items may be selected according to user profile information, such as location, age, interests, and the like.
The toy may receive programming from the server relating to educational content. For example, the toy may announce historical events occurring on the present date, e.g., "On this day in 1776, the Declaration of Independence was signed." Foreign languages may be spoken by the toy for educational purposes. The toy may review troublesome subject matter for young users. The toy may receive programming from the server relating to other interests of the user. For example, the toy may get a daily horoscope, recite prayers for day, or provide reminders of scheduled events, times, etc.
The toy may receive programming from the server relating to a toy personality. The toy personality may be selected from existing personality profiles, or may be created from configurable personality profiles. The toy may be programmed to initiate dialog with other programmable toys in its vicinity, which may be detected through wireless links. The toy may talks about a specific object that it recognizes or communicates with. For example, a dog toy may simulate play with a ball, an action figure may simulate play with a gun, or a doll may simulate play with a teddy bear. A toy with an infant personality may, for example, require more nurturing, and may have smaller speech capacity.
The toy may receive programming relating to educational content. For example, the toy may include a Liquid Crystal Display ("LCD") screen. A user may see individual letters or words, and hear a related narrative. In the early stages, the toy may display only a single, huge letter, taking up the entire screen. Several buttons may be provided for interactivity. The toy may show pictures of alphabet characters, objects beginning with selected letters, and words beginning with selected letters. The toy may employ audio rendering of letter sounds, and of words for objects displayed on the screen. The toy may "grow" with a user. The screen may display short animations, and may interactively prompt user input to develop alphabet skills. Other preschool applications may include number recognition. For example, early lessons may involve a child recognizing particular numbers. By pushing different buttons, a child may scroll through the different representations of a number: sound, quantity, number, and name. Other lessons can begin to address math. The lessons about math may all be multiple choice, or may require input of numerical solutions. The toy may involve a character or animations, and entertaining commentary. Educational content may generally include alphabets, languages, math, logic, arts, health, and safety. Content may be provided to the toy on a subscription basis. Content may be purchased in discrete units, such as "Mystery Game #1" or "Adventure Game #14" and so forth. Content may be purchased by category, such as "music" or "spy scenarios" or "sports". Content may also be purchased in time units, such as one month of French lessons, one month of news updates, one year of stock quotes, one day or several hours of music, and so forth. Several tiers of subscription may be provided, such as a first level for basic content, a second level for enhanced content, and so forth up to a final level for all available content.
A number of sensory inputs and outputs may be included in the toy. The toy may include, for example, a hand button, a stomach button (sensing, for example, tickles and hugs), a mouth button (feeding/drinking play), an inertial motion sensor (useful for interactive scenarios, such as toy waiting to say something until it detects motion). Dialog generated by the toy may be responsive to sensor inputs. For example, the toy may say "Please pick me up..." When a motion switch is activated, indicating that a doll has been picked up, the toy may continue to speak: "Thank you mommy, I love when you hold me." The toy may further incorporate: a microphone (may receive responses from a user, or react to music), light sensor (may play peek- a-boo), or IR, RF, or other wireless link (allows toy to communicate with other toys or interface).
The toy may include bioinformatics sensors. For example, the toy may apply speech recognition to identify a speaker, and content delivery may be tailored to that particular speaker. The toy may include retinal scanners so that when a user looks at a particular location in the toy, such as eyes of the toy, the toy may identify the user. Other forms of identification may similarly be included in the toy, and may be used to recognize different individuals and adapt content accordingly. Individualized responses may be provided based upon programming stored in the toy, or based upon access to the server and download of customized content for an identified user of the toy.
The toy may include ammatronics. Animating the eyelids and eyeballs can provide a variety of expressions. Eyebrows may be included to provide even more expression. Moving lips may synchronize with play patterns for the toy that involve speech. Moving arms may allow for dancing and gesturing. Head motion may include nodding and shaking. Two microphones may be included, so that a toy can turn its head toward a sound. The body of the toy may rock back and forth. This may allow dancing and more emphatic gesturing. In an example embodiment, a doll figure according to the principles of the invention includes a hand button, a mouth button, a stomach button, a motion sensor, a microphone, moving eye lids, and one moving arm, and an IR or RF unit to permit two-way communication with other dolls, as well as communication with the interface.
In another example embodiment, a toy includes a teddy bear including one or more eccentric motors that product vibration and/or gyration, a motor that rotates a head of the teddy bear in an elliptical path with reverse polarity able to produce side-to-side nodding, a plurality of buttons on a vest, the buttons activating, for example, personal content, jokes, fads and trends, games, music, and so forth; one or more paw buttons on a paw of the teddy bear, a microphone, a nose button on a nose of the teddy bear to detect nuzzling and hugging, a speaker, and a pager, the pager attached to a belt of the teddy bear, the pager including an LED, a message switch, a computer connection, and a volume control.
The interface may include control mechanisms. For example a user may be provided with an option of rapidly and easily getting a download from the web site at the push of a button on the interface, with no further interaction needed. A user may also be provided with a window of time in which web site interaction may be selected, wherein specific downloads may be chosen from a variety of menus. On the website, there may be scenarios dedicated to specific activities a user is planning, such as a day at the beach or a car trip. Other scenarios and games may be downloaded to the toy automatically by default if the child or guardian does not select anything specific from the web site.
Many scenarios may be downloaded from the website for subsequent use (i.e., after the interface connection is terminated), or may be conducted in communication with the server. For preschool toys, it is anticipated that downloads will be performed by an adult for a preschool user. Play patterns, scenarios, and themes may include: tea time, camp, school yard, gardening, dinnertime, doing one's nails, wedding, Halloween, singing, hide-and-seek, nap time, feeding, drawing, hairplay, day at the beach, birthday, watching television, arts and crafts, at the playground, tickling, graduation, anniversary, piano lesson, peek-a-boo, diaper change, thirsty, story telling, dress up, bedtime, car trip, doing homework, cooking, bathtime, princess role play, Christmas, entertaining guests, ballet, dancing, what-am-I, teething, supermarket, joke telling, make-up, and so forth. The daily download may include musical content, such as a new song everyday The toy itself may include a play button, or other controls such as stop, pause, rewind, fast forward, skip, random, and so forth Music and other audio content may include nursery rhymes (music only), nursery rhymes (words), classical music, popular music, folk songs, children's songs, nature sounds, rain, beach sounds, forest sounds, birds, cπckets. and so forth The toy may include keys such as piano or other instrument keys so that a user may play along The toy may, for example, include only a few keys for pre-school users, but may include a full octave or more for older users An embedded synthesizer may include sound bending, instrument selection, digital sampling, and so forth Tempo may be adjustable, and instruments may be selected by a user, or may be selected by the downloaded program, e g , "today is saxophone day, tomoπow is kazoo day "
Referπng to Fig 5. provided herein is a tov system 501 The system 501 mav include a number oi different elements One such element is an interactive toy 502 Also provided are an interface 504. a control device 520, which may be a web server or similar device, an optional personal computer 528, and one or more databases 524
At one functional level, the toy 502 is connected to the interface 504. which connects to a data connection 508, such as the Internet, which connects to the control device 520, which executes vanous processing functions to control the toy 502 over the Internet It should be understood that more than one toy 502 may connect, via the data connection 508, to the control device 520 It will be appreciated that any number of toys in remote geographic locations can connect to the control device 520 in a client-server configuration, so that the control device 520 may proviαe control to multiple toys in the different locations
Figure 5 illustrates a system 501 wherein a plurality of toys 502 connect through a network 508 to a control device 520 The control device 520 connects to a proprietary database 524 maintained by the control device 520 The elements of the system 501 can include commercially available systems that have been arranged and modified to act as a system according to the invention, which allows a user to use a toy 502 that is controlled by instructions from the control device 520 or from another control device For example, the system 501 of Fig. 5 may employ the Internet to allow a toy user at a remote client with an interface 504 to access a central server The interactive toy 502 may be configured to resemble any of a wide range of possible toys, ranging from a dinosaur (as depicted in Fig 5) to any other shape of toy Examples include a teddy bear, an animal, a bird, a fish, a cat. a dog, a doll, a vehicle, an airplane, a boat, a car, a truck, a game piece, a tram, a play action figure, an icon, a ball, a furniture item, a jewelry item, a badge, an item of play clothing, a tram or any other physical object that is used, such as by children, for the purpose of play The toy may be interactive in the sense of conventional interactive toys, that is, the toy may be provided with a capability to make sounds, to move (whether through robotics, motors, or other movement elements), to emit light, and otherwise to create output that can be sensed by the user In addition, as disclosed herein, a number of interactive features may be provided by the toy 502
Figure 6 is a functional block diagram depicting certain optional capabilities or the toy 502 Referπng to Fig 6, the toy 502 may include a number of elements, including a processor 600 for control of various functions of the toy The processor 600 may be any method or system for processing in response to a signal or data and should be understood to encompass microprocessors, microcontrollers, integrated circuits, computer software, computer hardware, electπcal circuits, application specific integrated circuits, programmable digital signal processors, personal computers, chips, and other devices capable of providing processing functions In an embodiment of the invention, the processor 600 may be a programmable integrated circuit, such as a PIC 16C63 or PIC 16C66 manufactured by Microchip Technology, Inc Although the PIC 16C66 is one microprocessor, any processor capable of controlling the toy 502 may be used Thus, for example, an application specific integrated circuit (ASIC) may be used as the processor 600 Likewise, other commercially available processors may also be used without departing from this disclosure
The processor 600 may control various capabilities of the toy 502, including capabilities of movement, synthesizing speech, making sounds, playing music, playing files, such as wav or midi files, presenting graphical displays, such as on an LCD or similar display screen displaying text content on such a display, or any other function that can be embodied in the toy
Referπng to Fig 6, the processor 600 may operate an operating system 602, or it may directly control one or more modules, which may be embodied m hardware, software, or a combination thereof Thus, a communications module 604, a display module 608, a sound module 610, a movement module 612 and an input module 614 may be optionally provided Each of these modules may be programmed in a manner that would be understood by one of ordinary skill in the relevant art.
The communications module 604 may provide a communications capability of the toy 502 Thus, the communications module 604 may handle communications between the toy 502 and any other device In an embodiment, all communications are handled through the interface 504, but the interface 504 can be included as a module of the toy 502, communications functions can be shared between the toy 502 and the interface 504, or there may be redundant functions between the two Thus, the communications module 604 enables the toy to send and receive data in whatever format is required for the other formats of the toy 502 In embodiments, the communications module or the interface 504 can handle electronic mail messages, files, such as sound, wav. midi, or other sound files, graphics files, word or text files, machine code instructions, or other file formats
The toy 502 may also include an output module 606, which may be capable of generating output in any of a wide vaπety of optional formats For example, the output module 606 could include a sound module that could compπse voice synthesis software, a player for .wav, MP3, midi, or other sound files, a self-executing sound player, a sound card, a CD player, a DVD player, a radio, a cassette player, or any other combination of hardware and/or software for generating sounds in response to control signals that are directed by the operating system 602 to the output module 606. The toy 502 may be equipped with one or more speakers or other sound- generating devices, for playing sounds that are handled by the output module 606 Thus, m embodiments, the toy 502 may be made to interact with a user, such as child, by speaking words that are sent from the control device 520, by playing music or files, such as wav files, or the like The output module 606 can optionally be equipped to produce, for example, output m any other form, including acoustic, electrical, magnetic, infrared, ultraviolet, laser, radio, or other signals Thus, the output module 606, which my be hardware, software, or a combination, may control an audio player, a radio, an infrared transmitter, a laser, an ultraviolet or other light, or any other kind of device that generates an output in any spectrum m response to a control signal. Programming and hardware for such handling are known to those of ordinary skill in the relevant arts Thus, the output module 606 may be combined with the input module 614 (descnbed below) to create a network of toys 502.
The toy 502 may also include an optional movement module 612, which may handle movement of elements of the toy 502. For example, the movement module 612 may control one or more motors (which might be controlled by machine code, e.g., through a pulse-width- modulation (PWM) method), which might drive an axle or other element of the toy for locomotion. The movement module could control robotic elements of the toy as well, to provide for movement of various optional features of the toy 502, such as arms, legs, mouth, cheeks, eyes, eyebrows, ears, nose, wheels, propellers, or the like. Thus, in response to control instructions sent via the data connection 508 and the interface 504 from the control device 520, the toy 502 may move itself or may move parts of itself. In an embodiment, the toy could be equipped with a video camera and could be controlled remotely through the Internet, with the control device 520 providing control instructions based on input from the video signal. The control device 520, in such an embodiment, might include a joystick or the like for generating control signals that would be transmitted to the toy 502.
The toy 502 may be equipped with an optional display module 608. which may be a combination of a physical display device, such as a screen, e.g, a liquid crystal diode display, LED display, CRT, or other display, along with the appropriate hardware and software for controlling the display. The display module 608 may thus allow the toy 502 to display, for example, text, video, graphics, word files, and the like in response to control instructions received through the interface 504. For example, the toy 502 could display on the display device an electronic mail message from a friend, such as the owner of another toy 502.
The toy may further include an input module 614, which may consist of hardware, software, or a combination of the two for accepting various inputs from the environment of the toy. The input module 614 may be distinguished from the interface 504, which may provide input to the toy 502 through the processor 600. The input module 614 may be controlled by the processor 600 and associated with various input devices that are capable of receiving data from the environment of the toy 502. Such input devices may include, by way of example and not limitation, a keyboard, a smart pen, a stylus (such as used with a personal digital assistant or similar device) a mouse, a trackball, a pointer, a camera, a digital camera, a video camera, a digital video camera, a voice recorder, voice recognition software, an odometer, an anemometer, an inclinometer, a thermometer, a sound meter, a sound recorder, a .wav file generator, a .midi file generator, a pressure sensor, a motion sensor, or any other device capable of receiving an input or detecting a condition of the toy's environment or an interaction with the toy 502 and generating a responsive data signal. For example, the toy 502 may include a pressure sensor that recognizes when the toy is hugged, or when a child shakes its hand. The input module 614 could then accept the data from the pressure sensor and deliver it through the interface 504 and data connection 508 to the control device 520 for further processing The control device 520 could then access the database 520 to obtain an instruction, such as instruction for the 606 sound module to handle a voice player that would say "Thank you for hugging me " Similarly, the input module 614 could accept an email message through a keyboard and deliver it, via the system 501 , to a client device, such as another toy 502 Thus, the input module 614 can combine with the display module 608 and the sound module 606 to create a networked messaging system through the toy 502
The input module 614 may also accept input, through the interface 504, or directly from the various peripheral devices 510, 512 and 514, or from another toy 502 that is equipped with an output module 606 and an output device, such as a transmitter Thus, the input module 614 enables the toy 502 to react to its environmental conditions For example, the toy might say "it is hot", in response to a transmitted signal from a thermometer, it might move in response to input trom a personal digital assistant, it might say "it is windy" in response to an anemometer signal, or the like Similarly, the toy might provide a warning, for example if the child took the toy outside a particular area, or if a security system were activated
It should be understood that one or more of the modules descπbed herein could reside, rather than onboard the toy 502, on the personal computer 528 or similar device to which the toy 502 can be connected through the interface 504 Thus, email or other functions may be accomplished using the capabilities of the personal computer, and through registration processes, the personal computer 528 may be linked to the toy 502, so that they operate as an integrated functional unit
The interface 504 may provide the toy 502 and the processor 600 with data In embodiments, the interface 504 may comprise a modular cradle device into which the toy 502 may be alternately placed and removed, in a manner similar to a synchronizing device for a personal digital assistant, such as a PALMPILOT from Palm Computing, or a Visor from Handspπng, Inc In other embodiments, the interface 504 may be a hardware interface, such as a wire, cable, circuit, network card, or connector, a software interface, or other interface In embodiments, the interface 504 permits the toy 502 to receive data from a network 508 The connection of the interface 504 to the network 508 may be direct, such as through a network card, connector, bus, port, or the like, or it may be through a computer, such as a personal computer, laptop, personal digital assistant, notebook computer, server, workstation, or other device In embodiments, the interface 504 connects to the network through a wireless or cellular connection In a prefeπed embodiment, the interface 504 connects to a seπal port or USB port of a personal computer of the user
It should be understood that the interface 504 may provide multiple avenues of connection, and that the toy 502 may have multiple interfaces Thus, as depicted in Fig 9, the interface 504 may, through a connection 516, connect to another device, such as a personal digital assistant 510, or through a connection 518 to another external device 512, which may be any device capable of receiving data from or sending data to the interface 504 In addition, the toy 502 may have other interfaces that provide direct connections to external devices, such as the personal digital assistant 510, another external device 512, or, for example, a sensor 514 Like the interface 504, the connections 516, 518 and the direct connections from the toy 502 may use any kind of connection, or any method or system for delivenng data, such as a network, a data bus, a wire, a cable, a cellular connection, a portable phone connection, a transmitter and receiver, a circuit, a video tape, a compact disc, a DVD disc, a video tape, an audio tape, a computer tape, a card, a network card, a diskette, or the like A data connection may thus include any system or method to deliver data by radio frequency, ultrasonic, acoustic, auditory, infrared, optical, microwave, laser, electromagnetic, or other transmission or connection method or system That is, any use of the electromagnetic spectrum or other energy transmission mechanism may be suitably modulated to provide a data connection as disclosed herein In embodiments, the toy 502 may serve as a communications platform, with any conventional or novel communications interface The communications interface might include a radio connection, an infrared connection, a synchronizer, an operating system, a cellular phone, a telephone, a pager, a fax machine, a file transfer program, a sound player, an electronic mail program, or an instant messenger application
The personal digital assistant 510 or the other devices 512, 514 may be any kind of peπpheral devices capable of sending or receiving data Examples include a game player, a Palmpilot, a handheld computer, another toy 502, a cellular phone, a pager, a radio, a remote control, a voice recorder, a switch, a light, an appliance, a stereo, a television, a set-top box, a synchronizer, oven, microwave, a camera, a video camera, a digital camera, a cassette player, a receiver, a transmitter, a transducer, a heating system, a cooling system, a detector, an alarm, a CD player, a VCR, a DVD player, a computer, a satellite box, a cable box, a musical synthesizer, and a security system Thus, the toy 502 can be made to communicate with or through any other type of electromc device, thereby permitting interaction of the toy 502 with its environment in a wide range of patterns of play or communication, as descπbed more fully below The toy may also include a memory 616, such as a volatile or non-volatile random access memory The memory 616 may be used to store control programs that control operation of the toy 502 The memory may also be used to store media files such as wav files, used by the toy 502, as well as digitized sensor data received by the input module 504
Referring to Fig. 7, the toy 502 may be constructed for use either alone or as part of a set or network of such toys 502 An individual toy 502 or a set of toys 502 can be provided with interfaces 504 to one or more external devices, or, m certain embodiments of the invention, with other toys 502 In embodiments of the invention, the toy 502 may be equipped with a transmitter, receiver, or both to facilitate communication, and the processor 600 may be programmed to control the communication capabilities in a conventional manner The toys 502 may receive data over the interface 504, or mav be part of a circuit or network connected to the toy 502
The interface 504 may be linked to or be part of a control device 520 that generates control data for controlling the toy 502 In an embodiment of the invention, the control device 520 is a computer, such as a server, and the control instructions are sent via the network 508 and the interface 504 to the toy 502 The control data may be in any form suitable for controlling the processor 600 to control the toy 502 In one embodiment of the invention, the control data is formatted for transmission over the network 508 according to a protocol such as TCP/IP and conventional computer programming for generating microcontroller instructions is used on a server, laptop or personal computer as the control device 520 to control the toy 502 It should be understood that local control would also be possible, from a laptop computer or other processor- enabled device, without use of a data network 508 The toy 502 may also be provided with memory for storing instructions to control the processor 600, so that the toy 502 may act in a standalone mode according to pre-programmed instructions
Thus, either through one or more interfaces 504 or directly from the toy 502, the toy 502 may form a node of a network of toys 502, as depicted m Fig 7 In a preferred embodiment, the data network 508 is the Internet, and the interface 504, perhaps through a personal computer or similar device, receives data from a control device 520 that provides control instructions to the toy 502 The Internet connection may be any type of connection, whether a cable, a wire, a satellite dish, a digital subscnber line, a cable modem, a wireless connection, a cellular connection, a network card, a modem or other connection Control instructions from the control device 520 can control any of a wide variety of the capabilities of the toy 502, such as a play pattern, a motion, a transducer, a thermometer, an inclinometer, a motion detector, a remote control, a sensor, an emitter, a telephone, a microphone, a display, a speaker, a music player, a graphics application, a word processing application, a display application, a motor, a movement, a computer software process, a communications application, a voice recognition application, a voice synthesis application, an electronic mail program, a fax machine, a sound synthesizer, a light, a wheel, an engine, a robotic device, a radio, a pager, an instant messenger application or a sound card Thus, the toy 502 may be any kind of interactive toy, with any of the above capabilities or other capabilities that can be controlled by a processor and embodied m a toy In preferred embodiments, the interface 504 and the data connection 508 provide for two-way data transmission between the toy 502 and the control device 520 For example, the control device 520 may send instructions over the Internet to the interface 504 via a personal computer and USB connection, which in turn may provide instructions to the processor 600 of the toy 502 Similarly, signals from the toy 502, such as from sensors or other devices connected to the toy 502, included m the toy 502, or in the environment of the toy 502, can be sent by the interface 504 over the data connection 508 to the control device 520 Thus, an interaction may be established between the control device 520 and the toy 502, as well as the environment of the toy 502
The control device 520 may be a web server or similar device Refernng again to Fig 9, a system 501 is depicted in which a toy 502 is connected to an interface 504 which connects to a network 508 which connects to the control device 520, which is a web server It should be understood that more than one toy 502 may connect, via the Internet, to the control device 520 In fact, any number of toys in remote geographic locations can connect to the control device 520 in a client-server configuration, so that the control device 520 may provide simultaneous control to multiple toys in the different locations
Specifically, Fig 5 illustrates a system 501 wherein a plurality of toys 502 connect through a network 508 to a control device 520 The control device 520 connects to a proprietary database 524 maintained by the control device 520 The elements of the system 501 can include commercially available systems that have been arranged and modified to act as a system according to the invention, which allows a user to use a toy 502 that is controlled by instructions from the control device 520 or from another control device The system 501 of Fig 5 employs the Internet to allow a toy user at a remote client with an interface 504 to access a central server Turning now to the elements that compose the system 501 depicted m Fig 5, the system 501 can include a network-based system that includes a plurality of client systems 530, which comprise the toy 502, the interface 504, and, optionally, one or more other devices, such as a personal computer 528, and which connect through a data network 508, such as the Internet, or any suitable network, to a control device 520, which may be a server system, such as the server system depicted in Figure 5 The control device 520 can connect over dedicated channels, over the Internet, or by other methods or systems, to the client systems 530
For the depicted system 501 , the client systems 530 can be connected through (or can include) any suitable computer system such as a personal computer, a workstation, a handheld computing device, a wireless communication device, or any other such device, equipped with or configured as a network client capable of accessing a network server and interacting with the server to exchange information with the server In one embodiment, the network client is a web client, such as the Netscape web browser, the Microsoft Internet explorer web browser, the Lynx web browser, or any other propnetary or open source web browser, or any other web client that allows the user to exchange data with a web server, an ftp server, a gopher server, or some other type of network server Optionally, the client and the server rely on an unsecured communication path, such as the Internet, for accessing services on the remote server To add security to such a communication path, the client and the server can employ a secunty system, such as any of the conventional security systems that have been developed to provide to the remote user a secured channel for transmitting data over the Internet One such system is the Netscape secured socket layer (SSL) security mechanism that provides to a remote user a trusted path between a conventional web browser program and a web server Therefore, optionally and preferably, the client systems 530 and the server system 520 have built-m 528 bit or 40 bit SSL capability and can establish an SSL communication channel between the clients 530 and the control device 520 Other security systems can be employed, such as those described in Bruce Schneir, Applied Crytpography (Addison- Wesley 1996) Alternatively, the systems may employ, at least in part, secure communication paths for transferring information between the server and the client For purpose of illustration however, the systems described herein, including the system 501 depicted in Fig 9 will be understood to employ a public channel, such as an Internet connection through an ISP or any suitable connection, to connect the client systems 530 and the control device 520
The control device 520 may be supported by a commercially available server platform such as a Sun Sparc TM system running the Solans operating system and running a server capable of connecting with, or exchanging data with, one of the client systems 530 In the embodiment of Fig 9, the control device 520 includes a web server, such as the Apache web server or any suitable web server The web server component of the control device 520 acts to listen for requests from client systems 530, and to, in response to such a request, resolve the request to identity a filename, scπpt, and/or dynamically generated data that can be associated with that request The control device 520 can also send appropriate data in response to a request (or in response to another action, such as sensing of an environmental condition) to the client system 530 The operation of the web server component of control device 520 can be understood more fully from Laurie et al , Apache The Definitive Guide, O'Reilly Press (1997) The control device 520 may also include components that extend its operation to accomplish the control functions descπbed herein, and the architecture of the control device 520 may vary according to the application For example, the web server may have built in extensions, typically referred to as modules, to allow the control device 520 to perform operations that facilitate the control of the toy 502 desired by the host or by the user of the toy 502, or to allow the web server to have access to a directory of executable files, each of which files may be employed for performing the operations, or parts of the operations, that implement the control of the toy 502 Thus it will be understood that the control device 520 may act as a toy control server according to the invention that configures the workstation hardware supporting the control device 520 to act as a system according to the invention
The control device 520 may couple to a database 524 that stores various information, including information capable of identifying a particular toy 502, the user of the toy, a particular class or group of toys, triggers for tnggenng control instructions for a toy, and vanous control instructions for controlling actions of a specific toy 502 The database may include tables or similar devices that associate triggers for initiating particular actions of the system 501 and the toy 502, as well as control instructions for initiating the relevant actions upon recognition of the relevant tπgger
The database 524 may also store information regarding the users' accounts, including passwords, user accounts, user pπvileges and similar information The depicted database 524 may comprise any suitable database system, including the commercially available Oracle or Microsoft Access databases, and can be a local or distributed database system The design and development of database systems suitable for use with the system 501 follow from pπnciples known in the art, including those described in McGovern et al , A Guide To Sybase and SQL Server, Addison-Wesley (1993) The database 524 can be supported by any suitable persistent data memory, such as a hard disk drive, Redundant Aπay of Independent Disk (RAID) system, tape drive system, floppy diskette, CD-ROM, DVD, or any other suitable system. The system 501 depicted in Figure 1 includes a database 524 that is separate from the server station platform 520, however, it will be understood by those of ordinary skill in the art that in other embodiments the database device 524 can be integrated into the control device 520.
Thus, the control device 520 may connect to one or more databases 524. In embodiments, the server component of the control device 520 accesses the databases 524, such as through scripts, e.g., common gateway interface (CGI) scripts, or other programming codes, such as Java to obtain responses to queries.
Fig. 7 is a functional block diagram reflecting certain optional functional modules for the control device 520. Referring to Fig. 7, the control device 520 may include a variety of modules, including an operating system 700, a communications module 702, a routing module 704, a toy control module 708, and a query/access module 710. The operating system 700 may control one or more of the other modules in a conventional fashion. The communications module 702 can handle various communications functions, such as access to the data network 508, e.g., the Internet. In particular, the communications module may be equipped to send and receive data according to a common protocol, such as the Transmission Control Protocol/Internet Protocol (TCP/IP) protocol. While TCP/IP has worked well in the past, there is nothing intrinsic in TCP/IP that is required to support this invention. Any other standard protocol for communications will do as well and the interface device may optionally be located on the toy itself. For example, in some embodiments delivery may be direct to the toy/device. The routing module 704 may route one or more queries, which the control device 520 receives through the communications module 702, to one or more other modules, to one or more servers, or the like. Thus, the routing module 704 may include various functions, such as load balancing and routing according to the nature of the request, as would be understood by those of ordinary skill in the art. The query/access module 710 may be controlled by the operating system 700 to form and handle queries that are sent to the database 524, and to handle responses obtained from the database 524. The query/access module 710 may form appropriate queries in accordance with conventional programming techniques, such as those required for creating processes for registering users, tracking user interactions with the graphical interface of the personal computer 528, responding to user queries, responding to user entries into forms and templates, such as HTML templates, responding to user interaction with buttons or icons, such as a "submit" icon, or the like. In other words, the query /access module 710 can handle any conventional Internet methods and systems, ranging from registration, to e-commerce, to targeted banner advertisements, and the like
The toy control module 708 may provide processing for control instructions to be sent to the toy 502 and processing for data input that is received from the toy 502, the client system 530, the personal computer 528, or one or more other devices, such as the penpheral devices 510, 512, 514, or a remote device, such as another computer, another toy, or another peπpheral device, such as a sensor Thus, the toy control module 708 may receive instructions from a vaπety of different devices according to defined formats and may process those instructions to initiate further actions, including queries to the database 524, messaging to the client systems 530. and instructions through the interface 504 to the toy 502 The toy control module 708 may include hardware and or software systems In an embodiment, it is a software module written m an algorithmic object-oriented computer programming language, such as Java or C — . and it includes vanous extensions that are specific to the remote control of a toy Such extensions may include code for generating machine code instructions for controlling various aspects of the toy 502, such as a motors or robotics, or other code instructions for voice synthesis, playing sounds or music, or displaying content on a display of the toy 502 By way of example, the toy control module 708 can send an instruction to the toy 502 to initiate an action, such as synthesizing an audible message, such as "hello " The control device 520 can then await a response, which may come from a sensor of the toy 502 For example, if the toy 502 includes a voice-activated recording device, the toy 502 can send, through the interface 504, a message over the data connection 508 to the control device 520 The control device 520 will then route the message to the toy control module 708, which would decode the message using, for example, a voice- recognition module 712 Having decoded the message, the toy control module 708 could then form a query for the database 524, consisting of the words in the message, e g , "Hi " The query could then be matched against a table in the database 524, which would return a response that is appropπately associated (through a table mechanism, for example) with that query, e g , an instruction to the toy control module 708 to synthesize a response voice message, stating, for example, "My name is Pixel " The toy control module 708 would then send the voice message, via the communications module 702, the data connection 508 and the interface 504, to the toy 502, which could then use a voice synthesis module to speak the message to the user
More generally, the toy 502 may receive a message as user input, and transmit the message over the data network 508 to another toy, or to a personal computer 528, an e-mail account, or another device such as a cellular phone The message may be, for example, a digitized voice message, a text message, or some other media Further, the message may be converted before, dunng or after delivery from one form, e g text, to another form, e g speech The control device 520 may manage transfers among toys, and between toys and other devices The control device 520 may address messages according to names assigned to toys, which may be names chosen by toy users In an embodiment, messages may be received from devices other than toys, such as a cellular phone, and transmitted to a toy
In one embodiment, the tov 502 mav be used as a platform for scheduling Schedule items such as sports practice, plays, games, meetings, classes, appointments, and so forth may be entered into a schedule that may be stored on the toy 502. on a computer attached to the toy 502, or on a remote server The server may communicate a daily schedule to the toy 502. and the toy 502 may generate reminders which may be. for example, text display on an LCD or LED displav. or audio The tov 502 mav vibrate or generate some other alert when schedule items are pending, to remind a toy user to tend to the scheduled item Where the toy 502 is m a continuous or frequent communicating connection with the server, the toy 502 may also receive pages or other messages, and may include alerts for these messages along with other scheduled items
As may be recognized, the toy control module 708 may be used for a wide range of different interactions, as will be more particularly disclosed below
Many embodiments exist of methods and systems for using a networked toy 502 according to the incentive concepts disclosed herein Some of those embodiments are disclosed below
In an embodiment of the invention, the input signals for the processor 600 can be obtained from a wireless control network I e , a network that does not have a direct electncal circuit connection to the processor 600 A transmitter which may be mounted on a wall or m a remote control can transmit a programmed infrared, radio frequency or other signal to a receiver which can then transmit the signal to the processor 600 The transmitter may, instead be provided as a peπpheral device connected in a communicating relationship with the client system 530
Fig 8 depicts a local area network of toys 502 In an embodiment of the invention depicted in Fig 8, one or more of the toys 502 may be equipped with a receiver and/or a transmitter, which may be connected to the processor 600 of each so-equipped toy 502 The receiver may be capable of receiving data signals and relaying them to the processor 600 It should be understood that the receiver may be merely an interface to a circuit or network connection, or may be a separate component capable of receiving other signals Thus, the receiver may receive signals by a data connection from another device 510, 512 or 514 In an embodiment of the invention, the other device is a personal computer, the data connection is a synchronizer device with a USB connection to the computer, and the data is sent in machine code controlling a microcontroller such as the processor 600 Processor 600 then processes the data to control the toy 502 in a manner similar to that described elsewhere herein in connection with other embodiments of the invention
In embodiments, such as depicted in Fig 8, a plurality of toys 502 may be established in a master/slave arrangement whereby the master toy 502 controls the operation of one or more other slave toys 502 The data connections 516 between the toys 502 could be any type of data connection 516, including any of those described in connection with Fig 9
The toy 502 may be part of a network of such toys 502 as depicted in Fig 7 Through use of the transmitter and the receiver of each of the toys 502, as well as the processor 600 or an external control device 520, each toy 502 may send and receive queries over a data connection similar to that disclosed in connection with the descnption of Fig 9 Thus, the toys 502 can determine the geometnc configuration of the network in which the toys 502 are contained For example, a toy 502 can process signals from another toy 502 to determine which of the toys 502 is the master and which is the slave in a master/slave relationship, or a "lost" toy 502 can be identified bv sending and receiving signals and using a process of tπangulation of other toys or network-connected devices
Additional processing capabilities may be included in each toy 502 For example, each toy 502 may be made responsive to an external data signal for control For example, the toy 502 may receive data from one or more sensors, which may be disposed either on the toy or in the environment of the toy, such as inclinometers, thermometers, barometers, anemometers, pressure sensors, odometers, chronometers, or the like Thus, the sensor device may sense changes m one or more external conditions and send a signal to one or more toys 502, in which case the toy 502 may act m a different manner based on the sensed condition For example, a thermometer might send a temperature measurement to the interface 504, which might be programmed to send the signal via a personal computer over the data connection 508 to the control device 520, e g , a server The server may include the capability of receiving the temperature measurement, consulting a database, and sending a response over the data connection 508 to the interface 504, which in turn may send a signal, such as machine code, to the toy 502, which might respond with an appropriate action, such as to synthesize playing of a voice file stating "it is cold today." A wide array of sensing applications can be envisioned and constructed using the above systems, wherein sensor data is sent via the toy 502 or the interface 504 to the control device 520, which may access one or more sets of programming instructions and/or databases to determine an appropriate action for the toy 502 and in turn to send control instructions to the toy 502 reflecting the action the toy 502 should take in response to the sensed condition. In sum, the toy may be made to interact with its environment in real time or in near-real time, according to predicted patterns of sensing and appropriately controlled actions.
In embodiments, the control device 520 can serve a page that may appear on a personal computer 528 or other client device that is associated with the toy 502. The page may include a user interface for the user of the toy 502, or for another person, such as a parent, sibling, friend, babysitter, or the like who supervises the use of the toy 502 by a user. The page may include content related to use of the toy, such as instructional content, advertising content, entertainment content, games, and the like.
In an embodiment, the toy 502 comprises a character which is represented by a similar character on one or more pages on the computer 528. A personality for the character may develop over time through, for example, a simulated maturing process, or through interaction with a user. In an embodiment, the character that appears on the pages may make a request, such as by graphics, words, or sounds, to be brought into the real world by the user, and the user is prompted with a template or similar device on the page that enables the user to order the toy. The toy, or the character developed through interaction with the page or pages, may be realized in a physical toy and provided for fulfillment to the user. In another embodiment, the page includes content that requests that the user take some action with the toy 502. In another embodiment, the page includes content that is responsive to an action of the toy 502. In another embodiment, the page provides one or more conventional communications or word processing functions, such as instant messaging, chat, email, file transfer, or the like.
The user interface of the computer 528 can thus present to the user a set of controls for performing various actions, either in connection with the user's computer, in communication with other users, or to control the toy 502. Thus, in embodiments, the user interface 528 or page may prompt or permit the user to enter instructions that are in turn executed by the toy 520 as described elsewhere herein. Thus, a user might enter a birthday for a family member, and the toy 502 could be programmed to remind the user, such as through a synthesized voice message, on the day of the birthday.
Interaction with the interface can be, for example, through HTML pages, dynamic HTML pages, or the like, which, when the user interacts with them, send instructions to the control device 520 or server for further processing.
Fig. 9 depicts another configuration for the system 501 of Fig. 9. Each of the control devices 520 is connected to the data network 508, which in this case is the Internet. Various client systems 530, comprising the toy 502 and the interface 504 are connected to the Internet as well. Fig. 9 demonstrates that the toys 502 can be part of a wide, distributed network. Using the input and output modules described above, the users of the toys 502 can communicate to each other. Also connected to the Internet are one or more conventional client devices 528. such as personal computers. Through those devices an individual other than a toy owner can still communicate to the toy 502, by, for example, sending a message over the Internet that is handled by the control device 520 and sent on to the toy 502 for delivery to the user. Thus, for example, a grandmother could send an email message, which could be displayed on a display of the toy 502, which could be synthesized in the voice of the toy 502, or which could carry a sound attachment, such as a .wav file recording of the grandmother's voice. Thus, the toy 502 can serve as a unified communications platform. The server 520 may, when providing a unified communications platform, convert messages between any number of available platforms, i.e. text, facsimile, audio, page, e-mail, and so forth. For example, a voice message may be left using a telephone, and this may be automatically converted to a text file for alphanumeric display by a toy 502. A voice message recorded by a user of the toy 502 may conversely be converted to a facsimile or e-mail for delivery to an identified address, or may be delivered to another toy for audio reproduction, or may be delivered electronically as an audio attachment to an e-mail. Any combination of media may be used with a communications platform based upon a toy 502 and a server 520 according to the invention.
In one embodiment, the toy 502 may respond to verbal commands, such as "call Grandma," and enter a program routine to receive as input a message for the designated recipient, in this case, Grandma. The name may be mapped to an address and media type. For example, "call Grandma" may map to a telephone number and a media type of 'voice.' "Fax Dad", may map to a telephone number and a media type of 'facsimile'. "E-mail Brad", may map to an electronic mail address, with a media type of audio where the message is a voice message, or 'text' where the message is text input by the toy user, or the message is a speech-to- text converted text message spoken by the toy user
Fig 10 is a functional block diagram that depicts data flows in an embodiment of the invention A data flow can be initiated by an action 600, which may be input from a user into the personal computer 528, or an interaction with the interface 504 or the toy 502 The data then flows, m an embodiment, over the Internet or other data network 508 to the control device 520 The control device 520 then handles the data by determining and executing the appropπate reaction based on the action 600 The control device 520 may interact with the database 524 to determine the action, such as by CGI scripts, Perl Scnpts, PHP, or the like Control data then flows back over the Internet to the client system 530, through the interface 504 to the toy 502, initiating an action of the tov 502 The server or other control device 520 may act as middleware that coordinates the operations of the personal computer 528, the toy 502, the interface 504 and the database 524 to establish a fully interactive tov that has interactivity based on both download and upload capabilities, including those based on external communications and other environmental conditions of the toy The web server 40 can be any suitable web server, as discussed above, and in this example, can be understood as the Apache web server listening to a port and having access to a set of executable files stored m a directory accessible to the web server such as the cgi-bm directory
The executable files accessed by the server or other control device 520 may be scnpts that execute the various modules of the control device 520 One such executable file mav be a scπpt that implements a toy control process to provide control instructions for the toy 502 such as the depicted toy 502 The toy control process might, for example, be a Perl V scπpt, a C language program or any other suitable program for providing a process that can determine, m response to information provided to it from the client system 530, an action based on that information
The design and development of the vanous modules of the control device 520 can follow from pnnciples known in the art of computer programming, including those set forth in Wall et al , Programming Perl, O'Reilly & Associates (1996), and Johnson et al , Linux Application Development, Addison- Wesley (1998) Additionally, in other embodiments, the modules can be implemented, at least in part, by employing the operating system to restnct the execution of certain scnpts and to restnct access to certain files by configuπng the operating system m a selected manner Techniques tor so configuring the operating system are known in the art, including those techniques set forth m Bach, The Design of the Unix Operating System, Prentice-Hall (1986)
In embodiments, the toy 502 might be programmed to operate in a standalone mode as well Thus, preprogrammed instructions may cause the toy 502 to take certain actions in response to inputs handled by the input module 614
In an embodiment of the invention, the input module 614 may receive signals from a remote control of a conventional type used to control electronic devices through radio frequency or infrared signals The remote control includes a transmitter, control switches or buttons, and a microprocessor and circuit responsive to the controls that causes the transmitter to transmit a predetermined signal In this embodiment of the invention, the processor 600 can be connected to an input module 614 that includes a receiver via such signals and may be capable of processing and executing instructions from the remote control according to the transmitted signal
Although the figures depict the system 501 as functional block elements, it will be apparent to one of ordinary skill in the art that these elements can be realized as computer hardware, computer programs or portions of computer programs that are capable of running on the vanous devices 520, 530, 528, 504, and 502 The computer programs may configure the respective data processors as a system according to the invention
As discussed above, one or more of the vanous modules of the control device 520, the toy 502 and the interface 504 can be realized as software components operating on a conventional data processing system, such as a Unix workstation In that embodiment, the modules can, for example, be implemented as a C language computer program, or a computer program wntten in any high level language including C++, Fortran, Java or BASIC
Additionally, in an embodiment where microcontrollers or DSPs are employed, the toy control module can be realized as a computer program wntten in microcode or wntten m a high level language and compiled down to microcode that can be executed on the platform employed The development of such microcode is known to those of skill in the art It is also possible to realize the toy control module directly in the hardware General techniques for high level programming are known, and set forth in, for example, Stephen G Kochan, Programming in C, Hayden Publishing (1983) In an embodiment, the input module 614 may handle input from a CCD camera or any other digitizing video input system that is capable of generating a file in any format Examples include GIF, JPEG, TIFF, PBM, PGM, PPM, EPSF, XI 1 bitmap, Utah Raster Toolkit RLE, PDS/YICAR. Sun Rasterfile, BMP, PCX, PNG, IRIS RGB, XPM, Targa, XWD, PostScnpt, and PM formats on workstations and terminals running the XI 1 Window System or any image file suitable for import into the system 501 The CCD camera may be integrated with the toy 502 or connected through one of the connections 516, 518
The toy 502 may also be modular; that is. it may have an internal mechanism that can be supplied with a variety of coveπngs or "skins," so that a consistent set of protocols can control the actions of the toy, while very different external appearances are available to the user Thus a single tov 502 mav. using various skins, appear as a teddv bear, a female doll, an action figure, an infant, and so torth
For purposes of illustrating the systems of the invention, it should be understood that m embodiments the control device 520 may operate as an application server that employs an object onented framework. As is known to those of skill in the art, object oriented frameworks are generally understood as a set of classes that embody an abstract design for solutions to a family of related problems. See The C++ Programming Language, 2nd Ed., Stroustrup Addision- Wesley Accordingly, a framework provides a prefabπcated structure, or template, of a working program. For example, for a traditional application program, a framework can provide support and "default" behavior for drawing windows, scroll bars and menus Optionally, a tramework can provide sufficient lunctionality and wired-in interconnections between object classes to provide an infrastructure for a developer developing services for the system 501 The interconnections are generally understood to provide the architectural model and design for developers, allowing developers to focus on the problem domain and allowing increased levels of hardware independence, as frameworks can provide to developers abstractions of common communication devices reducing the need to include with a service application hardware dependent code Thus, the system 501 may be configured to permit other developers to insert toy control modules for control of different embodiments of the toy 502
The design and development of object onented frameworks, such as a framework for permitting the control device 520 to serve as an application server, follows from pnnciples known m the art of computer science, such as pnnciples set forth in Booch, Grady, "Designing an Application Framework", Dr. Dobb's Journal 19, No. 2, (February, 1994); Booch, Grady, "Object Oriented Analysis and Design With Applications", Redwood City, CA. Benjamin/Cummings (1994); and Taligent, "Building Object Oriented Frameworks", Taligent, Inc., ( 1994). It will further be understood by those of ordinary skill in the art that various functional elements of an application server platform can be realized as software processes executing on a data processing platform, such as a SUN workstation, manufactured and sold by SUN, Inc. of Mountain View, California, running the Unix operating system. Additionally, the functional blocks depicted herein can also be realized as hardware devices, as well as devices that include both hardware and software for operating as described.
The communications module 604 of the control device 520 may comprise an HTTP server listener process, an HTTP server process, a server temporal process, a daemon, a log file, a data file, a database, and an HTML page. The communications module 604 may receive data from the interface 504, or from a client process, such as a computer program operating on the client systems depicted in Fig. 9, that are capable of downloading and responding to computer files served by the control device 520. In particular, the client process can be a browser program that is capable of forming one or more connections to an HTTP server process for transferring pages from the HTTP server process to the client process. Such a browser process can be the Netscape Navigator browser process, the Microsoft Explorer browser process, or any other conventional or proprietary browser process capable of downloading pages generated by the control device 520. Thus, in addition to serving control instructions to the toy 502, the control device 520 can send pages for graphical display on the screen of the personal computer 528.
The HTTP server process can be any suitable server process including the Apache server. Suitable servers are known in the art and are described in Jamsa, Internet Programming, Jamsa Press (1995), the teachings of which are herein incoφorated by reference. In one embodiment, the HTTP server process serves HTML pages representative of page requests to client processes making requests for such pages. An HTTP server listener process can be an executing computer program operating on the control device 520 which monitors a port, typically well-known port 80, and listens for client requests to transfer a resource file, such as a hypertext document, an image, audio, animation, or video file from the server's host to the client process host. In one embodiment, the client process employs the hypertext transfer protocol (HTTP) wherein the client process transmits a file request that specifies a file name, an internet location (host address), and a method, such as the HTTP, or any other proprietary or standard protocol suitable to retrieve the requested file. The HTTP server listener process detects the client request and passes the request to the executing HTTP server processors, such as the HTTP server process It will be apparent to one of ordinary skill m the art, that although this disclosure depicts one HTTP server process, a plurality of HTTP server processes can be executing on the control device 520 simultaneously The HTTP server processors can pass the file request (typically round-robm style) until an HTTP server process is identified that is available to service the client's request
Continuing with the example descπbed above, the HTML page served by the server to the client process will be processed by the client process, the browser program, to generate a graphical image of the search request page being requested by the participant The server can create a log file in which the seiver stores a signal that identifies and tracks actions of the toy 502 or the personal computer 528 The log file, or a database, can be generated by a CGI Scπpt or any other suitable technique, including any of the techniques descπbed in Graham, HTML Sourcebook, Wilev Computer Publishing ( 1997) the teachings of which are herein incoφorated by reference Such data can be used, for example, to alter the play pattern of a toy 502 based on information received and stored by the server process
Figure 11 shows an icon 910 according to the principles of the invention The icon 910 has a connection 912 to an external network access device such as a personal computer, TV set top box, Web phone, personal digital assistant, or other device including software and hardware for accessing and navigating the Web or some other network or internetwork The connection 912 may use any known parallel or serial bus standard including parallel or senal ports, IEEE- 1394 (also known as "Fire Wire"), Universal Senal Bus ("USB"), or other standardized or propnetarv busses The connection 912 mav also be formed from a wireless connection such as an infrared or radio frequencv link In one emoodiment. the connection 912 uses USB
Inside a body 914 of the icon 910 may be a switch 915, such as a momentary switch activated by depressing the upper surface of the body 914 In one embodiment, the body 914 has an upper surface 916 attached by a hmge 918 to a lower surface 920 A spring inside the body 914 supports the upper surface 916 above the momentary switch, such that the switch is only depressed when pressure is applied to the upper surface 916 Alternatively, a button, switch, touch pad, or any other touch-activated mechanism may be mounted on the upper surface 916 As used herein, the term "switch" is intended to refer to any one-touch mechanism including a button, switch, touch sensitive surface, proximity sensor, or other sensor configured to permit activation with a simple human gesture When the switch is activated, an activation signal and an icon identification number are transmitted via the connection 912 to the Web access device The icon 910 may also include an additional port 922 configured so that multiple icons can be daisy chained together to share the connection 912 The icon 910 may include a logo 924 of a Web site, company, or other entity that provides the icon 910
Another embodiment includes two or more switches, with each switch configured to provide a different activation signal In one embodiment, this permits numerous users to maintain unique identities when accessing a target Web address with the icon Alternatively, the icon may be completely generic and user configurable This latter embodiment may operate as a physical realization of one or more bookmarks associated with a browser.
Figure 12 shows a personal computer connected to an icon 910 In this embodiment, the icon 910 is configured as a fuel pump, with a switch embedded in a top thereof A personal computer 1010 receives activation information from the icon 910 when the switch is depressed The system may also include a toy 1020 in wireless communication with the icon 910 (which includes a wireless transceiver), such that the toy 1020 may send data to, and receive data from, a Web server that is in communication with the personal computer 1010
Upon receiving activation information from the icon 910, the personal computer executes an activation program The activation program receives the icon identification num_. r from the icon 910 The program then determines whether a Web connection is present and a browser is executing on the computer 1010 If no browser is executing, then the program launches a browser (or, directs an operating system to launch the browser) residing on the Web access device and directs the browser to access the Web if reαuired When used in this way. the icon 910 operates as a Web browser launch button, external to the web access device, that directs a user's first visitation to a predetermined Web site
If a browser is executing and connected to the Web, then the activation program directs the browser to access a Web site associated with the icon 910 The activation program further initiates a login at the Web site by providing the Web site with the icon's identification number, along with a login name and password Communications with the Web site may be performed through a secure connection For added security, the user may be prompted for the password with each new session The icon 910 may include a keypad for enteπng a password directly, or a user may enter a password through the browser on the Web access device Once a session has been initiated, the activation program may terminate, and a user may interact with the Web site using the browser If the personal computer 1010 or other Web access device includes soft power-up and power-down features, the activation signal from the icon may also include a power-up signal to turn on the Web access device where required
Figure 13 shows other possible configurations of the icon The icon 910 may include one or more LED's or other illumination devices 1302 that light to confirm activation of the icon 910, or that lights to confirm a connection to the Web site The icon 910 may also include sound reproduction or synthesis circuitry to generate one or more sounds upon occurrence of events, and the icon 910 mav include a memory into which new sounds mav be downloaded under direction of an icon user, or under direction of a server connected in a communicating relationship with the icon 910 The icon 910 may include a toy docking port 1304 that supplies power or data to a toy The icon 910 may include a port 1306 for a wired connection to a toy The icon 910 may include a radio frequency transceiver 1308, an infrared transceiver 1310, or anv other wireless transceiver
The icon 910 may include other features For example, the icon 910 may include an alpha-numeric display, or a small screen display such as an LED or LCD screen The icon 910 may include a speaker for generating audio signals, and may include a microphone for receiving audio signals The icon 910 may include a wireless transceiver and a power source for full wireless operation The icon 910 may include interfaces for RAM, ROM, and Flash memory such as memory sticks and smart cards, or other programming or memory devices which may be plugged into the icon 910 to expand functionality of the icon 910 or provide audio, visual, or other sensory media, such as vibrating and flashing, to be used with the icon 910 The icon 910 may include, for example, sensors for biometπc or bioinformatic detection of a user, through a voice print, finger print, retinal scan, or other inputs, any of which mav function to identify a user that activates the icon 910 User identification may be used to customize Web access from the icon 910, or to provide security for access to secure sites or functions for, for example, financial transactions
Figure 14 shows a Web server for use with the icon 910 Upon activation, an icon 1450 may direct the Web access device 1460 to access the Web server 1470 through the Internet 1480, as descπbed above The server 1470 may receive the icon identification number and any login information and retrieves a user profile from an icon database 1490 The user profile may include user-provided information such as a name, address, personal preferences, interests, etc The user profile may also include information that is not provided directly by the user For example, the user profile may include a record of when and where the icon 1450 was distributed to the user, or information available in the user's cookie file or otherwise available from the Web access device.
The Web server 1470 uses the user profile in the icon database 1490 to generate a customized Web page for the icon-activated access. The Web page may include a salutation personalized to the icon's user, and may include content, hyperlinks, and promotions directed to the user. There may also be, either stored locally with the activation program or retrieved remotely from the Web server 1470, a greeting sound that is presented when the session is established. This may be an audio file, such as Real Audio (*.ram), wave (*.wav), or MPEG Audio Layer 3 (*.mp3), that includes a spoken salutation, such as "One touch to . . ." or an introductory chime. It may also include an introductory musical track, as might be stored in a Musical Instrument Digital Interface file (*.mid). As noted above, these sounds may also be downloaded to the icon for replay upon the occuπence of predetermined events.
Using the above system, a personalized Web retail environment may be designed for the user. This may include loyalty marketing or frequency marketing programs such as incentive programs that accumulate points as purchases are made. The user's (or icon's) points may be displayed within the Web page, along with an indication of how the user's points may be used (e.g., "You have 11,341 points! You may use 5,000 of these points for a 5% discount on any purchase, or you may use 7,000 of these points for a free . . . "). The Web page may also include promotions tailored to the user profile. This may be, for example, an award for being a regular visitor to the site, or it may be a discount at an affiliated site. Where the Web server is operated by a conventional retail outlet, promotions may also be directed to store visits.
The personalized Web site may also be configured to provide hyperlinks to other, third- party Web sites with suitable content. The user profile may include content information concerning other Web sites visited and user interests. This content information can be used to recommend specific products for a user, either for sale on the Web page or through a hyperlink to an affiliated third-party Web site. If a sale is made to the user at the third-party site, this sale is preferably logged at the referring Web site, and a percentage of the sale allocated to the referring Web site.
The Web site may adopt a more adaptive role in customer relationships. For example, the Web page may present alternative content in response to declining visits from a customer. In conjunction with a retail outlet, Web site may provide several incremental levels of service based upon purchase volume. For example, a first level of service might include a bonus point plan, a second level of service might include penodic e-mails to a customer providing product information and comparisons, and a third level of service might include price matching for competing products or identical products from other sources Additional services may be distributed among the vanous service levels, such as a free gift shopping registry or penodic coupons
The icon user's shopping habits may also be recorded in the user profile This will permit the Web server to tailor each icon's Web page to the icon user's interests and habits
The icon 1450 may be configured to produce different results to a sequence of activations For example, a first activation of the icon 1450 may direct a Web access device to a first Web address A second activation may direct the Web access device to a different Web address, or to a different page withm a Web site. Additional responses may be provided for a third activation, a fourth activation, and so on The different accesses may be controlled by a program operating on the icon 1450. or may be controlled by a server in communication with the icon 1450 The responses may be selected by an icon owner/user, or may be selected by an algorithm on a server The server selection algorithm may employ user information stored a user profile to select sites which may be of interest to the user The number of activations may be monitored by a counter maintained on the icon 1450 or at the server 1470, or may be monitored by a counter within an icon session tracked by the server 1470 In an embodiment, the counter may be reset each time a new connection is established, or the state of the counter may be preserved from connection to connection and from session to session In an embodiment, the user may indicate the second activation by providing two activations in rapid succession, and so on The amount of time between activations that is mteφreted as 'rapid succession' may be controlled by the user, or by the server 1470, or may be pre-programmed into the icon 1450
The icon 1450 may include a memory for storing Web-related information such as one or more digital signatures, one or more cookies specific to the icon 1450, and so forth
In one application, the icon 1450 may be configured to perform a specific transaction For example, the icon 1450 may be dedicated to executing financial transactions When a user of a Web access device is presented with a Web page for authorizing a financial transaction such as a purchase of goods with a credit card, the user may simply activate the icon 1450 The icon 1450 may then proceed, either through direct interaction with the Web page, or through a separate session created to authorized the transaction, exchange information with the Web page to complete the transaction. This communication may be through a predetermined protocol, in which the icon 1450 provides required information to the server hosting the Web page. Some or all of the information may be exchanged through a secure connection. The predetermined protocol may coπespond to manual information entry through a Web access device according to known techniques, or may be a separate protocol established specifically for transactions using an icon 1450. The transaction may be authorized by a credit card company, by a bank, or by some other financial institution trusted by the creator of the Web page to provide payment. Delivery information may be provided directly from the financial institution over a separate, secure link, or may be provided directly from the icon 1450.
The icon 1450 may include systems for demonstrating authenticity, and may be used for authentication of a user. For example, a private key/public key algorithm may operate on the icon 1450. In this example, a message may be forwarded from the server 1470 to the icon 1450. The icon 1450 may then perform a forward encryption function on the message using a private key, and the encrypted message may be transmitted to the server 1470. The server 1470 may then decrypt the message with a public key and compare the decrypted message to the original message to determine whether they are the same (i.e., that the icon is authentic). It will be appreciated by those skilled in the art that numerous variations and modifications to this basic authentication algorithm are known and may be used for authentication. Any of these algorithms may be suitable to the applications described herein.
In an embodiment, the user may be presented with a verification option at some point during the transaction. For example, when authorization for the transaction has been completed, the user may be presented with a message on the Web access device stating, "Please activate your icon to confirm your purchase."
In an embodiment, the icon 1450 may include activation mechanisms for a number of different transaction types. For example, the icon 1450 may include several buttons, a first button for a MasterCard purchase, the second button for an American Express purchase, a third button for a debit card or ATM purchase, a fourth button for an electronic check, and so on. Alternatively, a different icon may be provided for each financial transaction, and the icons may be chained together using, for example, a Universal Serial Bus connection. Figure 15 is a block diagram of a server tor use with a tov according to the pnnciples of the invention The server 1510 may include a play pattern engine 1520 that generates a play pattern in response to a request from a toy 1530 A toy compiler 1540 receives play patterns from the play pattern engine 1520 and generates code for execution by the toy 1530
The play pattern engine 1520 may communicate with a database that includes tables such as a user profile table 1552, a user history table 1554, and a play pattern table 1556 The user profile table 1552 may include, for example, toy identifiers, demographic information such as age, geographic location, and the like, indicated preferences, toy capabilities, toy accessories and so forth The user history table 1554 may include the toy identifier, a history of site visits, and user data collected from the toy, such as sensor data, log data, play habits, and so forth The play patterns 1556 may include content for use by toys, including sound samples, play pattern state machines, and so forth
In response to a request from the toy 1530. the server 1510 may access the database 1550 to retrieve any information corresponding to the toy 1530 or a user of the toy 1530 The play pattern engine 1520 may process the retrieved data to generate a suitable play pattern that may be returned to the toy The play pattern engine 1520 may provide default content for a type of toy, if the type of the toy 1530 is known, or the play pattern engine 1520 may generate customized content according to information from the database 1550 about the toy type The play pattern engine 1520 may customize content according to a specific play history when, for example, a toy scenario spans multiple downloads The play pattern engine 1520 may customize content according to play habits and other usage information stored in the database 1550. or inferences that might be drawn from the information stored in the database 1550 about the user or the user's preferences The play pattem engine 1520 may customize play patterns according to specific user indications of preferences, either stored in the database 1550 or provided by the user when the content is requested
The toy platform of Fig 15 may be used for feedback toy customization A positive feedback loop may be created through generation of new play patterns and collection of usage data for each new play pattern Through the persistence provided by the database 1550, a personality of the toy 1530 may be developed over time Content may be provided to the toy 1530, content usage from the toy 1530 may be reported back to the database 1550, and new content may be developed by the play pattern engine 1520 in response to the new user data The toy 1530 may be customized to a particular user through this feedback mechanism, and may develop into a customized toy for the user.
The customized toy may accumulate factual data, such as a name of a user and names for the user's family members, pets, and so forth. The toy may accumulate data about a user's hobbies, activities, and inferences. The toy may employ this accumulated data in new play patterns. The toy may also adapt to a user's personality and moods so that the play pattern engine 1520 may continue to generate play patterns of interest to the user.
In one aspect, a toy according to the invention may be linked to an online representation of the toy 1530. The toy 1530 may be represented by an icon or other illustration that is depicted when a user visits, for example, a chat room or message board with the toy 1530. In a chat room, other toys may be recognized by their accompanying icons. The online representation may also engage in simulated activities outside the scope of a user's activities with the toy, and relate these activities to a toy user. For example, when the toy 1530 is activated, it may say, "Let me tell you about my day. I went on a picnic with . . ." Thus, the toys simulated activities may be included in the toy's memory and projected through speech and other outputs, and the play patterns performed with a toy user may be reflected back into the online representation of the toy.
In another aspect, a visitor to a Web site presented by the server may engage in online play with a customized character. The character may evolve through online play with the user as the database 1550 and the play pattern engine 1520 acquire information about the user, and the customized character may develop a personality adapted to the user. The customized character may then explicitly request that it be realized in a toy, such as the toy 1530, and the customized character may, upon a user request, be transfeπed to a physical embodiment in the toy 1530. Optionally, the user may at any time request that the customized character by transferred to a toy such as the toy 1530. This transfer may be to a toy 1530 already owned by the user, or to a 'blank' toy which the user may purchase, or a toy including the customized character may be ordered as a complete retail unit through the Web site. Thus, a physical realization may be created of a character developed through online play. A method of doing business upon the toy platform disclosed herein may include developing an online relationship with a character and realizing the character in a physical toy. Turning now to the play pattern engine 1520, a number of embodiments thereof are discussed
Figure 16 is a block diagram of a system according to the principles of the invention The system 1600 includes a toy 1610 and a toy engine 1620 The toy 1610 may be any toy discussed above, and the toy engine 1620 may be any server, database, and other software discussed above As depicted m Fig 16, the system 1600 includes a feedback relationship between the toy 1610 and the toy engine 1620 Generally, the toy 1610 collects data and transmits the data to the toy engine 1620, as shown by a first arrow 1630 The toy engine 1620 then generates control data for the toy 1610, and transmits the control data to the toy 1610 as shown by a second arrow 1640 User information may be gathered in a user information database 1650, and other content may be stored in a content database 1650 to supplement the development of play patterns for the tov 1610 Through this interaction, the tov 1610 may change and adapt play patterns over time in accordance with user information gathered by the toy engine 1620 Thus a feedback system is provided for continuous evolution of toy play patterns
Data transmitted to the toy engine 1620 may be any data gathered by the toy 1610, or other information gathered about a user of the toy through interaction with a Web site This may include information explicitly provided by a user, such as age, name, birthday, and so forth, in response to quenes from the toy engine 1620 Data may also include information gathered using sensors of the toy, which may be any of the sensors discussed above Data may include information gathered duπng play with the toy For example, where play patterns for the toy 1610 are realized as a number of states in a state machine, the toy 1610 may record transitions between states and transmit this information to the toy engine 1620 Data mav also include other explicit inputs such as pushing a button on the toy and so forth, using any of the input devices or modes descπbed above Examples of inputs include motion (e g , through an mertial sensor), trigger activation (e g , through squeezing the toy 1610), voice recognition, touch recognition, temperature, sound activation, impact switches, and attitude switches
The toy engine 1620 may inteφret the data received from the toy 1610 Inteφretation may include segmentation and analysis of a user of the toy 1610 into demographic and psychographic groups Inteφretation may include further analysis of a user of the toy to identify, for example, potential problems such as child abuse, learning difficulties, social development difficulties, and so forth, or potential strengths such as high math aptitude, good reading skills, and so forth. Inteφretive results may be used to generate parental alerts through, for example, electronic mail, and may be used to adapt play patterns of the toy. Inteφretation may include generation of profile data for a user of the toy 1610, which may be storage of information gathered from the toy 1610, or storage of inferences from play pattern inputs and explicit user inputs.
Profile data may include preferences for music, education, games, stories, news, sports, and so forth, as well of degrees of like/dislike for each preference area. Profile data may include inferences based upon toy usage and other data, such as learning style, inteφersonal style, developmental profile. Profile data may include demographic data such as age, name, zip code, nickname, grade in school, and so forth. Profile data may include expressed preferences such as favorite colors, books, animals, music, games, and so forth. Profile data may include parental content restrictions provided by a parent with respect to various types of content or access restrictions. Profile data may include daily schedule items such as wakeup, mealtimes, bedtime, school and class times, activities, television programs, and so forth. Profile data may include important dates, such as birthdays, anniversaries, holidays, and so forth. Using the systems disclosed herein, the toy 1610 may be used as a profile generator that generates profile data for a user. The toy 1610 may additionally serve as a receptacle of customized output generated by the toy engine 1620 using the profile data.
The toy engine 1620 may generate control data for the toy 1610. The control data may include new play patterns, realized as state machines, structured code, or any other executable code that may be executed by the toy 1610. The control data may also include media for use by the toy, which may be data, sounds, control sequences for one or more toy output mechanisms, and so forth. The control data may implement a personality of the toy 1610, a mood of the toy 1610, or play patterns for execution by the toy 1610, such play patterns including any of the play patterns and content discussed above for delivery on a toy platform.
The control data may be transmitted to the toy 1610, and executed by the toy 1610 to realize new play patterns and content. The above steps may be repeated, as new data is gathered by the toy 1610 while executing new content and play patterns. The new data may be returned to the toy engine 1620, which may then generate additional content.
Other entities may access the toy engine 1620 to develop, revise, or monitor play pattems distributed by the toy engine 1620, such as a manufacturer 1670, a content provider 1680, an administrator 1682, and a developer 1684 Each entity may be provided with tools for accessing the toy engine 1620 to control content and provide data Further, each entity may communicate with the toy engine 1620 using any of the network or communication systems descπbed above
The manufacturer 1670, such as a manufacturer of the toy 1610, may access the site before the toy 1610 is sold to register a device identification number for the toy 1610 In this manner, each toy to be used with the system may be uniquely recognized
The content provider 1670 may wish to access the toy engine 1620 The content may be a data source, such as a news feed, or the content provider 1670 may be a Brand owner who provides and manages content for the toy 1610 The content provider 1670 may be provided with an interface for specifying any content or delivery restrictions on the type of content delivered to a toy 1610 that is sold under a particular brand For example, if the toy 1610 is associated with Brand X, then the tov 1610 may be prohibited from receiving content that includes certain words, or the toy 1610 may be required to receive content that includes one joke each day The content provider 1670 may also provide original content and may dictate certain content, such as scheduling specific play patterns, scheduling notifications of events, providmg advertisements, and so forth The content provider 1670 may also wish to create content subscπption services, adjust prices for subscnption services, and review financial and usage reports for toys
The admistrator 1680 mav be provided with administrative tools for accessing the toy engine 1620 This may include authorization, password protection account management, registration of content providers and developers, review of content in the content database 1660, review of data m the user data database 1650, notification to other entities of content changes, generation of toy usage reports, generation of content usage reports, generation of financial reports, modification of access, billing, payment, and other terms of usage of the toy engine 1620, system administration, and so forth
The developer 1682 may be provided with an interface and tools for developing content for the toy 1610 This may include creation of a new device definition for the toy 1610, such as when a toy is newly released and first becomes available This may include specification of capabilities of the toy 1610, including definitions of input and output transducers, memory, processing power, and so forth Tools may also be provided to edit play patterns by, for example, defining an effect (e g , smile, laugh, cry, etc ) and defining a plurality of explicit controls for this effect including, for example, instructions to motors, definition of audio output, and so forth. Tools may also be provided for assembling effects into play patterns, including flow control or state machine definitions for execution of play patterns by the toy 1610. The developer 1682 may also edit existing play patterns, effects, and so forth.
The developer 1682 may use the interface and tools to control other parameters associated with play patterns. The developer 1682 may, for example, specify or modify inferences related to usage. These may be input inferences. For example, when a song play pattern is repeated by a user, an inference may be drawn about the user's preference for songs. Particular types of songs may suggest further inferences, all of which may be specified by the developer 1682. Conversely, inferences may be output inferences. Inferences may be included in content about the result of a play pattern or other content. For example, the developer 1682 may specify that a certain song is likely to make a child happy. Flow control for play patterns may rely on these inferences to select different play patterns at different times. The toy engine 1620 may, for example, use input and output inferences, alone or in conjunction with data from the user data database 1650, to generate content and/or play patterns for the toy 1610.
The developer 1682 may also use the tools to specify personalization parameters. For example, play patterns may include a user's name, or other data from the user data database 1650. These personalization parameters may be defined and included in play pattern descriptions as variables specified by the toy engine 1620 when content and play patterns are provided to the toy 1610.
Tools for the developer 1682 may include a graphical user interface for developing toy content. The graphical user interface may include, for example, visual flow charts for designing play patterns, effects description tools, and so forth. Play patterns may be stored during development, either within a database connected to the toy engine 1620, or locally in storage provided by the developer 1682. Tools for the developer 1682 may also include tools for monitoring usage of various play patterns, which may be of considerable value to a developer in improving future play patterns.
It will be appreciated by those skilled in the art that changes could be made to the embodiments described above without departing from the broad inventive concept thereof. It is understood, therefore, that this invention is not limited to the particular embodiments disclosed, but it is intended to cover modifications within the spirit and scope of the present invention.

Claims

What is claimed is:CLAIMS
1. A remotely programable toy comprising: a toy having a body; a processor within the body; a memory within the body, the memory being connected to the processor; a control program stored in the memory, the processor configured to execute the control program to control operation of the body; toy identification data stored in the memory, the toy identification data including information describing characteristics of the toy; a bi-directional data transceiver connected to the processor, the processor configured to transmit the toy identification data to an interface device using the bi-directional data transceiver, and the processor further configured to receive a new control program from the interface device using the bi-directional data transceiver; the interface device configured to transmit and receive data using a data link to a remote server, whereby the interface device transmits the toy identification data from the toy to the remote computer and the interface device transmits the new control program from the remote computer to the toy.
2. A device for performing a predetermined network function, the device comprising: an icon having a body, and an identification number; a connection to an external network access device; a switch within the body of the icon, the switch configured to respond to an activation by initiating a communicating relationship between the external network device and a remote network device, the switch further configured to respond to the activation by providing the identification number of the icon to a remote network location through the communicating relationship between the external network device and the remote network device; the remote network device responding to the identification number by performing a predetermined function.
3. The device of claim 2, wherein the predetermined function is at least one of a logon to the remote network device, generation of a customized Web page, execution of a financial transaction, and authentication.
4. A system for continuous evolution of toy play patterns comprising: a toy configured to collect data during execution of a first play pattern, the toy including a network connection that provides a communicating relationship with a network; a toy engine configured to receive the data collected by the toy through the communicating relationship with the network, and the toy engine configured to process the data to create profile data for a user of the toy, and the toy engine configured to generate a second play pattern, the toy engine further configured to transmit the second play pattern to the toy through the communicating relationship.
PCT/US2000/022722 1999-08-19 2000-08-18 Networked toys WO2001012285A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU66469/00A AU6646900A (en) 1999-08-19 2000-08-18 Networked toys

Applications Claiming Priority (10)

Application Number Priority Date Filing Date Title
US14974399P 1999-08-19 1999-08-19
US60/149,743 1999-08-19
US16127999P 1999-10-25 1999-10-25
US60/161,279 1999-10-25
US17003999P 1999-12-10 1999-12-10
US60/170,039 1999-12-10
US18915800P 2000-03-14 2000-03-14
US60/189,158 2000-03-14
US19933200P 2000-04-24 2000-04-24
US60/199,332 2000-04-24

Publications (2)

Publication Number Publication Date
WO2001012285A1 true WO2001012285A1 (en) 2001-02-22
WO2001012285A9 WO2001012285A9 (en) 2002-07-11

Family

ID=27538361

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2000/022722 WO2001012285A1 (en) 1999-08-19 2000-08-18 Networked toys

Country Status (2)

Country Link
AU (1) AU6646900A (en)
WO (1) WO2001012285A1 (en)

Cited By (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002087717A1 (en) * 2001-04-26 2002-11-07 4Kids Entertainment Licensing, Inc. (Formerly Known As Leisure Concepts, Inc.) Talking toys
WO2003061800A1 (en) * 2002-01-25 2003-07-31 Konami Corporation Remote control toy system, and controller, model and accessory device to be used in the same
US20080153594A1 (en) * 2005-10-21 2008-06-26 Zheng Yu Brian Interactive Toy System and Methods
US20080160877A1 (en) * 2005-04-26 2008-07-03 Steven Lipman Toys
US20100197411A1 (en) * 2007-04-30 2010-08-05 Sony Computer Entertainment Europe Limited Interactive Media
US7798885B2 (en) 2004-08-04 2010-09-21 Mattel, Inc. Instant message toy phone
US7921067B2 (en) 2006-09-04 2011-04-05 Sony Deutschland Gmbh Method and device for mood detection
US8033901B2 (en) 2006-10-09 2011-10-11 Mattel, Inc. Electronic game system with character units
ITPA20100024A1 (en) * 2010-06-11 2011-12-12 Salvatore Leggio A ROBOT-TOY FOR CHILDREN, AS WELL AS THE INTERACTIVE COMMUNICATION SYSTEM INCLUDES SUCH A ROBOT.
WO2012000927A1 (en) * 2010-07-02 2012-01-05 Aldebaran Robotics Humanoid game-playing robot, method and system for using said robot
US8172637B2 (en) * 2008-03-12 2012-05-08 Health Hero Network, Inc. Programmable interactive talking device
CN102462963A (en) * 2010-11-05 2012-05-23 财团法人资讯工业策进会 Doll interaction system and method
US20120137280A1 (en) * 2010-11-26 2012-05-31 Institute For Information Industry Electronic figure and electronic figure system
US8469766B2 (en) * 2005-10-21 2013-06-25 Patent Category Corp. Interactive toy system
US20130344770A1 (en) * 2011-12-07 2013-12-26 Ubooly Inc. Interactive toy
US8795022B2 (en) 2007-07-19 2014-08-05 Hydrae Limited Interacting toys
CN104041082A (en) * 2011-10-31 2014-09-10 特拉克赛卡斯公司 Multi-function electronic device-enabled transmit controller
GB2511479A (en) * 2012-12-17 2014-09-10 Librae Ltd Interacting toys
WO2015042376A1 (en) * 2013-09-19 2015-03-26 Toymail Co., Llc Interactive toy
EP2915567A1 (en) * 2014-03-07 2015-09-09 Mooredoll Inc. Method and device for controlling doll with app and operating the interactive doll
EP2996784A4 (en) * 2014-08-15 2016-04-13 Electronic toy with radial independent connector and associated communication protocol
GB2532141A (en) * 2014-11-04 2016-05-11 Mooredoll Inc Method and device of community interaction with toy as the center
EP2864008A4 (en) * 2012-06-22 2016-11-09 Nant Holdings Ip Llc Distributed wireless toy-based skill exchange, systems and methods
US9526979B2 (en) 2014-03-11 2016-12-27 Microsoft Technology Licensing, Llc Storing state for physical modular toys
US9555326B2 (en) 2014-03-11 2017-01-31 Microsoft Technology Licensing, Llc Gaming system for modular toys
US9592443B2 (en) 2014-03-11 2017-03-14 Microsoft Technology Licensing, Llc Data store for a modular assembly system
US9696757B2 (en) 2014-10-08 2017-07-04 Microsoft Corporation Transfer of attributes between generations of characters
US9703896B2 (en) 2014-03-11 2017-07-11 Microsoft Technology Licensing, Llc Generation of custom modular objects
US20170274289A1 (en) * 2013-03-13 2017-09-28 Hasbro, Inc. Three way multidirectional interactive toy
US9919226B2 (en) 2014-10-08 2018-03-20 Microsoft Technology Licensing, Llc Storage and charging device for game pieces
US10150043B2 (en) 2014-03-11 2018-12-11 Microsoft Technology Licensing, Llc Interactive smart beads
US10188939B2 (en) 2014-03-11 2019-01-29 Microsoft Technology Licensing, Llc Modular construction for interacting with software
US10478723B2 (en) 2014-06-30 2019-11-19 Microsoft Technology Licensing, Llc Track based play systems
US10518188B2 (en) 2014-06-30 2019-12-31 Microsoft Technology Licensing, Llc Controlling physical toys using a physics engine
US10537821B2 (en) 2014-06-30 2020-01-21 Microsoft Technology Licensing, Llc Interactive play sets
US10758828B1 (en) 2017-03-17 2020-09-01 Hasbro, Inc. Music mash up collectable card game
EP3407997B1 (en) 2016-01-25 2021-12-22 Boxine GmbH Toy

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8882561B2 (en) 2006-04-07 2014-11-11 Mattel, Inc. Multifunction removable memory device with ornamental housing

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5697829A (en) 1995-02-06 1997-12-16 Microsoft Corporation Programmable toy
US5746602A (en) * 1996-02-27 1998-05-05 Kikinis; Dan PC peripheral interactive doll
WO1999000979A1 (en) * 1997-06-30 1999-01-07 Microsoft Corporation Method and system for encoding data in the horizontal overscan portion of a video signal
WO1999017854A1 (en) * 1997-10-07 1999-04-15 Health Hero Network, Inc. Remotely programmable talking toy
WO1999060358A1 (en) * 1998-05-20 1999-11-25 Creator Ltd. I*doll
WO2000051697A1 (en) * 1999-03-02 2000-09-08 Creator Ltd. Computer controlled toys that provide messages to the user

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5697829A (en) 1995-02-06 1997-12-16 Microsoft Corporation Programmable toy
US5746602A (en) * 1996-02-27 1998-05-05 Kikinis; Dan PC peripheral interactive doll
WO1999000979A1 (en) * 1997-06-30 1999-01-07 Microsoft Corporation Method and system for encoding data in the horizontal overscan portion of a video signal
WO1999017854A1 (en) * 1997-10-07 1999-04-15 Health Hero Network, Inc. Remotely programmable talking toy
WO1999060358A1 (en) * 1998-05-20 1999-11-25 Creator Ltd. I*doll
WO2000051697A1 (en) * 1999-03-02 2000-09-08 Creator Ltd. Computer controlled toys that provide messages to the user

Cited By (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002087717A1 (en) * 2001-04-26 2002-11-07 4Kids Entertainment Licensing, Inc. (Formerly Known As Leisure Concepts, Inc.) Talking toys
WO2003061800A1 (en) * 2002-01-25 2003-07-31 Konami Corporation Remote control toy system, and controller, model and accessory device to be used in the same
US7798885B2 (en) 2004-08-04 2010-09-21 Mattel, Inc. Instant message toy phone
US20080160877A1 (en) * 2005-04-26 2008-07-03 Steven Lipman Toys
US8540546B2 (en) * 2005-04-26 2013-09-24 Muscae Limited Toys
US8469766B2 (en) * 2005-10-21 2013-06-25 Patent Category Corp. Interactive toy system
US20080153594A1 (en) * 2005-10-21 2008-06-26 Zheng Yu Brian Interactive Toy System and Methods
US7921067B2 (en) 2006-09-04 2011-04-05 Sony Deutschland Gmbh Method and device for mood detection
US8033901B2 (en) 2006-10-09 2011-10-11 Mattel, Inc. Electronic game system with character units
US20100197411A1 (en) * 2007-04-30 2010-08-05 Sony Computer Entertainment Europe Limited Interactive Media
US8827761B2 (en) 2007-07-19 2014-09-09 Hydrae Limited Interacting toys
US8795022B2 (en) 2007-07-19 2014-08-05 Hydrae Limited Interacting toys
US8172637B2 (en) * 2008-03-12 2012-05-08 Health Hero Network, Inc. Programmable interactive talking device
ITPA20100024A1 (en) * 2010-06-11 2011-12-12 Salvatore Leggio A ROBOT-TOY FOR CHILDREN, AS WELL AS THE INTERACTIVE COMMUNICATION SYSTEM INCLUDES SUCH A ROBOT.
CN103079657A (en) * 2010-07-02 2013-05-01 奥尔德巴伦机器人公司 Humanoid game-playing robot, method and system for using said robot
WO2012000927A1 (en) * 2010-07-02 2012-01-05 Aldebaran Robotics Humanoid game-playing robot, method and system for using said robot
FR2962048A1 (en) * 2010-07-02 2012-01-06 Aldebaran Robotics S A HUMANOID ROBOT PLAYER, METHOD AND SYSTEM FOR USING THE SAME
US9950421B2 (en) 2010-07-02 2018-04-24 Softbank Robotics Europe Humanoid game-playing robot, method and system for using said robot
CN102462963A (en) * 2010-11-05 2012-05-23 财团法人资讯工业策进会 Doll interaction system and method
US20120137280A1 (en) * 2010-11-26 2012-05-31 Institute For Information Industry Electronic figure and electronic figure system
CN104041082A (en) * 2011-10-31 2014-09-10 特拉克赛卡斯公司 Multi-function electronic device-enabled transmit controller
US20130344770A1 (en) * 2011-12-07 2013-12-26 Ubooly Inc. Interactive toy
EP2864008A4 (en) * 2012-06-22 2016-11-09 Nant Holdings Ip Llc Distributed wireless toy-based skill exchange, systems and methods
GB2511479A (en) * 2012-12-17 2014-09-10 Librae Ltd Interacting toys
US10512850B2 (en) * 2013-03-13 2019-12-24 Hasbro, Inc. Three way multidirectional interactive toy
US20170274289A1 (en) * 2013-03-13 2017-09-28 Hasbro, Inc. Three way multidirectional interactive toy
WO2015042376A1 (en) * 2013-09-19 2015-03-26 Toymail Co., Llc Interactive toy
US9937428B2 (en) 2013-09-19 2018-04-10 Toymail Inc. Interactive toy
EP2915567A1 (en) * 2014-03-07 2015-09-09 Mooredoll Inc. Method and device for controlling doll with app and operating the interactive doll
US10150043B2 (en) 2014-03-11 2018-12-11 Microsoft Technology Licensing, Llc Interactive smart beads
US10159894B2 (en) 2014-03-11 2018-12-25 Microsoft Technology Licensing, Llc Gaming system for modular toys
US10445437B2 (en) 2014-03-11 2019-10-15 Microsoft Technology Licensing, Llc Generation of custom modular objects
US9703896B2 (en) 2014-03-11 2017-07-11 Microsoft Technology Licensing, Llc Generation of custom modular objects
US9555326B2 (en) 2014-03-11 2017-01-31 Microsoft Technology Licensing, Llc Gaming system for modular toys
US10188939B2 (en) 2014-03-11 2019-01-29 Microsoft Technology Licensing, Llc Modular construction for interacting with software
US9526979B2 (en) 2014-03-11 2016-12-27 Microsoft Technology Licensing, Llc Storing state for physical modular toys
US9592443B2 (en) 2014-03-11 2017-03-14 Microsoft Technology Licensing, Llc Data store for a modular assembly system
US10089253B2 (en) 2014-03-11 2018-10-02 Microsoft Technology Licensing, Llc Data store for a modular assembly system
US10518188B2 (en) 2014-06-30 2019-12-31 Microsoft Technology Licensing, Llc Controlling physical toys using a physics engine
US10478723B2 (en) 2014-06-30 2019-11-19 Microsoft Technology Licensing, Llc Track based play systems
US10537821B2 (en) 2014-06-30 2020-01-21 Microsoft Technology Licensing, Llc Interactive play sets
EP2996784A4 (en) * 2014-08-15 2016-04-13 Electronic toy with radial independent connector and associated communication protocol
US10173142B2 (en) 2014-08-15 2019-01-08 Vtech Electronics, Ltd. Electronic toy with radial independent connector and associated communication protocol
EP3345668A1 (en) * 2014-08-15 2018-07-11 VTech Electronics, Ltd. Electronic toy with radial independent connector and associated communication protocol
US11305205B2 (en) 2014-08-15 2022-04-19 Vtech Electronics, Ltd. Electronic toy with radial independent connector and associated communication protocol
US9919226B2 (en) 2014-10-08 2018-03-20 Microsoft Technology Licensing, Llc Storage and charging device for game pieces
US9696757B2 (en) 2014-10-08 2017-07-04 Microsoft Corporation Transfer of attributes between generations of characters
US10500497B2 (en) 2014-10-08 2019-12-10 Microsoft Corporation Transfer of attributes between generations of characters
GB2532141A (en) * 2014-11-04 2016-05-11 Mooredoll Inc Method and device of community interaction with toy as the center
TWI559966B (en) * 2014-11-04 2016-12-01 Mooredoll Inc Method and device of community interaction with toy as the center
EP3407997B1 (en) 2016-01-25 2021-12-22 Boxine GmbH Toy
US10758828B1 (en) 2017-03-17 2020-09-01 Hasbro, Inc. Music mash up collectable card game
US11383172B1 (en) 2017-03-17 2022-07-12 Hasbro, Inc. Music mash up collectable card game

Also Published As

Publication number Publication date
WO2001012285A9 (en) 2002-07-11
AU6646900A (en) 2001-03-13

Similar Documents

Publication Publication Date Title
WO2001012285A1 (en) Networked toys
US20230105041A1 (en) Multi-media presentation system
JP3936749B2 (en) Interactive toys
WO2001069830A2 (en) Networked interactive toy system
US6773344B1 (en) Methods and apparatus for integration of interactive toys with interactive television and cellular communication systems
US11366531B2 (en) Systems, methods, and apparatus for enhanced peripherals
Druin et al. Robots for kids: exploring new technologies for learning
US9833725B2 (en) Interactive cloud-based toy
US20030115240A1 (en) Schedule managing character and information providing system and method using same
US20020028704A1 (en) Information gathering and personalization techniques
WO2001069829A2 (en) Networked interactive toy apparatus operative to promote sales
US7137861B2 (en) Interactive three-dimensional multimedia I/O device for a computer
CN107000210A (en) Apparatus and method for providing lasting partner device
WO2008044325A1 (en) Information providing system
JP2003205483A (en) Robot system and control method for robot device
CN105409197A (en) Apparatus and methods for providing persistent companion device
KR20130124572A (en) Genius adaptive design
JP2002153672A (en) Learning/growth system and method for toy using daily necessities
WO2001069799A2 (en) Methods and apparatus for integration of interactive toys with interactive television and cellular communication systems
US20050288820A1 (en) Novel method to enhance the computer using and online surfing/shopping experience and methods to implement it
Salter Sensing machines: How sensors shape our everyday life
WO2001050362A1 (en) Purchase system and method, order accepting device and method, and computer program
Gulliksson Pervasive design
Malinowska Love in Contemporary Technoculture
Dix et al. TouchIT: Understanding Design in a Physical-Digital World

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

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

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

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

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 BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

COP Corrected version of pamphlet

Free format text: PAGES 1/15-15/15, DRAWINGS, REPLACED BY NEW PAGES 1/15-15/15; DUE TO LATE TRANSMITTAL BY THE RECEIVING OFFICE

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

Ref country code: JP