BED HAVING FEATURES FOR CONTROLLING BED HEATING TO REDUCE HEALTH RISKS TO SLEEPERS - Patent application
Patent Information
- Application Number
- JP2024508350
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2021-12-16
- Filing Date
- 2022-08-09
- Publication Date
- 2025-08-20
AI Technical Summary
Existing beds do not effectively adjust microclimates to optimize sleep quality and reduce cardiac risk by modulating heart rate and temperature gradients, leading to potential discomfort and decreased sleep quality.
A bed system with integrated temperature sensors, a controller, and a heating subsystem that adjusts skin temperature based on biometric data, such as heart rate variability and sleep parameters, to create targeted temperature gradients for improved sleep quality and reduced cardiac risk.
The system enhances sleep quality by minimizing perceptible temperature changes, reducing cardiac risk through controlled temperature adjustments, and improving comfort during sleep onset and duration.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
[Technical field]
[0001] The present specification relates to a bed equipped with computer hardware.
[0002] [CROSS REFERENCE TO RELATED APPLICATIONS] This application claims the benefit of U.S. Provisional Patent Application No. 63 / 290,475, filed December 16, 2021, and U.S. Provisional Patent Application No. 63 / 231,392, filed August 10, 2021, the disclosures of which are incorporated by reference into the disclosure of this application.
[0003] [Background technology] Generally, a bed is a piece of furniture used as a place to sleep or relax. Many modern beds include a soft mattress on top of a bed frame. The mattress may contain springs, foam materials, and / or air chambers to support the weight of one or more occupants. Summary of the Invention
[0004] Generally, this specification discloses control techniques.
[0005] A system of one or more computers may be configured to perform a particular operation or behavior by installing software, firmware, hardware, or a combination thereof on the system, which, during operation, causes the system to perform the operation or behavior. One or more computer programs may be configured to perform a particular operation or behavior by including instructions that, when executed by a data processing device, cause the device to perform the operation or behavior. One general aspect includes a system with a feature for modifying a skin temperature of a sleeper in a bed. The system includes a bed having a mattress. The system also includes one or more temperature sensors, each configured to sense a temperature of the sleeper and transmit a temperature reading to the controller. The system also includes a controller, which may include a processor and memory, configured to receive temperature readings from each of the temperature sensors and, based on the received temperature readings, transmit instructions to a heating subsystem to initiate a warming process that elevates a distal temperature of the sleeper above a proximal temperature of the sleeper. The system also includes the heating subsystem, which may have a heating element that, when activated, is capable of raising the distal temperature of the sleeper above the proximal temperature of the sleeper. Other embodiments of this aspect include corresponding computer systems, devices, and computer programs stored on one or more computer storage devices, each configured to perform the operations of the method.
[0006] Some implementations may include one or more of the following features: In the system, the controller may be further configured to determine at least one of a group of metrics that may include a heart rate variability metric of the sleeper and a heart rate of the sleeper, and send modified instructions to the heating subsystem based on the determined heart rate variability. The modified instructions may be to increase the warming process based on the determined metric (e.g., heart rate variability) not increasing to a threshold. The modified instructions may be to decrease the warming process based on the determined heart rate variability increasing to a threshold. The system may reduce cardiac risk of the sleeper by increasing the distal temperature of the sleeper above the proximal temperature of the sleeper. The controller may be further configured to determine one or more sleep parameters of the sleeper, and adjust the warming process based on the determined sleep parameters. The sleep parameters may be each of the group, which may include skin temperature, presence state, wake / sleep state, rapid eye movement (REM) / non-rapid eye movement (NREM) state, REM / light NREM sleep / NREM deep sleep, sleep quality, sleep duration, sleep fragmentation, overall body movement, and time to awakening. Implementations of the described techniques may include hardware, methods or processes, or computer software on a computer-accessible medium.
[0007] One general aspect includes a system with features for altering a skin temperature of a sleeper in a bed, the system including one or more processors. The system also includes a computer readable medium having instructions stored thereon that, when executed by the processor, cause the processor to perform a number of operations that may include receiving a temperature reading of the sleeper from each of one or more temperature sensors, determining that the sleeper is in the bed, and sending a command to a heating subsystem based on the received temperature readings to initiate a warming process that elevates a distal temperature of the sleeper above a proximal temperature of the sleeper, the heating subsystem may include a heating element that, when activated, is capable of elevating the distal temperature of the sleeper above the proximal temperature of the sleeper. Other embodiments of the aspect include corresponding computer systems, devices, and computer programs stored on one or more computer storage devices, each configured to perform the operations of the method.
[0008] Some implementations may include one or more of the following features. In the system, the operations may further include determining a metric, the metric being at least one of the group consisting of a heart rate variability of the sleeper and a heart rate of the sleeper, and sending a modified command to the heating subsystem based on the determined heart rate variability. The modified command may be to increase the warming process based on the determined metric (e.g., heart rate variability) not increasing to a threshold. The modified command may be to decrease the warming process based on the determined heart rate variability increasing to a threshold. The system may reduce a cardiac risk of the sleeper by increasing the distal temperature of the sleeper above the proximal temperature of the sleeper. The operations may further include determining one or more sleep parameters of the sleeper, and adjusting the warming process based on the determined sleep parameters. The sleep parameters may be each of the group, which may include skin temperature, presence state, wake / sleep state, rapid eye movement (REM) / non-rapid eye movement (NREM) state, REM / light NREM sleep / NREM deep sleep, sleep quality, sleep duration, sleep fragmentation, overall body movement, and time to awakening. Implementations of the described techniques may include hardware, methods or processes, or computer software on a computer-accessible medium.
[0009] One general aspect includes a method for increasing a distal temperature of a sleeper in a bed, the method comprising receiving a temperature reading of the sleeper from each of one or more temperature sensors. The method also comprises determining that the sleeper is in the bed. The method also comprises sending a command to a heating subsystem based on the determination that the sleeper is in the bed and the received temperature reading to initiate a warming process to increase the distal temperature of the sleeper above a proximal temperature of the sleeper, the heating subsystem may include a heating element that, when activated, is capable of increasing the distal temperature of the sleeper above the proximal temperature of the sleeper. Other embodiments of this aspect include corresponding computer systems, devices, and computer programs stored on one or more computer storage devices, each configured to perform the operations (steps) of the method.
[0010] Some implementations may include one or more of the following features. The method may further include determining a heart rate variability metric of the sleeper and sending modified instructions to the heating subsystem based on the determined heart rate variability. The modified instructions may be to increase the warming process based on the determined heart rate variability not increasing to a threshold. The modified instructions may be to decrease the warming process based on the determined heart rate variability increasing to a threshold. The system may reduce cardiac risk of the sleeper by increasing the distal temperature of the sleeper above the proximal temperature of the sleeper. The operations may further include determining one or more sleep parameters of the sleeper and adjusting the warming process based on the determined sleep parameters. The sleep parameters may be each of the group, which may include skin temperature, presence state, wake / sleep state, rapid eye movement (REM) / non-rapid eye movement (NREM) state, REM / light NREM sleep / NREM deep sleep, sleep quality, sleep duration, sleep fragmentation, overall body movement, and time to awakening. Implementations of the described techniques may include hardware, methods or processes, or computer software on a computer-accessible medium.
[0011] One general aspect includes a system with features for altering a skin temperature of a sleeper in a bed, the bed having a mattress. The system also includes one or more temperature sensors, each configured to sense a temperature of the sleeper and transmit a temperature reading to the controller. The system also includes a controller, which may include a processor and memory, configured to receive a temperature reading from each of the temperature sensors and, based on a determination that the sleeper is in the bed and the received temperature reading, transmit a command to a heating subsystem to initiate a warming process to adjust a temperature gradient of the sleeper. The system also includes the heating subsystem, which may include a heating element that, when activated, can adjust the temperature gradient of the sleeper. Other embodiments of this aspect include corresponding computer systems, devices, and computer programs recorded on one or more computer storage devices, each configured to perform the operations of the method.
[0012] Some implementations may include one or more of the following features: In the system, the temperature gradient of the sleeper may be a difference between a first temperature of the sleeper's body at a first position and a second temperature of the sleeper at a second position of the sleeper's body. Implementations of the described techniques may include hardware, a method or process, or computer software on a computer accessible medium.
[0013] One or more advantages may become evident from the disclosed embodiments: The bed may adjust the sleeper's environment, reducing the risk of adverse health effects. By adjusting the microclimate of the sleeper's sleep environment, cardiac markers such as heart rate (BPM) and / or heart rate variability (HRV) may be adjusted. This may reduce the risk of adverse cardiovascular effects for the sleeper. The bed may determine the sleeper's distal-proximal temperature gradient (DPG, calculated as the difference between distal and proximal temperatures). Thus, the bed may provide for individual adjustment or modification of temperature values in one or more microclimates of the bed system. For example, in one or more microclimates of the bed system, the proximal temperature may be increased while in one or more other microclimates of the bed system, the distal temperature may be decreased. Such adjustments may be made simultaneously or at different times, providing the occupant with seamless adjustment of the microclimate and continuous comfort during onset and sleep. Continuous and / or targeted adjustment of various microclimates may help occupants fall asleep more quickly, stay asleep, and / or experience improved overall sleep quality.
[0014] The disclosed embodiments may provide small changes in temperature that may not be perceptible to the occupant, but are still beneficial. Fine tuning to different microclimates may help the occupant maintain comfort when falling asleep and while sleeping. For example, alternative bed systems may provide a noticeable increase in temperature throughout the bed system. The occupant may feel uncomfortable if the entire bed suddenly becomes too warm, or if the warmer parts of the occupant's body (such as the core) begin to overheat and / or sweat. As a result, the occupant may experience poorer sleep quality or have difficulty falling asleep. On the other hand, the disclosed embodiments may provide minimal temperature changes in one or more different microclimates that may not be perceptible to the occupant. Minimal temperature changes may improve the occupant's sleep quality and / or ability to fall asleep, as they change the occupant's body temperature, skin temperature, and even cardiac metrics. Thus, slight changes in microclimate temperature may directly affect the occupant's body or skin temperature, improving the occupant's sleep experience and maintaining the occupant's comfort in the bed.
[0015] The disclosed embodiments may also provide improved collection and use of occupant biometrics to improve sleep quality and for other purposes. For example, compared to beds that do not operate taking into account the occupant's presence in the bed, actual sleep state, or sleep quality, the technology may collect occupant biometrics in real time as an additional feedback mechanism. For example, the disclosed embodiments may also provide collection of pressure readings and cardiac metrics. The pressure readings may be used to determine the occupant's posture, which may be used to identify the occupant's DPG and one or more microclimate adjustments. The cardiac metrics may also be used to identify the DPG and adjust the microclimate. The cardiac metrics may also be used to identify potential cardiovascular health conditions of the occupant while asleep. Because the bed system collects and analyzes various biometric measurements, the bed system may dynamically adjust thermal stimulation during a sleep session to enhance and improve the occupant's sleep quality.
[0016] Other features, aspects and potential advantages will become apparent from the accompanying description and drawings. [Brief description of the drawings]
[0017] [Figure 1] FIG. 1 illustrates an exemplary airbed system.
[0018] [Diagram 2] FIG. 2 is a block diagram of an example of various components of an airbed system.
[0019] [Diagram 3] FIG. 3 illustrates an exemplary environment including a bed in communication with multiple devices in and around the home.
[0020] [Figure 4A] 4A and 4B are block diagrams of an exemplary data processing system that may be associated with a bed. [Figure 4B] 4A and 4B are block diagrams of an exemplary data processing system that may be associated with a bed.
[0021] [Diagram 5] 5 and 6 are block diagrams of example motherboards that may be used in a data processing system that may be associated with a bed. [Figure 6] 5 and 6 are block diagrams of example motherboards that may be used in a data processing system that may be associated with a bed.
[0022] [Figure 7] FIG. 7 is a block diagram of an example of a daughter board that may be used in a data processing system that may be associated with a bed.
[0023] [Figure 8] FIG. 8 is a block diagram of an example of a motherboard without daughterboards that may be used in a data processing system that may be associated with a bed.
[0024] [Figure 9] FIG. 9 is a block diagram of an example of a sensor array that may be used in a data processing system that may be associated with a bed.
[0025] [Figure 10] FIG. 10 is a block diagram of an example of a controller array that may be used in a data processing system that may be associated with a bed.
[0026] [Figure 11] FIG. 11 is a block diagram of an example of a computing device that may be used in a data processing system that may be associated with a bed.
[0027] [Figure 12] 12-16 are block diagrams of example cloud services that may be used with a data processing system that may be associated with a bed. [Figure 13] 12-16 are block diagrams of example cloud services that may be used with a data processing system that may be associated with a bed. [Figure 14] 12-16 are block diagrams of example cloud services that may be used with a data processing system that may be associated with a bed. [Figure 15] 12-16 are block diagrams of example cloud services that may be used with a data processing system that may be associated with a bed. [Figure 16] 12-16 are block diagrams of example cloud services that may be used with a data processing system that may be associated with a bed.
[0028] [Figure 17] FIG. 17 is a block diagram of an example of automating peripherals around a bed using a data processing system that may be associated with the bed.
[0029] [Figure 18] FIG. 18 is a schematic diagram illustrating an example of a computing device and a mobile computing device.
[0030] [Figure 19A] FIG. 19A shows an exemplary bed system with a sensor array.
[0031] [Figure 19B] FIG. 19B shows another exemplary bed system with a sensor array.
[0032] [Figure 20] FIG. 20 is a swim lane diagram of an exemplary process for increasing the distal temperature of a sleeper in a bed. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0033] Like reference symbols indicate like elements in the various drawings.
[0034] Overall, this specification describes increasing a sleeper's distal temperature, which when increased more than the proximal temperature is believed to reduce the sleeper's cardiac risk. For example, a smart bed may monitor the sleeper's body temperature using a temperature sensor, may determine the sleeper's cardiac parameters using pressure sensing, and may control the bed's heating elements to adjust the heating of the bed, prompting the sleeper to adjust their cardiac behavior in a manner that is expected to reduce cardiac risk.
[0035] [Example Air Bed Hardware]
[0036] 1 illustrates an exemplary airbed system 100 that includes a bed 112. The bed 112 includes at least one air chamber 114 surrounded by a resilient boundary 116 and encapsulated by a heavy-duty cotton bedding fabric 118. The resilient boundary 116 may include any suitable material, such as foam.
[0037] As shown in FIG. 1, the bed 112 may be a two-chamber design having first and second fluid chambers, such as a first air chamber 114A and a second air chamber 114B. In alternative embodiments, the bed 112 may include chambers for use with fluids other than air, as appropriate for the application. In some embodiments, such as a single bed or a kids bed, the bed 112 may include a single air chamber 114A or 114B, or multiple air chambers 114A and 114B. The first and second air chambers 114A and 114B may be in fluid communication with a pump 120. The pump 120 may be in electrical communication with a remote control 122 via a control box 124. The control box 124 may include a wired or wireless communication interface for communicating with one or more devices, including the remote control 122. The control box 124 can be configured to operate the pump 120 to increase or decrease the fluid pressure in the first and second air chambers 114A and 114B based on commands entered by a user using the remote control 122. In some implementations, the control box 124 is integrated into the housing of the pump 120.
[0038] The remote control 122 may include a display 126, an output selection mechanism 128, a pressure increase button 129, and a pressure decrease button 130. The output selection mechanism 128 may allow a user to switch the airflow generated by the pump 120 between the first and second air chambers 114A, 114B, thereby allowing control of multiple air chambers with a single remote control 122 and a single pump 120. For example, the output selection mechanism 128 may be a physical control (e.g., a switch or button) or an input control displayed on the display 126. Alternatively, a separate remote control unit may be provided for each air chamber, each including the capability of controlling multiple air chambers. The pressure increase button 129 and the pressure decrease button 130 may allow a user to increase or decrease, respectively, the pressure in the air chamber selected with the output selection mechanism 128. Adjusting the pressure in the selected air chamber may result in a corresponding adjustment to the hardness (firmness) of the respective air chamber. In some embodiments, the remote control 122 may be omitted or modified as appropriate for the application. For example, in some embodiments, the bed 112 may be controlled by a computer, tablet, smartphone, or other device that communicates with the bed 112 via wired or wireless communication.
[0039] FIG 2 is a block diagram of an example of various components of an airbed system that may be used in the example airbed system 100. As shown in FIG 2, the control box 124 may include a power supply 134, a processor 136, a memory 137, a switching mechanism 138, and an analog-to-digital (A / D) converter 140. The switching mechanism 138 may be, for example, a relay or a solid-state switch. In some implementations, the switching mechanism 138 may be located in the pump 120 rather than in the control box 124.
[0040] The pump 120 and remote control 122 may be in bidirectional communication with a control box 124. The pump 120 includes a motor 142, a pump manifold 143, a relief valve 144, a first control valve 145A, a second control valve 145B, and a pressure transducer 146. The pump 120 is fluidly connected to the first air chamber 114A and the second air chamber 114B via a first conduit 148A and a second conduit 148B, respectively. The first and second control valves 145A, 145B may be controlled by a switching mechanism 138 and are operable to regulate the flow of fluid between the pump 120 and the first and second air chambers 114A, 114B, respectively.
[0041] In some implementations, the pump 120 and the control box 124 may be provided and packaged as a single unit. In some alternative implementations, the pump 120 and the control box 124 may be provided as physically separate units. In some implementations, the control box 124, the pump 120, or both, are integrated into or contained within a bed frame or bed support structure that supports the bed 112. In some embodiments, the control box 124, the pump 120, or both, are located outside the bed frame or bed support structure (as shown in the example of FIG. 1).
[0042] The exemplary airbed system 100 shown in FIG. 2 includes two air chambers 114A, 114B and a single pump 120. However, other implementations may include an airbed system having more than one air chamber and one or more pumps incorporated within the airbed system to control the air chambers. For example, a separate pump may be associated with each air chamber of the airbed system, or one pump may be associated with multiple chambers of the airbed system. Separate pumps may allow each air chamber to be independently and simultaneously inflated or deflated. Additionally, additional pressure transducers may also be incorporated within the airbed system, such as a separate pressure transducer may be associated with each air chamber.
[0043] In use, the processor 136 may, for example, send a decompression command to one of the air chambers 114A, 114B, and a switching mechanism 138 may be utilized to convert a low voltage command signal sent by the processor 136 to a higher operating voltage sufficient to actuate the relief valve 144 of the pump 120 to open the control valves 145A, 145B. Opening the relief valve 144 may allow air to escape from the air chambers 114A or 114B through the respective air lines 148A or 148B. During deflation, the pressure transducer 146 may send a pressure reading to the processor 136 via the A / D converter 140. The A / D converter 140 may receive analog information from the pressure transducer 146 and convert the analog information to digital information usable by the processor 136. The processor 136 may send the digital signal to the remote control 122 to update the display 126 in order to communicate the pressure information to the user.
[0044] As another example, the processor 136 may send a pressure increase command. The pump motor 142 may be energized in response to the pressure increase command to electronically actuate the corresponding valve 145A, 145B to pump air into the designated one of the air chambers 114A, 114B via the air line 148A, 148B. While air is being pumped into the designated air chamber 114A or 114B to increase the chamber's firmness, the pressure transducer 146 may sense the pressure in the pump manifold 143. Again, the pressure transducer 146 may send a pressure reading to the processor 136 via the A / D converter 140. The processor 136 may use the information received from the A / D converter 140 to determine the difference between the actual pressure in the air chamber 114A or 114B and the desired pressure. The processor 136 may send the digital signal to the remote control 122 to update the display 126 to communicate the pressure information to the user.
[0045] Generally speaking, during the inflation or deflation process, the pressure sensed in the pump manifold 143 may provide an approximation of the pressure in the respective air chamber in fluid communication with the pump manifold 143. An exemplary method of obtaining a pump manifold pressure reading that is substantially equal to the actual pressure in the air chamber includes turning off the pump 120, allowing the pressure in the air chamber 114A or 114B and the pump manifold 143 to equalize, and then sensing the pressure in the pump manifold 143 with the pressure transducer 146. Thus, providing sufficient time to allow the pressure in the pump manifold 143 and the chamber 114A or 114B to equalize may result in a pressure reading that is an accurate approximation of the actual pressure in the air chamber 114A or 114B. In some implementations, the pressure in the air chamber 114A and / or 114B may be continuously monitored using multiple pressure sensors (not shown).
[0046] In some implementations, the information collected by the pressure transducer 146 may be analyzed to determine various states of a person lying in bed 112. For example, the processor 136 may use the information collected by the pressure transducer 146 to determine the heart rate or respiration rate of a person lying in bed 112. For example, a user may be lying on one side of the bed 112 that includes the chamber 114A. The pressure transducer 146 may monitor fluctuations in pressure in the chamber 114A, and this information may be used to determine the user's heart rate and / or respiration rate. As another example, additional processing may be performed to use the collected data to determine the person's sleep state (e.g., awake, light sleep, deep sleep). For example, the processor 136 may determine when the person falls asleep, while asleep, the various sleep states of the person.
[0047] Additional information related to a user of the airbed system 100 that may be determined using information collected by the pressure transducer 146 includes the user's movement, the user's presence on the surface of the bed 112, the user's weight, the user's cardiac arrhythmia, and temporary apnea. Taking the detection of a user's presence as an example, the pressure transducer 146 may be used to detect the presence of a user on the bed 112, for example, via determining a change in total pressure and / or via one or more of a respiratory rate signal, a heart rate signal, and / or other biometric signal. For example, a simple pressure detection process may identify an increase in pressure as an indication that a user is present on the bed 112. As another example, the processor 136 may determine that a user is present on the bed 112 if the detected pressure increases beyond a certain threshold (a threshold for indicating that a person or other object over a certain weight is placed on the bed 112). As yet another example, the processor 136 may identify an increase in pressure in combination with a detected slight rhythmic variation in pressure as corresponding to a user being present on the bed 112. The presence of rhythmic variations can be identified as being due to the user's breathing or cardiac rhythm (or both). Detection of breathing or cardiac rhythm can distinguish between the user's presence on the bed and other objects (such as a suitcase) placed on the bed.
[0048] In some implementations, pressure variations may be measured at the pump 120. For example, one or more pressure sensors may be disposed within one or more internal cavities of the pump 120 to detect pressure variations within the pump 120. Pressure variations detected at the pump 120 may indicate pressure variations in one or both of the chambers 114A and 114B. One or more sensors disposed at the pump 120 may be in fluid communication with one or both of the chambers 114A and 114B, and may be operative to determine the pressure within the chambers 114A and 114B. The control box 124 may be configured to determine at least one vital sign (e.g., heart rate, respiratory rate) based on the pressure within the chamber 114A or chamber 114B.
[0049] In some implementations, the control box 124 may analyze pressure signals sensed by one or more pressure sensors to determine the heart rate, respiration rate, and / or other vital signs of a user lying or sitting on the chamber 114A or the chamber 114B. More specifically, when a user lies on the bed 112 disposed above the chamber 114A, the user's heartbeat, respiration, and other movements may each cause a force on the bed 112 that is transmitted to the chamber 114A. As a result of the input of forces into the chamber 114A due to the user's movements, waves may propagate through the chamber 114A and into the pump 120. A pressure sensor disposed in the pump 120 may sense the waves, such that a pressure signal output by the sensor may indicate the heart rate, respiration rate, or other information about the user.
[0050] With respect to sleep state, the airbed system 100 may determine the sleep state of the user by using various biometric signals, such as heart rate, breathing, and / or user movement. While the user is sleeping, the processor 136 may receive one or more of the user's biometric signals (e.g., heart rate, breathing, and movement) and determine the user's current sleep state based on the received biometric signals. In some implementations, signals indicative of pressure fluctuations in one or both of the chambers 114A and 114B may be amplified and / or filtered to allow for more accurate detection of the heart rate and breathing rate.
[0051] The control box 124 may perform a pattern recognition algorithm or other calculation based on the amplified and filtered pressure signal to determine the user's heart rate and respiration rate. For example, the algorithm or calculation may be based on the assumption that the heart rate portion of the signal has a frequency in the range of 0.5-4.0 Hz and the respiration rate portion of the signal has a frequency in the range of less than 1 Hz. The control box 124 may also be configured to determine other characteristics of the user based on the received pressure signal, such as blood pressure, swaying and rotational motion, rolling motion, limb movement, weight, presence or absence of the user, and / or the identity 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. 2010 / 0170043 by Steven J. Young et al., entitled "Apparatus for Monitoring Vital Signs," the entire contents of which are incorporated by reference herein.
[0052] For example, pressure transducer 146 may be used to monitor air pressure within chambers 114A and 114B of bed 112. When a user on bed 112 is not moving, changes in air pressure within air chambers 114A or 114B may be relatively minimal and may be due to breathing and / or heartbeat. However, when a user on bed 112 is moving, the air pressure within the mattress may vary by a much larger amount. Thus, the pressure signal generated by pressure transducer 146 and received by processor 136 may be filtered and indicated as corresponding to movement, heartbeat, or breathing.
[0053] In some implementations, rather than having the processor 136 perform the data analysis within the control box 124, a digital signal processor (DSP) may be provided to analyze the data collected by the pressure transducer 146. Alternatively, the data collected by the pressure transducer 146 may be transmitted to a cloud-based computing system for remote analysis.
[0054] In some implementations, the exemplary airbed system 100 further comprises a temperature controller configured to raise, lower, or maintain the temperature of the bed, for example, for the comfort of the user. For example, a pad may be placed on or part of the top of the bed 112, or may be placed on or part of the top of one or both of the chambers 114A and 114B. Air may be pushed through the pad and ventilated to cool the user of the bed. Conversely, the pad may include a heating element that may be used to keep the user warm. In some implementations, the temperature controller may receive temperature readings from the pad. In some implementations, separate pads are used on different sides of the bed 112 (e.g., corresponding to the location of the chambers 114A and 114B) to provide different temperature control on different sides of the bed.
[0055] In some implementations, a user of the airbed system 100 may use an input device, such as a remote control 122, to input a desired temperature for the surface of the bed 112 (or a portion of the surface of the bed 112). The desired temperature may be encapsulated in a command data structure that includes the desired temperature and identifies the temperature controller as the desired controlled component. The command data structure may then be transmitted to the processor 136 via Bluetooth or other suitable communications protocol. In various examples, the command data structure may be encrypted before being transmitted. The temperature controller may then configure its elements to increase or decrease the temperature of the pad depending on the temperature input by the user into the remote control 122.
[0056] In some implementations, data may be sent from a component back to the processor 136 or may be transmitted to one or more display devices, such as the display 126. For example, the current temperature as determined by a sensor element of the temperature controller, the pressure of the bed, the current position of the base, or other information may be transmitted to the control box 124. The control box 124 may then transmit the received information to the remote control 122, where it may be displayed to the user (e.g., on the display 126).
[0057] In some implementations, the exemplary airbed system 100 further comprises an adjustable base and an articulation controller configured to adjust the position of the bed (e.g., bed 112) by adjusting the adjustable base supporting the bed. For example, the articulation controller can adjust the bed 112 from a flat position to a position in which the head portion of the mattress of the bed is tilted upward (e.g., to facilitate a user sitting on the bed and / or watching television). In some implementations, the bed 112 includes multiple separately articulatable sections. For example, the portions of the bed corresponding to the positions of the chambers 114A and 114B can be articulated independently of each other to allow one person positioned on the surface of the bed 112 to rest in a first position (e.g., a flat position) while a second person rests in a second position (e.g., a reclined position with the head tilted up from the waist). In some implementations, the separate positions can be set for two different beds (e.g., two twin beds positioned next to each other). The base of the bed 112 may include two or more zones that may be independently adjusted. The articulation controller may also be configured to provide different levels of massage to one or more users on the bed 112.
[0058] [Example of a bed in a bedroom environment]
[0059] 3 illustrates an exemplary environment 300 including a bed 302 in communication with multiple devices in and around the home. In the illustrated example, the bed 302 includes a pump 304 for controlling the air pressure in two air chambers 306a and 306b (as described above with respect to the air chambers 114A-114B). The pump 304 further includes circuitry for controlling the inflation and deflation functions performed by the pump 304. The circuitry is further programmed to detect variations in the air pressure in the air chambers 306a-b and use the detected variations in air pressure to identify the presence of a user 308 in bed, the sleep state of the user 308, the movement of the user 308, and biometric signatures of the user 308, such as heart rate and breathing rate. In the illustrated example, the pump 304 is disposed within the support structure of the bed 302, and a control circuit 334 for controlling the pump 304 is integrated with the pump 304. In some implementations, the control circuitry 334 is physically separate from the pump 304 and communicates with the pump 304 wirelessly or by wires. In some implementations, the pump 304 and / or the control circuitry 334 are located outside the bed 302. In some implementations, various control functions may be performed by systems in various physical locations. For example, circuitry for controlling the operation of the pump 304 may be located within a pump casing of the pump 304, and control circuitry 334 for performing other functions related to the bed 302 may be located within another portion of the bed 302 or outside the bed 302. As another example, the control circuitry 334 located within the pump 304 may communicate with a control circuitry 334 at a remote location via a LAN or WAN (e.g., the Internet). As yet another example, the control circuitry 334 may be included in the control box 124 of FIGS. 1 and 2.
[0060] In some implementations, one or more devices other than or in addition to the pump 304 and the control circuitry 334 may be used to identify a user's presence in bed, sleep state, movement, and biometric signals. For example, the bed 302 may include a second pump in addition to the pump 304, and each of the two pumps may be connected to a respective one of the air chambers 306a-b. For example, the pump 304 may be in fluid communication with the air chamber 306b, may control the inflation and deflation of the air chamber 306b, and may detect user signals of the user located on the air chamber 306b, such as presence in bed, sleep state, movement, and biometric signals. Meanwhile, the second pump may be in fluid communication with the air chamber 306a, may control the inflation and deflation of the air chamber 306a, and may detect user signals of the user located on the air chamber 306a.
[0061] As another example, the bed 302 may include one or more pressure-sensitive pads or pressure-sensitive surface portions operable to detect motion, including the presence of a user, the user's movement, breathing, and heart rate. For example, a first pressure-sensitive pad may be incorporated into the surface of the bed 302 on the left side of the bed 302 where a first user typically sleeps, and a second pressure-sensitive pad may be incorporated into the surface of the bed 302 on the right side of the bed 302 where a second user typically sleeps. Motion detected by the one or more pressure-sensitive pads or surface portions may be used by the control circuitry 334 to identify the user's sleep state, bed presence, or biometric signal.
[0062] In some implementations, information sensed by the bed (e.g., motion information) is processed by a control circuit 334 (e.g., a control circuit 334 integrated with the pump 304) and provided to one or more user devices, such as the user device 310, for presentation to the user 308 or other users. In the example shown in FIG. 3, the user device 310 is a tablet device. However, in some implementations, the user device 310 may be a personal computer, a smartphone, a smart television (e.g., the television 312), or other user device capable of wired or wireless communication with the control circuit 334. The user device 310 may communicate with the control circuit 334 of the bed 302 over a network or via direct point-to-point communication. For example, the control circuit 334 may be connected to a LAN (e.g., via a Wi-Fi router) and communicate with the user device 310 over the LAN. As another example, the control circuit 334 and the user device 310 may both be connected to the Internet and communicate over the Internet. For example, the control circuitry 334 may connect to the Internet via a WiFi router and the user device 310 may connect to the Internet via communication with a cellular communication system. As another example, the control circuitry 334 may communicate directly with the user device 310 via a wireless communication protocol such as Bluetooth. As yet another example, the control circuitry 334 may communicate with the user device 310 via a wireless communication protocol such as ZigBee, Z-Wave, infrared, or other wireless communication protocol suitable for the application. As another example, the control circuitry 334 may communicate with the user device 310 via a wired connection such as, for example, a USB connector, serial / RS232, or other wired connection suitable for the application.
[0063] The user device 310 may display various information and statistics related to sleep or the user's 308 interactions with the bed 302. For example, a user interface displayed by the user device 310 may present information including the amount of sleep of the user 308 over a period of time (e.g., overnight, week, month, etc.), the amount of deep sleep, the ratio of deep sleep to restless sleep, the time lapse between the user 308 entering bed and the user 308 falling asleep, the total time spent in the bed 302 over a period of time, the user's 308 heart rate over a period of time, the user's 308 breathing rate over a period of time, or other information related to user interactions with the bed 302 by the user 308 or one or more other users of the bed 302. In some implementations, information for multiple users may be presented on the user device 310, for example, information for a first user located on the air chamber 306a may be presented along with information for a second user located on the air chamber 306b. In some implementations, the information presented on the user device 310 may change depending on the age of the user 308. For example, the information presented on the user device 310 may evolve with the age of the user 308, and different information may be presented on the user device 310 as the user 308 ages as a child or as an adult.
[0064] The user device 310 may also be used as an interface for the control circuitry 334 of the bed 302 to allow the user 302 to input information. Information input by the user 308 may be used by the control circuitry 334 to provide better information to the user or to various control signals for controlling the functions of the bed 302 or other devices. For example, the user 308 may input information such as weight, height, age, etc., and the control circuitry 334 may use this information to provide the user with a comparison of the user's tracked sleep information to that of other people of similar weight, height, and / or age to the user. As another example, the user 308 may use the user device 310 as an interface to control the air pressure of the air chambers 306a and 306b, to control various reclining or tilting positions of the bed 302, to control the temperature of one or more surface temperature control devices of the bed 302, or to allow the control circuitry 334 to generate control signals for other devices (as described in more detail below).
[0065] In some implementations, the control circuitry 334 of the bed 302 (e.g., control circuitry 334 integrated into the pump 304) may communicate with other first, second, or third party devices or systems in addition to or instead of the user device 310. For example, the control circuitry 334 may communicate with a television 312, a lighting system 314, a thermostat 316, a security system 318, or other home appliances such as an oven 322, a coffee maker 324, a lamp 326, and a night light 328. Other examples of devices and / or systems with which the control circuitry 334 may communicate include a system for controlling the blinds 330, one or more devices for detecting or controlling the state of one or more doors 332 (e.g., detecting whether a door is open, detecting whether a door is locked, or automatically locking a door), and a system for controlling the garage door 320 (e.g., a control circuitry 334 integrated with a garage door opener to identify the open / closed state of the garage door 320 and cause the garage door opener to open and close the garage door 320). Communication between the control circuitry 334 of the bed 302 and other devices may occur over a network (e.g., a LAN or the Internet) or as a point-to-point communication (e.g., Bluetooth, wireless communication, or wired connection). In some implementations, the control circuitry 334 of different beds 302 may communicate with different sets of devices. For example, a kid's bed may not communicate with and / or control the same devices as an adult bed. In some embodiments, the bed 302 may evolve with the age of the user, such that the control circuitry 334 of the bed 302 communicates with different devices as a function of the user's age.
[0066] The control circuitry 334 may receive information and input from other devices / systems and may use the received information and input to control the operation of the bed 302 or other devices. For example, the control circuitry 334 may receive information from the thermostat 316 indicating the current ambient temperature of the house or room in which the bed 302 is located. The control circuitry 334 may use the received information (along with other information) to determine whether to increase or decrease the temperature of all or a portion of the surface of the bed 302. The control circuitry 334 may then cause a heating or cooling mechanism of the bed 302 to increase or decrease the temperature of the surface of the bed 302. For example, the user 308 may indicate a desired sleeping temperature of 74 degrees Fahrenheit, while a second user of the bed 302 may indicate a desired sleeping temperature of 72 degrees Fahrenheit. The thermostat 316 may indicate to the control circuitry 334 that the current temperature in the bedroom is 72 degrees Fahrenheit. The control circuitry 334 may identify that the user 308 has indicated a desired sleep temperature of 74 degrees Fahrenheit and may send a control signal to a heating pad on the user's 308 side of the bed to increase the temperature of a portion of the surface of the bed 302, which is arranged to increase the temperature of the user's 308 sleep surface to the desired temperature.
[0067] The control circuitry 334 may also generate and propagate control signals to control other devices. In some implementations, the control signals are generated based on information collected by the control circuitry 334, including information about user interactions with the bed 302 by the user 308 and / or one or more other users. In some implementations, information collected from one or more other devices other than the bed 302 is used in generating the control signals. For example, information about environmental occurrences (e.g., environmental temperature, environmental noise level, environmental light level, etc.), time of day, year, day of the week, or other information may be used in generating control signals for various devices in communication with the control circuitry 334 of the bed 302. For example, information about the time of day may be combined with information about the user 308's movements and presence in bed to generate control signals for the lighting system 314. In some implementations, rather than or in addition to providing control signals to one or more other devices, the control circuitry 334 may transmit collected information (e.g., information related to the user's movements, presence in bed, sleep state, or biometric signal of the user 308) to one or more other devices, allowing the one or more other devices to utilize the collected information when generating control signals. For example, the control circuitry 334 of the bed 302 may provide a central controller (not shown) with information regarding user interactions with the bed 302 by the user 308. The central controller may utilize the provided information to generate control signals for various devices, including the bed 302.
[0068] 3, the control circuitry 334 of the bed 302 may generate and transmit control signals to control the operation of other devices in response to information collected by the control circuitry 334, including the presence of the user 308 in bed, the user's sleep state 308, and other factors. For example, the control circuitry 334 integrated with the pump 304 may detect a characteristic of the mattress of the bed 302, such as an increase in pressure in the air chamber 306b, and use the detected increase in air pressure to determine that the user 308 is on the bed 302. In some implementations, the control circuitry 334 may identify the heart rate or respiratory rate of the user 308 to identify that the increase in pressure is due to a person sitting, lying, or resting on the bed 302, as opposed to an inanimate object (such as a suitcase) being placed on the bed. In some implementations, information indicative of the user's presence in bed is combined with other information to identify the current or possible future state of the user 308. For example, a user's presence in bed detected at 11:00 a.m. may indicate that the user is sitting in bed (e.g., to tie shoelaces or to read a book) and is not intending to fall asleep, whereas a user's presence in bed detected at 10:00 p.m. may indicate that the user 308 is in bed and intends to fall asleep shortly. As another example, if the control circuitry 334 detects that the user 308 has left the bed 302 at 6:30 a.m. (e.g., indicating that the user 308 has woken up for the day) and then detects the user's presence in bed at 7:30 a.m., the control circuitry 334 may use this information to understand that the newly detected user's presence in bed is likely temporary (e.g., while the user 308 is tying shoelaces before heading to work) rather than an indication that the user 308 intends to remain in bed for an extended period of time.
[0069] In some implementations, the control circuitry 334 may use the collected information (including information related to the user's 308 interactions with the bed 302, environmental information, time information, and inputs received from the user) to identify the usage pattern of the user 308. For example, the control circuitry 334 may use information indicative of the user's 308 presence in bed and sleep status collected over a period of time to identify the user's sleep pattern. For example, the control circuitry 334 may identify that the user 308 generally goes to bed between 9:30 PM and 10:00 PM, generally falls asleep between 10:00 PM and 11:00 PM, and generally wakes up between 6:30 AM and 6:45 AM based on the information indicative of the user's presence collected over a week and the biometric characteristic signal of the user 308. The control circuitry 334 may use the user's identification pattern to better process and identify the user's 308 interactions with the bed 302.
[0070] For example, given the bed presence, sleeping, and waking patterns of the user 308 in the example above, if the user 308 is detected to be in bed at 3:00 PM, the control circuitry 334 may determine that the user's presence in bed is only momentary and may use that determination to generate a different control signal than would be generated if the control circuitry 334 had determined that the user 308 was in bed in the evening. As another example, if the control circuitry 334 detects that the user 308 got out of bed at 3:00 AM, the control circuitry 334 may use the user's 308 identification pattern to determine that the user only woke up momentarily (e.g., to use the bathroom or to get a glass of water) and did not wake up for the day. In contrast, if the control circuitry 334 identifies that the user 308 got out of bed 302 at 6:40 a.m., the control circuitry 334 may determine that the user has woken up for the day and may generate a different set of control signals than would be generated if it was determined that the user 308 only temporarily left the bed (such as if the user 308 left the bed 302 at 3:00 a.m.) For other users 308, getting out of bed 302 at 3:00 a.m. may be a normal wake-up time, and the control circuitry 334 may learn and respond accordingly.
[0071] As previously mentioned, the control circuitry 334 of the bed 302 may generate control signals for controlling functions of various other devices. The control signals may be generated based, at least in part, on detected interactions with the bed 302 by the user 308 and other information including time, date, temperature, etc. For example, the control circuitry 334 may communicate with the television 312, receive information from the television 312, and generate control signals to control functions of the television 312. For example, the control circuitry 334 may receive an indication from the television 312 that the television 312 is currently on. If the television 312 is located in a different room than the bed 302, the control circuitry 334 may generate a control signal to turn off the television 312 when it determines that the user 308 has gone to bed for the night. For example, if the presence of the user 308 on the bed 302 is detected during a particular time range (e.g., between 8:00 PM and 7:00 AM) and lasts for longer than a threshold time (e.g., 10 minutes), the control circuitry 334 may use this information to determine that the user 308 is in bed to sleep. If the television 312 is on (indicated by communications received by the control circuitry 334 of the bed 302 from the television 312), the control circuitry 334 may generate a control signal to turn off the television 312. The control signal may then be transmitted to the television (e.g., via a directed communications link between the television 312 and the control circuitry 334 or over a network). As another example, rather than turning off the television 312 in response to detecting the user's presence in bed, the control circuitry 334 may generate a control signal to lower the volume of the television 312 by a pre-specified amount.
[0072] As another example, when the control circuitry 334 detects that the user 308 has left the bed 302 during a specified time range (e.g., between 6:00 and 8:00 a.m.), the control circuitry 334 may generate a control signal to turn on the television 312 and tune it to a pre-specified channel (e.g., the user 308 indicates a preference to watch the morning news when he or she gets out of bed in the morning). The control circuitry 334 may generate and send a control signal to the television 312 to turn on the television 312 and tune it to a desired station (which may be stored in the control circuitry 334, the television 312, or elsewhere). As another example, when the control circuitry 334 detects that the user 308 has woken up for the day, the control circuitry 334 may generate and send a control signal to turn on the television 312 and begin playing a previously recorded program from a digital video recorder (DVR) in communication with the television 312.
[0073] As another example, if the television 312 is in the same room as the bed 302, the control circuitry 334 does not turn off the television 312 in response to detecting the user's presence in bed. Rather, the control circuitry 334 may generate and transmit a control signal to turn off the television 312 in response to determining that the user 308 is asleep. For example, the control circuitry 334 may monitor biometric signals (e.g., movement, heart rate, breathing rate) of the user 308 to determine that the user 308 has fallen asleep. Upon detecting that the user 308 is asleep, the control circuitry 334 generates and transmits a control signal to turn off the television 312. As another example, the control circuitry 334 may generate a control signal to turn off the television 312 after a threshold time has elapsed after the user 308 has fallen asleep (e.g., 10 minutes after the user has fallen asleep). As another example, the control circuitry 334 generates a control signal to lower the volume of the television 312 after determining that the user 308 is asleep. As yet another example, control circuitry 334, in response to determining that user 308 is asleep, may generate and transmit a control signal to gradually reduce the volume of a television over a period of time and then turn the television off.
[0074] In some implementations, the control circuitry 334 may similarly interact with other media devices, such as computers, tablets, smartphones, stereo systems, and the like. For example, when it detects that the user 308 is asleep, the control circuitry 334 may generate and send a control signal to the user device 310 to turn off the user device 310 or to lower the volume of a video or audio file being played on the user device 310.
[0075] The control circuitry 334 may further communicate with and receive information from the lighting system 314 and generate control signals to control the functions of the lighting system 314. For example, upon detecting a user's presence on the bed 302 lasting longer than a threshold time (e.g., 10 minutes) during a particular time frame (e.g., between 8:00 PM and 7:00 AM), the control circuitry 334 of the bed 302 may determine that the user 308 is in the bed to sleep. In response to this determination, the control circuitry 334 may generate a control signal to turn off the lights in one or more rooms other than the room in which the bed 302 is located. The control signal may then be transmitted to and executed by the lighting system 314 to turn off the lights in the indicated rooms. For example, the control circuitry 334 may generate and transmit a control signal to turn off all the lights in the general room but not in other bedrooms. As another example, the control signal generated by the control circuitry 334 in response to determining that the user 308 is in bed to sleep may indicate that the lights in all rooms other than the room in which the bed 302 is located should be turned off and that one or more lights located outside the premises containing the bed 302 should also be turned off. Additionally, the control circuitry 334 may generate and transmit a control signal to turn on the night light 328 in response to determining that the user 308 is in bed or that the user 308 is asleep. As another example, the control circuitry 334 may generate a first control signal to turn off a first set of lights (e.g., the lights in the general room) in response to detecting the user's presence in bed and a second control signal to turn off a second set of lights (e.g., the lights in the room in which the bed 302 is located) in response to detecting that the user 308 is asleep.
[0076] In some implementations, in response to determining that the user 308 is in bed to sleep, the control circuitry 334 of the bed 302 may generate a control signal that causes the lighting system 314 to implement a sunset lighting regime in the room in which the bed 302 is located. The sunset lighting regime may include dimming the lights (gradually over time or all at once) in combination with changing the color of the lighting in the bedroom environment, such as adding an amber hue to the bedroom lights. The sunset lighting regime may aid the user 308 in falling asleep when the control circuitry 334 determines that the user 308 is in bed to sleep.
[0077] The control circuitry 334 may also be configured to implement a sunrise lighting regime when the user 308 wakes up in the morning. The control circuitry 334 may determine that the user 308 has woken up for the day, for example, by detecting that the user 308 has left the bed 302 (i.e., is no longer present on the bed 302) during a specified time frame (e.g., between 6:00 and 8:00 a.m.). As another example, the control circuitry 334 may monitor the user 308's movement, heart rate, breathing rate, or other biometric signal to determine that the user 308 is awake even if the user 308 has not left the bed. If the control circuitry 334 detects that the user is awake during the specified time frame, the control circuitry 334 may determine that the user 308 has woken up for the day. The specified time frame may be based on previously recorded user bed presence information collected over a period of time (e.g., two weeks), for example. It may indicate that the user 308 typically wakes up between 6:30 and 7:30 a.m. In response to the control circuitry 334 determining that the user 308 is awake, the control circuitry 334 may generate a control signal to cause the lighting system 314 to implement a sunrise lighting regime in the bedroom in which the bed 302 is located. The sunrise lighting regime may include, for example, turning on lights (e.g., lamps 326, or other lights in the bedroom). The sunrise lighting regime may further include gradually increasing the level of lighting in the room in which the bed 302 is located (or one or more other rooms). The sunrise lighting regime may also include turning on only lights of a specified color. For example, the sunrise lighting regime may include illuminating the bedroom with blue light to gently assist the user 308 in waking up and becoming active.
[0078] In some implementations, the control circuitry 334 may generate different control signals for controlling the operation of one or more components, such as the lighting system 314, depending on the time a user interaction with the bed 302 is detected. For example, the control circuitry 334 may use historical user interaction information about interactions between the user 308 and the bed 302 to determine that the user 308 typically falls asleep between 10:00 PM and 11:00 PM and typically wakes up between 6:30 AM and 7:30 AM. The control circuitry 334 may use this information to generate a first set of control signals for controlling the lighting system 314 if the user 308 is detected to have left the bed at 3:00 AM and a second set of control signals for controlling the lighting system 314 if the user 308 is detected to have left the bed after 6:30 AM. For example, if the user 308 leaves the bed before 6:30 AM, the control circuitry 334 may turn on lights that guide the user 308 to the bathroom. As another example, if the user 308 gets out of bed before 6:30 a.m., the control circuitry 334 may turn on lights that guide the user 308 to the kitchen (which may include, for example, turning on the night light 328, turning on the under-bed light, or turning on the lamp 326).
[0079] As another example, if the user 308 gets out of bed after 6:30 a.m., the control circuitry 334 may generate a control signal to cause the lighting system 314 to initiate a sunrise lighting style or turn on one or more lights in the bedroom or other room. In some implementations, if the user 308 is detected as getting out of bed before the user's designated morning wake-up time, the control circuitry 334 causes the lighting system 314 to turn on a weaker (dimmer) light than would be turned on by the lighting system 314 if the user 308 was detected as getting out of bed after the designated morning wake-up time. Turning on only weak (dim) lights when the user 308 gets out of bed at night (i.e., before the user's normal wake-up time) may prevent other occupants of the house from being woken by the lights, while still allowing the user 308 to see (provide visibility) to reach the bathroom, kitchen, or another destination within the house.
[0080] Historical user interaction information regarding interactions between the user 308 and the bed 302 may be used to identify the user's sleep and wake time windows. For example, the user's time in bed and sleep may be determined for a set period of time (e.g., two weeks, one month, etc.). The control circuitry 334 may then identify a typical time range or window during which the user 308 goes to bed, a typical window during which the user 308 falls asleep, and a typical window during which the user 308 wakes up (possibly different from the window during which the user 308 wakes up and the window during which the user 308 actually gets out of bed). In some implementations, buffer times may be added to these windows. For example, if the user is identified as typically going to bed between 10:00 PM and 10:30 PM, a 30 minute buffer in each direction may be added to the window, and a detection of the user getting into bed between 9:30 PM and 11:00 PM may be interpreted as the user 308 going to bed for the night. As another example, detection of a user 308's presence in bed within a time period beginning 30 minutes before the earliest typical time the user 308 goes to bed and extending to the user's typical time of waking (e.g., 6:30 a.m.) may be interpreted as the user 308 going to bed for the night. For example, if a user typically goes to bed between 10:00 p.m. and 10:30 p.m., detection of the user's presence in bed at 12:30 a.m. (12:30 a.m.) one night may be interpreted as the user 308 going to bed for the night, since it occurs outside the user's typical time frame for going to bed, but before the user's normal time of waking. In some implementations, different time periods are identified for different times of the year (e.g., earlier bedtimes in winter than in summer) or different days of the week (e.g., users waking up earlier on weekdays than on weekends).
[0081] The control circuitry 334 may distinguish between a user 308 being in bed 302 for a long period of time (such as a night) versus a short period of time (such as a nap) by sensing the duration of the user 308's presence. In some examples, the control circuitry 334 may distinguish between a user 308 being in bed 302 for a long period of time (such as a night) versus a short period of time (such as a nap) by sensing the duration of the user 308's sleep. For example, the control circuitry 334 may set a time threshold such that if the user 308 is sensed in bed 302 for longer than the threshold, the user 308 is deemed to have been in bed at night. In some examples, the threshold may be about two hours such that if the user 308 is sensed in bed 302 for more than two hours, the control circuitry 334 registers it as a long sleep event. In other examples, the threshold may be longer or shorter than two hours.
[0082] The control circuitry 334 may detect repeated long sleep events to automatically determine a typical bedtime range for the user 308 without the user 308 having to input a bedtime range. This allows the control circuitry 334 to accurately estimate the time at which the user 308 is likely to fall asleep due to a long sleep event, regardless of whether the user 308 typically falls asleep using a traditional or non-traditional sleep schedule. The control circuitry 334 may then use knowledge of the user 308's bedtime range to differentially control one or more components (including the bed 302 and / or non-bed peripherals) based on sensing the user 308 being in bed during or outside the bedtime range.
[0083] In some examples, the control circuitry 334 may automatically determine a bedtime range for the user 308 without requiring user input. In some examples, the control circuitry 334 may determine a bedtime range for the user 308 automatically and in combination with user input. In some examples, the control circuitry 334 may directly set a bedtime range according to user input. In some examples, the control circuitry 334 may associate different bedtimes with different days of the week. In each of these examples, the control circuitry 334 may control one or more components (such as the lighting system 314, thermostat 316, security system 318, oven 322, coffee maker 324, lamps 326, and nightlight 328) as a function of the detected presence in bed and the bedtime range.
[0084] The control circuitry 334 may further communicate with and receive information from the thermostat 316 and generate control signals to control the functions of the thermostat 316. For example, the user 308 may indicate a user preference for different temperatures at different times depending on the user's 308 sleep state or presence in bed. For example, the user 308 may prefer an environmental temperature of 72° F. when out of bed, 70° F. when in bed but awake, and 68° F. when asleep. The control circuitry 334 of the bed 302 may detect the user's 308 presence in bed at night and determine that the user 308 is asleep. In response to this determination, the control circuitry 334 may generate a control signal to cause the thermostat to change the temperature to 70° F. The control circuitry 334 may then transmit the control signal to the thermostat 316. Upon detecting that the user 308 is asleep or asleep during the bedtime range, the control circuitry 334 may generate and send a control signal to cause the thermostat 316 to change the temperature to 68 degrees F. Upon determining that the user has woken up for the day (e.g., the user 308 got out of bed after 6:30 a.m.), the control circuitry 334 may generate and send a control signal to cause the thermostat 316 to change the temperature to 72 degrees F.
[0085] In some implementations, the control circuitry 334 may similarly generate control signals to cause one or more heating or cooling elements on the surface of the bed 302 to change temperature at various times, in response to user interaction with the bed 302, or at various preprogrammed times. For example, the control circuitry 334 may activate a heating element to increase the temperature of one side of the surface of the bed 302 to 73 degrees Fahrenheit when it is detected that the user 308 has fallen asleep. As another example, the control circuitry 334 may power off the heating or cooling element when it determines that the user 308 has woken up for the day. As yet another example, the user 308 may preprogram various times at which the temperature of the bed surface should be increased or decreased. For example, the user may program the bed 302 to increase the surface temperature to 76 degrees Fahrenheit at 10:00 PM and decrease the surface temperature to 68 degrees Fahrenheit at 11:30 PM.
[0086] In some implementations, in response to detecting the presence of the user 308 in bed and / or detecting that the user 308 is asleep, the control circuitry 334 may cause the thermostat 316 to change the temperatures in different rooms to different values. For example, in response to determining that the user 308 is in bed at night, the control circuitry 334 may generate and transmit a control signal to cause the thermostat 316 to set the temperature in one or more bedrooms in the house to 72 degrees Fahrenheit and to set the temperature in other rooms to 67 degrees Fahrenheit.
[0087] Control circuitry 334 may also receive temperature information from thermostat 316 and may use this temperature information to control functions of bed 302 or other devices. For example, as described above, control circuitry 334 may adjust the temperature of a heating element included in bed 302 in response to temperature information received from thermostat 316.
[0088] In some implementations, the control circuitry 334 may generate and transmit control signals to control other temperature control systems. For example, in response to determining that the user 308 has woken up that day, the control circuitry 334 may generate and transmit control signals to activate a floor heating element. For example, the control circuitry 334 may turn on a floor heating system in the master bedroom in response to determining that the user 308 has woken up that day.
[0089] The control circuitry 334 may further communicate with and receive information from the security system 318 and generate control signals to control functions of the security system 318. For example, in response to detecting that the user 308 has gone to bed for the night, the control circuitry 334 may generate a control signal that causes the security system to activate or deactivate a security function. The control circuitry 334 may then transmit the control signal to the security system 318 to activate the security system 318. As another example, the control circuitry 334 may generate and transmit a control signal to disable the security system 318 in response to determining that the user 308 has woken up for the day (e.g., the user 308 is no longer in bed 302 after 6:00 a.m.). In some implementations, the control circuitry 334 may generate and transmit a first set of control signals to the security system 318 to activate a first set of security features in response to detecting the presence of the user 308 in bed, and may generate and transmit a second set of control signals to the security system 318 to activate a second set of security features in response to detecting that the user 308 has fallen asleep.
[0090] In some implementations, the control circuitry 334 may receive an alert from the security system 318 (and / or a cloud service associated with the security system 318) and may indicate the alert to the user 308. For example, the control circuitry 334 may detect that the user 308 is in bed at night and, in response, may generate and send a control signal to arm or disarm the security system 318. The security system may then detect a security breach (e.g., someone opens the door 332 without entering a security code, or someone opens a window while the security system 318 is armed). The security system 318 may communicate the security breach to the control circuitry 334 of the bed 302. In response to receiving a communication from the security system 318, the control circuitry 334 may generate a control signal to alert the user 308 of the security breach. For example, the control circuitry 334 may vibrate the bed 302. As another example, the control circuitry 334 may articulate a portion of the bed 302 (e.g., raise or lower the head section) to wake the user 308 and alert the user of a security breach. As another example, the control circuitry 334 may generate and send a control signal to cause the lamp 326 to flash at regular intervals to alert the user 308 of a security breach. As another example, the control circuitry 334 may alert the user 308 of one bed 302 of a security breach in another bed's bedroom, such as an open window in a child's bedroom. As another example, the control circuitry 334 may send an alert to a garage door controller (e.g., to close and lock the door). As another example, the control circuitry 334 may send an alert so that security is deactivated.
[0091] The control circuitry 334 may further generate and transmit control signals to control the garage door 320 and may receive information indicating the state of the garage door 320 (i.e., open or closed). For example, in response to determining that the user 308 is in bed at night, the control circuitry 334 may generate and transmit a request to a garage door opener or other device capable of sensing whether the garage door 320 is open. The control circuitry 334 may request information regarding the current state of the garage door 320. If the control circuitry 334 receives a response (e.g., from the garage door opener) indicating that the garage door 320 is open, the control circuitry 334 may notify the user 308 that the garage door is open or may generate a control signal to cause the garage door opener to close the garage door 320. For example, the control circuitry 334 may send a message to the user device 310 indicating that the garage door is open. As another example, the control circuitry 334 may cause the bed 302 to vibrate. As yet another example, the control circuitry 334 may generate and transmit a control signal to cause the lighting system 314 to flash one or more lights in the bedroom and to alert the user 308 to check the user device 310 for an alert (in this example, an alert regarding the garage door 320 being open). Alternatively, or additionally, the control circuitry 334 may generate and transmit a control signal to cause a garage door opener to close the garage door 320 in response to identifying that the user 308 is in bed at night and that the garage door 320 is open. In some implementations, the control signal may vary depending on the age of the user 308.
[0092] The control circuitry 334 may similarly send and receive communications to control or receive status information related to the door 332 or the oven 322. For example, upon detecting that the user 308 is in bed at night, the control circuitry 334 may generate and send a request to a device or system to detect the status of the door 332. Information returned in response to the request may indicate various states of the door 332, such as open, closed but unlocked, or closed and locked. If the door 332 is open or closed but unlocked, the control circuitry 334 may alert the user 308 of the door's status, such as in the manner described above for the garage door 320. Alternatively or additionally to alerting the user 308, the control circuitry 334 may generate and send a control signal to lock the door 332 or to lock it closed. If the door 332 is closed and locked, the control circuitry 334 may determine that no further action is required.
[0093] Similarly, upon detecting that the user 308 is in bed at night, the control circuitry 334 may generate and send a request to the oven 322 to request the state of the oven 322 (e.g., on or off). If the oven 322 is on, the control circuitry 334 may alert the user 308 and / or generate and send a control signal to turn the oven 322 off. If the oven is already off, the control circuitry 334 may determine that no further action is required. In some implementations, different alerts may be generated for different events. For example, the control circuitry 334 may cause the lamps 326 (or one or more other lights via the lighting system 314) to flash in a first pattern if the security system 318 detects a breach, in a second pattern if the garage door 320 is open, in a third pattern if the door 332 is open, in a fourth pattern if the oven 322 is on, and in a fifth pattern if another bed detects that the user of that bed has woken up (e.g., when a sensor in the child's bed 302 detects that the child of the user 308 has left the bed during the night). Other examples of alerts that may be processed by the control circuitry 334 of the bed 302 and communicated to the user include an alert from a smoke detector that detects smoke (and communicates the smoke detection to the control circuitry 334), a carbon monoxide tester that detects carbon monoxide, a heater malfunction, or any other device capable of communicating with the control circuitry 334 and capable of detecting the occurrence of an event that should be brought to the attention of the user 308.
[0094] The control circuitry 334 may also communicate with a system or device for controlling the state of the blinds 330. For example, in response to determining that the user 308 is in bed at night, the control circuitry 334 may generate and transmit a control signal to cause the blinds 330 to close. As another example, in response to determining that the user 308 has woken up for the day (e.g., the user got out of bed after 6:30 a.m.), the control circuitry 334 may generate and transmit a control signal to cause the blinds 330 to open. In contrast, if the user 308 gets out of bed before the user's 308 normal wake-up time, the control circuitry 334 may determine that the user 308 has not yet woken up for the day and may not generate a control signal to cause the blinds 330 to open. As yet another example, the control circuitry 334 may generate and transmit a control signal to cause a first set of blinds to close in response to detecting the user 308's presence in bed, and to cause a second set of blinds to close in response to detecting the user is asleep.
[0095] The control circuitry 334 may generate and transmit control signals to control functions of other home devices in response to detecting user interaction with the bed 302. For example, in response to determining that the user 308 has woken up for the day, the control circuitry 334 may generate and transmit a control signal to the coffee maker 324 to cause the coffee maker 324 to begin brewing coffee. As another example, the control circuitry 334 may generate and transmit a control signal to the oven 322 to cause the oven to begin pre-heating (for users who like freshly baked bread in the morning). As another example, the control circuitry 334 may use information indicating that the user 308 has woken up for the day, along with information indicating that the time of year is currently winter and / or that the outside temperature is below a threshold, to generate and transmit a control signal to turn on the engine block heater in a car.
[0096] As another example, the control circuitry 334 may generate and transmit a control signal to cause one or more devices to enter a sleep mode in response to detecting the user 308's presence in bed or in response to detecting that the user 308 is asleep. For example, the control circuitry 334 may generate a control signal to cause the user's 308 cell phone to switch into a sleep mode. The control circuitry 334 may then transmit the control signal to the cell phone. Further later, upon determining that the user 308 has woken up for the day, the control circuitry 334 may generate and transmit a control signal to cause the cell phone to switch out of the sleep mode (to a normal mode).
[0097] In some implementations, the control circuitry 334 may communicate with one or more noise control devices. For example, upon determining that the user 308 is in bed at night or asleep, the control circuitry 334 may generate and transmit control signals to activate one or more noise cancellation devices. The noise cancellation devices may be included as part of the bed 302 or may be located in a bedroom in which the bed 302 is located, for example. As another example, upon determining that the user 308 is in bed at night or asleep, the control circuitry 334 may generate and transmit control signals to turn on, off, up, or down the volume of one or more sound generating devices, such as a stereo system radio, a computer, a tablet, etc.
[0098] Additionally, functions of the bed 302 are controlled by the control circuitry 334 in response to user interactions with the bed 302. For example, the bed 302 may include an adjustable base and an articulation controller configured to adjust the position of one or more portions of the bed 302 by adjusting the adjustable base that supports the bed. For example, the articulation controller may adjust the bed 302 from a flat position to a position in which a head portion of the mattress of the bed 302 is tilted upward (e.g., to facilitate a user sitting on the bed and / or watching television). In some implementations, the bed 302 includes multiple separately articulatable sections. For example, portions of the bed corresponding to the positions of the air chambers 306a and 306b may be articulated independently of one another to allow one person positioned on the surface of the bed 302 to rest in a first position (e.g., a flat position) while a second person rests in a second position (e.g., a reclined position with the head tilted up from the waist). In some implementations, separate positions may be set for two different beds (e.g., two twin beds placed next to each other). The base of the bed 302 may include two or more zones that may be independently adjusted. The articulation controller may also be configured to provide different levels of massage to one or more users on the bed 302, or to vibrate the bed to communicate alerts to the user 308 as described above.
[0099] The control circuitry 334 may adjust the position (e.g., tilt and lower positions for the user 308 and / or additional users of the bed 302) in response to user interaction with the bed 302. For example, the control circuitry 334 may cause the articulation controller to adjust the bed 302 to a first reclined position for the user 308 in response to sensing the presence of the user 308 in bed. The control circuitry 334 may cause the articulation controller to adjust the bed 302 to a second reclined position (e.g., a less reclined or flat position) in response to determining that the user 308 is asleep. As another example, the control circuitry 334 may receive a communication from the television 312 indicating that the user 308 has turned off the television 312, in response to which the control circuitry 334 may adjust the position of the bed 302 to a preferred user sleep position (e.g., the user turning off the television 312 while the user 308 is in bed, indicating that the user 308 wishes to fall asleep).
[0100] In some implementations, the control circuitry 334 may control the articulation controller to wake one user of the bed 302 without waking another user of the bed 302. For example, the user 308 and a second user of the bed 302 may each set a different wake-up time (e.g., 6:30 a.m. and 7:15 a.m., respectively). When it is time for the user 308 to wake up, the control circuitry 334 may cause the articulation controller to vibrate or change the position of only the side of the bed on which the user 308 is located to wake up the user 308 without disturbing the second user. When it is time for the second user to wake up, the control circuitry 334 may cause the articulation controller to vibrate or change the position of only the side of the bed on which the second user is located. Alternatively, when it is time for the second user to wake up, the control circuitry 334 may use other methods (e.g., an audio alarm, turning on a light, etc.) to wake up the second user. Because, when the control circuitry 334 attempts to wake up the second user, the user 308 is already awake and will not be disturbed.
[0101] Continuing to refer to FIG. 3, the control circuitry 334 of the bed 302 may utilize information about interactions with the bed 302 by multiple users to generate control signals to control the functions of various other devices. For example, the control circuitry 334 may wait to generate control signals, such as to activate the security system 318 or to command the lighting system 314 to turn off the lights in various rooms, until both the user 308 and a second user are detected to be present on the bed 302. As another example, the control circuitry 334 may generate a first set of control signals to cause the lighting system 314 to turn off a first set of lights upon detecting the presence of the user 308 at the bed, and may generate a second set of control signals to turn off a second set of lights in response to detecting the presence of the second user at the bed. As another example, the control circuitry 334 may wait to generate control signals to open the blinds 330 until it is determined that both the user 308 and the second user have woken up for the day. As yet another example, in response to determining that user 308 has left bed and is awake for the day, but the second user is still asleep, control circuitry 334 may generate and transmit a first set of control signals to cause coffee maker 324 to begin brewing coffee, to cause security system 318 to deactivate, to turn on lamp 326, to turn off night light 328, to cause thermostat 316 to increase the temperature in one or more rooms to 72 degrees Fahrenheit, and to open blinds (e.g., blinds 330) in rooms other than the bedroom in which bed 302 is located. Thereafter, in response to detecting that the second user is no longer in bed (or that the second user has awake), control circuitry 334 may generate and transmit a second set of control signals, for example, to cause lighting system 314 to turn on one or more lights in the bedroom, to open the bedroom blinds, and to turn on television 312 on a pre-designated channel.
[0102] [Example of a data processing system associated with a bed]
[0103] Here, examples of systems and components that may be used for data processing tasks associated with, for example, a bed are described. In some cases, multiple examples of a particular component or group of components are presented. Some of these examples are redundant and / or mutually exclusive alternatives. The connections between the components are shown as examples illustrating possible network configurations to allow communication between the components. Various types of connections may be used as technically necessary or desired. The connections generally refer to logical connections that may be made in any technically feasible manner. For example, a network on a motherboard may be created with a printed circuit board, a wireless data connection, and / or other types of network connections. Some logical connections are not shown for clarity. For example, many or all elements of a particular component may need to be connected to a power source and / or computer readable memory, but for clarity, the connections to the power source and / or computer readable memory may not be shown.
[0104] FIG. 4A is a block diagram of an example of a data processing system 400 that may be associated with a bed system, including those described above with respect to FIGS. 1-3. The system 400 includes a pump motherboard 402 and a pump daughterboard 404. The system 400 includes a sensor array 406, which may include one or more sensors configured to sense environmental and / or bed physical phenomena and report such sensing to the pump motherboard 402, for example for analysis. The system 400 also includes a controller array 408, which may include one or more controllers configured to control logic control devices of the bed and / or the environment. The pump motherboard 400 may be in communication with one or more computing devices 414 and one or more cloud services 410 via a local network, via the Internet 412, or via other manners suitable in the art. Each of these components is described in more detail below, along with several exemplary embodiments.
[0105] In this example, a pump motherboard 402 and a pump daughterboard 404 are communicatively coupled. They may be conceptually described as the center or hub of the system 400, and the other components may be conceptually described as spokes of the system 400. In some forms, this may mean that each of the spoke components communicates primarily or exclusively with the pump motherboard 402. For example, the sensors in the sensor array 406 may not be configured or able to communicate directly with a corresponding controller. Instead, each spoke component may communicate with the motherboard 402. The sensors in the sensor array 406 may report sensor readings to the motherboard 402, which in response may determine whether a controller in the controller array 408 should adjust some parameter of a logical control device or modify the state of one or more peripheral devices. In some cases, if the temperature of the bed is determined to be too high, the pump motherboard 402 may determine that a temperature controller should cool the bed.
[0106] One advantage of a hub-and-spoke network topology (sometimes called a star network) is reduced network traffic, for example, as compared to a mesh network using dynamic routing. Even if a particular sensor generates a large continuous stream of traffic, that traffic may only be sent to the motherboard 402 via one spoke of the network. The motherboard 402 may, for example, marshal the data, condense it into a smaller data format, and retransmit it for storage in the cloud service 410. Additionally or alternatively, the motherboard 402 may generate a single small command message in response to the large stream that is sent via a different spoke of the network. For example, if the large data stream is a pressure reading sent from the sensor array 406 several times per second, the motherboard 402 may respond with a single command message to the controller array to increase the pressure in the air chamber. In this case, the single command message may be orders of magnitude smaller than the stream of pressure readings.
[0107] As another advantage, the hub-and-spoke network topology may allow for a scalable network that can accommodate component additions, removals, failures, etc. This may allow, for example, more, fewer, or different sensors in the sensor array 406, more, fewer, or different controllers in the controller array 408, more, fewer, or different computing devices 414, and / or more, fewer, or different cloud services 410. For example, if a particular sensor fails or is obsolete by a newer version of that sensor, the system 400 may be configured such that only the motherboard 402 needs to be updated with a replacement sensor. This may allow product differentiation, for example, where the same motherboard 402 can support an entry-level product with fewer sensors and controllers, a higher value product with more sensors and controllers, and customer personalization, where customers may add their own selection of components to the system 400.
[0108] Additionally, a line of airbed products may use system 400 with various components. In applications where all airbeds in a product line include both a central logic unit and pump, motherboard 402 (and optionally daughterboard 404) may be designed to fit into a single universal housing. Additional sensors, controllers, cloud services, etc. may then be added with each upgrade of a product in the product line. Designing all products in a product line from such a base may reduce design, manufacturing, and testing time, as compared to a product line where each product has a custom logic control system.
[0109] Each of the aforementioned components may be implemented in a variety of technologies and forms. Several examples of each component are further described below. In some alternatives, two or more components of system 400 may be implemented in a single alternative component, some components may be implemented in multiple separate components, and / or some functionality may be provided by different components.
[0110] 4B is a block diagram illustrating some communication paths of the data processing system 400. As previously mentioned, the motherboard 402 and pump daughterboard 404 may act as a hub for peripherals and cloud services of the system 400. If the pump daughterboard 404 communicates with a cloud service or other component, the communication from the pump daughterboard 404 may be routed through the pump motherboard 402. This may allow, for example, the bed to have only a single connection to the Internet 412. The computing device 414 may also have a connection to the Internet 412, possibly through the same gateway used by the bed and / or possibly through a different gateway (e.g., a cell service provider).
[0111] Previously, several cloud services 410 have been described. As shown in FIG. 4B, some cloud services, such as cloud services 410d and 410e, may be configured such that the pump motherboard 402 can communicate directly with the cloud services--i.e., the motherboard 402 may communicate with the cloud services 410 without having to use another cloud service 410 as an intermediary. Additionally or alternatively, some cloud services 410, such as cloud service 410f, may be reachable by the pump motherboard 402 only through an intermediary cloud service, such as cloud service 410e. Although not shown here, some cloud services 410 may be reachable directly or indirectly by the pump motherboard 402.
[0112] Additionally, some or all of the cloud services 410 may be configured to communicate with other cloud services. This communication may include the transfer of data and / or remote function calls according to any technically appropriate manner. For example, one cloud service 410 may request a copy of another cloud service's 410 data, such as for backup, coordination, migration purposes, or to perform computations or data mining. In another example, many cloud services 410 may contain data that is indexed according to specific users tracked by the user count cloud 410c and / or bed data cloud 410a. These cloud services 410 may communicate with the user count cloud 410c and / or bed data cloud 410a when accessing data specific to a particular user or bed.
[0113] Figure 5 is a block diagram of one example of a motherboard 402 that may be used in a data processing system that may be associated with a bed system, including those described above with respect to Figures 1-3. In this example, the motherboard 402 may be comprised of relatively few components and may be limited to provide a relatively limited feature set, as compared to other examples described below.
[0114] The motherboard includes a power supply 500, a processor 502, and computer memory 512. In general, the power supply includes hardware used to receive power from an external source and provide it to the components of the motherboard 402. The power supply may include, for example, a battery pack and / or wall outlet adapter (plug), an AC-DC converter, a DC-AC converter, a power conditioner, a capacitor bank, and / or one or more interfaces for providing power at the current type, voltage, etc. required by the other components of the motherboard 402.
[0115] Processor 502 is generally a device for receiving input, making logical decisions, and providing output. Processor 502 may be a central processing unit, a microprocessor, a general-purpose logic circuit, an application specific integrated circuit (ASIC), a combination thereof, and / or other hardware to perform the necessary functions.
[0116] Memory 512 is generally one or more devices for storing data. Memory 512 may include long-term stable data storage (e.g., on a hard disk), short-term volatile data storage (e.g., on a random access memory), or any other technically suitable configuration.
[0117] The motherboard 402 includes a pump controller 504 and a pump motor 506. The pump controller 504 may receive commands from the processor 502 and, in response, control the function of the pump motor 506. For example, the pump controller 504 may receive a command from the processor 502 to increase the pressure of an air chamber by 0.3 pounds per square inch (PSI). In response, the pump controller 504 may actuate a valve such that the pump motor 506 is configured to pump air into a selected air chamber and operate the pump motor 506 for a time corresponding to 0.3 PSI or until a sensor indicates that the pressure has been increased by 0.3 PSI. In an alternative embodiment, a message may specify that the chamber should be inflated to a target PSI and the pump controller 504 may operate the pump motor 506 until the target PSI is reached.
[0118] The valve solenoid 508 may control which air chamber the pump is connected to. In some cases, the solenoid 508 may be controlled directly by the processor 502. In some cases, the solenoid 508 may be controlled by the pump controller 504.
[0119] The remote interface 510 of the motherboard 402 may allow the motherboard 402 to communicate with other components of a data processing system. For example, the motherboard 402 may be able to communicate with one or more daughterboards, peripheral sensors, and / or peripheral controllers via the remote interface 510. The remote interface 510 may provide any technologically appropriate communication interface, including, but not limited to, multiple communication interfaces, such as WiFi, Bluetooth, and copper wired networks.
[0120] Figure 6 is a block diagram of an example of a motherboard 402 that may be used in a data processing system that may be associated with a bed system, including those described above with respect to Figures 1 to 3. Compared to the motherboard 402 described with reference to Figure 5, the motherboard of Figure 6 may include more components and may provide more functionality in some applications.
[0121] In addition to the power supply 500, processor 502, pump controller 504, pump motor 506 and valve solenoid 508, the motherboard 402 is shown with a valve controller 600, a pressure sensor 602, a Universal Serial Bus (USB) stack 604, a WiFi radio 606, a Bluetooth Low Energy (BLE) radio 608, a ZigBee radio 610, a Bluetooth radio 612, and computer memory 512.
[0122] Similar to how pump controller 504 converts commands from processor 502 into control signals for pump motor 506, valve controller 600 may convert commands from processor 502 into control signals for valve solenoid 508. In one example, processor 502 may issue a command to valve controller 600 to connect a pump to one particular air chamber of a group of air chambers in an airbed. Valve controller 600 may control the position of valve solenoid 508 such that the pump is connected to the indicated air chamber.
[0123] The pressure sensor 602 can take pressure readings from one or more air chambers of the airbed. The pressure sensor 602 can also provide digital sensor calibration.
[0124] Motherboard 402 may include a set of network interfaces, including but not limited to those illustrated here. These network interfaces may allow the motherboard to communicate over wired or wireless networks with any number of devices, including but not limited to peripheral sensors, peripheral controllers, computing devices, and devices and services connected to the Internet 412.
[0125] FIG. 7 is a block diagram of an example of a daughterboard 404 that may be used in a data processing system that may be associated with a bed system, including those described above with respect to FIGS. 1-3. In some configurations, one or more daughterboards 404 may be connected to the motherboard 402. Some daughterboards 404 may be designed to offload certain tasks and / or compartmentalized tasks from the motherboard 402. This may be advantageous, for example, if a certain task is computationally intensive, proprietary, or subject to future revisions. For example, a daughterboard 404 may be used to calculate a certain sleep data metric. This metric may be computationally intensive, and calculating the sleep metric on the daughterboard 404 may free up resources on the motherboard 402 while the metric is being calculated. Additionally and / or alternatively, the sleep metric may be subject to future revisions. It is possible that to update the system 400 with a new sleep metric, only the daughterboard 404 that calculates the metric needs to be replaced. In this case, there is no need to perform unit testing of the daughterboard 404 as well as additional components since the same motherboard 402 and other components may be used.
[0126] The daughterboard 404 is shown with a power supply 700, a processor 702, a computer readable memory 704, a pressure sensor 706, and a WiFi radio 708. The processor may use the pressure sensor 706 to gather information regarding the pressure of one or more air chambers of the airbed. From this data, the processor 702 may execute an algorithm to calculate sleep metrics. In some examples, sleep metrics may be calculated only from the pressure of the air chambers. In other examples, sleep metrics may be calculated from one or more other sensors. In examples where different data is needed, the processor 702 may receive the data from an appropriate sensor or sensors. These sensors may be internal to the daughterboard 404, accessible via the WiFi radio 708, or in communication with the processor 702. Once the sleep metrics are calculated, the processor 702 may report the sleep metrics to, for example, the motherboard 402.
[0127] Figure 8 is a block diagram of an example of a motherboard 800 without daughterboards that may be used in a data processing system that may be associated with a bed system, including those described above with respect to Figures 1-3. In this example, the motherboard 800 may perform most, all, or more of the functions described with reference to the motherboard 402 of Figure 6 and the daughterboard 404 of Figure 7.
[0128] Figure 9 is a block diagram of an example of a sensor array 406 that may be used in a data processing system that may be associated with a bed system, including those described above with respect to Figures 1-3. In general, the sensor array 406 is a conceptual grouping of some or all of the peripheral sensors that communicate with the motherboard 402 but are not native to the motherboard 402.
[0129] The peripheral sensors of the sensor array 406 may communicate with the motherboard 402 via one or more network interfaces of the motherboard, including but not limited to a USB stack 604, a WiFi radio 606, a Bluetooth Low Energy (BLE) radio 608, a ZigBee radio 610, and a Bluetooth radio 612, as appropriate for the particular sensor configuration. For example, a sensor that outputs readings via a USB cable may communicate via the USB stack 604.
[0130] Some of the peripheral sensors 900 of the sensor array 406 may be attached to the bed. These sensors may, for example, be embedded in the structure of the bed and sold with the bed, or may be attached to the structure of the bed later. Other peripheral sensors 902, 904 may be in communication with the motherboard 402, but may be selectively not attached to the bed. In some cases, some or all of the sensors 900 and / or peripheral sensors 902, 904 attached to the bed may share networking hardware, which includes conductors including wires, multi-wire cables, or plugs from each sensor that connect all of the associated sensors with the motherboard 402 when attached to the motherboard 402. In some embodiments, one, some, or all of the sensors 902, 904, 906, 908, 910 are capable of sensing one or more characteristics of the mattress, such as pressure, temperature, light, sound, and / or one or more other characteristics of the mattress. In some embodiments, one, some, or all of the sensors 902, 904, 906, 908, 910 are capable of sensing one or more characteristics of the exterior of the mattress. In some embodiments, the pressure sensor 902 is capable of sensing the pressure of the mattress while some, or all of the sensors 902, 904, 906, 908, 910 are capable of sensing one or more characteristics of the mattress and / or one or more characteristics of the exterior of the mattress.
[0131] Figure 10 is a block diagram of an example of a controller array 408 that may be used in a data processing system that may be associated with a bed system, including those described above with respect to Figures 1-3. In general, the controller array 408 is a conceptual grouping of some or all of the peripheral controllers that communicate with the motherboard 402 but are not native to the motherboard 402.
[0132] The peripheral controllers of the controller array 408 may communicate with the motherboard 402 via one or more network interfaces of the motherboard, including but not limited to a USB stack 604, a WiFi radio 606, a Bluetooth Low Energy (BLE) radio 608, a ZigBee radio 610, and a Bluetooth radio 612, as appropriate for the particular sensor configuration. For example, a controller that receives commands via a USB cable may communicate via the USB stack 604.
[0133] Some of the controllers 1000 of the controller array 408 may be mounted to the bed, including, but not limited to, a temperature controller 1006, a lighting controller 1008, and / or a speaker controller 1010. These controllers may, for example, be embedded in the structure of the bed and sold with the bed, or may be later mounted to the structure of the bed. Other peripheral controllers 1002, 1004 may communicate with the motherboard 402, but may be selectively not mounted to the bed. In some cases, some or all of the controllers 1000 and / or peripheral controllers 1002, 1004 mounted to the bed may share networking hardware, which includes conductors including wires, multi-wire cables, or plugs for each controller that, when mounted to the motherboard 402, connect all of the associated controllers to the motherboard 402.
[0134] Figure 11 is a block diagram of an example of a computing device 414 that may be used in a data processing system that may be associated with a bed system, including those described above with respect to Figures 1-3. The computing device 414 may include, for example, a computing device used by a user of the bed. Exemplary computing devices 414 include, but are not limited to, mobile computing devices (e.g., mobile phones, tablet computers, laptops) and desktop computers.
[0135] The computing device 414 includes a power supply 1100, a processor 1102, and a computer-readable memory 1104. User input and output may be transmitted, for example, via a speaker 1106, a touch screen 1108, or other components not shown, such as a pointing device or keyboard. The computing device 414 may execute one or more applications 1110. These applications may include, for example, applications that allow a user to interact with the system 400. These applications may allow a user to view information about the bed (sensor readings, sleep metrics, etc.) and configure the operation of the system 400 (e.g., set a desired firmness for the bed, set a desired operation for peripheral devices). In some cases, the computing device 414 may be used in addition to or in place of the remote control 122 described above.
[0136] Figure 12 is a block diagram of an example of a bed data cloud service 410a that may be used in a data processing system that may be associated with a bed system, including those described above with respect to Figures 1 to 3. In this example, the bed data cloud service 410a is configured to collect sensor data and sleep data from a particular bed and match the sensor data and sleep data to one or more users occupying the bed at the time the sensor data and sleep data were generated.
[0137] The bed data cloud service 410a is shown with a network interface 1200, a communications manager 1202, server hardware 1204, and server system software 1206. Additionally, the bed data cloud service 410a is shown with a user identification module 1208, a device management module 1210, a sensor data module 1212, and an advanced sleep data module 1214.
[0138] The network interface 1200 generally includes hardware and low-level software used to allow one or more hardware devices to communicate over a network. For example, the network interface 1200 may include network cards, routers, modems, and other hardware required to allow the components of the bed data cloud service 410a to communicate with each other and other destinations, for example, via the Internet 412. The communications manager 1202 generally includes hardware and software that operates on the network interface 1200. This includes software for initiating, maintaining, and tearing down network communications used by the bed data cloud service 410a. This includes, for example, TCP / IP, SSL or TLS, Torrent, and other communications sessions over local or wide area networks. The communications manager 1202 may also provide load balancing and other services to other components of the bed data cloud service 410a.
[0139] The server hardware 1204 generally includes physical processing equipment used to instantiate and maintain the bed data cloud service 410a. This hardware includes, but is not limited to, processors (e.g., central processing units, ASICs, graphic processors) and computer readable memory (e.g., random access memory, stable hard disks, tape backups). One or more servers may be configured in a cluster, multi-computer, or data center that may be geographically separated or connected.
[0140] Server system software 1206 generally includes software that runs on server hardware 1204 to provide an operating environment for applications and services. Server system software 1206 may include operating systems that run on real servers, virtual machines that are instantiated on real servers to create many virtual servers, and server-level operations such as data migration, redundancy, and backups.
[0141] The user identification module 1208 may include or reference data related to users of a bed with an associated data processing system. For example, a user may include a customer, owner, or other user registered with the bed data cloud service 410a or other service. Each user may have, for example, a unique identifier, user credentials, contact information, billing information, demographic information, or other technically appropriate information.
[0142] The device management module 1210 may include or reference data related to beds or other products associated with the data processing system. For example, beds may include products (product information) sold or registered in a system associated with the bed data cloud service 410a. Each bed may have, for example, a unique identifier, a model and / or serial number, sales information, geographic information, shipping information, a list of associated sensors and peripheral controls, etc. Additionally, one or more indexes stored by the bed data cloud service 410a may identify a user associated with the bed. For example, the indexes may record sales of beds to one or more users who sleep in the bed, etc.
[0143] The sensor data module 1212 may record raw or compressed sensor data recorded by a bed with an associated data processing system. For example, the bed's data processing system may have temperature, pressure, and light sensors. Readings from these sensors may be communicated by the bed's data processing system to the bed data cloud service 410a in raw sensor form or in a format generated from the raw data (e.g., sleep metrics) and stored in the sensor data module 1212. Additionally, one or more indexes stored by the bed data cloud service 410a may identify the user and / or bed associated with the sensor data module 1212.
[0144] The bed data cloud service 410a may use any of its available data to generate advanced sleep data 1214. In general, the advanced sleep data 1214 includes sleep metrics and other data generated from sensor readings. Some of these calculations may be performed by the bed data cloud service 410a instead of being performed locally on the bed's data processing system, for example, if the calculation is complex or requires a large amount of memory space or processor power that is not available on the bed's data processing system. This may help to allow the bed system to operate with a relatively simple controller, while still being part of the system that performs relatively complex tasks and calculations.
[0145] Figure 13 is a block diagram of an example of a sleep data cloud service 410b that may be used in a data processing system that may be associated with a bed system, including those described above with respect to Figures 1-3. In this example, the sleep data cloud service 410b is configured to record data related to a user's sleep experience.
[0146] The sleep data cloud service 410b is shown with a network interface 1300, a communications manager 1302, server hardware 1304, and server system software 1306. Additionally, the sleep data cloud service 410b is shown with a user identification module 1308, a pressure sensor management module 1310, a pressure-based sleep data module 1312, a raw pressure sensor data module 1314, and a non-pressure sleep data module 1316.
[0147] The pressure sensor management module 1310 may include or reference data related to the configuration and operation of pressure sensors in the bed. For example, this data may include identifiers for the types of sensors in a particular bed, their configuration and calibration data, etc.
[0148] The pressure-based sleep data 1312 may use the raw pressure sensor data 1314 to calculate sleep metrics specifically associated with the pressure sensor data. For example, a user's presence, movement, weight change, heart rate, and respiration rate may all be determined from the raw pressure sensor data 1314. Additionally, one or more indexes stored by the sleep data cloud service 410b may identify a user associated with the pressure sensor, the raw pressure sensor data, and / or the pressure-based sleep data.
[0149] The non-stress sleep data 1316 may use other data sources to calculate sleep metrics. For example, user-entered preferences, optical sensor readings, and acoustic sensor readings may all be used to track sleep data. Additionally, one or more indexes stored by the sleep data cloud service 410b may identify the user associated with the other sensors and / or the non-stress sleep data 1316.
[0150] Figure 14 is a block diagram of an example of a user counting cloud service 410c that may be used in a data processing system that may be associated with a bed system, including those described above with respect to Figures 1-3. In this example, the user counting cloud service 410c is configured to record a list of users and identify other data related to those users.
[0151] The user counting cloud service 410c is shown with a network interface 1400, a communications manager 1402, server hardware 1404, and server system software 1406. Additionally, the user counting cloud service 410c is shown with a user identification module 1408, a purchase history module 1410, an engagement module 1412, and an application usage history module 1414.
[0152] The user identification module 1408 may include or reference data related to users of a bed with an associated data processing system. For example, a user may include a customer, owner, or other user registered with the user counting cloud service 410c or other service. Each user may have, for example, a unique identifier, user credentials, demographic information, or other technically appropriate information.
[0153] The purchase history module 1410 may include or reference data related to purchases made by users. For example, the purchase data may include sales contact information, billing information, and sales representative information. Additionally, one or more indexes stored by the user account cloud service 410c may identify the user associated with the purchase.
[0154] The engagement module 1412 can track user interactions with manufacturers, vendors, and / or managers of the bed and / or cloud services. This engagement data can include communications (e.g., emails, service calls, etc.), sales data (e.g., receipts, configuration logs), and social network interactions.
[0155] The usage history module 1414 may include data regarding user interactions with one or more applications and / or remote controls of the bed. For example, a monitoring and configuration application may be distributed to run on, for example, multiple computing devices 412. The application may log and report user interactions for storage in the application usage history module 1414. Additionally, one or more indexes stored by the user counting cloud service 410c may identify the user associated with each log entry.
[0156] Figure 15 is a block diagram of an example of a point of sale (POS) cloud service 1500 that may be used in a data processing system that may be associated with a bed system, including those described above with respect to Figures 1-3. In this example, the point of sale cloud service 1500 is configured to record data related to user purchases.
[0157] Point of sale cloud service 1500 is shown with network interface 1502, communications manager 1504, server hardware 1506, and server system software 1508. Additionally, point of sale cloud service 1500 is shown with user identification module 1510, purchase history module 1512, and setup module 1514.
[0158] The purchase history module 1512 may include or reference data related to purchases made by a user identified in the user identification module 1510. The purchase information may include data such as the sale, price, location of sale, delivery address, and configuration options selected by the user at the time of sale. These configuration options may include choices made by the user about how they want their newly purchased bed set up, and may include, for example, an expected sleep schedule, a list of peripheral sensors and controllers the user has or will install, etc.
[0159] The bed setup module 1514 may include or reference data related to the setup of a bed purchased by a user. Bed setup data may include, for example, the date and address to which the bed is to be delivered, the person receiving the delivery, the configuration applied to the bed at the time of delivery, the names of one or more people who will be sleeping on the bed, which side of the bed each person will be using, etc.
[0160] The data recorded in the point of sale cloud service 1500 can be referenced at a later date by the user's bed system to control the bed system's functions and / or send control signals to peripheral components according to the data recorded in the point of sale cloud service 1500. This can allow a salesperson to collect information from the user at the point of sale, which can facilitate automation of the bed system at a later time. In some examples, some or all features of the bed system can be automated and little to no user input data is required after the point of sale. In other examples, the data recorded in the point of sale cloud service 1500 can be used in conjunction with various additional data collected from the user input data.
[0161] Figure 16 is a block diagram of an example of an environmental cloud service 1600 that may be used in a data processing system that may be associated with a bed system, including those described above with respect to Figures 1 to 3. In this example, the environmental cloud service 1600 is configured to record data related to a user's home environment.
[0162] The environmental cloud service 1600 is shown with a network interface 1602, a communications manager 1604, server hardware 1606, and server system software 1608. Additionally, the environmental cloud service 1600 is shown with a user identification module 1610, an environmental sensor module 1612, and an environmental factor module 1614.
[0163] The environmental sensor module 1612 may contain a list of sensors that have been installed in the bed by a user of the user identification module 1610. These sensors include any sensor capable of detecting environmental variables, such as light sensors, noise sensors, vibration sensors, thermostats, etc. Additionally, the environmental sensor module 1612 may store past readings or reports from those sensors.
[0164] The environmental factors module 1614 may include reports generated based on the data of the environmental sensor module 1612. For example, for a user with a light sensor for the environmental sensor module 1612 data, the environmental factors module 1614 may maintain a report showing the frequency and duration of instances of increased lighting when the user was asleep.
[0165] In the examples described herein, each cloud service 410 is shown with some of the same components. In various forms, these same components may be shared, partially or completely, between the services, or they may be separate. In some forms, each service may have separate copies of some or all of the components that are the same or different in some respects. Furthermore, these components are provided only as illustrative examples. In other examples, each cloud service may have different numbers, types, and styles of components, as technically possible.
[0166] FIG. 17 is a block diagram of an example of automating peripheral devices around a bed using a data processing system that may be associated with a bed (such as a bed of a bed system described herein). Shown here is a behavioral analysis module 1700 running on the pump motherboard 402. For example, the behavioral analysis module 1700 may be one or more software components stored in the computer memory 512 and executed by the processor 502. In general, the behavioral analysis module 1700 may collect data from a wide variety of sources (e.g., sensors, non-sensor local sources, cloud data services) and may use behavioral algorithms 1702 to generate one or more actions to be taken (e.g., commands to send to a peripheral controller, data to send to a cloud service). This may be useful, for example, to track a user's behavior or to automate devices that communicate with the user's bed.
[0167] The behavioral analysis module 1700 may collect data from any technically suitable source to collect data regarding, for example, the characteristics of the bed, the environment of the bed, and / or the user of the bed. Some such sources include any of the sensors of the sensor array 406. For example, this data may provide the behavioral analysis module 1700 with information regarding the current state of the environment surrounding the bed. For example, the behavioral analysis module 1700 may access a reading from the pressure sensor 902 to determine the pressure of an air chamber in the bed. From this reading, and possibly other data, the presence of a user at the bed may be determined. In another example, the behavioral analysis module 1700 may access a light sensor 908 to detect the amount of light in the environment of the bed.
[0168] Similarly, the behavioral analysis module 1700 may access data from cloud services. For example, the behavioral analysis module 1700 may access the bed cloud service 410a and may access the historical sensor data 1212 and / or the advanced sleep data 1214. Other cloud services 410, including those not previously described, may be accessed by the behavioral analysis module 1700. For example, the behavioral analysis module 1700 may access a weather reporting service, a third party data provider (e.g., traffic and news data, emergency broadcast data, user travel data), and / or a clock and calendar service.
[0169] Similarly, the behavior analysis module 1700 may access data from non-sensor sources 1704. For example, the behavior analysis module 1700 may access a local clock and calendar service (e.g., a component of the motherboard 402 or the processor 502).
[0170] The behavioral analysis module 1700 may aggregate and prepare this data for use by one or more behavioral algorithms 1702. The behavioral algorithms 1702 may be used to learn the user's behavior and / or perform some action based on the state of the accessed data and / or predicted user behavior. For example, the behavioral algorithms 1702 may use available data (e.g., pressure sensor, non-sensor data, clock and calendar data) to create a model of when the user goes to bed each night. The same or a different action algorithm 1702 may then be used to determine whether an increase in air chamber pressure is likely indicative of the user going to bed, and if so, may send some data to the third party cloud service 410 and / or activate a device, such as the pump controller 504, the base actuator 1706, the temperature controller 1008, the under-bed light 1010, the peripheral controller 1002 or the peripheral controller 1004, to name a few.
[0171] In the depicted example, behavioral analysis module 1700 and behavioral algorithms 1702 are shown as components of motherboard 402, although other configurations are possible. For example, the same or similar behavioral analysis modules and / or behavioral algorithms may be executed in one or more cloud services and the resulting output may be sent to motherboard 402, a controller in controller array 408, or any other technically suitable recipient.
[0172] 18 illustrates an example of a computing device 1800 and an example of a mobile computing device that may be used to implement the techniques described herein. The computing device 1800 is intended to represent various forms of digital computers, such as laptops, desktops, workstations, personal digital assistants, servers, blade servers, mainframes, and other suitable computers. The mobile computing device is intended to represent various forms of mobile devices, such as personal digital assistants, mobile phones, smart phones, and other similar computing devices. The components shown, their connections and relationships, and their functions are intended to be illustrative only and are not intended to limit the implementation of the invention described and / or claimed herein.
[0173] The computing device 1800 includes a processor 1802, a memory 1804, a storage device 1806, a high-speed interface 1808 connecting to the memory 1804 and a number of high-speed expansion ports 1810, and a low-speed interface 1812 connecting to a low-speed expansion port 1814 and the storage device 1806. Each of the processor 1802, the memory 1804, the storage device 1806, the high-speed interface 1808, the high-speed expansion port 1810, and the low-speed interface 1812 are interconnected using various buses and may be mounted on a common motherboard or in other manners as needed. The processor 1802 may process instructions for execution within the computing device 1800, including instructions stored in the memory 1804 or on the storage device 1806, and may display graphical information for a GUI on an external input / output device, such as a display 1816 coupled to the high-speed interface 1808. In other implementations, multiple processors and / or multiple buses may be used, along with multiple memories and types of memory, as appropriate, and multiple computing devices may be connected (e.g., as a bank of servers, as a collection of blade servers, or as a multiprocessor system) with each computing device providing a portion of the required operations.
[0174] The memory 1804 stores information within the computing device 1800. In some implementations, the memory 1804 is one or more volatile memory units. In some implementations, the memory 1804 is one or more non-volatile memory units. The memory 1804 may be another form of computer-readable medium, such as a magnetic disk or an optical disk.
[0175] The storage device 1806 can provide mass storage for the computing device 1800. In some implementations, the storage device 1806 can be or include a computer-readable medium, such as a floppy disk drive, a hard disk drive, an optical disk drive, a tape drive, a flash memory, or other similar solid-state memory device, or an arrangement of devices, including a storage area network or other form of device. The computer program product can be tangibly embodied in an information carrier. The computer program product can also include instructions that, when executed, perform one or more methods, such as the methods described above. The computer program product can also be tangibly embodied in a computer-readable or machine-readable medium, such as the memory 1804, the storage device 1806, or a memory on the processor 1802.
[0176] The high-speed interface 1808 manages bandwidth-intensive operations for the computing device 1800, and the low-speed interface 1812 manages lower bandwidth-intensive operations. This allocation of functionality is merely exemplary. In some implementations, the high-speed interface 1808 is coupled to the memory 1804, the display 1816 (e.g., via a graphics processor or accelerator), and a high-speed expansion port 1810 that can accept various expansion cards (not shown). In such implementations, the low-speed interface 1812 is coupled to the storage device 1806 and the low-speed expansion port 1814. The low-speed expansion port 1814 may include various communication ports (e.g., USB, Bluetooth, Ethernet, wireless Ethernet) and may be coupled to one or more input / output devices, such as a keyboard, a pointing device, a scanner, or a network device, such as a switch or a router, for example, via a network adapter.
[0177] Computing device 1800 may be implemented in a number of different forms, as shown in the figure. For example, it may be implemented as a standard server 1820 or multiple times in a group of such servers. It may also be implemented in a personal computer, such as a laptop computer 1822. It may also be implemented as part of a rack server system 1824. Alternatively, components from computing device 1800 may be combined with other components in a mobile device (not shown), such as mobile computing device 1850. Each such device may include one or more of computing device 1800 and mobile computing device 1850, and the entire system may be made up of multiple computing devices in communication with each other.
[0178] The mobile computing device 1850 includes, among other things, a processor 1852, a memory 1864, input / output devices such as a display 1854, a communication interface 1866, and a transceiver 1868. The mobile computing device 1850 may also be provided with a storage device such as a microdrive or other device to provide additional storage. Each of the processor 1852, memory 1864, display 1854, communication interface 1866, and transceiver 1868 are interconnected using various buses, and some of the components may be mounted on a common motherboard or in other manners as desired.
[0179] The processor 1852 may execute instructions within the mobile computing device 1850, including instructions stored in the memory 1864. The processor 1852 may be implemented as a chipset of chips including separate analog and digital processors. The processor 1852 may provide for coordination of other components of the mobile computing device 1850, such as control of a user interface, applications run by the mobile computing device 1850, and wireless communication by the mobile computing device 1850.
[0180] The processor 1852 may communicate with a user via a control interface 1858 and a display interface 1856 coupled to a display 1854. The display 1854 may be, for example, a TFT display (thin film transistor liquid crystal display), an OLED (organic light emitting diode) display, or other suitable display technology. The display interface 1856 may have appropriate circuitry for driving the display 1854 to present graphical and other information to the user. The control interface 1858 may receive commands from the user and convert them for presentation to the processor 1852. Additionally, an external interface 1862 may provide communication with the processor 1852 to enable short-range communication with other devices of the mobile computing device 1850. The external interface 1862 may provide, for example, wired communication in some implementations or wireless communication in other implementations, and multiple interfaces may be used.
[0181] The memory 1864 stores information within the mobile computing device 1850. The memory 1864 may be implemented as one or more computer-readable media, one or more volatile memory units, or one or more non-volatile memory units. An expansion memory 1874 may also be provided and connected to the mobile computing device 1850 via an expansion interface 1872, which may include, for example, a SIMM (single in-line memory module) card interface. The expansion memory 1874 may provide additional storage space for the mobile computing device 1850 or may store applications or other information for the mobile computing device 1850. In particular, the expansion memory 1874 may include instructions for performing or supplementing the aforementioned processes and may also include security information. Thus, for example, the expansion memory 1874 may be provided as a security module for the mobile computing device 1850 and may be programmed with instructions that allow for secure use of the mobile computing device 1850. Additionally, secure applications may be provided via SIMM cards with additional information, such as placing identifying information on the SIMM card in a manner that cannot be hacked.
[0182] The memory may include, for example, flash memory and / or NVRAM memory (non-volatile random access memory), as described below. In some implementations, a computer program product is tangibly embodied in an information carrier. The computer program product includes instructions that, when executed, perform one or more methods, such as the methods described above. The computer program product may be a computer-readable or machine-readable medium, such as memory 1864, expansion memory 1874, or memory on processor 1852. In some implementations, the computer program product may be received in a propagated signal, for example, via transceiver 1868 or external interface 1862.
[0183] The mobile computing device 1850 may communicate wirelessly via a communication interface 1866, which may include digital signal processing circuitry, if desired, and may provide communications under various modes or protocols, such as GSM voice (Global System for Mobile Communications), SMS (Short Message Service), EMS (Enhanced Messaging Service), MMS messaging (Multimedia Messaging Service), CDMA (Code Division Multiple Access), TDMA (Time Division Multiple Access), PDC (Personal Digital Cellular), WCDMA (Wideband Code Division Multiple Access), CDMA2000, or GPRS (General Packet Radio Service), among others. Such communications may occur via the transceiver 1868, for example, using radio frequencies. Additionally, short-range communications may occur, such as using Bluetooth, WiFi, or other such transceivers (not shown). Additionally, a GPS (Global Positioning System) receiving module 1870 may provide additional navigation and location related wireless data to the mobile computing device 1850. It may be suitably used by applications running on the mobile computing device 1850 .
[0184] The mobile computing device 1850 may also communicate audibly using an audio codec 1860. The audio codec 1860 may receive spoken information from a user and convert it into usable digital information. Similarly, the audio codec 1860 may generate sounds audible to the user, such as through a speaker in a handset of the mobile computing device 1850. Such sounds may include sounds from voice calls, recorded sounds (e.g., voice messages, music files, etc.), and may also include sounds generated by applications running on the mobile computing device 1850.
[0185] The mobile computing device 1850 may be implemented in a number of different forms, as shown in the figure, for example, as a mobile phone 1880, or as part of a smartphone 1882, personal digital assistant, or other similar mobile device.
[0186] Various implementations of the systems and techniques described herein may be realized in digital electronic circuitry, integrated circuits, specially designed ASICs (application-specific integrated circuits), computer hardware, firmware, software, and / or combinations thereof. These various implementations may include implementations in one or more computer programs executable and / or interpretable on a programmable system that includes at least one programmable processor, which may be coupled to receive data and instructions from, and transmit data and instructions to, a storage system, at least one input device, and at least one output device, for a special purpose or general purpose.
[0187] These computer programs (also referred to as programs, software, software applications, or code) include machine instructions for a programmable processor and may be implemented in a high level procedural and / or object-oriented programming language and / or in assembly / machine language. As used herein, the terms machine-readable medium and computer-readable medium refer to any computer program product, apparatus, and / or device (e.g., magnetic disks, optical disks, memory, programmable logic devices (PLDs)) used to provide machine instructions and / or data to a programmable processor. This includes machine-readable media that receive machine instructions as a machine-readable signal. The term machine-readable signal refers to any signal used to provide machine instructions and / or data to a programmable processor.
[0188] To provide interaction with a user, the systems and techniques described herein may be implemented on a computer that has a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user, and a keyboard and pointing device (e.g., a mouse or trackball) by which the user can provide input to the computer. Other types of devices may also be used to provide interaction with a user. For example, feedback provided to the user may be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback). Input from the user may be received in any form, including acoustic, speech, or tactile input.
[0189] The systems and techniques described herein may be implemented within a computing system that includes back-end components (e.g., a data server), or includes middleware components (e.g., an application server), or includes front-end components (e.g., a client computer with a graphical user interface or web browser through which a user can interact with an implementation of the systems and techniques described herein), or includes any combination of such back-end, middleware, and / or front-end components. The components of the system may be interconnected by any form or medium of digital data communication (e.g., a communications network). Examples of communications networks include a local area network (LAN), a wide area network (WAN), and the Internet.
[0190] A computing system may include clients and servers. Clients and servers are generally remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other.
[0191] 19A is an exemplary bed system 1900 with a sensor array 1904. The sensor array 1904 may be integrated into the bed system 1900. The sensor array 1904 may be used by a controller 1910 in adjusting one or more thermal microclimates of the bed system 1900 to maximize the sleep quality of an occupant 1908.
[0192] In some implementations, the sensor array 1904 may be attached to the bed by affixing it to the mattress surface 1902. As shown in FIG. 19A, the sensor array 1904 may be positioned around a midpoint or center of the bed system 1900. The sensor array 1904 may be a linear array. The linear array 1904 may have a linear axis. Furthermore, the bed system 1900 may have a sleeper section (e.g., mattress surface 1902) adapted to support a sleeper (e.g., occupant 1908). The sleeper section may have a major axis passing through the center of the longest dimension of the sleeper section. The linear array 1904 may be positioned such that the linear axis of the linear array 1904 is perpendicular to the major axis of the sleeper section. That is, the linear array 1904 may be positioned around the sleeper's waist and perpendicular to the body orientation. In other implementations, the array 1904 may be positioned across different portions of the bed system 1900 (e.g., near the head portion of the bed system 1900, near the foot portion of the bed system 1900, etc.), although curved, mesh, and other non-linear arrangements are possible. For example, a mesh of 20 evenly spaced sensors may be used for one sleeper.
[0193] In some implementations, the bed system 1900 may have a single sensor array 1904 or a combination of multiple sensor arrays 1904. For example, a sensor array may be positioned near the head portion of the bed system 1900 and a second sensor array may be positioned near the foot portion of the bed system 1900. As another example, the array 1904 may be integrated into the top layer of the mattress 1902 or may be placed on the mattress 1902 under the bedding, sheets or mattress cover.
[0194] The sensor array 1904 may include multiple sensors 1906A-N. As shown in FIG. 19A, the array 1904 may include five sensors 1906A-N. In other implementations, fewer or more sensors may be included in the array 1904. In some implementations, one or more of the sensors 1906A-N may be integrated into the mattress surface 1902 or other part(s) of the bed system 1900. One or more of the sensors 1906A-N may be a temperature sensor. One or more of the sensors 1906A-N may also be a pressure sensor. The sensors 1906A-N may be configured to measure temperature changes of the body of the occupant 1908 and / or from the mattress surface 1902 of the bed system 1900. These temperature readings may be sensed in real time while the occupant 1908 is in the bed system 1900 (e.g., while the occupant 1908 is asleep and during various sleep states or stages). One or more of the sensed temperature values may include core body temperature (e.g., CBT, abdominal, thoracic, and cranial cavities, including vital organs), outer body temperature (e.g., temperature of skin, subcutaneous tissue, and muscle), upper body temperature, lower body temperature, or a combination thereof. Additionally, the sensors 1906A-1906N may measure the skin temperature (e.g., distal and / or proximal) of the occupant 1908, the temperature of one or more microclimates of the bed system 1900, and / or the temperature of the mattress surface 1902.
[0195] At least one of the sensors 1906A-1906N can be more responsive to a sleeper's proximal temperature than to the sleeper's distal temperature (e.g., occupant 1908). At least another one of the sensors 1906A-1906N can be more responsive to a sleeper's distal temperature than to the sleeper's proximal temperature. In some implementations, each of the sensors 1906A-1906N can be responsive, at least in part, to the sleeper's proximal temperature and to the sleeper's distal temperature. Such responsiveness to different temperatures can be advantageous in subsequently determining a distal-proximal thermal gradient (DPG) or other thermal gradient of the occupant. For example, multiple sensors can be used to sense a gradient between a user's upper and lower arms, between upper and lower legs, between the torso and feet, or between any other points on the body convenient for sensing.
[0196] This responsiveness may also be advantageous in determining various adjustments to one or more microclimates of the bed system 1900. For example, the microclimate closest to the body location of the occupant 1908 where a proximal temperature reading was captured may be slightly increased, while the microclimate closest to the body location of the occupant 1908 where a distal temperature reading was captured may be slightly decreased. Such independent and / or simultaneous changes may be advantageous in improving the overall sleep quality and comfort of the occupant 1908 and / or in affecting the DPG of the occupant 1908.
[0197] The sensors 1906A-1906N may be in communication (e.g., wired and / or wireless) with the controller 1910. For example, the sensors 1906A-1906N may transmit temperature and / or pressure readings to the controller 1910. The controller 1910 may determine an overall skin temperature or DPG of the occupant 1908 based on a linear combination of the sensor readings from the sensors 1906A-1906N. The controller 1910 may then determine one or more optimal microclimates for the occupant 1908, as described further below. The controller 1910 may be configured to adjust the temperature in the various microclimates of the bed system 1900 to enhance the sleep quality of the occupant 1908. Temperature values may be continuously captured and transmitted to the controller 1910 in real time. This allows the controller 1910 to dynamically adjust the temperature of the various microclimates. As a result, the bed system 1900 can provide seamless and continuous comfort and quality in the occupant's sleep.
[0198] The controller 1910 may also be configured to generate information regarding pressure from the occupant 1908 to determine the posture of the occupant 1908. The posture may be used to determine optimal microclimate and microclimate adjustment. The controller 1910 may be configured to process the generated information (e.g., optimal microclimate) to identify sleep parameters, including temperature parameters, of the occupant 1908 of the bed system 1900. For example, the controller 1910 may determine the quality of sleep of the occupant 1908 based on skin temperature, whether or not sleep onset latency is short (e.g., less than 10 minutes), whether or not sleep fragmentation is low (e.g., less than 20 minutes of awakening after sleep onset), whether or not sleep duration is long (e.g., more than a standard deviation from habitual sleep duration), whether or not sleep is longer and deeper, whether or not REM sleep is longer, and / or whether or not there is subjective feedback from the occupant 1908. The subjective feedback may be a sleep satisfaction report in the form of a questionnaire completed by the occupant 1908. The subjective feedback may be a measure of subjective daytime sleepiness. The controller 1910 may use this information to optimize the microclimate and continually provide the occupant 1908 with improved sleep quality.
[0199] As described throughout this specification, the controller 1910 may be a device (e.g., a mobile device, a smartphone, a tablet, a computer, etc.) that may be configured to adjust one or more features of the bed system 1900. For example, the controller 1910 may change the temperature of the bed system 1900. As an additional example, the controller 1910 may be configured to adjust a function such as the temperature of the bedroom. As described herein, the controller 1910 may indirectly adjust the body temperature of the occupant 1908 by adjusting the temperature of one or more microclimates of the bed system 1900. For example, slight temperature adjustments, not noticeable to the occupant, may be made to the microclimate of the bed system 1900 based on the calculated DPQ, the biometric data of the occupant 1908, sleep stages, position / posture, circadian rhythm, cardiac measurements (e.g., HR, HRV), and / or configurable settings (e.g., time delays, wake-up alarms, sleep routines, etc.). The controller 1910 may also be involved in thermoregulation based on whether the occupant 1908 is out of bed, in bed and awake, and / or in bed and asleep.
[0200] Additionally or alternatively, the controller 1910 may control the bed system 1900 before the occupant 1908 enters. For example, the controller 1910 may increase or decrease the temperature of one or more microclimates of the bed system 1900 to encourage the occupant 1908 to fall asleep more quickly than in other embodiments. The controller 1910 may make such temperature adjustments based on analyzing historical data about the occupant 1908 (e.g., average DPQ, CBT, skin temperature, sweating, posture, etc.). Thermoregulation during wakefulness in the bed may also be performed by the controller 1910 to help the occupant 1908 to fall asleep more quickly. Thermoregulation during fall asleep in the bed may help the occupant 1908 maintain body temperature and prevent overcooling or overheating depending on the sleep stage to maximize deep REM sleep. Thermoregulation while asleep in bed may also be used in combination with a wake-up alarm or wake-up routine to change the temperature within a given wake-up time to facilitate the occupant's 1908 transition to a lighter sleep stage and help the occupant wake up feeling refreshed.
[0201] 19A, the controller 1910 may be configured to determine a distal-proximal temperature gradient (DPG) of the occupant 1908 as described herein. The DPG may then be used by the controller 1910 to adjust one or more microclimates of the bed system 1900 to provide the occupant 1908 with improved sleep quality. As described further below, to determine the DPG, the controller 1910 may communicate with a remote server 1912 and access one or more lookup tables 1914A-1914N. The remote server 1912 may be a computer, a database, a network of computers, cloud storage, or any other type of data storage. The lookup tables 1914A-1914N may associate temperature values with corresponding weighting values. The weighting values may be indexed by sleep position and / or sensor identifier. The controller 1910 may determine the DPG of the occupant 1908 using one or more of the lookup tables 1914A-1914N and may determine adjustments that may be made to the microclimate of the bed system 1900 (e.g., increase or decrease one or more temperatures of the bed system 1900) to improve the sleep quality of the occupant 1908.
[0202] 19B is another example bed system 1950 with a sensor array 1952 of sensors 1906A-1906N. As shown here, the technology may be used in a bed designed for two sleepers (which may be referred to as twin size, queen size, or king size). As will be appreciated, the orientation of the array may be different than that shown in this example and may be oriented based on considerations including the physical structure of the mattress, the design of the sensors, wiring considerations, etc. In some cases, the orientation may be different on two different sides of the bed.
[0203] Figure 20 is a swim lane diagram of an exemplary process 2000 for increasing a sleeper's distal temperature in the bed system of Figures 19A and 19B. For clarity, the process 2000 is described with reference to components of the bed system 1900, although another system(s) may be used to perform the same or similar process.
[0204] One use, though not the only use, of process 2000 is to reduce cardiac risk to a sleeper by increasing the sleeper's distal temperature more than the sleeper's proximal temperature. As previously discussed, it is believed that increasing the sleeper's distal temperature to facilitate sleep onset may reduce the incidence of cardiac events, such as heart attacks and strokes, or improve chronic markers of cardiac health, such as HRV and blood pressure. In another example, both distal and proximal temperatures are increased, for example, by 0.5° C. Other uses include providing greater comfort to a sleeper, facilitating the onset of sleep more quickly than without the use of process 2000, and targeted therapy for certain medical conditions. In some cases, it is believed that increasing skin temperature promotes vasodilation and reduces heart rate, and therefore, skin temperature may be increased.
[0205] A temperature sensor 1906 senses the temperature of the sleeper (2002). For example, a linear array configuration of multiple sensors 1906 may allow sensing various more or less proximal (and therefore less or more distal) points on the sleeper. The multiple sensors 1906 transmit temperature readings to a controller (2004). For example, the various sensors 1906 may report to a sensor controller, which aggregates and / or generates sensor readings from signals from the sensors 1906 (e.g., as an analog-to-digital converter with analog sensors).
[0206] A controller 1910 receives 2006 temperature readings from each of a plurality of sensors. For example, the controller 2006 may receive an independent data transmission from each sensor 1906, the controller 2006 may receive a data transmission from a sensor controller that aggregated or generated the temperature readings, etc.
[0207] The controller 1910 determines (2008) that a sleeper is in bed. For example, the controller may use pressure fluctuations and / or temperature readings from a mattress pressure sensor to identify the presence of a sleeper in bed, the sleeper's sleep state (including sleep stages), the sleeper's movements, and / or the sleeper's biometric signals (e.g., cardiac movements / metrics, respiratory movements / metrics, gross limb movements / metrics, body temperature, and sleep quality, to name a few).
[0208] The controller 1910 sends (2010) a command to initiate the warming process to the heating subsystem 1914. For example, the controller 1910 may send the command directly over one or more wired or wireless networks, including a control area network (CAN) or other local wired network of the fully integrated heating subsystem 1914. This may include sending a message to a remote server (e.g., server 1912), which then sends the data to the heating subsystem 1914.
[0209] The controller may send these instructions based on a determination that the sleeper is in bed and on the received temperature measurements. For example, the controller may compare the collected information to one or more rule sets and may or may not send such instructions based on the results of the rule sets (e.g., if the values match prerequisites specified in the rule sets, including their history).
[0210] The commands may be commands that, when activated, increase the temperature distal to the sleeper more than the temperature proximal to the sleeper. For example, the heating subsystem may include hardware to heat different portions of the bed differently and / or cool different portions of the bed differently. These commands may include a command to increase the temperature of the distal portions.
[0211] The heating subsystem 1914 is activated. For example, the heating subsystem 1914 may include at least one heating element that, when activated, can raise the temperature distal to the sleeper more than the temperature proximal to the sleeper. Other configurations are possible, including configurations without a heating element. Upon receiving the command or a subsequent command, the heating subsystem 1914 may operate according to the command to, for example, raise or lower the temperature of the sleeper's environment, or the temperature of a subset of all of the microclimates of the sleeper's environment.
[0212] The controller 1910 determines (2012) heart rate variability metrics for the sleeper. For example, the controller 1910 may use received data regarding temperature, pressure, etc. to generate cardiac measurements (e.g., beats per minute, timestamps of heart rates, HRV values). These cardiac measurements may be compared to baseline cardiac measurements. Such baselines may be generated for a particular user, a group of users, or all users in a population, and current cardiac measurements may be compared to one or more baselines to calculate the user's HRV metric. Other methods of calculating HRV values may also be used.
[0213] The controller 1910 sends (2014) modified commands to the heating subsystem 1914 based on the determined heart rate variability. For example, the controller may generate such modified commands if the controller determines that the warming process is not sufficiently beneficially affecting the sleeper's HRV. In this case, the modified command is to increase the warming process based on the determined heart rate variability not increasing to a threshold. In some implementations, the modified command may be generated based on other metrics, such as HR decreasing to a threshold.
[0214] The controller 1910 determines (2016) one or more sleep parameters of the sleeper. For example, the controller 1910 may use sensor readings (pressure, temperature, illuminance values, air quality) and one or more calculations from the sensor readings (sleeper presence, gross movement, cardiac movement, respiration) to generate the sleep parameters. The sleep parameters may include some, all, or none of the following options: skin temperature, presence state, wake / sleep state, rapid eye movement (REM) / non-rapid eye movement (NREM) state, REM / NREM light sleep / NREM deep sleep, sleep quality, sleep time, sleep fragmentation, overall body movement, and time to awakening.
[0215] The controller 1910 adjusts (2019) the warming process based on the determined sleep parameters 2019. For example, the controller may adjust instructions to increase or decrease the temperature in one or more microclimates, adjust the firmness of the bed, adjust the ambient lighting, etc., to elicit a physiological response from the sleeper that adjusts the sleep parameters to the target sleep parameters (2018).
[0216] Although the specification contains many specific implementation details, these should not be construed as limitations on the scope of the disclosed technology or as it may be claimed. Rather, these should be construed as descriptions of features that may be specific to certain embodiments of the disclosed technology. Certain features described herein in the context of separate embodiments may also be implemented in combination, either partially or in whole, in a single embodiment. Conversely, various features described in the context of a single embodiment may also be implemented in multiple embodiments individually or in any suitable subcombination. Furthermore, although features may be described herein as acting in a particular combination and / or may initially be claimed as such, in some cases one or more features from a claimed combination may be deleted from the combination, or the claimed combination may be directed to a subcombination or subcombination variation. Similarly, although operations may be described in a particular order, this should not be construed as requiring that such operations be performed in a particular order or sequential order to achieve desired results, or that all operations be performed. Specific embodiments of the subject matter have been described. Other embodiments are within the scope of the following claims.
Claims
1. 1. A system having features for modifying the skin temperature of a sleeper in a bed, comprising: a bed having a mattress; one or more temperature sensors; a controller having a processor and a memory; Equipped with Each temperature sensor is Sense the temperature of the sleeper; Sending temperature readings to the controller It is structured as follows: The controller receiving a temperature reading from each of said temperature sensors; Based on the received temperature reading, sending a command to a heating subsystem to initiate a heating process to raise the sleeper's distal temperature above the sleeper's proximal temperature. It is structured as follows: the heating subsystem includes a heating element; The heating element, when activated, is capable of raising the distal temperature of the sleeper above the proximal temperature of the sleeper. A system characterized by:
2. The controller further comprises: determining a metric that is at least one of the group consisting of heart rate variability of the sleeper and a heart rate of the sleeper; and transmitting modified commands to the heating subsystem based on the determined metrics. It is configured as follows:
2. The system of claim 1.
3. The modified command is to increase the warming process based on the determined metric not increasing to a threshold value.
3. The system of claim 2.
4. The modified command is to decrease the warming process based on the determined metric increasing to a threshold value.
3. The system of claim 2.
5. The system reduces cardiac risk for the sleeper by increasing the sleeper's distal temperature above the sleeper's proximal temperature.
2. The system of claim 1.
6. The controller further comprises: determining one or more sleep parameters of the sleeper; Adjusting the warming process based on determined sleep parameters It is configured as follows:
2. The system of claim 1.
7. The sleep parameters are each of the group consisting of skin temperature, presence state, wake / sleep state, rapid eye movement (REM) / non-rapid eye movement (NREM) state, REM / NREM light sleep / NREM deep sleep, sleep quality, sleep duration, sleep fragmentation, overall body movement, and time to awakening. The system of claim 6 .
8. 1. A system having features for increasing distal temperature of a sleeper in a bed, comprising: one or more processors; a computer-readable medium storing instructions; Equipped with The instructions, when executed by the processor, cause the processor to: receiving a temperature reading of the sleeper from each of one or more temperature sensors; determining that the sleeper is in the bed; sending a command to a heating subsystem based on the received temperature reading to initiate a heating process to raise the sleeper's distal temperature above the sleeper's proximal temperature; Execute multiple actions including the heating subsystem includes a heating element; The heating element, when activated, is capable of raising the distal temperature of the sleeper above the proximal temperature of the sleeper. A system characterized by:
9. The plurality of operations further comprises: determining a metric, the metric being at least one of the group consisting of: heart rate variability of the sleeper and a heart rate of the sleeper; sending modified commands to the heating subsystem based on the determined heart rate variability; 9. The system of claim 8, comprising:
10. The modified command is to increase the warming process based on the determined metric not increasing to a threshold value.
10. The system of claim 9.
11. The modified command is to decrease the heating process based on the determined heart rate variability increasing to a threshold value.
10. The system of claim 9.
12. The system reduces cardiac risk for the sleeper by increasing the sleeper's distal temperature above the sleeper's proximal temperature.
9. The system of claim 8.
13. The plurality of operations further comprises: determining one or more sleep parameters of the sleeper; adjusting the warming process based on determined sleep parameters; 9. The system of claim 8, comprising:
14. The sleep parameters are each of the group consisting of skin temperature, presence state, wake / sleep state, rapid eye movement (REM) / non-rapid eye movement (NREM) state, REM / NREM light sleep / NREM deep sleep, sleep quality, sleep duration, sleep fragmentation, overall body movement, and time to awakening.
14. The system of claim 13.
15. 1. A method for modifying the skin temperature of a sleeper in a bed, comprising: receiving a temperature reading of the sleeper from each of one or more temperature sensors; determining that the sleeper is in the bed; sending a command to a heating subsystem to initiate a heating process to raise the sleeper's distal temperature above the sleeper's proximal temperature based on determining that the sleeper is in the bed and the received temperature reading; Equipped with the heating subsystem includes a heating element; The heating element, when activated, is capable of raising the distal temperature of the sleeper above the proximal temperature of the sleeper. A method characterized by:
16. determining a metric, the metric being at least one of the group consisting of heart rate variability of the sleeper and a heart rate of the sleeper; sending modified commands to the heating subsystem based on the determined metrics; 16. The method of claim 15 further comprising:
17. The modified command is to increase the warming process based on the determined metric not increasing to a threshold value.
17. The method of claim 16.
18. The modified command is to decrease the warming process based on the determined metric increasing to a threshold value.
17. The method of claim 16.
19. The heating subsystem reduces cardiac risk to the sleeper by increasing the sleeper's distal temperature above the sleeper's proximal temperature.
16. The method of claim 15.
20. The plurality of operations further comprises: determining one or more sleep parameters of the sleeper; adjusting the warming process based on determined sleep parameters; 16. The method of claim 15, comprising:
21. The sleep parameters are each of the group consisting of skin temperature, presence state, wake / sleep state, rapid eye movement (REM) / non-rapid eye movement (NREM) state, REM / NREM light sleep / NREM deep sleep, sleep quality, sleep duration, sleep fragmentation, overall body movement, and time to awakening.
21. The method of claim 20.
22. 1. A system having features for modifying the skin temperature of a sleeper in a bed, comprising: a bed having a mattress; one or more temperature sensors; a controller having a processor and a memory; Equipped with Each temperature sensor is Sense the temperature of the sleeper; Sending temperature readings to the controller It is structured as follows: The controller receiving a temperature reading from each of said temperature sensors; Based on the received temperature reading, sending a command to a heating subsystem to initiate a heating process to adjust the temperature gradient of the sleeper. It is structured as follows: the heating subsystem includes a heating element; The heating element, when activated, can adjust the temperature gradient across the sleeper. A system characterized by:
23. The temperature gradient of the sleeper is the difference between a first temperature of the sleeper's body at a first position and a second temperature of the sleeper at a second position of the sleeper's body.
23. The system of claim 22.