System and method for enhanced wireless communication between analyte sensor system and display device
By dynamically adjusting the transmission power and optimizing the wireless communication protocol, the problem of high communication resource consumption between the analyte sensor system and the display device in the prior art is solved, and lower power consumption and longer battery life are achieved.
Patent Information
- Application Number
- CN202380051381.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2022-07-15
- Filing Date
- 2023-07-11
- Publication Date
- 2025-02-18
AI Technical Summary
The existing wireless communication protocols have problems such as high resource consumption, increased power consumption, and unnecessary battery consumption in the communication between the analyte sensor system and the display device, resulting in a shortening of the device's battery life.
By dynamically adjusting the transmission power, reducing handshake messages, optimizing the payload size of the invitation packets, and adjusting the transmission power based on signal strength to reduce resource consumption and power consumption.
It effectively reduces the resource consumption and power consumption of the analyte sensor system, extends the battery life of the device, and improves the reliability and efficiency of communication.
Smart Images

Figure CN119487818A_ABST
Abstract
Description
[0001] CROSS-REFERENCE TO RELATED APPLICATIONS
[0002] This application claims the benefit of and priority to U.S. Provisional Application No. 63 / 368,631, filed on July 15, 2022, which is assigned to the assignee of the present application and is hereby expressly incorporated herein by reference in its entirety, as if fully set forth below and for all applicable purposes.
[0003] introduction Technical Field
[0004] The present application relates generally to medical devices such as analyte sensors, and more particularly to systems, devices, and methods related to wireless communication between an analyte sensor system (e.g., a continuous glucose monitoring (CGM) device) and one or more display devices.
[0005] Related technical notes
[0006] Diabetes is a metabolic condition related to the body's production or use of insulin, a hormone that allows the body to use glucose for energy or store glucose as fat.
[0007] Diabetes is a condition in which the pancreas does not produce enough insulin (Type I or insulin-dependent) and / or is insulin ineffective (Type 2 or non-insulin-dependent). In the diabetic state, patients suffer from high blood sugars, which can cause a range of physiological disturbances associated with the degeneration of small blood vessels (kidney failure, skin ulcers, or vitreous hemorrhages in the eyes). Hypoglycemic reactions (hypoglycemia) can be caused by unintentional overdoses of insulin or by excessive exercise or inadequate food intake following normal doses of insulin or glucose-lowering agents.
[0008] Typically, diabetics carry a self-monitoring blood glucose (SMBG) monitor that may require an uncomfortable finger-pricking method. Due to the lack of comfort and convenience, diabetics will typically only measure their glucose levels two to four times a day. Unfortunately, these time intervals are so far apart that diabetics may be alerted to hyperglycemia or hypoglycemia too late, thus sometimes causing dangerous side effects. In fact, due to the limitations of conventional methods, diabetics will be unlikely to obtain timely SMBG values, and further diabetics will not know whether their blood glucose values are rising (higher) or falling (lower).
[0009] Therefore, a variety of non-invasive, transdermal (e.g., percutaneous) and / or implantable sensors are being developed for continuously detecting and / or quantifying blood glucose values. Typically, in a diabetes management system, a transmitter associated with a sensor wirelessly transmits raw data or minimally processed data for subsequent display and / or analysis at one or more remote devices, which may include a remote device, a server, or any other type of communication device. The remote device, such as a mobile device, can then utilize a trusted software application (e.g., approved and / or provided by a sensor manufacturer) that acquires the raw data or minimally processed data and provides information about the user's blood glucose level to the user. Because diabetes management systems using such implantable sensors can provide users with more up-to-date information, these diabetes management systems can reduce the risk of users being unable to regulate the user's blood glucose level.
[0010] Although existing wireless communication protocols and techniques for wireless communication between an implantable analyte sensor and a remote device may be acceptable, they also have certain disadvantages.Therefore, there is a need to improve existing wireless communication protocols and techniques for wireless communication between an implantable analyte sensor and one or more remote devices.
[0011] This background is provided to introduce a brief context for the following summary and detailed description. This background is not intended to help determine the scope of the claimed subject matter, nor is it to be considered to limit the claimed subject matter to specific implementations that solve any or all disadvantages or problems presented above. Summary of the invention
[0012] Certain embodiments provide a method for wireless communication performed by an analyte sensor system. The method includes: when a whitelist of previously authenticated devices has at least one unpopulated entry, sending one or more first notification messages having a first payload size. The method also includes: when the whitelist lists at least one device, sending one or more second notification messages having a second payload size that is less than the first payload size. The method also includes: establishing a communication session between the analyte sensor system and at least one device based on at least one of the first notification message or the second notification message.
[0013] Certain embodiments provide a method for wireless communication performed by an analyte sensor system. The method includes: establishing a connection between a transmitter of the analyte sensor system and a display device. The method also includes: after establishing the connection, receiving at least a first packet from the display device. The method also includes: determining a transmit power of a second packet based at least in part on a current transmit power level of the transmitter and a signal strength of the first packet. The method also includes: transmitting the second packet to the display device at the determined transmit power of the second packet.
[0014] Certain embodiments provide a method for wireless communication performed by an analyte sensor system. The method includes: determining one or more properties of a predefined characteristic set associated with the analyte sensor system. The method also includes: configuring each of the one or more properties via a custom configuration file of the analyte sensor system so that a client characteristic configuration descriptor (CCCD) is enabled as a default setting at each connection between the analyte sensor system and a display device. The method also includes: configuring a processor of the analyte sensor system using the configured one or more properties before initializing the processor.
[0015] Additional embodiments include a non-transitory computer-readable storage medium storing executable instructions that, when executed by a computer system, cause the computer system to perform the above method, and an apparatus comprising at least one processor and a memory configured to perform the above method. BRIEF DESCRIPTION OF THE DRAWINGS
[0016] Figure 1 Illustrated are example analyte monitoring systems according to certain embodiments disclosed herein.
[0017] Figure 2A is a perspective view of an example housing according to certain embodiments disclosed herein.
[0018] Figure 2B is a cross-sectional view of an example housing according to certain embodiments disclosed herein.
[0019] FIG. 3A to FIG. 3B An example system for communicating analyte data according to certain embodiments disclosed herein is illustrated.
[0020] Figure 4 is a network sequence diagram illustrating execution of a communication procedure between an analyte sensor system and a display device according to certain embodiments disclosed herein.
[0021] Figure 5 is another network sequence diagram illustrating execution of a communication procedure between an analyte sensor system and a display device according to certain embodiments disclosed herein.
[0022] Figure 6 A table including example invitation group sizes according to certain embodiments disclosed herein is illustrated.
[0023] Figure 7 is a flow diagram illustrating example operations for wireless communications in accordance with certain embodiments disclosed herein.
[0024] Figure 8 An example of dynamic transmit power adjustment according to certain embodiments disclosed herein is illustrated.
[0025] Fig. 9 is a flow diagram of example operations for dynamically adjusting transmit power associated with communications between an analyte sensor system and a display device, according to certain embodiments disclosed herein.
[0026] Fig.10 is a flow chart illustrating example operations for wireless communication via an analyte sensor system according to certain embodiments disclosed herein.
[0027] Fig.11 An example communication protocol stack architecture is illustrated in accordance with certain embodiments disclosed herein.
[0028] Fig.12 An example connection flow between an analyte sensor system and a display device is illustrated.
[0029] Fig.13 An example connection flow with reduced handshake messages according to certain embodiments disclosed herein is illustrated.
[0030] Fig.14 is a flow chart illustrating example operations for wireless communication via an analyte sensor system according to certain embodiments disclosed herein.
[0031] Fig.15 is a flow chart illustrating example operations for wireless communication via an analyte sensor system according to certain embodiments disclosed herein. DETAILED DESCRIPTION
[0032] Certain embodiments described herein relate to a variety of technologies for exchanging data (such as analyte data and other types of data) in wireless communications between display devices, analyte sensor systems, and / or medical devices (e.g., medical delivery devices). Certain embodiments can reduce technical problems associated with wireless transmission of analyte data, which lead to increased power consumption of the devices mentioned above (and subsequently shorten battery life). Such technical problems may include, for example, sending messages with high overhead, sending messages with unnecessary high transmission power levels, sending unnecessary numbers of messages as part of communication between devices, etc. Although certain embodiments herein are described with respect to the management of diabetes, glucose sensor systems, and the transmission of glucose measurements between devices, the protocols and techniques described herein are similarly applicable to any type of health management system including any type of analyte sensor (e.g., lactate sensor, ketone sensor, potassium sensor, etc.).
[0033] Battery consumption is a critical issue for devices that wirelessly exchange analyte data (e.g., display devices, analyte sensor systems, medical devices, etc.). Current wireless communication protocols used to send analyte data may consume excessive resources, such as power resources, bandwidth and other communication resources, computing resources, etc. For example, such wireless communication protocols may cause a device (e.g., an analyte sensor system) to send messages at unnecessarily high transmit power levels, cause a device to send messages with high overhead, cause a device to send an unnecessary number of messages when connected to or communicating with another device (e.g., a display device), any of which (or a combination thereof) may result in increased power (and battery) consumption.
[0034] For example, according to certain communication protocols between the analyte sensor system and the display device, when the analyte sensor system is activated, the analyte sensor system begins to periodically broadcast invitation packets (e.g., announcement packets) at defined intervals for a certain length of time (e.g., every 5 minutes, for up to 22 seconds) so that the user's display device can recognize and connect to it. Typically, as described in more detail herein, the length of time that the analyte sensor system broadcasts the invitation packets includes a general invitation period (e.g., 2 seconds) and a target invitation period (e.g., 20 seconds).
[0035] A general invitation refers to broadcasting an invitation packet (or message) at the analyte sensor system to connect to the user's display device at the first (or initial) time. For example, when a patient initially attempts to pair a display device with an analyte sensor system, the analyte sensor system may broadcast a general invitation packet. Once the intended display device receives the general invitation packet (e.g., a general announcement packet), the display device sends a connection request to the analyte sensor system. The analyte sensor system then receives the connection request from the display device and may grant the connection request to the display device. Then, after making the initial connection, the analyte sensor system and the display device may continue to engage in further data communications involving authentication, pairing, binding, and the like.
[0036] Compared to a general invitation, a target invitation refers to sending an invitation packet (e.g., a target announcement packet) at the analyte sensor system to reconnect with a display device with which the analyte sensor system has been paired and bound. Continuing with the above example, when the patient's analyte sensor system attempts to reconnect with the patient's display device, the analyte sensor system may transmit one or more target invitation packets to the display device. Upon receiving the target invitation, the display device issues a connection request to the analyte sensor system. The analyte sensor system grants the connection request and may engage in further data communication with the display device.
[0037] A problem with using the above-mentioned wireless communication protocol is unnecessary battery consumption at the patient's analyte sensor system. Specifically, once a connection is made between the analyte sensor system and the display device, the analyte sensor system can send packets at a constant transmission power level, regardless of the strength of the signal received from the display device in response. However, because it may not be necessary to send at a constant transmission power level for communicating with the intended display device, using a constant transmission power may cause an increase in power consumption, and then cause unnecessary battery consumption at the analyte sensor system. Additionally, using the above-mentioned wireless communication protocol, the analyte sensor system can send packets with the same complete payload during both a general invitation and a target invitation. However, because a complete payload as further described below may not be necessary for a target invitation, sending a target invitation packet with a complete payload may cause an increase in power consumption, and then cause unnecessary battery consumption at the analyte sensor system.
[0038] In addition, certain analyte sensor systems may use a Client Characteristic Configuration Descriptor (CCCD) to allow a display device to opt-in to "pushed" style data updates from an analyte sensor system, rather than simply reading data from the analyte sensor system. In such analyte sensor systems, before the display device can obtain any of this "pushed" data, the display device must individually enable the CCCD for each portion of the data, and then once the portion of data has been obtained, the display device must individually disable the CCCD for that portion of the data. Frequent enabling and disabling of this CCCD for each characteristic (or data) may result in unnecessary battery consumption of the analyte sensor system. Additionally, the enabling and disabling of the CCCD may result in increased signal loss due to errors involving enabling the CCCD.
[0039] Therefore, there is a need for techniques, methods, and systems for wirelessly communicating analyte data that allow for reduced resource consumption (e.g., power, computation, bandwidth, etc.) at the analyte sensor system while maintaining and / or improving the reliability, speed, and accuracy of wireless communications and the performance of connection protocols associated therewith. It is noted that while the embodiments described herein relate to an analyte sensor system that performs communications with one or more display devices, it should be understood that it is a transmitter in an analyte sensor system that performs communications with one or more display devices.
[0040] Certain embodiments described herein provide various enhancements to wireless communication protocols (such as the BLE protocol) for exchanging data (such as analyte data obtained from a continuous analyte sensor configured to continuously measure the analyte concentration in a recipient). When sending the analyte data to one or more display devices, a transmitter coupled to the continuous analyte sensor may use various enhancements. Such enhancements may include, for example, dynamically adjusting the transmit power when sending packets (e.g., data, invitations, etc.), sending invitations with alternative (or different) payloads during different invitation cycles, reducing handshake messages (e.g., CCCD message transmission), etc. The various enhancements described herein may relate to various aspects of the wireless communication protocol, including, for example, authentication, connection protocols, invitation message structure and content, device pairing, data transmission, etc.
[0041] The techniques described herein allow for reduced power consumption during wireless transmission of analyte data. Figures 1 to 15 More fully described. The techniques described herein can save power costs and improve user experience for an analyte sensor system and one or more display devices.
[0042] Example Analyte Sensor System
[0043] Figure 1Depicted is an analyte monitoring system 100 ("system 100") that may be used in conjunction with certain embodiments of the present disclosure involving collecting, monitoring, and / or providing information about analyte values present in a user's body, including, for example, a user's blood glucose values, such as a diabetes management system.
[0044] The analyte monitoring system 100 in the illustrated embodiment includes an analyte sensor system 102, which can be configured to monitor one or more analytes of a user. The analyte sensor system 102 includes a sensor electronics module 106 and one or more analyte sensors 104 (referred to herein as analyte sensors 104 individually and collectively as analyte sensors 104) associated with the sensor electronics module 106. The sensor electronics module 106 can communicate wirelessly with one or more of the display devices 112, 120, 130, and 140 (e.g., directly or indirectly). In certain embodiments, the sensor electronics module 106 can also communicate wirelessly with one or more medical devices (such as medical devices 110) (referred to herein as medical devices 110 individually and collectively as medical devices 110) and / or one or more other non-analyte sensors 108 (referred to herein as non-analyte sensors 108 individually and collectively as non-analyte sensors 108) (e.g., directly or indirectly).
[0045] In certain embodiments, an analyte sensor system 102 is provided for measuring an analyte in a subject or user. By way of overview and example, and not by way of limitation, the analyte sensor system 102 may be implemented as a packaged microcontroller that performs sensor measurements, generates analyte data (e.g., by calculating values for continuous glucose monitoring data), and engages in wireless communications (e.g., via Bluetooth and / or other wireless protocols) to transmit such data to one or more display devices, such as display devices 112, 120, 130, and 140.
[0046] Analyte sensor 104 is configured to measure the concentration or level of analyte in recipient. The term analyte is further defined by paragraph
[0117] of U.S. Application No. 2019 / 0336053. Paragraph
[0117] of U.S. Application No. 2019 / 0336053 is incorporated herein by reference. In certain embodiments, analyte sensor 104 includes a continuous glucose sensor, such as a subcutaneous, transdermal (e.g., percutaneous) or intravascular device. In certain embodiments, analyte sensor 104 can analyze multiple intermittent blood samples. Analyte sensor 104 can use any glucose measurement method, including enzymatic, chemical, physical, electrochemical, spectrophotometric, polarimetric, calorimetric, iontophoretic, radiometric, immunochemical, etc. Additional details related to continuous glucose sensor are provided in paragraphs
[0072] -
[0076] of U.S. Application No. 13 / 827,577. Paragraphs
[0072] -
[0076] of U.S. Application No. 13 / 827,577 are incorporated herein by reference.
[0047] It should be noted that although in some examples it is assumed that the analyte sensor system 102 is a glucose sensor system, the analyte sensor system 102 is operable to monitor one or more additional or alternative analytes. As used herein, the term "analyte" is a broad term that should be given its usual and customary meaning to those of ordinary skill in the art (and not limited to a special or custom meaning), and refers without limitation to a substance or chemical component in a body or biological sample (e.g., a body fluid, including blood, serum, plasma, interstitial fluid, cerebrospinal fluid, lymph, eye fluid, saliva, oral fluid, urine, excreta, or exudate). Analytes may include naturally occurring substances, artificial substances, metabolites, and / or reaction products. In some embodiments, the analytes measured by the sensing regions, devices and methods are albumin, alkaline phosphatase, alanine aminotransferase, aspartate aminotransferase, bilirubin, blood urea nitrogen, calcium, CO2, chloride, creatinine, glucose, γ-glutamyl transpeptidase, hematocrit, lactate, lactate dehydrogenase, magnesium, oxygen, pH, phosphorus, potassium, sodium, total protein, uric acid, metabolic markers, and drugs.
[0048] Other analytes are also contemplated, including but not limited to acetaminophen, dopamine, ephedrine, terbutaline, ascorbate, uric acid, oxygen, d-amino acid oxidase, plasma amine oxidase, xanthine oxidase, NADPH oxidase, alcohol oxidase, alcohol dehydrogenase, pyruvate dehydrogenase, diols, Ros, NO, bilirubin, cholesterol, triglycerides, gentisic acid, ibuprofen, L-dopa, methyldopa, salicylate, tetracycline, tolbutamide, tolbutamide, carboxyprothrombin; acylcarnitines; adenine phosphoribosyltransferase; adenosine deaminase; albumin; alpha-fetoprotein; amino acid profile (arginine (Krebs cycle), histidine / urocanic acid, homocysteine, phenylalanine / tyrosine) amino acid, tryptophan); androstenedione; antipyrine; arabinitol enantiomers; arginase; benzoylecgonine (cocaine); biotinidase; biopterin; C-reactive protein; carnitine; carnosinase; CD4; ceruloplasmin; chenodeoxycholic acid; chloroquine; cholesterol; cholinesterase; conjugated 1-β-hydroxy-cholic acid; cortisol; creatine kinase; creatine kinase MM isozyme; cyclosporin A; d-penicillamine; desethylchloroquine; dehydroepiandrosterone sulfate; DNA (acetylase polymorphism, alcohol dehydrogenase, d1-antitrypsin, cystic fibrosis, Duchenne dystrophy / Becker muscular dystrophy, glucose-6-phosphate dehydrogenase, hemoglobin A, hemoglobin S, hemoglobin C, hemoglobin D, hemoglobin E, hemoglobin F, D-Punjab, beta-thalassemia, hepatitis B virus, HCMV, HIV-1, HTLV-1, Leber hereditary optic neuropathy, MCAD, RNA, PKU, Plasmodium vivax, sexual differentiation, 21-deoxycortisol); desbutyl halofantrine; dihydropteridine reductase; diphtheria / tetanus antitoxin; erythrocyte arginase; erythrocyte protoporphyrin; esterase D; fatty acids / acylglycines; free beta-human chorionic gonadotropin; free erythrocyte porphyrin; free thyroxine (FT4); free triiodothyronine (FT3); fumaryl acetoacetase; galactose / gal-1-phosphate; galactose Glucose-1-phosphate uridyltransferase; gentamicin; glucose-6-phosphate dehydrogenase; glutathione; glutathione peroxidase; glycocholic acid; glycosylated hemoglobin; halofantrine; hemoglobin variants; hexosaminidase A; human erythrocyte carbonic anhydrase I; 17-alpha-hydroxyprogesterone; hypoxanthine phosphoribosyltransferase; immunoreactive trypsin; lactate; lead; lipoprotein ((a), B / A-1, beta); lysozyme; mefloquine; netilmicin; phenobarbital; phenytoin; phytanic acid / noristanic acid; progesterone; prolactin; prolinase; purine nucleoside phosphorylase; quinine; reverse triiodothyronine (rT3); selenium; serum pancreatic lipase; sisomicin; somatomedin C;Specific antibodies (adenovirus, antinuclear antibody, anti-ζ antibody, arbovirus, Aujeszky's disease virus, dengue virus, Guinea worm, Echinococcus granulosus, Entamoeba histolytica, enterovirus, Giardia, Helicobacter pylori, hepatitis B virus, herpes virus, HIV-1, IgE (atopic disease), influenza virus, Leishmania donovani, Leptospira, measles / mumps / rubella, Mycobacterium leprae, Mycoplasma pneumoniae, myoglobin, Onchocerca volvulus, parainfluenza virus, Plasmodium falciparum, polio virus, Pseudomonas aeruginosa, Respiratory Respiratory syncytial virus, Rickettsia (tsutsugamushi), Schistosoma mansoni, Toxoplasma gondii, Treponema pallidum, Trypanosoma cruzi / T. lamblia, Vesicular stoma virus, Wuchereria bancrofti, Yellow fever virus); Specific antigens (Hepatitis B virus, HIV-1); Succinylacetone; Sulfadoxine; Theophylline; Thyrotropin (TSH); Thyroxine (T4); Thyroxine binding globulin; Trace elements; Transferrin; UDP-galactose-4-epimerase; Urea; Uroporphyrinogen I synthase; Vitamin A; White blood cells; and Zinc protoporphyrin. In certain embodiments, salts, sugars, proteins, fats, vitamins, and hormones naturally present in blood or interstitial fluid may also constitute analytes. ;
[0049] Analytes may be naturally present in biological fluids, such as metabolites, hormones, antigens, antibodies, etc. Alternatively, analytes may be introduced into the body, such as contrast agents for imaging, radioisotopes, chemical reagents, fluorocarbon-based synthetic blood, or drugs or drug compositions, including but not limited to: insulin; ethanol; cannabis (marijuana, tetrahydrocannabinol, hashish); inhalants (nitrous oxide, amyl nitrite, butyl nitrite, chlorinated hydrocarbons, hydrocarbons); cocaine (crack cocaine); stimulants (amphetamine, methamphetamine, Ritalin, Cylert, Preludin, Didrex, PreState, Voranil, Sandrex, Plegine); sedatives (barbiturates, methaqualone, tranquilizers such as diazepam, chlordiazepoxide, meprobamate, sedatives, mebutamide, clorazepate); hallucinogens (phencyclidine, lysergic acid, mescaline, pyodate, psilocybin); narcotics (heroin, codeine, morphine, opium, pethidine, Percocet, Percodan, Tussionex, fentanyl, Darfon, Analgesic, Antidiabetes); designer drugs (fentanyl, pethidine, amphetamine, methamphetamine, and analogs of phencyclidine, e.g., ecstasy); anabolic steroids; and nicotine. Metabolites of drugs and drug compositions are also contemplated analytes. Analytes such as neurochemicals and other chemicals produced in the body may also be analyzed, such as, for example, ascorbic acid, uric acid, dopamine, norepinephrine, 3-methoxytyramine (3MT), 3,4-dihydroxyphenylacetic acid (DOPAC), homovanillic acid (HVA), 5-hydroxytryptamine (5HT), histamine, advanced glycosylation end products (AGE), and 5-hydroxyindoleacetic acid (FHIAA).
[0050] Further references Figure 1 In certain embodiments, the sensor electronics module 106 includes electronic circuitry associated with measuring and processing analyte sensor data or information, including algorithms associated with processing and / or calibration of analyte sensor data / information. The sensor electronics module 106 may be physically / mechanically connected to the analyte sensor 104 and may be integrated with (i.e., non-releasably attached to) or releasably attached to the analyte sensor 104.
[0051] The sensor electronics module 106 may also be electrically coupled to the analyte sensor 104 so that the components may be electromechanically coupled to each other (e.g., (a) prior to insertion into the patient's body, or (b) during insertion into the patient's body). The sensor electronics module 106 may include hardware, firmware, and / or software that enables measurement and / or estimation of analyte levels in a recipient / user via the analyte sensor 104 (e.g., which may be / include a glucose sensor). For example, the sensor electronics module 106 may include one or more potentiostats, a power supply for powering the analyte sensor 104, other components for signal processing and data storage, and a telemetry module for sending data from the sensor electronics module to one or more display devices. The electronics may be attached to a printed circuit board (PCB) or platform, etc. within the SS 8, and may take a variety of forms. For example, the electronics may take the form of an integrated circuit (IC) such as an application specific integrated circuit (ASIC), a microcontroller, a processor, and / or a state machine.
[0052] The sensor electronics module 106 may include sensor electronics configured to process sensor information, such as sensor data, and generate transformed sensor data and displayable sensor information. Examples of systems and methods for processing sensor analyte data are described in more detail herein, as well as in U.S. Pat. Nos. 7,310,544 and 6,931,327, and in U.S. Patent Publication Nos. 2005 / 0043598, 2007 / 0032706, 2007 / 0016381, 2008 / 0033254, 2005 / 0203360, 2005 / 0154271, 2005 / 0192557, 2006 / 0222566, 2007 / 0203966, and 2007 / 0208245, all of which are incorporated herein by reference in their entirety.
[0053] Display devices 112, 120, 130 and / or 140 are configured to display displayable sensor data, including analyte data that can be sent by sensor electronics module 106. Each of display devices 112, 120, 130 and 140 may include a display for displaying sensor data to a user and / or receiving input from a user, such as touch screen displays 114, 122, 132 and 142. For example, a graphical user interface (GUI) may be presented to a user for such purposes. In some embodiments, as an alternative or supplement to a touch screen display, a display device may include other types of user interfaces, such as a voice user interface, for communicating sensor data to a user of the display device and / or receiving user input. In some embodiments, one, some or all of display devices 112, 120, 130 and 140 are configured to display or otherwise communicate the sensor information as it is when communicating sensor data (e.g., in a data packet sent to a corresponding display device) from sensor electronics module 106, without any additional forward processing required for calibration and real-time display of sensor data.
[0054] exist Figure 1 The multiple display devices depicted in 100 may include custom or proprietary display devices specifically designed to display certain types of displayable sensor information (e.g., numerical values and / or arrows, in some embodiments) associated with analyte data received from sensor electronics module 106. Display device 112 is an example of such a custom device. In some embodiments, in Figure 1 One of the multiple display devices depicted in the figure is a smartphone (such as display device 120) that can be configured to display a graphical representation of continuous sensor data (e.g., including current data and / or historical data) based on Android, iOS, or another operating system (OS). Other display devices may include other handheld devices, such as display device 130 representing a tablet computer, display device 140 representing a smart watch, medical device 110 (e.g., an insulin delivery device or a blood glucose meter), and / or a desktop or laptop computer (not shown).
[0055] Because different display devices provide different user interfaces, the contents of the data packets (e.g., the amount, format, and / or type of data to be displayed, alerts, etc.) may be customized (e.g., programmed differently by the manufacturer and / or by the end user) for each particular display device. Thus, in certain embodiments, a plurality of different display devices may wirelessly communicate directly with a sensor electronics module (e.g., such as an on-skin sensor electronics module 106 physically connected to the analyte sensor 104) during a sensor session to enable a plurality of different types and / or levels of display and / or functionality associated with displayable sensor data.
[0056] As noted, the sensor electronics module 106 can communicate with the medical device 110. In some example embodiments of the present disclosure, the medical device 110 can be a passive device. For example, the medical device 110 can be an insulin pump for administering insulin to a user. For a variety of reasons, it may be desirable that such an insulin pump receive and track potassium and / or glucose values sent from the analyte sensor system 102, wherein the sensor system 104 is configured to measure potassium and / or glucose. For example, the medical device 110 can be configured to administer a dose of insulin or another medicament to a user based on sensor information and / or analyte data received from the analyte sensor system 102.
[0057] In addition, as noted, the sensor electronics module 106 may also communicate with other non-analyte sensors 108. The non-analyte sensors 108 may include, but are not limited to, altimeter sensors, accelerometer sensors, temperature sensors, respiratory rate sensors, sweat sensors, and the like. The non-analyte sensors 108 may also include monitors such as heart rate monitors, ECG monitors, blood pressure monitors, pulse oximeters, caloric intake devices, and medication delivery devices. The non-analyte sensors 108 may also include a data system for measuring non-patient-specific phenomena such as time, ambient pressure, or ambient temperature, which may include an atmospheric pressure sensor, an external air temperature sensor, or a clock, timer, or other time measurement of the time when the sensor was first inserted or the time of sensor life remaining compared to the insertion time may be used as a calibration or other data input to the algorithm model.
[0058] In certain embodiments, the non-analyte sensors 108 may be combined in any other configuration, such as in combination with one or more analyte sensors 104. As an illustrative example, a non-analyte sensor (e.g., a temperature sensor) may be combined with an analyte sensor 104 configured to measure potassium to form a potassium / temperature sensor for sending sensor data to the sensor electronics module 106 using a common communication circuit. As another illustrative example, a non-analyte sensor (e.g., a temperature sensor) may be combined with an analyte sensor 104 configured to measure potassium and glucose (e.g., multiple analytes) to form a potassium / glucose / temperature sensor for sending sensor data to the sensor electronics module 106 using a common communication circuit.
[0059] In some embodiments, the analyte sensor system 102, the plurality of display devices 112, 120, 130, 140, the medical device 110 and / or the non-analyte sensor 108 are configured to communicate wirelessly via the wireless communication path 152 using a short-range wireless communication protocol. Examples of short-range wireless communication protocols include Bluetooth and BLE protocols. In some embodiments, other short-range wireless communications may include near field communication (NFC), radio frequency identification (RFID) communication, IR (infrared) communication, and the like.
[0060] In certain embodiments, wireless communication protocols other than short-range wireless communication protocols may be used for wireless communication path 152, such as WiFi direct. In certain embodiments, a wireless access point (WAP) (not shown) is used to couple one or more of analyte sensor system 102, display devices 112, 120, 130, and 140, medical device 110, and / or non-analyte sensor 108 to each other. For example, the WAP may provide WiFi and / or cellular connectivity between these devices.
[0061] Figure 2A and Figure 2B 2 is a perspective view and a cross-sectional view of a housing 200 that can be used in conjunction with various embodiments of implementing an analyte sensor system 102 according to certain embodiments. In certain embodiments, the housing 200 includes a mounting unit 214 and a sensor electronics module 106 attached thereto. The housing 200 is shown in a functional position, including a mounting unit 214 and a sensor electronics module 106 matingly engaged therein. In some embodiments, the mounting unit 214 (also referred to as a housing or sensor cartridge) includes a base 234 adapted to be fastened to the skin of a recipient or user. The base 234 may be formed of a variety of hard or soft materials, and may include a thin profile for minimizing the protrusion of the device from the recipient during use. In some embodiments, the base 234 is at least partially formed of a flexible material, which may provide many advantages over other transcutaneous sensors, which unfortunately may have motion-related artifacts associated with the movement of the recipient when the recipient is using the device. The mounting unit 214 and / or sensor electronics module 106 may be located above the sensor insertion site to protect the site and / or provide a minimum footprint (the amount of surface area utilized on the recipient's skin).
[0062] In some embodiments, a detachable connection is provided between the mounting unit 214 and the sensor electronics module 106, which enables improved manufacturability, i.e., when the analyte sensor system 102 is refurbished or maintained, the mounting unit 214, which may be relatively inexpensive, can be discarded, while the relatively expensive sensor electronics module 106 can be repeatedly used with multiple sensor systems. In some embodiments, the sensor electronics module 106 is configured with signal processing (programming), for example, configured to filter, calibrate and / or perform other algorithms useful for calibration and / or display of sensor information. However, an integral (non-detachable) sensor electronics module may be configured.
[0063] In some embodiments, the contact 238 is mounted on or in a subassembly (hereinafter referred to as the contact subassembly 236) that is configured to fit within the base 234 of the mounting unit 214, and the hinge 248 allows the contact subassembly 236 to pivot relative to the mounting unit 214 between a first position (for insertion) and a second position (for use). As used herein, the term "hinge" is a broad term and is used in its usual sense, including but not limited to referring to any of the following: a variety of pivoting, articulating and / or hinged mechanisms, such as bonded hinges, sliding joints, etc.; the term hinge does not necessarily mean a fulcrum or fixed point around which the articulation occurs. In some embodiments, the contact 238 is formed of a conductive elastomeric material (such as a carbon black elastomer) through which the analyte sensor 104 extends.
[0064] Further references Figure 2A and Figure 2B In certain embodiments, the mounting unit 214 is provided with an adhesive pad 208, which is disposed on the back surface of the mounting unit and includes a releasable backing layer. Therefore, the mounting unit 214 is adhered to the recipient's skin by removing the backing layer and pressing at least a portion of the base 234 of the mounting unit 214 onto the recipient's skin. Additionally or alternatively, after the sensor insertion is completed, the adhesive pad may be placed on a portion or all of the analyte sensor system 102 and / or the analyte sensor 104 to ensure adhesion, and optionally ensure an airtight or watertight seal around the wound exit site (or sensor insertion site) (not shown). Suitable adhesive pads may be selected and designed to stretch, elongate, fit and / or ventilate the area (e.g., the recipient's skin). Configuration and arrangement may provide water-resistant, waterproof and / or airtight sealing properties associated with the mounting unit / sensor electronics module embodiments described herein.
[0065] Figure 3A An example system 300 is illustrated that can be used in conjunction with implementing certain embodiments of the disclosed systems, methods, and apparatuses. By way of example, Figure 3A Various of the components described below may be used to provide wireless communication of glucose data, for example, between an analyte sensor system and a plurality of display devices, medical devices, servers, etc.
[0066] As shown, system 300 includes an analyte sensor system 308 and one or more display devices 310. Analyte sensor system 308 is coupled to display device 310 via communication medium 305. Analyte sensor system 308 and display device 310 can exchange messages via communication medium 305, and communication medium 305 can be used to deliver analyte data to display device 310. In certain embodiments, analyte sensor system 308 represents Figure 1 analyte sensor system 102 (e.g., analyte sensor system 308 may also be designated as Figure 1 Analyte sensor system 102 in.
[0067] The display device 310 may include a variety of electronic computing devices, such as smart phones, tablet computers, laptop computers, wearable devices (such as smart watches), etc. In some embodiments, the display device 310 includes Figure 1 112, 120, 130 and 140 (or their combination) depicted in the display device 310. Here, it should be noted that the graphical user interface (GUI) of the display device 310 can perform functions such as accepting user input and displaying menus and information derived from analyte data. The GUI can be provided by various operating systems known in the art (such as iOS, Android, Windows Mobi1e, Windows, Mac OS, Chrome OS, Linux, Unix, game platform OS (e.g., Xbox, PlayStation, Wii), etc. In certain embodiments, the communication medium 305 is based on one or more wireless communication protocols, such as Bluetooth, BLE, ZigBee, Wi-Fi, 802.11 protocols, IR, radio frequency (RF), 2G, 3E, 4G, 7G, etc. and / or wired protocols and media.
[0068] In certain embodiments, the elements of system 300 can be used to perform various processes described herein and / or can be used to perform various operations described herein with respect to one or more of the disclosed systems and methods. After studying this disclosure, one skilled in the art will appreciate that system 300 can include multiple analyte sensor systems 308, communication media 305 communicating using the same or different communication protocols, and / or display devices 310.
[0069] As noted, the communication medium 305 can be used to connect or communicatively couple the analyte sensor system 308 and the display device 310 to each other or a network, and the communication medium 305 can be implemented in a variety of forms. For example, the communication medium 305 can include an Internet connection, such as a local area network (LAN), a wide area network (WAN), a fiber optic network, a power line Internet, a hard-wired connection (e.g., a bus), etc., or any other type of network connection. The communication medium 305 can be implemented using any combination of routers, cables, modems, switches, optical fibers, wires, radio components (e.g., microwave / RF links), etc. In addition, the communication medium 305 can use various wireless standards such as BLE, Wi-Fi, 3EPP standards (e.g., 2G GSM / GPRS / EDGE, 3E UMTS / CDMA2000, 4G LTE / LTE-U, 5G), etc. After reading this disclosure, those skilled in the art will recognize other ways to implement the communication medium 305 for communication purposes.
[0070] Figure 3B An example system 302 is illustrated that includes examples of display devices and analyte sensor systems that can be used in conjunction with implementing the wireless communication protocols and techniques described herein. Figure 3B As illustrated, system 302 includes an analyte sensor system 308. As shown, analyte sensor system 308 may include analyte sensor 375 (e.g., Figure 1 104), which is coupled to sensor measurement circuitry 370 for processing and managing sensor data. Sensor measurement circuitry 370 may be coupled to a processor / microprocessor 380 (hereinafter "processor 380") (e.g., which may be Figure 1 In some embodiments, the processor 380 may perform some or all of the functions of the sensor measurement circuit 370 for obtaining and processing sensor measurements from the analyte sensor 375. The processor 380 may be further coupled to a radio unit or transceiver 360 (e.g., which may be Figure 1 ) is used to transmit sensor data and receive requests, commands and / or temporary power from an external device (such as a display device 310), which can be used to display or otherwise provide sensor data (or analyte data) to a user.
[0071] As used herein, the terms "radio component," "radio unit," "transceiver," "radio transceiver," and "transceiver radio component" are used interchangeably and generally refer to a device, circuit, or module that can send and receive data wirelessly. In addition, according to some embodiments, the transceiver 360 may also include an NFC antenna and associated circuitry that is configured to receive power from another device (e.g., the display device 310) via near field communication, for example, the analyte sensor system 308 may utilize the NFC antenna and associated circuitry to temporarily power one or more of its components necessary for communicating with another device in the event that the internal battery (not shown) of the analyte sensor system 308 is insufficiently powered or otherwise unable to adequately power such components. The analyte sensor system 308 may also include a storage device 365 (e.g., which may be a memory device). Figure 1 ) and a real-time clock (RTC) 385 (which may be, for example, a portion of the sensor electronics module 106 in FIG. Figure 1 Part of the sensor electronics module 106 in the sensor electronics module 106) for storing and tracking sensors.
[0072] As noted, wireless communication protocols can be used to send and receive data between analyte sensor system 308 and display device 310 via communication medium 305. Such wireless protocols can be designed for use in wireless networks (e.g., personal area networks (PANs)) optimized for periodic and small data transmission (when necessary, it can be sent at a low rate) to and from multiple devices within a close range. For example, such protocols can be optimized for periodic data transfer, wherein the transceiver can be configured to send data in a short interval and then enter a low power mode in a long interval. The protocol can have low overhead requirements (e.g., by reducing overhead) to reduce power consumption for both normal data transmission and initial establishment of a communication channel. In some embodiments, a burst broadcast scheme (e.g., one-way communication) can be used. This can eliminate the overhead required for confirmation signals and allow periodic transmissions that consume very little power. In other embodiments, a passive or active proximity-based protocol can be used to reduce overhead (e.g., overhead associated with a typical pairing operation) and / or increase security, wherein NFC is a specific example.
[0073] These protocols may be further configured to establish communication channels with multiple devices while implementing interference avoidance schemes. In some embodiments, the protocol may communicate with several devices using an adaptive isochronous network topology that limits various time slots and frequency bands. The protocol may therefore respond to interference and modify the transmission window and frequency in order to support communicating with multiple devices. Therefore, wireless protocols may use a scheme based on time division and frequency division multiplexing (TDMA). Wireless protocols may also use direct sequence spread spectrum (DSSS) and frequency hopping spread spectrum schemes. Various network topologies may be used to support short-range and / or low-power wireless communications, such as peer-to-peer, star, tree or mesh network topologies, such as Wi-Fi, Bluetooth and BLE. Wireless protocols may operate in various frequency bands such as open ISM bands (such as 2.4GHz). In addition, in order to reduce power usage, wireless protocols may adaptively configure data rates according to power consumption.
[0074] Further references Figure 3B , system 302 includes a display device 310 communicatively coupled to an analyte sensor system 308 via a communication medium 305. The display device 310 includes a connectivity interface 315 (which in turn includes a transceiver 320), a storage device 325 (which in turn stores an analyte sensor application 330 and / or additional applications), a processor / microprocessor 335 (hereinafter "processor 335"), a GUI 340 that can be presented using a display 345 of the display device 310, and an RTC 350. A bus (not shown here) can be used to interconnect the various elements of the display device 310 and transfer data between these elements.
[0075] The display device 310 can be used to warn and provide sensor information or analyte data to the user, and the processor 335 can be used to process and manage the sensor data. The display device 310 can use a display 345, a storage device 325, an analyte sensor application 330 and an RTC 350 to display, store and track sensor data. The transceiver 320 can be used to receive sensor data and to transmit requests, instructions, data and / or power to the analyte sensor system 308. The transceiver 320 can further adopt a communication protocol. The storage device 325 can also be used to store the operating system of the display device 310 and / or a custom (e.g., proprietary) application designed for wireless data communication between the transceiver and the display device 310. The storage device 325 can be a single memory device or multiple memory devices, and can be a volatile or non-volatile memory for storing data and / or executable instructions of software programs and applications. The executable instructions can be executed by the processor 335 to control and manage the transceiver 320.
[0076] In certain embodiments, when a standardized communication protocol is used, commercially available transceiver circuitry in combination with processing circuitry may be utilized to handle low-level data communication functions, such as management of data encoding, transmission frequency, handshake protocols, etc. In such embodiments, the processor 335, 380 need not manage these activities, but rather provides the desired data values for transmission and manages high-level functions, such as powering up or down, setting the rate at which messages are transmitted, etc. The instructions and data values used to perform these high-level functions may be provided to the transceiver circuitry via a data bus and a transfer protocol established by the manufacturer of the transceiver 320, 360.
[0077] The components of the analyte sensor system 308 may need to be replaced periodically. For example, the analyte sensor system 308 may include an implantable analyte sensor 375, which may be attached to a sensor electronics module (e.g., a sensor electronics module 106), which includes a sensor measurement circuit 370, a processor 380, a storage device 365, a transceiver 360, and a battery (not shown). The analyte sensor 375 may need to be replaced periodically (e.g., every 7 to 30 days). The sensor electronics module may be configured to be powered and activated until the battery needs to be replaced much longer than the analyte sensor 375 (e.g., three to six months or more). Replacing these components may be difficult and requires the help of trained personnel. Reducing the need to replace such components (specifically batteries) significantly improves the convenience and cost of using the analyte sensor system 308, including for users. In some embodiments, when the sensor electronics module is first used (or in some cases, when the sensor electronics module is reactivated once the batteries have been replaced), the sensor electronics module can be connected to the analyte sensor 375 and a sensor session can be established.
[0078] As will be further described below, there may be a process for initially establishing communication between the display device 310 and the sensor electronics module (e.g., sensor electronics module 106) when the sensor electronics module is first used or reactivated (e.g., to replace the battery). Once the display device 310 and the sensor electronics module have established communication, the display device 310 and the sensor electronics module may communicate periodically and / or continuously over the life of the analyte sensors 375 until, for example, the battery needs to be replaced. Whenever the analyte sensor 375 is replaced, a new sensor session may be established. A new sensor session may be initiated by a process completed using the display device 310, and the process may be triggered by notification of a new analyte sensor via communication between the sensor electronics module and the display device 310, which communication may continue across sensor sessions.
[0079] The analyte sensor system 308 typically collects analyte data from the analyte sensor 375 and sends it to the display device 310. Data points about analyte values can be collected and sent during the life of the sensor 375 (e.g., in the range of 1 day to 30 days or more). New measurements can be sent frequently to fully monitor glucose levels. The analyte sensor system 308 and the display device 310 can establish a communication channel between them regularly and / or periodically, rather than having the transmitting and receiving circuits of each of the analyte sensor system 308 and the display device 310 communicate continuously. Therefore, in some cases, the analyte sensor system 308 can communicate with the display device 310 (e.g., a handheld computing device, a medical device, or a proprietary device) via wireless transmission at predetermined time intervals. The duration of the predetermined time interval can be selected to be long enough so that the analyte sensor system 308 does not consume too much power by sending data more frequently than necessary, but frequent enough to provide substantially real-time sensor information (e.g., measured glucose values or analyte data) to the display device 310 for output (e.g., via the display 345) to the user. Although in certain embodiments, the predetermined time interval is every five minutes, it should be understood that the time interval can be varied to any desired length of time.
[0080] Continue to refer Figure 3B , the connectivity interface 315 docks the display device 310 to the communication medium 305 so that the display device 310 can be communicatively coupled to the analyte sensor system 308 via the communication medium 305. The transceiver 320 of the connectivity interface 315 may include a plurality of transceiver modules and / or circuits that can operate based on different wireless standards. The transceiver 320 can be used to receive analyte data and associated commands and messages from the analyte sensor system 308. In some embodiments, the transceiver 320 may include a Bluetooth controller configured to send a Bluetooth signal for communicating with another device (e.g., the analyte sensor system 308), as described in more detail below in conjunction with one or more embodiments. Additionally, in some cases, the connectivity interface 315 may include additional components for controlling radio connections and / or wired connections, such as baseband and / or Ethernet modems, audio / video codecs and / or cellular connectors, etc.
[0081] The storage device 325 may include volatile memory (e.g., RAM) and / or non-volatile memory (e.g., flash memory device), may include any one of EPROM, EEPROM, cache, or may include some combination / variation thereof. In certain embodiments, the storage device 325 may store user input data and / or other data collected by the display device 310 (e.g., input from other users collected via the analyte sensor application 330). The storage device 325 may also be used to store a large amount of analyte data received from the analyte sensor system 308 for later retrieval and use, such as for determining trends and triggering warnings. Additionally, the storage device 325 may store an analyte sensor application 330, which, when executed using a processor 335, for example, receives input (e.g., via conventional hard / soft keys or touch screens, voice detection or other input mechanisms), and allows the user to interact with the analyte data and related content via the GUI 340.
[0082] In certain embodiments, a user may interact with the analyte sensor application 330 via a GUI 340, which may be provided by a display 345 of the display device 310. By way of example, the display 345 may be a touch screen display that accepts various gestures as input. The analyte sensor application 330 may process and / or present analyte-related data received by the display device 310 according to various operations described herein, and present such data via the display 345. Additionally, the analyte sensor application 330 may be used to obtain, access, display, control, and / or interface with analyte data and related messaging and processes associated with the analyte sensor system 308.
[0083] The analyte sensor application 330 can be downloaded, installed, and initially configured / set up on the display device 310. For example, the display device 310 can obtain the analyte sensor application 330 (such as an application store, etc.) from a computing system accessed via a communication medium (e.g., the communication medium 305). After installation and setup, the analyte sensor application 330 can be used to access and / or dock analyte data (e.g., whether from the storage device 325, from the analyte sensor system 308, or from another computing system local storage). By way of example, the analyte sensor application 330 can present a menu including various controls or commands that can be executed in conjunction with the operation of the analyte sensor system 308 and one or more display devices 310. The analyte sensor application 330 can also be used to dock or control other display devices 310, for example, to deliver analyte data to it or make analyte data available to it, including, for example, by directly receiving analyte data / transmitting analyte data to other display devices 310 and / or by transmitting instructions for the analyte sensor system 308 and other display devices 310 to be connected, etc. Additionally, in some embodiments, the analyte sensor application 330 may interact with one or more additional applications supported by the display device 310, for example to retrieve or provide relevant data. By way of example, such applications may include fitness / lifestyle monitoring applications, social media applications, etc. Additionally, in certain embodiments, the analyte sensor application 330 may be configured to operate according to (or support) one or more wireless communication protocols. The analyte sensor application 330 may use such wireless communication protocols to configure the display device 310 for communication with the analyte sensor system 308. For example, the analyte sensor application 330 may include software instructions including a custom communication profile (described below) for configuring the display device 310 to communicate with the analyte sensor system 308 based on instructions provided by the custom profile.
[0084] Analyte sensor application 330 may include various code / functional modules, such as, for example, display module, menu module, list module, etc., as will become clear in view of the description of various functionalities herein (e.g., in conjunction with the disclosed method). These modules may be implemented individually or in combination. Each module may include a computer-readable medium and have a computer executable code stored thereon, so that the code is operably coupled to a processor 335 and / or executed by it (the processor may, for example, include a circuit for such execution) to perform specific functions (e.g., as described herein with respect to various operations and flow charts, etc.) about docking analyte data and performing tasks related thereto. As will be further described below, the display module may (e.g., via a display 345) present various screens to the user, wherein these screens contain graphical representations of information provided by the analyte sensor application 330. In other embodiments, the analyte sensor application 330 may be used to display to the user an environment for viewing various display devices that can be connected to the analyte sensor system 308 and interacting with the various display devices and the analyte sensor system 308 itself. The analyte sensor application 330 may include a native application that is modified using a software design kit (or software development kit) (SDK) (eg, depending on the operating system) in order to perform the functionality / features described herein.
[0085] continue Figure 3B , the processor 335 may include a processor submodule that includes, by way of example, an application processor that interfaces with and / or controls other elements of the display device 310 (e.g., connectivity interface 315, analyte sensor application 330, GUI 340, display 345, RTC 350, etc.). The processor 335 may include a controller and / or microcontroller that provides various controls (e.g., an interface with buttons and switches) related to device management (such as, for example, a list of available or previously paired devices, information related to measurements, information related to network conditions (e.g., link quality, etc.), information related to the timing, type, and / or structure of message transmissions exchanged between the analyte sensor system 308 and the display device 310, etc.). Additionally, the controller may include various controls related to collecting user input (such as, for example, a user's fingerprint (e.g., to authorize user access to data or for authorization / encryption of data including analyte data)) and analyte data.
[0086] The processor 335 may include circuits (such as logic circuits, memory, battery and power circuits) and other circuit drivers for peripheral components and audio components. The processor 335 and any of its sub-processors may include logic circuits for receiving, processing and / or storing data received and / or input to the display device 310 and data to be sent or delivered by the display device 310. The processor 335 may be coupled to the display 345 and the connectivity interface 315 and the storage device 325 (including the analyte sensor application 330) via a bus. Therefore, the processor 335 can receive and process the electrical signals generated by these respective elements, and thus perform various functions. By way of example, the processor 335 can access the stored content from the storage device 325 in the direction of the analyte sensor application 330, and process the stored content so that it is displayed and / or output by the display 345. Additionally, the processor 335 can process the stored content so as to be sent to other display devices 310, analyte sensor systems 308 or server systems 334 via the connectivity interface 315 and the communication medium 305. The display device 310 may include a plurality of processors that are not in the display device 310, the analyte sensor system 308, or the server system 334. Figure 3B Other peripheral components are shown in detail in FIG.
[0087] At this point, it should be noted that similarly named elements between the display device 310 and the analyte sensor system 308 may include similar features, structures, and / or capabilities. Therefore, with respect to such elements, the above description of the display device 310 may be applicable to the analyte sensor system 308 in some cases.
[0088] Example authentication and pairing
[0089] Establishing a secure wireless connection between the analyte sensor system 308 and the display device 310 may involve engaging in identification, authentication, pairing, and / or binding protocols or methods. For example, an identification protocol may be designed to allow the display device 310 to effectively identify the analyte sensor system 308. An authentication protocol may be designed to allow the analyte sensor system 308 and the display device 310 to verify whether the other peer device is a trusted device. Pairing and binding protocols may be designed to allow information to be exchanged between the analyte sensor system 308 and the display device 310 to establish an encrypted connection for communication.
[0090] Figure 4 is a network sequence diagram 400 illustrating execution of a communication procedure between the analyte sensor system 308 and the display device 310 according to certain embodiments. In certain embodiments, the communication procedure may include invitation, authentication, pairing, and / or binding between the analyte sensor system 308 and the display device 310.
[0091] Combined with Figure 4The various tasks performed by the procedures illustrated in the examples may be performed, for example, by a corresponding processor executing instructions embodied in a corresponding non-transitory computer-readable medium. The tasks or operations performed in conjunction with the procedures may be performed by hardware, software, firmware, or any combination thereof, incorporated into one or more computing devices in the computing device. It will be understood when studying this disclosure that such procedures may include any number of additional or alternative tasks or operations. It should be noted that in Figure 4 Some of the steps illustrated in Figure 4 , or may be executed in parallel or overlapped in time. Thus, in some embodiments, the time allocated to Figure 4 The reference numbers of the different steps illustrated in the present disclosure may not indicate the order in which they are performed. Figure 4 The additional functionality is described in detail in a more comprehensive procedure or process.
[0092] Furthermore, while the network sequence diagram 400 illustrates execution of the communication procedures for wireless communication between the analyte sensor system 308 and the display device 310, the steps illustrated in the network sequence diagram 400 may be similarly followed when establishing wireless communication between the analyte sensor system 308 and one of a variety of other devices (e.g., a router, a hub, or any other computing device). In certain embodiments, the network sequence diagram 400 illustrates the communication procedures for an initial connection between the analyte sensor system 308 and the first display device 310. That is, in certain embodiments, the steps of the network sequence diagram 400 may be executed when the analyte sensor system 308 has not yet been paired with any display device.
[0093] exist Figure 4 In the example of FIG. 1 , before performing authentication, pairing, and binding, the analyte sensor system 308 may be configured to display the analyte to a display device (such as a Figure 4 This may be performed, for example, by sending a general invitation, such as Figure 4 4021 to 402N. Steps 4021 to 402N may be performed as part of an "invitation phase". In certain embodiments, the display device 310 may scan for an analyte sensor system 308 or another similar sensor system to be connected. Scanning the analyte sensor system 308 typically requires receiving and processing an invitation message broadcast by the analyte sensor system 308.
[0094] Typically, when the analyte sensor system 308 (or its sensor electronics module 106) is first activated, the analyte sensor system 308 is configured to broadcast a general invitation in order to be recognized by and paired with one or more display devices. Figure 4In some embodiments, at steps 4021 to 402N, the analyte sensor system 308 broadcasts a general invitation. The general invitation may be broadcast over a plurality of frequency channels. The analyte sensor system 308 may broadcast the general invitation periodically at defined intervals. In some embodiments, once the analyte sensor system 308 is powered on, the analyte sensor system 308 broadcasts the general invitation.
[0095] The generic invitation packet may include a header (e.g., a 2-byte header) and a payload of variable size (e.g., 6 bytes to 37 bytes). The header may include one or more fields, including, for example, a PDU type field, one or more reserved fields, etc. The payload may include an invitation address (e.g., a 48-bit BLE MAC address or a Generic Address Profile (GAP) address of the analyte sensor system 308) and one or more invitation data structures, as described in more detail below.
[0096] After detecting the generic invitation, at step 404, the display device 310 may respond to the generic invitation by transmitting a connection request to the analyte sensor system 308. Upon receiving the connection request, the analyte sensor system 308 may accept, reject, or simply ignore the request. If there is no reason to reject or ignore the connection request, the analyte sensor system 308 may accept the request and connect to the display device that transmitted the request. As shown in step 406, for example, the analyte sensor system 308 transmits a connection response message to the display device 310 indicating that the request is granted. Subsequently, a data connection may be established between the analyte sensor system 308 and the display device 310.
[0097] In certain embodiments, after a data connection is established between the analyte sensor system 308 and the display device 310, an authentication procedure may be employed before actually exchanging data (e.g., analyte data) (e.g., at step 416). For example, at step 408, the analyte sensor system 308 and the display device 310 perform authentication during an authentication phase. The authentication may be performed according to an authentication protocol, examples of which may include a challenge-response protocol, a certificate-based protocol, a token authentication, a public key infrastructure (PKI) protocol, a password authenticated key exchange (PAKE) protocol, and the like.
[0098] After the authentication phase, the analyte sensor system 308 and the display device 310 may perform pairing and binding. Steps 410, 412, and / or 414 may be performed as part of the "pairing and binding phase." At step 410, the display device 310 may transmit a pairing request to the analyte sensor system 308, and at step 412, the analyte sensor system 308 may respond with a pairing response. In some examples, the pairing process involves the exchange of information such as information related to input / output (IO) capabilities, man-in-the-middle (MITM) protection, etc. During pairing between the analyte sensor system 308 and the display device 310, the two devices may agree on a temporary key (TK), the value of which may depend on the pairing method used.
[0099] At step 414, the analyte sensor system 308 and the display device 310 engage in binding. During binding, the devices may store additional information about each other. For example, after exchanging security features and encrypting the connection during pairing, the devices bind by generating and exchanging a long-term key (LTK) and storing the LTK for later use.
[0100] After binding with the display device 310, the analyte sensor system 308 may add the display device 310 to a target device list. The target device list may be a data array or some other data structure maintained in memory by the analyte sensor system 308 and may include devices with which the analyte sensor system 308 has previously been paired and bound. By adding the display device 310 to the target device list, the analyte sensor system 308 and the display device 310 may reconnect more quickly for subsequent connections. For example, as described with respect to Figure 5 Described in more detail, for reconnection, certain authentication and pairing and bonding steps may be skipped.
[0101] After pairing and binding, the analyte sensor system 308 and the display device 310 are ready to exchange data over a secure connection. For example, the analyte sensor system 308 may use the LTK to encrypt data (e.g., at the BLE layer) including analyte measurements associated with the user for transmission to the display device 310 at step 424. The display device 310 may similarly use the LTK to encrypt data for transmission to the analyte sensor system 308.
[0102] As previously mentioned, the analyte sensor system 308 collects analyte data and sends the same or a modified version of the collected data to the display device 310. Data points about analyte values can be collected and sent over the life of the analyte sensor 104 (e.g., in the range of 1 day to 30 days or longer). New measurements can be sent frequently enough to adequately monitor the analyte levels of the user of the analyte sensor system 308. In certain embodiments, to save power, the analyte sensor system 308 and the display device 310 can regularly and / or periodically establish a communication channel between each other, rather than having the transmit and receive circuits of each of the analyte sensor system 308 and the display device 310 continuously communicate.
[0103] Therefore, in such embodiments, the analyte sensor system 308 can communicate with the display device 310 (e.g., by periodically switching between sleep mode and operating mode) at predetermined time intervals. The duration of the predetermined time interval can be selected to be long enough so that the analyte sensor system 308 does not consume too much power by sending data more frequently than required, but is frequent enough to provide substantially real-time sensor information (e.g., measured glucose values or analyte data) to the display device to output to the user. The time interval can be varied to any desired time length. For example, in certain embodiments, the analyte sensor system 308 can "wake up" once every few minutes (e.g., five minutes) to exchange data with the display device 310, but enters sleep mode between intervals. Whenever the analyte sensor system 308 "wakes up", the analyte sensor system 308 and the display device 310 can execute a connection procedure for reestablishing a secure wireless connection between the two devices. In other embodiments, the analyte sensor system 308 and the display device 310 can communicate continuously. For example, in certain embodiments, the analyte sensor system 308 and the display device 310 may establish a session or connection between them and continue to communicate together until the connection is lost.
[0104] exist Figure 4 In an embodiment of the present invention, the analyte sensor system 308 is configured to enter a sleep mode after pairing, binding, and exchanging data with the display device 310. Therefore, at step 418, the analyte sensor system 308 and the display device 310 are disconnected.
[0105] As described above, after binding with the display device 310, the analyte sensor system 308 adds information about the display device 310 (e.g., GAP address) to the target device list for reconnection. In certain embodiments, a threshold value may be configured for the target device list. The target device list threshold value may be used by the analyte sensor system 308 to determine whether to continue the general invitation after disconnecting from the display device 310 or during a subsequent invitation session when the analyte sensor system 308 wakes up (e.g., every 5 minutes). For example, the analyte sensor system 308 may have a single target device list and a corresponding threshold value of one (1), which means that the analyte sensor system 308 is configured to connect to only one device at a time. In such an example, if the analyte sensor system 308 is configured to perform a general invitation for 2 seconds when it is first activated, once it has been paired and bound with the display device 310, the analyte sensor system 308 may determine to stop broadcasting the general invitation for the remaining time of the first 2-second general invitation session and / or during the next invitation session (e.g., every 5 minutes). In such an example, the analyte sensor system 308 will only perform a targeted invitation to reconnect with the display device 310 during the next invitation session, as described in relation to Figure 5 Further described.
[0106] In certain embodiments, the analyte sensor system 308 may be configured with multiple target device lists, each with a corresponding configuration threshold. In such embodiments, each target device list may be associated with a different type of device. For example, the analyte sensor system 308 may have a first target device list for a commercial display device (e.g., Figure 1 112) and a second target device list (eg, Figure 1 In the above example, the first target device list threshold for the analyte sensor system 308 for the commercial display device may be one (1) (or some other number), and the second target device list threshold for the medical device may also be one (1) (or some other number).
[0107] In such an example, assuming that the display device 310 is a commercial display device, after pairing and binding with the display device 310, the analyte sensor system 308 may determine that the target device list threshold of the analyte sensor system 308 for the commercial display device has been met. However, in this example, because the threshold of the analyte sensor system 308 for its second target device list has not yet been met, the analyte sensor system 308 may continue to transmit additional general invitations for additional devices to pair with the analyte sensor system 308. In the event that the analyte sensor system 308 determines that both target device list thresholds have been met, the analyte sensor system 308 stops broadcasting the general invitations and will only broadcast forward target invitations, such as Figure 5 shown.
[0108] In certain embodiments, the analyte sensor system 308 has configured a period for transmitting targeted invitations and configured a period for transmitting general invitations. For example, during an invitation session (or invitation period) in which the analyte sensor system 308 performs both general invitations and targeted invitations, the analyte sensor system 308 may broadcast general invitations for a first length of time (e.g., 2 seconds) and spend a second length of time (e.g., 20 seconds) to broadcast targeted invitations.
[0109] As noted, once one or more target device list thresholds have been met, the analyte sensor system 308 may stop transmitting generic invitations and may only transmit targeted invitations for reconnecting to one or more devices previously paired with the analyte sensor system 308 . Figure 5 is a network sequence diagram 500 illustrating execution of a communication procedure between the analyte sensor system 308 and the display device 310 according to certain embodiments. In certain embodiments, the communication procedure may be used to reestablish communication between the analyte sensor system 308 and the display device 310 according to certain embodiments. Note that although the network sequence diagram 500 depicts a communication procedure for transmitting a target invitation to the display device 310, in certain embodiments, for example, in the event that at least one target device list threshold is not met, a general invitation may also be transmitted to the display device 310.
[0110] Combined with Figure 5 The various tasks performed by the procedures illustrated in the examples may be performed, for example, by a corresponding processor executing instructions embodied in a corresponding non-transitory computer-readable medium. The tasks or operations performed in conjunction with the procedures may be performed by hardware, software, firmware, or any combination thereof, incorporated into one or more computing devices in the computing device. It will be understood when studying this disclosure that such procedures may include any number of additional or alternative tasks or operations. It should be noted that in Figure 5 Some of the steps illustrated in Figure 5, or may be executed in parallel or overlapped in time. Thus, in some embodiments, the time allocated to Figure 5 The reference numbers of the different steps illustrated in the present disclosure may not indicate the order in which they are performed. Figure 5 The additional functionality is described in detail in a more comprehensive procedure or process.
[0111] At 504, the analyte sensor system 308 broadcasts one or more target invitations. Each target invitation may include a packet format that is the same or similar to the general invitation. For example, each target invitation may include a header (e.g., a 2-byte header) and a payload of variable size (e.g., 6 bytes to 37 bytes). The payload of the target invitation may include an invitation address (e.g., a 48-bit BLE MAC address or GAP address of the analyte sensor system 308), an intended recipient address (e.g., an address of a previously connected display device 310), and one or more invitation data structures, which will be described in more detail below.
[0112] At step 404, the display device 310 transmits a connection request to the analyte sensor system 308. At step 406, the analyte sensor system 308 grants the connection request based on determining that the display device 310 has been previously paired with the analyte sensor system 308 and appears on the target device list of the analyte sensor system 308. In certain embodiments, because the display device 310 has been previously paired with the analyte sensor system 308, the authentication and pairing and binding steps may be skipped. After connecting, the analyte sensor system 308 and the display device 310 may exchange data (at step 416), and then disconnect at step 418.
[0113] With the above description of various aspects of the system and method for wireless communication of analyte data, a number of specific and further improvements will now be provided. Those skilled in the art will appreciate upon studying this disclosure that these improvements may be achieved using features and / or combinations of features of the example configurations described above, whether or not explicit reference is made to the example configurations.
[0114] Example Techniques for Inviting to Connect Wirelessly with Reduced Payload
[0115] As noted, some existing connection procedures (such as Figure 4 and Figure 5One technical drawback of the procedures of the network sequence diagrams 400 and 500 illustrated in FIG. 3 is that such procedures may cause the analyte sensor system 308 to send messages, such as invitation packets (e.g., announcement packets), with high overhead. By way of example, as noted above, the invitation may be in the form of a packet (e.g., a protocol data unit (PDU)) that includes a header (e.g., a 2-byte header) and a payload of variable size (e.g., 6 bytes to 37 bytes).
[0116] In some cases, when broadcasting general invitations and target invitations, the analyte sensor system 308 may include various types of data in the payload portion of the general invitation packet and the target invitation packet. However, although the display device 310 may be configured to parse and use the entire content (including the payload) of the general invitation during the general invitation (e.g., when the display device 310 is trying to initially pair with the analyte sensor system 308), the display device 310 may not need the entire content (including the payload) of the target invitation during the target invitation (e.g., when the analyte sensor system 308 is trying to reconnect with the display device 310). Instead, during the target invitation, the display device 310 may only check the invitation address (e.g., GAP address) of the target invitation (e.g., in the payload of the PDU) and determine whether the invitation address is the same as the invitation address of the analyte sensor system 308 that the display device 310 was previously paired and bound to. If the display device 310 determines that the invitation address is the same as the invitation address of the analyte sensor system 308 that the display device 310 was previously paired and bound to, the display device 310 may transmit a connection request to the analyte sensor system 308, and may not need to parse the remainder of the payload of the invitation. In this case, including the full payload in the target invitation may result in resource inefficiencies (such as increased or unnecessary overhead), thereby resulting in unnecessary power consumption at the analyte sensor system 308.
[0117] To address the resource inefficiencies discussed above, certain embodiments described herein provide techniques for reducing the payload of certain invitation messages based on whether the analyte sensor system 308 is in pairing mode (e.g., a general invitation cycle) or reconnection mode (e.g., a target invitation cycle). In certain embodiments, the analyte sensor system 308 may determine whether to use a reduced payload within an invitation message based on the state of one or more target device lists associated with the analyte sensor system 308. Figure 6As shown in Table 600, for example, when the analyte sensor system 308 is not connected to any display device (e.g., one or more target device list thresholds are not met), the analyte sensor system 308 may broadcast a general invitation with a first payload size during the general invitation period, and once the general invitation period has passed, the analyte sensor system 308 may send a target invitation with a second payload size (less than the first payload size) during the target invitation period. In certain embodiments, the first payload size may be a full payload size (e.g., 37 bytes) and may include an invitation address (e.g., a 6-byte GAP address) and one or more invitation data structures (e.g., up to 31 bytes). Examples of invitation data structures may include, but are not limited to, a universally unique identifier (UUID) of a service provided by the analyte sensor system 308, a service class UUID, a shortened local name, a complete local name, etc. The shortened local name may include a character subset of the complete local name. For example, if the complete local name is "Device_Name", the shortened local name may be "Device" or "Device_N" or some other subset of "Device_Name". An exemplary complete payload of an Invite message may include a GAP address, a GAP flag, a full local name, a service UUID, and manufacturer specific data.
[0118] As also shown in Table 600, when the analyte sensor system 308 has one or more target device lists whose corresponding thresholds have not yet been met, the analyte sensor system 308 may broadcast a general invitation having a first payload size during a general invitation period, and once the general invitation period has passed, the analyte sensor system 308 may send a target invitation having a second payload size (smaller than the first payload size) during a whitelist advertisement period.
[0119] As further shown in table 600, when a threshold for all target device lists in the target device list of the analyte sensor system 308 has been met, the analyte sensor system 308 may refrain from sending a general invitation and may send a target invitation with a reduced payload size (e.g., compared to the payload size of a previously sent general invitation).
[0120] Figure 7 is a flow diagram illustrating example operations 700 for wireless communication (eg, for reducing the payload of certain invitation messages) in accordance with certain embodiments disclosed herein. Operations 700 may be performed by an analyte sensor system (eg, analyte sensor system 308).
[0121] At operation 702, when the target device list of the previously authenticated device has at least one unpopulated entry (e.g., at least one target device list threshold is not satisfied), the analyte sensor system 308 sends one or more first invitation messages (e.g., general invitations) having a first payload size during a first predetermined communication interval. Each first invitation message may include a header portion and a payload portion. In addition, the payload portion of each first invitation message may have a first payload size.
[0122] In some embodiments, operation 702 may be performed when the analyte sensor system 308 is in a general invitation phase of an advertisement cycle or an invitation cycle. For example, when the target device list of the analyte sensor system 308 has at least one unpopulated entry, the analyte sensor system 308 may perform a general invitation for a first time length (e.g., 2 seconds) up to the invitation cycle (e.g., 22 seconds). In some embodiments, the first payload size may be the full payload size of the general invitation (e.g., the maximum payload size of the invitation PDU).
[0123] At operation 704, when the target device list of the analyte sensor system 308 includes at least one device (such as the display device 310), during the first predetermined communication interval, the analyte sensor system 308 sends one or more second invitation messages having a second payload size that is smaller than the first payload size. Each second invitation message may include a header portion and a payload portion. In addition, the payload portion of each second invitation message may have a second payload size that is smaller than the first payload size, as noted above.
[0124] In certain embodiments, when the analyte sensor system 308 is in the target invitation part of the invitation cycle, operation 704 may be performed. For example, when the target device list includes at least one device, the analyte sensor system 308 may perform the target invitation for a second time length (e.g., 20 seconds) of the invitation cycle. In certain embodiments, one or more second invitation messages may include the GAP address of the analyte sensor system 308, but may not include the payload content. In contrast, in certain embodiments, one or more first invitation messages may include the GAP address and payload content (e.g., analyte data) of the analyte sensor system 308. The second invitation message may be sent after the first invitation message.
[0125] At operation 706, the analyte sensor system 308 establishes a communication session between the analyte sensor system 308 and at least one device during the first predetermined communication interval based on at least one of the first invitation message or the second invitation message. In some embodiments, the communication session may be an initial communication session established between the analyte sensor system 308 and at least one device based on the first invitation message. In some embodiments, the communication session may be a reestablished (or subsequent) communication session between the analyte sensor system 308 and at least one device based on the second invitation message.
[0126] Example Techniques for Dynamic Transmit Power Adjustment
[0127] As noted above, some existing connection procedures (such as Figure 4 and Figure 5 Another technical drawback of the procedures of the network sequence diagrams 400 and 500 illustrated in FIG. 3 is that such procedures may cause the analyte sensor system 308 to send messages (e.g., packets) at a constant power level, regardless of the strength of the response signal received from the display device. By way of non-limiting example, after a connection is made due to a general invitation or a target invitation, the analyte sensor system 308 may use the same transmit power level to send packets (e.g., authentication messages, pairing messages, binding messages, sensor data, etc.), regardless of the signal strength of the response message from the display device (such as the display device 310). Sending packets in this manner may result in increased or unnecessary power consumption at the analyte sensor system 308. For example, when the patient's analyte sensor system is in close proximity to the display device (e.g., the patient may be holding the display device, the patient may be sleeping next to the display device, etc.), it may not be necessary to use the same constant power level to send packets compared to when the patient's analyte sensor system is farther away from the display device or has a poor connection with the display device (e.g., the patient may be sleeping on the transmitter of the analyte sensor system).
[0128] Therefore, certain embodiments described herein provide techniques for dynamically adjusting the transmit power of a packet based on the signal strength (e.g., received signal strength indicator (RSSI)) of a display device 310. More specifically, in certain embodiments, for each packet received from a display device 310 (e.g., on a packet-by-packet basis), the analyte sensor system 308 may determine whether to maintain the transmit power at a current transmit power level, increase the transmit power, or reduce the transmit power based at least in part on the signal strength of the received packet. For example, when the analyte sensor system 308 receives a packet with a signal strength below a threshold from the display device 310, the analyte sensor system 308 may increase its transmit power by a predetermined amount. Subsequently, when the analyte sensor system 308 receives a packet with a signal strength greater than a threshold, the analyte sensor system 308 may reduce its transmit power by a predetermined amount. By dynamically adjusting the transmit power of a packet in this manner, power consumption at the analyte sensor system 308 may be reduced based on the current quality of the connection between the analyte sensor system 308 and the display device 310 (e.g., as inferred by the signal strength). For example, assuming that the patient is sleeping on the patient's analyte sensor system 308 (e.g., its TRX 360) at a first moment in time, the analyte sensor system 308 may increase its transmit power by a predetermined amount. Subsequently, if the patient changes position / orientation such that the patient's analyte sensor system 308 (its TRX 360) has a substantial line of sight to the display device 310 at a second moment in time, the analyte sensor system 308 may decrease its transmit power by a predetermined amount in order to reduce power consumption at the analyte sensor system 308.
[0129] Additionally, dynamically adjusting the transmit power of a packet may allow for more reliable communication between the analyte sensor system 308 and the display device 310. For example, if the analyte sensor system 308 begins transmitting packets at a first transmit power level (e.g., 0 decibels per milliwatt (dBm)) and determines that the signal strength of a packet received from the display device 310 is less than a threshold, the analyte sensor system 308 may increase the transmit power, which in turn may increase the likelihood that the display device 310 receives subsequent packets from the analyte sensor system 308. Continuing with the above example, if at a subsequent third time, the patient moves to a different location such that the patient's analyte sensor system 308 (its TRX 360) is located at a greater distance away from the display device 310, the analyte sensor system 308 may increase the transmit power to increase the likelihood that the display device 310 receives subsequent packets from the analyte sensor system 308.
[0130] Figure 8An example of dynamic transmit power adjustment according to certain embodiments is illustrated. As shown at 802, the analyte sensor system 308 may begin to send a general invitation at a first transmit power level (e.g., 0 dBm) during a general invitation period. As noted, in certain embodiments, the analyte sensor system 308 may begin to send a general invitation when the analyte sensor system 308 is initially activated and is not yet connected to any display device 310.
[0131] After the analyte sensor system 308 has connected with the display device 310 based on sending one or more general invitations, the analyte sensor system 308 may exchange one or more messages with the display device 310. In certain embodiments, these messages may be associated with authentication, pairing, binding, and / or secure data exchange. For each message received from the display device 310, the analyte sensor system 308 may measure the signal strength of the message (e.g., an RSSI value measured in dBm) and determine whether the signal strength is less than a first threshold (e.g., -80 dBm).
[0132] If the signal strength is less than the first threshold, the analyte sensor system 308 may increase its transmit power from a first transmit power level (e.g., 0 dBm) to a second transmit power level (e.g., 4 dBm) at 806. As non-limiting examples, the transmit power may be increased from the first transmit power level to the second transmit power level when at least one of the following situations exists: (i) the analyte sensor system 308 is currently located at a large distance away from the display device 310, or (ii) the analyte sensor system 308 does not have a substantial line of sight to the display device 310 (e.g., the patient may be sleeping on the transmitter of the analyte sensor system 308).
[0133] Alternatively, if the signal strength is greater than or equal to the first threshold, the analyte sensor system 308 may maintain its transmit power at a first transmit power level (e.g., 0 dBm), as shown at 804. As a non-limiting example, the transmit power may be maintained at the first transmit power level when the analyte sensor system 308 is in at least one of the following situations: (i) currently in close proximity to the display device 310, or (ii) has a substantial line of sight to the display device 310.
[0134] Once the general invitation period has passed, the analyte sensor system 308 may begin sending target invitations at a second transmit power level (eg, 4 dBm) during the target invitation period, such as during Figure 8808 in FIG. 808. In some cases, the analyte sensor system 308 may send a target invitation at a second transmit power level (e.g., 4 dBm) that is higher than the first transmit power level (e.g., 0 dBm) to increase the likelihood that the previously connected display device 310 receives the target invitation. Once connected with the display device 310 due to the target invitation, the analyte sensor system 308 may exchange one or more messages with the display device 310. For each message received from the display device 310, the analyte sensor system 308 may measure the signal strength of the packet and determine whether the signal strength is greater than a second threshold (e.g., -70 dBm).
[0135] If the signal strength is greater than the second threshold, the analyte sensor system 308 may reduce its transmit power from the second transmit power level (e.g., 4 dBm) to the first transmit power level (e.g., 0 dBm) at 812. As a non-limiting example, the analyte sensor system 308 may reduce the transmit power from the second transmit power level to the first transmit power level when at least one of the following situations is present: (i) the analyte sensor system 308 is currently in close proximity to the display device 310, or (ii) the analyte sensor system 308 has a substantial line of sight to the display device 310, as it may not be necessary to maintain the transmit power at the higher second transmit power in these scenarios. Alternatively, if the signal strength is less than or equal to the second threshold, the analyte sensor system 308 may maintain its transmit power at the second transmit power level (e.g., 4 dBm), as shown at 810. As non-limiting examples, the analyte sensor system 308 may maintain its transmit power at the second transmit power level when at least one of the following situations exists: (i) the analyte sensor system 308 is currently located at a large distance away from the display device 310, or (ii) the analyte sensor system 308 does not currently have a substantial line of sight to the display device 310 (e.g., the patient may be sleeping on the transmitter of the analyte sensor system 308).
[0136] Fig. 9 is a flow diagram of example operations 900 for dynamically adjusting a transmit power of an invitation based on a signal strength of a message from a display device (eg, display device 310), in accordance with certain embodiments. Operations 900 may be performed by an analyte sensor system (eg, analyte sensor system 308).
[0137] As shown, operation 900 may begin at 902, where the analyte sensor system 308 begins sending general invitations within a general invitation period using a first transmit power level (e.g., 0 dBm). If the general invitation period has elapsed (or timed out), then at 908, the analyte sensor system 308 begins sending targeted invitations within a target invitation period using a second transmit power level (e.g., 4 dBm). If the target invitation period has elapsed (or timed out), then as shown at 910, the analyte sensor system 308 waits for the next invitation period (or interval) before returning to 902.
[0138] If at 902, the analyte sensor system 308 is connected to the display device 310 due to the universal invitation, then at 904, the analyte sensor system determines, for each packet received from the display device 310, whether the signal strength of the packet is less than a first threshold (e.g., -80 dBm). At 904, if the signal strength is not less than the first threshold, the analyte sensor system 308 maintains its transmit power at the first transmit power level. In some scenarios, a signal strength greater than (or equal to) the first threshold may indicate at least one of the following: (i) the analyte sensor system is in close proximity to the display device, or (ii) the analyte sensor system has a substantial line of sight to the display device.
[0139] On the other hand, if the signal strength is less than the first threshold, the analyte sensor system 308 proceeds to 906. In some scenarios, the signal strength being less than the first threshold may indicate at least one of the following situations: (i) the analyte sensor system is located at a greater distance away from the display device, or (ii) the analyte sensor system no longer has a basic line of sight to the display device. When transitioning from 904 to 906, the analyte sensor system 308 increases its transmit power from the first transmit power level to the second transmit power level (e.g., 4 dBm) (e.g., to increase the likelihood that the display device 310 will receive subsequent packets sent from the analyte sensor system 308). Additionally, at 906, the analyte sensor system 308 determines whether the signal strength of the packet is greater than a second threshold (e.g., -70 dBm) for each packet received from the display device 310.
[0140] If the signal strength is not greater than the second threshold, then at 906, the analyte sensor system 308 maintains its transmit power at the second transmit power level. In some scenarios, the signal strength being less than the second threshold may indicate at least one of the following situations: (i) the analyte sensor system 308 is located at a large distance away from the display device 310, or (ii) the analyte sensor system 308 does not have a substantial line of sight to the display device 310. On the other hand, if the signal strength is greater than the second threshold, the analyte sensor system 308 proceeds to 904. In some scenarios, the signal strength being greater than the second threshold may indicate at least one of the following situations: (i) the analyte sensor system 308 is in close proximity to the display device 310, or (ii) the analyte sensor system 308 has a substantial line of sight to the display device 310. When transitioning from 904 to 906, the analyte sensor system 308 reduces its transmit power from the second transmit power level (e.g., 4 dBm) to the first transmit power level (e.g., 0 dBm). For example, in these scenarios, it may not be necessary to transmit at the higher second transmit power level. Additionally, at 904 , the analyte sensor system 308 determines, for each packet received from the display device 310 , whether the signal strength of the packet is less than a first threshold (eg, −80 dBm).
[0141] As described above, in embodiments where the target device list of the analyte sensor system is full, instead of sending a general invitation at 902, operations 900 may begin at 908, where the analyte sensor system 308 begins sending targeted invitations. Thereafter, once a connection is established between the analyte sensor system 308 and the display device 310 due to the targeted invitation, the analyte sensor system 308 may proceed to 906. In this case, at 906, the analyte sensor system 308 determines, for each packet received from the display device 310, whether the signal strength of the packet is greater than a second threshold (e.g., -70 dBm).
[0142] If the signal strength is not greater than the second threshold, then at 906, the analyte sensor system 308 maintains its transmit power at the second transmit power level. On the other hand, if the signal strength is greater than the second threshold, the analyte sensor system 308 proceeds to 904. In transitioning from 906 to 904, the analyte sensor system 308 reduces its transmit power from the second transmit power level (e.g., 4 dBm) to the first transmit power level (e.g., 0 dBm). Additionally, at 904, the analyte sensor system 308 determines, for each packet received from the display device 310, whether the signal strength of the packet is less than the first threshold (e.g., -80 dBm), etc.
[0143] In other words, once a connection is made (whether at the initial time (as a result of a general invitation) or in reconnection mode (as a result of a target invitation)), the analyte sensor system 308 can dynamically adjust its transmit power for each response packet received from the display device. For example, when the current transmit power is equal to the first transmit power level (e.g., 0 dBm) and when the signal strength of the response packet is less than a first threshold (e.g., -80 dBm), the analyte sensor system 308 can increase its transmit power from the first transmit power level to a second transmit power level (e.g., 4 dBm). Alternatively, when the current transmit power is equal to the first transmit power level (e.g., 0 dBm) and when the signal strength of the response packet is greater than or equal to the first threshold, the analyte sensor system 308 can maintain its current transmit power at the first transmit power level (e.g., 0 dBm).
[0144] However, when the current transmit power is equal to the second transmit power level (e.g., 4 dBm) and when the signal strength of the response packet is greater than a second threshold value (e.g., -70 dBm), the analyte sensor system 308 may reduce its transmit power from the second transmit power level to the first transmit power level (e.g., 0 dBm). Alternatively, when the current transmit power is equal to the second transmit power level (e.g., 4 dBm) and when the signal strength of the response packet is less than or equal to the second threshold value, the analyte sensor system 308 may maintain its current transmit power at the second transmit power level (e.g., 4 dBm).
[0145] Fig.10 1 is a flow chart illustrating example operations 1000 for wireless communication according to certain embodiments disclosed herein, e.g., for dynamically adjusting a transmit power of a message based on a signal strength of the message from a display device (e.g., display device 310). Operations 1000 may be performed by an analyte sensor system (e.g., analyte sensor system 308).
[0146] At operation 1002, the analyte sensor system 308 establishes a connection between a transmitter (e.g., TRX 360) of the analyte sensor system 308 and the display device 310. In certain embodiments, the connection may be established as a result of a general invitation from the analyte sensor system 308. In certain embodiments, the connection may be established as a result of a targeted invitation from the analyte sensor system 308.
[0147] At operation 1004, the analyte sensor system 308 receives at least a first packet from the display device 310 after establishing the connection. In certain embodiments where the connection is established based on a general invitation, the first packet may be associated with at least one of an authentication procedure, a pairing procedure, a binding procedure, or a secure data exchange between the analyte sensor system 308 and the display device 310. In certain embodiments where the connection is established based on a targeted invitation, the first packet may be associated with at least one of a reconnection request or a secure data exchange between the analyte sensor system 308 and the display device 310.
[0148] At operation 1006, the analyte sensor system 308 determines a transmit power for the second packet based at least in part on the current transmit power level of the transmitter and the signal strength of the first packet. In some embodiments, the signal strength includes RSSI. At operation 1008, the analyte sensor system 308 transmits the second packet to the display device 310 at the determined transmit power for the second packet.
[0149] In some embodiments, operation 1000 may further include receiving at least a third packet from display device 310 after the transmission of the second packet, and determining a transmission power of a fourth packet based at least in part on a current transmission power level of the transmitter and a signal strength of the third packet. Thereafter, the analyte sensor system may transmit the fourth packet to display device 310 at the determined transmission power of the fourth packet.
[0150] In some embodiments, determining the transmit power of the second packet at 1006 may include increasing the transmit power from the first transmit power level to the second transmit power level when the signal strength of the first packet is less than a threshold and the current transmit power level at the analyte sensor system is equal to the first transmit power level. In such embodiments, the first transmit power level may be 0 dBm, the second transmit power level may be 4 dBm, and the threshold may be -80 dBm. However, it is noted that other values may be used for the first transmit power level, the second transmit power level, and / or the threshold.
[0151] In some embodiments, determining the transmit power of the second packet at 1006 may include maintaining the transmit power at a current transmit power level when the signal strength of the first packet is greater than or equal to a threshold. In such embodiments, the current transmit power level at the analyte sensor system may be 0 dBm, and the threshold may be -80 dBm. However, it is noted that other values may be used for the current transmit power level and / or the threshold.
[0152] In some embodiments, determining the transmit power of the second packet at 1006 may include reducing the transmit power from the first transmit power level to the second transmit power level when the signal strength of the first packet is greater than a threshold and the current transmit power level at the analyte sensor system is equal to the first transmit power level. In such embodiments, the first transmit power level may be 4 dBm, the second transmit power level may be 0 dBm, and the threshold may be -70 dBm. However, it is noted that other values may be used for the first transmit power level, the second transmit power level, and / or the threshold.
[0153] In some embodiments, determining the transmit power of the second packet at 1006 includes maintaining the transmit power at a current transmit power level when the signal strength is less than or equal to a threshold. In such embodiments, the current transmit power level may be 4 dBm, and the threshold may be -70 dBm. However, it should be noted that other values may be used for the current transmit power level and / or the threshold.
[0154] Attribute Protocol and Generic Attribute Protocol
[0155] In certain embodiments, the analyte sensor system 308 and the display device 310 may communicate by radio according to the Attribute Protocol (ATT). ATT defines how a server (e.g., the analyte sensor system 308) exposes and transmits its data to a client (e.g., the display device 310) and how the data is structured. There are two roles within ATT: server and client.
[0156] A server exposes data that it controls or contains to a client, accepts incoming commands from a client, and transmits responses, notifications, and instructions to the client. For example, when the analyte sensor system 308 exposes one or more analyte values associated with a subject to a client, it may behave as a server. As described in more detail below, the analyte sensor system 308 may also notify the client when the analyte value or other data has changed, rather than having the client poll for the changed data.
[0157] A client is a device that interfaces with a server for the purpose of reading the exposed data of the server and / or controlling the behavior of the server. The client is also configured to transmit commands and requests and accept incoming notifications and instructions from the server. For example, a display device 310 that is connected to the analyte sensor system 308 and reads one or more analyte values may act as a client. Therefore, as used herein, the analyte sensor system 308 may be referred to as a "server", and the display device 310 may be referred to as a "client".
[0158] In some embodiments, the data exposed by the server is usually constructed as attributes. Attributes are general terms for any type of data exposed by the server and define the structure of the data. Attributes may consist of the following: (i) attribute type, (ii) attribute handle, and (iii) attribute permission. Attribute type may be a UUID indicating a data type (e.g., the UUID for temperature measurements adopted by the SIG is 0x2A1C). In certain embodiments, the attribute type may use a UUID or a custom UUID adopted by the SIG. Attribute handles may be 16-bit values that the server assigns to each of its attributes and uses as the address of a given attribute. Clients and / or servers may use this value to reference a specific attribute. Attribute permissions determine whether an attribute can be read or written, whether it can be notified or indicated, and what security level is required for each of these operations. These permissions are defined at a higher layer (e.g., a general attribute protocol (GATT) layer or an application layer), which will be described in more detail below.
[0159] In certain analyte sensor system applications, data may be exchanged using GATT, which may be considered a meta-layer "on top" of ATT. GATT defines the format of services and their characteristics, as well as procedures for interfacing with attributes. Examples of attributes include service discovery, characteristic reads, characteristic writes, notifications, and indications. A service is a grouping of one or more attributes, some of which are characteristics. A service is meant to group together related attributes that satisfy a specific functionality on a server. For example, the battery service adopted by the SIG contains a characteristic called battery level.
[0160] A characteristic is part of a service and represents a piece of information / data that the server wants to expose to the client. For example, the battery charge characteristic represents the remaining power level of the battery in a device (e.g., display device 310) that can be read by the client. Characteristics may include attributes, such as (characteristic) properties, characteristic values, zero or more descriptors, etc. Properties may define how the characteristic value can be used. Some examples include read, write, write without response, notification, and indication. Descriptors are generally used to contain relevant information about characteristic values. Some examples include extended properties, user descriptions, fields for subscribing to notifications and indications (e.g., CCCD), and fields that define the presentation of characteristic values (such as the format and units of the value).
[0161] Profiles, also defined by GATT, are broader in definition than services. Profiles typically define the behavior of both clients and servers when it comes to services, characteristics, connections, security requirements, etc. In some embodiments, a profile may be an adopted Bluetooth SIG profile or a custom profile (e.g., defined at the application layer).
[0162] CCCD is a descriptor that can be included within each characteristic (specifically, a Client Characteristic Configuration Descriptor). Using CCCD, the server can allow the client to opt-in to "push" style data updates from the server, as opposed to the client transmitting a read request for any data updates. Features that properly support CCCD also support "push" style notifications (if the client opts in). The client can configure the server to transmit updates as they occur, rather than continuously reading values. For example, if the client wants to have data pushed to itself when the data changes, the client can write a value to the CCCD. The value depends on the style of the update. There are generally two styles of push updates: (i) notifications and (ii) indications. With "indications", the server gets confirmation that the client has indeed received the update. With "notifications", the server does not get confirmation that the client has received the update.
[0163] Example BLE Architecture
[0164] Fig.11 An example communication protocol architecture 1100 (e.g., a short-range communication protocol such as the Bluetooth low energy protocol) according to certain embodiments is illustrated. In the depicted embodiment, the communication protocol architecture 1100 includes an application 1104, a host 1108, and a controller 1110. The application 1104 is typically a user application that interfaces with a communication protocol stack 1150 that includes the host 1108 and the controller 1110. The application 1104 may include a standard profile (with one or more services), a custom profile (with one or more services), and / or a library imported from an SDK. In certain embodiments, a (software) image 1106 may implement a communication protocol stack 1150 for a system on a chip (SoC) (e.g., a processor).
[0165] Controller 1110 includes the lower layers of communication protocol stack 1150. Fig.11 11, the controller 1110 includes a link layer (LL) 1122 and a physical layer (PHY) 1124. The PHY 1124 is the lowest layer of the communication protocol stack 1150 and provides its services to the LL 1122. The PHY 1124 may include analog communication circuits responsible for translating digital data with radio. The LL 1122 interfaces directly with the PHY 1124 and is generally responsible for tasks such as (i) advertising, scanning, and creating / maintaining connections, (ii) encapsulating data received from upper layers and generating packets that are passed bit by bit to the PHY 1124, (iii) performing packet error detection, (iv) encrypting / decrypting communications, (v) managing device addresses, (vi) defining the role and status of devices (e.g., inviter-device that transmits invitation packets, scanner-device that scans invitation packets, master-device that initiates connections and manages connections, or slave-device that accepts connection requests and follows the master's timing), etc.
[0166] although Fig.11 Not shown, but in some embodiments, the communication protocol stack 1150 may also include a host controller interface (HCI), which is a thin layer that transmits commands and events between the host 1108 and the controller 1110 of the BLE protocol stack 1150.
[0167] The host 1108 includes the upper layers of the communication protocol stack 1150. Here, the host 1108 includes GATT 1112, GAP 1114, ATT 1116, security manager (SM) 1118, and logical link control and adaptation layer protocol (L2CAP) 1120. L2CAP 1120 provides multiplexing for the higher layers. This enables protocols (such as ATT 1116 and SM 1118) to share the same controller 1110. This layer is also responsible for the segmentation and reassembly operations of packets exchanged between the upper layers and the controller 1110.
[0168] SM 1118 is generally responsible for implementing the security of applications running on the communication protocol. For example, SM 1118 can provide device authentication, device authorization, device privacy, data integrity, etc. As noted, ATT 1116 is a client / server protocol based on the attributes presented by the device. For example, ATT 1116 can define how to transfer data units (attributes). Typically, the client requests data from the server, and the server then transmits the data to the client. The server can also use instructions or notifications to initiate data transfer.
[0169] As noted, GATT 1112 typically interacts frequently with the layers of the communication protocol stack 1150. GATT 1112 is implemented on top of ATT 1116 and uses the ATT as its transport layer. Applications 1102 can exchange data information with the communication protocol stack 1150 via GATT 1112. GAP 1114 defines procedures for how devices are discovered and connected. It also provides a layer for pairing, creating bindings, and ensuring privacy to SM 1118. Applications 1102 can exchange control information with the communication protocol stack 1150 via GAP 1114.
[0170] Example Techniques for Reducing CCCD Messaging
[0171] As noted, one technical drawback of certain communication protocols supporting CCCD is that repeated enabling / disabling of CCCD may result in an unnecessary number of messages being exchanged between analyte sensor system 308 and display device 310. This, in turn, may significantly increase power consumption at analyte sensor system 308.
[0172] In general, there are various features that the analyte sensor system 308 may be configured to expose to the display device 310. By way of example, authentication information, synchronization information, and reading estimated glucose values are features that the analyte sensor system 308 may want to expose to the display device 310. However, according to current communication protocols, before the display device 310 can obtain any of this information, the display device 310 may have to enable CCCD for each of these features. In other words, the display device 310 must send a separate packet with a bit set for enabling CCCD to the analyte sensor system 308, causing the analyte sensor system 308 to send the corresponding information to the display device 310.
[0173] By way of example, Fig.12 An example connection process 1200 involving repeatedly enabling / disabling CCCD for different characteristics is illustrated. Reference example using authentication information, synchronization information, and analyte information as characteristic data: Currently, if the display device 310 does not enable CCCD individually for each of the authentication information, synchronization information, and analyte information, the analyte sensor system 308 may not transmit any of the information to the display device 310, thereby delaying the connection procedure and / or other procedures that the display device 310 may perform using such information. Therefore, in order to perform the connection procedure and / or other procedures, the display device 310 may have to enable CCCD individually for each characteristic (data stream). In addition, the display device 310 may have to disable CCCD individually for each characteristic so that the display device 310 does not receive information that it does not want to receive or does not have space for receiving.
[0174] More specifically, if Fig.12 As shown, when connected to the analyte sensor system 308 at 1202, the display device 310 enables the CCCD at 1204 for receiving authentication information (e.g., the first characteristic) from the analyte sensor system 308, performs authentication with the analyte sensor system 308 based on the authentication information "pushed" from the analyte sensor system 308 at 1206, and disables the CCCD for the authentication information at 1208.
[0175] Thereafter, the display device 310 enables the CCCD at 1210 for receiving synchronization information (e.g., the second characteristic) from the analyte sensor system 308, performs synchronization with the analyte sensor system 308 based on the synchronization information “pushed” from the analyte sensor system 308 at 1212, and disables the CCCD for the synchronization information at 1214. Again, thereafter, the display device 310 enables the CCCD at 1216 for receiving analyte information (e.g., the third characteristic) from the analyte sensor system 308, processes the analyte information “pushed” from the analyte sensor system 308 at 1218, and disables the CCCD for the analyte information at 1220. The display device 310 then disconnects (1222).
[0176] As noted, repeated enabling / disabling of the CCCD may result in increased and unnecessary power consumption at the analyte sensor system 308 and the display device 310. Additionally, the enabling and disabling of the CCCD may result in signal loss due to errors involving enabling the CCCD indication. For example, whenever the CCCD is enabled and disabled, the possibility of transmission errors may be increased. These transmission errors may cause the display device 310 to miss data updates from the analyte sensor system 308. In addition, another technical problem associated with the repeated enabling and disabling of the CCCD is that, because some proprietary transmitters may be configured to send data only in response to data requests (and not send data when data is available), whether the CCCD is enabled at the analyte sensor system 308 will not affect the data transmission of the analyte sensor system 308.
[0177] To address the above technical deficiencies, certain embodiments described herein provide techniques for reducing one or more CCCD messages exchanged between the analyte sensor system 308 and the display device 310. For example, in certain embodiments, a custom profile may be created (or defined) for use with the display device 310. In some embodiments, the custom profile may be provided as a component of an analyte sensor application (e.g., Figure 3B The custom configuration file may be provided as part of an analyte sensor application 330 of the analyte sensor system 308 and executed at an application layer on the display device 310. As part of the communication between the analyte sensor system 308 and the display device 310, the custom configuration file may configure the display device 310 to inhibit (or prevent) enabling and disabling CCCD for each predefined characteristic set.
[0178] In some embodiments, the predefined characteristics may include, for example, authentication information, synchronization information, analyte information, etc. By using a custom configuration file to prevent the default display device 310 from enabling / disabling CCCD, the number of messages transmitted by the display device 310 to the analyte sensor system 308 may be reduced, such as Fig.13For example, with Fig.12 Compared to the connection flow 1200 depicted in Fig.13 In the connection flow 1300 depicted in FIG. 1 , the display device 310 may perform the operations in 1206 , 1212 , and / or 1218 without enabling / disabling CCCD.
[0179] Note that in certain embodiments, eliminating CCCD messaging between the analyte sensor system 308 and the display device 310 for executing proprietary software instructions may not affect data flow. The proprietary software instructions may be an analyte sensor application (e.g., Figure 3B The proprietary software instructions may be provided in the form of an analyte sensor application 330 (e.g., provided by a sensor manufacturer) for use by the display device 310. The proprietary software instructions may also be provided in the form of an application for execution on the analyte sensor system 308 (e.g., provided by a sensor manufacturer). The proprietary software instructions described above may configure the display device 310 and the analyte sensor system 308 so that: (i) the analyte sensor system 308 transmits data only in response to a request from the display device 310, (ii) the display device 310 transmits a request only when data is needed, (iii) transmitting a request from the display device 310 captures the same functionality as enabling CCCD, and / or (iv) after transmitting a response, the analyte sensor system 308 behaves the same as if the display device 310 had disabled CCCD (e.g., so that the display device 310 does not have to disable CCCD at the analyte sensor system 308).
[0180] In certain embodiments, when the display device 310 executes a first operating system (e.g., an Android operating system), the custom profile may eliminate the need for an analyte sensor application (e.g., a mobile application) executing on the display device 310 to enable / disable CCCD each time the analyte sensor application accesses a feature. In certain embodiments, when the display device 310 executes a second operating system (e.g., an iOS operating system), the custom profile may eliminate the need for the analyte sensor application to disable CCCD each time the analyte sensor application accesses a feature. However, due to limitations of the interface from the second operating system, the custom profile may not prevent the analyte sensor application from enabling CCCD.
[0181] In certain embodiments, a custom configuration file may be created and defined on the analyte sensor system 308 (e.g., at the application layer). For example, upon initializing a processor of the analyte sensor system 308 including the communication protocol stack 1150 (e.g., Figure 3BBefore the processor 380 of the display device is connected to the display device, the custom configuration file may configure the processor to (i) obtain the properties of each predefined feature set (e.g., authentication information, synchronization information, analyte information, etc.), obtain the attribute handle used by the processor for the properties of each predefined feature set, and set or define the CCCD configuration of the processor. As part of the CCCD configuration, the processor may be configured so that each feature has CCCD enabled by default (across all connections with display devices (whether bound or unbound)).
[0182] In certain embodiments, the custom profile may configure / load the processor of the analyte sensor system 308 with properties (default to CCCD enabled) because the custom profile may not have control over the communication protocol stack 1150 once the processor is initialized. Additionally, in the current communication protocol, the analyte sensor system 308 may not be able to transmit any data to the display device unless CCCD is enabled for that data. Therefore, the custom profile is configured to enable CCCD for all features of all display devices 310 (whether bound or unbound).
[0183] In certain embodiments, a custom profile on the analyte sensor system 308 may be configured to enable CCCD by default for each new connection with the display device 310, regardless of whether the display device 310 is bound or unbound (e.g., as opposed to saving CCCD values across connections for bound devices).
[0184] In certain embodiments, the analyte sensor system 308 is still able to interact with certain display devices (referred to herein as "third-party display devices") that may not be configured to prevent default enabling / disabling of CCCD. For example, if a third-party display device (which is configured to enable / disable CCCD) sends a CCCD enable indication to an analyte sensor system 308 that has already enabled CCCD (based on a custom profile), the CCCD configuration of the analyte sensor system 308 may not change (e.g., CCCD is already enabled). In another example, if a third-party display device (which is configured to enable / disable CCCD) sends a CCCD disable indication to an analyte sensor system 308 that has already enabled CCCD, the CCCD configuration may change (e.g., CCCD may be disabled). In this example, for subsequent connections, the CCCD configuration is set back to enabled, regardless of the previous overwrite of the CCCD configuration by the third-party display device (e.g., as opposed to saving the CCCD configuration across connections for bound devices and automatically disabling CCCD for reconnections with unbound devices).
[0185] Fig.14is a flow diagram illustrating example operations 1400 for wireless communication in accordance with certain embodiments disclosed herein, such as for reducing the number of CCCD messages exchanged between analyte sensor system 308 and display device 310. Operations 1400 may be performed by an analyte sensor system (e.g., analyte sensor system 308).
[0186] At operation 1402, the analyte sensor system 308 determines one or more properties of a predefined set of characteristics associated with the analyte sensor system 308. The predefined set of characteristics may include authentication information, synchronization information, analyte information, and the like.
[0187] At operation 1404 , the analyte sensor system 308 configures each of the one or more properties via a custom configuration file for the analyte sensor system so that the CCCD is enabled as a default setting upon each connection between the analyte sensor system 308 and the display device 310 .
[0188] At operation 1406 , prior to initializing the processor of the analyte sensor system 308 , the analyte sensor system 308 configures the processor using the configured one or more properties.
[0189] In certain embodiments, operation 1400 may further include: the analyte sensor system 308 establishing a connection with the display device 310, and after establishing the connection, receiving a CCCD enable indication for at least one of the one or more properties from the display device 310. Thereafter, in response to the CCCD enable indication, the analyte sensor system 308 may prohibit modifying the corresponding CCCD for at least one of the one or more properties.
[0190] In certain embodiments, operation 1400 may further include: the analyte sensor system 308 establishing a connection with the display device, and after establishing the connection, receiving a CCCD disable indication for at least one of the one or more properties from the display device 310. Thereafter, in response to the CCCD disable indication, the analyte sensor system 308 may modify at least one of the one or more properties so that the corresponding CCCD is disabled.
[0191] Fig.15 is a flow diagram illustrating example operations 1500 for wireless communication in accordance with certain embodiments disclosed herein, such as for reducing the number of CCCD messages exchanged between analyte sensor system 308 and display device 310. Operations 1500 may be performed by a display device (eg, display device 310).
[0192] At operation 1502 , the display device 310 configures the application via a custom configuration file of the display device 310 to disable at least one of: enabling or disabling a corresponding CCCD for each predefined characteristic in a set of predefined characteristics associated with the analyte sensor system 308 .
[0193] At operation 1504, the display device 310 establishes a connection with the analyte sensor system 308. At 1506, after establishing the connection, the display device 310 performs at least one procedure with the analyte sensor system without enabling and disabling CCCD for a first characteristic in a set of predefined characteristics associated with the at least one procedure. In certain embodiments, the at least one procedure includes an authentication procedure, a synchronization procedure, and / or reading an analyte value.
[0194] Sample Clauses
[0195] Specific implementation examples are described in the following numbered clauses:
[0196] Item 1: A method for wireless communication performed by an analyte sensor system, the method comprising: sending one or more first invitation messages having a first payload size when a list of previously authenticated devices has at least one unpopulated entry; sending one or more second invitation messages having a second payload size that is smaller than the first payload size when the list includes at least one device; and establishing a communication session between the analyte sensor system and at least one device based on at least one of the first invitation message or the second invitation message.
[0197] Clause 2: The method of clause 1, further comprising: refraining from sending the one or more first invite messages when the list does not include at least one unpopulated entry.
[0198] Clause 3: A method according to any of clauses 1 to 2, wherein the one or more second invite messages are further sent when the list does not include at least one unpopulated entry.
[0199] Clause 4: A method as described in any of clauses 1 to 3, wherein the one or more second invite messages are sent after the one or more first invite messages.
[0200] Clause 5: A method according to any one of clauses 1 to 4, wherein: the one or more first invitation messages include a Generic Address Profile (GAP) address of the analyte sensor system; and the one or more first invitation messages have one or more invitation data structures.
[0201] Clause 6: The method of any of clauses 1 to 5, wherein the one or more second invitation messages include only a Generic Address Profile (GAP) address of the analyte sensor system.
[0202] Clause 7: A method for wireless communication performed by an analyte sensor system, the method comprising: establishing a connection between a transmitter of the analyte sensor system and a display device; after establishing the connection, receiving at least a first packet from the display device; determining a transmit power of a second packet based at least in part on a current transmit power level of the transmitter and a signal strength of the first packet; and transmitting the second packet to the display device at the determined transmit power of the second packet.
[0203] Clause 8: The method according to Clause 7 further includes: after sending the second packet, receiving at least a third packet from the display device; determining a transmission power of a fourth packet based at least in part on the current transmission power level of the transmitter and the signal strength of the third packet; and sending the fourth packet to the display device at the determined transmission power of the fourth packet.
[0204] Clause 9: A method according to any one of clauses 7 to 8, wherein determining the transmit power comprises: when the signal strength of the first packet is less than a threshold and the current transmit power level is equal to a first transmit power level, increasing the transmit power from the first transmit power level to a second transmit power level.
[0205] Clause 10: The method of any one of clauses 7 to 8, wherein determining the transmit power comprises maintaining the transmit power at the current transmit power level when the signal strength is greater than or equal to a threshold.
[0206] Clause 11: A method according to any one of clauses 7 to 8, wherein determining the transmit power comprises: when the signal strength of the first packet is greater than a threshold and the current transmit power level is equal to a first transmit power level, reducing the transmit power from the first transmit power level to a second transmit power level.
[0207] Clause 12: A method as described in any of clauses 7 to 8, wherein determining the transmit power comprises: when the signal strength of the first packet is less than or equal to a threshold, maintaining the transmit power at the current transmit power level.
[0208] Clause 13: The method of any of clauses 7 to 12, wherein establishing the connection comprises receiving a connection request from the display device in response to a general invitation from the sender.
[0209] Clause 14: The method of any of clauses 7 to 12, wherein establishing the connection comprises receiving a reconnection request from the display device in response to a target invitation from the sender.
[0210] Item 15: A method for wireless communication performed by an analyte sensor system, the method comprising: determining one or more properties of a predefined set of characteristics associated with the analyte sensor system; configuring each of the one or more properties via a custom configuration file of the analyte sensor system so that a client characteristic configuration descriptor (CCCD) is enabled as a default setting upon each connection between the analyte sensor system and a display device; and configuring a processor of the analyte sensor system using the configured one or more properties before initializing the processor.
[0211] Clause 16: The method according to Clause 15 further includes: establishing a connection with the display device; after establishing the connection, receiving a CCCD enable indication for at least one of the one or more properties from the display device; and in response to the CCCD enable indication, prohibiting modification of the corresponding CCCD for at least one of the one or more properties.
[0212] Clause 17: According to the method described in any one of Clauses 15 to 16, the method further includes: establishing a connection with the display device; after establishing the connection, receiving a CCCD disabling indication for at least one of the one or more properties from the display device; and in response to the CCCD disabling indication, modifying the at least one of the one or more properties so that the corresponding CCCD is disabled.
[0213] Clause 18: A method for wireless communication performed by a display device, the method comprising: configuring an application via a custom configuration file of the display device to prohibit at least one of the following: enabling or disabling a corresponding client characteristic configuration descriptor (CCCD) for each predefined characteristic in a set of predefined characteristics associated with an analyte sensor system; establishing a connection with the analyte sensor system; and after establishing the connection, executing at least one procedure using the analyte sensor system without enabling and disabling the CCCD for a first characteristic in the set of predefined characteristics associated with the at least one procedure.
[0214] Clause 19: The method of clause 18, wherein the at least one procedure comprises an authentication procedure.
[0215] Clause 20: The method of clause 18, wherein the at least one procedure comprises a synchronization procedure.
[0216] Clause 21: The method of clause 18, wherein the at least one procedure comprises reading an analyte value.
[0217] Item 22: An analyte sensor system, comprising: a memory comprising executable instructions; and one or more processors configured to execute the executable instructions and cause the analyte sensor system to perform the following operations: when a list of previously authenticated devices has at least one unpopulated entry, sending one or more first invitation messages having a first payload size; when the list includes at least one device, sending one or more second invitation messages having a second payload size that is smaller than the first payload size; and establishing a communication session between the analyte sensor system and at least one device based on at least one of the first invitation message or the second invitation message.
[0218] Clause 23: The analyte sensor system of clause 22, wherein the one or more processors are further configured to cause the analyte sensor system to refrain from sending the one or more first invitation messages when the list does not include at least one unpopulated entry.
[0219] Clause 24: The analyte sensor system of any of clauses 22-23, wherein the one or more processors are further configured to cause the analyte sensor system to send the one or more second invitation messages when the list does not include at least one unpopulated entry.
[0220] Clause 25: The analyte sensor system of any of clauses 22 to 24, wherein the one or more processors are further configured to cause the analyte sensor system to send the one or more second invitation messages subsequent to the one or more first invitation messages.
[0221] Clause 26: An analyte sensor system according to any one of clauses 22 to 25, wherein: the one or more first invitation messages include a generic address profile (GAP) address of the analyte sensor system; and the one or more first invitation messages have one or more invitation data structures.
[0222] Clause 27: The analyte sensor system of any of clauses 22 to 26, wherein the one or more second invitation messages include only a Generic Address Profile (GAP) address of the analyte sensor system.
[0223] Item 28: An analyte sensor system, the analyte sensor system comprising: a memory comprising executable instructions; and one or more processors, the one or more processors configured to execute the executable instructions and cause the analyte sensor system to perform the following operations: establish a connection between a transmitter of the analyte sensor system and a display device; after establishing the connection, receive at least a first packet from the display device; determine a transmission power of a second packet based at least in part on a current transmission power level of the transmitter and a signal strength of the first packet; and transmit the second packet to the display device at the determined transmission power of the second packet.
[0224] Clause 29: An analyte sensor system according to clause 28, wherein the one or more processors are further configured to cause the analyte sensor system to perform the following operations: after sending the second packet, receive at least a third packet from the display device; determine a transmission power of a fourth packet based at least in part on the current transmission power level of the transmitter and the signal strength of the third packet; and send the fourth packet to the display device at the determined transmission power of the fourth packet.
[0225] Clause 30: An analyte sensor system according to any one of clauses 28 to 29, wherein, in order to determine the transmit power, the one or more processors are configured to cause the analyte sensor system to increase the transmit power from the first transmit power level to a second transmit power level when the signal strength of the first group is less than a threshold and the current transmit power level is equal to the first transmit power level.
[0226] Clause 31: An analyte sensor system according to any one of clauses 28 to 29, wherein, in order to determine the transmit power, the one or more processors are configured to cause the analyte sensor system to maintain the transmit power at the current transmit power level when the signal strength is greater than or equal to a threshold.
[0227] Clause 32: An analyte sensor system according to any one of clauses 28 to 29, wherein, in order to determine the transmit power, the one or more processors are configured to cause the analyte sensor system to reduce the transmit power from the first transmit power level to a second transmit power level when the signal strength of the first group is greater than a threshold and the current transmit power level is equal to the first transmit power level.
[0228] Clause 33: An analyte sensor system according to any one of clauses 28 to 29, wherein, in order to determine the transmit power, the one or more processors are configured to cause the analyte sensor system to maintain the transmit power at the current transmit power level when the signal strength of the first group is less than or equal to a threshold.
[0229] Clause 34: The analyte sensor system of any of clauses 28 to 33, wherein to establish the connection, the one or more processors are configured to cause the analyte sensor system to receive a connection request from the display device in response to a general invitation from the transmitter.
[0230] Clause 35: The analyte sensor system of any of clauses 28 to 33, wherein to establish the connection, the one or more processors are configured to cause the analyte sensor system to receive a reconnection request from the display device in response to a target invitation from the transmitter.
[0231] Item 36: An analyte sensor system, comprising: a memory comprising executable instructions; and one or more processors configured to execute the executable instructions and cause the analyte sensor system to perform the following operations: determine one or more properties of a predefined set of characteristics associated with the analyte sensor system; configure each of the one or more properties via a custom configuration file of the analyte sensor system so that a client characteristic configuration descriptor (CCCD) is enabled as a default setting at each connection between the analyte sensor system and a display device; and configure the processor using the configured one or more properties before initializing the processor of the analyte sensor system.
[0232] Clause 37: An analyte sensor system according to clause 36, wherein the one or more processors are further configured to cause the analyte sensor system to perform the following operations: establish a connection with the display device; after establishing the connection, receive a CCCD enable indication for at least one of the one or more properties from the display device; and in response to the CCCD enable indication, prohibit modification of the corresponding CCCD for at least one of the one or more properties.
[0233] Clause 38: An analyte sensor system according to clause 37, wherein the one or more processors are further configured to cause the analyte sensor system to perform the following operations: establish a connection with the display device; after establishing the connection, receive a CCCD disable indication for at least one of the one or more properties from the display device; and in response to the CCCD disable indication, modify the at least one of the one or more properties so that the corresponding CCCD is disabled.
[0234] Clause 39: A display device, comprising: a memory comprising executable instructions; and one or more processors configured to execute the executable instructions and cause the analyte sensor system to perform the following operations: configuring an application via a custom configuration file of the display device to prohibit at least one of the following: enabling or disabling a corresponding client characteristic configuration descriptor (CCCD) for each predefined characteristic in a set of predefined characteristics associated with the analyte sensor system; establishing a connection with the analyte sensor system; and after establishing the connection, executing at least one procedure using the analyte sensor system without enabling and disabling the CCCD for a first characteristic in the set of predefined characteristics associated with the at least one procedure.
[0235] Clause 40: The display device of clause 39, wherein the at least one procedure comprises an authentication procedure.
[0236] Clause 41: The display device of clause 39, wherein the at least one procedure comprises a synchronization procedure.
[0237] Clause 42: The display device of clause 39, wherein the at least one procedure comprises reading an analyte value.
[0238] Item 43: An analyte monitoring system, comprising: a display device; and an analyte sensor system, wherein: the analyte sensor system is configured to: send one or more first invitation messages having a first payload size when a list of previously authenticated devices has at least one unpopulated entry; send one or more second invitation messages having a second payload size that is smaller than the first payload size when the list includes at least one device; and establish a communication session between the analyte sensor system and the display device based on at least one of the first invitation message or the second invitation message; and the display device is configured to: receive at least one of the one or more first invitation messages having the first payload size or the one or more second invitation messages having the second payload size; and establish the communication session between the analyte sensor system and the display device based on at least one of the first invitation message or the second invitation message.
[0239] Item 44: An analyte monitoring system, comprising: a display device; and an analyte sensor system, wherein: the analyte sensor system is configured to: establish a connection between a transmitter of the analyte sensor system and the display device; after establishing the connection, receive at least a first packet from the display device; determine a transmission power of a second packet based at least in part on a current transmission power level of the transmitter and a signal strength of the first packet; and send the second packet to the display device at the determined transmission power of the second packet; and the display device is configured to: establish a connection between the transmitter of the analyte sensor system and the display device; after establishing the connection, send at least the first packet to the analyte sensor system; and receive the second packet from the analyte sensor system at the transmission power determined based on the signal strength of the first packet.
[0240] Item 45: An analyte monitoring system, comprising: a display device; and an analyte sensor system, wherein: the analyte sensor system is configured to: determine one or more properties of a predefined set of characteristics associated with the analyte sensor system; configure each of the one or more properties via a custom configuration file of the analyte sensor system so that a client characteristic configuration descriptor (CCCD) is enabled as a default setting at each connection between the analyte sensor system and the display device; and configure the processor using the configured one or more properties before initializing the processor of the analyte sensor system; and the display device is configured to configure an application via the custom configuration file of the display device to prohibit at least one of the following: enabling or disabling a corresponding CCCD for each predefined characteristic in the set of predefined characteristics associated with the analyte sensor system; establishing a connection with the analyte sensor system; and after establishing the connection, performing at least one using the analyte sensor system without enabling and disabling the CCCD for a first characteristic in the set of predefined characteristics associated with the at least one procedure.
[0241] Other considerations
[0242] Each of the non-limiting examples presented above may exist independently or may be combined with one or more of the other examples in various arrangements or combinations. The above detailed description includes reference to the accompanying drawings, which form a part of the detailed description. The accompanying drawings show by way of example specific embodiments in which the present invention can be practiced. These embodiments are also referred to herein as "examples". Such examples may include elements other than those shown or described. However, the inventors also contemplate providing only examples of those elements shown or described. In addition, the inventors also contemplate examples (or one or more aspects thereof) of any combination or arrangement of those elements shown or described with respect to a specific example (or one or more aspects thereof) or with respect to other examples (or one or more aspects thereof) shown or described herein.
[0243] In the event of inconsistent usages between this document and any document incorporated by reference, the usage in this document controls.
[0244] In this document, as is common in patent literature, the terms "a" or "an" are used to include one or more than one, independent of any other instance or usage of "at least one" or "one or more." In this document, the term "or" is used to refer to a non-exclusive or, such that "A or B" includes "A but not B," "B but not A," and "A and B," unless otherwise indicated. In this document, the terms "including" and "in which" are used as the plain-English equivalents of the respective terms "comprising" and "wherein." Moreover, in the appended claims, the terms "comprising" and "including" are open-ended, that is, systems, devices, articles, compositions, formulas, or processes that include elements in addition to the elements listed after such terms in a claim are still considered to fall within the scope of the claim. Furthermore, in the appended claims, the terms "first," "second," and "third," etc. are used merely as labels and are not intended to impose numerical requirements on their objects.
[0245] Geometric terms, such as "parallel", "perpendicular", "circular", or "square", are not intended to require absolute mathematical precision unless the context indicates otherwise. Rather, such geometric terms allow for variations due to manufacturing or equivalent functions. For example, if an element is described as "circular" or "substantially circular", components that are not exactly circular (e.g., components that are slightly elliptical or multi-sided polygonal) are still encompassed by this description.
[0246] The method examples described herein may be implemented at least in part by a machine or computer. Some examples may include a computer-readable medium or machine-readable medium encoded with instructions, which may be operable to configure an electronic device to perform the method as described in the above examples. The specific implementation of such methods may include code, such as microcode, assembly language code, high-level language code, etc. Such code may include computer-readable instructions for performing various methods. The code may form part of a computer program product. In addition, in one example, the code may be tangibly stored on one or more volatile, non-transient or non-volatile tangible computer-readable media, such as during execution or at other times. Examples of these tangible computer-readable media may include, but are not limited to, hard disks, removable disks, removable optical disks (e.g., compact disks and digital video disks), cassettes, memory cards or memory sticks, random access memories (RAM), read-only memories (ROM), etc.
[0247] The above description is intended to be illustrative, not restrictive. For example, the above examples (or one or more aspects thereof) may be used in combination with each other. Other embodiments may be used by those skilled in the art when reviewing the above description. An abstract is provided to comply with the requirements of 37 CFR § 1.72 (b) so that the reader can quickly determine the nature of the technical disclosure. The submitted abstract should be understood as not being used to interpret or limit the scope or meaning of the claims. Moreover, in the above specific embodiments, various features may be grouped together to simplify the present disclosure. This should not be interpreted as unclaimed public features being necessary for any claim. Instead, the subject matter of the invention may be less than all the features of a specific disclosed embodiment. Therefore, the attached claims are thus incorporated into the specific embodiments as examples or embodiments, wherein each claim is independently a separate embodiment, and it is envisioned that these embodiments can be combined with each other in various combinations or arrangements. The scope of the present invention should be determined with reference to the attached claims and the full scope of equivalents authorized by these claims.
Claims
1. A method for wireless communication performed by an analyte sensor system, the method comprising: sending one or more first invite messages having a first payload size when the list of previously authenticated devices has at least one unpopulated entry; When the list includes at least one device, sending one or more second invite messages having a second payload size that is smaller than the first payload size; and A communication session is established between the analyte sensor system and at least one device based on at least one of the first invitation message or the second invitation message.
2. The method according to claim 1, further comprising: When the list does not include at least one unpopulated entry, sending the one or more first invite messages is refrained from. The method of claim 1 , wherein the one or more second invitation messages are further sent when the list does not include at least one unpopulated entry. The method of claim 1 , wherein the one or more second invite messages are sent after the one or more first invite messages.
5. The method according to claim 1, wherein: The one or more first invitation messages include a Generic Address Profile (GAP) address of the analyte sensor system; and The one or more first invitation messages have one or more invitation data structures. 6 . The method of claim 1 , wherein the one or more second invitation messages include only a Generic Address Profile (GAP) address of the analyte sensor system.
7. A method for wireless communication performed by an analyte sensor system, the method comprising: establishing a connection between a transmitter of the analyte sensor system and a display device; After establishing the connection, receiving at least a first packet from the display device; determining a transmit power for a second packet based at least in part on a current transmit power level of the transmitter and a signal strength of the first packet; as well as The second packet is transmitted to the display device at the determined transmission power of the second packet.
8. The method according to claim 7, further comprising: After sending the second packet, receiving at least a third packet from the display device; determining a transmit power of a fourth packet based at least in part on the current transmit power level of the transmitter and the signal strength of the third packet; as well as The fourth packet is transmitted to the display device at the determined transmission power of the fourth packet.
9. The method of claim 7, wherein determining the transmit power comprises: When the signal strength of the first packet is less than a threshold and the current transmission power level is equal to a first transmission power level, the transmission power is increased from the first transmission power level to a second transmission power level.
10. The method of claim 7, wherein determining the transmit power comprises: When the signal strength is greater than or equal to a threshold, the transmit power is maintained at the current transmit power level.
11. The method of claim 7, wherein determining the transmit power comprises: When the signal strength of the first packet is greater than a threshold and the current transmission power level is equal to a first transmission power level, the transmission power is reduced from the first transmission power level to a second transmission power level.
12. The method of claim 7, wherein determining the transmit power comprises: When the signal strength of the first packet is less than or equal to a threshold, the transmit power is maintained at the current transmit power level.
13. The method of claim 7, wherein establishing the connection comprises: A connection request is received from the display device in response to a general invitation from the sender.
14. The method of claim 7, wherein establishing the connection comprises: A reconnection request is received from the display device in response to a target invitation from the sender.
15. A method for wireless communication performed by an analyte sensor system, the method comprising: determining one or more properties of a predefined set of characteristics associated with the analyte sensor system; configuring each of the one or more properties via a custom configuration file for the analyte sensor system such that a client characteristic configuration descriptor (CCCD) is enabled as a default setting upon each connection between the analyte sensor system and a display device; as well as Prior to initializing a processor of the analyte sensor system, the processor is configured using the configured one or more properties.
16. The method according to claim 15, further comprising: Establishing a connection with the display device; After establishing the connection, receiving a CCCD enable indication for at least one of the one or more properties from the display device; as well as In response to the CCCD enabling indication, modifying the corresponding CCCD for the at least one of the one or more properties is prohibited.
17. The method according to claim 15, further comprising: Establishing a connection with the display device; After establishing the connection, receiving a CCCD disabling indication for at least one of the one or more properties from the display device; and In response to the CCCD disable indication, the at least one of the one or more properties is modified to cause the corresponding CCCD to be disabled.
18. A method for wireless communication performed by a display device, the method comprising: configuring an application via a custom configuration file of the display device to disable at least one of: enabling or disabling a corresponding client characteristic configuration descriptor (CCCD) for each predefined characteristic in a set of predefined characteristics associated with an analyte sensor system; establishing a connection with the analyte sensor system; as well as After establishing the connection, at least one protocol is executed with the analyte sensor system without enabling and disabling the CCCD for a first characteristic in the set of predefined characteristics associated with the at least one protocol.
19. The method of claim 18, wherein the at least one procedure comprises an authentication procedure.
20. The method of claim 18, wherein the at least one procedure comprises a synchronization procedure.
21. The method of claim 18, wherein at least one of the procedures comprises reading an analyte value.
22. An analyte sensor system, the analyte sensor system comprising: a memory including executable instructions; and One or more processors configured to execute the executable instructions and cause the analyte sensor system to: sending one or more first invite messages having a first payload size when the list of previously authenticated devices has at least one unpopulated entry; When the list includes at least one device, sending one or more second invite messages having a second payload size that is smaller than the first payload size; and A communication session is established between the analyte sensor system and at least one device based on at least one of the first invitation message or the second invitation message.
23. The analyte sensor system of claim 22, wherein the one or more processors are further configured to cause the analyte sensor system to refrain from sending the one or more first invitation messages when the list does not include at least one unpopulated entry.
24. The analyte sensor system of claim 22, wherein the one or more processors are further configured to cause the analyte sensor system to send the one or more second invitation messages when the list does not include at least one unpopulated entry.
25. The analyte sensor system of claim 22, wherein the one or more processors are further configured to cause the analyte sensor system to send the one or more second invitation messages subsequent to the one or more first invitation messages.
26. The analyte sensor system of claim 22, wherein: The one or more first invitation messages include a Generic Address Profile (GAP) address of the analyte sensor system; and The one or more first invitation messages have one or more invitation data structures.
27. The analyte sensor system of claim 22, wherein the one or more second invitation messages include only a Generic Address Profile (GAP) address of the analyte sensor system.
28. An analyte sensor system, the analyte sensor system comprising: a memory including executable instructions; and One or more processors configured to execute the executable instructions and cause the analyte sensor system to: establishing a connection between a transmitter of the analyte sensor system and a display device; After establishing the connection, receiving at least a first packet from the display device; determining a transmit power for a second packet based at least in part on a current transmit power level of the transmitter and a signal strength of the first packet; as well as The second packet is transmitted to the display device at the determined transmission power of the second packet.
29. The analyte sensor system of claim 28, wherein the one or more processors are further configured to cause the analyte sensor system to: After sending the second packet, receiving at least a third packet from the display device; determining a transmit power for a fourth packet based at least in part on the current transmit power level of the transmitter and the signal strength of the third packet; and The fourth packet is transmitted to the display device at the determined transmission power of the fourth packet.
30. An analyte sensor system according to claim 28, wherein, in order to determine the transmit power, the one or more processors are configured to cause the analyte sensor system to increase the transmit power from the first transmit power level to a second transmit power level when the signal strength of the first group is less than a threshold and the current transmit power level is equal to the first transmit power level.
31. The analyte sensor system of claim 28, wherein to determine the transmit power, the one or more processors are configured to cause the analyte sensor system to maintain the transmit power at the current transmit power level when the signal strength is greater than or equal to a threshold.
32. An analyte sensor system according to claim 28, wherein, in order to determine the transmit power, the one or more processors are configured to cause the analyte sensor system to reduce the transmit power from the first transmit power level to a second transmit power level when the signal strength of the first group is greater than a threshold and the current transmit power level is equal to the first transmit power level.
33. An analyte sensor system according to claim 28, wherein, in order to determine the transmit power, the one or more processors are configured to cause the analyte sensor system to maintain the transmit power at the current transmit power level when the signal strength of the first group is less than or equal to a threshold.
34. The analyte sensor system of claim 28, wherein to establish the connection, the one or more processors are configured to cause the analyte sensor system to receive a connection request from the display device in response to a general invitation from the transmitter.
35. The analyte sensor system of claim 28, wherein to establish the connection, the one or more processors are configured to cause the analyte sensor system to receive a reconnection request from the display device in response to a target invitation from the transmitter.
36. An analyte sensor system, the analyte sensor system comprising: a memory including executable instructions; and One or more processors configured to execute the executable instructions and cause the analyte sensor system to: determining one or more properties of a predefined set of characteristics associated with the analyte sensor system; configuring each of the one or more properties via a custom configuration file for the analyte sensor system such that a client characteristic configuration descriptor (CCCD) is enabled as a default setting upon each connection between the analyte sensor system and a display device; as well as Prior to initializing a processor of the analyte sensor system, the processor is configured using the configured one or more properties.
37. The analyte sensor system of claim 36, wherein the one or more processors are further configured to cause the analyte sensor system to: Establishing a connection with the display device; After establishing the connection, receiving a CCCD enable indication for at least one of the one or more properties from the display device; and In response to the CCCD enabling indication, modifying the corresponding CCCD for the at least one of the one or more properties is prohibited.
38. The analyte sensor system of claim 37, wherein the one or more processors are further configured to cause the analyte sensor system to: Establishing a connection with the display device; After establishing the connection, receiving a CCCD disabling indication for at least one of the one or more properties from the display device; and In response to the CCCD disable indication, the at least one of the one or more properties is modified to cause the corresponding CCCD to be disabled.
39. A display device, comprising: a memory including executable instructions; and One or more processors configured to execute the executable instructions and cause the analyte sensor system to: configuring an application via a custom configuration file of the display device to disable at least one of: enabling or disabling a corresponding client characteristic configuration descriptor (CCCD) for each predefined characteristic in a set of predefined characteristics associated with an analyte sensor system; establishing a connection with the analyte sensor system; as well as After establishing the connection, at least one protocol is executed with the analyte sensor system without enabling and disabling the CCCD for a first characteristic in the set of predefined characteristics associated with the at least one protocol.
40. The display device of claim 39, wherein the at least one procedure comprises an authentication procedure.
41. The display device of claim 39, wherein the at least one protocol comprises a synchronization protocol.
42. The display device of claim 39, wherein the at least one procedure comprises reading an analyte value.
43. An analyte monitoring system, the analyte monitoring system comprising: Display devices; and An analyte sensor system, wherein: The analyte sensor system is configured to: sending one or more first invite messages having a first payload size when the list of previously authenticated devices has at least one unpopulated entry; When the list includes at least one device, sending one or more second invite messages having a second payload size that is smaller than the first payload size; and establishing a communication session between the analyte sensor system and a display device based on at least one of the first invitation message or the second invitation message; and The display device is configured as follows: receiving at least one of the one or more first invite messages having the first payload size or the one or more second invite messages having the second payload size; as well as The communication session is established between the analyte sensor system and the display device based on at least one of the first invitation message or the second invitation message.
44. An analyte monitoring system, the analyte monitoring system comprising: Display devices; and An analyte sensor system, wherein: The analyte sensor system is configured to: establishing a connection between a transmitter of the analyte sensor system and the display device; After establishing the connection, receiving at least a first packet from the display device; determining a transmit power for a second packet based at least in part on a current transmit power level of the transmitter and a signal strength of the first packet; and transmitting the second packet to the display device at the determined transmission power of the second packet; and The display device is configured as follows: establishing the connection between the transmitter of the analyte sensor system and the display device; after establishing the connection, sending at least the first packet to the analyte sensor system; The second packet is received from the analyte sensor system at the transmit power determined based on the signal strength of the first packet.
45. An analyte monitoring system, the analyte monitoring system comprising: Display devices; and An analyte sensor system, wherein: The analyte sensor system is configured to: determining one or more properties of a predefined set of characteristics associated with the analyte sensor system; configuring each of the one or more properties via a custom configuration file for the analyte sensor system such that a client characteristic configuration descriptor (CCCD) is enabled as a default setting upon each connection between the analyte sensor system and a display device; and prior to initializing a processor of the analyte sensor system, configuring the processor using the configured one or more properties; and The display device is configured as follows: configuring an application via the custom configuration file of the display device to disable at least one of: enabling or disabling a corresponding CCCD for each predefined characteristic in a set of predefined characteristics associated with the analyte sensor system; establishing a connection with the analyte sensor system; and After establishing the connection, at least one protocol is executed with the analyte sensor system without enabling and disabling the CCCD for a first characteristic in the set of predefined characteristics associated with the at least one protocol.
Citation Information
Patent Citations
Systems and methods for replacing signal artifacts in a glucose sensor data stream
US20050043598A1
Integrated receiver for continuous analyte sensor
US20050154271A1
Integrated delivery device for continuous glucose sensor
US20050192557A1
Signal processing for continuous analyte sensor
US20050203360A1
Transcutaneous analyte sensor
US20060222566A1