U.S. patent application number 15/085893 was filed with the patent office on 2017-10-05 for construction toy with programmable connectors.
This patent application is currently assigned to FUJITSU LIMITED. The applicant listed for this patent is FUJITSU LIMITED. Invention is credited to Ajay CHANDER, Cong CHEN, Kanji UCHINO.
Application Number | 20170282090 15/085893 |
Document ID | / |
Family ID | 57755028 |
Filed Date | 2017-10-05 |
United States Patent
Application |
20170282090 |
Kind Code |
A1 |
CHEN; Cong ; et al. |
October 5, 2017 |
CONSTRUCTION TOY WITH PROGRAMMABLE CONNECTORS
Abstract
A construction toy includes a housing and a connector coupled to
the housing. The connector may be configured to selectively couple
the construction toy to a second construction toy. The connector
may be adjustable between at least two connectivity states. The
construction toy may also include an operating assembly configured
to adjust the connector between the at least two connectivity
states. The construction toy may further include a power source
configured to supply power to at least the operating assembly.
Inventors: |
CHEN; Cong; (Cupertino,
CA) ; CHANDER; Ajay; (San Francisco, CA) ;
UCHINO; Kanji; (Santa Clara, CA) |
|
Applicant: |
Name |
City |
State |
Country |
Type |
FUJITSU LIMITED |
Kawasaki-shi |
|
JP |
|
|
Assignee: |
FUJITSU LIMITED
Kawasaki-shi
JP
|
Family ID: |
57755028 |
Appl. No.: |
15/085893 |
Filed: |
March 30, 2016 |
Current U.S.
Class: |
1/1 |
Current CPC
Class: |
A63H 33/086 20130101;
A63H 33/042 20130101; A63H 33/046 20130101 |
International
Class: |
A63H 33/04 20060101
A63H033/04; A63H 33/08 20060101 A63H033/08 |
Claims
1. A construction toy comprising: a housing; a connector coupled to
the housing, the connector being configured to selectively couple
the construction toy to a second construction toy, the connector
being adjustable between at least two connectivity states; a
programmable computer element configured to execute one or more
instructions pertaining to adjusting the connector between the at
least two connectivity states; a memory operatively coupled to the
programmable computer element, the memory being configured to store
the one or more instructions; a sensing element configured to
detect an input value pertaining to the second construction toy
relative to the construction toy; an operating assembly configured
to adjust the connector between the at least two connectivity
states responsive to the input value pertaining to the second
construction toy relative to the construction toy; and an internal
power source configured to supply power to at least the operating
assembly.
2. The construction toy of claim 1, wherein the operating assembly
comprises a communication element to communicate between the
construction toy and a host computer.
3. The construction toy of claim 2, wherein the operating assembly
comprises an actuator coupled to the connector, the actuator being
configured to change a connectivity state of the connector between
the at least two connectivity states of the connector.
4. The construction toy of claim 3, wherein the at least two
connectivity states comprise: a first connectivity state that
includes the actuator physically being in a male configuration; and
a second connectivity state that includes the actuator or the
housing physically being in a female configuration.
5. The construction toy of claim 4, wherein the at least two
connectivity states further comprise a third connectivity state
that includes the actuator physically being in a neutral
configuration.
6. The construction toy of claim 2, wherein the operating assembly
comprises an electromagnet coupled to the connector, the
electromagnet being configured to change the state of the
connector.
7. The construction toy of claim 6, wherein the at least two
connectivity states comprise: a first connectivity state that
includes the electromagnet being in powered-off configuration; and
a second connectivity state that includes the electromagnet being
in powered-on configuration.
8. The construction toy of claim 2, wherein the one or more
instructions include an instruction for the programmable computer
element to cause the state of the connector to change in response
to receiving an indication from the sensing element that the second
construction toy is within a predetermined distance from the
construction toy.
9. The construction toy of claim 2, wherein the programmable
computer element includes instructions to cause the state of the
connector to change in response to receiving an indication of the
sensing element that a player has engaged in a threshold number of
repetitive actions.
10. A method comprising: establishing, by a construction toy, a
connection to a host computer device via a wireless network,
wherein the construction toy includes: a sensor to detect a
location characteristic pertaining to a second construction toy
relative to the construction toy; and a first connector being
configured to selectively couple the construction toy to the second
construction toy, the first connector being adjustable between at
least two connectivity states; sending the location characteristic
to the host computer device; receiving, by the construction toy, an
instruction from the host computer device to change a connectivity
state of the first connector to a first connectivity state, wherein
the instruction is based on the location characteristic pertaining
to the second construction toy relative to the construction toy;
and causing the connectivity state of the first connector to change
to the first connectivity state.
11. The method of claim 10, wherein the instruction includes a
block identifier (ID), the method further comprising determining
whether the block ID corresponds to the construction toy, wherein
the construction toy is to cause the connectivity state of the
first connector to change to the first connectivity state when the
block ID corresponds to the construction toy.
12. The method of claim 10 further comprising detecting the
location characteristic, wherein the location characteristic
includes a proximity of a second construction toy.
13. The method of claim 12, wherein the second construction toy
includes a second connector being adjustable between the at least
two connectivity states, the method further comprising: identifying
a state of the second connector as being in a second connectivity
state, wherein the first connectivity state and the second
connectivity state are an opposing pair to be selectively
coupled.
14. The method of claim 13 further comprising: detecting a
connection event between the first connector on the construction
toy and the second connector on the second construction toy; and
sending an indication of the connection event to the host computer
device.
15. The method of claim 10, wherein the instruction includes an
instruction to disable a predetermined connection event.
16. A non-transitory computer readable medium having stored therein
executable code that, when executed by a processor, cause the
processor to perform operations comprising: establishing a
connection between a construction toy and a host computer device
via a wireless network, wherein the construction toy includes: a
sensor to detect a location characteristic pertaining to a second
construction toy relative to the construction toy; and a first
connector being configured to selectively couple the construction
toy to the second construction toy, the first connector being
adjustable between at least two connectivity states; sending the
location characteristic to the host computer device; receiving, by
the construction toy, an instruction from the host computer device
to change a connectivity state of the first connector to a first
connectivity state, wherein the instruction is based on the
location characteristic pertaining to the second construction toy
relative to the construction toy; and causing the connectivity
state of the first connector to change to the first connectivity
state.
17. The non-transitory computer readable medium of claim 16,
wherein the instruction includes a block identifier (ID), the
operations further comprising determining whether the block ID
corresponds to the construction toy, wherein the construction toy
is to cause the connectivity state of the first connector to change
to the first connectivity state when the block ID corresponds to
the construction toy.
18. The non-transitory computer readable medium of claim 16, the
operations further comprising detecting the location
characteristic, wherein the location characteristic includes a
proximity of a second construction toy.
19. The non-transitory computer readable medium of claim 18,
wherein the second construction toy includes a second connector
being adjustable between the at least two connectivity states, the
operations further comprising: identifying a state of the second
connector as being in a second connectivity state, wherein the
first connectivity state and the second connectivity state are an
opposing pair to be selectively coupled.
20. The non-transitory computer readable medium of claim 19, the
operations further comprising: detecting a connection or
disconnection event between the first connector on the construction
toy and the second connector on the second construction toy; and
sending an indication of the connection or disconnection event to
the host computer device.
Description
FIELD
[0001] The embodiments discussed in the present disclosure are
related to a construction toy with programmable connectors.
BACKGROUND
[0002] Construction toys have been available in relatively the same
state for a number of years. Example construction toys may include
Legos.RTM. and Lincoln Logs.RTM.. Construction toys may be used for
enjoyment as well as for learning and teaching.
[0003] The subject matter claimed in the present disclosure is not
limited to embodiments that solve any disadvantages or that operate
only in environments such as those described above. Rather, this
background is only provided to illustrate one example technology
area where some embodiments described may be practiced.
Furthermore, unless otherwise indicated, the materials described in
the background section are not prior art to the claims in the
present application and are not admitted to be prior art by
inclusion in this section.
SUMMARY
[0004] According to an aspect of an embodiment, a construction toy
may include a housing and a connector coupled to the housing. The
connector may be configured to selectively couple the construction
toy to a second construction toy. The connector may be adjustable
between at least two connectivity states. The construction toy may
also include an operating assembly configured to adjust the
connector between the at least two connectivity states. The
construction toy may further include a power source configured to
supply power to at least the operating assembly.
[0005] The object and advantages of the implementations will be
realized and achieved at least by the elements, features, and
combinations particularly pointed out in the claims.
[0006] It is to be understood that both the foregoing general
description and the following detailed description are given as
examples and explanatory and are not restrictive of the invention,
as claimed.
BRIEF DESCRIPTION OF THE DRAWINGS
[0007] Example embodiments will be described and explained with
additional specificity and detail through the use of the
accompanying drawings in which:
[0008] FIG. 1 illustrates an example construction toy with one or
more controllable connectors;
[0009] FIG. 2 illustrates a block diagram of an example operating
environment in which some embodiments may be implemented;
[0010] FIG. 3 illustrates an example operating assembly;
[0011] FIGS. 4A, 4B and 4C illustrate three different connectivity
states of the operating assembly of FIG. 3;
[0012] FIG. 5 illustrates another embodiment of a construction toy
that includes a housing and at least one electromagnetic
connector;
[0013] FIG. 6 illustrates another example operating assembly;
[0014] FIG. 7 illustrates a flow diagram of an example method to
control one or more connectors of one or more construction
toys;
[0015] FIG. 8 illustrates a flow diagram of an example method to
send sensor data to a host computer device;
[0016] FIG. 9 illustrates a flow diagram of an example method to
execute instructions on a construction toy;
[0017] FIG. 10 illustrates a flow diagram of an example method to
manage connections of a construction toy with alien connectors of
an adjacent construction toy;
[0018] FIG. 11 illustrates a flow diagram of an example method 1100
to detect whether an alien connector has been disconnected from a
construction toy;
[0019] FIG. 12 illustrates a flow diagram of an example method to
assist a player to play with a set of construction toys; and
[0020] FIG. 13 illustrates a diagrammatic representation of a
machine in the example form of a computing device within which a
set of instructions, for causing the machine to perform any one or
more of the methods discussed herein, may be executed.
DESCRIPTION OF EMBODIMENTS
[0021] Often, construction toys include blocks with connectors.
These connectors allow multiple toy blocks to be joined
structurally and/or electrically, in order to form a larger
structure and sometimes to transfer electrical power and/or
electronic signals. Most connectors include solid, non-movable
components, which may include a protruding stud (male connector)
and a recessed opening seat (female connector) for snugly holding
the male connector. Some construction toys may include embedded
mechanical and electrical features, such as batteries, switches,
sensors, motors, lights, speakers, etc. Further, construction toys
may also include programmable processors and communication chips
to, for example, connect to a nearby computing device (e.g., a
computer), accept commands from the computer, execute a
preconfigured computer program, activate function elements (e.g.,
driving a motor, turning on lights, making sound, etc.), and send
sensor data back to the computer. Conventional construction toys,
however, may not include connectors with multiple predefined
transformable states. Further, conventional construction toys may
not include connectors that may be controlled or programmed to
redirect a person (e.g., a "player") using the construction toys to
use a different connection, which may assist and/or add play value
to the player.
[0022] Aspects of the present disclosure pertain to a construction
toy with one or more controllable connectors for connecting
multiple blocks structurally and/or electrically. The connectors
may be controlled remotely and/or programmatically. In at least one
embodiment, the one or more connectors may be controlled and/or
programmed in order to provide assistance and to add play value.
Further, the construction toy described may include autonomous
construction modeling, assessment, and intervention system in the
form of a building set of construction toys in which a remote
helper, without being present, may model the construction being
made from the construction toys, assess the variability of the
constructions a player has made, provide assistance or add
challenge to the player. The helper is not limited to a human
helper and may include a computer program. In at least one
embodiment, the disclosed construction toy may be used to help
teach children to follow directions or avoid repetitive plays.
[0023] In one aspect, a method may include establishing, by a
construction toy, a connection to a host computer device via a
wireless network. The construction toy includes a sensor to detect
a location characteristic and a first connector being configured to
selectively couple the construction toy to a second construction
toy. The first connector may be adjustable between at least two
connectivity states. The method may also include sending the
location characteristic to the host computer device. The method may
further include receiving, by the construction toy, an instruction
from the host computer device to change a connectivity state of the
first connector to a first connectivity state. The instruction may
be based on the location characteristic. The method may also
include causing the connectivity state of the first connector to
change to the first connectivity state.
[0024] FIG. 1 illustrates an example construction toy 100 with one
or more controllable connectors. The one or more controllable
connectors may be adjustable between at least two connectivity
states so as to allow, encourage, discourage or prevent connection
of the construction toy 100 to an adjacent construction toy. In at
least one embodiment, the connectivity states include male, female,
and neutral states. In at least one alternative embodiment, the
connectivity states may include enabled and disabled states.
[0025] The construction toy 100 may include a housing 105 of any
shape or size. The housing 105 may include any number of sides or
walls. The housing 105 may include a solid piece of material and
may also include one or more cavities for various components, such
as a sensor, operating assembly, etc., as described below. As
illustrated, the housing 105 includes a cube with six external
walls to form six sides. The housing 105 may include any number of
sides.
[0026] The construction toy 100 may also include one or more
controllable connectors 110. As illustrated, the construction toy
100 includes three connectors--a male state connector 110a, a
neutral state connector 110b, and a female state connector 110c. As
illustrated, the connectors 110a, 110b, 110c may include a shape
with a square profile. The connectors 110a, 110b, 110c may be any
shape or size. The construction toy 100 may include any number of
connectors 110 and any number of connectors 110 may be positioned
on a particular side on the construction toy 100.
[0027] The housing 105 may also include one or more cavities or
voids through which the one or more connectors 110 may be coupled.
As illustrated, the cavities in the housing are substantially the
same shape as the connectors 110 with the square profile. The male
state connector 110a may extend through a first cavity and outward
with respect to the housing 105. The male state connector 110a may
be configured to fit within a female state connector of an adjacent
construction toy (not illustrated). The female state connector 110c
may be recessed in a second cavity with respect to an outer surface
of the housing of the adjacent construction toy. The neutral state
connector 110b may be substantially parallel with an outer surface
of the housing 105 such that the neutral state connector 110b may
be flush with the outer surface of the housing 105.
[0028] The construction toy 100 may be part of a set of
construction toys that may be connected to and decoupled from each
other. Each construction toy in the set be associated with a block
identifier. Similarly, each connector on each construction toy in
the set may be associated with a connector identifier. In at least
one embodiment, the connector identifier may be associated with a
respective construction toy. For example, a construction toy may
include a block identifier "ABC123" and a first connector of the
construction toy may include a first connector identifier
"ABC123:001", a second connector of the construction toy may
include a second connector identifier "ABC123:002", a third
connector of the construction toy may include a third connector
identifier "ABC123:003", and so on. The connector identifiers may
also be associated with a block map that identifies the location of
each of the connector with respect to each other. For example, a
cube-shaped construction toy 100 may have six connectors with one
connector on each face. The block map may include the six faces as
locations for the six connectors. The block identifiers may be
integrated into the block map, such that the first connector
identifier "ABC123:001" is indicative of the first connector being
on a first of the six faces, the second connector identifier
"ABC123:002" being indicative of the second connector being on a
second of the six faces, and so on. In at least one alternative
embodiment, the location of the connector with respect to the
construction toy 100 is separate from the block identifier and the
connector identifier. The block identifier, the block map, and the
connector identifier may be stored on another device, such as on
another construction toy or a host computer device.
[0029] Each construction toy in the set may include at least one
location sensor capable of reading its location relative to
adjacent construction toys that are near or connected to the
construction toy. The location sensor may also be capable of
reading a location of an adjacent construction toy relative to the
construction toy. Each construction toy in the set may selectively
control its respective connectors in response to predefined rules
and its location relative to adjacent blocks that are near or
connected to the construction toy. For example, each construction
toy in the set may selectively control its respective connectors to
retract a connector to prevent repetitive behavior, to guide a
player to build the construction toys in a new directions, or to
detect and manage repetitive patterns, as further described
below.
[0030] FIG. 2 illustrates a block diagram of an example operating
environment in which some embodiments may be implemented. The
operating environment 200 may include a construction toy 205 and a
host computer device 210. The construction toy 205 may be the same
as or similar to the construction toy 100 of FIG. 1. The host
computer device 210 may monitor construction of a set of
construction toys and may determine transformations to be performed
on connectors of the construction toys. The construction toy 205
may detect and send location data to the host computer device 210
and execute received commands. The construction toy 205 may include
an energy storage element 220, one or more sensors 225, a computing
control element 230, an operating assembly 235, and a communication
element 240.
[0031] The construction toy 205 may be part of a set of
construction toys that may be coupled to and decoupled from each
other. Each construction toy in the set may include at least one
sensor 225 capable of reading its location relative to adjacent
blocks that are near or connected to the construction toy. The at
least one sensor 225 may also be capable of reading a location of
an adjacent construction toy relative to the construction toy 205.
Each construction toy may also include a programmable computing
control element to execute computer programs and to operate the
connectors.
[0032] The energy storage element 220 may supply electrical power
to the one or more sensors 225 computing control element 230,
operating assembly 235, and communication element 240. The energy
storage element 220 may include a charging device and/or an energy
conversion component that may transform power in real time. The
energy storage element 220 may include a battery or other similar
device configured to store energy.
[0033] The one or more sensors 225 may be configured to detect a
characteristic of an adjacent construction toy. The characteristic
of the adjacent construction toy may include proximity, location,
motion, position, orientation, temperature, emitted or reflected
light, radio frequency identification (RFID), etc. The one or more
sensors 225 may include a proximity sensor, NFC sensor, sonar
sensor, infrared sensor, temperature sensor, light sensor, motion
sensor, accelerometer, gyroscope, orientation sensor, etc. to
detect the characteristic of the adjacent construction toy. The one
or more sensors 225 may be operatively connected to the computing
control element 230 and the one or more sensors 225 may send data
to the computing control element 230. For example, a sensor 225 may
detect that the construction toy 100 has been operatively coupled
to an adjacent construction toy. The sensor 225 may send data
indicative of the coupling--including a block identifier of the
construction toy 205, a connector identifier of the construction
toy 205 that was coupled to the adjacent construction toy, a block
identifier of the adjacent construction toy, a connector identifier
of the adjacent construction toy, etc. Alternatively, each
construction toy may gather and report data for itself and not for
other construction toys. For example, the sensor 225 may send data
indicative of the coupling--including a block identifier of the
construction toy 205, a connector identifier of the construction
toy 205 that was coupled to the adjacent construction toy, etc. The
adjacent construction toy may send a respective a block identifier
of the adjacent construction toy, a connector identifier of the
adjacent construction toy, etc. The sensor data may be sent to the
computer control element 230, to the communication element 240
and/or to the host computer device 210. Using these and other
techniques, data pertaining to the coupling of construction toys
may be collected and sent to the host computer device 210.
[0034] The computing control element 230 may include a processor to
execute instructions and operate the operating assembly 235. The
computing control element 230 may include processing logic to
control the operating assembly 235 to change state of one or more
connectors. The computing control element 230 may include a
programmable computer element. The computing control element 230
may receive instructions from the host computer device 210
pertaining to the control of the one or more connectors. The
instructions may relate to changing a state of one or more
connectors to encourage or discourage certain behavior of the
player of the construction toy 205, as further described below.
[0035] The operating assembly 235 may include a connector and a
mechanism to change the state of the connector. An example
operating assembly 235 may include an actuator and a shaft coupled
to the connector to actuate the connector to different connectivity
states, as further described in conjunction with FIGS. 3, 4A, 4B
and 4C. Another example operating assembly 235 may include a
magnetic or electromagnetic connector that may be selectively
powered to change the connectivity state of the connector, as
further described in conjunction with FIGS. 5 and 6.
[0036] The communication element 240 may be attached to the
computing control element 230 to communicate with a paired host
computer device 210. The communication element 240 may connect to
any other device, such as the host computer device 210, using any
form of wireless communication capability. In some embodiments, the
communication element 240 may include a radio frequency (RF)
antenna. By way of example and not limitation, the communication
element 240 may be configured to provide, via wireless mechanisms,
LAN connectivity, Bluetooth connectivity, Wi-Fi connectivity, NFC
connectivity, M2M connectivity, D2D connectivity, GSM connectivity,
3G connectivity, 4G connectivity, LTE connectivity, any other
suitable communication capability, or any suitable combination
thereof. The construction toy 205 may include any number of
communication elements 240. The construction toy 205 may connect to
any network, such as wide area networks (WANs) and/or local area
networks (LANs). For example, secured and/or encrypted data may be
exchanged between the construction toy 205 and the host computer
device 210. In some embodiments, the network includes the Internet,
including a global internetwork formed by logical and physical
connections between multiple WANs and/or LANs. Alternately or
additionally, the network may include one or more cellular RF
networks and/or one or more wired and/or wireless networks such as,
but not limited to, 802.xx networks, Bluetooth access points,
wireless access points, IP-based networks, meshed devices, or the
like. The network may also include one or more servers that enable
one type of network to interface with another type of network.
[0037] The host computer device 210 may include one or more client
or server computing devices, (such as a personal computer (PC),
game console, set top box, laptop, mobile phone, smart phone,
tablet computer, netbook computer, e-reader, personal digital
assistant (PDA), or cellular phone, wearable device, electronic
wristwatch, arm band, chest strap, head band, bracelet, wristband,
rackmount server, a router computer, a server computer, a personal
computer, a mainframe computer, a laptop computer, a web server, a
proxy server, a desktop computer, etc.), data stores (e.g., hard
disks, memories, databases), networks, software components, and/or
hardware components. The host computer device 210 may include a
play assistance manager 245.
[0038] The play assistance manager 245 may generate instructions to
control various the connectivity state of connectors in a set of
construction toys, including the construction toy 205. The play
assistance manager 245 may receive data from the one or more
sensors 225 via the communication element 240. The play assistance
manager 245 may use the received data to determine when to change a
state of one or more connectors. The play assistance manager 245
may include a set of predetermined rules that indicate when to
change a state of one or more connectors. The predetermined rules
may include one or more conditions for a change of state of a
connector. When the play assistance manager 245 determines (based
on sensor data) that a player is engaging in repetitive behavior
when playing with the construction toys, for example, the play
assistance manager 245 may generate an instruction to change the
connectivity state of one or more connectors to encourage the
player to engage in different techniques to play with the
construction toys. In some embodiments, the play assistance manager
245 may include a stand-alone application ("app") that may be
downloadable either directly from a host or from an application
store.
[0039] The play assistance manager 245 may also generate and/or
manage a construction model that may include a set of instructions
for building a particular object. The construction model may also
include a set of guided instructions to encourage learning and/or a
particular behavior. The construction model may also include a
digital (e.g., graphical) representation of a current configuration
of the set of construction toys. For example, when the player
builds a house out of the set of construction toys, the
construction model may be a digital representation of the house.
The construction model may also guide the player on how to build a
particular object. The construction model may include the current
configuration of the set of construction toys and one or more
locations for where to place the next construction toy to build the
particular object. A helper may observe the digital representation
of the set of construction toys and may define an instruction to be
sent to the construction toy 205. For example, when the helper
identifies a particular undesired behavior of the player, the
helper may define an instruction to discourage or prevent the
particular undesired behavior of the player. The instruction may
include an instruction to disable connections between some or all
of construction toys.
[0040] FIG. 3 illustrates an example operating assembly 300. The
operating assembly 300 may be the same as or similar to the
operating assembly 235 described in conjunction with FIG. 2. As
illustrated, the operating assembly 300 includes a connector 110, a
shaft 310, and an actuator 315. The connector 110 may be coupled to
the shaft 310 which may be coupled to the actuator 315 such that
movement of the actuator 315 and/or the shaft 310 may cause
translational movement of the connector 110 with respect to an
outer surface of the housing 105. In at least one embodiment, the
actuator 315 may cause rotational movement of the shaft 310. The
shaft 310 may be coupled to the actuator on a first end and may
have threads on a second end. The connector 110 may include threads
that may be coupled to the shaft 310 at the threaded end of the
shaft 310. The connector 110 may be rotationally fixed such that
rotational movement of the connector 110 may be restricted. In this
configuration, rotational movement of the shaft 310 may cause the
connector 110 to laterally translate out of and into the housing
105.
[0041] The operating assembly 300 may also include a sensor 320
near the connector, which may be used to detect coupling to an
adjacent connector. The sensor 320 may be the same as or similar to
the sensor 225 of FIG. 2. The sensor 320 may detect a proximity
and/or state of a connector on an adjacent construction toy (i.e.,
an alien connector), the presence of which may be used to transform
the connector to a compatible state with the alien connector. For
example, if the alien connector is in a female state, the connector
on the construction toy may be changed to a male state so as to
enable coupling of the construction toy to the adjacent
construction toy. In another example, in response to detecting the
alien connector or the adjacent construction toy, the connector on
the construction toy may be changed to a neutral state to disable
coupling of the construction toy to the adjacent construction
toy.
[0042] FIGS. 4A, 4B and 4C illustrate three different connectivity
states 400, 420, 440 of the operating assembly 300 of FIG. 3. As
illustrated in FIG. 4A, the connector 110 is in a male
configuration such that the connector 110 extends outward from the
housing. As illustrated in FIG. 4B, the connector 110 is in a
neutral configuration such that the connector 110 is substantially
flush with an outside surface of the housing. As illustrated in
FIG. 4C, the connector 110 is in a female configuration such that
the connector 110 is recessed within the housing.
[0043] FIG. 5 illustrates another embodiment of a construction toy
500 that includes a housing 505 and at least one electromagnetic
connector 510. The housing 505 may be the same as or similar to the
housing 105 of FIG. 1. As illustrated, the construction toy 500
includes three electromagnetic connectors. The electromagnetic
connectors may be selectively powered on or off to enable or
disable coupling to the particular connector. Additionally, the
polarity of electromagnetic connectors may be selectively flipped
to enable or disable coupling to the particular connector.
[0044] FIG. 6 illustrates another example operating assembly 600.
The operating assembly 600 may be the same as or similar to the
operating assembly 235 described in conjunction with FIG. 2. As
illustrated, the operating assembly 600 includes an electromagnetic
connector 610 and an actuator 615. The electromagnetic connector
610 may be coupled to the actuator 315 such that movement of the
actuator 315 may cause the electromagnetic connector 610 to power
on or off In a powered on state, the electromagnetic connector 610
may be operable to be coupled to an adjacent construction toy.
Specifically, the electromagnetic connector 610 may be coupled to
an electromagnetic connector of the adjacent construction toy.
[0045] The operating assembly 600 may also include a sensor 620
near the electromagnetic connector 610, which may be used to detect
coupling to an adjacent electromagnetic connector. The sensor 620
may be the same as or similar to the sensor 225 of FIG. 2. The
sensor 620 may detect a proximity and/or state of a connector on an
adjacent construction toy (i.e., an alien connector), the presence
of which may be used to transform the connector to a compatible
state with the alien connector. For example, if the alien connector
is in a powered on state, the connector on the construction toy may
be changed to a powered on state so as to enable coupling of the
construction toy to the adjacent construction toy. In another
example, in response to detecting the alien connector or the
adjacent construction toy, the connector on the construction toy
may be changed to a powered off state to disable coupling of the
construction toy to the adjacent construction toy.
[0046] The operating assembly 600 may also include a polarity
indicator 625. The polarity indicator 625 may indicate a current
state of the electromagnetic connector 610 (north or south,
positive or negative). The actuator 615 may flip the polarity of
electromagnetic connector 610, such as in response to receiving a
polarity instruction from a host computer. To flip the polarity of
the electromagnetic connector 610, the actuator 615 may alternate a
direction of electric current. In at least one embodiment, the
polarity indicator 625 includes a light (e.g., LED light) that may
be adjacent to the electromagnetic connector 610. In at least one
embodiment, the polarity indicator 625 includes a light that is
attached to the electromagnetic connector 610. In at least one
embodiment, a first state of the polarity is indicated by a first
wavelength (or range) or color of light and a second state of the
polarity is indicated by a second wavelength (or range) or color of
light. In at least one alternative embodiment, a first state of the
polarity is indicated by a first blinking pattern of the light and
a second state of the polarity is indicated by a second blinking
pattern of the light.
[0047] FIGS. 7-12 illustrate flow diagrams of example methods to
control one or more connectors of one or more construction toys
that may be implemented, for example, in the operating environment
of FIG. 2, arranged in accordance with at least one embodiment
described in the present disclosure. The methods may be performed
by processing logic that may include hardware (circuitry, dedicated
logic, etc.), software (such as is run on a general purpose
computer system or a dedicated machine), or a combination of both,
which processing logic may be included in the construction toy 205
of FIG. 2. For simplicity of explanation, methods described herein
are depicted and described as a series of acts. However, acts in
accordance with this disclosure may occur in various orders and/or
concurrently, and with other acts not presented and described
herein. Further, not all illustrated acts may be required to
implement the methods in accordance with the disclosed subject
matter. In addition, those skilled in the art will understand and
appreciate that the methods may alternatively be represented as a
series of interrelated states via a state diagram or events.
Additionally, the methods disclosed in this specification are
capable of being stored on an article of manufacture, such as a
non-transitory computer-readable medium, to facilitate transporting
and transferring such methods to computing devices. The term
article of manufacture, as used herein, is intended to encompass a
computer program accessible from any computer-readable device or
storage media. Although illustrated as discrete blocks, various
blocks may be divided into additional blocks, combined into fewer
blocks, or eliminated, depending on the desired implementation.
[0048] FIG. 7 illustrates a flow diagram of an example method 700
to control one or more connectors of one or more construction toys.
The method 700 may begin at block 405, where the processing logic
may establish communication with a host computer device (e.g., the
host computer device 210 of FIG. 2). The processing logic may
establish communication with the host computer device, for example,
in response to the construction toy being turned on or in response
to receiving a pairing request from a player of the construction
toy. For as long as the processing logic is not in communication
with the host computer device (e.g., "NO" at block 710), the
processing logic may periodically attempt to establish
communication with the host computer device until communication has
been established with the host computer device (e.g., "YES" at
block 710).
[0049] Once a communication has been established with the host
computer device, the processing logic may send sensor data to the
host computer device at block 715, execute instructions (such as
instructions received from the host computer device) at block 720,
and manage connections with alien connectors at block 725, as
further described in conjunction with FIGS. 8, 9 and 10,
respectively.
[0050] FIG. 8 illustrates a flow diagram of an example method 800
to send sensor data to a host computer device. At block 805, the
processing logic may read one or more sensors, such as sensors 225
of FIG. 2. At block 810, the processing logic may determine whether
any sensor data is available from the one or more sensors. The data
may include, for example, data indicative of a nearby adjacent
construction toy or of a nearby alien connector. The data may also
include, for example, data indicative of a connectivity state of a
connector of the construction toy and/or a connectivity state of a
nearby alien connector. Other data may include acceleration data
and/or orientation data of the construction toy. When the
processing logic determines that sensor data is available from the
one or more sensors ("YES" at block 810), the processing logic may
send the sensor data to the host computer device at block 815. When
the processing logic determines that sensor data is not available
from the one or more sensors ("NO" at block 810), the processing
logic may loop to block 805. At block 815, the processing logic may
send the sensor data to the host computer device.
[0051] FIG. 9 illustrates a flow diagram of an example method 900
to execute instructions on a construction toy. The instructions may
relate to controlling one or more connectors of the construction
toy. At block 905, the processing logic may receive instructions
from a host computer device (e.g., the host computer device 210 of
FIG. 2). The host computer device may have generated the
instructions based on sensor data, such as sensor data further
described in conjunction with FIG. 2 or 8. The processing logic may
also receive a block identifier (ID) that identifies a particular
construction toy that is to execute the instructions. The
processing logic may also receive a connector ID that identifies a
particular connector of the construction toy that is to change
connectivity state.
[0052] At block 910, the processing logic may determine whether the
received block ID matches a local block ID that is associated with
the construction toy. The local block ID may be stored in a local
data storage. The processing logic may compare the received block
ID with the local block ID. When the received block ID and the
local block ID match ("YES" at block 910), the processing logic may
determine whether the received connector ID is valid. When a match
is not found ("NO" at block 910), the processing logic may ignore
the instructions and loop to block 905.
[0053] In at least one embodiment, to check whether the received
connector ID is valid at block 915, the processing logic may
determine whether the construction toy includes a local connector
that corresponds to the received connector ID. For example, a local
connector ID may be stored in a local data storage. The processing
logic may check the received connector ID against any local
connector IDs store in the local data storage. When a match is
found ("YES" at block 915), the processing logic may determine that
the construction toy includes a connector to be driven. When a
match is not found ("NO" at block 915), the processing logic may
ignore the instructions and loop to block 905.
[0054] At block 920, the processing logic may drive the connector
to a state designated by the instructions. The state may be one of
multiple potential states. For example, for the mechanical
connector and actuator as illustrated in FIGS. 1, 3 and 4, the
states may include "male", "neutral", and "female". In another
example, for the electromagnetic connector and actuator as
illustrated in FIGS. 5 and 6, the states may be "powered on" or
"powered off".
[0055] FIG. 10 illustrates a flow diagram of an example method 1000
to manage connections of a construction toy with alien connectors
of an adjacent construction toy. The construction toy may include
any construction toy described in this document (e.g., with the
same type of connectors).
[0056] At block 1005, the processing logic may sense a proximity of
an alien connector. The proximity of the alien connector may be
detecting via a sensor, such as the one or more sensors 225 of FIG.
2. The sensor may be positioned near a local connector (e.g.,
connector 110) of the construction toy. The sensor may periodically
detect the proximity of an approaching alien connector. The alien
connector may be approaching the local connector. At block 1010,
the processing logic may determine whether the alien connector is
disconnected from the construction toy. An example method to detect
whether the alien connector is disconnected from the construction
toy is described in conjunction with FIG. 11. When the alien
connector is not disconnected from (i.e., connected to) the
construction toy ("NO" at block 1010), the processing logic may
loop to block 1005.
[0057] When the alien connector is disconnected from the
construction toy ("YES" at block 1010), the processing logic may
determine whether a transformation of a local connector is allowed.
The processing logic may access instructions received from a host
computer device (e.g., host computer device 210) that may indicate
whether the transformation of the local connector is allowed.
Alternatively, the processing logic may query the host computer
device to determine whether the transformation of the local
connector is allowed.
[0058] When the transformation of the local connector is allowed
("YES" at block 1015), the processing logic may determine whether
the local connector is compatible with the alien connector at block
1020. When the transformation of the local connector is not allowed
("NO" at block 1015), the processing logic may continue to block
1030.
[0059] At block 1020, the processing logic may determine whether
the local connector connectivity state is compatible with the alien
connector. The processing logic may identify a local connector
connectivity state, which may include male, female, neutral, on,
off, or another state. The processing logic may detect the
connector connectivity state for the alien connector, such as via a
sensor. For example, the alien connector may broadcast its
connectivity state and the sensor may detect the same from the
broadcast. The processing logic may compare the connectivity state
of the local connector with the connectivity state of the alien
connector. For example, the processing logic may identify the local
connector as being in a "male" connectivity state and the alien
connector as being in a "female" state. Because these two
connectivity states are able to couple with each other, these
states may be referred to as compatible connectivity states. The
same may hold for electromagnetic connectors with opposite
polarities, among others. When the two connector types are
incompatible ("NO" at block 1020), the processing logic may
transform the local connector to a connectivity state that is
compatible with the alien connector at block 1025. Transforming the
connectivity state of the local connector may include driving an
actuator to reverse polarity, to change a physical position of the
connector from a "male" position to a "female" position, to change
a physical position of the connector from a "female" position to a
"male" position, among others.
[0060] When the two connector types are compatible ("YES" at block
1020), the processing logic may detect whether the local connector
and the alien connector have coupled at block 1030. When the local
connector and the alien connector have coupled ("YES" at block
1030), the processing logic may send a host computer device (e.g.,
host computer device 210 of FIG. 2) a notification of the
connection event between the local connector and the alien
connector at block 1035. The notification may include an
identification of one or more of the construction toy, the adjacent
construction toy, the local connector, the alien connector, etc.
When the local connector and the alien connector have not coupled
("NO" at block 1030), the processing logic may loop to block
1005.
[0061] FIG. 11 illustrates a flow diagram of an example method 1100
to detect whether an alien connector has been disconnected from a
construction toy. At block 1105, processing logic may sense
connectivity of an alien connector that may be connected to a local
connector of the construction toy. In at least one embodiment, the
processing logic may sense connectivity of an alien connector using
techniques described in conjunction with FIG. 10. When the local
connector and the alien connector have disconnected ("YES" at block
1110), the processing logic may send a host computer device (e.g.,
host computer device 210 of FIG. 2) a notification of the
disconnection event between the local connector and the alien
connector at block 1115. The notification may include an
identification of one or more of the construction toy, the adjacent
construction toy, the local connector, the alien connector, etc.
When the local connector and the alien connector have not
disconnected ("NO" at block 1110), the processing logic may loop to
block 1105.
[0062] FIG. 12 illustrates a flow diagram of an example method 1200
to assist a player to play with a set of construction toys. The
player may use a construction model when playing with the set of
construction toys. The construction model may suggest a particular
configuration of construction toys to create a particular object or
to facilitate teaching and construction variability. The
construction model may be a digital (e.g., graphical)
representation of a current configuration of the set of
construction toys. For example, when the player builds a house out
of the set of construction toys, the construction model may be a
digital representation of the house. The construction model may
also guide the player on how to build a particular object. The
construction model may include the current configuration of the set
of construction toys and one or more locations for where to place
the next construction toy to build the particular object.
[0063] At block 1205, the processing logic may read sensor data,
which may be generated by one or more sensors, such as the one or
more sensors 225 of FIG. 2. The sensor data may include connections
between construction toys, locations of construction toys,
orientation of construction toys and/or accelerations of
construction toys. The sensor data may indicate how the player is
using and connecting the construction toys.
[0064] At block 1210, the processing logic may update the
construction model based on the sensor data. In reading the sensor
data, the processing logic may monitor how the player interacts
with the set of construction toys and may record every connection
made between construction toys. The processing logic may group
structurally similar constructions. The processing logic may also
measure behavioral variability and the variability and complexity
of the constructions. For example, as a player builds a house, the
processing logic uses the sensor data from block 1205 to determine
the player's progress on building the house. As the player adds
construction toys, the processing logic may update the digital
representation of the house to reflect the physical progress of the
house. In at least one embodiment, the processing logic may model
the player's behavior according the techniques described in U.S.
application Ser. No. 15/075,125, which is incorporated by
reference.
[0065] At block 1215, the processing logic may generate an
assistive instruction based on the updated construction model. The
assistive instruction may instruct the player on where to connect
another construction toy. The assistive instruction may also
include an instruction to a construction toy to change a
connectivity state of a connector. The processing logic may, for
example, analyze the construction model to identify a behavior of
the player (e.g., a repetitive pattern) and the processing logic
may generate the assistive instruction to encourage or alter the
identified behavior. For example, when the construction model
indicates that the player has connected a series of construction
toys in an identical manner, the assistive instruction may include
an instruction to connect the construction toys in a different
manner. In another example, the assistive instruction may include
an instruction to the construction toy to disable any connectors
that would allow the player to continue to connect more
construction toys in the identical manner. At block 1220, the
processing logic may send the assistive instruction to the player
and/or to one or more construction toys. In at least one
embodiment, the processing logic may generate an assistive
instruction according the techniques described in U.S. application
Ser. No. 15/076,602, which is incorporated by reference.
[0066] FIG. 13 illustrates a diagrammatic representation of a
machine in the example form of a computing device 1300 within which
a set of instructions, for causing the machine to perform any one
or more of the methods discussed herein, may be executed. The
computing device 1300 may include a mobile phone, a smart phone, a
netbook computer, a rackmount server, a router computer, a server
computer, a personal computer, a mainframe computer, a laptop
computer, a tablet computer, a desktop computer etc., within which
a set of instructions, for causing the machine to perform any one
or more of the methods discussed herein, may be executed. In
alternative embodiments, the machine may be connected (e.g.,
networked) to other machines in a LAN, an intranet, an extranet, or
the Internet. The machine may operate in the capacity of a server
machine in client-server network environment. The machine may be a
personal computer (PC), a set-top box (STB), a server, a network
router, switch or bridge, or any machine capable of executing a set
of instructions (sequential or otherwise) that specify actions to
be taken by that machine. Further, while only a single machine is
illustrated, the term "machine" may also include any collection of
machines that individually or jointly execute a set (or multiple
sets) of instructions to perform any one or more of the methods
discussed herein.
[0067] The example computing device 1300 includes a processing
device (e.g., a processor) 1302, a main memory 1304 (e.g.,
read-only memory (ROM), flash memory, dynamic random access memory
(DRAM) such as synchronous DRAM (SDRAM)), a static memory 1306
(e.g., flash memory, static random access memory (SRAM)) and a data
storage device 1316, which communicate with each other via a bus
1308.
[0068] Processing device 1302 represents one or more
general-purpose processing devices such as a microprocessor,
central processing unit, or the like. More particularly, the
processing device 1302 may be a complex instruction set computing
(CISC) microprocessor, reduced instruction set computing (RISC)
microprocessor, very long instruction word (VLIW) microprocessor,
or a processor implementing other instruction sets or processors
implementing a combination of instruction sets. The processing
device 1302 may also be one or more special-purpose processing
devices such as an application specific integrated circuit (ASIC),
a field programmable gate array (FPGA), a digital signal processor
(DSP), network processor, or the like. The processing device 1302
is configured to execute instructions 1326 for performing the
operations and steps discussed herein.
[0069] The computing device 1300 may further include a network
interface device 1322 which may communicate with a network 1318.
The computing device 1300 also may include a display device 1310
(e.g., a liquid crystal display (LCD) or a cathode ray tube (CRT)),
an alphanumeric input device 1312 (e.g., a keyboard), a cursor
control device 1314 (e.g., a mouse) and a signal generation device
1320 (e.g., a speaker). In one implementation, the display device
1310, the alphanumeric input device 1312, and the cursor control
device 1314 may be combined into a single component or device
(e.g., an LCD touch screen).
[0070] The data storage device 1316 may include a computer-readable
storage medium 1324 on which is stored one or more sets of
instructions 1326 embodying any one or more of the methods or
functions described herein. The instructions 1326 may also reside,
completely or at least partially, within the main memory 1304
and/or within the processing device 1302 during execution thereof
by the computing device 1300, the main memory 1304 and the
processing device 1302 also constituting computer-readable media.
The instructions may further be transmitted or received over a
network 1318 via the network interface device 1322.
[0071] While the computer-readable storage medium 1326 is shown in
an example embodiment to be a single medium, the term
"computer-readable storage medium" may include a single medium or
multiple media (e.g., a centralized or distributed database and/or
associated caches and servers) that store the one or more sets of
instructions. The term "computer-readable storage medium" may also
include any medium that is capable of storing, encoding or carrying
a set of instructions for execution by the machine and that cause
the machine to perform any one or more of the methods of the
present disclosure. The term "computer-readable storage medium" may
accordingly be taken to include, but not be limited to, solid-state
memories, optical media and magnetic media.
[0072] Terms used herein and especially in the appended claims
(e.g., bodies of the appended claims) are generally intended as
"open" terms (e.g., the term "including" may be interpreted as
"including, but not limited to," the term "having" may be
interpreted as "having at least," the term "includes" may be
interpreted as "includes, but is not limited to," etc.).
[0073] Additionally, if a specific number of an introduced claim
recitation is intended, such an intent will be explicitly recited
in the claim, and in the absence of such recitation no such intent
is present. For example, as an aid to understanding, the following
appended claims may contain usage of the introductory phrases "at
least one" and "one or more" to introduce claim recitations.
However, the use of such phrases may not be construed to imply that
the introduction of a claim recitation by the indefinite articles
"a" or "an" limits any particular claim containing such introduced
claim recitation to embodiments containing only one such
recitation, even when the same claim includes the introductory
phrases "one or more" or "at least one" and indefinite articles
such as "a" or "an" (e.g., "a" and/or "an" may be interpreted to
mean "at least one" or "one or more"); the same holds true for the
use of definite articles used to introduce claim recitations.
[0074] In addition, even if a specific number of an introduced
claim recitation is explicitly recited, those skilled in the art
will recognize that such recitation may be interpreted to mean at
least the recited number (e.g., the bare recitation of "two
recitations," without other modifiers, means at least two
recitations, or two or more recitations). Further, in those
instances where a convention analogous to "at least one of A, B,
and C, etc." or "one or more of A, B, and C, etc." is used, in
general such a construction is intended to include A alone, B
alone, C alone, A and B together, A and C together, B and C
together, or A, B, and C together, etc. For example, the use of the
term "and/or" is intended to be construed in this manner.
[0075] Further, any disjunctive word or phrase presenting two or
more alternative terms, whether in the description, claims, or
drawings, may be understood to contemplate the possibilities of
including one of the terms, either of the terms, or both terms. For
example, the phrase "A or B" may be understood to include the
possibilities of "A" or "B" or "A and B."
[0076] Embodiments described herein may be implemented using
computer-readable media for carrying or having computer-executable
instructions or data structures stored thereon. Such
computer-readable media may be any available media that may be
accessed by a general purpose or special purpose computer. By way
of example, and not limitation, such computer-readable media may
include non-transitory computer-readable storage media including
Random Access Memory (RAM), Read-Only Memory (ROM), Electrically
Erasable Programmable Read-Only Memory (EEPROM), Compact Disc
Read-Only Memory (CD-ROM) or other optical disk storage, magnetic
disk storage or other magnetic storage devices, flash memory
devices (e.g., solid state memory devices), or any other storage
medium which may be used to carry or store desired program code in
the form of computer-executable instructions or data structures and
which may be accessed by a general purpose or special purpose
computer. Combinations of the above may also be included within the
scope of computer-readable media.
[0077] Computer-executable instructions may include, for example,
instructions and data which cause a general purpose computer,
special purpose computer, or special purpose processing device
(e.g., one or more processors) to perform a certain function or
group of functions. Although the subject matter has been described
in language specific to structural features and/or methodological
acts, it is to be understood that the subject matter defined in the
appended claims is not necessarily limited to the specific features
or acts described above. Rather, the specific features and acts
described above are disclosed as example forms of implementing the
claims.
[0078] As used herein, the terms "module" or "component" may refer
to specific hardware implementations configured to perform the
operations of the module or component and/or software objects or
software routines that may be stored on and/or executed by general
purpose hardware (e.g., computer-readable media, processing
devices, etc.) of the computing system. In some embodiments, the
different components, modules, engines, and services described
herein may be implemented as objects or processes that execute on
the computing system (e.g., as separate threads). While some of the
system and methods described herein are generally described as
being implemented in software (stored on and/or executed by general
purpose hardware), specific hardware implementations or a
combination of software and specific hardware implementations are
also possible and contemplated. In this description, a "computing
entity" may be any computing system as previously defined herein,
or any module or combination of modulates running on a computing
system.
[0079] All examples and conditional language recited herein are
intended for pedagogical objects to aid the reader in understanding
the invention and the concepts contributed by the inventor to
furthering the art, and are to be construed as being without
limitation to such specifically recited examples and conditions.
Although embodiments of the present disclosure have been described
in detail, it may be understood that the various changes,
substitutions, and alterations may be made hereto without departing
from the spirit and scope of the present disclosure.
[0080] The term "substantially" means within 5% or 10% of the value
referred to or within manufacturing tolerances.
[0081] Various embodiments are disclosed. The various embodiments
may be partially or completely combined to produce other
embodiments.
[0082] Numerous specific details are set forth herein to provide a
thorough understanding of the claimed subject matter. However,
those skilled in the art will understand that the claimed subject
matter may be practiced without these specific details. In other
instances, methods, apparatuses, or systems that would be known by
one of ordinary skill have not been described in detail so as not
to obscure claimed subject matter.
[0083] Some portions are presented in terms of algorithms or
symbolic representations of operations on data bits or binary
digital signals stored within a computing system memory, such as a
computer memory. These algorithmic descriptions or representations
are examples of techniques used by those of ordinary skill in the
data processing art to convey the substance of their work to others
skilled in the art. An algorithm is a self-consistent sequence of
operations or similar processing leading to a desired result. In
this context, operations or processing involves physical
manipulation of physical quantities. Typically, although not
necessarily, such quantities may take the form of electrical or
magnetic signals capable of being stored, transferred, combined,
compared, or otherwise manipulated. It has proven convenient at
times, principally for reasons of common usage, to refer to such
signals as bits, data, values, elements, symbols, characters,
terms, numbers, numerals, or the like. It should be understood,
however, that all of these and similar terms are to be associated
with appropriate physical quantities and are merely convenient
labels. Unless specifically stated otherwise, it is appreciated
that throughout this specification discussions utilizing terms such
as "processing," "computing," "calculating," "determining," and
"identifying" or the like refer to actions or processes of a
computing device, such as one or more computers or a similar
electronic computing device or devices, that manipulate or
transform data represented as physical, electronic, or magnetic
quantities within memories, registers, or other information storage
devices, transmission devices, or display devices of the computing
platform.
[0084] The system or systems discussed herein are not limited to
any particular hardware architecture or configuration. A computing
device can include any suitable arrangement of components that
provides a result conditioned on one or more inputs. Suitable
computing devices include multipurpose microprocessor-based
computer systems accessing stored software that programs or
configures the computing system from a general-purpose computing
apparatus to a specialized computing apparatus implementing one or
more embodiments of the present subject matter. Any suitable
programming, scripting, or other type of language or combinations
of languages may be used to implement the teachings contained
herein in software to be used in programming or configuring a
computing device.
[0085] Embodiments of the methods disclosed herein may be performed
in the operation of such computing devices. The order of the blocks
presented in the examples above can be varied--for example, blocks
can be re-ordered, combined, and/or broken into sub-blocks. Certain
blocks or processes can be performed in parallel.
[0086] The use of "adapted to" or "configured to" herein is meant
as open and inclusive language that does not foreclose devices
adapted to or configured to perform additional tasks or steps.
Additionally, the use of "based on" is meant to be open and
inclusive, in that a process, step, calculation, or other action
"based on" one or more recited conditions or values may, in
practice, be based on additional conditions or values beyond those
recited. Headings, lists, and numbering included herein are for
ease of explanation only and are not meant to be limiting.
[0087] While the present subject matter has been described in
detail with respect to specific embodiments thereof, it will be
appreciated that those skilled in the art, upon attaining an
understanding of the foregoing, may readily produce alterations to,
variations of, and equivalents to such embodiments. Accordingly, it
should be understood that the present disclosure has been presented
for-purposes of example rather than limitation, and does not
preclude inclusion of such modifications, variations, and/or
additions to the present subject matter as would be readily
apparent to one of ordinary skill in the art.
* * * * *