EP1390929A2 - Smart toys - Google Patents
Smart toysInfo
- Publication number
- EP1390929A2 EP1390929A2 EP00973365A EP00973365A EP1390929A2 EP 1390929 A2 EP1390929 A2 EP 1390929A2 EP 00973365 A EP00973365 A EP 00973365A EP 00973365 A EP00973365 A EP 00973365A EP 1390929 A2 EP1390929 A2 EP 1390929A2
- Authority
- EP
- European Patent Office
- Prior art keywords
- conversation
- toy
- toys
- message
- ofthe
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63H—TOYS, e.g. TOPS, DOLLS, HOOPS OR BUILDING BLOCKS
- A63H3/00—Dolls
- A63H3/28—Arrangements of sound-producing means in dolls; Means in dolls for producing sounds
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63H—TOYS, e.g. TOPS, DOLLS, HOOPS OR BUILDING BLOCKS
- A63H2200/00—Computerized interactive toys, e.g. dolls
Definitions
- the present invention generally relates to toys, and, more particularly, to a toys that may interact with one another so as to provide the appearance of carrying on a conversation.
- the present invention is directed to toys that may interact so as to present the appearance of the toys conversing.
- the toys feature an architecture including a physical layer, a messenger layer and an application layer.
- the physical layer communicates with the application layer through the messenger layer.
- the physical layer receives and transmits messages from and to compatible toys through a physical medium.
- the physical layer may be an infrared transceiver, radio transceiver or any other type of wireless communications.
- the messenger layer receives and verifies messages from the physical layer and passes verified messages to the application layer.
- the messenger layer also receives messages from the application layer and passes the messages from the application layer to the physical layer for transmission.
- the application and messenger layers may be implemented on micro-controllers or an application-specific integrated chip.
- the application layer features a forest of decision graphs, where each of the decision graphs co ⁇ esponds to a conversation.
- Each of the decision graphs includes a number of nodes with at least some of the nodes co ⁇ esponding to a portion of the conversation of the decision graph.
- Each of the nodes includes one or more contexts with each of the contexts co ⁇ esponding to an edge leading to one or more child nodes.
- the selection of the context directs progression of the conversation between the toys.
- the application layer also includes a participants list that lists the toys participating in the conversation and a conversation manager. The participants list is utilized in selecting the conversation/decision graph and may be utilized in selecting the context.
- the conversation manager broadcasts updates regarding the participants list and the identification number of the node of the cu ⁇ ent conversation/decision graph.
- the messenger layer includes a receiver component and a transmitter component.
- the transmitter component passes a message acknowledgement (MSG ACK) containing a copy of at least a portion of the message to the physical layer for transmission to an originating toy that sent the message.
- the messenger layer passes the message to the application layer upon receipt of an acknowledgement acknowledgement (ACK_ACK) from the originating toy in response to the transmission of the message acknowledgement (MSG ACK) indicating that the originating toy has verified proper receipt of the message by the receiving toy.
- ACK_ACK acknowledgement acknowledgement
- MSG ACK message acknowledgement
- Fig. 1 is a diagram illustrating an initiation broadcast by toy A, which is an embodiment of the toy of the present invention, in a 2-toy handshaking scenario;
- Fig. 2 is a diagram illustrating a toy B performing an initiation acknowledgment of the initiation broadcast by toy A of Fig. 1;
- Fig. 3 is a diagram illustrating a sustained conversation between the toys of Fig. 2;
- Fig. 4 is a diagram illustrating an initiation of a 3 -way interaction between the toys of Fig. 2 and an additional toy C;
- Fig. 5 is a diagram illustrating initiation acknowledgment in the 3 -toy interaction scenario of Fig. 4;
- Fig. 6 is a diagram illustrating sustained 3-way conversation between the 3-toys of Fig. 4;
- Fig. 7 is a diagram illustrating the removal of a toy from the conversation of Fig. 6;
- Fig. 8 is a block diagram of the generalized layered architecture for an embodiment of the toy of the present invention.
- Fig. 9 is a diagram of the infrared transmission and reception components of an embodiment of the toy of the present invention.
- Fig. 10 is a block diagram of the micro-controller architecture in an embodiment of the toy of the present invention.
- Fig. 11 is a block diagram of the first micro-controller of the toy of Fig. 10;
- Fig. 12 is a block diagram of the second micro-controller of the toy of Fig. 10;
- Fig. 13 is a diagram illustrating the high-level idealized data and control flows for the receiver and transmitter components of an embodiment of the toy of the present invention
- Fig. 14 is a diagram illustrating the flow of the receiver component of the toy of Fig. 13;
- Fig. 15 is a diagram illustrating the flow of the transmitter component of the toy of Fig. 13;
- Fig. 16 is an illustration of a decision graph of the type used by an embodiment of the toy of the present invention.
- Fig. 17 is a detailed view of a node of the decision graph of Fig. 16;
- Fig. 18 is an illustration of a forest of decision graphs
- Fig. 19 is a block diagram of a conversation process for an embodiment of the toy of the present invention.
- Fig. 20 is a flow chart of the initiation transmission (part 1) of an embodiment of the toy of the present invention.
- Fig. 21 is a flow chart of the initiation transmission (part 2) of the toy of Fig. 20;
- Fig. 22 is a diagram illustrating the initial state of the conversation flow framework for toys A, B and C constructed in accordance with the present invention
- Fig. 23 illustrates the decision graph of the toys of Fig. 26;
- Fig. 24 is a diagram illustrating the conversation manager toy providing an initial notification to toy C of Fig. 22;
- Fig. 25 is a diagram illustrating toy C transmitting a NEXTJSfODE message to toy A of Fig. 22;
- Fig. 26 is a diagram illustrating toy C performing its action
- Fig. 27 is a diagram illustrating toy C sending an ACTION_COMPLETED message to toy A;
- Fig. 28 is a diagram illustrating an additional toy D joining the toys of Fig. 22 and broadcasting an INITIATION request;
- Fig. 29 is a diagram illustrating toy A transmitting an INIT_ACK message to toy D;
- Fig. 30 is a diagram illustrating toy A broadcasting the cu ⁇ ent conversation context
- Fig. 31 is a diagram illustrating all toys updated with a complete conversational context
- Fig. 32 is a block diagram of the translation mechanism of an embodiment of the toy of the present invention.
- Fig. 33 is a diagram illustrating a toy A by itself
- Fig. 34 is a diagram illustrating a set of duplicate/redundant toys A
- Fig. 35 is a diagram illustrating two sets of duplicate/redundant toys A and B.
- the present invention is directed to a toy that may interact with other toys so as to present the appearance of the toys conversing.
- the interaction is provided by a toy that inco ⁇ orates several cutting-edge technologies such as artificial intelligence, advanced communication protocols and hardware, the latest in speech storage, micro-controller technologies and a host of others to achieve multi-modal collaborative agent communication.
- This is achieved in both intra-series (within one particular toy product line) and inter-series (spans across a number of toy product lines) asynchronous communal speech.
- the toy may perform asynchronous speech with other toys within it's own toy line or series. This exists in either 1 : 1 character conversation or n:n characters (including duplicate characters) in a single line or series of toys (i.e.
- toys from a childrens' movie sitting around a fire telling ghost stories An alternative modality provides for the collaborative speech of toys of completely separate series (i.e. toys from a childrens' movie are approached by a fashion doll that was not a character in the movie and act particularly shy and nervous, their conversation reflecting their discomfort).
- the underlying theme of the conversation can range anywhere from dialogues from a movie to strategic planning conversations (two groups of toys planning a war between themselves) or collaborative conversations (like a group of dolls planning a tea-party).
- the toy of the present invention is capable of performing high-level functions such as robust, dynamic, and efficient distributed management of n- way interactions between toys, space and memory efficient storage and generation of thousands of unique conversations, intra-series communication and inter-series communication. Simple Two- Way Toy Handshaking and Interaction
- the first (and simplest) interaction scenario is between two toys.
- Generalized n- way interaction is an extension of the two-way scenario and is described in a subsequent section.
- a single toy is turned on and begins to broadcast an INITIATION message to notify any nearby toys of its awakening. The message is not directed toward any particular toy.
- Fig. 1 shows a single toy 50, Toy A, broadcasting the INITIATION message. The broadcast is repeated over a period of time until an acknowledgment is received from another toy or Toy A is turned off.
- Toy B receives the INITIATION message from Toy A at time tl and responds with an INIT_ACK message at time t2 (tl ⁇ t2).
- both Toy A and Toy B have updated the conversation manager (CM) for the cu ⁇ ent conversation episode as well as the cu ⁇ ent actors for the conversation (Toy A and Toy B).
- Every conversation episode has a conversation manager which is in charge of selecting the conversation, managing interactions between toys in the normal flow of conversation, and handling various e ⁇ or conditions.
- Actors are toys which participate in the current conversation episode. There are many ways of selecting the conversation manager given a set of participants in a conversation episode, as well as algorithms for selecting a conversation probabilistically given a set of possible conversations and the set of actors. Examples are provided in a later section.
- the conversation consists of a sequence of actors performing prescribed actions (which may be speech, articulation, or even movement) which is supported by an underlying backbone of wireless communications to order the sequence of actions.
- prescribed actions which may be speech, articulation, or even movement
- the two-way interaction scenario may be extended to handle three-way and n-way toy interaction.
- a scenario wherein Toys A and B are engaging in a two-way conversation, and Toy C (54) enters into the vicinity and broadcasts an INITATION message is illustrated in Fig. 4.
- Toys A and B could ignore Toy C or seamlessly inco ⁇ orate Toy C into the conversation.
- the first option is trivial to implement, the second option is described here.
- Toy A receives the INITIATION message from Toy C it responds (without breaking the flow of conversation with Toy B) to Toy C with an INIT_ACK message (Fig. 5).
- Toy A first sends an INIT_ACK message to Toy C at time t p (t 0 ⁇ t p ).
- the INIT_ACK message contains the context of the cu ⁇ ent conversation (e.g. the conversation manager identity, the actors in the conversation, and information about the cu ⁇ ent conversation). This updates Toy C's internal representation.
- the conversation manager (Toy A) then broadcasts a new member notification containing Toy C to all of the cu ⁇ ent actors in the conversation at time t a (t p ⁇ t_).
- the other actors e.g. Toy B
- receive the update message all of the internal representations of the actors are synchronized.
- Toy C is now a full member of the conversation and can participate when directed.
- Another common scenario during a conversation is when a toy drops out of the conversation. This may be due to many reasons. For example, the toy may have moved out of range of the other toys, the child (or owner) may decide to remove it from the cu ⁇ ent conversation or it may run low on battery power. This scenario is shown in Fig. 7, where Toy C drops out of the conversation.
- the toys will follow their toy-number, or Global Identification Number (GIN), to determine which two toys have priority.
- the two toys with priority initiate the handshaking procedure as described above.
- all that the third toy is doing is sending an INITIATION message.
- the INITIATION message is received by one of the first two toys that have already finished the handshaking stage and are now in the communication stage.
- the toy receiving the INITIATION message will send an INIT-ACK message as illustrated in Fig. 6.
- the processing will then proceed as described above with regard to Fig. 5.
- This subsection describes a general underlying architecture to implement the functionality described in the previous subsection.
- Fig. 8 shows the layered architecture for two toys or units 60 and 62. It should be noted that every toy/unit has an identical architectural structure.
- the Physical Medium 64 consists of the technology which allows for the transmission of data 65 between different toys. This medium may be infrared (IR), radio waves (RF) or other forms of wireless communication.
- the Physical layer indicated at 66 in Figs. 8 and 9, consists of the hardware (HW) and embedded software (SW) which allows each toy to access and effect the Physical Medium.
- HW hardware
- SW embedded software
- a receiver 68 feeds data into a protocol/data pipeline 69 and a transmitter 70 which sends data from a protocol/data pipeline 71.
- the protocol/data pipelines 69 and 71 communicate with the Messenger layer 72 of Fig. 8.
- the information that is transmitted and received by the IR transmission and reception circuitry is a protocol in binary sequence.
- the IR reception and transmission circuitry may be inco ⁇ orated into a single device such as a standard 60kHz IR transceiver.
- a two-stage process occurs. First is the processing which involves the verification and extraction of information from the message received. Second is the analysis of this information to determine what is the next thing that the toy must do.
- the processing and analysis are performed by the Messenger and Applications layers of the invention architecture, respectively, which are implemented on a controller, an embodiment of which is illustrated at 73 in Fig. 10.
- Controller 73 may be an integrated circuit chip or any other electronic device.
- Fig. 10 illustrates a controller with a duo microcontroller a ⁇ angement, featuring a first micro-controller 1, indicated at 74, and a second micro-controller 2, indicated at 76. Micro-controllers 74 and 76 are utilized to implement the Messenger and Application layers, 72 and 78 in Fig. 8, respectively.
- a transmission Once a transmission has been received successfully by a toy, it is processed so that it is verified and the relevant fields that contain information needed in the analysis stage are extracted. This is handled by the first micro-controller 74.
- the "Receiver" field is processed. If the message is not addressed to the receiving toy, the message is not addressed to everyone (a broadcast message) or it is not a special transmission, then the transmission will be discarded. If the message is addressed to the receiving toy, is a general transmission or is a special broadcast, then the message is further verified and is considered for the analysis stage.
- the appropriate fields (Sender, Receiver, Message ID, etc.) are extracted and by the Messenger layer and the composed stream is passed to the second micro-controller (76 in Figs. 10 and 12).
- the Messenger layer 72 performs the low-level actions of sending and confirming complete messages (generated by the Application layer 78) to other toys accessible through the Physical Medium.
- the Messenger layer manages message requests from the Application layer and controls/monitors the data transmitted/received by the Physical layer.
- the Messenger layer performs flow control, e ⁇ or-handling, and supports both point-to- point (i.e. toy to toy) as well as broadcast style communications.
- the Messenger layer may also interact directly with any specialized supporting hardware.
- the Application layer 78 (Figs. 8 and 12) handles all high-level control of the system. It manages the toy's interaction with other toys and enables all of the unique functionalities. In particular, the Application layer is able to negotiate and sustain multi- way interactions/conversations with other toys accessible through the Physical Medium.
- the Application layer for a particular toy communicates with the Application layer for other toys. Message requests are sent by the Application layer to the Messenger layer.
- the Application layer may also handle interactions with support hardware such as EEPROMs/memory units and voice synthesis technologies.
- the information verified and extracted from the raw message in the Messenger layer is sent to the second micro-controller 76 for analysis by the Application layer 78 and whatever appropriate action needs to be taken.
- a conversation is selected from the Application layer Decision Graph forest (discussed later) to choose how the conversation is going to progress.
- the dialog for the toy is stored on some secondary storage medium.
- the sentences may be stored on a voice storage chip. Once retrieved, the sentence is audibly played through speaker 75. Any storage medium can be used as long as the retrieval time is factored into the response-time for the toy and is under an acceptable limit.
- the last stage of this process involves the compilation of a new message in the format of the protocol using information retrieved from the conversation data and the toy's internal identification number/Global Identification Number (GIN). This new message is sent to the Messenger layer which routes the message for transmission.
- GIN Internal Identification Number/Global Identification Number
- Support HW may consist of, but is not limited to, EEPROMs/ memory, voice synthesis technologies, electro-mechanical control and actuation units.
- simple animation of the mouth based on the spoken voice can be achieved by using electromagnetic attractors on the lower side of the jaw of the toy. The greater the intensity of the sound, the more the mouth is forced to open. Pseudo-realistic movement can be achieved by using a simple cutoff mechanism for smaller fluctuations of the voice.
- Technology for smoothening (such as a Fourier transform) can be used.
- HW Micro-controller Embodiment
- micro-controllers are essentially small processors, with limited processing power and memory, which are used to control devices.
- the advantage of using microcontrollers is that they are easily (re)programmable. Depending on the power of the selected micro-controller, one or many micro-controllers may be used, along with the necessary support hardware.
- ASIC Application-Specific Integrated Circuit Chip
- the "ASIC" embodiment covers any attempt to implement the above controller 73 (Fig. 10) or architecture directly as a chip or chipset. These implementations are more difficult but usually yield a lower-per-unit cost as well as potentially higher performance characteristics.
- Typical "ASIC" embodiments may be built from scratch or use some programmable architecture (i.e. field-programmable gate a ⁇ ays, LASICs, etc.).
- the Messenger layer represents the unit of functionality which allows the different units to transmit and receive messages reliably.
- the Messenger layer implements the nuts and bolts of receiving messages asynchronously from an outside source (which it passes on to the Application layer), and transmitting messages given to it by the Application layer.
- the Messenger layer must perform the handshaking necessary to verify that the message it receives/transmits is correct and complete, and must be scalable sufficiently to operate reliably and efficiently in an environment with multiple units.
- the Messenger layer implements one key data format: the Message.
- the Message represents the basic unit of communication between toys across the Physical Medium.
- a Message imposes a methodology of inte ⁇ reting the series of bits that compose the Message (which may be fixed or standard length).
- the Message format is a series of "strings" of bits; each string or set of strings has a well-defined meaning.
- the key "strings"/ sets of "strings" which form a message are: 1) Message Begin/Message End; 2) Sender; 3) Receiver; 4) Message ID; 5) Message Type; 6) State Data; 7) Message Content.
- Message Begin/Message End represent strings which define the beginning or end of a Message. These strings are used by toys to determine when data read by the Physical layer is meaningful or not.
- the Sender string identifies the sender of the Message.
- the Receiver string identifies the intended receiver of the Message. In some cases this field is blank (i.e. for broadcasts to the set of toys accessible through the Physical Medium).
- Message ID is an optional string which is a unique identifier for a Message.
- Message Type is an optional string which allows the receiver additional early inte ⁇ retation capabilities.
- State Data is an optional string which allows the transmitter to send state data about its internal representation to other units very efficiently. This string will have its own implementation-specific sub-string semantics.
- Message Content is a fixed or variable-length string which encodes the body of the Message.
- a potential embodiment of the above is to designate the following representation for Messages transmitted by the Messenger layer, with each Message being no longer than MAXLENGTH (e.g. 300) bits total:
- a unique identifier for the unit transmitting the message (8 bits). Starts from 1.
- a unique identifier for the unit receiving the message (8 bits). Starts from 1. Broadcast messages will have this field set to 0. Message ID
- Context is a representation of a conversational context (which may be emotion, conversation tracks, topics, etc.).
- Variable-length field which contains the contents of the message. Its inte ⁇ retation varies according to the Message Type. Some examples are:
- the Messenger layer must interact with the Physical layer to transmit its Messages to the Physical Medium.
- This interface is technology-dependent and may be simple or complex, depending on the technology used to implement the Physical layer.
- a stream of bits may be required, or more sophisticated Physical layers may be able to access an entire unit of information (e.g. a Message) all at once.
- a potential embodiment of this is an interface with an infrared (IR) transceiver unit.
- a common clock drives both the IR unit as well as the Messenger layer's interface component.
- the IR unit is able to transmit/receive one bit per clock cycle.
- the Messenger layer transforms a Message into a stream of bits which is sent to the IR transceiver.
- For reception, during each clock cycle a bit of data is recorded from the IR transceiver and stored in a data buffer within the Messenger layer. This data buffer is constantly scanned for Message Begin bit strings. When a Message Begin is discovered, all of the bits between it and a Message End bit string are saved in the buffer and inte ⁇ reted as a Message. If the Message End is not received within MAXLENGTH bits then the MAXLENGTH bits within the buffer are inte ⁇ reted as a Message. Numerous other e ⁇ or handling techniques are possible.
- the Messenger layer must interact with the Application layer. On the basis of its internal state, the Application layer may request that the Messenger layer send a Message to a particular toy or to all toys accessible through the Physical Medium. When it receives a Message transmission request, the Messenger layer may either make the Application layer wait until it has successfully sent the Message (blocking) or allow the Application layer to continue processing during the physical transmission of the Message (non- blocking).
- Blocking mode is simpler to implement and does not require extra technology to ensure that the Messenger layer is not overburdened.
- Non-blocking mode allows for parallel processing (and enhanced performance) but is more complicated to implement. Data Flow and Algorithms
- All communications are modeled as single communication sessions between two units.
- a communication session between two units consists of: message transmission, e ⁇ or-checking, and potential retransmissions.
- the Messenger layer features a Receiver component and a Transmission component.
- the Transmitter is a component of the unit/toy sending the message and the Receiver is a component of the toy/unit receiving the message.
- Receive msg ack from Receiver Compare content of msg ack with the Original message it transmitted. If successful, send an ack of the msg ack to the Receiver (ACK ACK)
- MSG sent from the transmitter to the receiver
- MSG_ACK sent from the receiver to the transmitter
- MSG_ACK is the receiver's acknowledgment of MSG.
- MSG_ACK also allows the transmitter to perform e ⁇ or checking on what message the receiver has received.
- ACK_ACK sent from the transmitter to the receiver
- ACK_ACK is an acknowledgment that MSG_ACK checked out and that the receiver indeed has the correct message.
- the Messenger layer is implemented using a Finite-State Machine (FSM) with eight total states.
- FSM Finite-State Machine
- the FSM is divided into two major components, a Receiver component (Fig. 14) and a Transmitter component (Fig. 15).
- the Receiver and Transmitter states are indicated by the circles. It should be noted that transition between the Receiver component and the Transmitter component only occurs between the first two states of the components (i.e. State 0 of the Receiver and State 5 of the Transmitter).
- the main receive state of the Messenger layer/FSM In this state, it watches only for messages with Message Type fields set to MSG and Receiver fields that are addressed to it or to "0". Saves the message for the duration of the communication session, including the message's msg id (Message ID field).
- Transition Rules Go to State 5 if the Application layer has data available and a message Begin field hasn't been received yet.
- Initial send state If data is available from the application module, create a new message for it. Transmit the message. Keep track of the number of retransmissions of this message; limit it to 3.
- Messages preferably are stored in the Messenger layer bit a ⁇ ays.
- a set of accessor routines are programmed which, when given a message bit a ⁇ ay, are able to retrieve the sender, receiver, msg id, msg_type, and msg_content fields. Routines which are able to recognize a message header and footer within a stream of bits are preferably also present. Time Outs
- a systematic e ⁇ or for garbled messages is when different units attempt to transmit at the same time. Thus it is necessary for retransmissions to provide some variations in start times. This is achieved by waiting a period of time between retransmissions with some randomness thrown in. For example, suppose that the maximum message transmission time is X seconds. Then a retransmission request may wait 5*X + U(0,1) seconds (where U(0,1) is the uniform distribution between 0 and 1) before commencing retransmission to minimize chances of interference.
- the Application layer is responsible for the overall control and enactment ofthe toy capabilities.
- the Application layer consists of two elements: a process which defines how multiple, independent toys may coordinate with each other to hold seemingly spontaneous conversations about various topics and a set of internal representations (i.e. data structures) which enable the above process. Every toy implements the process and internal representations. Internal Representations
- the process determines how the toys interact but does not define the basis of the interaction. This basis may be described by the internal representations, or data structures, which circumscribe the content of the interaction by their design. It should be noted that a particular toy's content is not being defined, but rather a framework in which content is defined and organized. Decision Graphs
- a Decision Graph The key data structure utilized by the invention, a Decision Graph, is a compact representation of many possible conversations and the technology necessary to implement realistic conversations.
- Fig. 16 shows a high-level view ofthe form of a Decision Graph.
- Decision Graphs consist of a set of nodes 80-96 (which represent pieces of conversation) connected together by a set of directed edges 100-114 (one-way edges) which define allowable transitions between nodes.
- Each node has a non-empty set of fanins (nodes connected to edges coming into the node) as well as fanouts (nodes connected to edges going out of the node).
- the fanin set for a given node is called the node's parents, while the fanout set for a given node is called the node's children.
- a node may have multiple fanins and fanouts, although they may not have a Cycle (i.e.
- a Decision Graph has some of the key characteristics of a Directed Acyclic Graph (DAG).
- DAG Directed Acyclic Graph
- Each node represents a discrete unit of conversation encoded by the Decision Graph.
- Complete conversations are constructed by traversing (i.e. going from node to node) a Decision Graph from the root node to one of the leaf nodes of the graph. While at a given node, any of the children of the node may be selected as the next node in the conversation.
- a single Decision Graph may encode a number of distinct conversations that still make logical sense (given that the Decision Graph's content is defined properly by the manufacturer ofthe toy).
- Decision Graphs implement Contexts, which are flexible groupings of edges which organize the elements of a Decision Graph into smaller subgroupings. Contexts may be used to represent various emotional states of the toys, i.e. anger, sadness, surprise, fear, etc. Selection among the contexts in a given node may be deterministic (i.e. not left to chance) or non-deterministic (subject to random variation). Non-determinism of context selection may be biased on- historical context (i.e. a history of the last n contexts selected coming into the cu ⁇ ent node, as in a Markov chain).
- Fig. 17 is a detailed diagram of a node within a Decision Graph. Each node has data fields: Node ID, Actor, Action, and Other Data. Node ID is the unique identifier of the node. Actor is the set of toys which perform an action for this node (i.e. speech or physical enactment). Action is the set of actions that the actors perform for this node. Finally, Other Data are all other associated data for the node. After these data fields comes the Context Set. In Fig. 17, there are n different contexts labeled Context 1 to Context n. There can be any number of contexts defined for a given node. Each context may have a probability associated with it, Prob(l) to Prob(n).
- probabilities are optional and are used only when a non-deterministic traversal of the Decision Graph is desired. Also, it should be noted that a number of embodiments of the probabilities associated with Contexts are possible, including, but not limited to: 1) storing the probabilities within each node; 2) storing the probabilities within a global table available to all nodes; etc.
- Each Context is linked to a set of Children Ids with their own associated probabilities. For example, in Fig. 17 Context 1 is linked to Child(l, 1) to Child(l, m,). These identifiers are the Node Ids of the m, children for Context 1 for this node. Thus Child(k, 1) represents a directed edge in the Decision Graph. Thus, the above node has m, + m 2 + m 3 + ... + m_ children distributed among its n Contexts. Each child may also have a probability associated with it, i.e. Prob(l, 1) to Prob(l, m,) for Child(l, 1) to Child(l, m,) when non-deterministic traversal is desired. Each Context has its own set of children, i.e. Child(2, 1) to Child(2, m 2 ) for Context 2, and Child(n, 1) to Child(n, m n ) for Context n. Forests of Decision Graphs
- Each toy contains a set or "forest" of Decision Graphs. All of these Decision Graphs are linked together by their root nodes to a top-level forest root node 118 (Fig. 18). Each Decision Graph (shown for simplicity as a triangle) represents a set of potential conversations. Special decision graphs may exist to implement particular conversational scenarios, for example welcoming a toy into an existing conversation, or dismissing a toy from an existing conversation. In this case, the conversational flow may jump from within a given Decision Graph to another Decision Graph and then return to the original graph.
- Fig. 19 The process of controlling multiple toys interacting with each other may be divided into three sequential sub processes, as shown in Fig. 19:
- Conversation Initiation 120 is the process by which a set of independent toys coordinate to initiate a conversation.
- the Conversation Initiation process covers the behavior of a toy starting from when it is turned on to the point where a group of toys participating in a conversation (a Conversation Group) has been created, a "manager" has been selected to initiate and to handle e ⁇ or situations (the Conversation Manager), a conversation for the Conversation Group has been selected, and all of the toys have been notified ofthe conversation.
- Conversation Progression 122 is the phase in which the toys interact with each other to play out a conversation based on their internal representations of the conversation (a Decision Graph). This process, like the other processes, must be robust enough to survive many e ⁇ or conditions.
- Conversation Termination 124 is the process by which the cu ⁇ ent conversation ends and in which all ofthe toys are "reset" to the Conversation Initiation process.
- the set of all toys participating in a given conversation is called the Conversation Group.
- Each toy of a Conversation Group is an Actor, i.e. a toy which is called upon to perform actions during the course of a conversation. Every Conversation Group must have a Conversation Manager. Selected during the Conversation Initiation process, the Conversation Manager is central to this process and the subsequent Application layer tasks illustrated in Fig. 19.
- the Conversation Manager is responsible for selecting, initiating and sustaining the conversation, and helps to resolve e ⁇ or situations.
- the Conversation Manager may change dynamically during a conversation. Situations where the Conversation Manager may change are, but are not limited to: 1) the existing Conversation Manager is removed from the Conversation Group; 2) load-balancing purposes (i.e. the cu ⁇ ent Conversation Manager is overloaded from its duties as an Actor).
- a Conversation Manager is also an Actor in its Conversation Group.
- the Conversation Manager selects a conversation. More specifically, it is the CM's responsibility to pick a single Decision Graph that represents a "line of conversation" along with its deviations. The CM must pick a Decision Graph root node that co ⁇ esponds to one of the actors in its current active conversation group list. This will ensure that the conversation always has an actor who is active start off the conversation.
- the CM also maintains the active actor list.
- the CM will, at regular intervals, broadcast a CONV_UPDATE Message.
- This Message has a reserved id field indicating that it is a CM transmission, the sender is assumed to be the current CM and the receiver is the cu ⁇ ent membership of the Conversation Group.
- This transmission when received by a toy/actor will cause the receiving toy/actor to update its own list.
- There is no MSG_ACK to this message except for the case when an actor who believes itself to be on the Active list finds that it is not included on the transmitted list. In this case it transmits its INITIATION Message to the CM and continues to do so after every CONV UPDATE message that it finds itself not included in.
- Conversation Initiation is the process by which a set of independent toys/units coordinate to initiate a conversation.
- Conversation Initiation may be broken down into three phases:
- the Initiation Transmission/Conversation Manager Selection phase covers the initial stages of coordination between units. In this phase a number of units have been brought together and they must discover each other and select a Conversation Manager for the next phases of conversation initiation.
- the Conversation Manager Given a set of units with unique integer ids, or Global Identification Numbers (GINs) the Conversation Manager is defined as the unit with the highest-valued id.
- Figs. 20 and 21 show a flowchart ofthe initiation transmission phase. It should be noted that there are four types of messages being sent during this phase:
- INITIATION - a message which is empty except for the Sender field from_id. It is used as a "ping" to locate other units. Note that this is a "broadcast” message, i.e. one that does not have a Receiver fiel ⁇ Vto id specified.
- INIT_ACK a message which is empty except for the from_id and to_id. It is used to respond to an INITIATION message that has been received and is used to identify the recipient ofthe INITIATION message to the sender.
- CONV_PROPOSAL - a message which contains the from id and the node id of a proposed conversation in the message content field. This is also a broadcast message.
- DONE - a message which contains a from_id and which signifies the end of a conversation (a broadcast message).
- the DONE message is never sent during conversation initation, but when received during unit operation it restarts the initiation transmission phase.
- MAX_INITIATION_TIME The amount of time that each unit spends actively sending INITIATIONS and INIT_ACKs to other units. The value of this time period is fixed.
- TR_TIME The amount of time before the next INITIATION transmission. Considerably less than MAX_INITIATION_TIME, TR_TIME has a random component which avoids INITIATION collisions between different units.
- MAX MSG WAIT The maximum amount of time for a unit to wait between messages which are not INITIATION, ACK, or DONE messages. This is used as a timeout when the unit initially detects a conversation in progress but for some reason the conversation breaks up before a DONE message is sent. It is also used as the first TR TIME period.
- the initiation transmission flowchart implements a "Meek" interaction policy which involves the following coordination tenets:
- a unit always "listens" before transmitting an INITIATION message. If it detects a conversation in progress it remains silent until a DONE message is received or it times out (MAX_MSG_WAIT) between receiving conversation messages between other units.
- a unit keeps quiet (i.e. stops transmitting INITIATIONS and INIT_ACKs) when it knows that it isn't the conversation manager.
- a unit always responds immediately to a CONV PROPOSAL. In effect, any new CONV PROPOSAL will always trump the existing initiation transmission process.
- the "Select Conversation" box in Fig. 20 represents the act of selecting a conversation given a known set of participants.
- the conversation is selected by selecting a Decision Graph root node. This action is performed only by the Conversation Manager.
- the Conversation Manager selects a Decision Graph from the subset of all Decision Graphs that contain a participant list that is a subset ofthe active/current participants list.
- the Decision Graph participant list contains the Actors for all nodes that are accessed when the Decision Graph is selected.
- the CM will select a Decision Graph from all Decision Graphs that contain a subset of ⁇ A, B, C, D ⁇ (i.e. ⁇ A, B, C ⁇ , ⁇ A, B ⁇ , or ⁇ A, B, C, D ⁇ ).
- the pseudocode for conversation selection picks a Decision Graph that is more likely to have contexts with a larger number of participants matching the current/active participants list.
- DECGR ARRAY contains a list of indices to all ofthe Decision Graphs in the database.
- each Decision Graph has a number of nodes, each of which includes one or more Actors or participants.
- each Decision Graph has a number of participants associated with it.
- the pseudocode for conversation selection (selecting a Decision Graph root node) is as follows:
- DECGR of DECGR ARRAY For each element DECGR of DECGR ARRAY, check to see if it has a participant list that is the same as or is a subgroup ofthe cu ⁇ ent/active participant list.
- MATCH SUM and resave it into the VALUE element.
- MATCH VALUES is now a normalized vector of probabilities which sums to 1.0. Select a random float between 0.0 and 1.0 (RAND NUM). Iterate through MATCH_VALUES:
- RAND_NUM RAND_NUM - VALUE and go to the next element in MATCHJVALUES.
- bitwise representations for the Decision Graph and active/cu ⁇ ent participant lists are implemented.
- Toy A with id 1 has a representation (00000001)
- Toy F with id 6 has a representation (00100000).
- the active/cu ⁇ ent participant and Decision Graph participant lists are constructed by a bitwise OR of all ofthe different bitmasks for the units. For example, suppose the active participant list has Toys A, D, E, and G. Then the participant list would be encoded as 01011001.
- computing the intersection ofthe active/current and Decision Graph participant lists would be a simple bitwise AND ofthe two vectors and testing whether the Decision Graph participant list is a subset ofthe active/cu ⁇ ent participant list would be (!X)Y, where X is the participant list vector and Y is the Decision Graph participant vector.
- Computing the number of matches would be a loop counting the number of successful right shifts bitwise AND'ed with the 00000001 mask.
- the Conversation Manager broadcasts the initial conversation information in triplicate. This notifies all of the members of the Conversation Group of the selected Decision Graph, the identity of the Conversation Manager, the selected Context, the current node and the set of members participating in the conversation.
- the Conversation Progression process defines a general means of performing the above activities in a robust and efficient manner.
- the Control Methodology specifies the nature of how conversation flow is controlled during the conversation.
- the methodology may be centralized or distributed and depends on the expected nature of toy interaction.
- a key concept is the locus of control.
- the locus of control is the element within the Conversation Group that directs the flow ofthe conversation. In a centralized scheme, the locus of control tends to reside with a particular toy member ofthe Conversation Group. In a distributed methodology, the locus of control tends to shift between members ofthe Conversation Group.
- Many potential embodiments ofthe above framework exist, combining elements of centralized and distributed control.
- a single toy/unit i.e. the Conversation Manager
- the Conversation Manager would start the conversation and would traverse the selected Decision Graph.
- the Conversation Manager would contact the Actor associated with the node and tell it to perform the action associated with the node.
- the Conversation Manager would then select the next node in the Decision Graph and contact the Actor associated with that node, etc.
- the Conversation Manager would be in charge of handling all e ⁇ ors and conversation termination conditions.
- An example of a distributed control methodology is one in which a token is passed among the Actors in the Conversation Group.
- the owner of the token is the Actor associated with the cu ⁇ ent node in the Decision Graph. After the owner of the token has completed its actions, it selects a child node of the cu ⁇ ent node, and sends the token to the Actor associated with the child node.
- the owner of the token may also act as the Conversation Manager, handling e ⁇ or situations and other issues.
- the embodiment described in detail below combines elements of a centralized and a distributed control methodology. It is centralized in that the Conversation Manager for this process is the one chosen during the Conversation Initiation process. This actor remains the Conversation Manager unless it is somehow removed from the Conversation Group. When this happens, a new Conversation Manager is selected. The selection of a new CM is described in the discussion of E ⁇ or Handling below.
- the embodiment is also a distributed process in that the selection of the next node and notification of the Actor associated with the child node at any point in the conversation is performed by the Actor associated with the cu ⁇ ent node. This scheme reduces the burden of communication from the Conversation Manager.
- the Conversation Manager acts as a second line of defense if a problem is encountered with either the current Actor or the next Actor at any point in the conversation.
- the Conversation Flow Framework defines the nuts and bolts of coordinating the actual conversation. It should be noted that there are two levels of "communication”: the underlying Messages passed via the Physical Medium (e.g. IR, RF, etc.) and the outward observable (to the human eye and ear) actions performed by the toys.
- the Physical Medium e.g. IR, RF, etc.
- the outward observable (to the human eye and ear) actions performed by the toys e.g. IR, RF, etc.
- the framework consists of a sequence of point-to-point transmissions and broadcasts between the Actors in the Conversation Group.
- the examples below demonstrate an embodiment of a conversation flow between actors in a Conversation using the semi-distributed control methodology described in the previous section. It should be noted that the purpose of this example is to demonstrate the Conversation Progression process for a "normal" conversation. E ⁇ or conditions and other issues are addressed in a subsequent section.
- the initial state ofthe Actors in the Conversation Group is shown in Fig. 22.
- Toy A has been selected as the Conversation Manager, and all of the toys know that A is the CM (see the CM field values in each ofthe nodes).
- the cu ⁇ ent locus of control resides with A, with the other toys waiting for a bounded period of time for a Message from A. After the bounded period of time has passed, the toys assume that the Conversation Manager has been disabled and return to Conversation Initiation.
- Fig. 23 The Decision Graph selected is shown in Fig. 23. This diagram is a combination of the high-level Decision Graph structure shown in Fig. 16 combined with some of the detail shown for each node in Fig. 17.
- Each node has a Node ID, an Actor, an Action, and an Action Duration.
- the Node ID is a unique identifier for each node (all nodes in all Decision Graphs have unique Ids).
- the Actor field contains the identifier of the Actor(s) performing the Action for the cu ⁇ ent node.
- the Action field contains the identifier for the Action or Actions associated that the Actor(s) must perform for this node.
- the Action Dur (Action Duration) field contains the estimated time required for the Actor to perform the Action.
- the portion below these data fields contain the Contexts defined for each node. There are three overall Contexts, labeled Context 1, Context 2, and Context 3. Each node may not have every Context associated with it. For example, Node 1 has two associated Contexts, Context 1 and Context 2; Node 2 is associated with only Context 1 ; the leaf nodes of the Decision Graph have no children and hence no associated Contexts at all. Each Context associated with a node has a probability assigned to it. For example, in Fig.
- Node 1 has probability 0.3 associated with Context 1 and probability 0.7 associated with Context 2. Note that the sum of the probabilities for all of the Contexts for a Decision Node sum up to 1.0. This means that during traversal one of the Contexts must be selected. Other representations of probabilities are possible and, of course, in the case of deterministic traversal the Contexts would have no associated probabilities.
- Each Context may link to one or more children.
- Context 2 links to Nodes 3 and 4, 142 and 144 in Fig. 23, as shown by the a ⁇ ows 146 and 148, respectively, from Context 2 to those nodes.
- the probability values labeling each arrow are the probability of visiting the child node.
- the sum of all the probabilities for all the children linked with a particular Context also sums to 1.0. This means that after a Context has been selected, one of its children must be visited. In the case of no children and/or Contexts, the node is a leaf node (see Nodes 6, 7, and 8 at 152, 154 and 156, respectively, in Fig. 23).
- Fig. 24 shows the Message sent from Toy A to Toy C in a simplified fashion.
- XMIT(A, C, NEXT_NODE, Context 2, Node 1) means a point-to-point transmission with the following field values:
- Context is Context 2
- NEXTJSfODE is the Message Type which the current toy uses to notify the selected Actor that it is the next in line. Since this is a point-to-point transmission, a successful transmission means that the verification process defined in the Messenger layer was successfully completed. Thus A and C have successfully synchronized their states. In the meantime, B listens on the Physical Medium and picks up the NEXT_NODE Message; it updates its current node pointer for the Decision Graph to be Node 1.
- the locus of control immediately shifts to C.
- the first action C performs is to select the next node in the Decision Graph. It has two Contexts to select from, Context 1 (with probability 0.3) and Context 2 (with probability 0.7).
- C elects Context 2 based on the results of a randomly generated value. As indicated by the probabilities, the randomly generated value has a 30% chance of selecting Context 1 and a 70% chance of selecting Context 2. It should be noted that this is a "stateless" process in which the previous Context doesn't count. Other embodiments are also possible. For example, a history ofthe previous Contexts may be maintained and a function computed to bias the probabilities in favor ofthe most recently used Context. The history may have length 1 to the entire history ofthe conversation.
- the context choice may be more heavily weighted towards contexts which involve more ofthe participants rather than fewer of them.
- a context with nodes that involve ⁇ A, B, C ⁇ is more favored than a context with nodes which only involve ⁇ B, C ⁇ .
- the context selection algorithm performs a probabilistic computation based on the "goodness of fit" of a given context to the cu ⁇ ent set of participants. "Goodness of fit” may be defined as: (number of matches between cu ⁇ ent participant list and context participant list) / (total number of elements in the cu ⁇ ent participant list). For example, suppose that the cu ⁇ ent participant list is ⁇ A, B, C, D ⁇ .
- the algorithm automatically sets the "goodness of fit” equal to zero.
- Context 2 Once Context 2 has been selected, the child node under Context 2 is selected. For Node 1, there are two possibilities, Node 3 (with probability 0.5) and Node 4 (also with probability 0.5). Again, the child is selected based on the results of a randomly generated value, this time with a 50% chance of choosing Node 3 and a 50% chance of choosing Node 4. Suppose that Node 3 is selected. C retrieves the Actor for Node 3 (A) and transmits a NEXT_NODE message to A (Fig. 25).
- the locus of control doesn't shift immediately to A since the node (Node 3) is not a root node of a Decision Graph, instead, A receives the Message and waits for an ACTION_COMPLETED Message from C. A also knows about how long to wait for C, since it knows that the cu ⁇ ent node's Action Duration is 2 seconds. After successfully transmitting the NEXT NODE Message to A, C immediately begins to perform the Action associated with Node 1, as shown in Fig. 26.
- the Action is a speech clip where C greets the other members ofthe Conversation Group.
- C sends an ACTION COMPLETED Message to A, as shown in Fig. 27.
- the Conversation Manager also broadcasts the cu ⁇ ent conversation information at well-defined, regular intervals. This information may include the identification number of the current node ofthe conversation. This is to keep the toys in the conversation up-to-date about the status ofthe conversation and the existence ofthe Conversation Manager. This periodic update improves the consistencies ofthe toys' internal representations and also handles the e ⁇ or condition where the Conversation Manager is disabled or disappears during the conversation. This e ⁇ or handling case is described in a later section.
- Toy D is performing a Conversation Initiation process and thus is broadcasting transmission requests.
- Toys A, B and C will not interrupt a transmission in progress to broadcast a response to Toy D's transmissions.
- Toy D is now a full member ofthe Conversation Group, and may participate in future parts ofthe conversation.
- a new decision graph (conversation) that includes D may now be selected by the Conversation Manager using the Conversation Initiation process described earlier.
- Handling toys which are disabled or disappear and which are NOT the Conversation Manager is another common case.
- the cu ⁇ ent node is Node 5, indicated at 162, and that the locus of control is cu ⁇ ently with B.
- Potential children for Node 5 are Node 7 (D), indicated at 154, and Node 8 (C), indicated at 156.
- the assumption is made that C leaves the conversation.
- the Conversation Manager maintains a list ofthe cu ⁇ ently active toys and a list of "doubtfuls ". A toy is added to the latter list whenever it was once part ofthe conversation but now no longer is. This can be due to several reasons that will be explained in the following sections.
- the active toys transmit their ids to broadcast their existence.
- a toy receives a broadcasted id, it updates its internal bit-string vector of the list of cu ⁇ ently active toys.
- the second step of the initiation phase is to elect a conversation manager. This can be chosen at random or according to some scripted hierarchy. In either case, every toy will be capable of taking on the role of a conversation manager if elected.
- Every non-CM actor during a conversation has an internal counter that is reset every time it receives a "CM BRDCST MESG" message. After the counter expires, that is, it has not heard from the CM, it will transmit a "ID CURRENT CM” message. This message has a unique id (which would be a reserved id for this particular message) and identifies the actor who is asking the question. Upon receipt of this message, any actor, excluding only the broadcaster, will transmit a "CURRENT ZMJD" message. This message can be sent by any actor and will contain the actor id of the cu ⁇ ent CM according to it. Upon the receipt of this message, the actor who asked who the CM was will reset its counter.
- the toy /actor that transmits the "CURRENT ' CM ID" can only do so if it has heard from the cu ⁇ ent CM during its past counter reset. This will ensure that e ⁇ oneous reports of an alleged CM are not propagated.
- CM BRDCST MESG A case to be considered is the situation wherein a pre-scripted CM election paradigm and is used and some actor receives a "CM BRDCST MESG " message from some actor that is lower down in the CM hierarchy.
- CM BRDCST MESG a message from some actor that is lower down in the CM hierarchy.
- the highest actor will elect to be the next CM. This is achieved by the toys consulting the active participant list before wanting to be CM.
- the higher actor Upon receipt ofthe CM BRDCAST MESG, the higher actor transmits a " REQUEST _CM_STATUS" message to the cu ⁇ ent CM/lower actor. This is followed by a transmission ofthe "APPPOINTED CURRENT CM” message by the lower actor and the new CM then broadcasts the "CM_BRDCST_MESG".
- the process of inter-series communication or where the toys of one series 200 converse with toys from another series 202 requires a translation mechanism 204 quite similar to a human translator acting as a go-between between two speakers.
- a device capable of translation between two series of toys must have a complete understanding ofthe language of each series. In the case ofthe toys, that would mean that the translator has the complete forests of Decision Graphs for each series of toy. As mentioned before, for a given toy series there is only one forest of Decision Graphs that is globally applicable across that series.
- the last inter-series translator component needed is the transmission/reception circuitry that will take the transmitted input from one toy and translate it into the transmission input for the other toy and vice versa.
- FIG. 33 A situation where one Toy A (210) is by itself is illustrated in Fig. 33.
- a toy wherein each ofthe nodes in its forest of Decision Graphs is equipped with a flag (an extra bit) that is set when a button on the toy, or some other activation device, is pressed.
- the flag When the flag is set, the nodes point to a conversation index in the speech storage area which could be associated with a "one liner" or a "punch line” specific to that toy.
- the button is pressed, the toy will randomly select and play one of these sentences.
- FIG. 34 A scenario where a number of redundant or duplicate toys, 210, 212 and 214, are present is illustrated in Fig. 34.
- the toys ofthe present invention may be configured to simply ignore messages from a redundant or duplicate toy as if they do not exist.
- each character of a particular toy series may come with a Global Identification Number (GIN).
- GIN Global Identification Number
- the "Receiver” and “Sender” fields can be the GIN for the appropriate toys.
- the strategies for choosing the CM described previously for accommodation of new toys joining a conversation (assuming that they are also ofthe same type), disappearance of toys from a conversation and the CM election process may be utilized. Two or more sets of redundant or duplicate toys
- Fig. 35 illustrates a situation where there are two sets of redundant or duplicate toys present (210, 212, 220 and 222). Such a scenario may be handled by four alternative toy configurations or embodiments.
- each toy type can interact with each other. This can be a ⁇ anged by the Conversation Manager, which can reject the redundant or duplicate toys from participating within a given conversation by issuing a special "suppress_conversation" message upon their detection that makes them "be quiet” (not issue conversation proposal messages) until the end ofthe conversation is detected.
- every instance of each toy for each toy type can interact with each other.
- the elected Conversation Manager not only keeps track ofthe toy types in the conversation (via the active participant list), but also transmits the GIN for each toy. For example, it is assumed that the toys in Fig. 35 have the following ids:
- the GINs may be distributed to each toy within broadcasts that the CM sends to each toy.
- the association of toy types and toy GINs may be distributed when the CM broadcasts the set of active participants list to the toys in the conversation.
- each toy in the conversation is uniquely addressed for the duration ofthe conversation, and the initiator and maintainer ofthe unique addresses is the Conversation Manager. Every toy in the network has a copy ofthe unique addresses so if the conversation manager disappears, then any potential successor also has the latest toy data.
- the Receiver field in the basic message structure can be used to hold the unique toy id rather than the toy type and the toy type can be passed as data within the body ofthe message.
- the third configuration or embodiment serializes the operation ofthe multiple toys for each toy type.
- the fundamental problem is that if there are two instances of Toy B in the conversation, how are they prevented from responding simultaneously to a request for "Toy Type B"? A way of handling this is to use token-passing.
- Each set of identical toys in the conversation has a token which belongs to a single toy within the set at a time. Only the toy with the token can respond to a message to that toy type. When the toy is finished with its processing, it passes the token to another member ofthe set of identical toys. Thus, in Fig. 35 there would be two tokens - one that is passed among the toys of type A, and another that would be passed among the toys of type B.
- the conversation manager is solely in charge of issuing tokens. If a toy disappears with a token, the conversation halts until the conversation manager issues another token to the surviving members ofthe toy set.
- each set of redundant or duplicate toys elects a CM and manages their own group.
- the CM of a particular toy type will act as the IR (or other medium) transmission spokesperson for that group. That is, the IR (or RF, etc.) transmission between groups of toys will take place only thru their CM spokesperson.
- a spokesperson receives a transmission it will randomly choose a member of its group (using the internal GIN information for that group) to whom the transmission will be addressed.
- This process of choice It could be as simple as picking, at random from the local CM's GIN list or the local CMs selecting multiple GINs (both toys say the same thing but only one of them proceeds with the conversation).
- the ability of choice can be as complex as sending the transmission to one toy and dummy transmissions to others within the subgroup.
- the potential for the toys of the present invention is enormous due to all the factors mentioned above and the ability to use the technology in different series of toys. The latter allows the present invention to find use in toys ofthe past, present and the future.
- the variety of applications for the toy ofthe present invention is also enormous.
- the technology may be used to develop toys that behave like a teacher and a student so that a child will be motivated to sit down (along with the student toy) and learn what the teacher toy instructs.
- Language skills, grammar and mathematics are to name but a few ofthe subjects that may be taught by the toy ofthe present invention.
- Series of these toys can enact various historical events thus helping the child appreciate history and culture to a greater extent.
Abstract
Description
Claims
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15487799P | 1999-09-14 | 1999-09-14 | |
US154877P | 1999-09-14 | ||
PCT/US2000/025204 WO2001020586A2 (en) | 1999-09-14 | 2000-09-14 | Smart toys |
Publications (1)
Publication Number | Publication Date |
---|---|
EP1390929A2 true EP1390929A2 (en) | 2004-02-25 |
Family
ID=22553188
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP00973365A Withdrawn EP1390929A2 (en) | 1999-09-14 | 2000-09-14 | Smart toys |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP1390929A2 (en) |
AU (1) | AU1188101A (en) |
WO (1) | WO2001020586A2 (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7878905B2 (en) | 2000-02-22 | 2011-02-01 | Creative Kingdoms, Llc | Multi-layered interactive play experience |
US7445550B2 (en) | 2000-02-22 | 2008-11-04 | Creative Kingdoms, Llc | Magical wand and interactive play experience |
US20070066396A1 (en) | 2002-04-05 | 2007-03-22 | Denise Chapman Weston | Retail methods for providing an interactive product to a consumer |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5774628A (en) * | 1995-04-10 | 1998-06-30 | Texas Instruments Incorporated | Speaker-independent dynamic vocabulary and grammar in speech recognition |
CA2225060A1 (en) * | 1997-04-09 | 1998-10-09 | Peter Suilun Fong | Interactive talking dolls |
AU9792198A (en) * | 1997-10-07 | 1999-04-27 | Health Hero Network, Inc. | Remotely programmable talking toy |
-
2000
- 2000-09-14 WO PCT/US2000/025204 patent/WO2001020586A2/en active Search and Examination
- 2000-09-14 AU AU11881/01A patent/AU1188101A/en not_active Abandoned
- 2000-09-14 EP EP00973365A patent/EP1390929A2/en not_active Withdrawn
Non-Patent Citations (1)
Title |
---|
See references of WO0120586A3 * |
Also Published As
Publication number | Publication date |
---|---|
AU1188101A (en) | 2001-04-17 |
WO2001020586A3 (en) | 2002-07-11 |
WO2001020586A2 (en) | 2001-03-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6631351B1 (en) | Smart toys | |
US9973839B2 (en) | Method and apparatus for communicating audio data | |
KR101099808B1 (en) | Robot system | |
ES2706729T3 (en) | Robot system | |
WO1998050872A1 (en) | Inter-cooperating toys | |
JPH10505698A (en) | Communication system between dynamic groups of devices | |
CN1998194A (en) | Wireless communication protocol | |
US20100195812A1 (en) | Audio transforms in connection with multiparty communication | |
CN109671429B (en) | Voice interaction method and device | |
CN110192364A (en) | Generate the data copy for emitting in multiple communication channels | |
WO2009065311A1 (en) | Binary tree method for multi-tag anti-collision | |
WO2017098188A1 (en) | Relaying method and device and recipient with return in an omamrc system | |
CN110351015A (en) | A kind of data transmission method for uplink, method of reseptance and equipment | |
Popovski | Wireless Connectivity: An Intuitive and Fundamental Guide | |
EP1390929A2 (en) | Smart toys | |
WO2018174289A1 (en) | Conversation control system, and robot control system | |
CN107908709A (en) | Parent-offspring's language chats interactive approach, apparatus and system | |
JP2017076956A (en) | Method for exchanging data packages of different sizes between first portable communication device and second portable communication device | |
EP3917637B1 (en) | Method of controlling an interacting toy construction model | |
Draper | Successive structuring of source coding algorithms for data fusion, buffering, and distribution in networks | |
Roig et al. | Remote reinforcement learning over a noisy channel | |
CN201098553Y (en) | Distributed intelligent toy system | |
JPH09500767A (en) | Wireless communication network type data transmission apparatus and method | |
JP2008278451A (en) | Communication method and data structure for controlling network-based robot system | |
US20030109255A1 (en) | Method for managing communication network, and communication device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
17P | Request for examination filed |
Effective date: 20030324 |
|
AK | Designated contracting states |
Kind code of ref document: A2 Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LI LU MC NL PT SE |
|
AX | Request for extension of the european patent |
Extension state: AL LT LV MK RO SI |
|
RAP1 | Party data changed (applicant data changed or rights of an application transferred) |
Owner name: AIDENTITY MATRIX ENTERTAINMENT, INC. |
|
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 1060427 Country of ref document: HK |
|
17Q | First examination report despatched |
Effective date: 20070215 |
|
GRAP | Despatch of communication of intention to grant a patent |
Free format text: ORIGINAL CODE: EPIDOSNIGR1 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN |
|
18D | Application deemed to be withdrawn |
Effective date: 20100224 |
|
REG | Reference to a national code |
Ref country code: HK Ref legal event code: WD Ref document number: 1060427 Country of ref document: HK |