A headset capable of sensing a sleeper's pressure and generating estimates of brain activity for use during illness
Patent Information
- Application Number
- JP2024504976
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2021-07-29
- Filing Date
- 2022-07-07
- Publication Date
- 2025-07-15
AI Technical Summary
Existing beds lack the capability to monitor and analyze sleep-related parameters such as cardiac and neurological measurements to accurately determine sleep-related disorders like insomnia and REM behavior disorder, limiting their ability to provide personalized and health-focused functionalities.
A bed system equipped with sensors and a controller that processes pressure data to identify movement and cardiac parameters, utilizing a classifier to determine neurological measurements and disease states, including insomnia and REM behavior disorder, through a linear model incorporating cardiac and neurological metrics.
The system effectively identifies sleep-related disorders by analyzing cardiac and neurological data, enabling personalized health monitoring and intervention, thereby improving sleep quality and detection of conditions like insomnia and REM behavior disorder.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
[Technical field]
[0001] [CROSS REFERENCE TO RELATED APPLICATIONS] This application claims the benefit of U.S. Provisional Patent Application No. 63 / 227,110, filed July 29, 2021, the disclosure of which is hereby incorporated by reference.
[0002] [Technical classification] This specification relates to the automation of consumer devices such as beds equipped with sensors and computer controllers that operate on data from the sensors.
[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] 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, in 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 bed having a mattress. The system also includes a sensor configured to sense a pressure of a sleeper on the mattress and transmit pressure data generated from the sensing of the sleeper's pressure on the mattress to a controller. The system also includes a controller, which may include a processor and a memory, configured to receive the pressure data, identify one or more motion parameters from the pressure data, determine one or more cardiac measures of the sleeper from the motion parameters, determine one or more neurological measures of the sleeper from the cardiac measures, and determine a disease state of the sleeper. Other embodiments of this aspect include corresponding computer systems, apparatus, and computer programs stored on one or more computer storage devices, each configured to perform the operations (steps) of the method.
[0005] Some implementations may include one or more of the following features: To determine the neurological measure to determine the disease state, the controller is configured to provide the cardiac measure of the sleeper to a classifier and receive a classification of the sleeper into an insomnia state or a non-insomnia state from the classifier. The classifier is configured to generate the neurological measure using a linear model, the linear model having terms related to at least one of the group consisting of i) the cardiac measure, and ii) the neurological measure. The terms include i) HR in non-rapid eye movement (NREM) sleep, ii) SDNN in NREM sleep, iii) inter-beat interval signal of a high frequency band of cardiac activity fluctuations in NREM sleep (HF), iv) inter-beat interval signal of a low frequency band of cardiac activity fluctuations in NREM sleep (LF), and v) a ratio of LF in NREM sleep to HF in NREM sleep. Each term is normalized with a normalization function and multiplied by a corresponding coefficient value. The classifier is configured to select a disease state from a plurality of possible disease states using a logarithmic measure of a neurological measure. The controller is further configured to determine the disease state of the sleeper using cardiac measures of a single sleep session while the sleeper is asleep during the single sleep session. The controller is further configured to cause the determination of the disease state to be displayed to the sleeper upon completion of the single sleep session. The disease state is REM behavior disorder (RBD). The disease state is periodic limb movement (PLM) disorder. The cardiac measures include at least one of the group consisting of heart rate (HR), heart rate variability (HRV), standard deviation of normal to normal intervals (SDNN), PNN50 index, and RR interval index. The sensor is a load cell.
[0006] 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, in 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 (instructions) that, when executed by a data processing device, cause the device to perform an operation or behavior. One general aspect includes a system with one or more processors and computer readable instructions, when executed by the one or more processors, that cause the processor to perform the following operations, including determining cardiac parameters of a user, identifying one or more neurological measures of the user from the cardiac parameters of the user, and identifying a disease state of the user from the neurological measures of the user and the cardiac parameters of the user.
[0007] Some implementations may include one or more of the following features: The system further comprises a bed having one or more sensors for sensing the user for the determination of the cardiac parameter of the user. The one or more sensors include a load cell. The one or more sensors include a pressure sensor. The system further comprises a wearable device for sensing the user for the determination of the cardiac parameter of the user.
[0008] A method (according to the present invention) of operating a bed system comprises the steps of sensing cardiac parameters of a user via one or more sensors of the bed system, identifying one or more neurological measurements of the user from the cardiac parameters of the user, identifying insomnia of the user from the neurological measurements of the user and the cardiac parameters of the user, and outputting a signal in response to identifying insomnia from the neurological measurements of the user and the cardiac parameters of the user.
[0009] Some implementations may include one or more of the following features: Identifying the neurological measure to identify insomnia of the user includes providing the cardiac parameters of the sleeper to a classifier and receiving a classification of the sleeper into an insomnia state or a non-insomnia state from the classifier. The classifier is configured to generate the neurological measure using a linear model, the linear model having terms for at least one of the group consisting of: i) the cardiac measure, and ii) the neurological measure.
[0010] The method (according to the present invention) comprises the steps of receiving pressure data from a sensor of a bed system, identifying one or more movement parameters from the pressure data, determining one or more cardiac measurements of a sleeper in the bed system from the movement parameters, determining one or more neurological measurements of the sleeper from the cardiac measurements, and determining a disease state of the sleeper.
[0011] Some implementations may include one or more of the following features: The cardiac measurements include at least one of the group consisting of heart rate (HR), heart rate variability (HRV), standard deviation of normal to normal intervals (SDNN), PNN50 index, and RR interval index. Determining the neurological measurements to determine the disease state includes providing the cardiac measurements of the sleeper to a classifier and receiving a classification of the sleeper into an insomnia state or a non-insomnia state from the classifier. The classifier is configured to generate the neurological measurements using a linear model, the linear model having terms related to at least one of the group consisting of i) cardiac measurements, and ii) neurological measurements. The terms include: i) HR in non-rapid eye movement (NREM) sleep, ii) SDNN in NREM sleep, iii) high frequency band inter-beat interval signal (HF) of cardiac activity in NREM sleep, iv) low frequency band inter-beat interval signal (LF) of cardiac activity in NREM sleep, and v) ratio of LF in NREM sleep to HF in NREM sleep. Each term is normalized with a normalization function and multiplied by a corresponding coefficient value. The classifier is configured to select a disease state from a plurality of possible disease states using a logarithmic measure of a neurological measure. The method further comprises determining the disease state of the sleeper using cardiac measures of a single sleep session while the sleeper sleeps during the single sleep session. The method further comprises displaying the determination of the disease state to the sleeper at the end of the single sleep session. The disease state is REM behavior disorder (RBD). The disease state is periodic limb movement (PLM) disorder. The sensor is a load cell.
[0012] In some embodiments, a non-transitory computer readable medium storing instructions that, when executed by one or more processors, cause the processors to perform the following operations: sensing a cardiac parameter of a user; identifying one or more neurological measurements of the user from the cardiac parameter of the user; and identifying a disease state of the user from the neurological measurements of the user and the cardiac parameter of the user.
[0013] Some implementations may include one or more of the above features.
[0014] In some embodiments, a non-transitory computer readable medium storing instructions that, when executed by one or more processors, cause the processors to perform the following operations: sensing cardiac parameters of a user via one or more sensors of a bed system; identifying one or more neurological measurements of the user from the cardiac parameters of the user; identifying insomnia of the user from the neurological measurements of the user and the cardiac parameters of the user; and outputting a signal in response to identifying insomnia from the neurological measurements of the user and the cardiac parameters of the user.
[0015] Some implementations may include one or more of the following features: Identifying the neurological measures to identify insomnia of the user includes providing the cardiac parameters of the sleeper to a classifier and receiving a classification of the sleeper into an insomnia state or a non-insomnia state from the classifier.
[0016] In some embodiments, a non-transitory computer readable medium storing instructions that, when executed by one or more processors, cause the processors to perform the following operations: receiving pressure data from a sensor of a bed system; identifying one or more motion parameters from the pressure data; determining one or more cardiac measurements of a sleeper in the bed system from the motion parameters; determining one or more neurological measurements of the sleeper from the cardiac measurements; and determining a disease state of the sleeper.
[0017] Some implementations may include one or more of the following features: The cardiac measurements include at least one of the group consisting of heart rate (HR), heart rate variability (HRV), standard deviation of normal to normal intervals (SDNN), PNN50 index, and RR interval index. Determining the neurological measurements to determine the disease state includes providing the cardiac measurements of the sleeper to a classifier and receiving a classification of the sleeper into an insomnia state or a non-insomnia state from the classifier. The classifier is configured to generate the neurological measurements using a linear model, the linear model having terms related to at least one of the group consisting of i) cardiac measurements, and ii) neurological measurements.
[0018] Other features, aspects and potential advantages will become apparent from the accompanying description and drawings. [Brief description of the drawings]
[0019] [Figure 1] FIG. 1 illustrates an exemplary airbed system.
[0020] [Diagram 2] FIG. 2 is a block diagram of an example of various components of an airbed system.
[0021] [Diagram 3]FIG. 3 illustrates an exemplary environment including a bed in communication with multiple devices in and around the home.
[0022] [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.
[0023] [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.
[0024] [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 the bed.
[0025] [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.
[0026] [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.
[0027] [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.
[0028] [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.
[0029] [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.
[0030] [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.
[0031] [Figure 18] FIG. 18 is a schematic diagram illustrating an example of a computing device and a mobile computing device.
[0032] [Figure 19A] FIG. 19A is a swim lane diagram of an exemplary process for determining neurological measurements of a sleeper.
[0033] [Figure 19B] FIG. 19B is a swim lane diagram of an exemplary process for determining neurological measurements of a sleeper.
[0034] [Figure 20] FIG. 20 is a flow chart of an exemplary process for determining neurological measures of a sleeper from movement parameters.
[0035] [Figure 21] FIG. 21 shows a flowchart of an exemplary process for generating and using a classifier.
[0036] [Figure 22] 22 and 23 show the operations used to generate a classifier. [Figure 23] 22 and 23 show the operations used to generate a classifier. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0037] Like reference symbols indicate like elements in the various drawings.
[0038] Neurological activity may be estimated from non-neurological measurements of humans or other organisms. For example, cardiac activity may be characterized into parameters, which may be converted into neurological parameters. In some cases, cardiac activity may be sensed in a bed equipped with motion sensors, although other forms of sensing may be used.
[0039] [Example Air Bed Hardware]
[0040] 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.
[0041] 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.
[0042] 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.
[0043] 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.
[0044] 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.
[0045] 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).
[0046] 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.
[0047] 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.
[0048] 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.
[0049] 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).
[0050] 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.
[0051] 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.
[0052] 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.
[0053] 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.
[0054] 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.
[0055] 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.
[0056] 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.
[0057] 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.
[0058] 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.
[0059] 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.
[0060] 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).
[0061] 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.
[0062] [Example of a bed in a bedroom environment]
[0063] 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.
[0064] 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.
[0065] 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.
[0066] 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.
[0067] 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.
[0068] 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).
[0069] 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.
[0070] 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.
[0071] 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.
[0072] 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.
[0073] 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.
[0074] 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.
[0075] 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.
[0076] 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.
[0077] 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.
[0078] In some implementations, the control circuitry 334 may similarly interact with other media devices such as a computer, a tablet, a smartphone, a stereo system, etc. For example, when detecting 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 reduce the volume of a video or audio file being played on the user device 310.
[0079] 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.
[0080] 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.
[0081] 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.
[0082] 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).
[0083] 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.
[0084] 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).
[0085] 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.
[0086] 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.
[0087] 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.
[0088] 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.
[0089] 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.
[0090] 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.
[0091] 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.
[0092] 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.
[0093] 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.
[0094] 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.
[0095] 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.
[0096] 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.
[0097] 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.
[0098] 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.
[0099] 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.
[0100] 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).
[0101] 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.
[0102] 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.
[0103] 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).
[0104] 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.
[0105] 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 various room lights, until it detects that both the user 308 and a second user are 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.
[0106] [Example of a data processing system associated with a bed]
[0107] 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.
[0108] 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.
[0109] 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.
[0110] 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.
[0111] 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.
[0112] 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.
[0113] 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.
[0114] 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).
[0115] 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.
[0116] 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.
[0117] 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.
[0118] 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.
[0119] 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.
[0120] 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.
[0121] 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.
[0122] 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.
[0123] 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.
[0124] 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.
[0125] 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.
[0126] 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.
[0127] 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.
[0128] 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.
[0129] 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.
[0130] 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.
[0131] 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.
[0132] 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.
[0133] 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.
[0134] 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.
[0135] 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.
[0136] The peripheral controllers of the controller array 408 may communicate with the motherboard 402 via one or more network interfaces on 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.
[0137] 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 bed mounted controllers 1000 and / or peripheral controllers 1002, 1004 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.
[0138] 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.
[0139] 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.
[0140] 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.
[0141] 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.
[0142] 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.
[0143] 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.
[0144] 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.
[0145] 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.
[0146] 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.
[0147] 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.
[0148] 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.
[0149] 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.
[0150] 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.
[0151] 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.
[0152] 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.
[0153] 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.
[0154] 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.
[0155] 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.
[0156] 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.
[0157] 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.
[0158] 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.
[0159] 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.
[0160] 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.
[0161] 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.
[0162] 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.
[0163] 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.
[0164] 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.
[0165] 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.
[0166] 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.
[0167] 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.
[0168] 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.
[0169] 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.
[0170] 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.
[0171] 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.
[0172] 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.
[0173] 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).
[0174] 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.
[0175] 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.
[0176] 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 exemplary only and are not intended to limit the implementation of the invention described and / or claimed herein.
[0177] 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.
[0178] 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.
[0179] 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.
[0180] 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.
[0181] 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.
[0182] 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.
[0183] 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.
[0184] 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.
[0185] 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.
[0186] 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.
[0187] 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 .
[0188] 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.
[0189] 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.
[0190] 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.
[0191] 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.
[0192] 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.
[0193] 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.
[0194] 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.
[0195] 19A is a swim lane diagram of an exemplary process 1900 for determining a sleeper's neurological measurements. In the process 1900, a bed sensor 1902 collects pressure data from a sleeper on the bed. Even if the controller does not have access to a sensor that directly measures the sleeper's neurological phenomena, it can receive the data and estimate the neurological measurements. Physical elements of the system can then be altered based on the determined neurological measurements.
[0196] This process 1900 may allow home automation, data generation, and communication to occur based on the sleeper's neurological state without requiring specific activation or interaction by the user. The sensors may be configured to "just work" while the user is asleep in bed as normal. The process 1900 may be provided without the need to strap sensors to the sleeper's body, without the need to wear a wearable tracker, and without the need to perform operations such as pressing buttons. This may provide more robust and higher time coverage sensing than other systems that require explicit initiation, since no user memory is required for the process to operate. Similarly, readings may be more accurate than systems that require these elements (e.g., anxiety about recall, uncomfortable sensors, sleep disturbance due to unfamiliar wearables or sensors) since the use of these elements may themselves change the sleep behavior and / or neurological state of the sleeper. Furthermore, this technology may be used every night in the home or in a low-intervention clinical setting, allowing information collection over time when no health issues are anticipated. In contrast, for example in a sleep lab or intensive care unit, information may be collected for one night or only a few nights before the sleeper goes home. In some cases, a bed with an integrated bladder and air pump may offer the added advantage that more robust sensing may be achieved and may allow for more accurate sensing compared to other bed configurations.
[0197] The sensor 1902 senses (1912) the pressure of a sleeper on the mattress. For example, the bed may include an air bladder with a pressure transducer attached that records pressure changes in the air bladder as the sleeper on the bed moves. In another example, a removable pad with one or more pressure sensors senses pressure changes of a sleeper on the bed. In yet another example, the mattress may include an integrated sensor that senses pressure changes. As will be appreciated, a sleeper on the bed does not have to be asleep to be sensed. Those movements, including both gross body movements and subtle movements due to cardiac and respiratory actions, may exert pressure on the sensor 1902.
[0198] The sensor 1902 transmits (1914) and the controller 1904 receives (1916) pressure data generated from sensing the sleeper's pressure on the mattress to the controller 1904. For example, the sensor 1902 may be connected to the controller 1904 via a wired and / or wireless data network link. The sensor 1902 may transmit (pass) a stream of data or periodic packets of pressure data that may be received by the controller 1904.
[0199] The controller 1904 identifies (1918) one or more motion parameters from the pressure data. For example, as described above, the controller may analyze the pressure data to determine one or more types of motion parameters, including, but not limited to, whole body motion (e.g., leg movement, sitting up), cardiac motion (e.g., recorded as an integer number of heart rates or as more complex data such as a graph of the contraction process), and respiratory motion (e.g., recorded as an integer number of respiratory rates or as more complex data such as a graph of the inhalation / exhalation process). In some cases, the controller 1904 may not include routines that allow direct estimation of the neurological measure from the pressure data. Thus, the controller 1904 may use these types of motion parameters as intermediate parameters (e.g., cardiac indices such as heart rate and heart rate variability) from which the neurological measure may be determined.
[0200] The controller 1904 determines (1920) one or more neurological measures of the sleeper from the movement parameters. For example, the controller 1904 may generate one or more intermediate parameters (e.g., EEG, SWA) and use the intermediate parameters to determine the neurological measures of the sleeper. An example of this process is described later in this specification.
[0201] The computer 1906 uses the neurological measurements for various processes (1922). For example, the computer 1906 may communicate with the controller 1904 via wired and / or wireless data network links. These communications may include direct communication of the neurological measurements and / or may include instructions generated by the controller 1904 (or another device) based on the determined neurological measurements. As will be apparent, the computer 1906 may take many forms, including, but not limited to, a mobile phone, a desktop computer, a tablet, a home automation hub, a server, or a distributed system.
[0202] The computer 1906 may store one of the neurological measurements in computer memory. For example, the computer 1906 may store a profile of data about a sleeper and may preserve the sleeper's biometric measurements over time. The neurological measurements of a night's sleep (e.g., along with movement parameters and other measurements) may be recorded by the computer in a sleep parameter log. These sleep parameters may be used to generate an index of sleep quality, may be analyzed for health and wellness purposes, etc.
[0203] The computer 1906 may display one of the neurological measurements on a display. For example, the computer 1906 may display the neurological measurements on a screen, may generate and print a document that includes the neurological measurements, etc.
[0204] The alarm clock 1908 sounds an alarm in the sleeper's first environment in response to a determination of one of the neurological measurements (1924). For example, the sleeper may set a "smart alarm" designed to wake the user within a certain time frame when their neurological parameters are within certain thresholds. In such an embodiment, the alarm clock can wake the user at a time when they are neurologically speaking comfortably ready to be awakened. As will be appreciated, other parameters such as sleep state (e.g., awake / asleep, rapid eye movement (REM) / non-rapid eye movement (nREM)) may be used.
[0205] In other examples, devices other than the alarm clock 1908 may be configured to generate an alert. For example, for patients with certain health concerns, neurological measurements outside a clinician-defined "safety zone" may trigger an alarm that wakes the user. In some cases, this alert may include additional automation instructions (e.g., to call for medical help) or advice to the sleeper (e.g., to take prescribed medication).
[0206] The nurse console 1910 generates an alarm 1926 in a second environment of the caregiver separate from the first environment in response to a determination of one of the neurological measurements. For example, a hospital or other medical facility may employ the sensor 1902 in a bed occupied by a patient with a health problem related to neurological function. When a patient exhibits a neurological measurement that matches a template associated with a particular problem or that is outside of a known safe range, an alarm may be generated in the nurse console or other device (e.g., a pager) to alert a caregiver that the patient may need attention. In another example, an elderly care facility may receive notifications of abnormal changes in slow wave activity, which is a useful marker of aging. These notifications may be used by caregivers for clinical and / or wellness purposes.
[0207] 19B is a swim lane diagram of an example process 1950 for determining a sleeper's neurological measurements. In the process 1950, a wearable device 1902 collects cardiac measurements of the wearer. Even if the controller does not have access to sensors that directly measure the sleeper's neurological phenomena, it may receive these cardiac measurements and estimate the neurological measurements. Physical elements of the system may then be altered based on the determined neurological measurements.
[0208] This process 1950 may allow home automation, data generation, and communication to occur based on the wearer's neurological state without requiring specific activation by the wearer. The wearable device may be configured to passively collect data from the user. Thus, the user may take advantage of this process by simply wearing a watch, for example. The process 1950 may be provided without the need to perform an action such as pressing a button. This may provide more robust sensing than other systems that require explicit initiation, since no user memory is required for the process to operate. Similarly, readings may be more accurate than systems that require these elements, since the use of these elements (e.g., anxiety about recall, uncomfortable sensors, daily interruptions from unfamiliar wearables and sensors) may themselves alter the user's cardiac activity and / or neurological state.
[0209] The wearable device 1952 senses cardiac parameters (1962). For example, as a user wears the device 1952 (e.g., a wrist-worn device such as a watch, a patch on the skin, a pendant, etc.) throughout the day, the device may collect biometric information such as an actigraph to record body movements, respiratory parameters such as breaths per minute, and cardiac parameters such as heart rate and HRV.
[0210] The wearable device 1952 transmits (1964) the cardiac parameters to a controller 1954, and the controller 1954 receives (1966) the cardiac parameters from the wearable device 1952. For example, the wearable device may transmit the cardiac parameters to a user's (mobile) phone, which may periodically report the cardiac parameters to a remote service or another controller 1954.
[0211] The controller 1954 determines (1960) one or more neurological measures of the user from the cardiac parameters. For example, the controller 1954 may generate one or more intermediate parameters (e.g., EEG, SWA) and use the intermediate parameters to determine the neurological measures of the user. An example of this process is described later in this specification.
[0212] A computer 1956 uses the neurological measurements for various processes (1970). An alarm clock 1958 generates an alarm in a first environment of the user in response to a determination of one of the neurological measurements (1972). A nurse console 1960 generates an alarm in a second environment of the caregiver, separate from the first environment, in response to a determination of one of the neurological measurements (1974).
[0213] 20 is a flow chart of an example process 2000 for determining a sleeper's neurological measures from motion parameters, which may be used, for example, in process 1900 or in other processes that use pressure data to determine neurological parameters.
[0214] One or more cardiac parameters are determined for a sleeper for a time window (2002). For example, a controller may identify the time window by specifying a start time and an end time. In some cases, the time window is a single sleep session or a night's sleep. In some cases, the time window is shorter than a single sleep session, where a single sleep session has many associated time windows. Pressure data from the time window, and potentially pressure data from other times if such data may be indicative of cardiac activity, may be analyzed to generate cardiac parameters within the time window. In some cases, the cardiac parameters may include, but are not limited to, heart rate (HR), which reflects the number of heart beats per hour, heart rate variability (HRV), which reflects the change in HR within a period of time, standard deviation of normal-to-normal interval (SDNN), which reflects the change in HR within a period of time, and PNN50 index, which reflects the change in HR within a period of time. PNN50 may be determined, for example, as the percentage of consecutive intervals that differ by more than 50 ms, and the RR interval index reflects the beat-to-beat difference by interpolating the RR sequence to 2 Hz, from which the power spectrum is calculated. However, other (e.g., frequency domain HRV index) or additional indices may be used.
[0215] A value generator is accessed (2004) by selecting from a number of possible value generators based on an initial value generator associated with a subpopulation to which the user belongs. For example, the sleeper's profile data may be accessed by the controller and used to identify an appropriate value generator for the sleeper. This may be performed each time process 2000 is executed, only once during a setup phase, intermittently, etc. The subpopulation may be based on sleeper characteristics known or expected to affect the relationship between cardiac and neurological parameters, and may additionally or alternatively be other factors such as risk tolerance.
[0216] The subpopulations may be determined based on a variety of factors. Some exemplary factors include age (e.g., years or classification such as child or adult), sex, health condition (e.g., whether or not one has a particular illness), exercise condition (e.g., occupational or recreational exercise causing increased systematic stress and fatigue), critical condition (e.g., home use vs. use in a critical care setting), and sleep environment (e.g., home environment, traveling, sleep lab, in a hospital). As will be appreciated, these factors may define two or more subpopulations, and a value generator may be available for each subpopulation. Because these factors are known or expected to affect the relationship between cardiac parameters and neurological parameters, each value generator may be configured to provide a different neurological measurement.
[0217] The motion parameters and / or cardiac parameters are applied to a value generator for a time period 2006, and neurological measurements for the sleeper are received from the value generator for the time period 2008. For example, the value generator may be configured to receive the motion parameters for a time period, apply the motion parameters for the time period to a model that describes a relationship between heart rate and the neurological measurements, and return the neurological measurements for the time period.
[0218] A model of the value generator may define such a relationship in polar coordinates for log(HR) and log(SWA) to generate a neurological parameter of slow wave activity (SWA). One such possible definition of this model may be written as follows: JPEG2024530440000002.jpg4166Here, C represents one of a group including HR, SDNN, and PNN50.
[0219] However, other models are possible.
[0220] 21 is a swim lane diagram of an example process 2100 for identifying disease states, including sleep-related disease states. In the process 2100, a particular set of computing components is used to generate a sleep disease classifier, which is then used to identify a user's disease state, although other components may be used in other examples.
[0221] A data source 2102 provides 2112 data, and a classifier factory 2104 receives 2114 the data. The provided and received data may include various types of data useful for creating a sleep disorder classifier. For example, the data may include EEG and electrocardiogram (ECG) data, which record information about respiratory motion (e.g., cardiopulmonary function and movement) and cardiac activity, as well as other types of data, such as gross movement (e.g., moving limbs) and acoustic movements (e.g., speech, snoring).
[0222] The data received by the classifier factory may also include tagging data that defines disease state tags for the training data. For example, a range of timestamps during training may be identified as indicative of a normal state or as indicative of one or more disease states (insomnia, REM behavior disorder (RBD), periodic limb movement (PLM) disorder). The particular data format of the training data may vary depending on the capabilities of the data source 2102 and the classifier factory 2104. For example, the data may take the form of an array indexed by time (e.g., 40 Hz) with each cell holding one or more EEG / ECG values for that period, and another array holding tags with the same indexing scheme, although other formats are possible.
[0223] In one study, two cohorts with similar demographic characteristics, baseline sleep architecture, and cardiovascular parameters during sleep were examined, one of which showed typical sleep and the other insomnia sleep pattern. EEG power was significantly higher in the healthy cohort across all bands. Therefore, all EEG values in each band were normalized by the total power (power in band / total power). After normalization, healthy sleepers had significantly higher NREM theta power than insomnia patients (P=0.005), while the power in all other bands was not significantly different.
[0224] GLM analysis for EEG / ECG coupling revealed that high frequency (HF) band, low frequency (LF) band, and LF:HF ratio were predictors of EEG alpha power during NREM sleep in insomnia patients (adjusted R2 = 0.705, P = 0.113). Notably, with increasing alpha power, HF and LF:HF decreased, and LF increased. A second GLM analysis was performed to account for collinearity and interactions, which significantly improved the predictability of the model (adjusted R2 = 0.974, P = 0.02).
[0225] The study found that NREM alpha power, a marker of restlessness, was negatively correlated with HRV-HF, which reflects parasympathetic activity, and positively correlated with HRV-LF, which reflects baroreflex activity. This suggests that in insomniacs, parasympathetic dominance in NREM sleep is challenged by higher alpha power, which may reduce sleep quality. The addition of an interaction between standard deviation of normal beat-to-beat intervals (SDNN), a time-domain metric of HRV, and LF / HF, a frequency-domain HRV metric, was associated with an adjusted R 2 (Adjusted coefficient of determination) significantly increased.
[0226] The classifier factory generates 2116 a sleep disorder classifier using the training data and the tagging data. This generation by the classifier factory 2104 may include:
[0227] To perform this training, various time epochs in the training data are identified and extracted. In one scheme, each epoch is 10 seconds long, which is believed to be long enough to include most physiological events of interest. In this scheme, a new epoch is extracted every second, and there are 10 overlapping epochs that include each second, except for epochs near the beginning and end of the BCG and tagging data.
[0228] Training 2116 may include solving various coefficients for a model trained to predict tagging for a given epoch of training (e.g., no disease vs insomnia, no disease vs RBD, no disease vs PLM, no disease vs any disease, no disease vs insomnia vs RBD vs PLM). This may allow the classifier to be used to classify neurological and cardiac data generated from a sleeper on a bed equipped with pressure sensors. In one example, a linear model is used with multiple terms related to cardiac and neurological measurements, each term normalized to a Z-score and multiplied by a corresponding coefficient, as described in more detail below. However, other models may be used.
[0229] The classifier factory sends 2118 the classifier to the computing device 2106, which receives 2120 the classifier. For example, the classifier may be loaded into firmware of the computing device 2106 when the computing device 2106 (e.g., a bed controller) is manufactured. Alternatively, in another example, an application may include or download the classifier when the application is installed on the computing device 2106 (e.g., a mobile phone or home computer).
[0230] A pressure sensor 2108 of the bed senses 2122 the pressure of the user on the mattress. For example, as the user lies or sleeps on the bed, the pressure sensor may be exposed to pressure fluctuations on the bed. These pressure fluctuations may be the result of the weight of the user pushing on the bed, as well as the user's movements and vibrations, as well as other elements of the environment. This may include cardiac movements, respiratory movements, gross movements, acoustic vibrations, etc. The pressure sensor 2108 may generate a pressure reading that is recorded as a digital signal based on the phenomenon to which it is exposed. In some cases, the pressure sensor 108 senses pressure changes to an air chamber in the mattress. In some cases, the pressure sensor 2108 may sense pressure transmitted through one or more legs of the bed frame. In some cases, the pressure sensor 2108 may include a strip, pad, or mat placed in or around the mattress, including mattresses without air bladders.
[0231] The pressure sensor 2108 may transmit 2124 the pressure readings to the computing device 2106, which may receive 2126 the pressure readings. The computing device 2106 may submit 2128 the pressure readings to a sleep disorder classifier as part of operations that may also include other uses of the pressure readings. For example, as described above, a bed controller may use the pressure readings to determine presence in bed or to determine other biometric data.
[0232] The computing device 2106 may receive 2130 a disorder classification from a sleep disorder classifier. This classification may take a variety of forms. In some cases, the classification may be a strict Boolean value (e.g., healthy / unhealthy, no disorder / insomnia). In some cases, the classification may include a continuous value, such as a numeric value (e.g., a value to indicate an intensity or confidence level).
[0233] The computing device 2106 may generate an aggregated disease value for a night's sleep from the multiple disease classifications for a particular sleep session (2132). For example, the computing device 2106 may compile the various classification values for the various epochs of a sleep session into a single standard timeline for the sleep session and list each disease event or disease condition as it occurs on the timeline. As previously mentioned, epochs may overlap with each other, so each disease condition may be recorded with multiple classifications. Using this single standard timeline, the computing device 2106 may generate an overall disease value for the sleep session. Additionally or alternatively, the computing device may create disease values only for portions of the night's sleep that meet certain tests (conditions).
[0234] The computing device 2106 may generate an aggregated disease value for the user from the multiple disease classifications from the multiple non-contiguous sleep sessions (2130). For example, the computing device 2106 may select a pre-specified number of sleep sessions from the past month and calculate the sleeper's disease value for that month. The aggregation may, for example, weight each of those nights' disease values by the length of the sleep session, so that longer sleep sessions are not discounted. Alternatively, the aggregation may weight each sleep session equally, so that the impact of interrupted sleep sessions is not diminished. By using non-contiguous sleep sessions, the computing device can create an aggregated disease value that is less sensitive to non-recurring events that would affect the disease. For example, a single dose of a strong medication may disrupt a user's sleep for three or four nights. Sampling only one of those nights and combining it with the others may create a more useful aggregated value. Similarly, a disease condition itself may cause a sleep disorder. For example, a user may experience increased insomnia symptoms one night, which may interfere with sleep the next night. In essence, this is a process that would advantageously reinforce the assumption that each night's sleep is an independent event (which is actually not true in many real-world cases, but is assumed to be true in some diagnostic criteria).
[0235] In response to receiving the disease classification, the computing device 2106 sends a command to the home automation controller to initiate a home automation event (2136). The home automation controller 2110 may receive the command (2138) and act on the command (2140). For example, when a disease condition is detected, the computing device 2106 may be configured to send commands to devices designed to reduce the severity or frequency of the disease condition. For example, the computing device 2106 may send commands to lighting devices to change operation to dim the sleeper's environment, or may send commands to a bed base to elevate the sleeper's head, or may send commands to an HVAC unit to change the ambient temperature and humidity.
[0236] 22 shows a schematic diagram of elements that may be used in the operation of generating the classifier 2116. For example, the generation may include receiving EEG and ECG data for a demographic group of sleepers, where the EEG and ECG may be indexed by sleeper identifiers and timestamps.
[0237] A pre-processing filter (e.g., in the range of 0.5-40 Hz) may be applied to the EEG data, and the filtered EEG data may be segmented into 30 second epochs. The power spectral densities of the various EEG bands (e.g., δ, θ, α, β) may be found.
[0238] The ECG data may be examined to find peaks and interbeat intervals (IBIs). The IBIs may be processed, for example, to remove missing IBI values and to remove outliers. The processed IBI data may be segmented into segments, for example, 2.5 minutes long, centered around 30 second epochs, since it is believed that HRV analysis benefits from a longer time window than EEG analysis. Furthermore, the IBI data may be interpolated (for example, at 2 Hz) and the power spectral density may be determined. The ECG analysis may generate values for HR, SDNN, a high frequency band of beat-to-beat interval signals of cardiac activity (HF), a low frequency band of beat-to-beat interval signals of cardiac activity (LF), and a ratio of LF to HF. The average values of the NREM and REM portions of the sleep session may then be found.
[0239] Using these and other values, a linear model can be trained based on the tagging of the sleep data. For example, a linear model can be used to define the relationship between the power spectral density of the δ, θ, α, β bands and HRV metrics such as HR, SDNN, HF, LF, etc. In one example, a linear equation of the form a_1*HR+a_2*SDNN+a_3*HF+a_4*LF can be solved to find the coefficient values (a_1, a_2, etc.) for non-diseased and diseased sleepers. In another example, the linear equation can take the form a_1*HR+a_2*SDNN+a_3*HF+a_4*LF+a_5*LF / HF.
[0240] As will be appreciated, these coefficients may be used by a classifier to classify a new set of HRV values (determined from the pressure readings) by generating δ, θ, α, β bands of neurological parameters from the HRV values to determine whether the neurological parameters are more similar to the healthy or diseased states in the training data. As will be appreciated, various normalizations and processing of the data may be required, for example to account for differences in scale, standard deviation, etc. of the various measurements. For example, logs of the various parameters may be used instead of raw values.
[0241] In some cases, only one of the δ, θ, α, β bands, or a subset thereof, needs to be considered by the classifier. For example, in some cases, one EEG parameter (e.g., α) may be found to be discriminatory enough for a particular classification. Additionally or alternatively, data from only some sleep stages may be used, e.g., only REM sleep or only NREM sleep. FIG. 23 shows an example of many possible models considered in one training process, along with the corresponding p-values of the various models. As shown, a model that detects EEG α logs only in NREM sleep states is shown to be the most discriminatory between healthy and insomnia states. Thus, the classifier generated in (2116) may use only this one model, or may create a model with other highly discriminatory models (e.g., EEG β logs in NREM and REM).
Claims
1. A system comprising: a bed having a mattress; a sensor; a controller having a processor and a memory; wherein the sensor is configured to sense the pressure of a sleeper on the mattress and send pressure data generated from the sensed pressure of the sleeper on the mattress to the controller; and the controller is configured to receive the pressure data, identify one or more movement parameters from the pressure data, determine one or more cardiac measurements of the sleeper from the movement parameters, determine one or more neurological measurements of the sleeper from the cardiac measurements, and determine the disease state of the sleeper. A system characterized by the above.
2. The system according to claim 1, wherein the cardiac measurement comprises at least one of the group consisting of heart rate (HR), heart rate variability (HRV), standard deviation of normal-to-normal intervals (SDNN), PNN50 index, and R-R interval index.
3. The system according to claim 1, wherein to determine the neurological measurement to determine the disease state, the controller is configured to provide the cardiac measurement of the sleeper to a classifier and receive from the classifier a classification of the sleeper into a sleep disordered breathing state or a non-sleep disordered breathing state.
4. The system according to claim 3, wherein the classifier is configured to generate the neurological measurement using a linear model, and the linear model has terms related to at least one of the group consisting of i) cardiac measurements and ii) neurological measurements.
5. The terms comprise i) HR in non-rapid eye movement (NREM) sleep, ii) SDNN in NREM sleep, iii) the beat-to-beat interval signal (HF) in the high frequency band of cardiac activity in NREM sleep, iv) the beat-to-beat interval signal (LF) in the low frequency band of cardiac activity in NREM sleep, and v) the ratio of LF in NREM sleep to HF in NREM sleep.
6. The system according to claim 4, wherein each term is normalized by a normalization function and multiplied by a corresponding coefficient value.
7. The classifier is configured to use the logarithmic measurement of the neurological measurement to select one disease state from a plurality of possible disease states. The system according to claim 3, characterized in that...
8. The controller is further configured to determine the disease state of the sleeper using the heart measurement values of the single sleep session while the sleeper is asleep during a single sleep session. The system according to claim 7, characterized in that...
9. The controller is further configured to cause the determination of the disease state to be displayed to the sleeper at the end of the single sleep session. The system according to claim 8, characterized in that...
10. The disease state is REM behavior disorder (RBD). The system according to claim 7, characterized in that...
11. The disease state is periodic limb movement (PLM) disorder. The system according to claim 7, characterized in that...
12. The sensor is a load cell. The system according to any one of claims 1 to 11, characterized in that...
13. One or more processors, and Computer-readable instructions that, when executed by the one or more processors, cause the processor to perform the following operations: A system comprising: The operations are: Determining the user's heart parameters, Identifying one or more neurological measurements of the user from the user's heart parameters, and Identifying the user's disease state from the user's neurological measurements and the user's heart parameters. A system characterized by including...
14. The system further comprises a bed having one or more sensors for sensing the user for determining the user's heart parameters. The system according to claim 13, characterized in that...
15. The one or more sensors include a load cell. The system according to claim 14, characterized in that...
16. The one or more sensors include a pressure sensor. The system according to claim 14, characterized in that...
17. The system further comprises a wearable device for sensing the user for determining the user's heart parameters. The system according to any one of claims 13 to 16, characterized in that...
18. Sensing the user's heart parameters, and Identifying one or more neurological measurements of the user from the user's heart parameters, and A step of identifying a disease state of the user from the neurological measurement values of the user and the cardiac parameters of the user; A method characterized by comprising the above.
19. A method of operating a bed system, comprising: A step of sensing cardiac parameters of a user via one or more sensors of the bed system; A step of identifying one or more neurological measurement values of the user from the cardiac parameters of the user; A step of identifying insomnia of the user from the neurological measurement values of the user and the cardiac parameters of the user; A step of outputting a signal in response to the identification of insomnia from the neurological measurement values of the user and the cardiac parameters of the user; A method characterized by comprising the above.
20. The step of identifying the neurological measurement values to identify insomnia of the user comprises: A step of providing the cardiac parameters of the sleeper to a classifier; A step of receiving, from the classifier, a classification into an insomnia symptom state or a non-insomnia symptom state of the sleeper; The method according to claim 19, characterized by including the above.
21. The classifier is configured to generate the neurological measurement values using a linear model, The linear model has terms related to at least one of the group consisting of i) cardiac measurement values and ii) neurological measurement values. The method according to claim 20, characterized by the above.
22. A step of receiving pressure data from a sensor of a bed system; A step of identifying one or more movement parameters from the pressure data; A step of determining one or more cardiac measurement values of a sleeper of the bed system from the movement parameters; A step of determining one or more neurological measurement values of the sleeper from the cardiac measurement values; A step of determining a disease state of the sleeper; A method characterized by comprising the above.
23. The cardiac measurement values include at least one of the group consisting of heart rate (HR), heart rate variability (HRV), standard deviation of normal-to-normal intervals (SDNN), PNN50 index, and R-R interval index. The method according to claim 22, characterized by the above.
24. The step of determining the neurological measurement values to determine the disease state comprises: A step of providing the cardiac measurement values of the sleeper to a classifier; A step of receiving, from the classifier, a classification into an insomnia symptom state or a non-insomnia symptom state of the sleeper; The method according to claim 22, characterized by including the above.
25. The classifier is configured to generate the neurological measurement using a linear model, wherein the linear model has terms related to at least one of the group consisting of: i) a cardiac measurement; and ii) a neurological measurement The method according to claim 24, characterized in that.
26. The terms are i) HR during non-rapid eye movement (NREM) sleep, ii) SDNN during NREM sleep, iii) high frequency band beat-to-beat interval signal (HF) of cardiac activity during NREM sleep, iv) low frequency band beat-to-beat interval signal (LF) of cardiac activity during NREM sleep; and v) ratio of LF during NREM sleep to HF during NREM sleep including The method according to claim 25, characterized in that.
27. Each term is normalized with a normalization function and multiplied by a corresponding coefficient value The method according to claim 25, characterized in that.
28. The classifier is configured to select one disease state from a plurality of possible disease states using the logarithmic measurement of the neurological measurement The method according to claim 24, characterized in that.
29. Determining the disease state of the sleeper using the cardiac measurements of the single sleep session while the sleeper is asleep during a single sleep session The method according to claim 28, further comprising the step of
30. Displaying the determination of the disease state to the sleeper at the end of the single sleep session The method according to claim 29, further comprising the step of
31. The disease state is REM behavior disorder (RBD) The method according to claim 28, characterized in that.
32. The disease state is periodic limb movement (PLM) disorder The method according to claim 28, characterized in that.
33. The sensor is a load cell The method according to any one of claims 22 to 32, characterized in that.
34. A non-transitory computer-readable medium including program instructions for causing a computer to perform the following operations, The operations are sensing a user's cardiac parameters; identifying one or more neurological measurements of the user from the user's cardiac parameters; identifying a disease state of the user from the user's neurological measurements and the user's cardiac parameters; A non - transitory computer - readable medium characterized by including **Claim 35** A non - transitory computer - readable medium storing instructions that, when executed by one or more processors, cause the processors to perform the following operations: The operations are: Perceiving a user's heart parameters via one or more sensors of a bed system; Identifying one or more neurological measurement values of the user from the user's heart parameters; Identifying the user's insomnia from the user's neurological measurement values and the user's heart parameters; Outputting a signal in response to the identification of insomnia from the user's neurological measurement values and the user's heart parameters; A non - transitory computer - readable medium characterized by including **Claim 36** The step of identifying the neurological measurement values and identifying the user's insomnia Includes providing the heart parameters of the sleeper to a classifier; Receiving a classification of the sleeper into an insomnia state or a non - insomnia state from the classifier; The non - transitory computer - readable medium according to claim 35, characterized by including **Claim 37** A non - transitory computer - readable medium storing instructions that, when executed by one or more processors, cause the processors to perform the following operations: The operations are: Receiving pressure data from a sensor of a bed system; Identifying one or more movement parameters from the pressure data; Determining one or more heart measurement values of a sleeper of the bed system from the movement parameters; Determining one or more neurological measurement values of the sleeper from the heart measurement values; Determining the disease state of the sleeper; A non - transitory computer - readable medium characterized by including **Claim 38** The heart measurement values include at least one of the group consisting of heart rate (HR), heart rate variability (HRV), standard deviation of normal - to - normal intervals (SDNN), PNN50 index, and R - R interval index The non - transitory computer - readable medium according to claim 37, characterized by **Claim 39** The step of determining the neurological measurement values and determining the disease state Includes providing the heart measurement values of the sleeper to a classifier; Receiving a classification of the sleeper into an insomnia state or a non - insomnia state from the classifier; The non-transitory computer-readable medium according to claim 37, comprising **Claim 40** The classifier is configured to generate the neurological measurements using a linear model, The linear model has terms related to at least one of the group consisting of i) cardiac measurements, and ii) neurological measurements The non-transitory computer-readable medium according to claim 39, characterized in that