Sleep system with personalized sleep recommendations based on circadian sleep type
By presenting a sleep health questionnaire in user equipment, determining the type of circadian sleep, and providing personalized suggestions, the problem of automatic sensing and improvement of sleep quality in the prior art is solved, and effective monitoring and improvement of user sleep is achieved.
Patent Information
- Application Number
- CN202380057817.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2022-07-29
- Filing Date
- 2023-07-19
- Publication Date
- 2025-03-14
AI Technical Summary
The prior art is difficult to effectively and automatically sense and improve sleep quality, and lacks personalized sleep health advice.
By presenting a sleep health questionnaire in the graphical user interface of the user device, collecting user input, determining the circadian sleep type, and providing personalized sleep prompts, habit recommendations, routine changes and other suggestions based on this.
It realizes personalized monitoring and improvement of users' sleep quality, provides customized suggestions for different circadian rhythm types, and improves users' sleep quality and health.
Smart Images

Figure CN119631138A_ABST
Abstract
Description
[0001] CROSS-REFERENCE TO RELATED APPLICATIONS
[0002] This application claims the benefit of U.S. Provisional Application Serial No. 63 / 393,292, filed on July 29, 2022. The disclosure of the prior application is considered part of the disclosure of the present application, and its entirety is incorporated into the present application. Technical Field
[0003] The present application relates to automatic sensing of sleep quality and improvement recommendations. Background Art
[0004] Typically, a bed is a piece of furniture for sleeping or relaxing. Many modern beds include a soft mattress on a bed frame. The mattress may include springs, foam materials and / or air chambers to support the weight of one or more users. Summary of the invention
[0005] The present application generally describes a technology for providing personalized insights and suggestions to users to improve their sleep quality and / or health. More specifically, the disclosed technology is used to present a sleep health questionnaire in a graphical user interface (GUI) display at a user device. A computer system may receive user input to the questionnaire and determine the user's circadian rhythm sleep type based on the user input. The computer system may then identify and present personalized insights corresponding to the user's circadian rhythm sleep type, such as sleep prompts, habit recommendations, routine changes, and / or other behaviors to the user. The circadian rhythm sleep type may correspond to the habits of a night owl, the habits of an early riser, and / or the habits of an intermediate. In addition, the computer system may utilize existing data about a user and / or user group, which may be obtained from sensors of a bed system and / or wearable device that collect various data metrics about the user to determine the user's circadian rhythm sleep type and / or deliver insights that can achieve subjective and emotional responses from the user. For example, a user may receive enhanced personalized and general sleep health insights based on their selected or other input responses to the questionnaire and the system's automatic analysis of historical sleep patterns and / or user behavior. Prompts may be presented using insights from a questionnaire or other topic that specifically addresses the user's circadian rhythm. Such prompts may be exposed at one or more GUI displays at a user device using randomization logic and / or intelligent machine learning rules / logic configured to determine the relevance of the prompts to the user's experience, sleep patterns and / or sleep quality and / or health.
[0006] Insights selected and presented to the user in a graphical user interface (GUI) display at the user device may include recommendations that deepen and / or start specific habits that improve the user's sleep quality and / or health. Insights may correspond to the user's circadian sleep type, stress level (e.g., subjective user perception and / or objective sensor measurement), and / or ability to fall asleep and stay asleep (e.g., subjective user perception and / or objective sensor measurement). Insights may also bring educational benefits about various multidimensional factors of sleep quality. The computer system may choose to include prompts and / or recommended insights to link the user's activities during the day (or other time period) to getting better sleep in the subsequent day or days (or other future time periods).
[0007] A system of one or more computers may be configured to perform specific operations or actions described herein by means of installing software, firmware, hardware, or a combination thereof on the system, which in operation causes or causes the system to perform actions. One or more computer programs may be configured to perform specific operations or actions described herein by means of including instructions that, when executed by a data processing device, cause the device to perform actions.
[0008] One or more embodiments described herein may include a system for improving at least one of a user's sleep quality and health indicators, which may include a computer system in communication with a user device of the user. The computer system may be configured to: transmit a subjective sleep health questionnaire to the user device for presentation in a graphical user interface (GUI) display, receive user input from the user device indicating at least one response to the subjective sleep health questionnaire, process the user input to determine the user's circadian sleep type, identify at least one insight based on the user's circadian sleep type for presentation in the GUI display of the user device, and transmit at least one insight to the user device for presentation in the GUI display.
[0009] In some implementations, the embodiments described herein may optionally include one or more of the following features. For example, processing user input to determine the user's circadian sleep type may include: retrieving a lookup table mapping responses to a subjective sleep health questionnaire to circadian sleep types from a data repository, and selecting a circadian sleep type that matches at least one response from the user. The computer system may also send the subjective sleep health questionnaire to the user device based on receiving an indication from the user device that the user has registered an account with the computer system. In some implementations, at least one insight may be a behavioral recommendation to maintain the user's current circadian rhythm. The at least one insight may be a behavioral recommendation to improve the user's current circadian rhythm within a predetermined time period. The predetermined time period may be the next sleep period. The predetermined time period may be a threshold number of consecutive sleep periods. The threshold number may be 5 consecutive sleep periods. The threshold number may be 7 consecutive sleep periods. The at least one insight may be a behavioral recommendation to reduce the user's current stress level by a threshold amount. The at least one insight may be a behavioral recommendation to improve the user's ability to fall asleep faster by a threshold amount. The at least one insight may be a behavioral recommendation for improving the user's ability to stay asleep during a sleep period.
[0010] As another example, identifying at least one insight may include: retrieving sleep and health insights associated with the user's circadian sleep type from a data repository, identifying a subgroup of insights from the retrieved sleep and health insights based on processed user input, and selecting at least one insight from the subgroup of insights using a randomization technique to present to the user. The randomization technique may be a random value generator. In some implementations, the questionnaire may prompt the user for user input regarding at least one of the user's perceived circadian rhythm, the user's perceived stress, the user's perceived difficulty falling asleep, and the user's perceived difficulty staying asleep. The at least one insight may include a recommendation for when the user should exercise. The at least one insight may include a recommendation for when the user is most alert during a predetermined time period. The predetermined time period may be the amount of time between two consecutive sleep periods. The predetermined time period may be the amount of time between when the user wakes up from a first sleep period and when the user falls asleep in a second sleep period. The at least one insight may include a recommendation for when the user should eat. The at least one insight may include a recommendation for when the user should start a bedtime routine. The at least one insight may include a notification prompting the user to perform an activity that may improve at least one of the user's current health indicator and current sleep quality.
[0011] As another example, the subjective sleep health questionnaire may prompt the user to indicate whether the user is an early riser, a night owl, or an in-between. The subjective sleep health questionnaire may prompt the user to indicate at least one factor that may disrupt the user's sleep pattern. The subjective sleep health questionnaire may prompt the user to indicate the frequency of at least one sleep problem. The at least one sleep problem may include at least one of the group consisting of: difficulty falling asleep, waking up during a sleep period, returning to sleep after waking up during a sleep period, and waking up too early and being unable to fall asleep again. In some specific implementations, the subjective sleep health questionnaire may prompt the user to indicate at least one sleep condition that the user may be diagnosed with. The subjective sleep health questionnaire may also prompt the user to indicate the frequency with which the user uses at least one sleep aid.
[0012] In some specific implementations, sending a subjective sleep health questionnaire to a user device for presentation in a GUI display can be performed in a single instance. The computer system can also be configured to receive updated user input for the subjective sleep health questionnaire from the user device at a later time than the computer system receives the user input. At least one insight can be a personalized insight corresponding to historical sleep and health data associated with the user. At least one insight can also be a general insight that can correspond to sleep and health data for a user group including the user. The subjective sleep health questionnaire can be presented in a first screen displayed by the GUI, and at least one insight can be presented in a second screen displayed by the GUI, which can be different from the first screen.
[0013] As another example, at least one insight may include a prompt about the user's circadian rhythm sleep type and at least one behavioral recommendation to improve the user's sleep quality or health indicators. The prompt and at least one behavioral recommendation may be presented simultaneously in a GUI display, which can be scrolled in a vertical direction. In response to receiving a user input indicating a scrolling feature from a user device, the computer system may be configured to send instructions to the user device, which instructions may cause the user device to simultaneously present at least a portion of the prompt and at least one behavioral recommendation in the GUI display. The other part of at least one of the prompt and at least one behavioral recommendation may no longer be visible in the GUI display. At least one insight may further include an optional option for generating daily affairs based on at least one behavioral recommendation, which is presented in the GUI display simultaneously with the prompt and at least one behavioral recommendation. In response to receiving a user input indicating a selection of an optional option from a user device, the computer system may also be configured to send instructions to the user device, which instructions may cause the user device to present another screen in the GUI display, which may replace the presentation of the prompt, at least one behavioral recommendation, and the optional option.
[0014] At least one behavior recommendation may also be presented in the GUI display using a graphical element corresponding to the type of the at least one behavior recommendation. For example, the type of the at least one behavior recommendation may be an exercise time recommendation and the corresponding graphical element may be an exercise equipment, the type of the at least one behavior recommendation may be a most alert recommendation and the corresponding graphical element may be a light bulb, the type of the at least one behavior recommendation may be a meal time recommendation and the corresponding graphical element may be an appliance, and the type of the at least one behavior recommendation may be a get ready for bed time recommendation and the corresponding graphical element may be a coffee cup. In some implementations, at least one behavior recommendation may be presented in the GUI display while indicating a threshold time period for executing the at least one behavior recommendation, the threshold time period indicating a time range in which executing the at least one behavior recommendation may improve at least one of the user's sleep quality and health indicator.
[0015] As another example, the system may also include a bed having at least one sensor, which may be configured to sense physical phenomena of a user on the bed. The bed may include a controller, and the computer system may be the controller. The computer system may be part of the bed. The computer system may be remote from the bed. The bed may include a mattress having at least one air chamber, and the at least one sensor may be a pressure sensor in fluid communication with the air chamber. The system may also include a mechanism for controlling the pressure of the bed, which may include at least one sensor. The computer system may be a server physically separated from the bed and the user device, and connected to the bed and the user device via a data network. The at least one sensor may be at least one of a pressure sensor, a temperature sensor, a weighing sensor, and a humidity sensor.
[0016] In some implementations, the computer system may be configured to receive sensor readings from at least one sensor during a sleep period of a user, process the sensor readings to determine at least one of an objective sleep quality and an objective health indicator, and identify a subset of insights based at least in part on the processed user input and the processed sensor readings. The computer system may also be configured to receive sensor readings from at least one sensor during a sleep period of a user, process the sensor readings to determine at least one of an objective sleep quality and an objective health indicator, and select at least one insight from the subset of insights based at least in part on the processed sensor readings. In some implementations, the computer system may receive sensor readings from at least one sensor during a sleep period of a user, and process the sensor readings to determine a suggested circadian sleep type for the user. The computer system may also verify the suggested circadian sleep type for the user using the circadian sleep type determined based on the user input.
[0017] In some implementations, to select at least one insight from the subgroup of insights, the computer system may assemble the subgroup of insights from templates of general insights that have been completed using information that is common to a group of users that may include the user. To select at least one insight from the subgroup of insights, the computer system may assemble the subgroup of insights from templates of personalized insights that have been completed using information that is specific to the user. Sometimes, the computer system may be a cloud computing system. The computer system may also be a user device of the user. The computer system may be a home automation hub.
[0018] In some specific implementations, the computer system may also retrieve historical sleep data about the user from the data repository and apply the rule set to the historical sleep data to determine the user's recommended circadian sleep type. The computer system may also verify the user's recommended circadian sleep type using the circadian sleep type determined based on the user input. The retrieval step and the application step may be performed before the sleep health questionnaire step is sent to the user device. The retrieval step and the application step may also be performed after at least one of the sleep health questionnaire step and the processing step is sent to the user device. The historical sleep data may include the user's sleep patterns and behaviors within a threshold time period. The circadian sleep type may be at least one of a night owl, an early riser, and an intermediate. At least one insight may be a reminder to go to bed within a predetermined time. The circadian sleep type may be at least one of a first type, a second type, and a third type. The first type may be a night owl, the second type may be an early riser, and the third type may be an intermediate. The circadian sleep type may also be at least one of a first type and a second type. The first type may be a night owl, and the second type may be an early riser.
[0019] One or more embodiments described herein may include a system for improving at least one of a user's sleep quality and health metrics, the system having: a computer system that communicates with a user device of the user and is configured to: retrieve the user's sleep pattern and behavior data from a data repository; apply a rule set to the retrieved data to determine the user's circadian sleep type; determine at least one insight, prompt, or reminder for the user, the at least one insight, prompt, or reminder corresponding to the user's circadian sleep type; and return at least one of (i) the circadian sleep type and (ii) the determined insight, prompt, or reminder.
[0020] The system may optionally include one or more of the following features. For example, the returning step may include sending at least one of (i) and (ii) to a user device for presentation in a GUI display of the user device. The returning step may include generating instructions to control a component or peripheral device of the bed system based on at least one insight, prompt, and reminder. Determining the user's circadian sleep type may include mapping the user's sleep pattern and behavior data to at least one circadian sleep type defined by a rule set. The computer system may also be further configured to: output the user's circadian sleep type in a GUI display of the user device, receive user input indicating verification of the circadian sleep type from the user device, and perform the determining step in response to receiving the user input. The computer system may also: output the user's circadian sleep type in a GUI display of the user device; receive user input from the user device indicating a user-perceived circadian sleep type that may be different from the output circadian sleep type; and in response to receiving the user input, determine for the user at least one insight, prompt, and reminder that may correspond to the user-perceived circadian sleep type.
[0021] One or more embodiments described herein may include a system for improving at least one of a user's sleep quality and health indicators, the system having: a computer system that communicates with a user device of the user, the computer system being configured to: present a sleep health questionnaire at the user device; receive user input indicating at least one response to the questionnaire from the user device; determine a recommended circadian sleep type based on the user input; retrieve the user's sleep pattern and behavior data from a data repository; determine whether the retrieved sleep pattern and behavior data corresponds to the user's recommended circadian sleep type; based on the retrieved sleep pattern and behavior data corresponding to the recommended circadian sleep type, determine at least one insight, tip, or reminder for the user, the determined insight, tip, or reminder corresponding to the recommended circadian sleep type; and return at least one of (i) the recommended circadian sleep type and (ii) an insight, tip, or reminder.
[0022] The system may optionally include one or more of the following features. For example, the computer system may also determine another circadian sleep type for the user based on the retrieved data that does not correspond to the recommended circadian sleep type, determine at least one insight, prompt, and reminder for the user that may correspond to the other circadian sleep type, and return at least one of (i) another circadian sleep type and (ii) an insight, prompt, or reminder corresponding to the other circadian sleep type.
[0023] One or more embodiments described herein may include a system that can be configured to generate an output based on a user's circadian rhythm sleep type. The system may optionally include one or more of the above features.
[0024] One or more embodiments described herein may include a system that can be configured to determine a user's circadian sleep type based on user input to a questionnaire. The system may optionally include one or more of the above features.
[0025] One or more embodiments described herein may include a system that can be configured to determine a user's circadian sleep type based on the user's historical sleep patterns and behavioral data. The system may optionally include one or more of the above features.
[0026] One or more embodiments described herein may include a system capable of determining a user's circadian sleep type based on a combination of the user's historical sleep pattern and behavior data and user input to a questionnaire. The system may optionally include one or more of the above features.
[0027] One or more embodiments described herein may include a system that determines a user's circadian sleep type and generates an output based on the determined user's circadian sleep type. The system may optionally include one or more of the above features.
[0028] One or more embodiments described herein may include a system for: receiving sensor data from a sensor of a bed system during a sleep period of a user, receiving user input from a user device of the user indicating a response to a questionnaire, determining a circadian sleep type of the user based at least in part on the sensor data and the user input, generating at least one insight, prompt, or suggestion based on the circadian sleep type of the user, and sending at least one insight, prompt, or suggestion to the user device for presentation in a GUI display of the user device. The system may optionally include one or more of the above features.
[0029] One or more embodiments described herein may include a system that can: retrieve historical sleep pattern and behavior data for a user from a data repository, receive user input indicating a response to a questionnaire from a user device of the user, determine the user's circadian sleep type based at least in part on the retrieved historical sleep pattern and behavior data and the user input, generate at least one insight, prompt, or suggestion based on the user's circadian sleep type, and send at least one insight, prompt, or suggestion to the user device for presentation in a GUI display of the user device. The system may optionally include one or more of the above features.
[0030] One or more embodiments described herein may include a method for identifying behavioral recommendations for improving at least one of a user's sleep quality and health indicators, the method comprising: sending a subjective sleep health questionnaire by a computing system to a user device for presentation in a graphical user interface (GUI) display of the user device, receiving user input from the user device indicating at least one response to the subjective sleep health questionnaire by the computing system, processing the user input by the computing system to determine the user's circadian sleep type, identifying at least one insight by the computing system based on the user's circadian sleep type for presentation in the GUI display at the user device, and sending at least one insight by the computing device to the user device for presentation in the GUI display of the user device. The method may optionally include one or more of the features described above.
[0031] One or more embodiments described herein may include a method for identifying a behavioral recommendation for improving at least one of a user's sleep quality and a health metric, the method comprising: retrieving, by a computing system, sleep pattern and behavior data of a user from a data repository; applying, by the computing system, a rule set to the retrieved data to determine a circadian sleep type of the user; determining, by the computing system, at least one insight, prompt, or reminder for the user, the at least one insight, prompt, or reminder corresponding to the circadian sleep type of the user; and returning, by the computing system, at least one of (i) the circadian sleep type and (ii) the determined insight, prompt, or reminder. The method may optionally include one or more of the above features.
[0032] One or more embodiments described in the text may include a method for identifying a behavioral recommendation for improving at least one of a user's sleep quality and a health indicator, the method comprising: presenting a sleep health questionnaire at a user device by a computing system; receiving user input indicating at least one response to the questionnaire from the user device by the computing system; determining a recommended circadian sleep type by the computing system based on the user input; retrieving the user's sleep pattern and behavior data from a data repository by the computing system; determining by the computing system whether the retrieved sleep pattern and behavior data corresponds to the user's recommended circadian sleep type; determining by the computing system at least one insight, prompt, or reminder for the user based on the retrieved sleep pattern and behavior data corresponding to the recommended circadian sleep type, the determined insight, prompt, or reminder corresponding to the recommended circadian sleep type; and returning by the computing system (i) the recommended circadian sleep type and (ii) at least one of the insight, prompt, or reminder. The method may optionally include one or more of the above features.
[0033] One or more embodiments described herein include a method that includes generating an output based on a user's circadian sleep type. The method may optionally include one or more of the above features.
[0034] One or more embodiments described herein include a method that includes determining a user's circadian sleep type based on user input to a questionnaire. The method may optionally include one or more of the above features.
[0035] One or more embodiments described herein include a method that includes determining a user's circadian sleep type based on the user's historical sleep pattern and behavior data. The method may optionally include one or more of the above features.
[0036] One or more embodiments described herein include a method that includes determining a user's circadian sleep type based on a combination of the user's historical sleep pattern and behavior data and user input to a questionnaire. The method may optionally include one or more of the above features.
[0037] One or more embodiments described herein include a method that includes determining a user's circadian sleep type and generating an output based on the determined user's circadian sleep type. The method may optionally include one or more of the above features.
[0038] One or more embodiments described herein include a method comprising: receiving, by a computing system, sensor data during a sleep period of a user from a sensor of a bed system, receiving, by the computing system, user input indicating a response to a questionnaire from a user device of the user, determining, by the computing system, a circadian sleep type of the user based at least in part on the sensor data and the user input, generating, by the computing system, at least one insight, prompt, or suggestion based on the circadian sleep type of the user, and sending, by the computing system, the at least one insight, prompt, or suggestion to the user device for presentation in a GUI display of the user device. The method may optionally include one or more of the features described above.
[0039] One or more embodiments described herein include a method comprising: retrieving, by a computing system, historical sleep pattern and behavior data of a user from a data repository, receiving, by the computing system, user input indicating a response to a questionnaire from a user device of the user, determining, by the computing system, a circadian sleep type of the user based at least in part on the retrieved historical sleep pattern and behavior data and the user input, generating, by the computing system, at least one insight, prompt, or suggestion based on the circadian sleep type of the user, and sending, by the computing system, the at least one insight, prompt, or suggestion to the user device for presentation in a GUI display of the user device. The method may optionally include one or more of the features described above.
[0040] The devices, systems, and techniques described herein may provide one or more of the following advantages. For example, the disclosed techniques may provide a selection of enhanced insights and recommendations to improve the sleep quality and / or health of a particular user. The disclosed techniques may utilize a robust dataset of objective sensor-derived data and system-based inferences about a user, their sleep quality, sleep habits, and / or health, combined with subjective user-perceived sleep health data to identify and select specific insights to improve the sleep quality and / or health of the user.
[0041] As another example, the disclosed technology provides for determining personalized insights for a user based on determining and / or assessing the user's circadian sleep type. Some users may be night owls, while others may be early risers. Although users may know that they stay up late or wake up early, they may not know how these habits relate to their sleep quality / health. Therefore, when they answer questions about their sleep habits, the computing system can process these responses to determine the user's circadian sleep type, and based on the circadian sleep type, personalized insights can be curated with tips about what the user can do during the current time period (e.g., the current day) to improve their sleep in future time periods (e.g., the next day, the next few days). In addition, personalized insights can be generated to help users keep their circadian rhythms on schedule.
[0042] The disclosed technology can be presented in a user-friendly graphical user interface (GUI) in such a way that the user is gently nudged to take actions to improve their future sleep quality and / or health, and gives the user autonomy to improve their sleep quality and / or health. For example, certain actions that may have the greatest impact on improving the user's sleep quality and / or health can be gradually promoted and presented before other actions in a single GUI presented in a mobile application at the user's mobile device or across multiple GUIs. These actions can include short-term actions, such as adjusting their sleep schedule for the next 7 days to a recommended schedule based on the user being a night owl, in order to develop habits and help the user achieve long-term sleep quality and / or health improvements. In addition, the disclosed technology can use in-app notifications and prompts to gently guide users to activities that can teach them how to optimize their sleep and / or health over time.
[0043] The disclosed technology can also improve home automation technology. Computer technology can generate a user's subjective perception of their sleep health in combination with automatic sensing of the user's sleep, historical sleep / health data about the user, and / or historical sleep / health data about a general user group without the need for human experts (e.g., doctors, therapists) to spend time for each use. This can allow for the provision of beneficial behavioral therapy to users who would otherwise not be able to access such information. For example, users in particularly remote or low-density areas may not be able to easily access behavioral therapy services, and these users can access machine-generated recommendations that are still targeted at the lives and situations of specific users. It is understood that this can also allow a limited number of behavioral experts to provide assistance to more recipients than would be possible without the technology. This technology does not require experts to spend time on a one-to-one analysis to provide personalized advice to a single recipient, but allows experts to develop a set of rules that, when combined with data from a specific user, generates user-specific advice that embodies the best advice from the expert. The technology advantageously mixes both objective measures of sleep quality and subjective measures of sleep quality (e.g., sleep health information entered by the user). By combining both subjective and objective measurements, the technology can be advantageously more effective than technologies that use only one or the other of the two. For example, a user may be dealing with physiological problems that are not (yet) reflected in objective measurements (e.g., heart rate, breathing, sleep length) but are reflected in subjective measurements (e.g., questions answered by the user about their subjective feelings). For example, a user with depression may initially show very good objective measurements of sleep (e.g., longer sleep periods, slower heartbeats, fewer large movements), but may also feel very sleepy or listless subjectively due to the expression of their depressive state. This technology can advantageously take into account the user's subjective feelings, where technologies that only use objective measurements may mistakenly identify the user as receiving significant high-quality sleep, and therefore assume a high level of alertness. It can be understood that there are clinical and subclinical reasons that a user's objective and subjective measurements of sleep may be atypical, and the technology can advantageously take into account such users.
[0044] The details of one or more specific implementations are described in the accompanying drawings and the detailed description below. Other features, aspects and potential advantages will become apparent from the accompanying description and drawings. BRIEF DESCRIPTION OF THE DRAWINGS
[0045] Figure 1 An exemplary air bed system is shown.
[0046] Figure 2 is a block diagram of an example of various components of an air bed system.
[0047] Figure 3An exemplary environment including a bed in communication with devices located in and around the home is shown.
[0048] Figure 4A and Figure 4B is a block diagram of an exemplary data processing system that may be associated with a bed.
[0049] Figure 5 and Figure 6 is a block diagram of an example of a motherboard that may be used in a data processing system associated with a bed.
[0050] Figure 7 is a block diagram of an example of a daughter board that may be used in a data processing system associated with a bed.
[0051] Figure 8 is a block diagram of an example of a motherboard without a daughterboard that may be used in a data processing system associated with a bed.
[0052] Fig.9A is a block diagram of an example of a sensor array that may be used in a data processing system associated with a bed.
[0053] Fig. 9B is a schematic top view of a bed having an example of a sensor strip with one or more sensors that may be used in a data processing system associated with the bed.
[0054] Fig. 9C is a schematic diagram of an exemplary bed with force sensors located at the bottom of the legs of the bed.
[0055] Fig.10 is a block diagram of an example of a control array that may be used in a data processing system associated with a bed.
[0056] Fig.11 is a block diagram of an example of a computing device that may be used in a data processing system associated with a bed.
[0057] Figures 12 to 16 is a block diagram of an exemplary cloud service that may be used in a data processing system associated with a bed.
[0058] Fig.17 is a block diagram of an example of using a data processing system that may be associated with a bed to automate peripherals around the bed.
[0059] Fig.18 is a schematic diagram illustrating examples of computing devices and mobile computing devices.
[0060] Fig.19 is a conceptual diagram for determining personalized insights for users of the bed system.
[0061] FIG. 20A to FIG. 20Eis an exemplary graphical user interface (GUI) for presenting personalized insights to a user.
[0062] Fig.21 is an exemplary GUI for receiving input from a user for a sleep health questionnaire.
[0063] Fig. 22 is a block diagram of a table depicting exemplary parameters for generating personalized insights based on user input to a sleep health questionnaire.
[0064] FIG. 23A to FIG. 23B is a flow chart of the process used to determine personalized insights for users.
[0065] Fig.24 Is a swim lane diagram of the process used to determine personalized insights for users.
[0066] Fig.25 is a flow chart of a process for providing personalized insights to users in a GUI.
[0067] Fig.26 is a flow chart of a process for automatically determining a user's circadian sleep type.
[0068] Fig. 27 is a flow chart of another process for automatically determining a user's circadian sleep type.
[0069] Fig.28 is a flow chart of a process for verifying a user's perceived circadian sleep typology by automatically analyzing the user's historical sleep data.
[0070] Like reference numbers in the various drawings indicate like elements. DETAILED DESCRIPTION
[0071] The document as a whole describes a technique for determining personalized insights for a user of a bed system based on the user's circadian sleep type. For example, a user may provide user input at a mobile device such as a smart phone, the user input indicating the user's subjective sense of sleep quality and / or health. A computer system may process the user input to determine the user's circadian sleep type based on the user's subjective responses to a sleep health questionnaire. Based on the user's circadian sleep type, the computer system may generate a set of personalized insights that may help improve the user's sleep quality and / or health over time. The personalized insights may be directed to improving the user's circadian sleep type, stress level, and / or difficulty falling asleep and / or difficulty staying asleep. Personalized insights may be selected based on the user's answers in their health profile (e.g., a sleep health questionnaire), and the personalized insights may include prompts that may specifically address specific topics from the user's health profile. Such prompts may appear on a selection GUI at the user's mobile device using random logic and / or machine learning rules to gently prompt the user to take action. In some implementations, the computer system can dynamically randomize the presentation of personalized insights at the user's mobile device so that every day (or every time the user opens the sleep tracking application at their device), the user receives new personalized insights that are intended to gently nudge the user to take action and / or establish habits that improve their sleep quality and / or health and / or maintain their circadian rhythm. The computer system can also dynamically determine the most relevant personalized insights to present to the user at a particular time by leveraging intelligent machine learning rules and logic.
[0072] Thus, the disclosed technology can provide personalized recommendations that reinforce the user's habits and give the user a sense of autonomy in how the user can change and / or improve their overall sleep quality and / or health. The disclosed technology can similarly gamify the sleep and activity experience to reinforce behaviors and / or habits that improve the user's sleep physiology. The disclosed technology can utilize a robust historical data set about the user and other users in the general population to deliver leading indicators and information that can enable the user to make subjective and emotional responses to improve their overall sleep quality and / or health. The disclosed technology can also provide educational benefits with personalized insights / recommendations to help improve various factors of sleep quality.
[0073] Exemplary Air Bed Hardware
[0074] Figure 1An exemplary air bed system 100 is shown including a bed 112. The bed 112 may be a mattress including at least one air chamber 114 surrounded by an elastic frame 116 and enclosed by a cover 118. The elastic frame 116 may include any suitable material, such as foam. In some embodiments, the elastic frame 116 may be combined with a top layer or multiple layers of foam ( Figure 1 In other embodiments, the mattress structure can be changed according to the needs of the application.
[0075] like Figure 1 As shown, the bed 112 can be a two-chamber design having a first fluid chamber and a second fluid chamber (such as a first air chamber 114A and a second air chamber 114B). Sometimes, the bed 112 can include a chamber for use with a fluid other than air suitable for the application. For example, the fluid can include a liquid. In some embodiments, such as a single bed or a crib, the bed 112 can include a single air chamber 114A or 114B or multiple air chambers 114A and 114B. Although not shown, sometimes the bed 112 can include additional air chambers.
[0076] The first air chamber 114A and the second air chamber 114B can be in fluid communication with the pump 120. The pump 120 can be electrically connected to the remote controller 122 via the 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 controller 122. The control box 124 can be configured to operate the pump 120 based on commands entered by the user using the remote controller 122 to cause an increase and decrease in the fluid pressure of the first air chamber 114A and the second air chamber 114B. In some specific implementations, the control box 124 is integrated into the housing of the pump 120. In addition, sometimes, the pump 120 can communicate wirelessly with the mobile device via the control box 124 (e.g., via a home network, WIFI, Bluetooth or other wireless network). The mobile device may include, but is not limited to, a user's smart phone, mobile phone, laptop, tablet computer, computer, wearable device, home automation device or other computing device. The mobile application can be presented at the mobile device and provide the user with the function of controlling the bed 112 and viewing information about the bed 112. The user can enter commands in the mobile application presented at the mobile device. The input commands may be transmitted to the control box 124, which may operate the pump 120 based on the commands.
[0077] 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 remote control 122 may include one or more additional output selection mechanisms and / or buttons. The display 126 may present information about the settings of the bed 112 to the user. For example, the display 126 may present the pressure settings of both the first air chamber 114A and the second air chamber 114B or one of the first air chamber 114A and the second air chamber 114B. Sometimes, the display 126 may be a touch screen and may receive input from the user indicating one or more commands to control the pressure in the first air chamber 114A and the second air chamber 114B and / or other settings of the bed 112.
[0078] The output selection mechanism 128 can allow the user to switch the airflow generated by the pump 120 between the first air chamber 114A and the second air chamber 114B, thereby being able to control multiple air chambers with a single remote control 122 and a single pump 120. For example, the output selection mechanism 128 can be a physical control (e.g., a switch or button) or an input control presented on the display 126. Alternatively, a separate remote control unit can be provided for each air chamber 114A and 114B, and each remote control unit can include the ability to control multiple air chambers. The pressure increase button 129 and the pressure decrease button 130 can allow the user to increase or decrease the pressure in the air chamber selected with the output selection mechanism 128, respectively. Adjusting the pressure in the selected air chamber can cause a corresponding adjustment to the firmness of the corresponding air chamber. In some embodiments, the remote control 122 can be omitted or appropriately modified according to the application.
[0079] Figure 2 1 is a block diagram of an example of various components of an air bed system. These components can be used in an exemplary air bed system 100. 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 specific implementations, the switching mechanism 138 may be located in the pump 120 instead of the control box 124. The pump 120 and the remote control 122 may communicate bidirectionally with the control box 124. The pump 120 includes a motor 142, a pump manifold 143, a safety valve 144, a first control valve 145A, a second control valve 145B, and a pressure transducer 146. The pump 120 is connected to the first air chamber 114A and the second air chamber 114B fluid via a first tube 148A and a second tube 148B, respectively. The first control valve 145A and the second control valve 145B may be controlled by the switching mechanism 138 and may be operable to regulate fluid flow between the pump 120 and the first air chamber 114A and the second air chamber 114B, respectively.
[0080] In some implementations, the pump 120 and the control box 124 can be provided and packaged as a single unit. In some implementations, the pump 120 and the control box 124 can be provided as physically separate units. The control box 124, the pump 120, or both can be integrated or contained within a bed frame, base, or bed support structure supporting the bed 112. Sometimes, the control box 124, the pump 120, or both can be located outside the bed frame, base, or bed support structure (e.g., Figure 1 ).
[0081] Figure 2 The air mattress system 100 includes two air chambers 114A and 114B and Figure 1 A single pump 120 for the bed 112 shown. However, other embodiments may include an air bed system having two or more air chambers and one or more pumps incorporated into the air bed system to control the air chambers. For example, a separate pump may be associated with each air chamber. As another example, a pump may be associated with multiple chambers. A first pump may be associated with an air chamber extending longitudinally from the left side of the air bed system 100 to the midpoint, and a second pump may be associated with an air chamber extending longitudinally from the right side of the air bed system 100 to the midpoint. The separate pumps may allow each air chamber to be inflated or deflated independently and / or simultaneously. Additional pressure transducers may also be incorporated into the air bed system 100 so that a separate pressure transducer may be associated with each air chamber.
[0082] As an illustrative example, in use, the processor 136 can send a pressure reduction command to one of the air chambers 114A or 114B, and the switch mechanism 138 can convert the low pressure command signal sent by the processor 136 into a higher operating voltage sufficient to operate the safety valve 144 of the pump 120 and open the corresponding control valve 145A or 145B. Opening the safety valve 144 can allow air to escape from the air chamber 114A or 114B through the corresponding air tube 148A or 148B. During deflation, the pressure transducer 146 can send a pressure reading to the processor 136 via the A / D converter 140. The A / D converter 140 can receive analog information from the pressure transducer 146 and can convert the analog information into digital information that can be used by the processor 136. The processor 136 can send a digital signal to the remote control 122 to update the display 126 to convey the pressure information to the user. The processor 136 can also send the digital signal to other devices that communicate with the air mattress system by wire or wirelessly, including but not limited to the mobile devices described herein. The user may then view pressure information associated with the air bed system at their device instead of the remote control 122 or at their device in conjunction with the remote control.
[0083] As another example, the processor 136 may send an increase pressure command. The pump motor 142 may be energized in response to the increase pressure command and deliver air to a designated one of the air chambers 114A or 114B through the air tube 148A or 148B via electronically operated corresponding valves 145A or 145B. When air is delivered to the designated air chamber 114A or 114B to increase the firmness of the air chamber, the pressure transducer 146 may sense the pressure within the pump manifold 143. The pressure transducer 146 may send the 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 a digital signal to the remote control 122 to update the display 126.
[0084] Generally speaking, during the inflation or deflation process, the pressure sensed within the pump manifold 143 can provide an approximation of the actual pressure within the corresponding air chamber in fluid communication with the pump manifold 143. An exemplary method includes shutting down the pump 120, allowing the pressure within the air chamber 114A or 114B and the pump manifold 143 to balance, and then sensing the pressure within the pump manifold 143 using the pressure transducer 146. Providing a sufficient amount of time to allow the pressure within the pump manifold 143 and chamber 114A or 114B to balance can result in a pressure reading that is an accurate approximation of the actual pressure within the air chamber 114A or 114B. In some specific implementations, a plurality of pressure sensors (not shown) can be used to continuously monitor the pressure of the air chambers 114A and / or 114B. The pressure sensors can be located within the air chambers. The pressure sensors can also be fluidly connected to the air chambers, for example, along air tubes 148A and 148B.
[0085] In some specific implementations, the information collected by the pressure transducer 146 can be analyzed to determine various states of the user lying on the bed 112. For example, the processor 136 can use the information collected by the pressure transducer 146 to determine the heart rate or breathing rate of the user. As an illustrative example, the user can lie on the side of the bed 112 including the chamber 114A. The pressure transducer 146 can monitor the pressure fluctuations of the chamber 114A, and this information can be used to determine the heart rate and / or breathing rate of the user. As another example, the collected data can be used to perform additional processing to determine the user's sleep state (e.g., awake, light sleep, deep sleep). For example, the processor 136 can determine when the user falls asleep, and the various sleep states of the user when sleeping (e.g., sleep stages). Based on the determined heart rate, breathing rate and / or sleep state of the user, the processor 136 can determine information about the user's sleep quality. The processor 136 can, for example, determine how well the user slept during a particular sleep cycle. The processor 136 can also determine the user's sleep cycle trend. Therefore, the processor 136 can generate recommendations for improving the user's sleep quality and overall sleep cycle. The information determined about the user's sleep cycle (e.g., heart rate, breathing rate, sleep state, sleep quality, suggestions for improving sleep quality, etc.) can be sent to the user's mobile device and presented in the mobile application, as described above.
[0086] Additional information associated with the user of the air mattress system 100 that can be determined using the information collected by the pressure transducer 146 includes user movement, presence on the surface of the bed 112, weight, arrhythmia, snoring, partner snoring, and apnea. One or more other health conditions of the user can also be determined based on the information collected by the pressure transducer 146. Taking user presence detection as an example, the pressure transducer 146 can be used to detect the presence of the user on the bed 112, for example, via total pressure change determination and / or via one or more of a respiratory rate signal, a heart rate signal, and / or other biometric signals. Detection of the user's presence can facilitate the determination by the processor 136 of adjustments to the settings of the bed 112 (e.g., adjusting the firmness to the user's preferred firmness setting when the user is present) and / or peripheral devices (e.g., turning off lights, activating a heating or cooling system, etc. when the user is present).
[0087] For example, a simple pressure detection process may identify an increase in pressure as an indication of the presence of a user. As another example, if the detected pressure increases above a specified threshold (so as to indicate that a person or other object over a certain weight is located on the bed 112), the processor 136 may determine that the user is present. As yet another example, the processor 136 may identify an increase in pressure in conjunction with detected slight, regular pressure fluctuations as corresponding to the presence of a user. The presence of regular fluctuations may be identified as being caused by the user's breathing or heart rhythm (or both). Detection of breathing or heartbeat may distinguish between the presence of a user on the bed and another object (e.g., a suitcase, a pet, a pillow, etc.) being placed on the bed.
[0088] In some implementations, pressure fluctuations can be measured at the pump 120. For example, one or more pressure sensors can be located in one or more internal cavities of the pump 120 to detect pressure fluctuations within the pump 120. Fluctuations detected at the pump 120 can indicate pressure fluctuations in chambers 114A and / or 114B. One or more sensors located at the pump 120 can be in fluid communication with chambers 114A and / or 114B, and the sensors can be used to determine the pressure within chambers 114A and / or 114B. The control box 124 can be configured to determine at least one vital sign (e.g., heart rate, respiratory rate) based on the pressure within chamber 114A or chamber 114B.
[0089] The control box 124 can also analyze the pressure signal detected by one or more pressure sensors to determine the heart rate, breathing rate and / or other vital signs of the user lying or sitting on the chambers 114A and / or 114B. More specifically, when the user lies on the bed 112 and is located above the chamber 114A, each of the user's heartbeat, breathing, and other movements (e.g., hands, arms, legs, feet, or other whole body movements) can generate a force on the bed 112, which is transmitted to the chamber 114A. As a result of this force input, a wave can propagate through the chamber 114A and enter the pump 120. The pressure sensor located at the pump 120 can detect the wave, and the pressure signal output by the sensor can therefore indicate the heart rate, breathing rate, or other information about the user.
[0090] Regarding the sleep state, the air mattress system 100 can determine the user's sleep state by using various biometric signals, such as the user's heart rate, breathing, and / or movement. When the user is sleeping, the processor 136 can receive one or more of the user's biometric signals (e.g., heart rate, breathing, movement, etc.) and can determine the user's current sleep state based on the received biometric signals. In some specific implementations, the signal indicating the pressure fluctuation in one or both of chambers 114A and 114B can be amplified and / or filtered to allow more accurate detection of heart rate and breathing rate.
[0091] Sometimes, the processor 136 may receive additional biometric signals of the user from one or more other sensors or sensor arrays located on or otherwise integrated into the air bed system 100. For example, one or more sensors may be attached or removably attached to the top surface of the air bed system 100 and configured to detect signals such as heart rate, breathing rate, and / or movement. The processor 136 may combine biometric signals received from pressure sensors located at the pump 120, the pressure transducer 146, and / or sensors throughout the air bed system 100 to produce accurate and more precise information about the user and his or her sleep quality.
[0092] Sometimes, the control box 124 can perform a pattern recognition algorithm or other calculation based on the amplified and filtered pressure signal to determine the user's heart rate and / or breathing rate. For example, the algorithm or calculation can 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 breathing rate portion of the signal has a frequency in the range of less than 1 Hz. Sometimes, the control box 124 can use one or more machine learning models to determine the user's health information. The model can be trained using training data including training pressure signals and expected heart rates and / or breathing rates. Sometimes, the control box 124 can determine the user's health information by using a lookup table corresponding to the sensed pressure signal.
[0093] The control box 124 may also be configured to determine other characteristics of the user based on the received pressure signals, such as blood pressure, tossing and turning movements, rolling movements, limb movements, weight, the presence or absence of the user, and / or the identity of the user.
[0094] For example, pressure transducer 146 can be used to monitor the air pressure in chambers 114A and 114B of bed 112. If the user on bed 112 does not move, the air pressure change in air chamber 114A or 114B can be relatively minimal and can be attributed to breathing and / or heartbeat. However, when the user on bed 112 is moving, the air pressure in the mattress may fluctuate more. The pressure signal generated by pressure transducer 146 and received by processor 136 can be filtered and indicated as corresponding to movement, heartbeat or breathing. Processor 136 can attribute this air pressure fluctuation to the user's sleep quality. This attribution can be determined based on applying one or more machine learning models and / or algorithms to pressure signals. For example, if the user frequently shifts and turns during a sleep cycle (e.g., compared to the historical trend of the user's sleep cycle), processor 136 can determine that the user has experienced poor sleep during this particular sleep cycle.
[0095] In some implementations, rather than performing data analysis in the control box 124 using the processor 136, a digital signal processor (DSP) may be provided to analyze the data collected by the pressure transducer 146. Alternatively, the collected data may be sent to a cloud-based computing system for remote analysis.
[0096] In some implementations, the exemplary air bed system 100 further includes a temperature controller configured to increase, decrease or maintain the temperature of the bed 112, for example, for the comfort of the user. For example, a pad (e.g., a cushion, a layer, etc.) can be placed on top of the bed 112 or on a portion of the bed, or can be placed on top of one or both of the chambers 114A and 114B or on a portion of one or both of these chambers. Air can be pushed through the pad and exhausted to cool the user lying on the bed 112. Additionally or alternatively, the pad can include a heating element for keeping the user warm. In some implementations, the temperature controller can receive a temperature reading from the pad. The temperature controller can determine whether the temperature reading is less than or greater than a certain threshold range and / or value. Based on this determination, the temperature controller can actuate a component to push air through the pad to cool the user or activate the heating element. In some implementations, separate pads are used for different sides of the bed 112 (e.g., corresponding to the positions of the chambers 114A and 114B) to provide different temperature controls for different sides of the bed 112. Each pad may be selectively controlled by a temperature controller to provide each user's preferred cooling or heating on a different side of the bed 112. For example, a first user on the left side of the bed 112 may prefer to have their side of the bed 112 cooled at night, while a second user on the right side of the bed 112 may prefer to have their side of the bed 112 warmed at night.
[0097] In some embodiments, a user of the air mattress system 100 can use an input device, such as a remote control 122 or a mobile device as described above, to input a desired temperature of the surface of the bed 112 (or a portion of the surface of the bed 112, such as the foot area, lower back or waist area, shoulder area, and / or head area of the bed 112). The desired temperature can be encapsulated in a command data structure that includes the desired temperature and also identifies the temperature controller as the desired component to be controlled. The command data structure can then be transmitted to the processor 136 via Bluetooth or another suitable communication protocol (e.g., WIFI, local area network, etc.). In various examples, the command data structure is encrypted before being transmitted. The temperature controller can then configure its elements to increase or decrease the temperature of the pad based on the temperature input provided by the user at the remote control 122.
[0098] In some implementations, data can be transmitted from the components back to the processor 136 or one or more display devices, such as the display 126 of the remote control 122. For example, the current temperature determined by the sensor element of the temperature controller, the pressure of the bed, the current position of the base, or other information can be transmitted to the control box 124. The control box 124 can transmit this information to the remote control 122 for display to the user (e.g., on the display 126). As described above, the control box 124 can also transmit the received information to the mobile device for display to the user in a mobile application or other graphical user interface (GUI).
[0099] In some implementations, the exemplary air bed system 100 also includes an adjustable base and an articulation controller configured to adjust the position of the bed 112 by adjusting the adjustable base supporting the bed. For example, the articulation controller can adjust the bed 112 from a horizontal position to a position where the head portion of the mattress of the bed is tilted upward (e.g., to facilitate the user to sit up and / or watch TV in bed). The bed 112 can also include multiple independent sections capable of articulation. As an illustrative example, the bed 112 may include one or more of a head portion, a back waist / waist portion, a leg portion, and / or a foot portion, all of which can be articulated independently. As another example, the portions of the bed 112 corresponding to the positions of the chambers 114A and 114B can be articulated independently of each other to allow a user located on the surface of the bed 112 to rest in a first position (e.g., a horizontal position or other desired position) while a second user rests in a second position (e.g., a reclining position or other desired position with the head raised at an angle from the waist). Separate positions may also be provided for two different beds (eg, two double beds placed side by side). The base of bed 112 may include more than one independently adjustable zone.
[0100] Sometimes, the bed 112 can be adjusted to one or more user-defined positions based on user input and / or user preferences. For example, the bed 112 can be automatically adjusted to one or more user-defined settings via an articulation controller. As another example, the user can control the articulation controller to adjust the bed 112 to one or more user-defined positions. Sometimes, the bed 112 can be adjusted to one or more positions that can provide improved or otherwise improved sleep and sleep quality for the user. For example, when one or more sensors of the air bed system 100 detect that a user sleeping on one side of the bed 112 is snoring, the head on one side of the bed 112 can be automatically articulated via the articulation controller. Therefore, the user's snoring can be mitigated so that the snoring does not wake up another user sleeping on the bed 112.
[0101] In some implementations, one or more devices in communication with or in lieu of an articulation controller may be used to adjust the bed 112. For example, a user may use the remote control 122 described above to change the position of one or more portions of the bed 112. The user may also adjust the bed 112 using a mobile application or other graphical user interface presented on the user's mobile computing device.
[0102] The articulation controller can also provide different degrees of massage to one or more portions of the bed 112 for one or more users. A user can use the remote control 122 and / or a mobile device in communication with the air bed system 100 to adjust one or more massage settings of a portion of the bed 112.
[0103] Example of a bed in a bedroom environment
[0104] Figure 3 An exemplary environment 300 is shown including a bed 302 that communicates with devices located in and around the home. In the example shown, the bed 302 includes a pump 304 (as described above) for controlling the air pressure within two air chambers 306a and 306b. The pump 304 additionally includes a circuit system 334 for controlling the inflation and deflation functions performed by the pump 304. The circuit system 334 is programmed to detect air pressure fluctuations of the air chambers 306a-b, and use the detected fluctuations to identify the presence of a user 308 in the bed, the user's sleep state, movement, and biometric signals (e.g., heart rate, breathing rate). The detected fluctuations can also be used to detect when the user 308 is snoring and whether the user 308 suffers from sleep apnea or other health conditions. The detected fluctuations can also be used to determine the overall sleep quality of the user 308.
[0105] In the example shown, the pump 304 is located within the support structure of the bed 302, and the control circuit 334 for controlling the pump 304 is integrated with the pump 304. In some implementations, the control circuit 334 is physically separated from the pump 304 and communicates with the pump 304 wirelessly or by wire. In some implementations, the pump 304 and / or the control circuit 334 are located outside the bed 302. In some implementations, various control functions can be performed by systems located in different physical locations. For example, the circuit system for controlling the action of the pump 304 can be located within the pump housing of the pump 304, while the control circuit system 334 for performing other functions associated with the bed 302 can be located in another part of the bed 302, or outside the bed 302. The control circuit 334 located within the pump 304 can also communicate with the control circuit 334 at a remote location via a LAN or WAN (e.g., the Internet). The control circuit 334 can also be included in Figure 1 and Figure 2 in the control box 124 .
[0106] In some implementations, one or more devices may be utilized in addition to or in addition to the pump 304 and the control circuit 334 to identify the user's presence in the bed, sleep state, movement, biometric signals, and other information about the user (e.g., health-related sleep quality) of the user 308. For example, the bed 302 may include a second pump, each 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 to control the inflation and deflation of the air chamber 306b, and to detect user signals of a user located above the air chamber 306b. The second pump may be in fluid communication with the air chamber 306a, and used to control the inflation and deflation of the air chamber 306a, and to detect user signals of a user located above the air chamber 306a.
[0107] As another example, the bed 302 may include one or more pressure-sensitive pads or surface portions operable to detect movement, including the presence, movement, breathing, and heart rate of a user. A first pressure-sensitive pad may be incorporated into the surface of the bed 302, above a left portion of the bed 302, where a first user is typically located during sleep; and a second pressure-sensitive pad may be incorporated into the surface of the bed 302, above a right portion of the bed 302, where a second user is typically located. Movement detected by the pressure-sensitive pads or surface portions may be used by the control circuitry 334 to identify a user's sleep state, presence in bed, or biometric signals for each user. The pressure-sensitive pads may also be removable rather than incorporated into the surface of the bed 302.
[0108] The bed 302 may also include one or more temperature sensors and / or sensor arrays that are operable to detect temperatures in the microclimate of the bed 302. The control circuit 334 may use the temperatures detected in the different microclimates of the bed 302 to determine one or more modifications to the sleeping environment of the user 308. For example, a temperature sensor located near the core area of the bed 302 where the user 308 rests may detect a high temperature value. Such a high temperature value may indicate that the user 308 is warm. In order to reduce the user's body temperature in such a microclimate, the control circuit 334 may determine that a cooling element of the bed 302 may be activated. As another example, the control circuit 334 may determine that a cooling unit in the home may be automatically activated to cool the ambient temperature in the environment 300.
[0109] The control circuit 334 may also process a combination of signals sensed by different sensors integrated into the bed 112, located on the bed, or otherwise in communication with the bed. For example, pressure and temperature signals may be processed by the control circuit 334 to more accurately determine one or more health conditions of the user 308 and / or the sleep quality of the user 308. Acoustic signals detected by one or more microphones or other audio sensors may also be used in conjunction with pressure or motion sensors to determine when the user 308 is snoring, whether the user 308 suffers from sleep apnea, and / or the overall sleep quality of the user 308. Combinations of one or more other sensed signals are also possible for the control circuit 334 to more accurately determine one or more health and / or sleep conditions of the user 308.
[0110] Thus, information detected by one or more sensors or other components of the bed 112 (e.g., motion information) can be processed by the control circuit 334 and provided to one or more user devices, such as the user device 310, for presentation to the user 308 or other users. The information can be presented in a mobile application or other graphical user interface at the user device 310. The user 308 can view different information processed and / or determined by the control circuit 334 and based on the signals detected by the components of the bed 302. For example, the user 308 can view their overall sleep quality during a particular sleep cycle (e.g., the previous night), historical trends in their sleep quality, and health information. The user 308 can also use the mobile application presented at the user device 310 to adjust one or more settings of the bed 302 (e.g., increase or decrease pressure in one or more areas of the bed 302, tilt or lower different areas of the bed 302, turn on or off a massage feature of the bed 302, etc.).
[0111] exist Figure 3In the example shown, the user device 310 is a mobile phone; however, the user device 310 may also be any of the following: a tablet computer, a personal computer, a laptop computer, a smart phone, a smart TV (e.g., TV 312), a home automation device, or other user devices capable of wired or wireless communication with the control circuit 334, one or more other components of the bed 302, and / or one or more devices in the environment 300. The user device 310 can communicate with the control circuit 334 of the bed 302 through a network or through direct point-to-point communication. For example, the control circuit 334 can be connected to a LAN (e.g., through a WIFI router) and communicate with the user device 310 through the LAN. As another example, both the control circuit 334 and the user device 310 can be connected to the Internet and communicate through the Internet. For example, the control circuit 334 can be connected to the Internet through a WIFI router, and the user device 310 can be connected to the Internet through communication with a cellular communication system. As another example, the control circuit 334 can communicate directly with the user device 310 through a wireless communication protocol (such as Bluetooth). As yet another example, control circuit 334 may communicate with user device 310 via a wireless communication protocol (e.g., ZigBee, Z-Wave, infrared, or another wireless communication protocol suitable for the application). As another example, control circuit 334 may communicate with user device 310 via a wired connection (e.g., a USB connector, serial / RS232, or another wired connection suitable for the application).
[0112] As described above, the user device 310 can display various information and statistics related to sleep or the interaction of the user 308 with the bed 302. For example, the user interface displayed by the user device 310 can present information including the amount of sleep, the amount of deep sleep, the ratio of deep sleep to restless sleep, the time elapsed between the user 308 going to bed and falling asleep, the total amount of time spent on the bed 302 in a given time period, the heart rate in a time period, the breathing rate in a time period, or other information related to the user interaction of the user 308 or one or more other users with the bed 302. In some implementations, information for multiple users can be presented on the user device 310, for example, information for a first user positioned above the air chamber 306a can be presented together with information for a second user positioned above the air chamber 306b. In some implementations, the information presented on the user device 310 can vary according to the age of the user 308, so that the presented information evolves with the age of the user 308.
[0113] The user device 310 may also serve as an interface to the control circuitry 334 of the bed 302 to allow the user 308 to input information and / or adjust one or more settings of the bed 302. The information input by the user 308 may be used by the control circuitry 334 to provide better information to the user 308 or various control signals for controlling the functions of the bed 302 or other devices. For example, the user 308 may input information such as the weight, height, and age of the user 308. The control circuitry 334 may use this information to provide the user 308 with a comparison of the tracked sleep information of the user 308 with the sleep information of other persons having a similar weight, height, and / or age to the user 308. The control circuitry 308 may also use this information to accurately determine the overall sleep quality and / or health of the user 308 based on information detected by components (e.g., sensors) of the bed 302.
[0114] User 308 may also use user device 310 as an interface for controlling the air pressure of air chambers 306a and 306b, various recline or tilt positions of bed 302, the temperature of one or more surface temperature control devices of bed 302, or for allowing control circuit 334 to generate control signals for other devices (as described below).
[0115] The control circuit 334 may also communicate with other devices or systems, including but not limited to a television 312, a lighting system 314, a thermostat 316, a security system 318, home automation devices, and / or other household devices (e.g., an oven 322, a coffee maker 324, a lamp 326, a night light 328). Other examples of devices and / or systems include a system for controlling blinds 330, a device 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 a garage door 320 (e.g., a control circuit 334 integrated with a garage door opener to identify the open or closed state of the garage door 320 and to cause the garage door opener to open or close the garage door 320). Communication between the control circuit 334 and other devices may be performed over a network (e.g., a LAN or the Internet) or point-to-point communication (e.g., Bluetooth, radio communication, or a wired connection). The control circuits 334 of different beds 302 may also communicate with different groups of devices. For example, a child's bed may not communicate and / or control the same devices as an adult bed. In some embodiments, the bed 302 may evolve as the user ages, such that the control circuitry 334 of the bed 302 communicates with different devices depending on the age of the user of the bed 302 .
[0116] The control circuit 334 may receive information and input from other devices / systems and use the received information and input to control the actions of the bed 302 and / or other devices. For example, the control circuit 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 circuit 334 may use the received information (and other information, such as signals detected from one or more sensors of the bed 302) to determine whether the temperature of all or part of the surface of the bed 302 should be increased or decreased. The control circuit 334 may then cause the heating or cooling mechanism of the bed 302 to increase or decrease the temperature of the surface of the bed 302. The control circuit 334 may also cause the heating or cooling unit of the house or room in which the bed 302 is located to increase or decrease the ambient temperature around the bed 302. Thus, by adjusting the temperature of the bed 302 and / or the room in which the bed 302 is located, the user 308 may experience better sleep quality and comfort.
[0117] For example, user 308 may indicate a desired sleeping temperature of 74 degrees Fahrenheit, while a second user of bed 302 indicates a desired sleeping temperature of 72 degrees Fahrenheit. Thermostat 316 may send a signal indicating the room temperature to control circuit 334 at a predetermined time. Thermostat 316 may also send a continuous stream of detected room temperature values to control circuit 334. The signal sent may indicate to control circuit 334 that the current temperature of the bedroom is 72 degrees Fahrenheit. Control circuit 334 may recognize that user 308 has indicated a desired sleeping temperature of 74 degrees Fahrenheit, and may accordingly send a control signal to a heating pad located on the user 308 side of the bed to increase the temperature of the portion of the surface of bed 302 where user 308 is located until the desired temperature of user 308 is reached. In addition, control circuit 334 may send a control signal to thermostat 316 and / or a heating unit in the house to increase the temperature of the room where bed 302 is located.
[0118] The control circuitry 334 may generate control signals to control other devices and propagate control signals to other devices. The control signals may be generated based on information collected by the control circuitry 334, including information related to user interactions of the user 308 and / or one or more other users with the bed 302. Information collected from other devices other than the bed 302 may also be used when generating control signals. For example, information related to environmental events (e.g., ambient temperature, ambient noise level, and ambient light level), time of day, time of year, day of the week, or other information may be used when generating control signals for various devices that communicate with the control circuitry 334 of the bed 302.
[0119] For example, information about the time of day can be combined with information about the movement of user 308 and the user's presence in bed to generate control signals for lighting system 314. Control circuit 334 can determine when user 308 is in bed 302 and when user 308 falls asleep based on detected pressure signals of user 308 on bed 302. Once control circuit 334 determines that the user has fallen asleep, control circuit 334 can send control signals to lighting system 314 to turn off lights in the room where bed 302 is located, lower blinds 330 in the room, and / or activate night light 328. In addition, control circuit 334 can receive input from user 308 indicating a time when user 308 wants to wake up (e.g., via user device 310). When the time is approaching, control circuit 334 can send control signals to one or more devices in environment 300 to control the devices that can wake up user 308. For example, the control signal can be sent to a home automation device that controls multiple devices in a home. Control circuitry 334 may instruct home automation devices to raise blinds 330, turn off night light 328, turn on lighting under bed 302, start coffee maker 324, change the temperature in the house via thermostat 316, or perform some other home automation. Home automation devices may also be instructed to activate an alarm that may wake up user 308. At times, user 308 may enter information at user device 310 that indicates an action that a home automation device or other device in environment 300 may take.
[0120] In some implementations, in addition to or in addition to providing control signals to other devices, the control circuitry 334 can provide the collected information (e.g., information related to user movement, presence in bed, sleep state, or biometric signals) to one or more other devices to allow 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 can provide information related to user interaction of the user 308 with the bed 302 to a central controller (not shown), which can use the provided information to generate control signals for various devices including the bed 302.
[0121] The central controller may be, for example, a hub device that provides various information about the user 308 and control information associated with the bed 302 and other devices in the house. The central controller may include sensors that detect signals that the control circuit 334 and / or the central controller may use to determine information about the user 308 (e.g., biometrics or other health data, sleep quality). The sensors may detect signals including, for example, ambient light, temperature, humidity, volatile organic compounds, pulse, motion, and audio. These signals may be combined with signals detected by the sensors of the bed 302 to determine accurate information about the health and sleep quality of the user 308. The central controller may provide controls (e.g., user-defined, preset, automatic, user-initiated) for the bed 302, determine and view sleep quality and health information, smart alarm clocks, speakers or other home automation devices, smart photo frames, night lights, and one or more mobile applications that the user 308 may install and use at the central controller. The central controller may include a display screen that outputs information and receives user input. The display may output information such as the health of the user 308, sleep quality, weather, security integrated features, lighting integrated features, heating and cooling integrated features, and other controls to automate devices in the house. The central controller may operate to provide the user 308 with functionality and control over a variety of different types of devices in the house as well as the user's 308 bed 302.
[0122] As Figure 3In an illustrative example of FIG. 3 , a control circuit 334 integrated with a pump 304 can detect a characteristic of a mattress of a bed 302, such as an increase in pressure in an air chamber 306 b, and use the detected increase to determine that a user 308 is present on the bed 302. The control circuit 334 can also identify a heart rate or breathing rate for the user 308 to identify that the increased pressure is due to a person sitting, lying, or resting on the bed 302, rather than an inanimate object (e.g., a suitcase) being placed on the bed 302. In some implementations, information indicating the presence of a user on the bed can be combined with other information to identify the current or possible future state of the user 308. For example, the presence of a user on the bed detected at 11:00 a.m. can indicate that the user is sitting on the bed (e.g., tying shoes, or reading a book) and is not going to sleep, while the presence of a user on the bed detected at 10:00 p.m. can indicate that the user 308 is lying on the bed for the night and is going to fall asleep soon. As another example, if control circuitry 334 detects that user 308 has left bed 302 at 6:30 A.M. (e.g., indicating that user 308 has woken up for the day), and subsequently detects user 308's presence in bed 302 at 7:30 A.M., control circuitry 334 may use the information that the newly detected presence may be temporary (e.g., when user 308 is lacing up his shoes before leaving for work) rather than an indication that user 308 is intending to remain in bed 302 for an extended period of time.
[0123] If the control circuit 334 determines that the user 308 is likely to stay in the bed 302 for an extended period of time, the control circuit 334 can determine one or more home automation controls that can help the user 308 fall asleep and experience improved sleep quality throughout the sleep cycle of the user 308. For example, the control circuit 334 can communicate with the security system 318 to ensure that the door is locked. The control circuit 334 can communicate with the oven 322 to ensure that the oven 322 is turned off. The control circuit 334 can also communicate with the lighting system 314 to dim or turn off the lights in the room where the bed 302 is located and / or the entire house, and the control circuit 334 can communicate with the thermostat 316 to ensure that the house is at the desired temperature of the user 308. The control circuit 334 can also determine one or more adjustments that can be made to the bed 302 to facilitate the user 308 to fall asleep and stay asleep (e.g., changing the position of one or more areas of the bed 302, foot warming, massage features, pressure / firmness of one or more areas of the bed 302, etc.).
[0124] In some implementations, the control circuit 334 may use the collected information, including information related to the user interaction of the user 308 with the bed 302, environmental information, time information, and user input, to identify the usage pattern of the user 308. For example, the control circuit 334 may use information indicating the presence and sleep state of the user 308 in the bed collected over a period of time to identify the user's sleep pattern. The control circuit 334 may identify that the user 308 typically goes to bed between 9:30 PM and 10:00 PM, typically falls asleep between 10:00 PM and 11:00 PM, and typically wakes up between 6:30 AM and 6:45 AM based on information indicating the user presence and biometrics of the user 308 collected over a week or different time periods. The control circuit 334 may use the identified pattern of the user 308 to better process and identify the user interaction with the bed 302.
[0125] Given the above example of user presence, sleeping, and waking patterns of user 308 in bed, if user 308 is detected as being in bed 302 at 3:00 p.m., control circuitry 334 may determine that user 308's presence in bed 302 is temporary, and use this determination to generate a control signal that is different from if control circuitry 334 determines that user 308 is lying in bed at night (e.g., at 3:00 p.m., the head area of bed 302 may be raised to facilitate reading or watching TV in bed 302, while at night, bed 302 may be adjusted to a horizontal position to facilitate falling asleep). As another example, if control circuitry 334 detects that user 308 is getting out of bed at 3:00 a.m., control circuitry 334 may use recognition patterns of user 308 to determine that the user has temporarily gotten out of bed (e.g., to go to the bathroom, drink a glass of water). Control circuitry 334 may turn on under-bed lighting to help user 308 carefully move around bed 302 and the room. In contrast, if the control circuit 334 identifies that the user 308 has gotten out of the bed 302 at 6:40 AM, the control circuit 334 may determine that the user 308 has gotten out of bed and generate a different set of control signals (e.g., the control circuit 334 may turn on the lights 326 near the bed 302 and / or raise the blinds 330). For other users, getting out of bed 302 at 3:00 AM may be a normal wake-up time, and the control circuit 334 may learn and respond accordingly. In addition, if the bed 302 is used by two users, the control circuit 334 may learn and respond to the patterns of each of the two users.
[0126] The bed 302 may also generate control signals based on communications with one or more devices. As an illustrative example, the control circuit 334 may receive an indication from the television 312 that the television 312 is turned on. If the television 312 is located in a different room from the bed 302, the control circuit 334 may generate a control signal to turn off the television 312 when it is determined that the user 308 has gone to bed or remains in the room of the bed 302. If the presence of the user 308 on the bed 302 is detected during a specific time range (e.g., between 8:00 p.m. and 7:00 a.m.) and lasts longer than a threshold time period (e.g., 10 minutes), the control circuit 334 may determine that the user 308 is in bed at night. If the television 312 is turned on, as described above, the control circuit 334 may generate a control signal to turn off the television 312. The control signal may be transmitted to the television (e.g., via a directional communication link or via a network, such as WIFI). As another example, control circuitry 334 may generate a control signal such that the volume of television 312 is reduced by a predetermined amount, rather than turning off television 312 in response to detecting the presence of a user in bed.
[0127] As another example, upon detecting that user 308 has left bed 302 during a specified time range (e.g., between 6:00 a.m. and 8:00 a.m.), control circuitry 334 may generate a control signal to cause television 312 to turn on and tune to a pre-specified channel (e.g., user 308 indicated a preference to watch the morning news upon waking up). Control circuitry 334 may generate and send a control signal accordingly to television 312 (which may be stored at control circuitry 334, television 312, or another location). As another example, upon detecting that user 308 has gotten out of bed to begin the day's work, control circuitry 334 may generate and send a control signal to cause television 312 to turn on and begin playing a previously recorded program from a digital video recorder (DVR) in communication with television 312.
[0128] As another example, if the television 312 is in the same room as the bed 302, the control circuit 334 may not turn off the television 312 in response to detecting the presence of the user on the bed. Instead, the control circuit 334 may generate and send a control signal to turn off the television 312 in response to determining that the user 308 is sleeping. For example, the control circuit 334 may monitor the biometric signals (e.g., motion, heart rate, breathing rate) of the user 308 to determine that the user 308 has fallen asleep. Upon detecting that the user 308 is sleeping, the control circuit 334 generates and sends a control signal to turn off the television 312. As another example, the control circuit 334 may generate a control signal to turn off the television 312 after a threshold time period has passed since the user 308 has fallen asleep (e.g., 10 minutes after the user has fallen asleep). As another example, after determining that the user 308 has fallen asleep, the control circuit 334 generates a control signal to reduce the volume of the television 312. As yet another example, control circuit 334 generates and sends control signals to cause a television to gradually reduce volume over a period of time and then turn off in response to determining that user 308 is asleep. Any control signals described above with reference to television 312 may also be determined by the central controller described above.
[0129] In some implementations, the control circuit 334 can similarly interact with other media devices, such as computers, tablet computers, mobile phones, smart phones, wearable devices, stereo systems, etc. For example, upon detecting that the user 308 is sleeping, the control circuit 334 can generate and send a control signal to the user device 310 to cause the user device 310 to turn off or lower the volume of a video or audio file being played by the user device 310.
[0130] The control circuit 334 may additionally communicate with the lighting system 314, receive information from the lighting system 314, and generate control signals for controlling the functions of the lighting system 314. For example, when the presence of a user on the bed 302 is detected during a specific time frame (e.g., between 8:00 p.m. and 7:00 a.m.) that lasts longer than a threshold time period (e.g., 10 minutes), the control circuit 334 of the bed 302 may determine that the user 308 is in bed at night, and generate a control signal to turn off the lights in one or more rooms other than the room where the bed 302 is located. The control circuit 334 may generate and transmit a control signal to turn off the lights in all common rooms, but not the lights in other bedrooms. As another example, the control signal may indicate that the lights in all rooms except the room where the bed 302 is located are to be turned off, and one or more lights located outside the house containing the bed 302 are to be turned on. The control circuit 334 may generate and transmit a control signal to turn on the night light 328 in response to determining the presence of the user 308 on the bed or the user 308 falling asleep. The control circuit 334 can also generate a first control signal for turning off a first group of lights (e.g., lights in a common room) in response to detecting the presence of a user in the bed, and generate a second control signal for turning off a second group of lights (e.g., lights in the room where the bed 302 is located) when it is detected that the user 308 is asleep.
[0131] In some implementations, in response to determining that the user 308 is in bed at night, the control circuit 334 of the bed 302 can generate a control signal to cause the lighting system 314 to implement a sunset lighting scheme in the room where the bed 302 is located. The sunset lighting scheme can include, for example, dimming the lights (either gradually dimming over time or suddenly dimming) in conjunction with changing the color of the light in the bedroom environment, such as adding an amber tint to the lighting in the bedroom. When the control circuit 334 has determined that the user 308 is in bed at night, the sunset lighting scheme can help to lull the user 308 to sleep. Sometimes, the control signal can cause the lighting system 314 to dim the lights in the bedroom environment or change the color of the lights, but not both.
[0132] The control circuit 334 may also implement a sunrise lighting scheme when the user 308 wakes up in the morning. The control circuit 334 may determine that the user 308 is awake during the day, for example, by detecting that the user 308 has left the bed 302 (e.g., is no longer present on the bed 302) during a specified time range (e.g., between 6:00 a.m. and 8:00 a.m.). The control circuit 334 may also monitor the user's 308 movement, heart rate, breathing rate, or other biometric signals to determine whether the user 308 is awake or waking up, even if the user 308 has not yet gotten out of bed. If the control circuit 334 detects that the user is awake or awake during a specified time frame, the control circuit 334 may determine that the user 308 is awake for the day. The specified time frame may be based on, for example, previously recorded information of the user's presence in bed collected over a period of time (e.g., two weeks), which indicates that the user 308 typically wakes up between 6:30 a.m. and 7:30 a.m. In response to the control circuit 334 determining that the user 308 is awake, the control circuit 334 can generate a control signal to cause the lighting system 314 to implement a sunrise lighting scheme in the bedroom where the bed 302 is located. The sunrise lighting scheme can include, for example, turning on a light (e.g., light 326 or other lights in the bedroom). The sunrise lighting scheme can further include gradually increasing the light level in the room where the bed 302 is located (or one or more other rooms). The sunrise lighting scheme can also include turning on only lights of a specific color. The sunrise lighting scheme can include illuminating the bedroom with blue light to gently help the user 308 wake up and become active.
[0133] The control circuitry 334 may also generate different control signals for controlling the actions of components depending on the time of day at which the user interacts with the bed 302. For example, the control circuitry 334 may use historical user interaction information to determine that the user 308 typically falls asleep between 10:00 PM and 11:00 PM on weekdays, and typically wakes up between 6:30 AM and 7:30 AM. If the user 308 is detected as waking up at 3:00 AM (e.g., turning on a light that directs the user 308 to the bathroom or kitchen), the control circuitry 334 may use this information to generate a first set of control signals for controlling the lighting system 314, and a second set of control signals for controlling the lighting system 314 if the user 308 is detected as waking up after 6:30 AM.
[0134] In some implementations, if the user 308 is detected as waking up before the designated morning wake-up time of the user 308, the control circuitry 334 can cause the lighting system 314 to turn on a dimmer light than the light that would be turned on by the lighting system 314 if the user 308 is detected as waking up after the designated morning wake-up time. Having the lighting system 314 turn on dimmed lights only when the user 308 is waking up at night (e.g., before the normal wake-up time of the user 308) can prevent other occupants of the house from being awakened by the lights while still allowing the user 308 to be seen to reach his destination in the house.
[0135] The historical user interaction information of the interaction between the user 308 and the bed 302 can be used to identify the user's sleeping and awake time frames. For example, the time of the user's presence in the bed and the sleep time can be determined for a set time period (e.g., two weeks, a month, etc.). The control circuit 334 can identify the typical time range or time frame when the user 308 goes to bed, the typical time frame when the user 308 falls asleep, and the typical time frame when the user 308 wakes up (and in some cases, the different time frames when the user 308 wakes up and when the user 308 actually gets up). Buffer time can be added to these time frames. For example, if the user is identified as typically going to bed between 10:00 p.m. and 10:30 p.m., a half-hour buffer in each direction can be added to the time frame so that any detection of the user going to bed between 9:30 p.m. and 11:00 p.m. is interpreted as the user 308 going to bed at night. As another example, detecting the presence of user 308 in bed from half an hour before the earliest typical time that user 308 goes to bed, extending to the typical wake-up time of user 308 (e.g., 6:30 a.m.), can be interpreted as user 308 going to bed for the night. For example, if user 308 typically goes to bed between 10:00 p.m. and 10:30 p.m., if the presence of user 308 in bed is sensed at 12:30 a.m. on a particular night, this can be interpreted as user 308 going to bed for the night, even though this is outside the typical time frame for user 308 to go to bed because it occurs before the normal wake-up time of user 308. In some implementations, different time frames are identified for different times of the year (e.g., earlier bedtimes in winter versus summer) or different times of the week (e.g., user 308 wakes up earlier on weekdays than on weekends).
[0136] The control circuit 334 can distinguish between a user 308 being in bed for a long time (e.g., one night) and a user being present for a short time (e.g., a nap) on the bed 302 by sensing the duration of the user 308's presence (e.g., by detecting the pressure and / or temperature signals of the user 308 on the bed 302 by a sensor integrated into the bed 302). In some examples, the control circuit 334 can distinguish between a user 308 being in bed for a long time (e.g., one night) or a short time (e.g., a nap) on the bed by sensing the duration of the user 308's sleep. The control circuit 334 can set a time threshold, whereby if the user 308 is sensed to be on the bed 302 for longer than the threshold, it is considered that the user 308 has gone to bed at night. In some examples, the threshold can be about 2 hours, whereby if the user 308 is sensed to be on the bed 302 for more than 2 hours, the control circuit 334 registers it as an extended sleep event. In other examples, the threshold can be greater than or less than two hours. The threshold can be determined based on a historical trend indicating how long the user 302 usually sleeps or stays on the bed 302.
[0137] The control circuitry 334 may detect repeated extended sleep events to automatically determine a typical bedtime range for the user 308, without requiring the user 308 to input a bedtime range. This may allow the control circuitry 334 to accurately estimate when the user 308 is likely to go to bed for an extended sleep event, regardless of whether the user 308 typically goes to bed using a traditional sleep schedule or a non-traditional sleep schedule. The control circuitry 334 may then use the knowledge of the bedtime range of the user 308 to control one or more components (including components of the bed 302 and / or non-bed peripherals) based on a sensed presence in the bed during or outside of the bedtime range.
[0138] The control circuit 334 can automatically determine the bedtime range for the user 308 without user input. The control circuit 334 can also automatically and in combination with user input (e.g., using signals sensed by sensors of the bed 302 and / or a central controller) determine the bedtime range. The control circuit 334 can directly set the bedtime range based on user input. The control circuit 334 can associate different bedtimes with different days of the week. In each of these examples, the control circuit 334 can control components (e.g., lighting system 314, thermostat 316, security system 318, oven 322, coffee maker 324, lamp 326, night light 328) based on the sensed presence on the bed and the bedtime range.
[0139] The control circuit 334 may also determine a control signal to be transmitted to the thermostat 316 based on the preferences input by the user and / or to maintain an improved or preferred sleep quality of the user 308. For example, the control circuit 334 may determine that the user 308 experiences their best sleep when the bedroom is at 74 degrees Fahrenheit based on the historical sleep patterns and quality of the user 308 and by applying a machine learning model. The control circuit 334 may receive a temperature signal indicating the temperature of the bedroom from a device and / or sensor in the bedroom. When the temperature is below 74 degrees Fahrenheit, the control circuit 334 may determine a control signal that causes the thermostat 316 to activate a heating unit to increase the temperature in the bedroom to 74 degrees Fahrenheit. When the temperature is above 74 degrees Fahrenheit, the control circuit 334 may determine a control signal that causes the thermostat 316 to activate a cooling unit to reduce the temperature back to 74 degrees Fahrenheit. Sometimes, the control circuit 334 may determine a control signal that causes the thermostat 316 to maintain the bedroom within a temperature range intended to keep the user 308 in a particular sleep state and / or transition to the next preferred sleep state.
[0140] Similarly, the control circuit 334 can generate control signals to cause the heating or cooling elements on the surface of the bed 302 to change temperature at different times, or in response to user interaction with the bed 302, at different preprogrammed times, based on user preferences, and / or in response to detecting the microclimate temperature of the user 308 on the bed 302. For example, when it is detected that the user 308 has fallen asleep, the control circuit 334 can activate the heating element to increase the temperature of one side of the surface of the bed 302 to 73 degrees Fahrenheit. As another example, when it is determined that the user 308 has gotten up for the day, the control circuit 334 can turn off the heating or cooling element. The user 308 can preprogram various times when the temperature at the surface of the bed should be increased or decreased. As another example, a temperature sensor on the surface of the bed can detect the microclimate of the user 308. When the detected microclimate drops below a predetermined threshold temperature, the control circuit 334 can activate the heating element to raise the body temperature of the user 308, thereby improving the comfort of the user 308, maintaining their sleep cycle, transitioning the user 308 to the next preferred sleep state, and / or maintaining or improving the sleep quality of the user 308.
[0141] In response to detecting the presence of a user in the bed and / or the user 308 is sleeping, the control circuit 334 can also cause the thermostat 316 to change the temperature in different rooms to different values. Other control signals are also possible and can be based on user preferences and user input. In addition, the control circuit 334 can receive temperature information from the thermostat 316 and use this information to control the function of the bed 302 or other devices (e.g., adjust the temperature of the heating element of the bed 302 (such as a warm foot pad)). The control circuit 334 can also generate and send control signals for controlling other temperature control systems, such as floor heating elements in bedrooms or other rooms.
[0142] The control circuit 334 may communicate with the security system 318, receive information from the security system 318, and generate control signals for controlling 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 circuit 334 may generate a control signal to enable or disarm a security function of the security system 318. As another example, the control circuit 334 may generate and send a control signal to disable the security system 318 in response to determining that the user 308 is awake for the day (e.g., the user 308 is no longer present in the bed 302).
[0143] The control circuit 334 may also receive an alert from the security system 318 and indicate the alert to the user 308. For example, the security system may detect a security breach (e.g., someone opened the door 332 without entering a security code, someone opened a window when the security system 318 was enabled) and communicate the security breach to the control circuit 334. The control circuit 334 may then generate a control signal to alert the user 308, such as causing the bed 302 to vibrate, causing a portion of the bed 302 to articulate (e.g., the head section is raised or lowered), causing the light 326 to flash at regular intervals, etc. The control circuit 334 may also alert the user 308 of a bed 302 of a security breach in another bedroom, such as an open window in a child's bedroom. The control circuit 334 may send an alert to the garage door controller (e.g., close and lock the door). The control circuit 334 may send a security-disarming alert. The control circuit 334 may also trigger a smart alarm or other alarm device / alarm near the bed 302. The control circuitry 334 may send a push notification, text message, or other indication of the security breach to the user device 310. In addition, the control circuitry 334 may send a notification of the security breach to the central controller, which may then determine one or more responses to the security breach.
[0144] The control circuit 334 may additionally generate and transmit control signals for controlling the garage door 320, and receive information indicating the state of the garage door 320 (e.g., open or closed). The control circuit 334 may also request information about the current state of the garage door 320. If the control circuit 334 receives a response that the garage door 320 is open (e.g., from a garage door opener), the control circuit 334 may notify the user 308 that the garage door is open (e.g., by displaying a notification or other message at the user device 310, outputting a notification at the central controller), and / or generate a control signal to cause the garage door opener to close the door. The control circuit 334 may also vibrate the bed 302, flash the lighting system 314 in the bedroom, and so on. The control signal may also vary depending on the age of the user 308. Similarly, the control circuit 334 may similarly send and receive communications for controlling or receiving state information associated with the door 332 or the oven 322.
[0145] In some implementations, different alarms can be generated for different events. For example, the control circuit 334 can cause the light 326 (or other light, via the lighting system 314) to flash in a first pattern when the security system 318 detects a breach, in a second pattern when the garage door 320 is open, in a third pattern when the door 332 is open, in a fourth pattern when the oven 322 is on, and in a fifth pattern when another bed has detected that the user 308 of the bed has gotten up (e.g., a child sensed by a sensor in a child's bed has gotten up in the middle of the night). Other examples of alarms include a smoke detector that detects smoke (and transmits that detection to the control circuit 334), a carbon monoxide tester, a heater failure, or an alarm from another device that can communicate with the control circuit 334 and detect an event that warrants the attention of the user 308.
[0146] The control circuit 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 has gotten up for the day or that the user 308 has set an alarm to wake up at a specific time, the control circuit 334 may generate and send a control signal to cause the blinds 330 to open. In contrast, if the user 308 gets up before the normal wake-up time of the user 308, the control circuit 334 may determine that the user 308 has not woken up for the day and may not generate a control signal to open the blinds 330. The control circuit 334 may also generate and send a control signal that causes the first set of blinds to close in response to detecting the presence of the user in bed and causes the second set of blinds to close in response to detecting that the user 308 is asleep.
[0147] As another example, in response to determining that user 308 is awake for the day, control circuit 334 may generate and send a control signal to coffee maker 324 to cause coffee maker 324 to brew coffee. Control circuit 334 may generate and send a control signal to oven 322 to cause oven 322 to begin preheating. Control circuit 334 may use information indicating that user 308 is awake for the day and information indicating that the time of year is currently winter and / or the outside temperature is below a threshold to generate and send a control signal to cause a car engine block heater to turn on. Control circuit 334 may generate and send a control signal to cause a device to enter a sleep mode (e.g., cause a mobile phone of user 308 to switch to a sleep or night mode, so that notifications are muted to not disturb the sleep of user 308) in response to detecting the presence of a user in bed, or in response to detecting that user 308 is asleep. Later, upon determining that user 308 has gotten up for the day, control circuit 334 may generate and send a control signal to cause the mobile phone to switch out of sleep / night mode.
[0148] The control circuit 334 may also communicate with one or more noise control devices. For example, upon determining that the user 308 is in bed at night, or that the user 308 is asleep (e.g., based on a pressure signal received from the bed 302, an audio / decibel signal received from an audio sensor located on or around the bed 302), the control circuit 334 may generate and send a control signal to activate a noise cancellation device. The noise cancellation device may be part of the bed 302 or located in a bedroom. Upon determining that the user 308 is in bed at night, or that the user 308 is asleep, the control circuit 334 may generate and send a control signal to turn on, turn off, increase, or decrease the volume of one or more sound generating devices (such as a stereo system radio, a television, a computer, a tablet computer, a mobile phone, etc.).
[0149] Additionally, the functions of the bed 302 can be controlled by the control circuit 334 in response to user interaction. For example, the articulation controller can adjust the bed 302 from a horizontal position to a position where the head portion of the mattress of the bed 302 is tilted upward (e.g., so that the user can sit up, read and / or watch TV in bed). Sometimes, the bed 302 includes multiple independent sections that can be articulated. The portions of the bed corresponding to the positions of the air chambers 306a and 306b can be articulated independently of each other to allow one person to rest in a first position (e.g., a lying position) while another person rests in a second position (e.g., a reclining position with the head raised at an angle from the waist). Separate positions can be set for two different beds (e.g., two double beds placed side by side). The base of the bed 302 can include more than one area that can be adjusted independently. As described above, the articulation controller can also provide different degrees of massage to one or more users on the bed 302, or vibrate the bed to convey an alarm to the user 308.
[0150] The control circuit 334 may adjust the position (e.g., the tilt and lower position of the user 308 and / or additional users) in response to user interaction with the bed 302 (e.g., causing the articulation controller to adjust to a first reclined position in response to sensing the presence of a user on the bed). The control circuit 334 may cause the articulation controller to adjust the bed 302 to a second reclined position (e.g., a less reclined or lying flat position) in response to determining that the user 308 is asleep. As another example, the control circuit 334 may receive a communication from the television 312 indicating that the user 308 has turned off the television 312, and in response, the control circuit 334 may cause the articulation controller to adjust the position of the bed to a preferred user sleeping position (e.g., because the user turned off the television 312 while the user 308 was in the bed, indicating that the user 308 wishes to sleep).
[0151] In some embodiments, the control circuit 334 can control the articulation controller to wake up one user without waking up another user of the bed 302. For example, the user 308 and the second user can each set a different wake-up time (e.g., 6:30 a.m. and 7:15 a.m., respectively). When the wake-up time for the user 308 is reached, the control circuit 334 can cause the articulation controller to vibrate or change the position of only one side of the bed where the user 308 is located. When the wake-up time for the second user is reached, the control circuit 334 can cause the articulation controller to vibrate or change the position of only one side of the bed where the second user is located. Alternatively, when the second wake-up time occurs, the control circuit 334 can utilize other methods (such as an audio alarm or turning on a light) to wake up the second user because the user 308 is already awake and therefore will not be disturbed when the control circuit 334 attempts to wake up the second user.
[0152] Still reference Figure 3 , the control circuit 334 of the bed 302 can use information about the interactions of multiple users with the bed 302 to generate control signals for controlling the functions of various other devices. For example, the control circuit 334 can wait to generate control signals for devices until the user 308 and the second user are detected in the bed 302. The control circuit 334 can generate a first set of control signals upon detecting the presence of the user 308 in the bed, so that the lighting system 314 turns off the first set of lights, and generates a second set of control signals in response to detecting the presence of the second user in the bed to turn off the second set of lights. The control circuit 334 can also wait until it is determined that both users are awake before generating a control signal to open the blinds 330. One or more other home automation control signals can be determined and generated by the control circuit 334, the user device 310 and / or the central controller.
[0153] Example of a bed-related data processing system
[0154] Exemplary systems and components 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 examples are redundant and / or mutually exclusive alternatives. Connections between components are shown as examples to illustrate possible network configurations that allow communication between components. Different forms of connections may be used depending on technical needs / desires. A connection generally represents a logical connection that can be created in any technically feasible format. For example, a network on a motherboard can be created using a printed circuit board, a wireless data connection, and / or other types of network connections. For clarity, some logical connections (e.g., connections to a power source and / or computer readable memory) are not shown.
[0155] Figure 4A is a block diagram of an exemplary data processing system 400 that may be associated with a bed system, including those described above (e.g., see Figures 1 to 3 ). System 400 includes a pump motherboard 402 and a pump daughterboard 404. System 400 includes a sensor array 406 having one or more sensors configured to sense physical phenomena of the environment and / or the bed and report the sensing back to the pump motherboard 402 (e.g., for analysis). Sensor array 406 may include one or more different types of sensors, including but not limited to pressure, temperature, light, movement (e.g., motion), and audio sensors. 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 (e.g., home automation devices, security systems, light systems, and Figure 3 ). The pump motherboard 400 can communicate with the computing device 414 and the cloud service 410 via a local network (e.g., the Internet 412) or other technically appropriate means.
[0156] exist Figure 4A 4, the pump motherboard 402 and the daughterboard 404 are communicatively coupled. They can be conceptually described as the center or hub of the system 400, while the other components are conceptually described as spokes of the system 400. This means that each spoke element communicates primarily or exclusively with the pump motherboard 402. For example, the sensors of the sensor array 406 may not be configured or capable of communicating directly with the corresponding controller. Instead, the sensors can report sensor readings to the motherboard 402, and the motherboard 402 can determine that, in response, the controllers of the controller array 408 should adjust some parameters of the logic control device or modify the state of one or more peripheral devices.
[0157] One advantage of a hub-and-spoke network configuration, or star network, is that network traffic is reduced compared to, for example, a mesh network with dynamic routing. If a particular sensor generates a large, continuous stream of traffic, that traffic is transmitted to the motherboard 402 via one spoke. The motherboard 402 can organize and compress that data into a smaller data format for retransmission for storage in the cloud service 410. Additionally or alternatively, the motherboard 402 can generate a single, small command message to be sent along a different spoke in response to the large stream. For example, if the large data stream is pressure readings transmitted from the sensor array 406 several times per second, the motherboard 402 can respond to the controller array 408 with a single command message to increase the pressure in the air chamber of the bed. In this case, the single command message can be several orders of magnitude smaller than the stream of pressure readings.
[0158] As another advantage, the hub-and-spoke network configuration can allow for a scalable network that accommodates components being added, removed, failing, etc. This can allow for more, fewer, or different sensors in the sensor array 406, more, fewer, or different controllers in the controller array 408, can allow for 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 deprecated by a newer version, the system 400 can be configured so that only the motherboard 402 needs to be updated to replace the sensor. This can allow for product differentiation (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), as well as customer personalization (where customers can add components of their own choice to the system 400).
[0159] Additionally, a line of airbed products may use system 400 with different components. In applications where each airbed in a production line includes a central logic unit and pump, motherboard 402 (and optionally daughterboard 404) may be designed to fit within a single common housing. With each upgrade of a product in a product line, additional sensors, controllers, cloud services, etc. may be added. By designing all products in a product line on this basis, design, manufacturing, and testing time may be reduced compared to a product line where each product has a custom logic control system.
[0160] Each of the components discussed above can be implemented with a variety of techniques and configurations. Some examples of each component are discussed below. Sometimes, two or more components of system 400 can be implemented in a single alternative component; some components can be implemented in multiple separate components; and / or some functions can be provided by different components.
[0161] Figure 4B4 is a block diagram illustrating the communication paths of the system 400. As described above, the motherboard 402 and the daughterboard 404 can act as the hub of the system 400. When the pump daughterboard 404 communicates with the cloud service 410 or other components, the communication can be routed through the motherboard 402. This can allow the bed to have a single connection to the Internet 412. The computing device 414 can also have a connection to the Internet 412, possibly through the same gateway used by the bed and / or a different gateway (e.g., a cellular service provider).
[0162] exist Figure 4B , cloud services 410d and 410e may be configured so that motherboard 402 communicates directly with the cloud services (e.g., without having to use another cloud service 410 as an intermediary). Additionally or alternatively, some cloud services 410 (e.g., 410f) may only be reachable by motherboard 402 through an intermediary cloud service (e.g., 410e). Although not shown here, some cloud services 410 may be reachable directly or indirectly through pump motherboard 402.
[0163] Additionally, some or all of the cloud services 410 may communicate with other cloud services, including data transfers and / or remote function calls in any technically suitable format. For example, one cloud service 410 may request a copy of the data of another cloud service 410 (e.g., for backup, coordination, migration, computation, data mining purposes). Many cloud services 410 may also contain data indexed according to a specific user tracked by the user account cloud 410c and / or the bed data cloud 410a. These cloud services 410 may communicate with the user account cloud 410c and / or the bed data cloud 410a when accessing specific data for a specific user or bed.
[0164] Figure 5 is related to the bed system (e.g., reference Figures 1 to 3 ) is a block diagram of an exemplary motherboard 402 in a data processing system associated with an MCU. In this example, the motherboard 402 includes relatively fewer parts than other examples described below, and may be limited to providing a relatively limited feature set.
[0165] The motherboard 402 includes a power supply 500, a processor 502, and a computer memory 512. In general, the power supply 500 includes hardware for receiving power from an external source and providing it to the components of the motherboard 402. The power supply may include a battery pack and / or a wall outlet adapter, an AC to DC converter, a DC to AC converter, a power conditioner, a capacitor bank, and / or one or more interfaces for providing power at the type of current, voltage, etc. required by the other components of the motherboard 402.
[0166] Processor 502 is generally a device for receiving input, performing logical determinations, and providing output. Processor 502 may be a central processing unit, a microprocessor, a general purpose logic circuit, an application specific integrated circuit, a combination of these, and / or other hardware.
[0167] Memory 512 is typically one or more devices for storing data, which may include long-term stable data storage (e.g., on a hard disk), short-term volatile data storage (e.g., in random access memory), or any other technically suitable configuration.
[0168] The motherboard 402 includes a pump controller 504 and a pump motor 506. The pump controller 504 can receive commands from the processor 502 to control the operation of the pump motor 506. For example, the pump controller 504 can receive a command to increase the pressure of the air chamber by 0.3 pounds per square inch (PSI). In response, the pump controller 504 enables the valve so that the pump motor 506 pumps air into the selected air chamber, and the pump motor 506 can be enabled for a period of time corresponding to 0.3PSI or until the sensor indicates that the pressure has increased by 0.3PSI. Sometimes, the message can specify that the chamber should be inflated to a target PSI, and the pump controller 504 can enable the pump motor 506 until the target PSI is reached.
[0169] The valve solenoid 508 can control which air chamber the pump is connected to. In some cases, the solenoid 508 can be controlled directly by the processor 502. In some cases, the solenoid 508 can be controlled by the pump controller 504.
[0170] The remote interface 510 of the motherboard 402 may allow the motherboard 402 to communicate with other components of the data processing system. For example, the motherboard 402 may communicate with one or more daughter boards, peripheral sensors, and / or peripheral controllers via the remote interface 510. The remote interface 510 may provide any technically suitable communication interface, including but not limited to a plurality of communication interfaces, such as WIFI, Bluetooth, and copper wire networks.
[0171] Figure 6 is a block diagram of another exemplary motherboard 402. Figure 5 Compared with the motherboard 402, Figure 6 The motherboard 402 in the embodiment may include more components and provide more functions in some applications.
[0172] The motherboard 402 may further include 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 .
[0173] The valve controller 600 can convert the command from the processor 502 into a control signal for the valve solenoid 508. For example, the processor 502 can issue a command to the valve controller 600 to connect the pump to a specific air chamber in a set of air chambers of the air mattress. The valve controller 600 can control the position of the valve solenoid 508 so that the pump is connected to the indicated air chamber.
[0174] The pressure sensor 602 can read pressure readings from one or more air chambers of the air mattress. The pressure sensor 602 can also perform digital sensor conditioning. As described herein, multiple pressure sensors 602 can be included as part of the motherboard 402 or otherwise communicate with the motherboard 402.
[0175] The motherboard 402 may include a set of network interfaces 604, 606, 608, 610, 612, etc., including but not limited to Figure 6 These network interfaces can allow the motherboard to communicate with any device over a wired or wireless network, including but not limited to peripheral sensors, peripheral controllers, computing devices, and devices and services connected to the Internet 412.
[0176] Figure 7 404 is a block diagram of an exemplary daughter board 404 used in a data processing system associated with the bed system described herein. One or more daughter boards 404 can be connected to the motherboard 402. Some daughter boards 404 can be designed to offload specific and / or isolated tasks from the motherboard 402. This may be advantageous if a specific task is computationally intensive, proprietary, or subject to future versions. For example, the daughter board 404 can be used to calculate a specific sleep data metric. The metric can be computationally intensive, and calculating the metric on the daughter board 404 can free up resources of the motherboard 402 while the metric is being calculated. The sleep metric may be revised in the future. In order to update the system 400 with a new metric, it is possible that only the daughter board 404 calculates the metric to be replaced. In this case, the same motherboard 402 and other components can be used, thereby saving the need to unit test additional components rather than just the daughter board 404.
[0177] The daughter board 404 includes a power supply 700, a processor 702, a computer readable memory 704, a pressure sensor 706, and a WiFi radio 708. The processor 702 can use the pressure sensor 706 to collect information about the air mattress chamber pressure. The processor 702 can execute an algorithm to calculate sleep indicators (e.g., sleep quality, presence in bed, whether the user is asleep, heart rate, breathing rate, movement, etc.). Sometimes, the sleep indicator can be calculated based on the air chamber pressure alone. The sleep indicator can also be calculated using signals from various sensors (e.g., movement, pressure, temperature, and / or audio sensors). The processor 702 can receive data from sensors inside the daughter board 404, which can be accessed via the WiFi radio 708 or otherwise communicate with the processor 702. Once the sleep indicator is calculated, the processor 702 can report the sleep indicator to, for example, the motherboard 402. The motherboard 402 can generate instructions for outputting the sleep indicator to the user or using the sleep indicator to determine other user information or control to control the bed and / or peripherals.
[0178] Figure 8 is a block diagram of an exemplary motherboard 800 in a data processing system associated with a bed system without using a daughterboard. In this example, the motherboard 800 may execute reference Figure 6 The motherboard 402 and Figure 7 Most, all, or more of the features described for daughterboard 404 in .
[0179] Fig.9A 4 is a block diagram of an exemplary sensor array 406 used in a data processing system associated with the bed system described herein. The sensor array 406 is a conceptual grouping of some or all peripheral sensors that communicate with the motherboard 402 but are not part of the motherboard 402. The peripheral sensors 902, 904, 906, 908, 910, etc. of the sensor array 406 communicate with the motherboard 402 through one or more network interfaces 604, 606, 608, 610 and 612 of the motherboard, which is appropriate for the configuration of the particular sensor. For example, a sensor that outputs readings through a USB cable can communicate through the USB stack 604.
[0180] Some of the peripheral sensors of sensor array 406 may be bed mounted sensors 900 (e.g., temperature sensor 906, light sensor 908, sound sensor 910). Bed mounted sensors 900 may be embedded in the bed structure and sold with the bed, or subsequently attached to the structure (e.g., a portion of a pressure sensing pad removably mounted on the top surface of the bed, a portion of a temperature sensing or heating pad removably mounted on the top surface of the bed, integrated into the top surface, connected along a connecting tube between a pump and an air chamber, within the air chamber, attached to a headboard, attached to one or more areas of an adjustable base). One or more of sensors 902 may be load cells or force sensors, such as Fig. 9C As shown. Other sensors 902 and 904 may not be mounted on the bed and may include pressure sensors 902 and / or peripheral sensors 904. For example, sensors 902 and 904 may be integrated into or part of a user's mobile device (e.g., a mobile phone, a wearable device). Sensors 902 and 904 may also be part of a central controller for controlling the bed and peripheral devices. Sometimes, sensors 902 and 904 may be part of one or more home automation devices or other peripheral devices.
[0181] Sometimes, the bed mounted sensor 900 and / or some or all of the sensors 902 and 904 share network hardware (e.g., a conduit, multi-wire cable, or plug containing wires from each sensor that, when attached to the motherboard 402, connects all associated sensors to the motherboard 402). One, some, or all of the sensors 902, 904, 906, 908, and 910 may sense characteristics of the mattress (e.g., pressure, temperature, light, sound, and / or other characteristics) and characteristics external to the mattress. Sometimes, the pressure sensor 902 may sense pressure of the mattress, while some or all of the sensors 902, 904, 906, 908, and 910 sense characteristics of the mattress and / or characteristics external to the mattress.
[0182] Fig. 9B 9 is a schematic top view of a bed 920 having a sensor bar 932 with sensors 934A-N for use in a data processing system associated with the bed 920. The bed 920 includes a mattress 922 (e.g., see FIG. Figure 1 ). The mattress 922 can have a foam basin 930 underneath the top of the mattress 922. The foam basin 930 can have air chambers 923A and / or 923B, similar to those described herein.
[0183] The sensor bar 932 may be attached across the mattress top 924 from one lateral side to the opposite lateral side (e.g., from left to right). The sensor bar 932 may be attached near the head section of the mattress 922 to measure the temperature and / or humidity values around the chest area of the user 936. The sensor bar 932 may also be placed at a center point (e.g., midpoint) of the mattress 922 so that the distances 938 and 940 are equal to each other. The sensor bar 932 may be placed at other locations to obtain the temperature and / or humidity values of the top of the mattress 922.
[0184] Sensors 934A-N may be Fig.9A 923A. The sensor strip 932 may also include a carrier strip 933 having a first strip portion 933A and a second strip portion 933B. The carrier strip 933 may be releasably attached to the foam basin layer 920 and extend between opposite side ends of the foam basin 920. The sensor strip 932 may have first sensors 934A-N and second sensors 934A-N. Each of the first sensors and second sensors 934A-N may have five sensors. For example, a sensor strip 932 for a king or queen size mattress may have a total of ten sensors. When a user 936 is positioned on top of the mattress 922 above the air chamber 923A, the first sensors 934A-N may measure the temperature and / or humidity of the mattress top 924 above the air chamber 923A. These values may be used, for example, to determine the conditioned airflow supplied to the air chamber 923A. The temperature and / or humidity values measured by the second sensors 934A-N can be used, for example, to determine the conditioned airflow supplied to the air chamber 923B. The bed system 920 can provide customized airflow to different portions of the mattress 922 based on the user's body temperature and / or the temperature of different portions of the mattress top 924.
[0185] Sometimes, two separate sensor bars can be attached to mattress 922 (e.g., a first sensor bar above air chamber 923A and a second sensor bar above air chamber 923B that is separate from the first sensor bar). The first sensor bar and the second sensor bar can be attached to the center of mattress top 924 via a fastening element such as an adhesive. Sensor bar 932 can also be easily replaced with another sensor bar.
[0186] Fig. 9C is a schematic diagram of an exemplary bed having force sensors 955 located at the bottom of legs 953 of the bed (e.g., in four, six, eight, or other number of legs). Force sensors 955 may also be located elsewhere on the bed with similar effects (e.g., between legs 953 and platform 950). When strain gauges are used as force sensors 955, force sensors 955 may be positioned closer to the center of legs 953. Force sensors 955 may be load cells.
[0187] Fig.10 4 is a block diagram of an exemplary controller array 408 for use in a data processing system associated with a bed system. 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 part of the motherboard 402. The peripheral controllers may communicate with the motherboard 402 through one or more of the motherboard's network interfaces 604, 606, 608, 610, and 612, as appropriate for the configuration of the particular controller. Some of the controllers may be bed mounted controllers 1000, such as a temperature controller 1006, a light controller 1008, and a speaker controller 1010, as described with reference to FIG. Fig.9A Peripheral controllers 1002 and 1004 may communicate with motherboard 402, but are optionally not mounted on the bed.
[0188] Fig.11 4 is a block diagram of an exemplary computing device 412 for use in a data processing system associated with a bed system. The computing device 412 may include a computing device used by a user of the bed, including but not limited to a mobile computing device (e.g., a mobile phone, a tablet computer, a laptop computer, a smart phone, a wearable device), a desktop computer, a home automation device, and / or a central controller or other hub device.
[0189] The computing device 412 includes a power source 1100, a processor 1102, and a computer-readable memory 1104. User input and output may be sent by a speaker 1106, a touch screen 1108, or other components not shown (e.g., a pointing device or keyboard). The computing device 412 may run applications 1110, including, for example, applications that allow a user to interact with the system 400. These applications may allow the user to view information about the bed (e.g., sensor readings, sleep metrics), information about themselves (e.g., health conditions detected based on signals sensed in the bed), and / or configure the behavior of the system 400 (e.g., setting a desired firmness, setting desired behavior for peripheral devices). The computing device 412 may be used in addition to the remote control 122 described above, or in place of the remote control described above.
[0190] Fig.12 410a for use in a data processing system associated with a bed system. Here, the bed data cloud service 410a is configured to collect sensor data and sleep data from a particular bed and match the data with one or more users who used the bed when the data was generated.
[0191] The bed data cloud service 410a includes a network interface 1200, a communication manager 1202, server hardware 1204, and server system software 1206. The bed data cloud service 410a is also shown as having a user identification module 1208, a device management 1210 module, a sensor data module 1210, and an advanced sleep data module 1214. The network interface 1200 includes hardware and low-level software to allow hardware devices (e.g., components of the service 410a) to communicate over a network (e.g., to communicate with each other and to communicate with other destinations over the Internet 412). The network interface 1200 may include a network card, a router, a modem, and other hardware.
[0192] The communication manager 1202 typically includes hardware and software operating on the network interface 1200, such as software for initiating, maintaining and tearing down network communications used by the service 410a (e.g., TCP / IP, SSL or TLS, Torrent, and other communication sessions on a local area network or a wide area network). The communication manager 1202 can also provide load balancing and other services to other elements of the service 410a. The server hardware 1204 typically includes a physical processing device for instantiating and maintaining the service 410a. The hardware includes, but is not limited to, a processor (e.g., a central processing unit, an ASIC, a graphics processor) and a computer-readable memory (e.g., a random access memory, a stable hard disk, a tape backup). One or more servers can be configured as a cluster, multiple computers, or a data center that can be geographically separated or connected. The server system software 1206 typically includes software running on the server hardware 1204 to provide an operating environment for applications and services (e.g., an operating system running on a real server, a virtual machine instantiated on a real server to create many virtual servers, server-level operations such as data migration, redundancy, and backup).
[0193] User identification 1208 may include or reference data related to a user of a bed having an associated data processing system. A user may include a customer, owner, or other user registered with service 410a or another service. Each user may have a unique identifier, user credentials, contact information, billing information, demographic information, or any other technically suitable information.
[0194] Device manager 1210 may include or reference data related to beds or other products associated with the data processing system. Beds may include products sold or registered to a system associated with service 410a. Each bed may have a unique identifier, model and / or serial number, sales information, geographic information, delivery information, a list of associated sensors and control peripherals, etc. One or more indexes stored by service 410a may identify a user associated with a bed. The index may record the sale of a bed to a user, the user who slept on the bed, etc.
[0195] Sensor data 1212 may record raw or compressed sensor data recorded by a bed having an associated data processing system. For example, the bed's data processing system may have temperature, pressure, motion, audio, and / or light sensors. Readings from these sensors, either in raw form or in a format generated from the raw data (e.g., sleep metrics), may be transmitted by the bed's data processing system to service 410a for storage in sensor data 1212. One or more indexes stored by service 410a may identify the user and / or bed associated with sensor data 1212.
[0196] The service 410a can use any of its available data (e.g., sensor data 1212) to generate high-level sleep data 1214. High-level sleep data 1214 includes sleep metrics and other data generated from sensor readings (e.g., health information). Some of these calculations can be performed in the service 410a rather than locally on the bed's data processing system, as these calculations may be computationally complex or require a large amount of storage space or processor performance that may not be available on the bed's data processing system. This can help allow the bed system to operate with a relatively simple controller when it is part of a system that performs relatively complex tasks and calculations.
[0197] For example, service 410a may retrieve one or more machine learning models from a remote data repository and use these models to determine high-level sleep data 1214. Service 410a may retrieve one or more models to determine the overall sleep quality of the user based on currently detected sensor data 1212 and / or historical sensor data. Service 410a may retrieve other models to determine whether the user snores based on detected sensor data 1212. Service 410a may retrieve other models to determine whether the user experiences a health condition based on data 1212.
[0198] Fig.13is a block diagram of an exemplary sleep data cloud service 410b for use in a data processing system associated with a bed system. Here, the sleep data cloud service 410b is configured to record data related to a user's sleep experience. The service 410b includes a network interface 1300, a communication manager 1302, server hardware 1304, and server system software 1306. The service 410b also includes a user identification module 1308, a pressure sensor manager 1310, a pressure-based sleep data module 1312, a raw pressure sensor data module 1314, and a pressure-free sleep data module 1316. Sometimes, the service 410b may include a sensor manager for each sensor. The service 410b may also include a sensor manager associated with multiple sensors in the bed (e.g., a single sensor manager may be associated with pressure, temperature, light, movement, and audio sensors in the bed).
[0199] The pressure sensor manager 1310 may include or reference data related to the configuration and operation of the pressure sensor in the bed. The data may include identifiers of specific bed sensor types, their settings and calibration data, etc. Pressure-based sleep data 1312 may use raw pressure sensor data 1314 to calculate sleep indicators related to pressure sensor data. For example, the user's presence, movement, weight change, heart rate, and breathing rate may be determined from the raw pressure sensor data 1314. One or more indexes stored by the service 410b may identify users associated with pressure sensors, raw pressure sensor data, and / or pressure-based sleep data. Pressure-free sleep data 1316 may use other data sources to calculate sleep indicators. User-entered preferences, light sensor readings, and sound sensor readings may be used to track sleep data. The presence of a user may also be determined based on a combination of raw pressure sensor data 1314 and pressure-free sleep data 1316 (e.g., raw temperature data). Sometimes, presence in bed may be determined using temperature data alone. Changes in temperature data may be monitored to determine whether a user is present in bed in a time interval (e.g., a time window) of a given duration. The temperature and / or pressure data may also be combined with other forms of sensing or motion sensors (e.g., load cells) that reflect different forms of movement to accurately detect the presence of a user. For example, the temperature and / or pressure data may be provided as input to a bed presence classifier that may determine the presence of a user in bed based on real-time or near real-time data collected at the bed. The classifier may be trained to distinguish between temperature data and pressure data, identify peaks in the temperature and pressure data, and generate an indication of presence in bed based on correlation with the peaks. The peaks may be within a threshold distance of each other, and then an indication that the user is in bed is generated. One or more indexes stored by the service 410b may identify the user associated with the sensor and / or data 1316.
[0200] Fig.14 14 is a block diagram of an exemplary user account cloud service 410c for use in a data processing system associated with a bed system. Here, the service 410c is configured to record a list of users and identify other data related to those users. The service 410c includes a network interface 1400, a communication manager 1402, server hardware 1404, and server system software 1406. The service 410c also includes a user identification module 1408, a purchase history module 1410, an enablement module 1412, and an application usage history module 1414.
[0201] As described above, the user identification module 1408 may include or reference data associated with a user of a bed having an associated data processing system. The purchase history module 1410 may include or reference data associated with a user's purchase. The purchase data may include sales contact information, billing information, and salesperson information associated with a user's purchase of a bed system. One or more indexes stored by the service 410c may identify a user associated with a bed purchase.
[0202] The enabling module 1412 can track user interactions with manufacturers, suppliers, and / or managers of bed / cloud services. The data can include communications (e.g., emails, service calls), sales data (e.g., sales receipts, configuration logs), and social network interactions. The data can also include repairs, maintenance, or replacements of components of the user's bed system. The usage history module 1414 can contain data about user interactions with the bed's application and / or remote control. The monitoring and configuration application can be distributed to run on a computing device 412 such as described herein. The application can record and report user interactions for storage in the application usage history module 1414. One or more indexes stored by the service 410c can also identify the user associated with each log entry. The user interactions stored in the module 1414 can optionally be used to determine or predict user preferences and / or settings of the user's bed and / or peripherals that can improve the user's overall sleep quality.
[0203] Fig.15 15 is a block diagram of an exemplary point of sale cloud service 1500 for use in a data processing system associated with a bed system. Here, the service 1500 can record data related to a user's purchases, particularly data related to purchases of the bed system described herein. The service 1500 is shown with a network interface 1502, a communication manager 1504, server hardware 1506, and server system software 1508. The service 1500 also includes a user identification module 1510, a purchase history module 1512, and a bed setup module 1514.
[0204] Purchase history module 1512 may include or reference data related to purchases made by the user identified in module 1510, such as sales data, price, sales location, shipping address, and configuration options selected by the user at the time of sale. Configuration options may include selections made by the user regarding how they wish to set up their newly purchased bed, and may include an intended sleep schedule, a list of peripheral sensors and controls that they have or will install, and the like.
[0205] The bed setup module 1514 may include or reference data related to the installation of the bed purchased by the user. The bed setup data may include the date and address at which the bed was delivered, the person to whom the delivery was made, the configuration applied to the bed at the time of delivery (e.g., a firmness setting), the names of the bed users, which side of the bed each user will use, etc. The data recorded in the service 1500 may later be referenced by the user's bed system to control the functions of the bed system and / or to send control signals to peripheral components. This may allow a salesperson to collect information from the user at the time of sale and subsequently facilitate automation of the bed system. Sometimes, some or all aspects of a bed system may be automated, with little or no need for user input of data after the sale. Sometimes, the data recorded in the service 1500 may be used in conjunction with other user-entered data.
[0206] Fig.16 1 is a block diagram of an exemplary environmental cloud service 1600 for use in a data processing system associated with a bed system. Here, the service 1600 is configured to record data related to the user's home environment. The service 1600 includes a network interface 1602, a communication manager 1604, server hardware 1606, and server system software 1608. The service 1600 also includes a user identification module 1610, an environmental sensor module 1612, and an environmental factor module 1614. The environmental sensor module 1612 may include a list and identification of sensors that the user has identified in module 1610 that have been installed in and / or around their bed (e.g., light, noise / audio, vibration, thermostat, movement / motion sensors). Module 1612 may also store historical readings or reports from environmental sensors. Module 1612 may be accessed later and used by one or more cloud services described herein to determine the user's sleep quality and / or health information. The environmental factor module 1614 may include reports generated based on the data in module 1612. For example, module 1614 may generate and maintain a report based on light sensor data stored in environmental sensor module 1612 that indicates the frequency and duration of instances of increased lighting while the user is asleep.
[0207] In the examples discussed here, each cloud service 410 is shown to have some of the same components. These same components can be shared in part or in whole between services, or they can be independent. Sometimes, each service can have a separate copy of some or all of the components, which are the same or different in some aspects. These components are provided as illustrative examples. In other examples, each cloud service can have different numbers, types, and styles of components that are technically possible.
[0208] Fig.17 1 is a block diagram of an example of using a data processing system associated with a bed to automate peripheral devices around a bed. A behavior analysis module 1700 running on a motherboard 402 is shown here. The behavior analysis module 1700 can be one or more software components stored on a computer memory 512 and executed by a processor 502. In general, the module 1700 can collect data from various sources (e.g., sensors 902, 904, 906, 908 and / or 910, non-sensor local sources 1704, cloud data services 410a and / or 410c) and use a behavior algorithm 1702 (e.g., a machine learning model) to generate actions to be taken (e.g., commands to be sent to peripheral controllers, data to be sent to cloud services (such as bed data cloud 410a and / or user account cloud 410c)). For example, this is useful in tracking user behavior and automating devices that communicate with the user's bed.
[0209] Module 1700 can collect data from any technically suitable source (e.g., sensors of sensor array 406) to collect data about the characteristics of the bed, the environment of the bed, and / or the user of the bed. The data can provide information about the current state of the environment of the bed to module 1700. For example, module 1700 can access readings from pressure sensor 902 to determine the air chamber pressure in the bed. From this reading and potential other data, the presence of the user can be determined. In another example, module 1700 can access light sensor 908 to detect the amount of light in the environment. Module 1700 can also access temperature sensor 906 to detect the temperature in the environment and / or the microclimate in the bed. Using this data, module 1700 can determine whether the environment and / or the components of the bed should be temperature-regulated to improve the user's sleep quality and overall comfort. Similarly, module 1700 can access data from cloud services to more accurately determine the user's sleep quality, health information, and / or control the bed and / or peripherals. For example, the behavior analysis module 1700 can access the bed cloud service 410a to access historical sensor data 1212 and / or advanced sleep data 1214. The module 1700 can also access weather reporting services, third-party data providers (e.g., traffic and news data, emergency broadcast data, user travel data), and / or clock and calendar services. Using the data retrieved from the cloud service 410, the module 1700 can accurately determine the user's sleep quality, health information, and / or control of the bed and / or peripherals. Similarly, the module 1700 can access data from non-sensor sources 1704, such as local clock and calendar services (e.g., components of the motherboard 402 or processor 502). The module 1700 can use this information to determine, for example, when the user is in bed, sleeping, waking up, and / or going to bed.
[0210] The behavior analysis module 1700 can gather and prepare this data for use with one or more behavior algorithms 1702 (e.g., machine learning models). The behavior algorithm 1702 can be used to learn the user's behavior and / or perform some actions based on the state of the accessed data and / or predicted user behavior. For example, the behavior algorithm 1702 can use available data (e.g., pressure sensors, non-sensor data, clock and calendar data) to create a model of when the user goes to bed each night. Later, the same or a different behavior algorithm 1702 can be used to determine whether an increase in air chamber pressure may indicate that the user has gone to bed, and if so, send some data to the third-party cloud service 410 and / or enable the peripheral controller 1002 or 1004, the base actuator 1006, the temperature controller 1008 and / or the under-bed lighting controller 1010.
[0211] Here, the module 1700 and the behavioral algorithm 1702 are shown as components of the motherboard 402. Other configurations are also possible. For example, the same or similar behavioral analysis module 1700 and / or behavioral algorithm 1702 can be run in one or more cloud services, and the resulting output can be sent to the pump motherboard 402, the controller in the controller array 408, or any other technically suitable recipient described herein.
[0212] Fig.18 Examples of computing devices 1800 and examples of mobile computing devices that can be used to implement the techniques described herein are shown. Computing device 1800 is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframes, and other suitable computers. Mobile computing devices are intended to represent various forms of mobile devices, such as personal digital assistants, cellular phones, smart computers, and other similar computing devices. The components shown here, their connections and relationships, and their functions are meant to be exemplary only and are not meant to limit the specific implementations of the invention described and / or claimed herein.
[0213] The computing device 1800 includes a processor 1802, a memory 1804, a storage device 1806, a high-speed interface 1808 connected to the memory 1804 and a plurality of high-speed expansion ports 1810, and a low-speed interface 1812 connected 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 is interconnected using various buses and may be mounted on a common motherboard or otherwise as appropriate. 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 to 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 specific implementations, multiple processors and / or multiple buses may be used with multiple memories and multiple types of memories as appropriate. In addition, multiple computing devices may be connected, each of which provides a portion of the necessary operations (e.g., as a server array, a group of blade servers, or a multi-processor system). Memory 1804 stores information within computing device 1800. In some implementations, memory 1804 is one or more volatile memory units. In some implementations, memory 1804 is one or more non-volatile memory units. Memory 1804 may also be another form of computer-readable medium, such as a disk or optical disk. Storage device 1806 is capable of providing mass storage for computing device 1800. In some implementations, storage device 1806 may be or include a computer-readable medium, such as a floppy disk device, a hard disk device, an optical disk device or a tape device, a flash memory or other similar solid-state storage device, or an array of devices including devices in a storage area network or other configurations. A computer program product may be tangibly embodied in an information carrier. A computer program product may also include instructions for executing one or more methods (such as those described above) when executed. The computer program product may also be tangibly embodied in a computer-readable medium or machine-readable medium, such as the memory 1804 , storage device 1806 , or memory on the processor 1802 .
[0214] The high-speed interface 1808 manages the bandwidth-intensive operations of the computing device 1800, while the low-speed interface 1812 manages the lower bandwidth-intensive operations. This functional allocation is exemplary only. In some specific implementations, the high-speed interface 1808 is coupled to the memory 1804, the display 1816 (e.g., through a graphics processor or an accelerator), and is coupled to a high-speed expansion port 1810 that can accept various expansion cards (not shown). In this specific implementation, 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, which may include various communication ports (e.g., USB, Bluetooth, Ethernet, wireless Ethernet), may be coupled to one or more input / output devices (such as keyboards, pointing devices, scanners) or networking devices (such as switches or routers) through a network adapter, for example. As shown, the computing device 1800 can be implemented in a variety of different forms. For example, it can be implemented as a standard server 1820, or it can be implemented multiple times in a group of such servers. In addition, it can 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 the computing device 1800 may be combined with other components in a mobile device (not shown), such as a mobile computing device 1850. Each of these devices may contain one or more of the computing device 1800 and the mobile computing device 1850, and the entire system may consist of multiple computing devices that communicate with each other. The mobile computing device 1850 includes a processor 1852, a memory 1864, an input / output device (such as a display 1854), a communication interface 1866, and a transceiver 1868, as well as other components. The mobile computing device 1850 may also be provided with a storage device, such as a micro drive or other device, to provide additional storage. Each of the processor 1852, the memory 1864, the display 1854, the communication interface 1866, and the transceiver 1868 is interconnected using various buses, and several components may be mounted on a common motherboard or in other appropriate ways.
[0215] The processor 1852 can execute instructions within the mobile computing device 1850, including instructions stored in the memory 1864. The processor 1852 can be implemented as a chipset including separate multiple analog and digital processor chips. The processor 1852 can, for example, provide coordination of other components of the mobile computing device 1850, such as control of a user interface, applications running on the mobile computing device 1850, and wireless communications performed by the mobile computing device 1850. The processor 1852 can communicate with the user through a control interface 1858 and a display interface 1856 coupled to the display 1854. The display 1854 can be, for example, a TFT (thin film transistor liquid crystal display) display or an OLED (organic light emitting diode) display, or other appropriate display technology. The display interface 1856 may include appropriate circuit systems for driving the display 1854 to present graphics and other information to the user. The control interface 1858 can receive commands from the user and convert them to submit to the processor 1852. In addition, the external interface 1862 can provide communication with the processor 1852 to enable near-area communication of the mobile computing device 1850 with other devices. External interface 1862 may provide, for example, for wired communication in some implementations, or for wireless communication in other implementations, and multiple interfaces may also be used.
[0216] Memory 1864 stores information within mobile computing device 1850. Memory 1864 may be implemented as one or more of one or more computer-readable media, one or more volatile memory units, or one or more non-volatile memory units. Expansion memory 1874 may also be provided and connected to mobile computing device 1850 via expansion interface 1872, which may include, for example, a SIMM (Single In-line Memory Module) card interface. Expansion memory 1874 may provide additional storage space for mobile computing device 1850, or may also store applications or other information for mobile computing device 1850. Specifically, expansion memory 1874 may include instructions for executing or supplementing the above-mentioned processes, and may also include security information. Thus, for example, expansion memory 1874 may be provided as a security module for mobile computing device 1850, and may be programmed with instructions that allow secure use of mobile computing device 1850. In addition, security applications and additional information may be provided via a SIMM card, such as placing identification information on a SIMM card in an unbreakable manner.
[0217] 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 contains instructions that, when executed, perform one or more methods (such as those described above). The computer program product may be a computer-readable medium or a 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, for example, in a propagated signal by transceiver 1868 or external interface 1862.
[0218] The mobile computing device 1850 may communicate wirelessly via a communication interface 1866, which may include digital signal processing circuitry, if necessary. The communication interface 1866 may provide for communication in various modes or protocols, such as GSM voice calls (Global System for Mobile Communications), SMS (Short Message Service), EMS (Enhanced Messaging Service) or 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 communication may be performed, for example, via a transceiver 1868 using radio frequency. In addition, short-range communication may be performed, such as using Bluetooth, WiFi, or other such transceivers (not shown). In addition, a GPS (Global Positioning System) receiver module 1870 may provide additional navigation and location-related wireless data to the mobile computing device 1850, which may be used by applications running on the mobile computing device 1850 as appropriate. The mobile computing device 1850 may also communicate audibly using an audio codec 1860, which may receive verbal information from a user and convert it into usable digital information. The audio codec 1860 may also generate audible sounds for the user, such as through a speaker, such as in a mobile phone of the mobile computing device 1850. Such sounds may include sounds from voice phone calls, may include recorded sounds (e.g., voice messages, music files, etc.), and may also include sounds generated by applications operating on the mobile computing device 1850. As shown, the mobile computing device 1850 may be implemented in a variety of different forms. For example, it may be implemented as a cellular phone 1880. It may also be implemented as part of a smart phone 1882, a personal digital assistant, or other similar mobile device.
[0219] Various implementations of the systems and techniques described herein can be realized in digital electronic circuitry, integrated circuitry, specially designed ASICs (application specific integrated circuits), computer hardware, firmware, software, and / or combinations thereof. These various implementations can include implementations in one or more computer programs executable and / or interpretable on a programmable system that includes at least one programmable processor that can be special or general purpose, coupled to receive data and instructions from and send data and instructions to a storage system, at least one input device, and at least one output device.
[0220] 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 high-level procedural and / or object-oriented programming languages and / or assembly / machine languages. As used herein, the terms machine-readable medium and computer-readable medium refer to any computer program product, apparatus, and / or device (e.g., disks, optical disks, memories, and programmable logic devices (PLDs)) for providing machine instructions and / or data to a programmable processor, including machine-readable media that receive machine instructions as machine-readable signals. The term machine-readable signal refers to any signal for providing machine instructions and / or data to a programmable processor.
[0221] To provide interaction with a user, the systems and techniques described herein may be implemented on a computer having 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) that the user can use to provide input to the computer. Other types of devices may also be used to provide interaction with the user; for example, the feedback provided to the user may be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user may be received in any form, including sound, voice, or tactile input. The systems and techniques described herein may be implemented in a computing system that includes a back-end component (e.g., as a data server), or includes a middleware component (e.g., an application server), or includes a front-end component (e.g., a client computer with a graphical user interface or a web browser through which a user can interact with a specific implementation of the systems and techniques described herein), or any combination of such back-end, middleware, or front-end components. The components of the system may be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include local area networks (LANs), wide area networks (WANs), and the Internet. The computing system may include clients and servers. A client and server are generally remote from each other and typically interact through a communication network. The relationship between client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other.
[0222] Fig.19 1 is a conceptual diagram for determining personalized insights for a user 1904 of a bed system 1900. As shown, the user 1904 can sleep in the bed system 1900. The bed system 1900 and / or a user device 1901 (e.g., a mobile device, a mobile phone, a smart phone, a wearable device, a laptop, a tablet computer, a computer, an automation hub, a home automation device) can communicate data (e.g., wired, wirelessly) with a computer system 1902 via a network 1906.
[0223] The computer system 1902 can be configured to perform various smart bed related tasks, including generating personalized insights (e.g., sleep recommendations) for the user 1904, determining the sleep state of the user 1904, and making adjustments to the bed system 1900 or the surrounding environment. The computer system 1902 can be separate / remote from the bed system 1900 (e.g., a cloud-based computing system). In some implementations, the computer system 1902 can be part of the bed system 1900, such as a controller or processor of the bed system 1900.
[0224] The user device 1901 may be configured to present information about their sleep environment, their sleep health / quality, overall health, smart bed related tasks and / or insights to the user 1904. The user device 1901 may be the same or similar to any of the mobile devices, computing devices and / or user devices described throughout this disclosure.
[0225] As described herein, the bed system 1900 may include a plurality of sensors 1908A-N (e.g., a sensor system) configured to detect pressure, temperature, and other indicators of the user 1904 while the user 1904 lies on the mattress of the bed system 1900. In some implementations, the sensors 1908A-N may be part of a wearable device (e.g., a smart watch, a heart rate monitor, smart clothing, etc.) and / or a mobile phone or home automation device that communicates data with the computer system 1902. For example, any one or more of the sensors described herein may capture presence, movement, and biometric information about the user 1904. The plurality of sensors 1908A-N may include any combination of the sensors described throughout this disclosure (e.g., references to Figures 1 to 18 ).
[0226] The sensed information may include a variety of different signals. For example, the information may include audio waves indicating the breathing and / or snoring of the user 1904. The information may include pressure in the mattress indicating the movement of the user 1904 on the mattress. The information may also include pressure changes in one or more air chambers or portions of the mattress indicating that the user 1904 is on top of the mattress. The information may also include pressure changes or other measurements indicating the heartbeat, breathing rate, and / or respiratory rate of the user 1904. In addition, the information may include the temperature of the user 1904. The information may also indicate a temperature change of the top surface of the mattress, which indicates that the user 1904 is on top of the mattress. The information may include any one or more additional measurements that can be used to determine that the user 1904 is currently on top of the mattress / in the bed system 1900.
[0227] The user 1904 can view the health and wellness questionnaire at the user device 1901 at any time before or after they fall asleep in the bed system 1900. Fig.21 An exemplary questionnaire is further depicted and described. The questionnaire may present questions to the user 1904 regarding their sleep habits and subjective feelings about their sleep health and / or quality. The user 1904 may answer the questions in the questionnaire, thereby providing user input to the computer system 1902 (block A-1, 1910). The user 1904 may answer the questions once. The user 1904 may also return at one or more other times and update or change their answers to any of the questions.
[0228] Using the user's 1904 responses to the questionnaire (which may be transmitted to the computer system 1902 by the user device 101 via the network 1906), the computer system 1902 may identify one or more health and wellness insights (e.g., personalized insights) associated with the particular user 1904 (block B, 1914). As further described below, one or more of the insights may also be determined without using the user's 1904 responses to the questionnaire. For example, the insights may be determined based on one or more of sensor data, rules, algorithms, and / or machine learning models. Sensor-enabled rules, algorithms, and / or machine learning techniques may also be used to estimate and / or determine tracking of specific health and / or wellness conditions, such as circadian rhythm sleep type. Health and wellness insights may be generated by the computer system 1902 based on historical sleep and health data about the user 1904 and / or a general user population of similar bed systems 1900. The computer system 1902 may utilize this rich historical data in order to curate general and personalized insights aimed at improving the user's overall sleep health, sleep quality, and / or wellness. The computer system 1902 can store (e.g., in a data repository) these insights and update them over time, such as based on the results of other users taking actions on the insights selected by the computer system 1902 and presented to them on their respective devices. Thus, the computer system 1902 can leverage existing data and analysis of sleep behavior and / or quality of many users to efficiently and accurately select health and wellness insights aimed at improving the overall sleep quality and / or health of a particular user 1904.
[0229] For example, the computer system 1902 can determine the circadian sleep type of the user 1904 based on their answers to the health and wellness questionnaire. The circadian sleep type can correspond to their circadian rhythm. For example, the circadian sleep type can correspond to the circadian rhythm of a night owl, an early riser, and an intermediate (e.g., neither a night owl nor an early riser). The circadian sleep type can also be a first type, a second type, and / or a third type. Sometimes, the circadian sleep type can include more than three types. The circadian sleep type can also include less than three types. Any type of circadian sleep type can be defined by the computer system 1902 implementing the disclosed technology or relevant stakeholders.
[0230] The computer system 1902 may determine the circadian sleep type of the user 1904 using a rule set that maps responses to a health and wellness questionnaire with indicators of different circadian rhythms. The computer system 1902 may thus correlate the user's 1904 responses to the questionnaire with underlying circadian rhythms to determine the user's 1904 circadian rhythm, and thus the user's 1904 circadian sleep type. Based on the determined circadian sleep type of the user 1904, the computer system 1902 may then select a set of health and / or wellness insights that may be directed to maintaining and / or improving the user's 1904 specific circadian sleep type, as described above.
[0231] In some implementations, the computer system 1902 may also utilize real-time sensor data collected by sensors 1908A-N of the bed system 1900 (and / or user device 1901) to generate and / or select health and / or wellness insights in block B (1914). The computer system 1902 may also utilize the sensor data to determine the circadian sleep type of the user 1904, as further described below. The sensors 1908A-N may be used to sense health and / or wellness data regarding the sleep period of the user 1904 (block A-2, 1912). The sensors 1908A-N may include pressure sensors, as described herein, which may detect respiratory rate, HR, and / or the user's presence in the bed system 1900. Sensors 1908A-N may also include temperature or thermal sensors, load cells, or other types of sensing devices that can detect various data about user 1904, all of which may be processed and used by computer system 1902 to accurately curate a set of insights that may help maintain user 1904's circadian rhythm and / or improve their overall sleep quality and / or health.
[0232] The sensed data may be transmitted to the computer system 1902 (e.g., via the network 1906). The data may be transmitted as it is sensed. In some implementations, the bed system 1900 may be configured to sense information at predetermined time intervals. At the end of each of the time intervals, the bed system 1900 may transmit the sensed data to the computer system 1902. Additionally, in some implementations, the bed system 1900 may receive a request from the computer system 1902 to sense information about the user 1904. At this point, the bed system 1900 may sense the information and transmit the sensed data to the computer system 1902. The computer system 1902 may then identify health and / or wellness insights in box B (1914) based on a combination of the user input to the questionnaire and the sensed data.
[0233] At times, computer system 1902 may utilize sensed data collected over time, such as heart rate (HR) or heart rate variability (HRV), to measure stress levels for user 1904. HR and / or HRV data may be used to select one or more insights that may help user 1904 establish habits that may reduce stress over time, maintain user 1904's circadian rhythm, and / or improve overall sleep quality and / or health for user 1904. Similarly, computer system 1902 may utilize other sensed data collected over time (e.g., over multiple sleep sessions) for a particular user 1904 to determine and select other insights to present to user 1904 that may help user 1904 get back into a routine that maintains their circadian rhythm. The computer system 1902 may also utilize other historical data about the user's 1904 sleep patterns, sleep behavior, and / or health information to determine the user's 1904 circadian sleep type and / or insights, tips, and / or recommendations that may be provided to the user 1904 to improve the user's 1904 overall sleep health and / or quality.
[0234] Computer system 1902 may store a rule set that defines a series of parameters such as sleep quality (e.g., on a scale of 1-100), subjective sleep quality (e.g., wakefulness on a scale of 1-10), time (e.g., hours, minutes, and seconds in a twenty-four hour day, time since the user woke up, time since the user got out of bed), user behavioral activities (e.g., typical exercise and eating habits, and calendar appointments). Computer system 1902 may apply the received data of the user and his or her sleep period to the rule set, and may generate or select one or more behavioral recommendations (e.g., health and / or wellness insights) for user 1904. These recommendations may be presented to the user on the user device 1901 of the user.
[0235] In block C (1916), the computer system 1902 may randomly select at least one insight from a set of identified health and wellness insights for a given time period. The computer system 1902 may utilize random logic to determine which insight to select and present to the user within a given time period. The given time period may include any number of predetermined times. For example, the computer system 1902 may determine which insight to present to the user 1904 when the user 1904 wakes up from a current sleep period (e.g., once the user unlocks their user device 1901 and opens an application presenting the questionnaire). The computer system 1902 may determine which insight to present to the user 1904 as a notification during the day or between sleep periods. The computer system 1902 may determine which insight to present on which GUI screen of the device 1901 of the user 1904. In addition, the computer system 1902 may determine which insights to promote / prioritize over other insights for presentation during a given time period. In some implementations, as described herein, the computer system 1902 may utilize intelligent machine learning rules and / or logic to determine which insights may be most relevant to the user and, therefore, should be presented during a given time period. In some implementations, computer system 1902 can utilize a combination of stochastic logic and machine learning rule logic to determine which insights to present during a given time period.
[0236] The computer system 1902 may then output the selected insights for the given time period (block D, 1918). As described herein, the insights may be presented in a GUI screen at the device 1901 of the user 1904. The insights may be presented as notifications at the device 1901 of the user 1904. The insights may be presented as pop-ups in one or more GUI screens at the device 1901 of the user 1904 as the user 1904 navigates to different GUI screens in the mobile application at the device. Reference FIG. 20A to FIG. 20B Further discussion regarding presenting insights to user 1904 is provided. In some implementations, the selected insights can be presented on one or more other wearable devices, home automation hubs, or other user / computing devices in communication with computer system 1902.
[0237] FIG. 20A to FIG. 20B is an exemplary graphical user interface (GUI) for presenting personalized insights to a user. As described above, the GUI depicted and described herein can be presented at a mobile device of a user (e.g., a sleeper) of a bed system. The mobile device can be a smartphone, a phone, a laptop, a tablet, a wearable device, or any other device of the user.
[0238] exist Fig. 20A, GUI 2000 presents a suggested time when a particular user should perform one or more actions during a current time period. The current time period may be the current day. In some implementations, the current time period may include multiple days, such as the current day and the next day, the next day, the next three days, the next five days, the next seven days, etc. The suggested time may be determined by the computing system based on the user's circadian sleep type. As described herein, the user may select a time based on the user's responses to a health and wellness questionnaire (e.g., Fig.21 Circadian rhythm sleep type can be determined based on subjective responses provided by the user to the questionnaire (as depicted and described in the ). In addition, the recommended time can be adjusted each day (or each subsequent predetermined time period) based on new or updated responses provided by the user to the questionnaire. The recommended time can also be adjusted based on data sensed at the bed system while the user is in bed and / or during a sleep period.
[0239] GUI 2000 includes panel 2002 and prompt 2008. The user can scroll up and down on the screen of their mobile device to view more information in panel 2002 or less information therein. For example, the user can make a scrolling motion from the bottom of the mobile device screen to the top of the screen to view more prompts 2008 in the screen and less or no panel 2002. The user can also continue to scroll to view additional information associated with the personalized insights being presented at the mobile device. The user can access and view panel 2002 and their personalized insights from various GUI screens presented in the mobile application at the user's mobile device. As an illustrative example, panel 2002 can be presented in a GUI screen that presents information about the user's circadian rhythm. As another example, when the application is launched at the user's mobile device, panel 2002 can be presented in the home screen or greeting screen of the mobile application (e.g., in some scenarios where personalized insights may be applicable to the user's first entry into the mobile application for the day or after a sleep period). In some specific implementations, the panel can be displayed in the GUI screen at the user's mobile device as long as the personalized insights in panel 2002 may be most relevant to the user's experience with the mobile application. For example, machine learning rules and logic may be used to weight one or more of the personalized insights, present the most relevant insights to the user each day, and / or determine the insights that are most relevant to the user's experience with the mobile application. In some implementations, any of the personalized insights may also be provided to the user as a notification at the mobile device.
[0240] Panel 2002 includes the suggested time that the user should perform actions 2004A-N. Panel 2002 may include one or more additional or fewer actions and corresponding suggested times. Here, action 2004A is a fitness or sports activity routine. The computer system described herein can determine that the user can maintain their circadian rhythm and improve their overall sleep quality and / or health by exercising at 8:00-9:00 in the morning based on the user's response to the health and wellness questionnaire. The suggested time is presented in panel 2002 with a graphic icon corresponding to the action 2004A (e.g., weight) of the exercise.
[0241] Action 2004B is a meal routine, such as eating dinner. Based on the user's questionnaire responses, the computer system can determine that if the user eats dinner at 5:00-6:00 p.m., they can maintain their circadian rhythm and improve their sleep quality and / or health. This recommended time is presented in panel 2002 with a graphical icon corresponding to the action 2004B of eating (e.g., a fork and knife).
[0242] Action 2004C is alertness level. The computer system described herein can determine that the user may be most alert between 7:00-9:00 a.m. based on the user's responses to the health and wellness questionnaire. This suggested time is presented in panel 2002 with a graphical icon (e.g., a light bulb) corresponding to action 2004C for most alertness.
[0243] Action 2004N is a relaxation routine. A relaxation routine may include any activity that a user may perform to prepare for bed or another sleep period, such as relaxing, reading, drinking a cup of tea, etc. The computer system described herein may determine, based on the user's responses to a questionnaire, that the user can maintain their circadian rhythm and improve their overall sleep quality and / or health by beginning to relax during the sleep period between 7:00-8:00 p.m. This suggested time is presented in panel 2002 with a graphical icon corresponding to a relaxing action 2004N (e.g., a cup of tea).
[0244] Any of the actions 2004A-N may be performed during the current time period. The user may also perform fewer than all of the actions 2004A-N at the suggested times presented in the GUI 2000. As described herein, the suggested times for the actions 2004A-N may be presented in a manner that gently nudges the user to establish habits that maintain their circadian rhythm and / or improve their sleep quality and / or health. By gently nudges the user to establish these habits, the user may develop a sense of ownership that they are changing their overall health.
[0245] Panel 2002 may also include selectable options (e.g., buttons) 2006. The user may select option 2006 to learn how to calculate (e.g., determine, select, identify) the suggested times for actions 2004A-N. Upon selecting option 2006, additional information may be presented in GUI 2000, such as in a pop-up window and / or panel 2002. In some implementations, selecting option 2006 may cause another GUI to replace GUI 2000 and be presented at the mobile device. In response to the user selecting option 2006, the computer system may pull relevant information from the data repository for presentation. Thus, the user may be presented with information that makes them more aware of their habits, how to improve their habits, and how to improve their overall sleep quality and / or health.
[0246] Prompt 2008 may indicate at least one piece of information that teaches the user about their circadian rhythm and / or their particular circadian sleep type. Prompt 2008 may be randomly selected by the computer system to be presented to the user during the current time period. Once the current time period expires (e.g., a new day begins, the user closes the application on the mobile device, and opens the application at another later time), the computer system may use random logic to select another prompt to be presented in GUI 2000. Fig. 20A In the example of , prompt 2008 indicates that night owls typically get less sustained sleep than early risers, which leads to restless sleep (and therefore lower quality sleep). Prompt 2008 can be part of a set of insights corresponding to the circadian sleep type of a night owl. Similarly, the suggested times for actions 2004A-N can correspond to the circadian sleep type of a night owl. Here, once the user responds to the sleep and health questionnaire, the computer system determines that the user has the circadian sleep type of a night owl, and therefore generates the suggested times for actions 2004A-N, and selects prompt 2008 to be presented in GUI 2000.
[0247] Although multiple users may have the same circadian sleep type of night owl, not every user may receive the same suggested times for actions 2004A-N and / or prompts 2008. The computer system may determine the suggested times for actions 2004A-N based on the user's particular responses to the questionnaire. Optionally, the suggested times for actions 2004A-N may also be determined by the computer system based on historical sleep data associated with the particular user and / or sensor data sensed by sensors of the bed system during the particular user's sleep period. Thus, the information presented in the GUI 2000 may be personalized for each user of the bed system. Furthermore, each user may receive different prompts because the computer system utilizes random logic to select and present prompts to the users.
[0248] Fig. 20BExemplary GUIs 2010 and 2012 for different circadian sleep types are shown. GUI 2010 presents one or more prompts that may be presented to a user with a circadian sleep type of an early riser. Exemplary GUI 2010 includes a selectable option 2014 to go to the user's routine. Selecting option 2014 may cause a new GUI (or pop-up window or other graphical element) to be presented at the user's mobile device. The new GUI may present one or more recommended actions and / or suggested times to perform actions that maintain the user's circadian rhythm and / or are intended to improve the user's overall sleep quality and / or health. Recommended actions may include, for example, when to exercise, when the user is most alert, when to eat dinner, and / or when to relax. Reference Fig. 20A GUI 2000 in for additional discussion of recommended actions.
[0249] In some implementations, selecting option 2014 can cause another GUI to be presented at the user's mobile device that indicates one or more routines that the user has created and / or one or more routines that the computer system automatically generates / suggests for the user (e.g., based on the user's responses to a questionnaire, historical sleeper / health data about the user, sensed data about the user during one or more sleep periods). Fig. 20B 2012 for additional discussion. Routines may include times when a user expects to go to bed and / or wake up. Routines may include suggested times when a user should go to bed and / or wake up. Routines may also include times when the user actually goes to bed and / or wakes up. Routines may also include one or more other activities that the user expects to perform, should perform, and / or actually performs during their day. Routines may be designed to provide users with in-app and notifications to guide the user in optimizing their overall sleep health. Any routine may also include personal insights and recommendations on how to customize the user's smart bed to optimize their sleep health.
[0250] The GUI 2010 for the circadian rhythm sleep type of an early riser may also include a prompt 2015. As described herein, the prompt 2015 may be randomly selected from a set of prompts corresponding to the circadian rhythm sleep type of the early riser. As described throughout this disclosure, machine learning rules may also be used to determine the most relevant prompts to present to the user. In the example of the GUI 2010, the prompt 2015 indicates that an early riser who needs to extend the day should expose himself to brighter light in the late afternoon and / or early evening. The prompt 2015 may help teach a particular sleeper one or more actions they can take in order to maintain their circadian rhythm and / or improve their sleep quality and / or health.
[0251] In some implementations, the user may use prompt 215 to adjust the home automation device so that the home automation device is consistent with the recommended action that can maintain the user's circadian rhythm and / or improve their sleep quality and / or health. As an illustrative example, using prompt 215, the user may decide to set a routine in which the lights in the user's bedroom remain on in the evening. To set the routine, the user may select option 214 and follow the prompt presented in the next GUI. The user may take one or more other actions to act on prompt 215 presented in GUI 210.
[0252] Although GUI 210 is depicted and described in terms of a circadian sleep type for an early riser, the same and / or similar features (e.g., selectable options 2014 and prompts 2015) may be presented in a GUI for a circadian sleep type for a night owl with insights related to a night owl.
[0253] Still reference Fig. 20B , GUI 2012 presents one or more prompts and / or routines for a circadian rhythm sleep type for a night owl. GUI 2012 may present several features 2016, 2018, 2020, 2022, and / or 2026 that may not be presented at once in the GUI display at the mobile device. In other words, the user can scroll (e.g., using a scrolling motion from the bottom to the top of the screen of the mobile device) the features presented at the mobile device to view one or more of the features. For example, at least a portion of feature 2016 and feature 2018 may be presented at the user's mobile device. The user can then scroll to view at least a portion of feature 2022 and / or at least a portion of feature 2026. When the user views at least a portion of feature 2022, at least a portion of feature 2016 and / or feature 2018 may no longer be visible on the GUI display / screen of the mobile device. However, the user can scroll up to view any one of feature 2016 and / or 2018. The extent and / or number of features presented at one time on a mobile device may also vary based on screen ratio information associated with the user's particular mobile device.
[0254] In GUI 2012, feature 2016 can be a panel that provides a high-level overview of information associated with the user's sleep quality and / or health. For example, feature 2016 can include information about specific aspects of the user's sleep quality and / or health presented in GUI 2012. Here, the specific aspect of the user's sleep quality and / or health is circadian rhythm. The information presented in GUI 2012 can also correspond to specific time periods, such as the time interval between the same day / day, consecutive sleep periods (e.g., the time between two sleep periods, the time between three sleep periods, the time between 5 sleep periods). Feature 2016 can also include information such as the user's average sleep score, the sleep score of the user's most recent / last sleep period (e.g., the previous night), and the user's best sleep score. Any of these scores can be determined by a computer system using the techniques described herein (e.g., by receiving and processing sensor data from various sensors of the bed system).
[0255] Feature 2018 may be a panel with information about the user's most recent / last sleep session. Feature 2018 may include tips about how the user's recent sleep activity affects their overall circadian rhythm and / or sleep quality and / or health. As an illustrative example, Fig. 20B Feature 2018 in presents an indication that the amount of time the user is spending in bed is longer than their average amount of time, and therefore, the user may be less efficient in the upcoming day (e.g., the time between the current time and the next sleep period). The computer system may determine what information to present as a prompt in feature 2018 based on analyzing sensor data from sensors of the bed system and classifying the sensor data with known information associated with the circadian sleep type of night owls. For example, the computer system may retrieve historical data about the user and / or a general user population from a data repository that corresponds to night owls. The computer system may use a rule set to compare the sensor data (e.g., the time the user falls asleep, how long the user is asleep, the time the user wakes up) with known historical data about other night owls to determine whether the user's sleep routine maintains the user's circadian rhythm and / or has a negative impact on their sleep health and / or quality. Based on the computer system's comparison of the sensor data and the historical data, the computer system may accurately select and / or generate insights, such as the prompts presented in feature 2018, to present to the user and inform them about their current sleep habits.
[0256] Features 2018 may also include information such as the time the user went to bed (e.g., laid in bed, fell asleep) and the time the user woke up during the most recent / last sleep period. This timing information can be determined based on sensor data received from sensors of the bed system during the user's sleep period. Features 2018 may also include recommended times that the user should go to bed and / or wake up. As described herein, the computer system may determine the recommended time based on the circadian sleep type of the user who is a night owl. The determination may also be based on an analysis by the computer system of sensed data during the user's most recent sleep period and / or historical sleep period, historical data about a general group of users or similar users, and / or the user's responses to the health and wellness questionnaire described herein. In addition, features 2018 may include selectable options to further understand why it is important for users to adjust their sleep habits and try to follow the ideal schedule suggested by the computer system and presented in GUI 2012.
[0257] Feature 2020 may be a selectable label in GUI 2012. By selecting feature 2020, the information presented in feature 2018 may be replaced with information corresponding to feature 2020. Fig. 20B In the example of , feature 2020 may include information about the user's upcoming day (or another predetermined time period, such as the amount of time between consecutive sleep periods). The information about the user's upcoming day may include a recommended daytime schedule. The recommended daytime schedule may include, but is not limited to, recommendations about when the user should eat, when the user should exercise, when the user should relax, and / or when the user should be alert. The information may also include guidance and / or instructions on how the user can establish or update one or more of their daytime routines.
[0258] Feature 2022 may be a panel with information about the user's routine. For example, feature 2022 may include instructions on how to create a routine. Feature 2022 may also include one or more prompts that gently nudge the user to create a routine that maintains / improves their circadian rhythm and / or improves their overall sleep quality and / or health. Fig. 20B In the example of , feature 2022 includes a prompt that going to bed and waking up at a consistent time can help the user feel more alert during the day. As described herein, when a user views GUI 212 on their mobile device, the computer system can use random logic (and / or machine learning rules) to select what prompt to present in feature 2022.
[0259] Feature 2022 may also include a selectable option 2024 to proceed to their routine. Selecting option 2024 may cause GUI 2012 to be replaced by a new GUI displaying information about the user's current routine. The new GUI may also present selectable options for the user to create a new routine and / or update / modify / delete the current routine. The new GUI may also present one or more prompts to help gently nudge the user into a routine that maintains their circadian rhythm and / or improves their overall sleep quality and / or health.
[0260] Feature 2026 may be a prompt randomly selected by the computer system and based on the circadian sleep type of the user who is a night owl. Feature 2026 may correspond to one or more other prompts / suggestions presented in features 2018 and / or 2022 to help gently nudge the user to modify their sleep habits to maintain their circadian rhythm and / or improve their overall sleep quality and / or health. Fig. 20B In the example of , feature 2026 includes a prompt indicating that because the user is a night owl, consistent sleep timing may be more difficult to achieve, which may cause the user to experience restless sleep. As described herein, one or more other prompts may be randomly selected and presented in any one or more of features 2018, 2022, and / or 2026 to gently nudge the user to change their sleep habits.
[0261] Although GUI 212 is depicted and described in terms of a circadian sleep type for a night owl, the same and / or similar features 2016, 2018, 2020, 2022, 2024, and / or 2026 may be presented in a GUI for a circadian sleep type for an early riser with insights and other information related to an early riser.
[0262] Fig. 20C shows a similar Fig. 20B An exemplary GUI 2030 of the discussed GUI 2012. The GUI 2030 may be a circadian rhythm screen presented in a mobile application at a user's mobile device. The GUI 2030 may present tips, insights, suggestions, and / or routines to the user based on the user's determined circadian rhythm sleep type. Like the GUI 2012, the GUI 2030 includes selectable features (e.g., labels) 2018 and 2020. The user may switch between features 2018 and 2020 by clicking on them to view information corresponding to them.
[0263] Here, feature 2018 is selected, which means that GUI 2030 is presenting sleep information as it relates to the user's circadian sleep type. The user can view routines that the user has created and / or that have been created for the user based on their circadian sleep type. To view the routines, the user can select option 2024, as described above. Fig.20D Further discussion regarding review routines is provided. The GUI 2030 also presents insights or prompts 2032, which may be selected randomly or using machine learning rules, as described throughout this disclosure.
[0264] Fig.20D shows that once the user selects option 2024 to view their Fig. 20C 2030. As shown here, feature 216 is output to show a high-level overview of the user's average sleep quality score, current sleep quality score, and / or their best sleep quality score. One or more other sleep-related parameters may also be displayed in feature 216. Feature 2018 has also been updated to reflect one or more sleep or bedtime routines 2034 of the user. Fig. 20B Further discussion is provided regarding providing routine 2034 information to the user.
[0265] Fig.20E Shows once a user selects a feature 2020 to view information about them in Fig. 20C GUI 2030 may be updated when the information of the day is displayed. As shown here, when feature 2020 is selected, GUI 2030 may output feature 2016 and recommendation 2036. Fig. 20A See the discussion of Panel 2002 for further discussion.
[0266] Fig.21 21 is an exemplary GUI 2100 for receiving input from a user to a sleep health questionnaire. As described herein, a user can complete a sleep health and wellness questionnaire (as shown in GUI 2100) by providing subjective responses to questions about the user's sleep health. The questionnaire in GUI 2100 can be accessed from a mobile application or web page at the user's mobile device. For example, a user can view their wellness profile in a mobile application and select options to answer one or more questionnaires about their sleep, health, habits, and other conditions / factors. The responses to the questionnaire provided by the user can be used by the computer system described herein to generate curated insights and recommendations for improving the user's overall sleep quality and / or wellness.
[0267] The user can complete the questionnaire at any point in time. For example, when the user creates an account or health profile using the mobile application (e.g., when the user sets up their bed system using the sleep service with the mobile application), the user can complete the questionnaire. The user can also access the questionnaire from the mobile application at any time they desire, and answer the questionnaire and / or update their responses to the questionnaire. For example, the user may desire to answer the questionnaire after waking up from a sleep period (e.g., answer immediately after waking up, or answer after waking up for a period of time). Sometimes, the mobile application may present prompts or notifications to the user, reminding the user to complete the questionnaire, update their responses, and / or provide responses to questions in the questionnaire that the user has not yet answered. These prompts may include in-app warnings or other types of notifications that can be presented at the user's mobile device.
[0268] GUI 2100 may include a panel 2102 that presents information about one or more questionnaires that a user may complete. Panel 2102 may include prompts that indicate that the user should answer questions in the one or more questionnaires in order to receive personalized tips that may improve the user's overall sleep health and / or quality. Fig.21 In the example of , selectable options 2104A-N are presented in panel 2102. Each of options 2104A-N corresponds to a questionnaire to be completed by the user. The user's responses to each of the questionnaires can then be used by the computer system to determine one or more personalized insights to be delivered to the user. When the user selects one of options 2104A-N, panel 2102 can be replaced by another panel (such as panel 2106). In other words, GUI 2100 can be updated so that the information presented in panel 2102 is replaced by one or more questions corresponding to the selected option.
[0269] Each option 2104A-N may include a graphical element (e.g., an icon) that visually depicts the type of questionnaire associated with selecting the option. Each option 2104A-N may include text indicating the type of questionnaire, how many questions the questionnaire includes, and how many of these questions the user has completed. Thus, the user can easily identify which questionnaires they should complete.
[0270] exist Fig.21 In the illustrative example of , option 2104A corresponds to a sleep questionnaire having 12 questions to be completed. Option 2104B corresponds to a family questionnaire having 5 questions to be completed. Option 2104C corresponds to a habit questionnaire having 9 questions to be completed. Option 2104N corresponds to a sleep health questionnaire having 6 questions to be completed. One or more other combinations of questionnaires and / or numbers of questions (additional or fewer questions) may be presented in the user's healthcare profile in GUI 2100.
[0271] Here, the user selects option 2104N to access the sleep health questionnaire described herein. The answers to the sleep health questionnaire can be used by the computer system to determine the user's circadian rhythm and circadian sleep type. Thus, the computer system can identify a set of curated personalized insights that correspond to the user's circadian sleep type, maintain the user's circadian rhythm, and / or improve the user's sleep health and / or quality over time.
[0272] When the user selects option 2104N, the GUI 2100 may be updated to present panel 2106. Each question in the sleep health questionnaire may be presented in the GUI 2100. Each question may correspond to a different factor that may be used by the computer system to determine the user's circadian rhythm sleep type and, therefore, the user's personalized insights. After all, each factor may affect sleep quality and may interact differently with the user's circadian rhythm and / or circadian rhythm sleep type. For example, regularity (e.g., usually going to bed at about the same time, waking up at about the same time), duration (e.g., how long the user sleeps), efficiency (e.g., how well the user sleeps during sleep), timing (e.g., consistency of sleep timing, a constant bedtime routine associated with regularity), satisfaction (e.g., whether the user sleeps well and feels refreshed after a sleep period), and alertness (e.g., a subjective perception of the user's alertness during the day or between consecutive sleep periods) are some factors that may affect sleep quality and interact differently with the user's circadian rhythm and / or circadian rhythm sleep type. The sleep health questionnaire presented in the GUI 2100 may ask questions addressing one or more of these factors.
[0273] The computer system can then generate a set of personalized insights and prompts specific to the factors involved in the questions answered by the user. Thus, the computer system can use the user's answers to the questions to identify one or more insights to be presented to the user. In some specific implementations, the computer system can also use system-based inferences and / or sensed data from one or more sensors of the bed system to identify and manage what insights are presented to the user. For example, the computer system can use any of the previously described techniques to determine the user's sleep score after the most recent sleep period. The computer system can then use the sleep score in combination with the user's answers to the sleep health questionnaire to identify one or more insights for the above factors to present to the user. Sometimes, if the user's circadian rhythm is off, the user's sleep score will decrease over time. Because the user's circadian rhythm is off, any one or more factors of sleep regularity, duration, efficiency, timing, satisfaction, and alertness may be negatively affected. Therefore, the computer system can identify and / or generate one or more insights or prompts about how the user's circadian rhythm affects the factors to gently nudge the user to take action to get their circadian rhythm back on track and thus improve specific factors.
[0274] As an illustrative example, if a user is a night owl and answers the efficiency question by identifying that they have difficulty falling asleep and / or staying asleep, the computer system may identify one or more tips for night owls with the same / similar difficulties and randomly present these tips to the user at the user's mobile device. Such tips may be presented as in-app notifications when the user opens the mobile app. Such tips may be presented when the user selects the option to view details about their most recent / last sleep period in the mobile app. Such tips may also be randomly presented in one or more other GUIs in the mobile app, as determined by the computer system. As described herein, tips may also be presented in a GUI based on applying one or more intelligent machine learning rule logics.
[0275] Still reference Fig.21 , panel 2106 may prompt the user to answer one or more questions regarding the user's perceived sleep health so that the user may receive tips on improving their sleep health.
[0276] The first question 2108 may ask the user whether they are an early riser or a night owl. The computer system may use the user's response to question 2108 to determine the user's circadian rhythm and / or circadian sleep type. The computer system may also use the user's response to identify and provide insights corresponding to the user's circadian sleep type. The user may answer question 2108 by selecting an option from a drop-down menu. The drop-down menu may include selectable options such as night owl, early riser, and in-between. If the user selects an option such as in-between, the computer system may not use the user's response to question 2108 to identify and generate a set of curated personalized insights for the user. Sometimes, if the user selects the in-between option, the computer system may identify general insights that may belong to users who are neither night owls nor early risers.
[0277] The second question 2110 may ask the user if there are any one or more factors that regularly disrupt the user's sleep. The user may select any one or more selectable options presented with question 2110 corresponding to factors that may disrupt their sleep. For example, the user may select the following: stress / worry, pain, temperature (too hot or too cold), allergies, tossing and turning, partner's tossing and turning, snoring, partner's snoring, none of the above. The computer system may identify and provide one or more insights corresponding to the options selected by the user for presentation to the user.
[0278] The third question 2112 can ask the user how many days a week they have one or more identified sleep problems. Question 2112 can identify one or more sleep problems for which the user can provide answers. For example, sleep problems can include, but are not limited to, difficulty falling asleep, waking up at night, falling asleep again after waking up at night, and / or waking up too early and not being able to fall asleep again. For each sleep problem in each identified sleep problem, the user can select options of 0 days per week, 1-2 days per week, 3-4 days per week, and more than 5 days per week. As described herein, the computer system can use the user's response to question 2112 to identify and provide insights into any of these problems on how to improve them. The selected insights can also vary based on the frequency with which the user experiences these problems (e.g., the more frequently the user has difficulty falling asleep, the more the number of tips for solving the problem identified).
[0279] The fourth question 2114 may ask the user whether they have been diagnosed with one or more of the identified conditions. The user may select any one or more of the selectable options presented with question 2114 corresponding to the identified sleep conditions. Sleep conditions may include, but are not limited to, sleep apnea (interrupted breathing), hypersomnia or hypersomnia (extreme sleepiness), insomnia (difficulty falling asleep or staying asleep), restless legs syndrome (urging to move legs), parasomnia (moving around, talking, or doing unusual things during sleep), and none of the above. The computer system may use the user's responses to question 2114 to identify and provide insights into how to alleviate these conditions and insights into these conditions (assuming the user indicates that they have been diagnosed with these conditions).
[0280] A fifth question 2116 may ask how often the user uses a CPAP machine, if at all. The user may select an option from a drop-down menu in response to question 2116. The drop-down menu may include an option for changing the frequency of using the CPAP machine. The user's response to question 2116 may be used by the computer system to identify and provide insights on how to improve the user's sleep quality and / or health.
[0281] A sixth question 2118 may be presented in the GUI 2100, which asks the user how often they currently use one or more identified sleep aids. The user may select an option for each of the identified sleep aids. Options may include rarely or never, occasionally (once a month), and regularly (once a week). The identified sleep aids may include, but are not limited to, prescription sleep medications, over-the-counter sleep medications, natural remedies (e.g., melatonin), drug-free sleep aids (white noise, meditation, music, etc.), and sleep coaches or sleep behavior plans. The computer system may use the user's response to question 2118 to identify and provide insights that may help the user reduce dependence or demand on any of the identified sleep aids.
[0282] Questions 2108-2118 may be presented in any order. In some implementations, one or more additional or fewer questions may be presented in the sleep health questionnaire.
[0283] Once the user has answered any of questions 2108-2118, the user may select option (e.g., a button) 2120 to save their responses. Selecting option 2120 may cause the mobile device to send the user's responses to a computer system (e.g., over a network) for storage and further processing. For example, the computer system may now use the user's responses to identify and generate a set of curated insights for the user. Additionally, the computer system may identify a set of curated insights for the user based on any combination of the user's responses to questions 2108-2118. For example, the computer system may select insights that correspond to the user's answers to all of questions 2108-2118. Sometimes, the computer system may select insights that correspond to only some of the user's answers to questions 2108-2118.
[0284] Although the GUI 2100 depicts features 2102, 2106, 2108, 2110, 2112, 2114, 2116, and 2118 in one GUI 2100, one or more of these features may be displayed at a time. In other words, once a user provides user input in response to a question in one of the features, the feature may be replaced by another feature in the GUI 2100. As another example, once a user provides user input to a question in one feature, the GUI 2100 may be set in motion, and the next feature may appear from the bottom of the screen, and the one feature may be placed at the top of the screen until the one feature is partially presented in the GUI 2100 or is no longer presented. As yet another example, once a user provides user input to a question in one feature, the user may scroll down to view the question in the next feature. The user may continue to scroll through all features until the user responds to the question presented in the feature.
[0285] When a user completes the questionnaire, they can respond to any number of questions asked in the questionnaire. For example, a user can answer all questions in a question. A user can also answer less than all questions in a question. Regardless of how many questions a user answers, the computer system described herein can still identify a set of curated insights for the user that correspond only to the questions answered. For example, if a user does not answer questions about their subjective stress levels during the day, the computer system may not identify insights corresponding to the processing stress levels to be presented to the user. The user can also return to the questionnaire later and update or modify one or more of their responses. For example, a user can remove one or more previous responses. A user can answer questions they did not answer before. A user can also update their responses to previously answered questions. Whenever a user updates the questionnaire responses, the computer system can update a set of curated insights for the user to consider the insights that are most relevant to the user's current subjective beliefs about their sleep health.
[0286] Fig. 22 220 is a block diagram of a table 2200 that depicts exemplary parameters for generating personalized insights based on user input to a sleep health questionnaire. More specifically, table 220 indicates how a computer system may use the Fig.21 Different user responses to the questionnaire described in the article are used to identify insights to be presented to users.
[0287] For example, Fig.21 The question 2108 about whether the user is an early riser or a night owl corresponds to the insight fragment of the early bed and early rise type and the late bed and late rise type. The user can respond by selecting the option of an early riser, a night owl, or a middle person. The computer system can select and identify prompts for whether the user is an early bed and early rise type or a late bed and late rise type. The computer system may not select or identify prompts specific to other sleep types (for example, if the user is an early bed and early rise type, the user may not receive prompts corresponding to the late bed and late rise type). In some specific implementations, in addition to prompts specific to the user's sleep type (for example, an early bed and early rise type or a late bed and late rise type), the computer system can continue to randomize the selection and presentation of general "did you know" prompts to the user. If the user does not answer question 2108, the computer system may not identify or present prompts specific to sleep type, early bed and early rise type, or late bed and late rise type. The prompts selected in response to question 2108 can be presented in various GUIs in the mobile application at the user's mobile device. For example, the prompts can be presented in the main screen of the mobile application. The prompt may additionally or alternatively be presented in a GUI that displays information about the user's circadian rhythm. The prompt may additionally or alternatively be presented in a GUI that displays information about the user's sleep health. The prompt may additionally or alternatively be presented in one or more other GUIs presented in the mobile application, whether or not the GUI is related to the user's circadian rhythm.
[0288] Fig.21Question 2110 about whether any identified problem regularly disrupts the user's sleep can correspond to an insight segment of stress. Question 2110 can also correspond to other insight segments, including but not limited to pain, temperature, allergies, tossing and turning, partner's tossing and turning, snoring and / or partner's snoring. As shown in table 2200, when the user selects stress as a factor that disrupts their sleep in response to question 2110, the computer system can identify and select prompts specific to reducing stress as sleep interruptions. The computer system can also continue to select and randomly present general "did you know" prompts to the user in conjunction with stress reduction prompts. If the user does not answer question 2110, the computer system may not identify and present prompts specific to reducing stress. The prompts selected in response to question 2110 can be presented in various GUIs in a mobile application at the user's mobile device. For example, the prompts can be presented in the main screen of the mobile application. The prompts can be additionally or alternatively presented in a GUI that displays information about the user's sleep details (e.g., previous, last or recent sleep period, history of one or more consecutive sleep periods). These prompts may additionally or alternatively be presented in a GUI that displays biometric information about the user. The prompts may additionally or alternatively be presented in one or more other GUIs presented in the mobile application, regardless of whether the GUI is related to stress or other sleep disrupting factors.
[0289] Fig.21Question 2112 about how many days a week the user has difficulty falling asleep can correspond to the insight section of difficulty falling asleep. Question 2112 can also correspond to other insight segments, including but not limited to how many days a week the user wakes up at night, has difficulty falling asleep again after waking up at night, and / or wakes up too early and cannot fall asleep again. As shown in table 2200, when the user selects any day of the optional days in a week when the user has difficulty falling asleep, the computer system can identify and select prompts specific to helping the user fall asleep. For example, if the user answers questions 1-2 days, 3-4 days, or more than 5 days a week, the computer system can select and present prompts specific to helping the user fall asleep. The computer system can also continue to select and randomly present general "did you know" prompts and help fall asleep prompts to the user. If the user does not answer question 2112 about difficulty falling asleep (or selects 0 days), the computer system will not identify and present prompts specific to helping fall asleep. The prompts selected in response to question 2112 can be presented in various GUIs in the mobile application at the user's mobile device. For example, the prompts can be presented in the main screen of the mobile application. The prompt may additionally or alternatively be presented in a GUI that displays information about the user's sleep details (e.g., previous, last, or most recent sleep session, history of one or more consecutive sleep sessions). The prompt may additionally or alternatively be presented in a GUI that displays information about the user's sleep health. The prompt may additionally or alternatively be presented in one or more other GUIs presented in the mobile application, regardless of whether the GUI is related to difficulty falling asleep.
[0290] Fig.21Question 2112 in can also ask the user how many days a week they wake up at night, which can correspond to the insight fragment of difficulty in keeping sleep. As described above, question 2112 can also correspond to other insight fragments. As shown in table 2200, when the user selects any day of the optional days of the week when the user has difficulty keeping sleep, the computer system can identify and select prompts specific to helping the user keep sleep. For example, if the user answers questions 1-2 days, 3-4 days, or more than 5 days a week, the computer system can select and present prompts specific to helping the user keep sleep. The computer system can also continue to select and randomly present general "did you know" prompts and help keep sleep prompts to the user. If the user does not answer question 2112 about difficulty keeping sleep (or selects 0 days), the computer system will not identify and present prompts specific to helping keep sleep. The prompts selected in response to question 2112 can be presented in various GUIs in the mobile application at the user's mobile device. For example, the prompt can be presented in the main screen of the mobile application. The prompt may additionally or alternatively be presented in a GUI that displays information about the user's sleep details (e.g., previous, last, or most recent sleep session, history of one or more consecutive sleep sessions). The prompt may additionally or alternatively be presented in one or more other GUIs presented in the mobile application, regardless of whether the GUI is related to difficulty falling asleep.
[0291] Although table 2200 indicates only some example prompting behaviors based on the user's responses to questions posed in the sleep health questionnaire, there may be one or more other similar prompting behaviors for the user's responses to other questions posed in the sleep health questionnaire.
[0292] FIG. 23A to FIG. 23B 1 is a flow diagram of a process 2300 for determining personalized insights for a user. The process 2300 may be performed by the computer system 1902. The process 2300 may also be performed by one or more other computing systems, devices, computers, networks, cloud-based systems, and / or cloud-based services. The process 2300 may be performed by a cloud computing system, a user device of a user, and / or a home automation hub or other home automation device. For purposes of illustration, the process 2300 is described from the perspective of a computer system.
[0293] refer to FIG. 23A to FIG. 23BIn process 2300 in block 2302, the computer system may receive user input to the questionnaire. For example, the computer system may send a subjective sleep health questionnaire to a user device for presentation in a graphical user interface (GUI) display of the user device. The questionnaire may be presented in a mobile application, a web page, or a web browser loaded at the user device. Sometimes, the computer system may send a subjective sleep health questionnaire to the user device based on an indication received from the user device that the user has registered an account with the computer system (e.g., created a sleep profile, set up or initialized a bed system). Transmitting the subjective sleep health questionnaire to the user device for presentation in the GUI display may be performed in a single instance. For example, when the user loads the mobile application after registering with the computer system, the user may be notified to complete the questionnaire. The user may then decide to complete the questionnaire at that time or another time. The computer system may not notify the user to complete the questionnaire again. In some specific implementations, the computer system may notify the user at predetermined time intervals (e.g., 3 days after the first notification and the user has not completed the questionnaire, 5 days later, 7 days later) until the user completes the questionnaire. Therefore, the questionnaire may be presented once at the user device. Questionnaires can also be completed only once, although users can return at a later time and update, modify, or change any of their responses to the questionnaire. Fig.25 for further discussion.
[0294] The subjective sleep health questionnaire can be presented in a first screen of the GUI display. Any insights, behavioral recommendations, reminders, or prompts generated by the computer system can be presented in a second screen in the GUI display, which is different from the first screen. Sometimes, as described herein, the generated / identified insights can be presented in the form of notifications, pop-up windows, messages, or alerts in one or more other screens in the GUI display. For example, a prompt about relaxing earlier than the user typically relaxes before bedtime can be presented in any screen that the user currently has open / viewing on their user device. The prompt can also be presented in one or more other screens (e.g., a screen showing a summary of the user's recent sleep period) that can present information similar to or associated with the prompt.
[0295] Still referring to box 2302, the computer system may receive user input indicating at least one response to the subjective sleep health questionnaire from a user device. The user may desire to answer all or part of the questions in the questionnaire. Then, any user response (whether alone or in combination) can be used by the computer system to determine the user's circadian rhythm sleep type and / or prompts / insights / reminders / recommendations to present to the user. As described herein, the computer system may also receive updated user input for the subjective sleep health questionnaire from the user device at a later time than the computer system receives the user input. The later time can be any time after the user completes the questionnaire for the first time. For example, the user can complete the questionnaire on the same day that the user creates an account with the computer system. A few days after completing the questionnaire, the user may think that their response is inaccurate. The user can navigate back to the questionnaire in the mobile application at their user device and update one or more of their responses. The updated response can then be received by the computer system to perform the technology described herein.
[0296] As described herein (e.g., reference Fig.21 ), the questionnaire may have questions about the user's circadian rhythm, the user's perceived circadian sleep type (e.g., night owl, early riser, intermediate), the user's perceived stress level, the user's perceived difficulty falling asleep, the user's perceived difficulty staying asleep, and so on. The questionnaire may prompt the user for user input regarding at least one of the above-mentioned user-perceived factors. As further described below, the computer system may also retrieve and process historical sleep data associated with the user to verify and / or confirm the user's responses to the user-perceived factors. By doing so, the computer system can more accurately determine the user's circadian sleep type and generate / identify insights, tips, suggestions, and / or reminders to present to the user based on their circadian sleep type.
[0297] As reference Fig.21 As described, the subjective sleep health questionnaire may prompt the user to indicate whether the user is an early riser, a night owl, or an in-between. The subjective sleep health questionnaire may prompt the user to indicate at least one factor that disrupts the user's sleep pattern. The subjective sleep health questionnaire may prompt the user to indicate the frequency of at least one sleep problem. At least one sleep problem may include at least one of the group consisting of: difficulty falling asleep, waking up during a sleep period, returning to sleep after waking up during a sleep period, and / or waking up too early and being unable to fall asleep again. Sometimes, the subjective sleep health questionnaire may prompt the user to indicate at least one sleep condition that the user has been diagnosed with or may be diagnosed with. The subjective sleep health questionnaire may also prompt the user to indicate the frequency with which the user uses at least one sleep aid device, including but not limited to a CPAP device. As described herein, one or more other questions may be presented to the user in the questionnaire.
[0298] In box 2304, the computer system can determine the user's circadian sleep type based on the user input. The computer system can process the user input. For example, the computer system can map the user input to a defined circadian sleep type using a mapping rule set (box 2306). In other words, the computer system can retrieve a lookup table that maps responses to a subjective sleep health questionnaire to circadian sleep types from a data repository, and select a circadian sleep type that matches at least one response from the user. The computer system can also retrieve other criteria, conditions, and / or rule sets from the data repository, which can then be used to determine which user response and / or combination of responses corresponds to which circadian sleep type (e.g., night owl, early riser, or intermediate). In some embodiments, the computer system can also determine which user response and / or combination of responses corresponds to which circadian sleep type based on data sensed and / or collected by sensors of the bed system during the user's sleep period (e.g., reference Fig.19 ) and / or historical sleep data associated with the user (e.g., reference Figure 26 to Figure 28 ) to determine the circadian sleep type. In some embodiments, the computer system may determine the user's circadian sleep type based on comparing the user's responses to the questionnaire with historical sleep data and circadian sleep types of a general user group that is similar to the user (e.g., similar age, gender, geographic location, demographics). Sometimes, the computer system may apply one or more machine learning trained models to the user input to determine the circadian sleep type. The model may be trained to map / associate various user responses and / or combinations of user responses with one or more different circadian sleep types. The model may also generate a confidence level indicating the likelihood that the user is associated with one or more circadian sleep types in the circadian sleep type. If the model determines that the user is associated with more than one circadian sleep type (e.g., both intermediate and early risers), the computer system may determine that the user is associated with the circadian sleep type with the highest confidence value (or a confidence value within a threshold range or exceeding a threshold / range).
[0299] In box 2308, the computer system can retrieve a set of insights corresponding to the determined circadian sleep type of the user from the data repository. In other words, the computer system can identify at least one insight based on the circadian sleep type of the user to be presented in the GUI display of the user device. The insights can include prompts, reminders, behavioral recommendations, or other types of notifications described throughout the present disclosure. The prompts can be generated by the computer system at another time (e.g., before the user or other users complete the questionnaire) and stored in the data repository for rapid identification and retrieval during the runtime use of the disclosed technology. The computer system can generate prompts based on processing and analyzing a robust historical data set of user groups and / or individual users. The prompts can then be partitioned and associated with different circadian sleep types. During operation, the computer system can simply identify the prompts associated with the user's specific circadian sleep type and present these prompts to the user. The computer system may not need to use additional computing resources and / or processing power to generate insights during operation. Computing resources and / or processing power can be used instead to efficiently and accurately perform other computationally intensive processes.
[0300] In some implementations, a computer system may generate one or more insights for a particular user during runtime use of the disclosed technology. The computer system may generate the insights using a template that corresponds to the user's determined circadian sleep type. For example, the computer system may retrieve one or more insight templates associated with the user's circadian sleep type from a data repository. The computer system may then insert specific information related to specific sleep behaviors, habits, or other user / sleep / health data of the user into the template. The template insights may be presented to the user. The template insights may also be stored and later retrieved and presented to the user. In some implementations, the template insights may also be used and presented to other users with the same circadian sleep type, similar demographics, and / or similar user / sleep / health data as the user.
[0301] The computer system may retrieve and / or generate general insights (block 2310). For example, to select at least one insight from a subgroup of insights, the computer system may assemble the subgroup of insights from a template of general insights that have been completed using information common to a group of users, including the user. At least one insight presented to the user may be a general health education insight corresponding to sleep and health data for a general group of users, including the user. The general insights may provide general educational tips for groups of users with the same circadian sleep type and / or similar data. Exemplary general insights may include general information about what it means to be a night owl or an early riser.
[0302] The computer system may additionally or alternatively retrieve and / or generate personalized insights (block 2312). For example, to select at least one insight from the subset of insights, the computer system may assemble the subset of insights from templates of personalized insights that have been completed with information specific to the user. The personalized insights may correspond to historical sleep and health data associated with a particular user. As described above, personalized insights may be generated from generated template insights. The personalized insights may be health insights and / or personalized recommendations (e.g., suggestions on when to go to bed, when to relax at night, when to eat (such as dinner), when to exercise) based on the user's specific data. As an illustrative example, the personalized insights may indicate that because the user is a night owl, they should go to bed 30 minutes earlier each night, otherwise they may feel more tired when they wake up in the morning.
[0303] One or more other general and / or personalized insights may be identified for a particular user. In addition, the computer system may determine any combination of general and / or personalized insights to identify, generate, and / or present to a user.
[0304] In box 2314, the computer system may randomly select at least one insight from the set of insights to present in a GUI display of the user's user device. The selection of insights for presentation may be randomized so that the user may see one or more different insights each day or other predetermined time period. Thus, the presentation of the insights may be engaging while also gently nudging the user to improve, modify, or adjust their sleep behaviors and / or habits. As described throughout this disclosure, the computer system may additionally or alternatively use intelligent machine learning rules and logic to select at least one insight to present in a GUI display.
[0305] As described herein, at least one insight can be one or more different types of notifications and / or messages for a user. For example, at least one insight can be a behavior recommendation to maintain the user's current circadian rhythm. The at least one insight can be a behavior recommendation to improve the user's current circadian rhythm within a predetermined time period.
[0306] The predetermined time period may be the next sleep period (e.g., the time the user next falls asleep). The predetermined time period may be a threshold number of consecutive sleep periods. A variety of techniques may be used to determine sleep periods. Sleep periods may be determined using a clock and / or calendar to identify when the user falls asleep and when they wake up from sleep. For example, if the user falls asleep at 8 p.m. on Tuesday, 1 complete sleep period may be calculated from the bedtime of 8 p.m. on Tuesday to the bedtime of 8 p.m. on the next Wednesday. Thus, 2 consecutive sleep periods would extend from 8 p.m. on Tuesday to 8 p.m. on Thursday. This technique for determining sleep periods is useful for bed systems that may not have presence detection technology.
[0307] As another example, sleep sessions can be determined by detecting the presence of a user in the bed (e.g., using pressure sensors, temperature sensors, and / or other sensing devices / modalities of the bed system as described above) and counting the times the user lies in the bed, falls asleep, stays asleep, remains in the bed, wakes up, and / or gets out of bed. This technology is useful in situations where the user typically sleeps in their own bed and the bed has the necessary equipment / components to track / monitor the user's movement / presence in the bed. This technology is also useful in situations where the user typically experiences interruptions in sleep sessions (e.g., due to work, other stresses in life, naps).
[0308] The threshold number may be 5 consecutive sleep periods (e.g., 5 consecutive nights of sleep). The threshold number may be 7 consecutive sleep periods (e.g., 7 consecutive nights of sleep). One or more other predetermined time periods may be used. For example, the predetermined time period may include weekdays or a subgroup of weekdays. The predetermined time period may include weekends and / or a combination of weekdays and weekends.
[0309] In some implementations, at least one insight may be a behavioral recommendation to reduce the user's current stress level by a threshold amount. The at least one insight may be a behavioral recommendation to increase the user's ability to fall asleep faster by a threshold amount. The threshold amounts described herein may be determined by a computer system based on an analysis of the user's historical sleep and / or health data. The computer system may, for example, generate more refined recommendations (e.g., a lower threshold amount) based on a determination that the user experiences low levels of stress and / or occasional difficulty falling asleep. As another example, the computer system may generate more extreme recommendations (e.g., a higher threshold amount) based on a determination that the user has experienced persistent and / or higher levels of stress and / or more frequent difficulty falling asleep.
[0310] As another example, the at least one insight may be a behavioral recommendation for improving the user's ability to stay asleep during a sleep period. The at least one insight may also include a recommendation for when the user should exercise. The at least one insight may include a recommendation that the user is most likely to be alert during a predetermined time period. As described above, the predetermined time period may be the amount of time between two consecutive sleep periods. The predetermined time period may be the amount of time between when the user wakes up from a first sleep period and when the user falls asleep in a second sleep period. The predetermined time period may be one or more other time periods as described above.
[0311] As further examples, the at least one insight may include a recommendation for when the user should eat. The insight may include a recommendation for when the user should start a bedtime routine. Starting a bedtime routine may include relaxing before going to bed, such as brushing teeth, showering, turning off electronic devices, dimming or turning off lights, going to bed, reading, etc. At least one insight may include a notification prompting the user to perform an activity that improves at least one of the user's current health indicator and current sleep quality. The activity may include, but is not limited to, using one or more features of the user's bed system to improve their overall sleep health and / or sleep quality (e.g., turning on a responsive air feature, changing a firmness setting, adjusting the position of the base of the bed system), ways to relax before going to bed, the importance of improving sleep quality to improving the user's overall health, ways to improve the user's restful sleep, etc.
[0312] In addition, at least one insight may include a tip about the user's particular circadian sleep type and at least one behavioral recommendation to improve the user's sleep quality or health indicator, or otherwise maintain the user's circadian rhythm corresponding to the circadian sleep type. FIG. 20A to FIG. 20B As shown and described, the prompt and at least one behavior recommendation can be simultaneously presented in a GUI display that can be scrolled in a vertical direction. In response to receiving a user input indicating a scrolling feature, the user device can simultaneously present at least a portion of the prompt and at least one behavior recommendation in the GUI display. In some specific implementations, another portion of at least one of the prompt and at least one behavior recommendation may no longer be visible in the GUI display.
[0313] Sometimes, at least one insight may further include a selectable option to generate a daily routine based on at least one behavioral recommendation. The selectable option may be presented in the GUI display simultaneously with the prompt and the at least one behavioral recommendation. In response to receiving a user input indicating a selection of the selectable option, the user device may present another screen in the GUI display that may replace the presentation of the prompt, the at least one behavioral recommendation, and the selectable option.
[0314] In some specific implementations, such as reference FIG. 20A to FIG. 20B As shown and described, at least one behavior recommendation may be presented in the GUI display using a graphical element corresponding to the type of the at least one behavior recommendation. As described above, the type of at least one behavior recommendation may be a time to exercise recommendation and the corresponding graphical element may be an exercise equipment, the type of at least one behavior recommendation may be a most alert recommendation and the corresponding graphical element may be a light bulb, the type of at least one behavior recommendation may be a time to eat recommendation and the corresponding graphical element may be an appliance, and the type of at least one behavior recommendation may be a time to get ready for bed recommendation and the corresponding graphical element may be a coffee cup. FIG. 20A to FIG. 20BFor further description and discussion. Sometimes, at least one behavior recommendation can be presented in the GUI display while indicating a threshold time period for performing the at least one behavior recommendation. As described above, the threshold time period can indicate a time range in which performing the at least one behavior recommendation can improve at least one of the user's sleep quality and health indicator.
[0315] In some implementations, the computer system may identify at least one insight in block 2314 based on retrieving sleep and health insights associated with the user's circadian sleep type from a data repository, identifying a subgroup of insights from the retrieved sleep and health insights based on processed user input, and selecting at least one insight from the subgroup of insights to present to the user using a randomization technique. The randomization technique may be a random value generator or any other type of randomization algorithm, rule set, and / or technique. As described herein, the computer system may additionally or alternatively use machine learning rules to select at least one insight. For example, machine learning rules and logic may utilize the user's sensor data and historical sleep data to deliver unique insights to the user each day and / or at predetermined time intervals (e.g., after a sleep period, after multiple sleep periods). Sometimes, a user may receive duplicate insights, but these insights may be managed over time using one or more machine learning rules and / or prioritization techniques described herein.
[0316] One or more of blocks 2302-2312 may occur once. For example, blocks 2304-2312 may be performed once in response to the user completing the questionnaire for the first time in block 2302. Then, in block 2302, each time the user provides updated user input to the questionnaire (or each time new patterns and / or behaviors are detected in the user's historical sleep data), one or more of blocks 2304-2312 may be performed one or more additional times to update the user's circadian sleep type and / or a set of insights.
[0317] Additionally, block 2314 may be performed once (e.g., utilizing blocks 2302-2312). For example, once the set of insights is retrieved / determined in block 2308, the computer system may randomly determine the order in which each of the insights in the set is presented to the user (block 2314). The computer system may then sequentially deliver the insights to the user device for presentation at the user device each time the user opens a particular screen in the mobile application and the user device and / or when a predetermined time interval has passed (e.g., after the user wakes up from a sleep period, once a day, in the morning, in the evening, each time the user logs in / accesses the mobile application).
[0318] Sometimes, block 2314 may be performed at predetermined time intervals, such as once a day (e.g., when the user wakes up from a sleep session, before the user falls asleep), every few days, every few sleep sessions, etc. For example, when the user provides responses to the questionnaire, the set of insights may be retrieved and / or determined once in block 2308. Then, in block 2314, the computer system may randomly select insights from the set of insights to present to the user every day, every few days, every few sleep sessions, or during any other predetermined time interval (e.g., each time the user opens the mobile application at the user device, each time the user opens the mobile application a predetermined amount of time after the user last opened the mobile application).
[0319] Still reference FIG. 23A to FIG. 23B In process 2300, the computer system may optionally select at least one insight to present to the user based on the sensed data at the bed system during one or more previous sleep sessions of the user (block 2316). Thus, the computer system may determine what insights to present to the user to maintain their circadian rhythm and also be related to how the user slept during previous sleep sessions. Such insights may be more personalized to the user and may gently nudge the user to actively change their sleep habits.
[0320] For example, in block 2318, the computer system may optionally receive sensed data for the sleep period. As described herein, the computer system may receive sensor readings from at least one sensor during the sleep period of the user. The sensed data may be received from sensors of the bed system, sensors in communication with components of the bed system, and / or a wearable device of the user, as described throughout this disclosure. The sensed data may include sleep information and / or health information about the user, such as their heart rate, breathing rate, etc.
[0321] In block 2320, the computer system may optionally process the sensed data to generate a sleep and / or health quality indicator for the user. In other words, the computer system may process the sensor readings to determine at least one of an objective sleep quality and an objective health indicator. The sensed data may be processed using any of the above techniques. For example, the sensed data may be processed to determine an overall sleep quality score for a previous sleep period of the user.
[0322] Then, in box 2322, the computer system may optionally identify at least one insight that satisfies the insight selection criteria based on the processed data and the user input. For example, the computer system may identify a subgroup of insights based at least in part on the processed user input and the processed sensor readings. The insight selection criteria may indicate one or more factors related to presenting and / or promoting insights at the user device of the user. The criteria may additionally or alternatively include one or more thresholds to be met in order to present the corresponding insights to the user. As an illustrative example, if the insight corresponds to a sleep quality score less than a threshold (e.g., 50) and a circadian sleep type of a night owl, the insight may meet the criteria. As another example, if the insight corresponds to the user snoring during the previous sleep period and the circadian sleep type of an early riser, the insight may meet the criteria. As yet another example, if the insight corresponds to the user going to bed later than usual in one or more previous sleep periods, the user feeling less alert during the day, and the circadian sleep type of a night owl, the insight may meet the criteria.
[0323] In box 2324, the computer system may optionally select insights that meet the user's sleep and / or health quality indicator improvement criteria to present to the user. In some specific implementations, the criteria in box 2324 may be the same as the criteria in box 2322. The criteria in boxes 2324 and 2322 may also be different. As an illustrative example, if the insight selected in box 2324 can enable the user to change their habits and thus improve their overall sleep quality score by a threshold amount, then the insight can meet the criteria of box 2324. As another example, if the insight selected in box 2324 can enable the user to change their habits and thus feel more alert between daytime / sleep periods, then the insight can meet the criteria of box 2324. As yet another example, if in consecutive sleep periods, the insight selected in box 2324 can enable the user to change their habits by going to bed earlier and / or at about the same time, then the insight can meet the criteria of box 2324. In other words, an insight that meets the criteria in box 2324 may be selected by the computer system because it is likely to be most effective in nudging the user to change their habits and improve their overall sleep quality and / or health.
[0324] In some implementations, the computer system may not perform block 2322 based on sensed data. In block 2308, the computer system may identify insights that correspond to the user's circadian sleep type. Then, once the computer system receives the sensed data for the sleep period in block 2318, the computer system may select at least one insight from the identified insights based at least in part on processing the sensor data (block 2324). Thus, the computer system may select insights for presentation using sensed data during one or more sleep periods, where the insights have been identified for the user based on the user's circadian sleep type. In some implementations, the computer system may randomly select insights for presentation using sensed data.
[0325] In some embodiments, the computer system may receive sensor readings from at least one sensor during one or more sleep periods of the user. The computer system may then process the sensor readings to determine a recommended circadian sleep type for the user. Then, in box 2304, the computer system may verify the user's recommended circadian sleep type using the circadian sleep type determined based on the user input. If the recommended circadian sleep type is verified with the determined circadian sleep type, the computer system may proceed to boxes 2308-2314 in process 2300. As another example, in box 2302, the computer system may verify the user's recommended circadian sleep type by presenting a questionnaire to the user and receiving user input to the questionnaire. Then, in box 2304, the computer system may determine the user's circadian sleep type based on verifying the recommended circadian sleep type using the user's answers to the questionnaire. Reference Figure 26 to Figure 28 Further discussion of determining the proposed circadian sleep typology and / or validating the proposed circadian sleep typology.
[0326] In box 2326, the computer system may output the selected insights at the user device. The computer system may proceed from box 2314 to box 2326 without executing any of boxes 2316-2324. In box 2326, the computer system may send at least one insight to the user device for presentation in a GUI display of the user device, as described herein. The insights may be specific to improve the user's long-term metrics (e.g., sleep quality, sleep health, overall health) and / or to help the user on a specific day (e.g., the day after the previous sleep session) or during a specific time period (e.g., 1 day, 2 days, 3 days, a week, etc.). As described herein, the insights may correspond to when to exercise, when the user is most alert, when the user should eat certain foods, and / or when the user should relax before bed (e.g., personalized insights). As described herein, insights may also correspond to other more general tips and / or suggestions (e.g., generalized insights) that can educate or otherwise inform the user about their circadian sleep type, their circadian rhythm, and / or actions they can take that will maintain and / or improve their circadian rhythm.
[0327] As part of outputting the selected insights, the computer system may promote at least one insight based on its importance to the user (box 2328). The insights may be stacked, meaning that multiple insights may be presented to the user at once or over time. Each of the insights presented to the user may have varying degrees of importance for different aspects of the user's sleep health, sleep quality, and / or overall health. Sometimes, personalized insights that may be specific ways in which the user can improve their sleep habits may be stacked and presented over generalized insights, which may be more general educational tips about the user's circadian rhythm sleep type and / or circadian rhythm. Insights that have a more direct impact and / or a faster impact on maintaining the user's circadian rhythm and / or improving their sleep quality and / or health may be promoted. For example, insights into sleep that advances the next sleep period may have a more direct impact on helping the user be more alert the next day after the sleep period (which may be important to the user if the user has an important meeting or an important exam that day). Such insights may be promoted and presented to the user, higher than insights that may have a longer-term impact on the user's sleep health (e.g., suggestions about when the user should exercise or eat dinner).
[0328] As part of outputting the selected insights, the computer system may generate and send a notification (box 2330) that prompts the user to perform activities that improve their overall health and / or sleep quality. The notification may be presented in a mobile application at the user device. The notification may also be presented at the user device as a push notification. Sometimes, a notification may be presented whenever a user opens a mobile application at the user device. When the user opens the mobile application (e.g., when the user opens a specific screen in the mobile application, after a threshold amount of time has passed since the user last opened the mobile application or a specific screen in the mobile application), the notification may be presented at a predetermined time. The notification may be presented at a predetermined time when the user does not open the mobile application (e.g., the user does not open the mobile application between sleep periods or for more than a day, so the notification may remind the user to access the mobile application and / or perform one or more actions). The notification may also be presented at a predetermined time based on the action suggested / recommended by the selected insights. For example, if the insights recommend that the user exercise at 12:30 p.m. on the same day, the computer system may send a notification to the user device notifying the user to exercise at or about 12:30 p.m. on the same day. The notification may be presented to the user a threshold amount of time before 12:30 PM (e.g., in the morning of the day, 1 hour before 12:30 PM, 30 minutes before 12:30 PM, at 12:30 PM.) Thus, the notification may serve as a reminder that gently nudges the user to take action to change their habits to maintain their circadian rhythm and / or improve their overall sleep quality and / or health.
[0329] The computer system may also output the selected insights in one or more other ways, as described throughout this disclosure.
[0330] Fig.24 2400 for determining personalized insights for a user. As described herein, process 2400 can be performed to select one or more insights to present to the user. The blocks in process 2400 can be performed by one or more components described throughout this disclosure. For illustrative purposes, process 2400 is described as being performed by components including sensors 2402A-N (e.g., sensors 1908A-N), computer system 2404 (e.g., computer system 1902), input element 2406 (e.g., input element of user device 1901), output element 2408 (e.g., output element of user device 1901), and data repository (2410). The blocks in process 2400 can also be performed by one or more other components.
[0331] refer to Fig.24In process 2400, sensors 2402A-N may optionally provide one or more sensor readings to computer system 2404 during and / or after a sleep period of the user (block 2412). Fig.19 See Box A-2 (1912) for further discussion.
[0332] In block 2414, computer system 2404 may optionally determine one or more objective sleep quality and / or health indicators about the user based on the sensor readings. FIG. 23A to FIG. 23B Boxes 2320-2322 in process 2300 are further discussed.
[0333] Before, during, and / or after executing blocks 2412 and / or 2414, output element 2408 may present the subjective questionnaire to the user (block 2416). Output element 2408 may be part of the user's computing device, such as a mobile phone as described herein. Output element 2408 may be a GUI display screen, such as a touch screen. As described throughout this document, the questionnaire may be presented in a mobile application to which the user may navigate on their device. The questionnaire may be a health and wellness questionnaire as described throughout this disclosure. Reference Fig.21 , Fig.25 and Fig.28 for further discussion.
[0334] Input element 2406 may receive user input in response to the questionnaire being presented to the user (block 2418). Input element 2406 may be part of a user computing device. Input element 2406 may include, but is not limited to, a keyboard, a mouse, a microphone, and / or a touch screen display. As described herein, the user input may include responses to one or more questions presented in the questionnaire. Reference Fig.19 Box A-1(1910) and FIG. 23A to FIG. 23B , Fig.25 and Fig.28 for further discussion.
[0335] The input element 2406 may provide the subjective sleep health information to the computer system 2402 (block 2420). The subjective sleep health information may include the user's responses to the questionnaire. In block 2424, the computer system 2404 may receive the subjective sleep health information.
[0336] In box 2422, data repository 2410 can provide insights to computer system 2404. Computer system 2404 can receive insights (box 2426). Boxes 2422 and 2426 can be performed before, during, and / or after one or more of boxes 2412, 2414, 2416, 2418, 2420, and 2424. These insights can include general and / or personalized insights described throughout the present disclosure. These insights can be determined by computer system 2404 or another computing system at another time and based on various historical sleep and / or health data. The historical data can correspond to a general user group (e.g., users who share one or more data / demographics / age, etc. with the user). The historical data can also correspond to a specific user.
[0337] like Fig.24 As shown, the computer system 2404 may receive insights in block 2426 and then select one or more of the received insights that correspond to the user's circadian sleep type (determined based on responses to the questionnaire and / or sensor readings). As another example, the computer system 2404 may determine the user's circadian sleep type based on questionnaire responses and / or sensor readings and then retrieve only a set of insights from the data repository 2410 that correspond to the user's circadian sleep type.
[0338] Still reference Fig.24 In process 2400 in FIG. 24, computer system 2404 may identify one or more personalized insights for the user based on the received information (block 2428). As part of identifying the insights, computer system 2404 may determine the user's circadian sleep type. As part of identifying the insights, computer system 2404 may determine general insights to present to the user. Computer system 2404 may also determine or identify a combination of general and personalized insights for the user. Fig.19 , Fig. 22 , FIG. 23A to FIG. 23B and 25 to Fig.28 for further discussion.
[0339] The computer system 2404 may randomly select at least one insight for the current time period (block 2430). The computer system 2404 may also select insights using one or more other logic and / or selection criteria, as described throughout this disclosure.
[0340] The computer system 2404 may provide the insights to the output element 2408 for presentation to the user as behavioral recommendations (box 2432). The current time period may be a day, the time between consecutive sleep periods, the amount of time immediately following a previous sleep period, several days, a week, and the like. The behavioral recommendations may suggest one or more actions that the user may perform to maintain their circadian rhythm and / or improve their sleep quality and / or health. The behavioral recommendations may suggest one or more times when the user should perform one or more actions (e.g., exercise, eat, wind down for sleep, feel most alert) to maintain their circadian rhythm and / or improve their sleep quality and / or health. The behavioral recommendations may also include one or more general tips and / or suggestions regarding the user's circadian sleep type and actions that typically may affect their circadian rhythm and / or sleep quality and / or health. Reference Fig.19 , FIG. 20A to FIG. 20B , Fig. 22 , FIG. 23A to FIG. 23B and Figure 25 to Figure 28 for further discussion.
[0341] As described herein, one or more of blocks 2412-2432 may be performed at different times. For example, blocks 2412 and 2414 may be performed during and / or after each sleep period of the user. Blocks 2416, 2418, 2420, and 2424 may be performed once, such as when a user creates an account with a service provided by computer system 2404 and / or when a user sets up their bed system. Blocks 2422 and 2426 may be performed at different times than blocks 2412 and 2414 and / or blocks 2416, 2418, 2420, and 2424. Sometimes, block 2428 may be performed once, such as whenever computer system 2404 receives subjective sleep health information in block 2424. Sometimes, block 2430 may be performed at predetermined time intervals, such as every day and / or after each sleep period (e.g., when the user wakes up that day). Similarly, block 2432 may be performed at predetermined time intervals, including, but not limited to, whenever the user opens the mobile application at the user device, whenever the user wakes up from a sleep period, after a threshold amount of time has passed between sleep periods, after a threshold amount of time has passed since the user last opened the mobile application, etc. As described herein, one or more of blocks 2412-2432 may also be performed at one or more other times.
[0342] Fig.25 25 is a flow chart of a process 2500 for providing personalized insights to a user in a GUI. The process 2500 can be used to submit a questionnaire to a user in one go. In other words, the subjective sleep health questionnaire described throughout this disclosure (e.g., reference Fig.21) can be presented in a GUI display of a user device in a single instance. A user can complete the questionnaire once. However, the user can access the questionnaire in a mobile application of the user device at one or more later / other times to complete questions they did not answer previously and / or update / modify responses they previously provided. For purposes of illustration, process 2500 is described from the perspective of a computer system.
[0343] refer to Fig.25 In process 2500 in block 2502, a computer system may present a questionnaire to a user at a user device. As described herein, the questionnaire may be accessed from a screen in a mobile application presented at the user device. The user may access the questionnaire whenever desired. In some implementations, the computer system may send a notification to the user device prompting the user to access and answer the questionnaire. Similarly, the computer system may simply send the questionnaire to be presented in a notification on the user device. Fig.19 , Fig.21 , FIG. 23A to FIG. 23B , Fig.24 and Fig.28 for further discussion.
[0344] In box 2504, the computer system may receive user input in response to the questionnaire. As described herein, once the user accesses the questionnaire, the user may answer the questions in the questionnaire. The user may answer the questions when the questionnaire is automatically presented at the user device. The user may also respond to the questionnaire within a period of time after the questionnaire is initially presented in box 2502. For example, box 2502 may be executed when the user first sets up their bed. Once the user reviews the questionnaire and decides that they have an answer or want to answer, box 2504 may be executed a few days after the user sets up their bed. As described herein, the user may also provide updated user input or new user input to the questionnaire at one or more other times. For example, the user may decide to update any responses to the questionnaire that they previously provided over time. The user may also decide to provide responses to questions that they have not previously answered. The user may also decide to remove / delete one or more of the responses they previously provided. Reference Fig.19 , FIG. 23A to FIG. 23B , Fig.24 and Fig.28 for further discussion.
[0345] In block 2506, the computer system may determine the user's circadian rhythm sleep type based on the user input. The computer system may perform block 2506 each time the computer system receives the user input or updated user input in block 2504. Fig.19 , FIG. 23A to FIG. 23B , Fig.24 and Fig.28 for further discussion.
[0346] The computer system may identify one or more behavioral recommendations based on the circadian sleep type (block 2508). The computer system may perform block 2508 each time the computer system receives user input in block 2504 and / or determines the user's circadian sleep type in block 2506. Fig.19 , Fig. 22 , FIG. 23A to FIG. 23B , Fig.24 and Fig.28 for further discussion.
[0347] In block 2510, the computer system may present the behavior recommendation at the user device. As described herein, the computer system may present the recommendation at predetermined time intervals. Sometimes, the computer system may present the recommendation each time the computer system executes blocks 2506 and / or 2508. Fig.19 , FIG. 20A to FIG. 20B , FIG. 23A to FIG. 23B , Fig.24 and Fig.28 for further discussion.
[0348] In block 2504, the computer system may wait to receive any additional user input from the user. In other words, the computer system may not present the questionnaire or prompt the user to complete the questionnaire at another time. Instead, the computer system may wait for the user to access the questionnaire at another time and provide new answers, update previous answers, and / or complete questions that they did not previously complete in the questionnaire. If and when the user provides updated user input at the user device, the computer system may execute blocks 2504-2510 or any other combination or subgroup of these blocks.
[0349] Fig.26 26 is a flow chart of a process 2600 for automatically determining a user's circadian sleep type. Process 2600 can be performed to determine a user's circadian sleep type without receiving and using user input, such as responses to a questionnaire as described herein. Thus, a circadian sleep type can be determined based on the user's sleep patterns over time and / or other historical sleep and / or health data of the user. The user's historical data can be mapped to one or more different types of sleep types described herein. For purposes of illustration, process 2600 is described from the perspective of a computer system.
[0350] refer to Fig.26In process 2600 in block 2602, a computer system may retrieve sleep pattern and behavior data for a user. In other words, the computer system may retrieve historical sleep data about a user from a data repository. Historical sleep data may include the sleep pattern and / or behavior of the user within a threshold time period. As described herein, the data may be collected by sensors or other components of the user's bed system. The data may also be generated by a computer system or other computing device based on processing one or more different sensor data. The data may correspond to multiple sleep periods, one sleep period, the previous or last sleep period, a week, several days, the last day, etc. The data may include, but is not limited to, sleep scores, breathing patterns, heart rate, respiratory rate, snoring, and other sleep and / or health information sensed and / or determined by the components described in the present disclosure.
[0351] The computer system may apply a rule set to the retrieved data to determine a circadian sleep type for the user (e.g., a recommended circadian sleep type) (block 2604). In some implementations, the computer system may apply one or more machine learning trained models and / or algorithms to the retrieved data. Determining the circadian sleep type for the user may include mapping the user's sleep pattern and behavior data (or other historical data) to at least one circadian sleep type defined by the rule set. The rule set may define circadian sleep types, including night owls, early risers, and intermediates. One or more other circadian sleep types that may be mapped to the user's data may be defined in the rule set.
[0352] In box 2606, the computer system may determine insights, prompts, and / or reminders for the user corresponding to the user's circadian sleep type. For example, as described herein, the computer system may generate (e.g., using a template) and / or identify (e.g., from a set of existing insights corresponding to the circadian sleep type and previously determined by the computer system) an alert that can be provided to the user (at the user's user device) to optimize their sleep schedule and / or circadian rhythm. The computer system may also generate notifications, prompts, or insights that provide suggestions for creating and / or updating bedtime routines and / or reminders based on the user's circadian sleep type. The computer system may generate one or more reminders based on the user's circadian sleep type that gently nudge the user toward the time when the user should wind down and / or go to bed (and / or the predetermined time period when the user should wind down and / or go to bed each night). Thus, the computer system may utilize historical data about the user (e.g., previous sleep patterns) to generate suggestions that can help the user maintain and / or establish a consistent sleep schedule.
[0353] The computer system may then return the circadian sleep type and / or insights, tips, and / or reminders in block 2608. As described herein, such information may be presented in a mobile application at the user device and / or a GUI described herein. For example, the computer system may output the information at the user device of the user (block 2610).
[0354] As another example, the computer system may generate instructions to control components and / or peripherals of the user's bed based on the insights, prompts, and / or reminders (box 2612). For example, the computer system may generate a recommendation to change the temperature of the user's bed to help the user fall asleep faster. Therefore, the computer system may generate instructions that cause the heating / cooling unit of the bed to automatically adjust the temperature of the bed by a predetermined threshold amount before and / or while the user goes to sleep. As another example, the computer system may generate a recommendation to adjust the base of the bed to help the user fall asleep faster. The computer system may then generate instructions that cause the controller of the bed to adjust the base to a predetermined position before the user goes to bed and / or when the user is ready to go to sleep. As another example, the computer system may generate instructions that cause a home automation device to dim the lights in a bedroom or other room of the user's house at a predetermined time (e.g., earlier in the evening than usual) to help the user wind down before going to bed and then wake up more refreshed and alert. As described above, one or more other instructions may be generated and / or executed based on the circadian rhythm sleep type and then executed by components in the user's sleep environment.
[0355] Fig. 27 2700 is a flowchart of another process 2700 for automatically determining a user's circadian rhythm sleep type. Process 2700 can be performed to verify the circadian rhythm sleep type determined by the system using user input, wherein the user input indicates the circadian rhythm or sleep type perceived by the user. Process 2700 can use historical sleep data about the user (e.g., previous sleep patterns, presence in bed, when the user fell asleep, how often they woke up during the sleep period) to suggest a circadian rhythm sleep type for the user, and then present the suggested circadian rhythm sleep type to the user for confirmation / update. For example, the user can provide input indicating that they agree with the suggested circadian rhythm sleep type. The user can also provide input indicating that they think they have different circadian rhythm sleep types (e.g., the proposed circadian rhythm sleep type can be intermediate, but the user can provide a response to a questionnaire indicating that the user is actually a night owl). For the purpose of illustration, process 2700 is described from the perspective of a computer system.
[0356] Referring to process 2700, at block 2702, the computer system may retrieve sleep pattern and behavior data of a user. Fig.26Block 2602 is discussed further.
[0357] At block 2704, the computer system may apply the rule set to the retrieved data to determine a recommended circadian rhythm sleep type for the user. Fig.26 Block 2604 is discussed further.
[0358] The computer system may output the suggested circadian sleep type at the user device for user verification (box 2706). The suggested circadian sleep type may be output in a GUI display of the user device. For example, a notification may be presented at the user device indicating the circadian sleep type and asking the user whether this is the correct sleep type for the user. Sometimes, instead of outputting the suggested circadian sleep type, the computer system may output a sleep and health questionnaire as described herein. The computer system may then receive user input to the questionnaire, which may be processed by the computer system to determine whether the suggested circadian sleep type is actually the correct circadian sleep type for the user.
[0359] The computer system may receive user input and determine whether the received input indicates verification of the suggested circadian sleep type (block 2708). The user input may include selection of an option (e.g., a button) to verify the suggested circadian sleep type. The user input may include selection of an option that is inconsistent with the suggested circadian sleep type. The user input may also include responses to one or more questions in the questionnaire. The computer system may process the user input to determine the user's circadian sleep type based on the user input. The computer system may then determine whether the circadian sleep type matches or corresponds to the suggested circadian sleep type.
[0360] If the user input indicates a validation of the recommended circadian rhythm sleep type, then in block 2710, the computer system may determine and return to the user insights, tips, and / or reminders corresponding to the recommended circadian rhythm sleep type. Fig.26 Boxes 2608-2612 in are further discussed.
[0361] If the user input does not indicate verification of the suggested circadian sleep type, then in box 2712, the computer system can receive user input indicating the user's perceived circadian sleep type. The user's perceived circadian sleep type can be different from the output circadian sleep type. For example, if the suggested circadian sleep type is a night owl, the user can provide input indicating that they perceive their circadian sleep type to be an early riser or an intermediate. In some specific implementations, in box 2712, the computer system may not receive the user's perceived circadian sleep type. Instead, the computer system can use the above-mentioned techniques to determine the user's circadian sleep type based on the user's responses to the questionnaire.
[0362] In block 2714, the computer system may then determine and return insights, prompts, and / or reminders corresponding to the user's perceived circadian sleep type. For additional information, refer to the discussion above.
[0363] Fig.28 2800 is a flow chart of a process 2800 for verifying a user's perceived circadian sleep type by automatically analyzing the user's historical sleep data. In process 2800, the user may answer questions, such as the questionnaires described herein (e.g., reference Fig.21 ). The questions may ask the user what they think their circadian sleep type is. The computer system may process the user's answers to suggest what the user's circadian sleep type may be (e.g., the computer system may identify the suggested circadian sleep type as the user's perceived circadian sleep type, and the computer system may determine the suggested circadian sleep type based on mapping the user's answers to the questions to defined circadian sleep types). The computer system may check the suggested circadian sleep type against historical sleep data and / or health data about the user (and / or a general group of users that share the same / similar characteristics with the user) to verify or confirm the user's perceived circadian sleep type and / or the suggested circadian sleep type for the user. For purposes of illustration, process 2500 is described from the perspective of a computer system.
[0364] Referring to process 2800, a computer system may present a sleep health questionnaire at a user device of a user, as described throughout this disclosure (block 2802). The computer system may receive user input indicating one or more responses to the questionnaire (block 2804). In block 2806, the computer system may determine a recommended circadian sleep type for the user based on the user input. Fig.19 and Figure 23 to Fig.25 Further discussion is provided. In block 2808, the computer system may also retrieve the user's sleep pattern and behavior data. Figure 26 to Figure 27The computer system may determine whether the suggested circadian rhythm sleep type corresponds to the retrieved data for the user (block 2810), such as Fig. 27 , further described in . If the suggested circadian sleep type corresponds to the data about the user (e.g., the sleep type is verified), the computer system can determine and return insights, tips, and / or reminders for the user corresponding to the suggested circadian sleep type (box 2812). If the suggested circadian sleep type does not correspond to the data about the user, in box 2814, the computer system can determine another circadian sleep type for the user based on the retrieved data. In box 2816, the computer system can then determine and return insights, tips, and / or reminders corresponding to another circadian sleep type. Reference Fig. 27 Further discussion is provided. In some implementations, the computer system can instead determine insights, prompts, and / or reminders for the user that correspond to the user's perceived circadian sleep type provided as input to the questionnaire.
Claims
1. A system for improving at least one of a user's sleep quality and health indicators, the system comprising: A computer system in communication with a user device of a user and configured to: sending a subjective sleep health questionnaire to the user device for presentation in a graphical user interface (GUI) display; receiving user input from the user device indicating at least one response to the subjective sleep health questionnaire; processing the user input to determine a circadian sleep type of the user; identifying at least one insight based on the circadian sleep type of the user for presentation in the GUI display at the user device; as well as The at least one insight is sent to the user device for presentation in the GUI display.
2. The system of claim 1, wherein the at least one insight is a behavioral recommendation to improve the user's current circadian rhythm within a predetermined time period.
3. The system of claim 1 , wherein identifying the at least one insight comprises: retrieving sleep and health insights associated with the circadian sleep type of the user from a data repository; identifying a subgroup of insights from the retrieved sleep and health insights based on the processed user input; as well as At least one insight is selected from the subset of insights to present to the user using a randomization technique.
4. The system of claim 1, wherein the questionnaire prompts the user for user input regarding at least one of user perceived circadian rhythm, user perceived stress, user perceived difficulty falling asleep, and user perceived difficulty staying asleep.
5. The system of claim 1, wherein the at least one insight comprises a recommendation of when the user should exercise. 6 . The system of claim 1 , wherein the at least one insight comprises a recommendation of when the user was most alert during a predetermined time period.
7. The system of claim 1, wherein the at least one insight comprises a recommendation of when the user should eat.
8. The system of claim 1, wherein the at least one insight comprises a recommendation of when the user should begin a bedtime routine.
9. The system of claim 1, wherein the at least one insight comprises a notification prompting the user to perform an activity that improves at least one of a current health metric and a current sleep quality of the user.
10. The system of claim 1, wherein the subjective sleep health questionnaire prompts the user for an indication of whether the user is an early riser, a night owl, or an intermediate.
11. The system of claim 1 , wherein the subjective sleep health questionnaire prompts the user for an indication of at least one factor that disrupts the user's sleep pattern.
12. A system according to claim 1, wherein in order to select at least one insight from the subgroup of insights, the computer system is configured to assemble the subgroup of insights from a template of general insights, which have been completed using information common to a user group including the user.
13. A system for improving at least one of a user's sleep quality and health indicators, the system comprising: A computer system in communication with a user device of a user and configured to: retrieving sleep pattern and behavior data of the user from a data repository; applying a rule set to the retrieved data to determine a circadian sleep type of the user; determining at least one insight, tip, or reminder for the user, wherein the at least one insight, tip, or reminder corresponds to the circadian sleep type of the user; as well as Returning at least one of (i) the circadian sleep type and (ii) the determined insight, prompt, or reminder.
14. The system of claim 13, wherein the returning comprises sending at least one of (i) and (ii) to the user device for presentation in a GUI display of the user device.
15. The system of claim 13, wherein the returning comprises generating instructions to control components or peripherals of the bed system based on the at least one insight, prompt, and reminder. 16 . The system of claim 13 , wherein determining the circadian sleep type of the user comprises mapping the sleep pattern and the behavioral data of the user to at least one circadian sleep type defined by the rule set.
17. The system of claim 13, wherein the computer system is further configured to: outputting the circadian sleep type of the user in a GUI display of the user device; receiving user input from the user device indicating verification of the circadian sleep type; and In response to receiving the user input, the determining step is performed.
18. The system of claim 13, wherein the computer system is further configured to: outputting the circadian sleep type of the user in a GUI display of the user device; receiving a user input from the user device, the user input indicating a user perceived circadian sleep type that is different than the output circadian sleep type; and In response to receiving the user input, at least one insight, prompt, and reminder is determined for the user corresponding to the user's perceived circadian sleep type.
19. A system for improving at least one of a user's sleep quality and health indicators, the system comprising: A computer system in communication with a user device of a user and configured to: presenting a sleep health questionnaire at the user device; receiving user input from the user device indicating at least one response to the questionnaire; determining a recommended circadian sleep type for the user based on the user input; retrieving sleep pattern and behavior data of the user from a data repository; determining whether the retrieved sleep pattern and behavior data corresponds to the recommended circadian sleep type for the user; determining at least one insight, tip, or reminder for the user based on the retrieved sleep pattern and behavior data corresponding to the recommended circadian sleep typology, wherein the determined insight, tip, or reminder corresponds to the recommended circadian sleep typology; as well as Returns (i) a suggested circadian sleep typology and (ii) at least one of an insight, a tip, or a reminder.
20. The system of claim 19, wherein the computer system is configured to: determining another circadian sleep type for the user based on the retrieved data based on the retrieved data not corresponding to the suggested circadian sleep type; determining at least one insight, prompt, and reminder corresponding to another circadian sleep type for the user; and Returning at least one of (i) the other circadian sleep type and (ii) an insight, a prompt, or a reminder corresponding to the other circadian sleep type.