U.S. patent application number 14/209405 was filed with the patent office on 2014-09-18 for inflatable air mattress sleep environment adjustment and suggestions.
The applicant listed for this patent is Carl Hewitt, Rob Nunn, Wade Daniel Palashewski, Stacy Stusynski, Matthew Wayne Tilstra, Steven Young. Invention is credited to Carl Hewitt, Rob Nunn, Wade Daniel Palashewski, Stacy Stusynski, Matthew Wayne Tilstra, Steven Young.
Application Number | 20140277822 14/209405 |
Document ID | / |
Family ID | 50625127 |
Filed Date | 2014-09-18 |
United States Patent
Application |
20140277822 |
Kind Code |
A1 |
Nunn; Rob ; et al. |
September 18, 2014 |
INFLATABLE AIR MATTRESS SLEEP ENVIRONMENT ADJUSTMENT AND
SUGGESTIONS
Abstract
A method may include receiving a setting for a component of a
bed architecture and a trigger condition for the setting;
generating a sleep profile with the setting and trigger condition;
activating the sleep profile when the trigger condition has been
met; and based on the activation of the sleep profile, transmitting
a signal to the component to adjust to the setting.
Inventors: |
Nunn; Rob; (Eden Prairie,
MN) ; Palashewski; Wade Daniel; (Andover, MN)
; Tilstra; Matthew Wayne; (Rogers, MN) ;
Stusynski; Stacy; (Blaine, MN) ; Young; Steven;
(Campbell, CA) ; Hewitt; Carl; (Campbell,
CA) |
|
Applicant: |
Name |
City |
State |
Country |
Type |
Nunn; Rob
Palashewski; Wade Daniel
Tilstra; Matthew Wayne
Stusynski; Stacy
Young; Steven
Hewitt; Carl |
Eden Prairie
Andover
Rogers
Blaine
Campbell
Campbell |
MN
MN
MN
MN
CA
CA |
US
US
US
US
US
US |
|
|
Family ID: |
50625127 |
Appl. No.: |
14/209405 |
Filed: |
March 13, 2014 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
61781571 |
Mar 14, 2013 |
|
|
|
Current U.S.
Class: |
700/301 |
Current CPC
Class: |
A47C 27/083 20130101;
A61B 5/0816 20130101; A61B 5/4806 20130101; A61B 5/7275 20130101;
A61B 5/0255 20130101; G16H 50/30 20180101; G16H 40/63 20180101;
A61B 5/6892 20130101 |
Class at
Publication: |
700/301 |
International
Class: |
A47C 27/08 20060101
A47C027/08 |
Claims
1. A method comprising: receiving a setting for a component of a
bed architecture and a trigger condition for the setting;
generating a sleep profile with the setting and trigger condition;
activating the sleep profile when the trigger condition has been
met; and based on the activation of the sleep profile, transmitting
a signal from a central controller of the bed architecture to the
component to adjust to the setting.
2. The method of claim 1, wherein receiving the trigger condition
for the setting includes receiving a time-based trigger condition
indicating a time to adjust the component.
3. The method of claim 1, wherein receiving the trigger condition
for the setting include receiving an event-based trigger condition
indicating a state of sleep of a user.
4. The method of claim 3, further comprising: determining the
event-based trigger condition has been met based on analyzing
biometric parameters of a user using the bed architecture.
5. The method of claim 4, wherein the biometric parameters are
collected using a pressure sensor of the bed architecture.
6. The method of claim 4, wherein analyzing the biometric
parameters of the user includes determining a sleep state of the
user.
7. The method of claim 1, further comprising: monitoring biometric
parameters of a user in relationship to the setting of the
component; recommending a different setting of the component based
on the monitoring; and updating the sleep profile with the
different setting based on receiving an indication the recommended
different setting was accepted by the user.
8. A system comprising: at least one processor; a storage device
including instructions, which when executed by the at least one
processor, configure the at least one processor to: receive a
setting for a component of a bed architecture and a trigger
condition for the setting; generate a sleep profile with the
setting and trigger condition; activate the sleep profile when the
trigger condition has been met; and based on the activation of the
sleep profile, transmit a signal from a central controller of the
bed architecture to the component to adjust to the setting.
9. The system of claim 8, wherein the setting for the component
includes a temperature setting for a pad of the bed
architecture.
10. The system of claim 8, wherein the setting for the component
includes a pressure setting of an air mattress of the bed
architecture.
11. The system of claim 8, wherein the setting for the component
includes a position setting of a foundation of the bed
architecture.
12. The system of claim 8, wherein the trigger condition includes a
sleep state of a user of the bed architecture.
13. The system of claim 12, wherein the at least one processor is
configured to monitor a sleep state of the user to determine when
to activate the sleep profile.
14. A non-transitory computer-readable medium including
instructions, which when executed by at least one processor, cause
the at least one processor to: establish a sleep pattern of a user
of a bed architecture; determine, using a central controller of the
bed architecture, an adjustment to make to a component of the bed
architecture based on the sleep pattern; initiate the adjustment to
the component; and request feedback from the user with respect to
the adjustment.
15. The non-transitory computer-readable medium of claim 14,
wherein the instructions further cause the at least one processor
to establish a sleep pattern of a user of a bed architecture by:
monitoring biometric parameters of the user during sleep; and
calculating a restfulness index of the user.
16. The non-transitory computer-readable medium of claim 14,
wherein the instructions further cause the at least one processor
to determine an adjustment to make to a component of the bed
architecture based on the sleep pattern by: determining a pressure
setting adjustment for an air mattress of the bed architecture.
17. The non-transitory computer-readable medium of claim 14,
wherein the instructions further cause the at least one processor
to determine an adjustment to make to a component of the bed
architecture based on the sleep pattern by: determining a
temperature setting adjustment for a pad of the bed
architecture.
18. The non-transitory computer-readable medium of claim 14,
wherein the instructions further cause the at least one processor
to: determine another adjustment to make to a component of the bed
architecture based on the feedback.
19. The non-transitory computer-readable medium of claim 14,
wherein the instructions further cause the at least one processor
to: present the adjustment of the component as a recommendation to
the user.
Description
CROSS-REFERENCES
[0001] This Application claims the benefit of priority to U.S.
Provisional Application No. 61/781,571, filed on Mar. 14, 2013, the
disclosure of which is incorporated herein in its entirety by
reference.
[0002] The subject matter described in this application is related
to subject matter disclosed in the following applications: U.S.
Application Ser. No. 61/781,266 (Attorney Docket No. 3500.049PRV),
filed on Mar. 14, 2013, entitled "INFLATABLE AIR MATTRESS ALARM AND
MONITORING SYSTEM"; U.S. Application Ser. No. 61/781,503 (Attorney
Docket No. 3500.050PRV), filed on Mar. 14, 2013, entitled
"INFLATABLE AIR MATTRESS SYSTEM ARCHITECTURE"; U.S. Application
Ser. No. 61/781,541 (Attorney Docket No. 3500.051PRV), filed on
Mar. 14, 2013, entitled "INFLATABLE AIR MATTRESS AUTOFILL AND OFF
BED PRESSURE ADJUSTMENT"; U.S. Application Ser. No. 61/782,394
(Attorney Docket No. 3500.053PRV), filed on Mar. 14, 2013, entitled
"INFLATABLE AIR MATTRESS SNORING DETECTION AND RESPONSE"; U.S.
Application Ser. No. 61/781,296 (Attorney Docket No. 3500.054PRV),
filed on Mar. 14, 2013, entitled "INFLATABLE AIR MATTRESS WITH
LIGHT AND VOICE CONTROLS"; U.S. Application Ser. No. 61/781,311
(Attorney Docket No. 3500.055PRV), filed on Mar. 14, 2013, entitled
"INFLATABLE AIR MATTRESS SYSTEM WITH DETECTION TECHNIQUES." The
contents of each of the above-references U.S. patent applications
are herein incorporated by reference in their entirety.
TECHNICAL FIELD
[0003] This patent document pertains generally to network systems
and more particularly, but not by way of limitation, to an
inflatable air mattress system architecture.
BACKGROUND
[0004] In various examples, an air mattress control system allows a
user to adjust the firmness or position of an air mattress bed. The
mattress may have more than one zone thereby allowing a left and
right side of the mattress to be adjusted to different firmness
levels. Additionally, the bed may be adjustable to different
positions. For example, the head section of the bed may be raised
up while the foot section of the bed stays in place. In various
examples, two separate remote controls are used to adjust the
position and firmness, respectively.
BRIEF DESCRIPTION OF DRAWINGS
[0005] Some embodiments are illustrated by way of example and not
limitation in the figures of the accompanying drawings in
which:
[0006] FIG. 1 is a diagrammatic representation of an air bed
system, according to an example.
[0007] FIG. 2 is a block diagram of various components of the air
bed system of FIG. 1, according to an example.
[0008] FIG. 3 is a block diagram of an air bed system architecture,
according to an example
[0009] FIG. 4 is a flow diagram of an example method (400) of
defining and activating a sleep profile.
[0010] FIG. 5 is a flow diagram depicting an example method (500)
of detecting a sleep state or restfulness of a user
[0011] FIG. 6 is a flow diagram of an example method (600) to
recommend a sleep profile to a user
[0012] FIG. 7 is a flow diagram of an example method of
automatically adjusting a bed for a user
[0013] FIG. 8 is a block diagram of machine in the example form of
a computer system within which a set instructions, for causing the
machine to perform any one or more of the methodologies discussed
herein, may be executed.
DETAILED DESCRIPTION
[0014] FIG. 1 is a diagrammatic representation of air bed system 10
in an example embodiment. System 10 may include bed 12, which may
comprise at least one air chamber 14 surrounded by a resilient
border 16 and encapsulated by bed ticking 18. The resilient border
16 may comprise any suitable material, such as foam.
[0015] As illustrated in FIG. 1, bed 12 may be a two chamber design
having a first air chamber 14A and a second air chamber 14B. First
and second air chambers 14A and 14B may be in fluid communication
with pump 20. Pump 20 may be in electrical communication with a
remote control 22 via control box 24. Remote control 22 may
communicate via wired or wireless means with control box 24.
Control box 24 may be configured to operate pump 20 to cause
increases and decreases in the fluid pressure of first and second
air chambers 14A and 14B based upon commands input by a user
through remote control 22. Remote control 22 may include display
26, output selecting means 28, pressure increase button 29, and
pressure decrease button 30. Output selecting means 28 may allow
the user to switch the pump output between the first and second air
chambers 14A and 14B, thus enabling control of multiple air
chambers with a single remote control 22. For example, output
selecting means may by a physical control (e.g., switch or button)
or an input control displayed on display 26. Alternatively,
separate remote control units may be provided for each air chamber
and may each include the ability to control multiple air chambers.
Pressure increase and decrease buttons 29 and 30 may allow a user
to increase or decrease the pressure, respectively, in the air
chamber selected with the output selecting means 28. Adjusting the
pressure within the selected air chamber may cause a corresponding
adjustment to the firmness of the air chamber.
[0016] FIG. 2 is a block diagram detailing data communication
between certain components of air bed system 10 according to
various examples. As shown in FIG. 2, control box 24 may include
power supply 34, processor 36, memory 37, switching means 38,
analog to digital (A/D) converter 40, and radios for communication
with remotes and smartphones. Switching means 38 may be, for
example, a relay or a solid state switch. Switching means 38 may be
located in the pump 20 rather than the control box 24.
[0017] Pump 20 and remote control 22 may be in two-way
communication with the control box 24. Pump 20 may include a motor
42, a pump manifold 43, a relief valve 44, a first control valve
45A, a second control valve 45B, and a pressure transducer 46, and
may be fluidly connected with the first air chamber 14A and the
second air chamber 14B via a first tube 48A and a second tube 48B,
respectively. First and second control valves 45A and 45B may be
controlled by switching means 38, and may be operable to regulate
the flow of fluid between pump 20 and first and second air chambers
14A and 14B, respectively.
[0018] In an example, pump 20 and control box 24 may be provided
and packaged as a single unit. Alternatively, pump 20 and control
box 24 may be provided as physically separate units.
[0019] In operation, power supply 34 may receive power, such as 110
VAC power, from an external source and may convert the power to
various forms required by certain components of the air bed system
10. Processor 36 may be used to control various logic sequences
associated with operation of the air bed system 10, as will be
discussed in further detail below.
[0020] The example of the air bed system 10 shown in FIG. 2
contemplates two air chambers 14A and 14B and a single pump 20.
However, other examples may include an air bed system having two or
more air chambers and one or more pumps incorporated into the air
bed system to control the air chambers. In an example, a separate
pump may be associated with each air chamber of the air bed system
or a pump may be associated with multiple chambers of the air bed
system. Separate pumps may allow each air chamber to be inflated or
deflated independently and simultaneously. Furthermore, additional
pressure transducers may also be incorporated into the air bed
system such that, for example, a separate pressure transducer may
be associated with each air chamber.
[0021] In the event that the processor 36 sends a decrease pressure
command to one of air chambers 14A or 14B, switching means 38 may
be used to convert the low voltage command signals sent by
processor 36 to higher operating voltages sufficient to operate
relief valve 44 of pump 20 and open control valves 45A or 45B.
Opening relief valve 44 may allow air to escape from air chamber
14A or 14B through the respective air tube 48A or 48B. During
deflation, pressure transducer 46 may send pressure readings to
processor 36 via the A/D converter 40. The A/D converter 40 may
receive analog information from pressure transducer 46 and may
convert the analog information to digital information useable by
processor 36. Processor 36 may send the digital signal to remote
control 22 to update display 26 on the remote control in order to
convey the pressure information to the user.
[0022] In the event that processor 36 sends an increase pressure
command, pump motor 42 may be energized, sending air to the
designated air chamber through air tube 48A or 48B via
corresponding valve 45A or 45B. While air is being delivered to the
designated air chamber in order to increase the firmness of the
chamber, pressure transducer 46 may sense pressure within pump
manifold 43. Again, pressure transducer 46 may send pressure
readings to processor 36 via A/D converter 40. Processor 36 may use
the information received from A/D converter 40 to determine the
difference between the actual pressure in air chamber 14A or 14B
and the desired pressure. Processor 36 may send the digital signal
to remote control 22 to update display 26 on the remote control in
order to convey the pressure information to the user.
[0023] Generally speaking, during an inflation or deflation
process, the pressure sensed within pump manifold 43 provides an
approximation of the pressure within the air chamber. An example
method of obtaining a pump manifold pressure reading that is
substantially equivalent to the actual pressure within an air
chamber is to turn off pump 20, allow the pressure within the air
chamber 14A or 14B and pump manifold 43 to equalize, and then sense
the pressure within pump manifold 43 with pressure transducer 46.
Thus, providing a sufficient amount of time to allow the pressures
within pump manifold 43 and chamber 14A or 14B to equalize may
result in pressure readings that are accurate approximations of the
actual pressure within air chamber 14A or 14B. In various examples,
the pressure of 48A/B is continuously monitored using multiple
pressure sensors.
[0024] In an example, another method of obtaining a pump manifold
pressure reading that is substantially equivalent to the actual
pressure within an air chamber is through the use of a pressure
adjustment algorithm. In general, the method may function by
approximating the air chamber pressure based upon a mathematical
relationship between the air chamber pressure and the pressure
measured within pump manifold 43 (during both an inflation cycle
and a deflation cycle), thereby eliminating the need to turn off
pump 20 in order to obtain a substantially accurate approximation
of the air chamber pressure. As a result, a desired pressure
setpoint within air chamber 14A or 14B may be achieved without the
need for turning pump 20 off to allow the pressures to equalize.
The latter method of approximating an air chamber pressure using
mathematical relationships between the air chamber pressure and the
pump manifold pressure is described in detail in U.S. application
Ser. No. 12/936,084, the entirety of which is incorporated herein
by reference.
[0025] FIG. 3 is illustrates an example air bed system architecture
300. Architecture 300 includes bed 301, central controller 302,
firmness controller 304, articulation controller 306, temperature
controller 308, external network device 310, remote controllers
312, 314, and voice controller 316. While described as using an air
bed, the system architecture may also be used with other types of
beds.
[0026] As illustrated in FIG. 3, network bed architecture 300 is
configured as a star topology with central controller 302 and
firmness controller 304 functioning as the hub and articulation
controller 306, temperature controller 308, external network device
310, remote controls 312, 314, and voice controller 316 functioning
as possible spokes, also referred to herein as components. Thus, in
various examples, central controller 302 acts a relay between the
various components.
[0027] In other examples, different topologies may be used. For
example, the components and central controller 302 may be
configured as a mesh network in which each component may
communicate with one or all of the other components directly,
bypassing central controller 302. In various examples, a
combination of topologies may be used. For example, remote
controller 312 may communicate directly to temperature controller
308 but also relay the communication to central controller 302.
[0028] In yet another example, central controller 302 listens to
communications (e.g., control signals) between components even if
the communication is not being relayed through central controller
302. For example, consider a user sending a command using remote
312 to temperature controller 308. Central controller 302 may
listen for the command and check to determine if instructions are
stored at central controller 302 to override the command (e.g., it
conflicts with a previous setting). Central controller 302 may also
log the command for future use (e.g., determining a pattern of user
preferences for the components).
[0029] In various examples, the controllers and devices illustrated
in FIG. 3 may each include a processor, a storage device, and a
network interface. The processor may be a general purpose central
processing unit (CPU) or application-specific integrated circuit
(ASIC) (referred to collectively as processor(s)). The storage
device may include volatile or non-volatile static storage (e.g.,
Flash memory, RAM, EPROM, etc.). The storage device may store
instructions which, when executed by the processor, configure the
processor to perform the functionality described herein. For
example, a processor of firmness control 304 may be configured to
send a command (e.g., signal) to a relief valve to decrease the
pressure in a bed.
[0030] In various examples, the network interface of the components
may be configured to transmit and receive communications in a
variety of wired and wireless protocols. For example, the network
interface may be configured to use the 802.11 standards (e.g.,
802.11a/b/c/g/n/ac), PAN network standards such as 802.15.4 or
Bluetooth, infrared, cellular standards (e.g., 3G/4G etc.),
Ethernet, and USB for receiving and transmitting data. The previous
list is not intended to exhaustive and other protocols may be used.
Not all components of FIG. 3 need to be configured to use the same
protocols. For example, remote control 312 may communicate with
central controller 302 via Bluetooth while temperature controller
308 and articulation controller 306 are connected to central
controller using 802.15.4. Within FIG. 3, the lightning connectors
represent wireless connections and the solid lines represent wired
connections, however, the connections between the components is not
limited to such connections and each connection may be wired or
wireless.
[0031] Moreover, in various examples, the processor, storage
device, and network interface of a component may be located in
different locations than various elements used to effect a command.
For example, as in FIG. 1, firmness controller 302 may have a pump
that is housed in a separate enclosure than the processor used to
control the pump. Similar separation of elements may be employed
for the other controllers and devices in FIG. 3.
[0032] In various examples, firmness controller 304 is configured
to regulate pressure in an air mattress. For example, firmness
controller 304 may include a pump such as described with reference
to FIG. 2 (see e.g., pump 20). Thus, in an example, firmness
controller 304 may respond to commands to increase or decrease
pressure in the air mattress. The commands may be received from
another component or based on stored application instruction that
are part of firmness controller 304.
[0033] As illustrated in FIG. 3 central controller 302 includes
firmness controller 304. Thus, in an example, the processor of
central controller 302 and firmness control 304 may be the same
processor. Furthermore, pump 305 may also be part of central
controller 302. Accordingly, central controller 302 may be
responsible for pressure regulation as well as other functionality
as described in further portions of this disclosure.
[0034] In various examples, articulation controller 306 is
configured to adjust the position of a bed (e.g., bed 301) by
adjusting foundation 307 that supports the bed. In an example, bed
301 may include a single foundation 307 configured to adjust the
position of a bed having a single mattress. In another example, bed
301 may include two side-by-side foundations 307 configured to
operate in tandem to adjust the position of a bed having a single
mattress. In yet another example, bed 301 may include two
side-by-side mattresses supported by two side-by-side foundations
307, wherein the foundations 307 are operable independently such
that separate positions may be set for the two different mattresses
of the bed 301.
[0035] Foundation 307 may include more than one zone, e.g., head
portion 318 and foot portion 320, which may be independently
adjusted. Articulation controller 306 may also be configured to
provide different levels of massage to a person on the bed.
[0036] In various examples, temperature controller 308 is
configured to increase, decrease, or maintain the temperature of a
user. For example, a pad may be placed on top of or be part of the
air mattress. Air may be pushed through the pad and vented to cool
off a user of the bed. Conversely, the pad may include a heating
element that may be used to keep the user warm. In various
examples, temperature controller 308 receives temperature readings
from the pad.
[0037] In various examples, additional controllers may communicate
with the central controller 302. These controllers may include, but
are not limited to, illumination controllers for controlling the
power status (e.g., on or off) or intensity of light elements 311
and 322A-F placed on and around the bed, audio/visual controllers
for controlling the power status or volume of one or more
audio/visual components 313 located near the bed, thermostat
controllers for controlling a temperature setting of a thermostat
device 315, and outlet controllers for controlling power to one or
more power outlets 336.
[0038] In various examples, external network device 310, remote
controllers 312, 314 and voice controller 316 may be used to input
commands (e.g., from a user or remote system) to control one or
more components of architecture 300. The commands may be
transmitted from one of the controllers 312, 314, or 316 and
received in central controller 302. Central controller 302 may
process the command to determine the appropriate component to route
the received command. For example, each command sent via one of
controllers 312, 314, or 316 may include a header or other metadata
that indicates which component the command is for. Central
controller 302 may then transmit the command via central controller
302's network interface to the appropriate component.
[0039] For example, a user may input a desired temperature for the
user's bed into remote control 312. The desired temperature may be
encapsulated in a command data structure that includes the
temperature as well as identifies temperature controller 308 as the
desired component to be controlled. The command data structure may
then be transmitted via Bluetooth to central controller 302. In
various examples, the command data structure is encrypted before
being transmitted. Central controller 302 may parse the command
data structure and relay the command to temperature controller 308
using a PAN. Temperature controller 308 may be then configure its
elements to increase or decrease the temperature of the pad
depending on the temperature originally input into remote control
312.
[0040] In an example implementation, central controller 302 may
detect user presence using temperature changes detected in the
mattress, e.g., using one or more temperature sensors positioned in
or on the mattress. The temperature sensors and the central
controller 302 may detect a rise in temperature, e.g., over a
specified period of time, and determine that a user is present in
the bed. For example, if central controller 302 detects a rise in
temperature and then determines that the detected rise in
temperature was not caused by the system's temperature controller
308, the central controller 302 may determine that the user is
present.
[0041] In various examples, data may be transmitted from a
component back to one or more of the remote controls. For example,
the current temperature as determined by a sensor element of
temperature controller 308, the pressure of the bed, the current
position of the foundation or other information may be transmitted
to central controller 302. Central controller 302 may then transmit
the received information and transmit it to remote control 312
where it may be displayed to the user.
[0042] In various examples, multiple types of devices may be used
to input commands to control the components of architecture 300.
For example, remote control 312 may be a mobile device such as a
smart phone or tablet computer running an application. Other
examples of remote control 312 may include a dedicated device for
interacting with the components described herein. In various
examples, remote controls 312/314 include a display device for
displaying an interface to a user. Remote control 312/314 may also
include one or more input devices. Input devices may include, but
are not limited to, keypads, touchscreen, gesture, motion and voice
controls.
[0043] Remote control 314 may be a single component remote
configured to interact with one component of the mattress
architecture. For example, remote control 314 may be configured to
accept inputs to increase or decrease the air mattress pressure.
Voice controller 316 may be configured to accept voice commands to
control one or more components. In various examples, more than one
of the remote controls 312/314 and voice controller 316 may be
used.
[0044] With respect to remote control 312, the application may be
configured to pair with one or more central controllers. For each
central controller, data may be transmitted to the mobile device
that includes a list of components linked with the central
controller. For example, consider that remote control 312 is a
mobile phone and that the application has been authenticated and
paired with central controller 302. Remote control 312 may transmit
a discovery request to central controller 302 to inquiry about
other components and available services. In response, central
controller 302 may transmit a list of services that includes
available functions for adjusting the firmness of the bed, position
of the bed, and temperature of the bed. In various embodiments, the
application may then display functions for increasing/decreasing
pressure of the air mattress, adjusting positions of the bed, and
adjusting temperature. If components are added/removed to the
architecture under control of central controller 302, an updated
list may be transmitted to remote control 312 and the interface of
the application may be adjusted accordingly.
[0045] In various examples, central controller 302 is configured as
a distributor of software updates to components in architecture
300. For example, a firmware update for temperature controller 308
may become available. The update may be loaded into a storage
device of central controller 302 (e.g., via a USB interface or
wireless techniques). In wireless applications, the central
controller 302 may, for example, receive updates from the cloud
either from Wi-Fi or from a mobile connection over Bluetooth.
Central controller 302 may then transmit the update to temperature
controller 308 with instructions to update. Temperature controller
308 may attempt to install the update. A status message may be
transmitted from temperature controller 308 to central controller
302 indicating the success or failure of the update.
[0046] In various examples, central controller 302 is configured to
analyze data collected by a pressure transducer (e.g., transducer
46 with respect to FIG. 2) to determine various states of a person
lying on the bed. For example, central controller 302 may determine
the heart rate or respiration rate of a person lying in the bed.
Additional processing may be done using the collected data to
determine a possible sleep state of the person. For example,
central controller 302 may determine when a person falls asleep
and, while asleep, the various sleep states of the person.
[0047] In various example, external network device 310 includes an
network interface to interact with an external server for
processing and storage of data related to components in
architecture 300. For example, the determined sleep data as
described above may be transmitted via a network (e.g., the
Internet) from central controller 302 to external network device
310 for storage. In an example, the pressure transducer data may be
transmitted to the external server for additional analysis. The
external network device 310 may also analyze and filter the data
before transmitting it to the external server.
[0048] In an example, diagnostic data of the components may also be
routed to external network device 310 for storage and diagnosis on
the external server. For example, if temperature controller 308
detects an abnormal temperature reading (e.g., a drop in
temperature over one minute that exceeds a set threshold)
diagnostic data (sensor readings, current settings, etc.) may be
wireless transmitted from temperature controller 308 to central
controller 302. Central controller 302 may then transmit this data
via USB to external network device 310. External device 310 may
wirelessly transmit the information to an WLAN access point where
it is routed to the external server for analysis.
[0049] In various examples, architecture 300 includes a feature to
adjust multiple components of the bed based on a time (e.g., a
countdown or specific time) or event trigger (e.g., a sleep state
of the user). For example, a profile may be defined that includes
settings for multiple components of architecture 300. The settings
may include, but are not limited to, a pressure setting for one or
more mattresses controlled by firmness controller 304, a position
setting for one or more foundations 307 controlled by articulation
controller 306, a temperature of one or more pads controlled by
temperature controller 308, illumination of light elements 322A-F
controlled by an illumination controller, and power settings for
one or more outlets 336 controlled by an outlet controller. The
profile is referred to herein as a sleep profile, but other labels
may be used. Similarly, other labels of buttons and UI elements
used herein are for illustration proposes and other labels may be
used without departing from the scope of this disclosure. While the
profile is used with respect to sleep in the examples that follow,
similar profiles could be established for use during the day or
when a user wakes up from sleep.
[0050] In an example, the sleep profile may be a data structure
that includes one or more tuples of a feature of a component of
architecture 300, a setting for the feature, and a trigger (e.g.,
"{Pressure; 65; One hour after initial activation}, {Temperature;
72; One hours after REM sleep has been achieved}"). In various
examples, instead of/or in addition to having individual triggers,
the sleep profile may include a global trigger. The sleep profile
may be defined by the user alone or in combination with
recommendations based on past sleep patterns of the user (stored in
central controller 302 or on an external server) as discussed
further below. Additionally, multiple sleep profiles may be defined
that are associated with different triggers.
[0051] In various examples, triggers are time based, event based,
or a combination of the two. In an example, the time may be an
absolute time such as "9:00 PM on Fridays" or the time may be
relative to the activation of the sleep profile--one hour after
activation (e.g., the user selected a UI element on controller 312,
314, or 316 representing the sleep profile). Event based triggers
may be associated with a sleep state of the user. For example, the
event may be that the user has fallen asleep or is in a particular
state of sleep. A combination trigger may be defined such that a
profile may be activated one hour after detecting the user has
fallen asleep.
[0052] FIG. 4 illustrates a flow diagram of an example method (400)
of defining and activating a sleep profile. To establish a profile,
user preferences for the sleep profile may be set using one or more
of controllers 312, 314, and 316 (402). For example, using an
application running on smart phone 312, a user interface (UI) may
be presented to the user. The UI may present an option to a user to
define a new sleep profile or modify an existing sleep profile. In
an example, recommendations to modify or create a new sleep profile
are presented based on previous monitoring of a user's restfulness
during sleep.
[0053] Upon receiving an indication that the user is creating a new
sleep profile, a UI may presented with input indicia (check boxes,
radio buttons, input forms, etc.) for settings of components that
may be used in a sleep profile. For example, central controller 302
may maintain a list of components that are communicatively coupled
with central controller 302 and present available settings for the
components. In this manner, settings for components that are not
part of architecture 300 (e.g., if a user does not have an
adjustable foundation) are not presented to the user.
[0054] In various examples, a user may interact (e.g., click,
activate) with the input indicia to indicate the settings to use
for the various components and an associated trigger. The input
indicia may be configured to present a range of available options
for each component. For example, an input box may be presented to a
user for setting a pressure of a bed with accompanying text that
states "Please enter a number of 35-100." In addition to the
settings for the components, a user may optionally title the sleep
profile. After a user has entered in settings for one or more of
the available components a user may select a "Save Settings" button
to indicate the user is done entering in settings.
[0055] In various examples, a sleep profile may be defined to
another level of granularity allowing a user to identify multiple
settings for a component over the course of a night. For example, a
user may indicate that the temperature of a pad should be 72
degrees upon initial activation of the sleep profile, but should
drop to 68 degrees an hour after REM sleep has been achieved.
[0056] After the preferences (e.g., settings, title, triggers) for
a profile have been established, the preferences may be transmitted
to central controller 302 and stored in a storage device (404). In
various examples, the preferences may be stored in a database
(relational, non-relational, flat file, etc.) or in a structured
file (e.g., XML).
[0057] In a scenario where a user is modifying an existing sleep
profile, central controller may retrieve a list of existing sleep
profiles as stored in a storage device of central controller 302.
For example, sleep profiles may be stored according to title or a
numbering system within a storage device of central controller 302.
Thus, a UI may be presented (e.g., on a smart phone app of remote
control 312) to a user that include the titles of each stored sleep
profile. The user may then select a sleep profile from the list, an
indication of the selection may be transmitted to central
controller 302, and central controller 302 may retrieve the
preferences associated with the selected sleep profile.
Accordingly, the UI may be updated to include the retrieved the
stored preferences for the sleep profile. The user may then update
the sleep profile, and upon completing any changes, select the
"Save Settings" button. Upon activation of the button, the updated
settings may be transmitted back to central controller 302, which
then updates the stored sleep profile on the storage device.
[0058] In various examples, instructions executing on central
controller 302 determine if a sleep profile should be activated
(406). Determining may include checking if a sleep profile is
current enabled. For example, in addition to identifying settings
for a sleep profile, a user may indicate whether the sleep profile
is active or inactive. In an example, only one sleep profile may be
enabled at a time to avoid conflicts between sleep profile
settings. For an enabled sleep profile, central controller 302 may
be determine if the sleep profile should be activated based on the
sleep profiles associated triggers or manual activation by a user
(e.g., central controller 302 receives an indication from a
controller that a user has activated a sleep profile). As indicated
previously, each component of architecture 300 may have a different
trigger in a sleep profile. Accordingly, activation of a sleep
profile may be a complete activation or partial activation. Flow
continues back to 406 if it is determined that the conditions for
triggering an activate of a sleep profile have not been met.
[0059] For time based triggers, central controller 302 may utilize
timer 324 to determine if a sleep profile should be activated. For
sleep cycle based on triggers, central controller 302 may monitor
the sleep cycle state of a user by analyzing pressure readings
throughout the night collected through one or more pressure sensors
(e.g., pressure transducer 46).
[0060] For example, system architecture 300 may detect biometric
parameters of a user such as motion, respiration, and heartbeat via
pressure sensor readings. These biometric parameters may be
detected both while the user is awake and while the user is
sleeping. In various examples, the biometric parameters may be used
to determine a sleep state of the user. Techniques for monitoring a
user's sleep using heart rate information, respiration rate
information, and other user information are disclosed in U.S.
Patent Application Publication No. 20100170043 to Steven J. Young
et al., titled "APPARATUS FOR MONITORING VITAL SIGNS," the entire
contents of which is incorporated herein by reference.
[0061] In accordance with this disclosure, central controller 302
may detect user sleeping motion, respiration, and heartbeat via
pressure changes. For example, pressure transducer 46 (of FIG. 2)
may be used to monitor the air pressure in the air mattress of the
bed 301. If the user on the air mattress is not moving, the air
pressure changes in the mattress may be relatively minimal, and may
be attributable to respiration and heartbeat. When the user on the
air mattress is moving, however, the air pressure in the mattress
may fluctuate by a much larger amount. Thus, the pressure signals
generated by the pressure transducer 46 and received by the central
controller 302 may be filtered and indicated as corresponding to
motion, heartbeat, or respiration.
[0062] In an example implementation, central controller 302 may
execute instructions that cause the pressure transducer 46 to
measure air pressure values at a predefined sample rate. The
central controller 302 may store the pressure signals in a memory
device. Processing of the pressure signals may be performed by
central controller 302, or at a location remote from bed 301.
Analyzing the pressure signals, as indicated above, central
controller 302 may determine a user's sleep state, e.g., rapid eye
movement ("REM") or non-rapid eye movement ("NREM"), by using one
or more of the biometric parameters. .
[0063] FIG. 5 is a flow diagram depicting an example method (500)
of detecting a sleep state or restfulness of a user. In an example,
this method is used to determine if the conditions of an event
based trigger have been met. This method may also be used for
recommending changes to a sleep profile or establishing a sleep
pattern of a user as further discussed below.
[0064] In FIG. 5, central controller 302 executes instructions that
cause a pressure sensing means, such as the pressure transducer 46
of FIG. 2, to measure pressure variations (502). In an example, the
pressure may be measured continuously or at a predetermined sample
rate. The central controller 302 may analyze the pressure changes
detected by the pressure sensing means (504). Using information
derived from these analyzed pressure changes, one or more biometric
parameters may be determined (506). After determining the one or
more biometric parameters of the user, the central controller 302
may compare the biometric parameters with predetermined values,
ranges, or patterns which are indicative of a particular sleep
state or restfulness of the user (508). In this manner, the central
controller 302 may identify the sleep state of a user or how well
the user is sleeping (510).
[0065] Returning back to FIG. 4, upon determining that a sleep
profile should be activated, control signals may be sent to one or
more controllers to adjust components of architecture 300 according
to the sleep profile (408). For example, if a trigger is that one
hour after REM sleep has been achieved, the temperature of a pad
should be reduced to 68 degrees the following process may be used.
Central controller 302 may first determine that a user has entered
REM sleep using a method such as described in FIG. 5. Then, central
controller 302 may start a count-down timer of one hour using timer
324. Central controller 302 may receive an indication (e.g.,
signal) from timer 324 that the hour has passed. Then, central
controller 324 may transmit a control signal to temperature
controller 308 to change the temperature of a pad to 68
degrees.
[0066] FIG. 6 illustrates a flow diagram of an example method (600)
to recommend a sleep profile to a user. In various embodiments,
recommendations to a user may be provided to alter their sleep
profiles, or if a sleep profile has not been created, to establish
a sleep profile.
[0067] In an example, central controller 302 establishes a sleep
pattern for a user (602). A sleep pattern may include an index of
restfulness of the user throughout the night. For example,
restfulness may be determined according to the ratio of REM or deep
sleep a user is getting throughout the night compared to total
sleep time as determined using a method as described in FIG. 5.
Other definitions of restfulness may also be used (e.g., the amount
of movement--as sensed by or more pressure sensors--a user for a
given night as compared to the average amount of movement).
[0068] In an example, central controller 302 determines a
recommendation to present to a user (604). A sleep pattern may
include multiple entries of restfulness and associated settings of
components of architecture 300 when the entry was recorded.
Accordingly, central controller 302 may analyze the entries to
determine which settings are associated with more or less
restfulness (e.g., using a regression analysis or other statistical
techniques). For example, central controller 302 may determine that
when, all other settings being equal, the pressure of the bed is
"50," the biometric signals of the user indicate that the user is
less restful than a pressure setting of "60." Therefore, the
recommendation may be for the user to have the bed adjust to a
setting of "60" after a sleep state has been achieved. Multiple
recommendations may be made and stored at central controller 302.
In various examples, based on the above analysis, a ranking of
which settings correlate strongest with more restful sleep may be
generated and displayed to a user.
[0069] In an example, recommendation is presented to the user
(606). For example, when a user begins to create or modify an
existing sleep profile via a remote control, a query may be
transmitted to central controller 302 requesting any stored
recommendations. The recommendations, if any, may be transmitted
back to the remote control and presented to the user. In an
example, in addition to the recommendation, an option may be
presented to the user to accept the recommendation for one or more
sleep profiles.
[0070] In further examples, sleep patterns of many users may be
aggregated at an external server (e.g., by respective central
controllers transmitting anonymous sleep data to the server). The
aggregated data may be analyzed to determine a sleep recommendation
for the user. This analysis may be done, for example, at the
external server. The recommendation may be received via external
network device 310 and stored in a similar fashion as the
individualized recommendation. In various examples, recommendations
based on the aggregate data are presented to the user instead of
the individualized recommendation or in addition to the
individualized recommendations.
[0071] In an example, a sleep profile of a user is updated based on
the recommendation (608). For example, using the method described
in FIG. 4, a sleep profile may be updated at central controller 302
with any settings of the recommendation that the user has indicated
to accept.
[0072] In an example, instead of a sleep profile being created for
the user that is editable and viewable by the user, architecture
300 may include a feature which, if enabled by the user,
automatically adjusts the components of architecture 300 during the
sleep cycle.
[0073] FIG. 7 is a flow diagram of an example method of
automatically adjusting a bed for a user. In an example, a sleep
pattern of a user is established (702) as discussed previously
(602). Central controller 302 may then determine one or more
adjustments to make to a component of the bed based on an analysis
of the sleep pattern of a user (704). For example, the adjustments
may be the similar to the recommendations discussed in FIG. 6.
During the next night, the adjustments may be made to the
components (706) upon determining the user is asleep or by manual
activation by a user. In various examples, a UI may be presented
the following morning asking the user to rate the previous night's
sleep (708) via a remote control. Central controller 302 may use
this information in addition to the biometric information of the
sleep pattern to make further adjustments to enhance the user's
sleep experience the next night with flow returning to block
702.
EXAMPLE MACHINE ARCHITECTURE AND MACHINE-READABLE MEDIUM
[0074] FIG. 8 is a block diagram of machine in the example form of
a computer system 800 within which instructions, for causing the
machine to perform any one or more of the methodologies discussed
herein, may be executed. In alternative embodiments, the machine
operates as a standalone device or may be connected (e.g.,
networked) to other machines. In a networked deployment, the
machine may operate in the capacity of a server or a client machine
in server-client network environment, or as a peer machine in a
peer-to-peer (or distributed) network environment. The machine may
be a personal computer (PC), a tablet PC, a set-top box (STB), a
Personal Digital Assistant (PDA), a cellular telephone, a web
appliance, a network router, switch or bridge, or any machine
capable of executing instructions (sequential or otherwise) that
specify actions to be taken by that machine. Further, while only a
single machine is illustrated, the term "machine" shall also be
taken to 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 methodologies discussed herein.
[0075] The example computer system 800 includes a processor 802
(e.g., a central processing unit (CPU), a graphics processing unit
(GPU), ASIC or a combination), a main memory 804 and a static
memory 806, which communicate with each other via a bus 808. The
computer system 800 may further include a video display unit 810
(e.g., a liquid crystal display (LCD) or a cathode ray tube (CRT)).
The computer system 800 also includes an alphanumeric input device
812 (e.g., a keyboard), a user interface (UI) navigation device 814
(e.g., a mouse), a disk drive unit 816, a signal generation device
818 (e.g., a speaker) and a network interface device 820.
Machine-Readable Medium
[0076] The disk drive unit 816 includes a machine-readable medium
822 on which is stored one or more sets of instructions and data
structures (e.g., software) 824 embodying or utilized by any one or
more of the methodologies or functions described herein. The
instructions 824 may also reside, completely or at least partially,
within the main memory 804 and/or within the processor 802 during
execution thereof by the computer system 800, the main memory 804
and the processor 802 also constituting machine-readable media.
[0077] While the machine-readable medium 822 is shown in an example
embodiment to be a single medium, the term "machine-readable
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 instructions or data
structures. The term "machine-readable medium" shall also be taken
to include any tangible medium that is capable of storing, encoding
or carrying instructions for execution by the machine and that
cause the machine to perform any one or more of the methodologies
of the present invention, or that is capable of storing, encoding
or carrying data structures utilized by or associated with such
instructions. The term "machine-readable medium" shall accordingly
be taken to include, but not be limited to, solid-state memories,
and optical and magnetic media. Specific examples of
machine-readable media include non-volatile memory, including by
way of example semiconductor memory devices, e.g., Erasable
Programmable Read-Only Memory (EPROM), Electrically Erasable
Programmable Read-Only Memory (EEPROM), and flash memory devices;
magnetic disks such as internal hard disks and removable disks;
magneto-optical disks; and CD-ROM and DVD-ROM disks.
Transmission Medium
[0078] The instructions 824 may further be transmitted or received
over a communications network 826 using a transmission medium. The
instructions 824 may be transmitted using the network interface
device 820 and any one of a number of well-known transfer protocols
(e.g., HTTP). Examples of communication networks include a local
area network ("LAN"), a wide area network ("WAN"), the Internet,
mobile telephone networks, Plain Old Telephone (POTS) networks, and
wireless data networks (e.g., WiFi and WiMax networks). The term
"transmission medium" shall be taken to include any intangible
medium that is capable of storing, encoding or carrying
instructions for execution by the machine, and includes digital or
analog communications signals or other intangible media to
facilitate communication of such software.
[0079] Although an embodiment has been described with reference to
specific example embodiments, it will be evident that various
modifications and changes may be made to these embodiments without
departing from the broader spirit and scope of the invention.
Accordingly, the specification and drawings are to be regarded in
an illustrative rather than a restrictive sense. The accompanying
drawings that form a part hereof, show by way of illustration, and
not of limitation, specific embodiments in which the subject matter
may be practiced. The embodiments illustrated are described in
sufficient detail to enable those skilled in the art to practice
the teachings disclosed herein. Other embodiments may be utilized
and derived therefrom, such that structural and logical
substitutions and changes may be made without departing from the
scope of this disclosure. This Detailed Description, therefore, is
not to be taken in a limiting sense, and the scope of various
embodiments is defined only by the appended claims, along with the
full range of equivalents to which such claims are entitled. As it
common, the terms "a" and "an" may refer to one or more unless
otherwise indicated.
* * * * *