Home Toy Magic Wand Management Platform Interacting with Toy Magic Wands of Visitors

The present disclosure is directed to facilitating the pairing of a visitor interactive object. An example method includes receiving, by a first interactive object from one or more sensors, data indicative of a visitor interactive object identifier associated with the visitor interactive object. The method includes generating, by the first interactive object, a pairing communication for the visitor interactive object that includes the visitor interactive object identifier and instructions to pair with the visitor interactive object. The method includes communicating, by the first interactive object, the pairing communication to a central computing device. The central computing device can be temporarily paired with the visitor interactive object based on the pairing communication. For instance, the method can include receiving, by the central computing device, the visitor pairing communication, generating a temporary visitor profile based on the visitor interactive identifier, and establishing the temporary wireless connection with the visitor interactive object.

FIELD

The present disclosure relates generally to pairing electronic devices. More particularly, the present disclosure relates to pairing electronic interactive devices with central devices for leveraging the computing resources of the central device.

BACKGROUND

Pairing processes can be utilized to create a communication linkage between computing devices. Once paired, the computing devices can communicate to share data and/or initiate certain actions. Pairing with unknown, or visiting, devices can cause security risks for the computing devices.

SUMMARY

Aspects of the present disclosure are directed to a computer-implemented method for device pairing. The method includes receiving, by a first interactive object from one or more sensors, data indicative of a visitor interactive object identifier associated with a visitor interactive object. The method includes generating, by the first interactive object, a pairing communication for the visitor interactive object. The pairing communication includes the visitor interactive object identifier. The method includes communicating, by the first interactive object, the pairing communication to a central computing device. The central computing device is temporarily paired with the visitor interactive object based, at least in part, on the pairing communication.

Another aspect of the present disclosure is directed to a central computing device including one or more processors and a memory storing instructions that when executed by the one or more processors cause the central computing device to perform operations. The operations include receiving a visitor pairing communication from a first interactive object wirelessly connected to the central computing device. the visitor pairing communication includes a visitor interactive object identifier associated with a visitor interactive object. The operations include generating, based at least in part on the visitor interactive object identifier, a temporary visitor profile for the visitor interactive object. And, the operations include establishing, based at least in part on the visitor pairing communication, a temporary wireless connection with the visitor interactive object.

Yet another aspect of the present disclosure is directed to one or more non-transitory computer-readable media including instructions that when executed by one or more computing devices cause the one or more computing devices to perform operations. The operations include receiving an infrared signal indicative of a visitor interactive object identifier associated with a visitor interactive object. The operations include generating a pairing communication for the visitor interactive object. The pairing communication includes the visitor interactive object identifier. And, the operations include communicating the pairing communication to a central computing device. The central computing device is temporarily paired with the visitor interactive object based, at least in part, on the pairing communication.

DETAILED DESCRIPTION

Example aspects of the present disclosure are directed to improved pairing of electronic devices such as between an interactive toy and a central device. For example, one or more users may be located within the same room (e.g., of a store, a user's house, etc.). Each user may have an interactive object. The interactive object can be, for example, a hand-held electronic smart wand with a hardware architecture that enables inter-device communications as well as motion sensing. The interactive object may be paired with a central device (e.g., a user's phone, a store's terminal device, a house networking device, etc.) to help extend the functionality of the interactive object by allowing it to leverage the computing resources of the central device. This can include, for example, gesture-recognition software running on the central device that can allow a user to perform an action (e.g., make a purchase, engage in a collaborative game, etc.) by making a particular gesture with the paired interactive object (e.g., a spell motion with the electronic smart wand, etc.). At times, multiple interactive objects may be paired to one central device to allow interactions between the interactive objects and the central device.

The technology of the present disclosure can help temporarily pair multiple visitor interactive objects with a central device previously paired with a first interactive object. For example, the first interactive object can be associated with a user profile (e.g., administrator account) of the central device. The first interactive object can receive a first input (e.g., a physical input, movement, audio input, etc.) from a first user to initiate a listening mode for one or more sensors (e.g., an infrared sensor, etc.). During the listening mode, the first interactive object can receive a visitor interactive object identifier from a visitor interactive object. In response, the first interactive object can generate a pairing communication for the visitor interactive object and communicate the pairing communication to the central device. The central device can receive the pairing communication, generate a temporary visitor profile for the visitor interactive object, and establish a temporary wireless connection with the visitor interactive object. The central device can receive data indicative of an action performed by one of the first interactive object or the visitor interactive object, determine which device performed the action, and initiate a response to the action. The response to the action can be different based on the object (e.g., first interactive object, visitor interactive object, etc.) that performed the action and/or one or more privileges of a profile (e.g., user profile, visitor profile, etc.) associated with the respective object. In this way, the technology of the present disclosure improves the interoperability of multiple interactive devices, while reducing the computing resources devoted to and increasing security of pairing multiple interactive devices with one central device.

More particularly, an interactive object can be a hand-held electronic device that includes various hardware components. For instance, the interactive object can include a wand-like form factor. The wand-like form factor can include a generally cylindrical outer casing with a first end (e.g., including a wand tip, etc.) and a second end (e.g., including a wand handle, etc.). The generally cylindrical outer casing can include various diameters such that, for example, it is tapered from the second end to the first end. In some implementations, the interactive object may include another type of form-factor such as, for example, a spherical form-factor.

The outer casing of the interactive object can form a cavity, which can include various hardware components for performing the functions of the interactive object. As an example, the interactive object can include hardware components such as one or more infrared emitters, infrared receivers, etc. that enable the interactive object to transmit and/or receive one or more infrared signals. In addition, the hardware components can include, for example: a sensor/device (e.g., inductive sensor, button, etc.) for detecting user input, an inertial measurement unit (e.g., accelerometer, gyroscope, etc.), haptic actuator (e.g., eccentric rotating mass (ERM) motor, etc.), communication interface (e.g., Bluetooth chip, antenna, etc.), microcontroller, power source (e.g., battery with associated charging hardware, etc.), output device(s) (e.g., LED/other lights, speakers, etc.), processor(s), memory, and/or other components. The hardware architecture of the interactive object can allow it to perform various functions including, for example, pairing with another device, facilitating the pairing operation between two other devices, and making/detecting a gesture action, as further described herein.

A first interactive object can be previously paired with a central computing device. The first interactive object can be authorized for input to the central device based on a user account of the central device. For example, the first interactive object can be associated with a home profile including one or more home privileges associated with the first interactive object. The home profile, for example, can include an administrative account for the central device. The home privilege(s) can include one or more administrative privileges. By way of example, one or more home privilege(s) can include one or more activities associated with the privacy or the security of the central device. For instance, the central device can include a user's mobile device, a store's terminal device, a home networking device, and/or any other computing device. The home privileges can include accessing one or more contacts of a mobile device, updating an inventory for a store device, accessing a lighting appliance through a home networking device, etc.

The first interactive object can facilitate the pairing of visitor interactive objects to the central device such that the visitor interactive objects can interact with the central device (and/or one or more other objects paired with the central device such as the first interactive object) without having access to the home profile (and/or the permissions thereof) of the central device. To do so, a first user of the first interactive object can provide user input to the first interactive object. For example, the first interactive object can detect user input with the first interactive object. The user input can include a physical contact (e.g., a touch input, squeezing action, etc.) with the first interactive object, a movement (e.g., a gesture, a particular movement pattern, etc.) of the first interactive object, an audio input (e.g., a voice command, etc.) to the first interactive object, etc.

In response to detecting the user input, the first interactive object can initiate a listening mode associated with one or more sensors of the first interactive object. For instance, the listening mode can be associated with an infrared receiver of the first interactive object. The first interactive object can receive, from one or more sensors such as the infrared receiver, data indicative of a visitor interactive object identifier associated with a visitor interactive object. The visitor interactive object identifier, for example, can include a unique identifier corresponding to a visitor interactive object that is disconnected from the central device. For instance, the data indicative of the visitor interactive object identifier can include an infrared signal. In such a case, the first interactive object can receive, from the infrared sensor, the data indicative of the visitor interactive object identifier during the listening mode.

In some implementations, the visitor interactive object can provide the data indicative of the visitor interactive object identifier to the first interactive object. For example, a second user of the visitor interactive object can provide second user input (e.g., a physical contact, movement, audio input, etc.) to the visitor interactive object. In response, the visitor interactive object can provide the data indicative of the visitor interactive object identifier to the first interactive object. By way of example, the visitor interactive object can be configured to provide an infrared signal indicative of the visitor interactive object identifier to the first interactive object. In some implementations, the visitor interactive object can determine a connection status associated with the visitor interactive object and provide the data indicative of the visitor interactive object identifier to the first interactive object based on the connection status. For instance, the visitor interactive object can provide the data indicative of the visitor interactive object identifier to the first interactive object in the event that the visitor interactive object is in a disconnected status (e.g., disconnected from any other central device).

The first interactive object can generate a pairing communication for the visitor interactive object and the central device. The pairing communication can include the visitor interactive object identifier. The pairing communication, for example, can include a radio wave advertising packet such as a BLE advertising packet and/or any other packet including information for pairing the visitor interactive object to the central device. The first interactive object can communicate, via the established wireless connection with the central device, the pairing communication to the central device. In this manner, the central device can receive a visitor pairing communication with the information required to pair with the visitor interactive object.

For instance, the central device can receive the visitor pairing communication from the first interactive object wirelessly connected to the central device. The central device can utilize the information of the pairing communication such as, for example, the visitor interactive object identifier to establish a wireless connection with the visitor interactive object. For instance, in some implementations, the pairing communication can be configured to trigger the central device to establish a temporary wireless connection with the visitor interactive object. The central device can receive the pairing communication and, in response, establish the temporary wireless connection with the visitor interactive object. In this manner, the central device can be temporarily paired with the visitor interactive object based, at least in part, on the pairing communication.

Once paired, the interactive object(s) can leverage the computing resources of the central device to perform one or more functions. For instance, the user can physically move the interactive object(s) to perform an interactive object action. The interactive object action can include, for example, a gesture action. The gesture action can represent a spell-like motion associated with a wand. While in motion, the interactive object(s) can obtain sensor data (e.g., via an IMU, etc.) that indicates the position(s) and time(s) associated with the motion of the interactive object(s). This data can be expressed as a series of coordinate point(s) (e.g., 2D x-y coordinates, etc.) and time(s) (e.g., time durations from a t0, timestamps associated with a world clock, etc.). The interactive object(s) can provide data indicative of the interactive object action (e.g., the coordinates/times associated with the gesture action, etc.) to the central device.

The central device can perform one or more actions based at least in part on the interactive object action and/or the interactive object (e.g., the first interactive object, the visitor interactive object, etc.) that provided the data indicative of the interactive object action. For instance, the central device can obtain the data indicative of the interactive object action. The central device can process the data to identify the interactive object action and an associated central device action to be performed. By way of example, the central device can input the coordinates/times associated with the gesture action into a recognizer model. The recognizer model can be configured to analyze the coordinates/times to identify the particular interactive object action performed via the interactive object(s). The recognizer model can output data indicative of the identified interactive object action. The central device (e.g., a software application running on the device, etc.) can identify one of more functions to perform based at least in part on the interactive object action identified by the recognizer model.

In this manner, the central device can identify one or more functions associated with the physical movement of a paired interactive object. The central device can invoke at least one of the one or more functions based, at least in part, on the interactive object (e.g., the first interactive object, the visitor interactive object, etc.) that provided the data indicative of the interactive object action. For instance, the one or more functions can include ignoring the interactive object action (e.g., based on permissions associated with the interactive object that provided the data) and/or responding with a particular central device action. By way of example, a central device action can include initiating an action associated with a collaborative game, adjusting the volume of the another device, purchasing an item via an e-commerce application, activating a lighting source of the another device, capturing an image, initiating a communication (e.g., phone call, telephone call, etc.), emitting sound(s), sending a communication to adjust a parameter of another device (e.g., tuning on a home device, changing the channel of a smart television, etc.), and/or other types of functions.

For example, the central device can generate, based at least in part on the visitor interactive object identifier, a temporary visitor profile for the visitor interactive object. The temporary visitor profile can include one or more visitor privileges associated with the visitor interactive object. The one or more visitor privileges can be different from the one or more home privileges. For example, the one or more visitor privileges can be based, at least in part, on a user account associated with a user of the visitor interactive object. For example, the central device can generate the temporary visitor profile by identifying (e.g., by searching a cloud database, etc.) a user account associated with the visitor interactive object identifier. In some implementations, the one or more visitor privileges can be associated with at least one of an age of the user, a status (e.g., a level in a collaborative game, a delinquency status, etc.) of the user, and/or a history (e.g., a purchase history, etc.) of the user. In addition, or alternatively, the visitor privilege(s) can include restrictions based on the one or more home privileges. For instance, the one or more home privileges can include one or more exclusive home privileges such that any visitor interactive object connected with the central device will not be granted the one or more exclusive home privileges.

The central device can receive interaction data indicative of an interactive object action for at least one of the first interactive object and/or the visitor interactive object. The central device can identify the interactive object that performed the interactive object action based, at least in part, on the interaction data (e.g., via an interactive object identifier of the interaction data). And, the central device can initiate a response to the interactive object action based on the interactive object that performed the interactive object action. For example, the response can be determined based at least in part on the privileges associated with the profile associated with the interactive object that performed the interactive object action.

As an example, the interactive object can be the visitor interactive object. In such a case, the central device can determine a visitor response to the interactive object action based at least in part on the one or more visitor privileges of the visitor profile associated with the visitor interactive object and initiate the visitor response to the object action. As another example, the interactive object can be the first interactive object. In such a case, the central device can determine a home response to the interactive object action based at least in part on the one or more home privileges of the home profile associated with the first interactive object and initiate the home response to the object action. The visitor response can be different from the home response, for example, in the event that a visitor profile does not include privileges for performing an action accessible to the home profile.

The central device can terminate the temporary wireless connection with the visitor interactive object based on one or more factors such as, for example, a location associated with the visitor interactive object (e.g., indicating that the visitor interactive object is out of range, etc.), a time period (e.g., the expiration of a pairing time period, etc.), an event (e.g., the completion of a collaborative game, etc.), and/or any other factor that may affect the connection between two devices. In response to terminating the temporary wireless connection, the central device can discard the temporary visitor profile. In addition, or alternatively, the temporary visitor profile can be stored in an accessible memory at the central device.

The present disclosure provides a number of technical effects and benefits. For example, the disclosed technology can leverage an interactive object previously connected with a central device to pair a temporary interactive object to the central device. In doing so, the present disclosure can enable the pairing of devices through infrared and/or other lightweight signals. This can help save the computational resources (e.g., processing, memory, power, etc.) that would be wasted by pairing devices using conventional techniques. Moreover, the technology of the present disclosure can utilize temporary visiting profiles with selective privileges to interact with a visiting interactive object without granting full control to the central device. In this way, the pairing techniques of the present disclosure can improve computing/device security by filtering actions provided by a number of paired interactive objects according to privileges associated with those objects. For example, a first interactive object associated with an administrative account on the central device can have access to a number of privileges not available to a visiting interactive object. This can allow the visiting interactive object to be temporarily paired with the central device, for example, to play a collaborative game with the first interactive object, while not sacrificing the security of the central device. Ultimately, the technology of the present disclosure provides effective, computationally efficient, and secure pairing processes, systems, and devices.

FIGS.1A-Edepict an example interactive object and an example hardware architecture of an interactive object according to example aspects of the present disclosure. For example,FIG.1Adepicts an example interactive object100. The interactive object100can be a hand-held electronic device. The interactive object100can be an interactive toy (e.g., an electronic smart wand toy, etc.). For instance, the interactive object100can include a wand-like form factor. The wand-like form factor can include a generally cylindrical shape. In some implementations, the wand-like form factor of the interactive object100can include one or more other shapes (e.g., square, rectangular, hexagonal, octagonal, etc.). In some implementations, the interactive object100may include another type of form-factor such as, for example, a spherical form-factor. An interactive object can include any device having one or more processors and at least one sensor. For example, an interactive object may include a tablet computing device, smartphone, portable media player, etc. The interactive object100(and its portions/elements) can be constructed from one or more materials including, for example, polymers, metal, wood, composites, and/or one or more other materials.

The interactive object100can include a plurality of portions. For example, the interactive object100can include a first end/portion105and a second end/portion110. The first end/portion105can include, for example, a tip115(e.g., of the wand, etc.). The second end/portion110can include a handle120(e.g., a wand handle, etc.). In some implementations, the handle120can include a material suitable for securing or comforting the grip of a user (e.g., rubber, polymer, ridged surface, padding, etc.).

With reference toFIG.1B, the interactive object100can include an outer casing125(e.g., an outer shell, layer, etc.) with an outer surface. In some implementations, at least a portion of the outer casing125can be covered by another material. This can include, for example, a grip/comfort material of the handle120. The outer casing125can include one or more diameters/widths130A-B. For example, the first end/portion105can be associated with one or more first diameters130A (e.g., 15 mm, etc.). The second end/portion110can be associated with one or more second diameters130B. The first diameter(s)130A can be smaller than the second diameter(s)130B. This can allow, for example, the interactive object100to appear tapered from the second end110to the first end105.

In some implementations, the interactive object100can include one or more devices for obtaining user input. For instance, the interactive object100can include a user input sensor135on the interactive object. The user input sensor135can be disposed proximate to the second end110(e.g., closer to the second end110than the first end105, etc.). For example, the user input sensor135can be disposed within a cavity formed by the outer casing125and within/under the handle120. The user input sensor135can include an inductive sensor. The inductive sensor can include a coil with a metal casing surrounding the coil. The coil can be configured to detect a change in a magnetic field arising from a deformation of the metal casing. Such a deformation can be caused, for example, by a user input (e.g., a user physically gripping the handle120of the interactive object100, etc.). Additionally, or alternatively, the interactive object100can include one or more interactive elements140. This can include, for example, one or more buttons, touchpads, and/or other features that a user can physically contact to provide user input.

With reference toFIGS.1C and1D, the interactive object100can include a cavity145. As described herein, the cavity145can be an interior cavity of the interactive object100formed by the outer casing125. Various hardware components for performing the functions of the interactive object100can be disposed within the cavity145. The interactive object100can include a power source150with an associated charging/fueling infrastructure155. For example, the power source150can include one or more batteries (e.g., lithium-ion batteries, lithium-ion polymer batteries, and/or other batteries) and the charging/fueling infrastructure155can include wired and/or wireless (e.g., inductive, etc.) charging hardware. In some implementations, the interactive object100can include a haptic actuator160(shown inFIG.1D) and a printed circuit board165. The haptic actuator160can be configured to provide haptic feedback (e.g., vibration, etc.) to a user of the interactive object100. As shown inFIG.1D, various hardware components can be secured to/within the interactive object100via a support structure170. The support structure170can include a mechanical spine or other structural element to which the various hardware components can be affixed. The support structure170can be affixed to the outer casing125(e.g., an interior surface thereof, etc.). In some implementations, the support structure170can be temporarily affixed so that it can be removed for maintenance, replacement, update, etc. of the various hardware components.

As shown inFIG.1C, the cavity145and the various hardware components can include various dimensions175A-H. For example, the cavity145can include a width with a first dimension175A (e.g., 2-25 mm, etc.). This can represent the distance from one side of the interior surface of the outer casing125to another. The charging/fueling infrastructure155can include a width with a second dimension175B (e.g., 3-15 mm, etc.), can be spaced from an end of the cavity145by a third dimension175C (e.g., 0.5-3 mm, etc.), and can have a length of a fourth dimension175D (e.g., 10-30 mm, etc.). The power source150can be spaced apart from the charging/fueling infrastructure by a fifth dimension175E (e.g.,0.5-7 mm, etc.) and have a length of a sixth dimension175F (e.g., 30-70 mm, etc.). The support structure165can be spaced apart from the power source150by a sixth dimension175G (e.g., 0.5-7 mm, etc.) and have a length of a seventh dimension175H (e.g., 30-70 mm, etc.).

FIG.1Edepicts another diagram of example hardware components180A-P that can be included in the interactive object100. The hardware components180A-P can be disposed across various layers185A-B (e.g., top layer, bottom layer, etc.). As an example, the interactive object100can include one or more infrared sensors180M. The infrared sensors can include one or more infrared receivers, transmitters, etc. that enable the interactive object100to transmit and/or receive one or more infrared signals. In addition, the hardware component(s)180A-P can include, for example: charging/fueling infrastructure180A (e.g., as described herein, etc.); device(s)180B/K for detecting user input (e.g., inductive sensor, button(s), etc.); one or more output device(s)180C (e.g., LED/other lights, speakers, etc.) and associated hardware180P (e.g., connector(s), etc.); a gauge180D configured to indicate a level of power of the interactive device100; (e.g., a battery for wired or wireless charging, etc.); power management integrated circuit(s)180E configured to manage the power of the interactive device100; a power source180F (e.g., as described herein, etc.); microcontroller(s)180G; an inertial measurement unit180H (e.g., accelerometer, gyroscope, etc.); haptic actuator180I (e.g., eccentric rotating mass (ERM) motor, etc.) and associated actuator hardware180N (e.g., connector(s), etc.); memory180J (e.g., non-volatile memory chip, flash memory, etc.); a communication interface180K (e.g., antenna, etc.) and associated computing hardware180L (e.g., BLE chip, etc.); processor(s)180O; and/or other components. In some implementations, the output device(s)180C can be configured to output signals from the first end105(e.g., the tip115, etc.) of the interactive object100.

The hardware architecture/components can allow the interactive object100to pair with another electronic device and/or facilitate the pairing between two objects.FIG.2depicts an example interactive object and central device ecosystem200according to example aspects of the present disclosure. As illustrated, the central device ecosystem200can include a first interactive object205, a second interactive object210, and a central computing device215. The interactive object(s)205,210can include the interactive object100described with reference toFIG.1. In addition, or alternatively, the interactive object(s)205,210can include any device with one or more hardware components for wireless communication. For example, the interactive object(s)205,210can include a mobile phone, a home appliance (e.g., a smart appliance), an entertainment center (e.g., a smart television, etc.), and/or any other device capable of wireless communication.

The first interactive object205can be previously paired (via a first wireless connection250) with the central computing device215. The first interactive object205can be authorized for input to the central device215based on a user account of the central device215. For example, the first interactive object205can be associated with a home profile including one or more home privileges associated with the first interactive object205.

By way of example,FIG.3depicts example contents of a home profile300according to example aspects of the present disclosure. The home profile300can include one or more device identifiers305, user identifiers310, and/or home privileges315. The device identifiers305, for example, can identify one or more authorized device(s) at the central device215. The authorized device(s) can include one or more device(s) such as, for example, first interactive device205that have been previously paired and authorized at the central device. For example, the authorized device(s) can be previously paired over one or more radio frequencies such as via a Bluetooth connection. The user identifier(s)310can identify one or more user(s) associated with the central device215and/or the one or more authorized device(s). For example, each of the user(s) can be associated with a user account. The user identifier(s)310can include a unique identifier corresponding to a respective user(s) account.

The home privilege(s)315can include one or more privileges associated with the home profile300. For example, the home profile300can include an administrative account and the one or more home privileges315can include one or more administrative privileges. By way of example, home privilege(s)315can include one or more activities associated with the privacy or the security of the central device215. For instance, the central device215can include a user's mobile device, a store's terminal device, a home networking device, and/or any other computing device. The home privilege(s)315can be tailored to the type of the device and/or privacy settings at the device.

By way of example, the central device215can include a user's mobile phone. In such a case, the home privilege(s)315can include accessing one or more contacts of the mobile phone, making a call and/or otherwise communicating (e.g., via a short message service) with another mobile phone, or accessing one or more other applications configured to run on the mobile phone. As another example, the central device215can include a store's terminal device. In such a case, the home privilege(s)315can include updating an inventory for the respective store, updating a price, handling returns, and/or making any other managerial decision. As one more example, the central device215can include a home networking device. In such a case, the home privilege(s)315can include accessing and/or controlling one or more device(s) (e.g., televisions, etc.), appliances (e.g., lighting appliances), or any other object communicatively paired to the central device215.

Turning backFIG.2, the first interactive object205can facilitate the pairing of a visitor interactive object210to the central device215such that the visitor interactive object210can interact with the central device215(and/or one or more other objects paired with the central device215such as the first interactive object205) without having access to the home profile300(and/or the permissions315thereof) of the central device215. To do so, a first user225of the first interactive object205can provide user input to the first interactive object205. For example, the first interactive object205can detect user input with the first interactive object205. The user input can include a physical contact (e.g., a touch input, squeezing action, etc.) with the first interactive object205, a movement (e.g., a gesture, a particular movement pattern, etc.) of the first interactive object205, an audio input (e.g., a voice command, etc.) to the first interactive object205, etc.

In response to detecting the user input, the first interactive object205can initiate a listening mode associated with one or more sensors of the first interactive object205. For instance, the listening mode can be associated with an infrared receiver of the first interactive object205. The first interactive object205can receive, from one or more sensors such as the infrared receiver, data indicative of a visitor interactive object identifier associated with the visitor interactive object210. The visitor interactive object identifier, for example, can include a unique identifier corresponding to a visitor interactive object210that is disconnected from the central device215. For instance, the data indicative of the visitor interactive object identifier can include an infrared signal. In such a case, the first interactive object205can receive, from an infrared sensor, the data indicative of the visitor interactive object identifier during the listening mode. In addition, or alternatively, in some implementations, the first interactive object205can receive the data indicative of the visitor interactive object identifier regardless of a listening mode. For instance, the first interactive object205can include sensors that are constantly “listening” (e.g., sensors configured for duplex communication). In such a case, the sensor(s) can receive the data indicative of the visitor interactive object identifier without being put into a listening mode.

In some implementations, the visitor interactive object210can provide, at (230), the data indicative of the visitor interactive object identifier to the first interactive object205. For example, a second user230of the visitor interactive object210can provide second user input (e.g., a physical contact, movement, audio input, etc.) to the visitor interactive object210. In response, the visitor interactive object210can provide, at (230), the data indicative of the visitor interactive object identifier to the first interactive object205. By way of example, the visitor interactive object210can be configured to provide, at (230), an infrared signal indicative of the visitor interactive object identifier to the first interactive object205. The infrared signal can include a modulated infrared signal transmitted as a timed sequence of pulses. In this manner, the visitor interactive object identifier can be encoded within a frame of data transmitted from an infrared transmitter of the visitor interactive object. The frame of data can be received and decoded by the first interactive object to obtain the visitor interactive object identifier.

In some implementations, the visitor interactive object210can determine a connection status associated with the visitor interactive object210and provide the data indicative of the visitor interactive object identifier to the first interactive object205based on the connection status. The connection status, for example, can identify whether the visitor interactive object210is associated with an active wireless connection to another device (e.g., another central device such as a mobile phone, etc.). In the event that the visitor interactive object210is associated with an active wireless connection, the connection status can include a connected status. In the event that the visitor interactive object210is not associated with an active wireless connection, the connection status can include a disconnected status. In some implementations, the visitor interactive object210can provide, at (230), the data indicative of the visitor interactive object identifier to the first interactive object205in the event that the visitor interactive object210is in a disconnected status (e.g., disconnected from any other central device).

The first interactive object205can generate a pairing communication for the visitor interactive object210and the central device215. The pairing communication can include the visitor interactive object identifier. The pairing communication, for example, can include a radio wave advertising packet such as a BLE advertising packet and/or any other packet including information for pairing the visitor interactive object210to the central device215. The first interactive object205can communicate, at (240), via the established wireless connection250with the central device215, the pairing communication to the central device215. In this manner, the central device215can receive a visitor pairing communication with the information required to pair with the visitor interactive object210.

For instance, the central device215can receive the visitor pairing communication from the first interactive object205wirelessly connected to the central device215. The central device215can utilize the information of the pairing communication such as, for example, the visitor interactive object identifier to establish, at (245), a second wireless connection255with the visitor interactive object210. For instance, in some implementations, the pairing communication can be configured to trigger the central device215to establish, at (245), a temporary wireless connection255with the visitor interactive object210. The central device215can receive the pairing communication and, in response, establish, at (245), the temporary wireless connection245with the visitor interactive object210. In this manner, the central device215can be temporarily paired with the visitor interactive object210based, at least in part, on the pairing communication.

Once paired, the interactive object(s)205,210can leverage the computing resources of the central device215to perform one or more functions. For instance,FIG.4depicts an example interactive object action405according to example aspects of the present disclosure. A user can physically move an interactive object to perform the interactive object action405. The interactive object action405can include, for example, a gesture action. The gesture action can represent a spell-like motion associated with an interactive toy wand. While in motion, the interactive object can obtain sensor data (e.g., via the inertial measurement unit(s) of the interactive object, etc.) that indicates the position(s) and/or time(s) associated with the motion of the interactive object. In some implementations, this data can be expressed as a series of coordinate point(s) (e.g., 2D x-y coordinates, etc.) and time(s) (e.g., time durations from a to, timestamps associated with a world clock, etc.). The interactive object can provide, to a connected device such as the central device discussed herein, data indicative of the interactive object action405. This can include, for example, the coordinates and/or times associated with the gesture action, etc.

The connected device (e.g., central device405) can perform one or more action(s)410based at least in part on the interactive object action and/or the interactive object (e.g., the first interactive object205, the visitor interactive object210, ofFIG.2) that provided the data indicative of the interactive object action. For instance, the central device can obtain the data indicative of the interactive object action (e.g., the gesture action, etc.). The central device can process the data to identify the interactive object action and an associated central device action to be performed. By way of example, the central device can input the coordinates/times associated with the gesture action into a recognizer model. The recognizer model can be configured to analyze the coordinates/times to identify the particular interactive object action performed via the interactive object(s). For example, the data input into the recognizer model can be indicative of three-dimensional motion data generated by the interactive object (e.g., inertial measurement unit data, accelerometer data, X-Y-Z coordinate data, with associated times, etc.). The recognizer model can be configured to flatten the three-dimensional coordinates into a two-dimensional representation (e.g., by viewing the sequence via a common view plane, etc.). The two-dimensional representation can be matched to a stored gesture motion library (e.g., to identify a particular gesture within a particular confidence range, etc.) to determine an interactive object action (e.g., a gesture, etc.) intended by a user. The recognizer model can output data indicative of the identified interactive object action. The central device (e.g., a software application running on the device, etc.) can identify one of more functions to perform based at least in part on the interactive object action identified by the recognizer model.

For example, the central device (e.g., a software application running on the device, etc.) can perform a central device action410based at least in part on the interactive object action405identified by the recognizer model and/or the interactive object (e.g., the first interactive object205, the visitor interactive object210, ofFIG.2) that provided the data indicative of the interactive object action.

By way of example, the user device can perform a look-up function to determine what action the user device is to take in response to the interactive object action405. In this manner, the central device can identify one or more functions associated with the physical movement of a paired interactive object. The central device can invoke at least one of the one or more functions based, at least in part, on the interactive object (e.g., the first interactive object205, the visitor interactive object210, ofFIG.2) that provided the data indicative of the interactive object action405. For instance, the one or more functions can include ignoring the interactive object action405(e.g., based on permissions associated with the interactive object that provided the data) and/or responding with a particular central device action410. By way of example, a central device action can include initiating an action associated with a collaborative game, adjusting the volume of the another device, purchasing an item via an e-commerce application, activating a lighting source of the another device, capturing an image, initiating a communication (e.g., phone call, telephone call, etc.), emitting sound(s), sending a communication to adjust a parameter of another device (e.g., tuning on a home device, changing the channel of a smart television, etc.), and/or other types of functions. The central device can determine whether to initiate a specific based, at least in part, on the permissions associated with the interactive object that provided the data indicative of the interactive object action405

For example, the central device can generate, based at least in part on the visitor interactive object identifier, a temporary visitor profile for a visitor interactive object.FIG.5, for example, depicts example contents of a visitor profile500according to example aspects of the present disclosure. The visitor profile500can include one or more device identifiers505, visiting user identifiers510, and/or visitor privileges515. The device identifiers505, for example, can identify a unique identifier for the visitor interactive object (e.g., visitor interactive object identifier). The visiting user identifier(s)510can identify one or more user(s) associated with the visitor interactive object. For example, each of the user(s) can be associated with a user account. The user identifier(s)510can include a unique identifier corresponding to a respective user account. The central device, for example, can perform a lookup (e.g., on a cloud-based memory) for one or more users associated with the device identifier505.

In addition, the visitor profile500can include one or more visitor privileges515associated with the visitor interactive object. The one or more visitor privileges515can be different from the one or more home privileges associated with the first interactive object. For example, the one or more visitor privileges515can be based, at least in part, on a user account associated with a user of the visitor interactive object. For instance, the central device can generate the temporary visitor profile500by identifying (e.g., by searching a cloud database, etc.) a user account associated with the visitor interactive object identifier. In some implementations, the one or more visitor privileges515can be associated with at least one of an age of the user, a status (e.g., a level in a collaborative game, a delinquency status, etc.) of the user, and/or a history (e.g., a purchase history, etc.) of the user as indicated by a user account. In addition, or alternatively, the visitor privilege(s)515can include restrictions based on the one or more home privileges. For instance, the one or more home privileges can include one or more exclusive home privileges such that any visitor interactive object connected with the central device will not be granted the one or more exclusive home privileges.

Turning back toFIG.2, the central device215can receive interaction data indicative of an interactive object action for at least one of the first interactive object205(e.g., via wireless connection250) and/or the visitor interactive object210(e.g., via temporary wireless connection255). The central device215can identify the interactive object that performed the interactive object action based, at least in part, on the interaction data (e.g., via an interactive object identifier of the interaction data). And, the central device215can initiate a response to the interactive object action based on the interactive object that performed the interactive object action. For example, the response can be determined based at least in part on the privileges associated with the profile associated with the interactive object that performed the interactive object action.

As an example, the interactive object can be the visitor interactive object210. In such a case, the central device215can determine a visitor response to the interactive object action based at least in part on the one or more visitor privileges of the visitor profile associated with the visitor interactive object and initiate the visitor response to the object action. As another example, the interactive object can be the first interactive object205. In such a case, the central device215can determine a home response to the interactive object action based at least in part on the one or more home privileges of the home profile associated with the first interactive object215and initiate the home response to the object action. The visitor response can be different from the home response, for example, in the event that a visitor profile does not include privileges for performing an action accessible to the home profile.

The central device215can terminate the temporary wireless connection255with the visitor interactive object210based on one or more factors such as, for example, a location associated with the visitor interactive object210(e.g., indicating that the visitor interactive object is out of range, etc.), a time period (e.g., the expiration of a pairing time period, etc.), an event (e.g., the completion of a collaborative game, etc.), and/or any other factor that may affect the connection between two devices. In response to terminating the temporary wireless connection255, the central device215can discard the temporary visitor profile. In addition, or alternatively, the temporary visitor profile can be stored in an accessible memory at the central device.

FIG.6depicts an example activity diagram600for pairing devices according to example aspects of the present disclosure. The activity diagram600depicts interaction between visitor interactive object210, first interactive object205, and central device215. In some implementations, the central computing device215can include a mobile phone, a store device, or a home-networking device. The first interactive object205and the visitor interactive object210can include an interactive toy with a wand-like form factor. In addition, or alternatively, the interactive objects205,210can include another mobile device such as a mobile phone, and/or any other device with wireless capabilities.

The first interactive object205can be wirelessly connected to the central computing device215. For instance, the first interactive object205can be previously paired with the central computing device215. The first interactive object205can be authorized for input to the central computing device215based on a user profile of the central computing device215. For instance, the first interactive object205can be associated with a home profile including one or more home privileges associated with the first interactive object205.

At (602), the first interactive object205can receive a first input. For instance, the first interactive object205can detect a user input with the first interactive object205. The first input can include a physical contact with the first interactive object205, a movement of the first interactive object205, an audio input to the first interactive object205, and/or any other user input detectable by the first interactive object205. In response to detecting the user input, at (604), the first interactive object205can initiate a listening mode associated with a sensor (e.g., infrared receiver) of the first interactive object205.

At (606), the visitor interactive object210can receive a second input. For instance, the visitor interactive object210can detect a user input with the visitor interactive object210. The second input can include a physical contact with the visitor interactive object210, a movement of the visitor interactive object210, an audio input to the visitor interactive object210, and/or any other user input detectable by the visitor interactive object210. In response to detecting the second user input, at (608), the visitor interactive object210can communicate data indicative of a visitor interactive object identifier associated with the visitor interactive object210to the first interactive object205.

At (610), the first interactive object205can receive, from one or more sensors, data indicative of the visitor interactive object identifier associated with the visitor interactive object210. For example, the one or more sensors can include an infrared receiver. In such a case, the data indicative of the visitor interactive object identifier can include an infrared signal. In some implementations, the first interactive object205can receive, from the infrared sensor, the data indicative of the visitor interactive object identifier during the listening mode.

At (612), the first interactive object205can generate a visitor pairing communication. For instance, the first interactive object205can generate a pairing communication for the visitor interactive object210and the central device215. The pairing communication can include the visitor interactive object identifier. At (614), the first interactive object205can communicate the pairing communication to the central computing device215. The central computing device215can be temporarily paired with the visitor interactive object210based, at least in part, on the pairing communication. For instance, the pairing communication can be configured to trigger the central computing device215to establish a temporary wireless connection with the visitor interactive object210.

For example, at (616), the central device215can receive the visitor pairing communication. For instance, the central device215can receive the visitor pairing communication from the first interactive object205wirelessly connected to the central computing device215. The visitor pairing communication can include the visitor interactive object identifier associated with a visitor interactive object210.

At (618), the central device215can generate, based at least in part on the visitor interactive object identifier, a temporary visitor profile for the visitor interactive object210. The temporary visitor profile can include one or more visitor privileges associated with the visitor interactive object210. In some implementations, the one or more home privileges can be different from the one or more visitor privileges. In addition, or alternatively, the visitor privileges can include the one or more home privileges. The one or more visitor privileges can be based, at least in part, on a user account associated with a user of the visitor interactive object210. For example, the one or more visitor privileges can be associated with at least one of an age of the user, a status of the user, and/or a history of the user.

At (620), the central device215can establish, based at least in part on the visitor pairing communication, a temporary wireless connection with the visitor interactive object210. Once paired, the central device215can receive interaction data indicative of an interactive object action. The interactive object action can include a physical movement of an interactive object205,210. The central device215can identify, based, at least in part, on the interaction data, the interactive object205,210and initiate, based, at least in part, on the interactive object, a response to the interactive object action. For instance, the central device215can identify one or more functions associated with the physical movement of the interactive object205,210and invoke at least one of the one or more functions.

As an example, at (622), the first interactive object205can communicate interaction data to the central device215. The central device215can determine that the interactive object is the first interactive object205. In response, the central device215can determine, based at least in part on the one or more home privileges, a home response to the interactive object action. At (626), the central device215can initiate the home response to the interactive object action.

As another example, at (624), the visitor interactive object210can communicate interaction data to the central device215. The central device215can determine that the interactive object is the visitor interactive object210. In response, the central device215can determine, based at least in part on the one or more visitor privileges, a visitor response to the interactive object action. At (628), the central device215can initiate the visitor response to the interactive object action. The visitor response can be the same or different from the home response.

The central device215can terminate, based at least in part on a location or other factor associated with the visitor interactive object210, the temporary wireless connection with the visitor interactive object210. In response to terminating the temporary wireless connection, the central device215can discard the temporary visitor profile.

FIG.7depicts an example method700for pairing devices according to example aspects of the present disclosure. One or more portion(s) of method700can be implemented by one or more computing device(s) such as, for example, those shown inFIGS.1,2,5, and7. Moreover, one or more portion(s) of the method400can be implemented as an algorithm on the hardware components of the device(s) described herein (e.g., as inFIGS.1,2,4,6, and8) to, for example, pair electronic devices.FIG.7depicts steps performed in a particular order for purposes of illustration and discussion. Those of ordinary skill in the art, using the disclosures provided herein, will understand that the steps of any of the methods discussed herein can be adapted, rearranged, expanded, omitted, or modified in various ways without deviating from the scope of the present disclosure.

At (702), the method700can include receiving, by a first interactive object from one or more sensors, data indicative of a visitor interactive object identifier associated with a visitor interactive object. For example, a first interactive object can receive the data indicative of the visitor interactive object identifier associated with a visitor interactive object.

At (704), the method700can include generating, by the first interactive object, a pairing communication for the visitor interactive object. For example, the first interactive object can generate the pairing communication for the visitor interactive object. The pairing communication can include the visitor interactive object identifier.

At (706), the method700can include communicating, by the first interactive object, the pairing communication to a central computing device. For example, the first interactive object can communicate the pairing communication to the central computing device. The central computing device can be temporarily paired with the visitor interactive object based, at least in part, on the pairing communication.

At (708), the method700can include receiving, by the central computing device, a visitor pairing communication from the first interactive object wirelessly connected to the central computing device. For example, the central computing device can receive the visitor pairing communication from the first interactive object. The visitor pairing communication can include a visitor interactive object identifier associated with the visitor interactive object.

At (710), the method700can include generating, by the central computing device, based at least in part on the visitor interactive object identifier, a temporary visitor profile for the visitor interactive object. For example, the central computing device can generate the temporary visitor profile for the visitor interactive object.

At (712), the method700can include establishing, by the central computing device, based at least in part on the pairing communication, a temporary wireless connection with the visitor interactive object. For example, the central computing device can establish the temporary wireless connection with the visitor interactive object.

FIG.8depicts example components of an example computing system800according to example aspects of the present disclosure. The system800can include an interactive object805, a central device815, and a remote computing system840. The interactive object805and central device(s)815can correspond to interactive objects100,205,210and central device215, as described herein. The interactive object805and the central device815can communicate via one or more near range communication protocols (e.g., BLE, infrared signals, etc.). In some implementations, the system800can include one or more remote computing systems840(e.g., cloud-based server systems, etc.). The interactive object805, the central device815, and/or the remote computing computing(s)840can be configured to communicate via one or more network(s)830.

The interactive object805can include one or more computing device(s). The computing device(s) can include one or more processor(s)810A and one or more memory device(s)810B. The one or more processor(s)810A can be any suitable processing device (e.g., a processor core, a microprocessor, an ASIC, a FPGA, a controller, a microcontroller, etc.) and can be one processor or a plurality of processors that are operatively connected. The memory device(s)810B can include one or more non-transitory, computer-readable media that collectively store instructions that when executed by the one or more processors810A (the interactive object805) cause the one or more processors810A (the interactive object805) to perform operations. The memory device(s)810B can include one or more non-transitory, computer-readable storage media, such as RAM, ROM, EEPROM, EPROM, flash memory devices, magnetic disks, etc., and/or combinations thereof

The memory device(s)810B can store information accessible by the one or more processor(s)810A, including computer-readable instructions810D that can be executed by the one or more processor(s)810A. The instructions810D can be any set of instructions that when executed by the one or more processor(s)810A, cause the one or more processor(s)810A (the interactive object805) to perform operations. In some embodiments, the instructions810D can be executed by the one or more processor(s)810A to cause the one or more processor(s)810A (the interactive object805) to perform operations, such as any of the operations and functions of an interactive object (and/or its hardware components) or for which the interactive object805(and/or its hardware components) are configured, as described herein, one or more portions of any of the methods/processes described herein (e.g., methods600,700), and/or any other operations or functions, as described herein. The instructions810D can be software written in any suitable programming language or can be implemented in hardware. Additionally, and/or alternatively, the instructions810D can be executed in logically and/or virtually separate threads on processor(s)810A.

The one or more memory device(s)810B can also store data810D that can be retrieved, manipulated, created, or stored by the one or more processor(s)810A. The data810D can include, for instance, data indicative of user input, data indicative of a pairing communication, data indicative of an interactive object identifier, data indicative of a paring output signal, sensor data, data indicative of an interactive object action, data associated with an unpairing action, algorithms and/or models, and/or other data or information. The data810D can be stored in one or more database(s). The one or more database(s) can be connected to the interactive object805by a data channel, by a high bandwidth LAN or WAN, or can also be connected to the interactive object805through network(s)830. The one or more database(s) can be split up so that they are located in multiple locales.

The interactive object805can also include a communication interface810G used to communicate with one or more other component(s) of the system800including, for example, near range and/or over the network(s)830. The network interface810G can include any suitable components for interfacing with one or more network(s), including for example, transmitters, receivers, ports, controllers, antennas, chips, or other suitable components.

The interactive object805can include one or more input devices(s)810E and/or one or more output devices(s)810E. The input devices(s)810E can include, for example, hardware and/or software for receiving information from a user (e.g., user input) and/or another device. This can include, for example, one or more sensors (e.g., infrared receivers, inductive sensors, IMUs, etc.), buttons, touch screen/pad, data entry keys, a microphone suitable for voice recognition, etc. The output device(s)810F can include hardware and/or software for visually or audibly producing signals. For instance, the output device(s)810F can include one or more infrared transmitters, lighting elements (e.g., LED, etc.), display device, one or more speaker(s), etc.

The central device815can be any suitable type of computing device, as described herein. A central device815can include one or more processor(s)820A and one or more memory device(s)820B. The one or more processor(s)820A can include any suitable processing device, such as a microprocessor, microcontroller, integrated circuit, an application specific integrated circuit (ASIC), a digital signal processor (DSP), a field-programmable gate array (FPGA), logic device, one or more central processing units (CPUs), graphics processing units (GPUs) (e.g., dedicated to efficiently rendering images), processing units performing other specialized calculations, etc. The memory device(s)820B can include one or more non-transitory, computer-readable media that collectively store instructions that when executed by the one or more processors820A (the central device815) cause the one or more processors820A (the central device815) to perform operations. The memory device(s)820B can include one or more non-transitory, computer-readable storage media, such as RAM, ROM, EEPROM, EPROM, flash memory devices, magnetic disks, etc., and/or combinations thereof

The memory device(s)820B can include one or more computer-readable media and can store information accessible by the one or more processor(s)820A, including instructions820D that can be executed by the one or more processor(s)820A. For instance, the memory device(s)820B can store instructions820D for running one or more software applications, displaying a user interface, receiving user input, processing user input, pairing/impairing with an interactive object, performing user device actions, etc. The instructions820B can be executed by the one or more processor(s)820A to cause the one or more processor(s)820A (the central device815) to perform operations, one or more portions of any of the methods/processes described herein (e.g., method600,700), and/or any other operations or functions, as described herein, as described herein. The instructions820D can be software written in any suitable programming language or can be implemented in hardware. Additionally, and/or alternatively, the instructions820D can be executed in logically and/or virtually separate threads on processor(s)820A.

The one or more memory device(s)820B can also store data820C that can be retrieved, manipulated, created, or stored by the one or more processor(s)820A. The data820C can include, for instance, data indicative of a user input, data indicative of user input, data indicative of a pairing communication, data indicative of an interactive object identifier, data indicative of a pairing output signal, sensor data, data indicative of an interactive object action, data associated with an impairing action, data indicative of home profile and/or one or more home privileges, data indicative of a visitor profile and/or one or more visitor privileges, algorithms and/or models, and/or other data or information. In some implementations, the data820C can be received from another device.

The central device815can also include a network interface820G used to communicate with one or more other component(s) of system800(e.g., an interactive object805) via near range communication and/or over the network(s)830. The network interface820G can include any suitable components for interfacing with one or more network(s), including for example, transmitters, receivers, ports, controllers, antennas, or other suitable components.

The central device815can include one or more input devices(s)820E and/or one or more output devices(s)820E. The input devices(s)820E can include, for example, hardware and/or software for receiving information from a user, such as a touch screen, touch pad, mouse, data entry keys, speakers, a microphone suitable for voice recognition, etc. In some implementations, the input device(s)820E can include sensor(s) for capturing sensor data (E.g., associated with a pairing output signal, interactive object action, etc.). The output device(s)820F can include hardware and/or software for visually or audibly producing information/signals for a user. For instance, the output device(s)820F can include one or more speaker(s), earpiece(s), headset(s), handset(s), etc. The output device(s)820F can include a display device, which can include hardware for displaying a user interface and/or messages for a user. By way of example, the output component820F can include a display screen, CRT, LCD, plasma screen, touch screen, TV, projector, and/or other suitable display components. In some implementations, the central device815may not include a display device.

The network(s)830can be any type of communications network, such as a local area network (e.g. intranet), wide area network (e.g. Internet), cellular network, or some combination thereof and can include any number of wired and/or wireless links. The network(s)830can also include a direct connection between one or more component(s) of system800. In general, communication over the network(s)830can be carried via any type of wired and/or wireless connection, using a wide variety of communication protocols (e.g., TCP/IP, HTTP, SMTP, FTP), encodings or formats (e.g., HTML, XML), and/or protection schemes (e.g., VPN, secure HTTP, SSL).