Various embodiments relate generally to home automation devices and human biological signal gathering and analysis.
Sleeping disorders can vary from mild to severe, and include snoring, restless leg, and sleep apnea. Most sleeping disorder sufferers do not have an in-home method of monitoring their sleeping patterns, much less a way to regulate and alleviate the sleeping disorders.
Introduced are methods and systems for monitoring a person's sleeping patterns, and detecting episodes of sleeping disorders such as snoring and sleep apnea. In one embodiment, a sensor strip attached to the mattress monitors the user's breathing, and detects signature frequencies corresponding to snoring and sleep apnea. Once a sleeping disorder is detected, a notification can be sent to a device associated with the user, or the user's bed can be automatically adjusted to alleviate the sleeping disorder.
These and other objects, features and characteristics of the present embodiments will become more apparent to those skilled in the art from a study of the following detailed description in conjunction with the appended claims and drawings, all of which form a part of this specification. While the accompanying drawings include illustrations of various embodiments, the drawings are not intended to limit the claimed subject matter.
Examples of a method, apparatus, and computer program for automating the control of home appliances and improving the sleep environment are disclosed below. In the following description, for the purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the embodiments of the invention. One skilled in the art will recognize that the embodiments of the invention may be practiced without these specific details or with an equivalent arrangement. In other instances, well-known structures and devices are shown in block diagram form in order to avoid unnecessarily obscuring the embodiments of the invention.
Brief definitions of terms, abbreviations, and phrases used throughout this application are given below.
In this specification, the terms “biological signal” and “bio signal” are synonyms, and are used interchangeably.
Reference in this specification to “sleep phase” means light sleep, deep sleep, or REM sleep. Light sleep comprises stage one, and stage two, non-REM sleep.
Reference in this specification to a formant means the spectral peaks of the sound spectrum.
Reference in the specification to a formant bandwidth means a continuous frequency region in which the amplification differs less than 3 dB from the amplification at the center frequency (the frequency where the amplification is maximal).
Reference in this specification to “one embodiment” or “an embodiment” means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the disclosure. The appearances of the phrase “in one embodiment” in various places in the specification are not necessarily all referring to the same embodiment, nor are separate or alternative embodiments mutually exclusive of other embodiments. Moreover, various features are described that may be exhibited by some embodiments and not by others. Similarly, various requirements are described that may be requirements for some embodiments but not others.
Unless the context clearly requires otherwise, throughout the description and the claims, the words “comprise,” “comprising,” and the like are to be construed in an inclusive sense, as opposed to an exclusive or exhaustive sense; that is to say, in the sense of “including, but not limited to.” As used herein, the terms “connected,” “coupled,” or any variant thereof, means any connection or coupling, either direct or indirect, between two or more elements. The coupling or connection between the elements can be physical, logical, or a combination thereof. For example, two devices may be coupled directly, or via one or more intermediary channels or devices. As another example, devices may be coupled in such a way that information can be passed therebetween, while not sharing any physical connection with one another. Additionally, the words “herein,” “above,” “below,” and words of similar import, when used in this application, shall refer to this application as a whole and not to any particular portions of this application. Where the context permits, words in the Detailed Description using the singular or plural number may also include the plural or singular number respectively. The word “or,” in reference to a list of two or more items, covers all of the following interpretations of the word: any of the items in the list, all of the items in the list, and any combination of the items in the list.
If the specification states a component or feature “may,” “can,” “could,” or “might” be included or have a characteristic, that particular component or feature is not required to be included or have the characteristic.
The term “module” refers broadly to software, hardware, or firmware components (or any combination thereof). Modules are typically functional components that can generate useful data or another output using specified input(s). A module may or may not be self-contained. An application program (also called an “application”) may include one or more modules, or a module may include one or more application programs.
The terminology used in the Detailed Description is intended to be interpreted in its broadest reasonable manner, even though it is being used in conjunction with certain examples. The terms used in this specification generally have their ordinary meanings in the art, within the context of the disclosure, and in the specific context where each term is used. For convenience, certain terms may be highlighted, for example, using capitalization, italics, and/or quotation marks. The use of highlighting has no influence on the scope and meaning of a term; the scope and meaning of a term is the same, in the same context, whether or not it is highlighted. It will be appreciated that the same element can be described in more than one way.
Consequently, alternative language and synonyms may be used for any one or more of the terms discussed herein, but special significance is not to be placed upon whether or not a term is elaborated or discussed herein. A recital of one or more synonyms does not exclude the use of other synonyms. The use of examples anywhere in this specification, including examples of any terms discussed herein, is illustrative only and is not intended to further limit the scope and meaning of the disclosure or of any exemplified term. Likewise, the disclosure is not limited to various embodiments given in this specification.
According to one embodiment, the processor 100 is connected to a database 180, which stores the biological signals associated with a user. Additionally, the database 180 can store average biological signals associated with the user, history of biological signals associated with a user, etc. In one embodiment, the database 180 can store a user profile which contains user preferences associated with an adjustable bed frame.
A microphone 235 is placed proximate to the user. The microphone 235 records a sound associated with the user. The microphone 235 can be disposed within the mattress 200, a pillow, a cover, the sensor strip 210, the power supply box, etc.
In some embodiments, the processor 230 can be similar to the processor 100 of
The processor 230 is any type of microcontroller, or any processor in a mobile terminal, fixed terminal, or portable terminal including a mobile handset, station, unit, device, multimedia computer, multimedia tablet, Internet node, cloud computer, communicator, desktop computer, laptop computer, notebook computer, netbook computer, tablet computer, personal communication system (PCS) device, personal navigation device, personal digital assistants (PDAs), audio/video player, digital camera/camcorder, positioning device, television receiver, radio broadcast receiver, electronic book device, game device, the accessories and peripherals of these devices, or any combination thereof.
The adjustable bed frame 250 is coupled to the processor 230. The processor 230 is configured to identify the user based on at least one of: the heart rate associated with the user, the breathing rate associated with the user, or the motion associated with the user, because each user has a unique heart rate, breathing rate, and motion. The processor 230 can also identify the user by receiving from a user device associated with the user an identification (ID) associated with the user. For example, the user can specify the user ID of the person sleeping on the sensor strip. If there are multiple sensor strips and/or multiple sensor, the user can specify the ID of the person associated with each sensor strip and/or each sensor. The processor 230, after identifying the user, retrieves from the database 180 a history of biological signals associated with a user. The history of biological signals comprises a normal biological signal range, such as a normal heart rate range associated with said user, a normal breathing rate range associated with said user, and a normal motion range associated with said user. The normal biological signal range includes an average heart rate associated with the user, an average breathing rate associated with the user, and an average motion associated with the user. The average biological signal includes an average high signal and an average low signal. For example, the average high signal includes the average high heart rate associated with the user, the average high breathing rate associated with a user, or the average high rate of motion associated with the user. The average low signal includes the average low heart rate associated with the user, the average low breathing rate associated with a user, or the average low rate of motion associated with a user. In addition, based on the heart rate, the breathing rate, and the motion, the processor 230 determines the sleep phase associated with the user. The processor 230 can then calculate the normal bio signal range associated with a particular sleep phase.
The bio signals associated with a user include an amplitude and a frequency. The processor 230 determines a normal range of frequencies associated with the heart rate, the breathing rate, or the motion. The processor 230 determines a normal range of amplitudes and frequencies associated with the heart rate, the breathing rate or the motion. The processor 230 determines the current amplitude and the current frequency associated with the current biological signal. When the current frequency associated with a biological signal is outside of the normal frequency range, the processor 230 detects a discrepancy. The processor 230 determines which sleeping disorder the discrepancy is indicative of, such as snoring, sleep apnea, or restless leg. For example, the processor 230 can determine whether the breathing rate contains sequences outside of the normal breathing rate frequency range, and determine that the user is snoring. Similarly, the processor 230 can determine that the motion rate contains a frequency outside of the normal motion frequency range, and determine that the user is suffering from restless leg.
When a sleeping disorder is detected, the processor 230 sends a control signal to the adjustable bed frame to heighten or to lower an adjustable section associated with the bed frame. For example, if the processor 230 detects that the user is snoring or has sleep apnea, the processor 230 sends a control signal to the adjustable bed frame to heighten the adjustable section 240, corresponding to the head. If the processor 230 detects that the user has a restless leg, the processor 230 sends a control signal to the adjustable bed frame to heighten the adjustable section 246, corresponding to the feet.
According to another embodiment, the processor 230 determines whether the user has fallen asleep while the bed is in the upright position, for example, when the user has fallen asleep while watching TV. If the user has fallen asleep and the bed is not in the rest position, the processor 230 sends a control signal to the adjustable frame to assume the rest position.
According to one embodiment, the user can specify the preferred position of the adjustable bed frame when a bio signal discrepancy is detected. The user's preferred position is stored in a user profile in the database 180. For example, the user can specify the height and inclination of each of the adjustable sections 240-246 for each detected problem. For example, the user-specified height and inclination of each of the adjustable sections 240-246 when snoring is detected can be different from the user-specified height and inclination of each of the adjustable sections 240-246 when sleep apnea is detected. In addition, a user can specify a rest position for the adjustable bed frame that is different from the default horizontal rest position. The user-specified rest position can also be associated with the user profile and stored in the database 180.
According to one embodiment, even if the users switch sides of the bed, the system will correctly identify which user is sleeping in which zone by identifying the user based on any of the following signals alone, or in combination: heart rate, breathing rate, body motion, or body temperature associated with the user. The system can also identify the user by receiving from a user device associated with the user an identification (ID) associated with the user. For example, the user can specify the user ID of the person sleeping on the sensor strip. If there are multiple sensor strips and/or multiple sensor, the user can specify the ID of the person associated with each sensor strip and/or each sensor.
In another embodiment, the power supply associated with the heating coil 600 is divided into a plurality of zones, each power supply zone corresponding to a subzone 620, 630, 640, 650, 670, 680, 690, 695. The user can control the temperature of each subzone 620, 630, 640, 650, 670, 680, 690, 695 independently. Further, each user can independently specify the temperature preferences for each of the subzones. Even if the users switch sides of the bed, the system will correctly identify the user, and the preferences associated with the user by identifying the user based on any of the following signals alone, or in combination: heart rate, breathing rate, body motion, or body temperature associated with the user. According to another embodiment, if the users switch sides of the bed, the system receives the user ID of the new user from a user device associated with the user, and retrieves the preferences associated with the user.
At block 720, the process determines the control signal and the time to send a control signal. At block 730, the process sends the control signal to the bed device. For example, if the user is in bed, the bed temperature is low, and the ambient light is low, the process sends a control signal to the bed device. The control signal comprises an instruction to heat the bed device to the average nightly temperature associated with the user. According to another embodiment, the control signal comprises an instruction to heat the bed device to a user-specified temperature. Similarly, if the user is in bed, the bed temperature is high, and the ambient light is low, the process sends a control signal to the bed device to cool the bed device to the average nightly temperature associated with the user. According to another embodiment, the control signal comprises an instruction to cool the bed device to a user-specified temperature.
In another embodiment, in addition to obtaining the biological signal associated with the user, and the environment property, the process obtains a history of biological signals associated with the user. The history of biological signals can be stored in a database associated with the bed device, or in a database associated with a user. The history of biological signals comprises the average bedtime the user went to sleep for each day of the week; that is, the history of biological signals comprises the average bedtime associated with the user on Monday, the average bedtime associated with the user on Tuesday, etc. For a given day of the week, the process determines the average bedtime associated with the user for that day of the week, and sends the control signal to the bed device, allowing enough time for the bed to reach the desired temperature, before the average bedtime associated with the user. The control signal comprises an instruction to heat, or cool the bed to a desired temperature. The desired temperature may be automatically determined, such as by averaging the historical nightly temperature associated with a user, or the desired temperature may be specified by the user.
The technology disclosed here categorizes the sleep phase associated with a user as light sleep, deep sleep, or REM sleep. Light sleep comprises stage one and stage two sleep. The technology performs the categorization based on the breathing rate associated with the user, heart rate associated with the user, motion associated with the user, and body temperature associated with the user. Generally, when the user is awake the breathing is erratic. When the user is sleeping, the breathing becomes regular. The transition between being awake and sleeping is quick, and lasts less than 1 minute.
The processor 1100 is any type of microcontroller, or any processor in a mobile terminal, fixed terminal, or portable terminal including a mobile handset, station, unit, device, multimedia computer, multimedia tablet, Internet node, cloud computer, communicator, desktop computer, laptop computer, notebook computer, netbook computer, tablet computer, personal communication system (PCS) device, personal navigation device, personal digital assistants (PDAs), audio/video player, digital camera/camcorder, positioning device, television receiver, radio broadcast receiver, electronic book device, game device, the accessories and peripherals of these devices, or any combination thereof.
The processor 1100 can be connected to the user sensor 1140, 1150, or the environment sensor 1160, 1170 by a computer bus, such as an I2C bus. Also, the processor 1100 can be connected to the user sensor 1140, 1150, or environment sensor 1160, 1170 by a communication network 1110. By way of example, the communication network 1110 connecting the processor 1100 to the user sensor 1140, 1150, or the environment sensor 1160, 1170 includes one or more networks such as a data network, a wireless network, a telephony network, or any combination thereof. The data network may be any local area network (LAN), metropolitan area network (MAN), wide area network (WAN), a public data network (e.g., the Internet), short range wireless network, or any other suitable packet-switched network, such as a commercially owned, proprietary packet-switched network, e.g., a proprietary cable or fiber-optic network, and the like, or any combination thereof. In addition, the wireless network may be, for example, a cellular network and may employ various technologies including enhanced data rates for global evolution (EDGE), general packet radio service (GPRS), global system for mobile communications (GSM), Internet protocol multimedia subsystem (IMS), universal mobile telecommunications system (UMTS), etc., as well as any other suitable wireless medium, e.g., worldwide interoperability for microwave access (WiMAX), Long Term Evolution (LTE) networks, code division multiple access (CDMA), wideband code division multiple access (WCDMA), wireless fidelity (WiFi), wireless LAN (WLAN), Bluetooth®, Internet Protocol (IP) data casting, satellite, mobile ad-hoc network (MANET), and the like, or any combination thereof.
According to another embodiment, at block 1300, the process obtains a current biological signal associated with a user from a sensor associated with the user. At block 1310, the process also obtains environment data, such as the ambient light, from an environment sensor associated with a bed device. Based on the current biological signal, the process identifies whether the user is asleep. If the user is asleep and the lights are on, the process sends an instruction to turn off the lights. In another embodiment, if the user is asleep, the lights are off, and the ambient light is high, the process sends an instruction to the blinds to shut. In another embodiment, if the user is asleep, the process sends an instruction to the locks to engage.
In another embodiment, the process, at block 1300, obtains a history of biological signals, such as at what time the user goes to bed on a particular day of the week (e.g., the average bedtime associated with the user on Monday, the average bedtime associated with the user on Tuesday, etc.). The history of biological signals can be stored in a database associated with the bed device, or in a database associated with a user. Alternatively, the user may specify a bedtime for the user for each day of the week. Further, the process obtains the exercise data associated with the user, such as the number of hours the user spent exercising, or the heart rate associated with the user during exercising. According to one embodiment, the process obtains the exercise data from a user phone, a wearable device, fitbit bracelet, or a database associated with the user. Based on the average bedtime for that day of the week, and the exercise data during the day, the process, at block 1320, determines the expected bedtime associated with the user that night. The process then sends an instruction to the bed device to heat to a desired temperature, before the expected bedtime. The desired temperature can be specified by the user, or can be determined automatically, based on the average nightly temperature associated with the user.
Biological signals associated with a person, such as a heart rate or a breathing rate, indicate the person's state of health. Changes in the biological signals can indicate an immediate onset of a disease, or a long-term trend that increases the risk of a disease associated with the person. Monitoring the biological signals for such changes can predict the onset of a disease, can enable calling for help when the onset of the disease is immediate, or can provide advice to the person if the person is exposed to a higher risk of the disease in the long-term.
The user device 1520 is any type of a mobile terminal, fixed terminal, or portable terminal including a mobile handset, station, unit, device, multimedia computer, multimedia tablet, Internet node, communicator, desktop computer, laptop computer, notebook computer, netbook computer, tablet computer, personal communication system (PCS) device, personal navigation device, personal digital assistants (PDAs), audio/video player, digital camera/camcorder, positioning device, television receiver, radio broadcast receiver, electronic book device, game device, the accessories and peripherals of these devices, or any combination thereof.
The processor 1500 is any type of microcontroller, or any processor in a mobile terminal, fixed terminal, or portable terminal including a mobile handset, station, unit, device, multimedia computer, multimedia tablet, Internet node, cloud computer, communicator, desktop computer, laptop computer, notebook computer, netbook computer, tablet computer, personal communication system (PCS) device, personal navigation device, personal digital assistants (PDAs), audio/video player, digital camera/camcorder, positioning device, television receiver, radio broadcast receiver, electronic book device, game device, the accessories and peripherals of these devices, or any combination thereof.
The processor 1500 can be connected to the user sensor 1530, 1540 by a computer bus, such as an I2C bus. Also, the processor 1500 can be connected to the user sensor 1530, 1540 by a communication network 1510. By way of example, the communication network 1510 connecting the processor 1500 to the user sensor 1530, 1540 includes one or more networks such as a data network, a wireless network, a telephony network, or any combination thereof. The data network may be any local area network (LAN), metropolitan area network (MAN), wide area network (WAN), a public data network (e.g., the Internet), short range wireless network, or any other suitable packet-switched network, such as a commercially owned, proprietary packet-switched network, e.g., a proprietary cable or fiber-optic network, and the like, or any combination thereof. In addition, the wireless network may be, for example, a cellular network and may employ various technologies including enhanced data rates for global evolution (EDGE), general packet radio service (GPRS), global system for mobile communications (GSM), Internet protocol multimedia subsystem (IMS), universal mobile telecommunications system (UMTS), etc., as well as any other suitable wireless medium, e.g., worldwide interoperability for microwave access (WiMAX), Long Term Evolution (LTE) networks, code division multiple access (CDMA), wideband code division multiple access (WCDMA), wireless fidelity (WiFi), wireless LAN (WLAN), Bluetooth®, Internet Protocol (IP) data casting, satellite, mobile ad-hoc network (MANET), and the like, or any combination thereof.
According to one embodiment, the process of
According to another embodiment, the process of
According to one embodiment, the process of
In step 1910, the processor converts the breathing rate into a transformed breathing rate. The transformed breathing rate includes a plurality of frequencies and a plurality of intensities associated with the plurality of frequencies. The processor can perform the conversion using a Fourier Transform, Fast Fourier Transform, or Discrete Fourier Transform.
Breathing rate comprises an inhale portion and an exhale portion. In one embodiment, the processor detects an exhale portion of the breathing rate, and removes the exhale portion from the breathing rate to obtain an inhale breathing rate. The processor then converts the inhale breathing rate into the transformed breathing rate. The processor can perform the conversion using a Fourier Transform, Fast Fourier Transform, or Discrete Fourier Transform.
In step 1920, the processor detects an intensity peak in the plurality of intensities. The intensity peak is a local maximum intensity of the transformed breathing rate. The intensity peak is associated with a frequency in the plurality of frequencies.
In step 1930, the processor determines that the user is snoring when the frequency associated with the intensity peak is within a snoring frequency range. The snoring frequency range includes frequencies within 0 Hz to 150 Hz.
In step 1940, once the processor determines that the user is snoring, the processor identifies the user based on at least one of: the heart rate associated with the user, or the breathing rate associated with the user. In another embodiment, the processor identifies the user by receiving a user ID from a device associated with the user.
In step 1950, once the processor identifies the user, the processor retrieves from a database a position associated with the adjustable bed frame, and the position associated with the identified user, the position configured to prevent snoring. The position can be specified by the user, or can be determined by the system as described herein.
In step 1960, once the processor retrieves the position from the database, the processor sends a control signal to the adjustable bed frame. The control signal includes the position associated with the adjustable bed frame, and can also include an identification (ID) associated with an adjustable section of the adjustable bed frame. The position can correspond to an adjustable section associated with the adjustable bed frame, or the position can correspond to the whole adjustable bed frame, such as when all the adjustable sections of the adjustable bed frame assume the same position.
According to one embodiment, the processor obtains the breathing rate by receiving a compound biological signal from a piezo sensor. The compound biological signal includes a heart rate and the breathing rate. The processor then performs a bandpass filter on the compound biological signal to obtain the breathing rate.
According to another embodiment, the processor obtains the breathing rate by receiving a signal from the microphone. The signal includes a sound level in decibels (dB) over time.
In step 2010, the processor removes the exhale portion from the breathing rate to obtain an inhale breathing rate.
In step 2020, the processor transforms the inhale breathing rate to obtain a transformed breathing rate comprising a plurality of frequencies and a plurality of intensities associated with the plurality of frequencies. The processor can perform the transform using Fourier Transform, Fast Fourier Transform, or Discrete Fourier Transform.
In step 2030, the processor detects a peak frequency in the plurality of frequencies associated with the transformed breathing rate, wherein the peak frequency is indicative of the sleeping disorder, such as snoring and/or sleep apnea.
According to one embodiment, the processor detects the peak frequency by finding an intensity peak in the plurality of intensities. The intensity peak is associated with the peak frequency. When the peak frequency associated with the intensity peak is within a sleeping disorder frequency range, the processor determines that the peak frequency is indicative of the sleeping disorder. The snoring and/or sleep apnea frequency range includes frequencies within 0 Hz to 150 Hz.
According to another embodiment, the processor detects the peak frequency by smoothing the transformed breathing rate to obtain a smooth transformed breathing rate. The smooth transformed breathing rate includes a plurality of smooth frequencies, and a plurality of smooth intensities associated with the plurality of smooth frequencies. The smoothing can be done by removing peak frequencies whose formant bandwidths are less than 1 Hz. Various other methods for smoothing the transformed breathing rate can be performed such as cepstral windowing or linear prediction.
After smoothing the transformed breathing rate signal, the processor detects an intensity peak in the plurality of smooth intensities. When the peak frequency associated with the intensity peak is within a sleeping disorder frequency range, the processor determines whether the peak frequency is indicative of sleeping disorder, such as sleep apnea and/or snoring. The sleeping disorder, such as sleep apnea and/or snoring, frequency range includes frequencies within 0 Hz to 150 Hz.
In step 2040, once the processor detects the peak frequency, the processor sends a signal to a device associated with the user. The signal includes an indication that the user is experiencing the sleeping disorder. The processor can analyze breathing rate from the piezo sensor and from the microphone separately, or simultaneously. According to one embodiment, if at least one signal includes an indication that the user is experiencing the sleeping disorder the processor sends the signal to the device associated with the user.
According to one embodiment, in addition, the processor determines a number of snoring and/or sleep apnea episodes by identifying a time period without the sleeping disorder. In other words, once the processor identifies the occurrence of the sleeping disorder, if the processor identifies the time period in the breathing rate which lasts at least 1 minute, and where that time period is without snoring and/or sleep apnea, the processor increments the number of snoring and/or sleep apnea episodes. When the user awakes, the processor sends a notification to the user device, where the notification includes the number of snoring and/or sleep apnea episodes.
According to another embodiment, once the processor detects snoring and/or sleep apnea, the processor sends a notification to a mobile device associated with the user that the user has been snoring and/or has been having sleep apnea episodes.
The processor can also cause the user device to display a graph of the number of snoring and/or sleep apnea episodes over a specified period of time, such as over the last several days, months, years, etc. The graph can also include an average number of snoring and/or sleep apnea episodes for each day of the week.
In one embodiment, the processor sends the signal to an adjustable bed frame. The adjustable bed frame includes a plurality of adjustable sections. The signal includes an identification associated with the adjustable section, and a position associated with said adjustable section, the position configured to prevent snoring and/or sleep apnea. For example, once the processor detects snoring and/or sleep apnea, the processor sends a signal to the adjustable bed frame to raise the adjustable section corresponding to the user's head.
In step 2210, the processor selects the peak frequency and the frequency band, when the frequency band is greater than 1 Hz.
In step 2220, the processor detects sleep apnea based on the peak frequency in the frequency band. According to one embodiment, the processor detects sleep apnea when the peak frequency is within a sleep apnea frequency range and when the frequency band is greater than 20 Hz. The sleep apnea frequency range comprises 0 Hz to 150 Hz.
According to another embodiment, the processor detects sleep apnea when the peak frequency is within a sleep apnea frequency range, wherein the sleep apnea frequency range comprises 0 Hz to 150 Hz.
In step 2310, the processor transforms the breathing rate to obtain a transformed breathing rate comprising a plurality of frequencies and a plurality of intensities associated with the plurality of frequencies. The processor performs the transform using Fourier Transform, Fast Fourier Transform, or Discrete Fourier Transform.
According to one embodiment, before the processor transforms the breathing rate to obtain the transformed breathing rate, the processor first removes the exhale portion from the breathing rate to obtain an inhale breathing rate. The processor than transforms the inhale breathing rate using Fourier Transform, Fast Fourier Transform, or Discrete Fourier Transform.
In step 2320, the processor detects a peak frequency in the transformed breathing rate, wherein the peak frequency is indicative of snoring and/or sleep apnea. According to one embodiment, the processor detects the peak frequency by finding an intensity peak in the plurality of intensities. The intensity peak is associated with the peak frequency. When the peak frequency associated with the intensity peak is within a snoring and/or sleep apnea frequency range, the processor determines that the peak frequency is indicative of snoring and/or sleep apnea. The snoring and/or sleep apnea frequency range includes frequencies within 0 Hz to 150 Hz.
According to another embodiment, the processor detects the peak frequency by smoothing the transformed breathing rate to obtain a smooth transformed breathing rate. The smooth transformed breathing rate comprising a plurality of smooth frequencies, and a plurality of smooth intensities associated with the plurality of smooth frequencies. The processor smoothes the transformed breathing rate by deleting all peak frequencies whose formant bandwidth is less than 1 Hz. Various other methods for smoothing the transformed breathing rate can be performed such as any kind of a method to compute to a spectral envelope.
After smoothing the transformed breathing rate signal, the processor detects an intensity peak in the plurality of smooth intensities. When the peak frequency associated with the intensity peak is within a snoring and/or sleep apnea frequency range, the processor determines that the peak frequency is indicative of a sleeping disorder. The snoring and/or sleep apnea frequency range includes frequencies within 0 Hz to 150 Hz.
In step 2330, once the processor detects the peak frequency, the processor sends a signal to the adjustable bed frame. The signal includes an ID associated with the adjustable bed frame section, a position associated with the adjustable bed frame section, where the position is configured to prevent snoring and/or sleep apnea. Once the adjustable bed frame receives the signal, the adjustable bed frame moves the adjustable section corresponding to the ID, to the specified position.
According to one embodiment, the position can be specified by the user. The processor receives from a user device associated with the user an identification (ID) of an adjustable section associated with the adjustable bed frame, and a preferred position associated with the adjustable section. The signal can include the ID of the adjustable section, and the preferred position of the adjustable section, as specified by the user. For example, the adjustable section can correspond to the head, and the preferred position can be a position elevated from the neutral position.
According to another embodiment, the processor automatically determines the adjustable bed frame position to prevent snoring and/or sleep apnea. Once the processor detects snoring and/or sleep apnea, the processor sends to the adjustable bed frame an ID of an adjustable section associated with the adjustable bed frame, and the position associated with the adjustable section. For example, the processor sends the ID of the head section, and a request to rotate the head section by 10° upward. At least one minute after the adjustable bed frame responds to the signal, the processor detects whether the user is experiencing a sleeping disorder such as snoring and/or sleep apnea. If the user is still experiencing the sleeping disorder, the processor again sends the ID of the head section, and a request to rotate the head section by 10° upward. The processor iteratively adjusts the height of the head section, until the user stops experiencing the sleeping disorder.
Once the processor no longer detects the sleeping disorder, the processor stores the current position of the adjustable bed frame in a database. The processor can in the future retrieve the stored position, and, whenever the sleeping disorder is detected, send the stored position to the adjustable bed frame to prevent snoring and/or sleep apnea.
According to one embodiment, the processor identifies the user based on the breathing rate associated with the user to obtain a user ID. According to another embodiment, the processor receives the user ID from a device associated with the user. Based on the user ID, the processor retrieves from the database a position associated with the adjustable bed frame and with the user ID. The position is configured to prevent snoring and/or sleep apnea, and can be calculated by the processor as described herein, or can be specified by the user as described herein.
In step 2410, the processor receives from a database a first plurality of breathing rates associated with at least one person and a second plurality of breathing rates associated with at least one person. The person can be the user and/or various people whose breathing rates have been measured. Each breathing rate in the first plurality of breathing rates includes normal breathing. Each breathing rate in the second plurality of breathing rates includes breathing indicative of a sleeping disorder such as snoring and/or sleep apnea.
In step 2420, based on the first plurality of breathing rates and the second plurality of breathing rates, the processor creates a training model. The training model is created by providing the first plurality of breathing rates and the second plurality of breathing rates as inputs to create a training model. Creation of the training model can be supervised or unsupervised. In supervised learning, the first plurality of breathing rates provided to the training model can be labeled as normal breathing rates, while the second plurality of breathing rates provided to the training model can be labeled as sleeping disorder breathing rates. In unsupervised learning, the first and second pluralities of breathing rates are unlabeled, and the training model itself determines the categorization.
Creating the training model can include additional steps. In one embodiment, the first and the second plurality of breathing rates are preprocessed before providing inputs to create the training model. Each breathing rate includes an inhale portion and an exhale portion. The exhale portion in each of the breathing rates in the first and the second plurality of breathing rates is removed to obtain a first plurality of inhale breathing rates, and a second plurality of inhale breathing rates. The first plurality of inhale breathing rates and the second plurality of inhale breathing rates are then used as inputs to create the training model.
In step 2430, based on the training model, and the breathing rate associated with the user the processor determines whether the user is experiencing the sleeping disorder.
In step 2440, the processor identifies the user based on at least one of a heart rate associated with the user, or the breathing rate associated with the user, to obtain an identified user. The processor can identify the user by receiving a user ID from a user device associated with the user.
In step 2450, based on identifying the user, the processor retrieves from a database a position associated with the adjustable bed frame and the identified user, where the retrieved position is configured to prevent the user from experiencing the sleeping disorder.
In step 2460, upon said retrieving from the database the position, the processor sends a signal to the adjustable bed frame. The signal includes the position associated with the adjustable bed frame.
Various additional steps described herein can be performed.
In step 2510, the processor removes the exhale portion from the breathing rate to obtain an inhale breathing rate.
In step 2520, based on the inhale breathing rate, the processor determines that the user is having the sleeping disorder. Determining that the user is having the sleeping disorder can be done in various ways, some of which are described above, such as detecting the peak frequency indicative of snoring and/or sleep apnea. Determining that the user is having the sleeping disorder can also utilize machine learning, such as deep neural networks.
In one embodiment, the processor receives from a database a first plurality of breathing rates associated with at least one person and a second plurality of breathing rates associated with at least one person. The person can be the user and/or other people whose breathing rates have been measured. Each breathing rate in the first plurality of breathing rates comprises normal breathing. Further, each breathing rate in the first plurality of breathing rates comprises an inhale portion and an exhale portion. Each breathing rate in the second plurality of breathing rates comprises a breathing rate indicative of a sleeping disorder such as snoring and/or sleep apnea. Further, each breathing rate in the second plurality of breathing rates comprises an inhale portion and an exhale portion. The processor removes the exhale portions from each breathing rate in the first and the second plurality of breathing rates to obtain a first plurality of inhale breathing rates, and a second plurality of inhale breathing rates.
Based on the first plurality of inhale breathing rates and the second plurality of inhale breathing rates, the processor creates a training model. The training model is created by providing the first plurality of inhale breathing rates and the second plurality of inhale breathing rates as inputs to create a training model. Creation of the training model can be supervised or unsupervised. In supervised learning, the first plurality of inhale breathing rates provided to the training model can be labeled as normal breathing rates, while the second plurality of inhale breathing rates provided to the training model can be labeled as sleeping disorder breathing rates. In unsupervised learning, the first and second pluralities of inhale breathing rates are unlabeled, and the training model itself determines the categorization.
Finally, based on the training model, and the inhale breathing rate associated with the user, the processor determines that the user is experiencing the sleeping disorder such as snoring and/or sleep apnea.
In step 2520, based on the training model, and the breathing rate associated with the user, the processor determines that the user is having the sleeping disorder.
In step 2530, upon said determining that the user is having the sleeping disorder, the processor sends a signal to a device associated with the user, where the signal includes an indication that the user is experiencing the sleeping disorder. The processor can analyze breathing rate from the piezo sensor and from the microphone separately, or simultaneously. According to one embodiment, if at least one signal includes an indication that the user is experiencing the sleeping disorder the processor sends the signal to the device associated with the user.
According to one embodiment, the processor determines a number of snoring and/or sleep apnea episodes by identifying a time period without the sleeping disorder. In other words, once the processor identifies the occurrence of the sleeping disorder, if the processor identifies the time period in the breathing rate which lasts at least 1 minute, and where that time period is without snoring and/or sleep apnea, the processor increments the number of snoring and/or sleep apnea episodes. When the user awakes, the processor sends a notification to the user device, where the notification includes the number of snoring and/or sleep apnea episodes.
According to another embodiment, once the processor detects snoring and/or sleep apnea, the processor sends a notification to a mobile device associated with the user that the user has been snoring and/or has been having sleep apnea episodes.
The processor can also cause the user device to display a graph of the number of snoring and/or sleep apnea episodes over a specified period of time, such as over the last several days, months, years, etc. The graph can also include an average number of snoring and/or sleep apnea episodes for each day of the week.
In one embodiment, the processor sends the signal to an adjustable bed frame. The adjustable bed frame includes a plurality of adjustable sections. The signal includes an identification associated with the adjustable section, and a position associated with said adjustable section, the position configured to prevent snoring and/or sleep apnea. For example, once the processor detects snoring and/or sleep apnea, the processor sends a signal to the adjustable bed frame to raise the adjustable section corresponding to the user's head.
Various additional steps described herein can be performed.
In step 2610, based on the biological signal, the processor determines that the user is experiencing the sleeping disorder, such as snoring and/or sleep apnea. Determining that the user is having the sleeping disorder can be done in various ways, some of which are described above, such as detecting the peak frequency indicative of snoring and/or sleep apnea. Determining that the user is having the sleeping disorder can also utilize machine learning, such as deep neural networks.
In one embodiment, the processor receives from a database a first plurality of biological signals associated with at least one person and a second plurality of biological signals associated with at least one person, wherein each biological signal in the first plurality of biological signals comprises a normal biological signal, and wherein each biological signal in the second plurality of biological signals comprises a biological signal indicative of the sleeping disorder. The person can be the user and/or other people whose biological signals have been measured.
Based on the first plurality of biological signals and the second plurality of biological signals, the processor creates a training model. Creation of the training model can be supervised or unsupervised. In supervised learning, the first plurality of biological signals provided to the training model can be labeled as normal biological signals, while the second plurality of biological signals provided to the training model can be labeled as sleeping disorder biological signals. In unsupervised learning, the first and second pluralities of biological signals are unlabeled, and the training model itself determines the categorization. Based on the training model, and the biological signal associated with the user, the processor determines that the user is experiencing the sleeping disorder.
In step 2620, upon determining that the user is experiencing the sleeping disorder, the processor sends a signal to the adjustable bed frame. The signal includes a position associated with the adjustable bed frame, where the position is configured to prevent the sleeping disorder.
According to one embodiment, the position can be specified by the user. The processor receives from a user device associated with the user an identification (ID) of an adjustable section associated with the adjustable bed frame, and a preferred position associated with the adjustable section. The signal can include the ID of the adjustable section, and the preferred position of the adjustable section, as specified by the user. For example, the adjustable section can correspond to the head, and the preferred position can be a position elevated from the neutral position.
According to another embodiment, the processor automatically determines the adjustable bed frame position to prevent snoring and/or sleep apnea. Once the processor detects snoring and/or sleep apnea, the processor sends to the adjustable bed frame an ID of an adjustable section associated with the adjustable bed frame, and the position associated with the adjustable section. For example, the processor sends the ID of the head section, and a request to rotate the head section by 10° upward. At least one minute after the adjustable bed frame responds to the signal, the processor detects whether the user is experiencing a sleeping disorder such as snoring and/or sleep apnea. If the user is still experiencing the sleeping disorder, the processor again sends the ID of the head section, and a request to rotate the head section by 10° upward. The processor iteratively adjusts the height of the head section, until the user stops experiencing the sleeping disorder.
Once the processor no longer detects the sleeping disorder, the processor stores the current position of the adjustable bed frame in a database. The processor can in the future retrieve the stored position, and, whenever the sleeping disorder is detected, send the stored position to the adjustable bed frame to prevent snoring and/or sleep apnea.
According to one embodiment, the processor identifies the user based on the breathing rate associated with the user to obtain a user ID. According to another embodiment, the processor receives the user ID from a device associated with the user. Based on the user ID, the processor retrieves from the database a position associated with the adjustable bed frame and with the user ID. The position is configured to prevent snoring and/or sleep apnea, and can be calculated by the processor as described herein, or can be specified by the user as described herein.
Various additional steps described herein can be performed.
In step 2710, a processor receives from a database a first plurality of breathing rates associated with at least one person and a second plurality of breathing rates associated with at least one person. Each breathing rate in the first plurality of breathing rates includes normal breathing. Each breathing rate in the second plurality of breathing rates includes breathing indicative of the sleeping disorder.
In step 2720, based on the first plurality of breathing rates and the second plurality of breathing rates, the processor creates a training model. The training model is created by providing the first plurality of breathing rates and the second plurality of breathing rates as inputs to create a training model. Creation of the training model can be supervised or unsupervised. In supervised learning, the first plurality of breathing rates provided to the training model can be labeled as normal breathing rates, while the second plurality of breathing rates provided to the training model can be labeled as sleeping disorder breathing rates. In unsupervised learning, the first and second pluralities of breathing rates are unlabeled, and the training model itself determines the categorization.
Creating the training model can include additional steps. In one embodiment, the first and the second pluralities of breathing rates are preprocessed before providing inputs to create the training model. Each breathing rate includes an inhale portion and an exhale portion. The exhale portion in each of the breathing rates in the first and the second pluralities of breathing rates is removed to obtain a first plurality of inhale breathing rates, and a second plurality of inhale breathing rates. The first plurality of inhale breathing rates and the second plurality of inhale breathing rates are then used as inputs to create the training model.
In step 2730, based on the training model, and the breathing rate associated with the user, the processor determines that the user is experiencing the sleeping disorder, such as snoring and/or sleep apnea. In one embodiment, the breathing rate is preprocessed to remove the exhale portion to obtain an inhale breathing rate associated with the user. Based on the training model built on the first and second pluralities of inhale breathing rates, and the inhale breathing rate associated with the user, the processor determines whether the user is experiencing the sleeping disorder.
In step 2740, upon said determining that the user is experiencing the sleeping disorder, the processor sends a signal to a device associated with the user. The signal includes an indication that the user is experiencing the sleeping disorder.
According to one embodiment, in addition, the processor determines a number of snoring and/or sleep apnea episodes by identifying a time period without the sleeping disorder. In other words, once the processor identifies the occurrence of the sleeping disorder, if the processor identifies the time period in the breathing rate which lasts at least 1 minute, and where that time period is without snoring and/or sleep apnea, the processor increments the number of snoring and/or sleep apnea episodes. When the user awakes, the processor sends a notification to the user device, where the notification includes the number of snoring and/or sleep apnea episodes.
In one embodiment, the processor automatically determines the adjustable bed frame position to prevent snoring and/or sleep apnea. Once the processor detects snoring and/or sleep apnea, the processor sends to the adjustable bed frame an ID of an adjustable section associated with the adjustable bed frame, and the position associated with the adjustable section. For example, the processor sends the ID of the head section, and a request to rotate the head section by 10° upward. At least one minute after the adjustable bed frame responds to the signal, the processor detects whether the user is experiencing a sleeping disorder such as snoring and/or sleep apnea. If the user is still experiencing the sleeping disorder, the processor again sends the ID of the head section, and a request to rotate the head section by 10° upward. The processor iteratively adjusts the height of the head section, until the user stops experiencing the sleeping disorder.
Once the processor no longer detects the sleeping disorder, the processor stores the current position of the adjustable bed frame in a database. The processor can in the future retrieve the stored position, and, whenever the sleeping disorder is detected, send the stored position to the adjustable bed frame to prevent snoring and/or sleep apnea.
Various additional steps described herein can be performed.
In the example of
This disclosure contemplates the computer system 2800 taking any suitable physical form. As example and not by way of limitation, computer system 2800 may be an embedded computer system, a system-on-chip (SOC), a single-board computer system (SBC) (such as, for example, a computer-on-module (COM) or system-on-module (SOM)), a desktop computer system, a laptop or notebook computer system, an interactive kiosk, a mainframe, a mesh of computer systems, a mobile telephone, a personal digital assistant (PDA), a server, or a combination of two or more of these. Where appropriate, computer system 2800 may include one or more computer systems 2800; be unitary or distributed; span multiple locations; span multiple machines; or reside in a cloud, which may include one or more cloud components in one or more networks. Where appropriate, one or more computer systems 2800 may perform without substantial spatial or temporal limitation one or more steps of one or more methods described or illustrated herein. As an example and not by way of limitation, one or more computer systems 2800 may perform in real time or in batch mode one or more steps of one or more methods described or illustrated herein. One or more computer systems 2800 may perform at different times or at different locations one or more steps of one or more methods described or illustrated herein, where appropriate.
The processor may be, for example, a conventional microprocessor such as an Intel Pentium microprocessor or Motorola power PC microprocessor. One of skill in the relevant art will recognize that the terms “machine-readable (storage) medium” or “computer-readable (storage) medium” include any type of device that is accessible by the processor.
The memory is coupled to the processor by, for example, a bus. The memory can include, by way of example but not limitation, random access memory (RAM), such as dynamic RAM (DRAM) and static RAM (SRAM). The memory can be local, remote, or distributed.
The bus also couples the processor to the non-volatile memory and drive unit. The non-volatile memory is often a magnetic floppy or hard disk, a magnetic-optical disk, an optical disk, a read-only memory (ROM), such as a CD-ROM, EPROM, or EEPROM, a magnetic or optical card, or another form of storage for large amounts of data. Some of this data is often written, by a direct memory access process, into memory during execution of software in the computer 2800. The non-volatile storage can be local, remote, or distributed. The non-volatile memory is optional because systems can be created with all applicable data available in memory. A typical computer system will usually include at least a processor, memory, and a device (e.g., a bus) coupling the memory to the processor.
Software is typically stored in the non-volatile memory and/or the drive unit. Indeed, storing an entire large program in memory may not even be possible. Nevertheless, it should be understood that for software to run, if necessary, it is moved to a computer-readable location appropriate for processing, and for illustrative purposes, that location is referred to as the memory in this paper. Even when software is moved to the memory for execution, the processor will typically make use of hardware registers to store values associated with the software, and local cache that, ideally, serves to speed up execution. As used herein, a software program is assumed to be stored at any known or convenient location (from non-volatile storage to hardware registers) when the software program is referred to as “implemented in a computer-readable medium.” A processor is considered to be “configured to execute a program” when at least one value associated with the program is stored in a register readable by the processor.
The bus also couples the processor to the network interface device. The interface can include one or more of a modem or network interface. It will be appreciated that a modem or network interface can be considered to be part of the computer system 2800. The interface can include an analog modem, ISDN modem, cable modem, token ring interface, satellite transmission interface (e.g., “direct PC”), or other interfaces for coupling a computer system to other computer systems. The interface can include one or more input and/or output devices. The I/O devices can include, by way of example but not limitation, a keyboard, a mouse or other pointing device, disk drives, printers, a scanner, and other input and/or output devices, including a display device. The display device can include, by way of example but not limitation, a cathode ray tube (CRT), liquid crystal display (LCD), or some other applicable known or convenient display device. For simplicity, it is assumed that controllers of any devices not depicted in the example of
In operation, the computer system 2800 can be controlled by operating system software that includes a file management system, such as a disk operating system. One example of operating system software with associated file management system software is the family of operating systems known as Windows® from Microsoft Corporation of Redmond, Wash., and its associated file management systems.
Another example of operating system software with its associated file management system software is the Linux™ operating system and its associated file management system. The file management system is typically stored in the non-volatile memory and/or drive unit and causes the processor to execute the various acts required by the operating system to input and output data and to store data in the memory, including storing files on the non-volatile memory and/or drive unit.
Some portions of the detailed description may be presented in terms of algorithms and symbolic representations of operations on data bits within a computer memory. These algorithmic descriptions and representations are the means used by those skilled in the data processing arts to most effectively convey the substance of their work to others skilled in the art. An algorithm is here, and generally, conceived to be a self-consistent sequence of operations leading to a desired result. The operations are those requiring physical manipulations of physical quantities. Usually, though not necessarily, these quantities take the form of electrical or magnetic signals capable of being stored, transferred, combined, compared, and otherwise manipulated. It has proven convenient at times, principally for reasons of common usage, to refer to these signals as bits, values, elements, symbols, characters, terms, numbers, or the like.
It should be borne in mind, however, that all of these and similar terms are to be associated with the appropriate physical quantities and are merely convenient labels applied to these quantities. Unless specifically stated otherwise, as apparent from the following discussion, it is appreciated that, throughout the description, discussions utilizing terms such as “processing” or “computing” or “calculating” or “determining” or “displaying” or “generating” or the like, refer to the action and processes of a computer system, or similar electronic computing device, that manipulates and transforms data represented as physical (electronic) quantities within the computer system's registers and memories into other data similarly represented as physical quantities within the computer system memories or registers or other such information storage, transmission or display devices.
The algorithms and displays presented herein are not inherently related to any particular computer or other apparatus. Various general purpose systems may be used with programs in accordance with the teachings herein, or it may prove convenient to construct more specialized apparatus to perform the methods of some embodiments. The required structure for a variety of these systems will appear from the description below. In addition, the techniques are not described with reference to any particular programming language, and various embodiments may thus be implemented using a variety of programming languages.
In alternative embodiments, the machine operates as a standalone device or may be connected (e.g., networked) to other machines. In a networked deployment, the machine may operate in the capacity of a server or a client machine in a client-server network environment, or as a peer machine in a peer-to-peer (or distributed) network environment.
The machine may be a server computer, a client computer, a personal computer (PC), a tablet PC, a laptop computer, a set-top box (STB), a personal digital assistant (PDA), a cellular telephone, an iPhone, a Blackberry, a processor, a telephone, a web appliance, a network router, switch or bridge, or any machine capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken by that machine.
While the machine-readable medium or machine-readable storage medium is shown in an exemplary embodiment to be a single medium, the terms “machine-readable medium” and “machine-readable storage medium” should be taken to include a single medium or multiple media (e.g., a centralized or distributed database, and/or associated caches and servers) that store the one or more sets of instructions. The terms “machine-readable medium” and “machine-readable storage medium” shall also be taken to include any medium that is capable of storing, encoding or carrying out a set of instructions for execution by the machine and that cause the machine to perform any one or more of the methodologies or modules of the presently disclosed technique and innovation.
In general, the routines executed to implement the embodiments of the disclosure may be implemented as part of an operating system or a specific application, component, program, object, module or sequence of instructions referred to as “computer programs.” The computer programs typically comprise one or more instructions set at various times in various memory and storage devices in a computer, and that, when read and executed by one or more processing units or processors in a computer, cause the computer to perform operations to execute elements involving the various aspects of the disclosure.
Moreover, while embodiments have been described in the context of fully functioning computers and computer systems, those skilled in the art will appreciate that the various embodiments are capable of being distributed as a program product in a variety of forms, and that the disclosure applies equally regardless of the particular type of machine or computer-readable media used to actually effect the distribution.
Further examples of machine-readable storage media, machine-readable media, or computer-readable (storage) media include but are not limited to recordable type media such as volatile and non-volatile memory devices, floppy and other removable disks, hard disk drives, optical disks (e.g., Compact Disk Read-Only Memory (CD ROMS), Digital Versatile Disks, (DVDs), etc.), among others, and transmission type media, such as digital and analog communication links.
In some circumstances, operation of a memory device, such as a change in state from a binary one to a binary zero or vice-versa, for example, may comprise a transformation, such as a physical transformation. With particular types of memory devices, such a physical transformation may comprise a physical transformation of an article to a different state or thing. For example, but without limitation, for some types of memory devices, a change in state may involve an accumulation and storage of charge or a release of stored charge. Likewise, in other memory devices, a change of state may comprise a physical change or transformation in magnetic orientation or a physical change or transformation in molecular structure, such as from crystalline to amorphous or vice-versa. The foregoing is not intended to be an exhaustive list of all examples in which a change in state from a binary one to a binary zero or vice-versa in a memory device may comprise a transformation, such as a physical transformation. Rather, the foregoing is intended as illustrative examples.
A storage medium typically may be non-transitory or comprise a non-transitory device. In this context, a non-transitory storage medium may include a device that is tangible, meaning that the device has a concrete physical form, although the device may change its physical state. Thus, for example, non-transitory refers to a device remaining tangible despite this change in state.
In many of the embodiments disclosed in this application, the technology is capable of allowing multiple different users to use the same piece of furniture equipped with the presently disclosed technology. For example, different people can sleep in the same bed. In addition, two different users can switch the side of the bed that they sleep on, and the technology disclosed here will correctly identify which user is sleeping on which side of the bed. The technology identifies the users based on any of the following signals alone or in combination: heart rate, breathing rate, body motion, or body temperature associated with each user. In another embodiment, the technology disclosed here identifies the user by receiving both the user ID and side of the bed associated with the user ID, from a device associated with the user.
The foregoing description of various embodiments of the claimed subject matter has been provided for the purposes of illustration and description. It is not intended to be exhaustive or to limit the claimed subject matter to the precise forms disclosed. Many modifications and variations will be apparent to one skilled in the art. Embodiments were chosen and described in order to best describe the principles of the invention and its practical applications, thereby enabling others skilled in the relevant art to understand the claimed subject matter, the various embodiments, and the various modifications that are suited to the particular uses contemplated.
While embodiments have been described in the context of fully functioning computers and computer systems, those skilled in the art will appreciate that the various embodiments are capable of being distributed as a program product in a variety of forms, and that the disclosure applies equally regardless of the particular type of machine or computer-readable media used to actually effect the distribution.
Although the above Detailed Description describes certain embodiments and the best mode contemplated, no matter how detailed the above appears in text, the embodiments can be practiced in many ways. Details of the systems and methods may vary considerably in their implementation details, while still being encompassed by the specification. As noted above, particular terminology used when describing certain features or aspects of various embodiments should not be taken to imply that the terminology is being redefined herein to be restricted to any specific characteristics, features, or aspects of the invention with which that terminology is associated. In general, the terms used in the following claims should not be construed to limit the invention to the specific embodiments disclosed in the specification, unless those terms are explicitly defined herein. Accordingly, the actual scope of the invention encompasses not only the disclosed embodiments, but also all equivalent ways of practicing or implementing the embodiments under the claims.
The language used in the specification has been principally selected for readability and instructional purposes, and it may not have been selected to delineate or circumscribe the inventive subject matter. It is therefore intended that the scope of the invention be limited not by this Detailed Description, but rather by any claims that issue on an application based hereon. Accordingly, the disclosure of various embodiments is intended to be illustrative, but not limiting, of the scope of the embodiments, which is set forth in the following claims.
This application is a continuation of U.S. patent application Ser. No. 15/178,117, filed Jun. 9, 2016, which application is a continuation in part of U.S. patent application Ser. No. 14/942,458, filed Nov. 16, 2015, which applications are incorporated herein by reference in their entirety.
Number | Date | Country | |
---|---|---|---|
Parent | 15178117 | Jun 2016 | US |
Child | 16135995 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 14942458 | Nov 2015 | US |
Child | 15178117 | US |