Systems, devices, and methods for processing wireless communications in analyte monitoring environment
By sending dummy data in the on-body equipment of the analyte monitoring system, the timing requirements violations caused by processing delays are solved, and the consistency of the wireless communication protocol and system stability are ensured.
Patent Information
- Application Number
- CN202411705865.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2019-04-18
- Filing Date
- 2020-04-17
- Publication Date
- 2025-03-07
AI Technical Summary
In an analyte monitoring system, there are wireless communication challenges in timing requirements for protocol execution due to processing and other delays, especially in maintaining consistency with the communication protocol.
Consistency with the communication protocol is maintained by sending dummy data in the body device until the second device is ready to respond. This method involves incorporating and/or accommodating dummy data in the communication hierarchy to ensure smooth protocol execution.
Effectively resolve the timing requirements violations due to processing delays, ensuring protocol consistency and system stability of wireless communications in the analyte monitoring system.
Smart Images

Figure CN119564158A_ABST
Abstract
Description
[0001] This application is a divisional application of the Chinese application with application number 202080044005.8, application date April 13, 2020, and invention name “Systems, devices and methods for processing wireless communications in an analyte monitoring environment”, and all contents are incorporated herein by reference.
[0002] Cross-reference to related applications
[0003] This application claims priority to and the benefit of U.S. Provisional Application No. 62 / 836,059, filed on April 18, 2019, the entire contents of which are incorporated herein by reference and for all purposes. Technical Field
[0004] The present subject matter generally relates to a system, device, and method for maintaining compliance with the timing requirements of a communication protocol. Background Art
[0005] Detection and / or monitoring of analyte levels (such as glucose, ketones, lactate, oxygen, hemoglobin A1C, etc.) is extremely important to the health of diabetic patients, who typically monitor their glucose levels to ensure that they remain within a clinically safe range, and may also use this information to determine if and / or when insulin is needed to lower the glucose level in their body or when additional glucose is needed to raise the glucose level in their body.
[0006] Growing clinical data demonstrates a strong correlation between frequency of glucose monitoring and glycemic control. Despite this correlation, many individuals diagnosed with diabetes fail to monitor their glucose levels as frequently as they should due to a combination of factors including convenience, test judgment, pain associated with glucose testing, and cost.
[0007] Analyte monitoring systems have been developed that help individuals monitor their glucose and / or other analyte levels more frequently. These systems typically utilize devices that reside in the patient's body or on his body, and have sensors that continuously or repeatedly measure the patient's glucose level during the sensor lifespan. The device can wirelessly send the measured information to another device (typically a smart device, a computing device, or other types of glucose information readers). Wireless communication increases the convenience and user-friendliness of the system. However, when performing wireless communication according to the protocol with timing requirements for processing and other delayed timing requirements that may exist in the protocol monitoring system, challenges may occur.
[0008] For these and other reasons, there is a need for analyte monitoring systems, devices, and methods that are able to maintain compliance with wireless protocol requirements. Summary of the invention
[0009] Exemplary embodiments of systems, devices, and methods for communicating in analyte monitoring systems according to applicable communication protocols are described herein. In many embodiments, a first device of a system may send a command to a second device of the system, and the second device may encounter processing delays when preparing data in response to the command. In these or other cases, the second device may send dummy data to the first device to maintain consistency with the communication protocol until the second device is ready to send data in response to the command. Many different embodiments for incorporating and / or accommodating the presence of dummy data in a communication hierarchy are provided.
[0010] Other systems, devices, methods, features, and advantages of the subject matter described herein will be or will become apparent to one skilled in the art upon examination of the following figures and detailed description. All such additional systems, methods, features, and advantages are included within this specification, are within the scope of the subject matter described herein, and are protected by the appended claims. Features of the exemplary embodiments should in no way be construed to limit the appended claims without explicit recitation of such features in the claims. BRIEF DESCRIPTION OF THE DRAWINGS
[0011] The details of the subject matter described herein regarding its structure and operation may be apparent by studying the accompanying drawings, in which reference numerals represent the same components. The components in the drawings are not necessarily to scale, with emphasis placed on illustrating the principles of the subject matter. In addition, all illustrations are intended to convey concepts, in which relative sizes, shapes, and other detailed attributes may be shown schematically rather than literally or precisely.
[0012] Figure 1 is a block diagram depicting an exemplary embodiment of an in vivo analyte monitoring system.
[0013] Figure 2 is a block diagram depicting an exemplary embodiment of a reader device.
[0014] FIG. 3A to FIG. 3B is a block diagram depicting an exemplary embodiment of an on body device.
[0015] FIG. 4A to FIG. 4D is a flow chart depicting an exemplary embodiment of a method of communicating in an analyte monitoring system.
[0016] FIG. 5A to FIG. 5B is an information flow diagram describing an exemplary embodiment of communications in an analyte monitoring system. DETAILED DESCRIPTION
[0017] Before describing the present subject matter in detail, it should be understood that the present disclosure is not limited to the particular embodiments described, as such may, of course, vary. It should also be understood that the terminology used herein is for the purpose of describing particular embodiments only, and is not intended to be limiting, as the scope of the present invention will be limited only by the appended claims.
[0018] In general, embodiments of the present disclosure are used with systems, devices, and methods for detecting at least one analyte (such as glucose) in a body fluid (e.g., subcutaneously in the interstitial fluid ("ISF") or blood, in the dermal fluid of the dermis, or otherwise). Thus, many embodiments include in vivo analyte sensors that are structurally configured such that at least a portion of the sensor is positioned or can be positioned in the body to obtain information about at least one analyte of the body. However, the embodiments disclosed herein may be used with in vivo analyte monitoring systems that incorporate in vitro capabilities as well as purely in vitro or ex vivo analyte monitoring systems, including those that are completely non-invasive.
[0019] In addition, the embodiments described herein may be used with devices that sense biometrics other than analyte data, such as heart rate, blood pressure, temperature, perspiration, intraocular pressure, etc. The embodiments described herein may be used with devices that sense motion and / or activity level alone or in combination with any other metric. Thus, the embodiments described herein are not limited to medical applications and may be used with other non-medical systems in which radio frequency (RF) communication between devices is employed.
[0020] However, before describing the embodiments in detail, it is first necessary to describe examples of devices that may be present, for example, within an in vivo analyte monitoring system, as well as examples of their operation, all of which may be used with the embodiments described herein.
[0021] Exemplary Embodiments of Analyte Monitoring Systems
[0022] In vivo monitoring system may include a sensor, which contacts the user's body fluids when positioned in the body and senses the analyte level contained therein. The sensor may be a part of an OBD, which is located on the user's body and contains an electronic device and a power supply that can realize and control analyte sensing. On-body devices and their variants may also be referred to as "sensor devices", "on-body electronic devices", "sensor control devices" or "sensor communication devices", etc. As used herein, these terms are not limited to devices with in vivo analyte sensors, and encompass devices with other types of off-body sensors, whether biometric (e.g., photon analyte sensors, heart rate sensors, temperature sensors, etc.) or non-biometric. The term "on-body" includes devices that are directly located on the body (e.g., attached to the skin), completely in the body (e.g., completely implanted devices), or very close to the body, such as wearable devices (e.g., glasses, watches, wristbands or bracelets, ties or necklaces, etc.) or devices in pockets, etc.
[0023] The in vivo monitoring system may also include one or more reading devices that read information about the sensed level from the on-body device. These reader devices may process and / or display the sensed analyte information to the user in any form. These devices and variations thereof may be referred to as "handheld reader devices," "readers," "handheld electronic devices" (or handheld), "portable data processing" devices or units, "information receivers," "receiver" devices or units (or simply receivers), "relay" devices or units, or "remote" devices or units, to name just a few examples.
[0024] In vivo analyte monitoring systems can be distinguished from "in vitro" systems that contact an in vitro biological sample and "ex vivo" systems that obtain information about the body or a substance in the body but do so while remaining completely outside the body without extracting a biological sample from inside the body. An in vitro system can include a meter device having a port for receiving an analyte test strip carrying a user's bodily fluid, which can be analyzed to determine the user's analyte level. As described above, the embodiments described herein can be used with in vivo systems, ex vivo systems, in vitro systems, and combinations thereof.
[0025] Embodiments described herein can be used to monitor and / or process information about any number of one or more different analytes. Analytes that can be monitored include, but are not limited to, acetylcholine, amylase, bilirubin, cholesterol, chorionic gonadotropin, glycosylated hemoglobin (HbA1c), creatine kinase (e.g., CK-MB), creatine, creatinine, DNA, fructosamine, glucose, glucose derivatives, glutamine, growth hormone, ketones, ketone bodies, lactate, peroxide, prostate-specific antigen, prothrombin, RNA, thyroid stimulating hormone, and troponin. The concentration of drugs can also be monitored, such as antibiotics (e.g., gentamicin, vancomycin, etc.), digitoxin, digoxin, drugs of abuse, theophylline, and warfarin. In embodiments where more than one analyte is monitored, the analytes can be monitored at the same or different times.
[0026] Exemplary embodiments of an in vivo analyte monitoring system may include one or more on-body devices, one or more reader devices, and one or more computer systems capable of communicating in a highly interconnected manner. Figure 1 is an illustrative block diagram depicting an exemplary embodiment of an in vivo analyte monitoring system 100 having an on body device (OBD) 102, a first reader device 120-1, a second reader device 120-2, a local or remote computer system 170, and a trusted computer system 180 (e.g., a server), wherein each reader device may be configured to communicate over a communication network 190. References herein to the reader device 120 refer to the reader devices 120-1 and 120-2.
[0027] The OBD 102 may communicate with the reader device 120 via two or more wireless communication paths, links or channels 141 and 142, either unidirectional or bidirectional. The links 141 and 142 are formed by communication circuitry and one or more antennas present in the OBD 102 and the reader device 120. In some embodiments, the ability for the devices 102 and 120 to communicate via additional wired communication paths, such as a Universal Serial Bus (USB) cable (not shown), may be implemented.
[0028] Wireless communication link 141 can have various implementations. In some embodiments, communication link 141 uses near-field electromagnetic induction for communication. Such links are sometimes referred to as close proximity communications because they require the transmitting device and the receiving device to be relatively close to each other compared to far-field (or transition zone) communications. Communications using electromagnetic induction typically occur within two wavelength distances, more typically within one wavelength distance between the transmitting device and the receiving device. In many embodiments, electromagnetic induction-based communications occur only within a foot (12 inches) or less, depending in particular on the frequency and power of the transmission. Examples include "near field communication" (NFC) protocols, which refer to multiple protocols (or standards) that describe the operating parameters, modulation schemes, encodings, transmission speeds, frame formats, and command definitions of NFC devices. Some examples of NFC devices operating at 13.56 megahertz (Mhz) The following is a non-exhaustive list of examples of these protocols: ECMA-340, ECMA-352, ISO / IEC 14443, ISO / IEC 15693, ISO / IEC 18000-3, ISO / IEC 18092, and ISO / IEC 21481, all of which are incorporated herein by reference in their entirety and for all purposes. Examples also include radio frequency identification (RFID) protocols.
[0029] The response communication using electromagnetic induction may be generated passively, wherein power transmitted by the transmission from the first device is captured by the receiving second device and used to transmit the second device's response back to the first device. The response communication using electromagnetic induction may be generated actively, such that the receiving second device uses power from its own power source alone or in combination with power captured from the received transmission to transmit power for the response communication back to the first device.
[0030] Transmitting the transmission (e.g., a request for analyte data) from the reader device 120 to the OBD 102 may cause the OBD 102 to respond with its own transmission, such as analyte data obtained or derived from measurements taken by the sensor 104. This process of transmitting from the reader 120 to the OBD 102 and receiving responses from the OBD 102 may be referred to as "scanning" or performing a "scan" of the OBD 102. In many embodiments, the OBD 102 is configured as a passive device, wherein power from a transmission received from the reader device 120 via the link 141 is captured and used to transmit responsive communication power from the OBD 102 back to the reader device 120. This may be referred to as "passive scanning." In such embodiments, the OBD 102 may perform power transmissions without using power from a power source (e.g., a coin cell) internal to the OBD 102. In other embodiments, the OBD 102 may be configured as an active device, wherein power from transmissions received over the link 141 from the reader device 120 is captured or not captured, and power used to send response communications from the OBD 102 back to the reader device 120 is generated in whole or in part by a power source internal to the OBD 102. This may be referred to as "active scanning."
[0031] The wireless communication link 142 utilizes a communication protocol different from that of the link 141, and relies primarily on the longer-range far-field characteristics of electromagnetic transmission, where the transmission does not occur solely through inductive coupling. Link 142 can communicate over the same very close communication range as link 141, and substantially farther. Link 142 can also have various implementations. In order to form link 142, OBD 102 and reader 120 may include communication circuits and one or more antennas configured to communicate through standardized or proprietary protocols and formats. For example, link 142 can be formed using Bluetooth (e.g., traditional Bluetooth or Bluetooth low energy (BLE)) frequencies and protocols. Link 142 can also be formed in other frequency bands and use other protocols, such as ultra-high frequency (UHF) bands (e.g., between 450 and 470 megahertz) and dedicated protocols, Wi-Fi protocols of various frequencies, other dedicated protocols, etc., including those communication protocols existing on the date of this application or their later developed variants. Although both links 141 and 142 can utilize various protocols and frequencies, for ease of distinction, they may be referred to herein as NFC link 141 and Bluetooth (BT) link 142. In some embodiments, NFC link 141 is used to initiate and activate on body device 102, while analyte data is transmitted only via BT link 142.
[0032] The OBD 102 may be configured to communicate with multiple reader devices 120 via different instances of links 141 and 142. Figure 1This is illustrated by the presence of a first reader device 120-1 that is capable of communicating with the OBD 102 via an NFC link 141-1 and a BT link 142-1 and by the presence of a second reader device 120-2 that is capable of communicating with the OBD 102 via an NFC link 141-2 and a BT link 142-2. Additional reader devices 120 may also be present.
[0033] The reader device 120 may communicate with multiple OBDs 102. For example, each reader device 120 may communicate with a first OBD 102 on a user's body, and then during the life of the first OBD, that OBD 102 may be discarded and replaced with a second OBD 102 on the user's body, and the same reader device 120 may again communicate with that second OBD. In some embodiments, a particular reader device 120 may simultaneously communicate with multiple OBDs located on the same or different users.
[0034] The reader device 120 may also be capable of wired, wireless, or a combination of communications with other devices. Figure 1 The reader device 120-1 is depicted as communicating with a computer system 170 (e.g., a local or remote computer system) via a communication link, path, or channel 171, and also communicating with a network 190, such as the Internet or a cloud, via a communication link, path, or channel 191. (Reader device 120-2 may also communicate with these devices in a similar manner, but for ease of illustration, these connections are not shown.) Reader device 120-1 may communicate with a trusted computer system 180 via network 190 using link 191. Trusted computer system 180 may communicate with computer system 170 via communication link, path, or channel 192. For example, trusted computer system 180 may be a server that provides analyte analysis software to reader device 120-1 and / or computer system 170, such as in the form of a downloadable software application or "app" or as a web page accessible to an Internet browser.
[0035] The communication links 171, 191, and 192 may be wireless, wired, or both, may be unidirectional or bidirectional, and may be part of a telecommunications network, such as a Wi-Fi network, a local area network (LAN), a wide area network (WAN), the Internet, or other data network. In some cases, the communication paths 171 and 172 may be at least partially the same path (e.g., such as when communicating via Wi-Fi). All communications on the various paths may be encrypted, and the OBD 102, reader device 120-1, reader device 120-2, computer system 170, and trusted computer system 180 may each be configured to encrypt and decrypt those sent and received communications.
[0036] Variations of devices 102 and 120, as well as other components of in vivo based analyte monitoring systems suitable for use with the system, device, and method embodiments described herein, are described in U.S. Publication No. 2011 / 0213225 (the '225 publication), the entire contents of which are incorporated herein by reference for all purposes.
[0037] Reference again Figure 1 , the OBD 102 may include a housing 103 that houses an analyte monitoring circuit and a power source. In this embodiment, the analyte monitoring circuit is electrically connected to an analyte sensor 104, which extends through an adhesive patch 105 and extends out of the housing 103. The adhesive patch 105 contains at least one adhesive layer (not shown) for attachment to the skin surface of the user's body, and optionally a second adhesive layer on the opposite surface for attachment to the housing 103. Other forms of attachment to the body and / or housing 103 may be used in addition to or in lieu of adhesives.
[0038] Analyte sensor 104 is adapted to be inserted at least partially into the body of the user, where it can form fluid contact with the user's body fluid (e.g., ISF, skin fluid or blood), and is used to measure the user's analyte-related data together with the analyte monitoring circuit. Sensor 104 and any accompanying sensor electronics can be applied to the body in any desired manner. For example, an insertion device (not shown) can be used to position all or part of the analyte sensor 104 through the outer surface of the user's skin and contact with the user's body fluid. When doing so, the insertion device can also position OBD 102 and adhesive patch 105 on the skin. In other embodiments, the insertion device can first position sensor 104, and then the accompanying electronic equipment (e.g., wireless transmission circuit and / or data processing circuit, etc.) can be coupled to sensor 104 manually or by means of mechanical equipment. Examples of insertion devices are described in U.S. Publication Nos. 2008 / 0009692, 2011 / 0319729, 2015 / 0018639, 2015 / 0025345, and 2015 / 0173661, all of which are incorporated herein by reference in their entirety and for all purposes.
[0039] After collecting the raw analog data from the user's body, the OBD 102 optionally applies analog signal conditioning to the data and converts the analog data into a digital form of the conditioned raw data. In some embodiments, the digital raw data can be encoded to be sent to another device, such as a reader device 120, which then algorithmically processes the digital raw data into a final form representing the user's measured biometrics (e.g., a form that is easy to make suitable for display to the user). The data processed by the algorithm can then be formatted or graphically processed so that it is digitally displayed to the user. In other embodiments, the OBD 102 itself can algorithmically process the digital raw data into a final form representing the user's measured biometrics (e.g., analyte levels), then encode the data and wirelessly transmit it to the reader device 120, which can then format or graphically process the received data to be digitally displayed to the user. In other embodiments, the OBD 102 can graphically process the final form of the data so that it is ready for display, and display the data on the display of the OBD 102 or send the data to the reader device 120. In some embodiments, the final form of the biometric data (before graphical processing) is used by the system (e.g., for incorporation into a diabetes monitoring solution) without processing for display to the user. In some embodiments, the OBD 102 and reader device 120 send the digital raw data to another computer system for algorithmic processing and display. The transmission of these various forms of data may occur over one or more of the links 141 and 142.
[0040] Each reader device 120 within the system 100 may include: a display 122 for outputting information to a user and / or accepting input from a user; and an optional input component 121 (or more), such as a button, actuator, touch-sensitive switch, capacitive switch, pressure-sensitive switch, scroll wheel, etc., for inputting data, commands, or otherwise controlling the operation of the reader device 120. In some embodiments, the display 122 and the input component 121 may be integrated into a single component, for example, where the display can detect the presence and location of physical contact touches on the display, such as a touch screen user interface. In some embodiments, the input component 121 of the reader device 120 may include a microphone, and the reader device 120 may include software configured to analyze audio input received from the microphone so that the functions and operations of the reader device 120 can be controlled by voice commands. In some embodiments, the output component of the reader device 120 includes a speaker (not shown) for outputting information as an audible signal. Similar voice response components, such as a speaker, microphone, and software program, may be included in the OBD 102 to generate, process, and store voice-driven signals.
[0041] The reader device 120 may also include one or more data communication ports 123 for wired data communication with an external device such as the computer system 170 or the OBD 102. Exemplary data communication ports include all types of serial or parallel connectors, including all variations of USB ports, RS-232 ports, Ethernet ports, FireWire ports, or other similar data communication ports configured to connect to a compatible data cable. The reader device 120 may also include an integrated or attachable in vitro glucose meter including an in vitro test strip port (not shown) to receive an in vitro glucose test strip for performing in vitro blood glucose measurements.
[0042] The reader device 120 may display measured biometric data wirelessly received from the OBD 102, and may also be configured to output alarms, warning notifications, glucose values, etc., which may be visual, audible, tactile, or any combination thereof. Further details and other display embodiments may be found, for example, in U.S. Publication No. 2011 / 0193704, the entire contents of which are incorporated herein by reference for all purposes.
[0043] The reader device 120 may act as a data conduit or relay to transfer measured data from the OBD 102 to the computer system 170 or the trusted computer system 180. In certain embodiments, data received from the OBD 102 may be stored (permanently or temporarily) in one or more memories of the reader device 120 before being uploaded to the systems 170, 180 or the network 190.
[0044] The computer system 170 may be a personal computer, a server terminal, a laptop computer, a tablet computer, or other suitable data processing device. The computer system 170 may be (or include) software for data management and analysis and for communicating with components in the analyte monitoring system 100. A user or medical professional may use the computer system 170 to display and / or analyze biometric data measured by the OBD 102. In some embodiments, the OBD 102 may transmit biometric data directly to the computer system 170 without an intermediary such as a reader device 120, or indirectly using an Internet connection to transmit biometric data without first sending to the reader device 120. The operation and use of the computer system 170 are further described in the '225 disclosure incorporated herein. The analyte monitoring system 100 may also be configured to operate with a data processing module (not shown), also as described in the incorporated '225 disclosure.
[0045] Trusted computer system 180 may be physically or virtually owned by a manufacturer or dealer of OBD 102 via a secure connection and may be used to perform authentication of OBD 102, for secure storage of user biometric data, and / or as a server serving a data analysis program (e.g., accessible via a web browser) for performing analysis of user measurement data.
[0046] Exemplary Embodiments of a Reader Device
[0047] The reader device 120 may be a dedicated reader device custom manufactured to interface with the OBD 102. The reader device 120 may also be a mobile communication device, such as a mobile phone, including but not limited to a Wi-Fi or Internet enabled smart phone, tablet, or personal digital assistant (PDA). The reader device 120 may also be configured as a mobile smart wearable electronic component, such as smart glass or smart glasses, or a smart watch or wristband.
[0048] Figure 2 1 is a block diagram of an exemplary embodiment of a reader device 120 (e.g., a dedicated reader, a smart phone, etc.). Here, the reader device 120 includes an input component 121, a display 122, and a processor or processing circuit 206 having a memory 203, a first communication circuit 241 coupled to a first antenna 251, a second communication circuit 242 coupled to an optional second antenna 252, a memory 210, a power source 216, and a power management circuit 218.
[0049] The reader 120 may be implemented in a highly interconnected manner, wherein the power source 216 and Figure 2 Each component shown is coupled, and those components that transmit or receive data, information, or commands (e.g., processor 206, memory 203, storage 210, power management circuit 218, input component 121, display 122, first communication circuit 241 and second communication circuit 242) can be communicatively coupled to each other such component via, for example, one or more communication connections or buses 220. Figure 2 is a simplified representation of the typical hardware and functionality that resides within a dedicated reader, and one of ordinary skill in the art will readily recognize that other hardware and functionality may also be included (e.g., codecs, drivers, glue logic, global positioning system (GPS) circuits, crystal oscillators, phase-locked loops (PLLs), etc.).
[0050] The first communication circuit 241 and the antenna 251 are configured to communicate (send and / or receive) via the communication link 141, while the second communication circuit 242 and the antenna 252 are configured to communicate via the communication link 142. In some embodiments, the antenna 251 and the antenna 252 may be a single shared antenna (e.g., capable of sending and receiving on NFC and BT frequencies). The communication circuits 241 and 242 may be implemented as one or more chips and / or components (e.g., transmitters, receivers, transceivers, encoders, decoders, and / or other communication circuits) that perform functions for communicating on the respective communication links 141 and 142.
[0051] Antennas 251 and 252 may be configured as required by the application and communication protocol. Antennas 251 and 252 may have the same or different configurations and may be, for example, printed circuit board (PCB) trace antennas, ceramic antennas, or discrete metal antennas. Antennas 251 and 252 may be configured as monopole antennas, dipole antennas, F-type antennas, loop antennas, etc.
[0052] Processor 206 may include one or more processors, microprocessors, controllers, and / or microcontrollers, each of which may be a discrete chip or distributed between (and a portion of) multiple different chips. Here, processor 206 includes on-board memory 203. Processor 206 may be connected to communication circuits 241 and 242 and perform analog-to-digital conversion, encoding and decoding, digital signal processing, and other functions that help convert data signals into a format (e.g., in-phase and quadrature) suitable for providing to communication circuits 241 and 242, which may then transmit the signals wirelessly. Processor 206 may also be connected to communication circuits 241 and 242 to perform the reverse functions required to receive wireless transmissions and convert them into digital data or information.
[0053] The processor 206 can execute software instructions stored in the memory 203 or 210. These instructions can cause the processor 206 to cause the communication circuits 241 and 242 to transmit, can cause the processor 206 to read and act on received transmissions, can cause the processor 206 to read inputs from the input component 121, display data or information on the display 122, read inputs from the display 122 when implemented as a touch screen, process data or information received from other devices (e.g., analyte data, calibration information, synchronization information received from the OBD 102, etc.), perform tasks to maintain synchronization with the OBD 102, etc.
[0054] The memory 210 may be shared by one or more of the various functional units present within the reader device 120, or may be distributed between two or more thereof (e.g., as separate memories present within different chips). The memory 210 may also be its own separate chip. The memories 203 and 210 are non-transitory and may be volatile (e.g., RAM, etc.) and / or non-volatile memory (e.g., ROM, flash memory, F-RAM, etc.).
[0055] The power source 216 may include one or more batteries, which may be rechargeable or disposable. The power management circuit 218 may regulate battery charging and monitor the use of the power source 216, boost power, perform DC conversion, and the like.
[0056] Reader device 120 can also include drug (e.g., insulin, etc.) delivery device or be integrated with drug (e.g., insulin, etc.) delivery device so that they, for example, share a common housing. The example of such drug delivery device can include a drug pump with a sleeve, which is kept in the body to allow infusion (e.g., a wearable pump for delivering basal insulin and bolus insulin) over a period of many hours or days. When combined with a drug pump, reader device 120 can include a reservoir for storing drugs, a pump and an infusion sleeve that can be connected to a sending tube. The pump can force the drug to enter the body of a diabetic from the reservoir through a pipeline and through a sleeve inserted therein. Other examples of drug delivery devices that can include (or integrate) reader device 120 include a portable injection device (e.g., an insulin pen) that only pierces the skin at each delivery and is subsequently removed. When combined with a portable injection device, reader device 120 can include an injection needle, a cartridge for carrying drugs, an interface for controlling the amount of the drug to be delivered, and an actuator for causing injection to occur. The device can be reused until the drug is exhausted, at which point the combined device can be discarded, or the cartridge can be replaced with a new cartridge, at which point the combined device can be reused. The needle can be replaced after each injection.
[0057] The combined device can be used as part of a closed-loop system (e.g., an artificial pancreas system that does not require user intervention to operate), a semi-closed-loop system (e.g., an insulin loop system that rarely requires user intervention to operate, such as to confirm changes in dosage), or an open-loop system. For example, the analyte level of a diabetic patient can be monitored in a repeated automatic manner by OBD 102, which can then transmit the monitored analyte level to the reader device 120, and can automatically determine the appropriate drug dose for controlling the analyte level of the diabetic patient and then deliver it to the body of the diabetic patient. Software instructions for controlling the pump and the amount of insulin delivered can be stored in the memory 203 and / or 210 of the reader device 120 and executed by the processing circuit 206. These instructions can also enable the calculation of the drug delivery amount and duration (e.g., bolus infusion and / or basal infusion curve) based on the analyte level measurements obtained directly or indirectly from OBD 102. In some embodiments, OBD 102 can determine the drug dose and transmit it to the reader device 120.
[0058] Exemplary Embodiments of On-Body Devices
[0059] Figure 3A 1 is a block diagram depicting an exemplary embodiment of an OBD 102 having an analyte sensor 104 and sensor electronics (including analyte monitoring circuitry). The sensor electronics may be implemented in one or more semiconductor chips, such as an application specific integrated circuit (ASIC), an off-the-shelf (OTS) chip, a programmable device (e.g., a PGA or FPGA, etc.), or others. The OBD 102 includes certain advanced functional units, including an analog front end (AFE) 302, a power management (or control) circuit 304, a processor or processing circuit 306, a memory 308, a first communication circuit 341, and a second communication circuit 342. In this embodiment, both the AFE 302 and the processor 306 are used as analyte monitoring circuitry, but in other embodiments, either circuit (or other circuit) may perform the analyte monitoring function.
[0060] The OBD 102 may be implemented in a highly interconnected manner, wherein the power source 312 is Figure 3A Each component shown is coupled, and those components in which data, information, or commands are transmitted or received (e.g., analog front end (AFE) 302, power management circuit 304, processor 306, memory 308, first communication circuit 341 and second communication circuit 342) can be communicatively coupled to each other such component via, for example, one or more communication connections or buses 320. Figure 3Ais a simplified representation of typical hardware and functionality located within the OBD 102 , and one of ordinary skill in the art will readily recognize that other hardware and functionality (eg, codecs, drivers, glue logic, crystal oscillators, phase-locked loops (PLLs)) may also be included.
[0061] The communication circuits 341 and 342 may be coupled to antennas 351 and 352, respectively, which may be located on-chip or off-chip (as shown here). The first communication circuit 341 and antenna 351 are configured to communicate (send and / or receive) via the communication link 141, while the second communication circuit 342 and antenna 352 are configured to communicate via the communication link 142. In some embodiments, antenna 351 and antenna 352 may be a single shared antenna (e.g., capable of sending and receiving on NFC and BT frequencies). The communication circuits 341 and 342 may be implemented as one or more components (e.g., transmitters, receivers, transceivers, passive circuits, encoders, decoders, and / or other communication circuits) that perform functions for communicating on the respective communication links 141 and 142.
[0062] Although not limited thereto, in some embodiments, the communication circuit 341 is passive and uses only power harvested from transmissions received from a second device (e.g., reader 120) to generate and propagate a response transmission back to the second device (such as when link 141 is an NFC link). In these and other embodiments, the communication circuit 342 may be active and may use power from the OBD power supply 312 to generate and propagate a transmission to the second device. The active communication circuit 342 allows the OBD 102 to generate a transmission autonomously and at the prompting of another device (e.g., without first receiving a request, polling signal, timing signal, etc. from the second device).
[0063] Processor 306 may include one or more processors, microprocessors, controllers, and / or microcontrollers, each of which may be a discrete chip or distributed among (and a portion of) multiple different chips. Processor 306 may interface with communication circuits 341 and 342 and perform analog-to-digital conversion, encoding and decoding, digital signal processing, and other functions that help convert data signals into a format (e.g., in-phase and quadrature) suitable for providing to communication circuits 341 and 342, which may then transmit the signals wirelessly. Processor 306 may also interface with communication circuits 341 and 342 to perform the reverse functions required to receive wireless transmissions and convert them into digital data or information.
[0064] Processor 306 may execute software instructions stored in memory 308. These instructions may cause processor 306 to cause communication circuits 341 and 342 to transmit communications generated by processor 306, may cause processor 306 to read and act on received transmissions to adjust the timing of timing circuit 310, to collect temperature information from a temperature sensor, to record and / or process measurements from analyte sensor 104, to monitor collected analyte data for actual or potential alarm conditions, to generate and cause transmission of alarm indications using communication circuit 342, to process data or information received from other devices (e.g., reader 120), to perform tasks to maintain synchronization with reader 120, and others.
[0065] The memory 308 may be shared by various components present within the OBD 102, or may be distributed between two or more of them. The memory 308 may also be a separate chip. The memory 308 is non-temporary and may be volatile and / or non-volatile memory. The OBD 102 may include an optional temperature (or other environmental factor) sensor (not shown) and a power source 312, which may be a coin cell or the like. The AFE 302 interfaces with the in vivo analyte sensor 104 and receives measurement data from it, converts it into digital form and outputs it to the processor 306, which in some embodiments may be processed in any manner described elsewhere herein. The data may then be provided to the communication circuits 341 and 342 for transmission to the reader device 120 (not shown) via antennas 351 and 352, for example, where the resident software application requires minimal further processing to display the data. Antennas 351 and 352 may be configured as required by the application and the communication protocol. Antennas 351 and 352 may have the same or different configurations and may be, for example, printed circuit board (PCB) trace antennas, ceramic antennas, or discrete metal antennas. Antennas 351 and 352 may be configured as monopole antennas, dipole antennas, F-type antennas, loop antennas, etc.
[0066] Figure 3B is a block diagram showing another exemplary embodiment of OBD 102. Here, OBD 102 includes two semiconductor chips 301 and 361. Chip 301 is an ASIC including AFE 302 and communication circuit 341 for NFC link 141. Chip 361 is a chip including processor 306, memory 308, communication circuit 342 for BT link 142, and power management circuit 304. Communication interface 320 can be configured in any desired manner. In one embodiment, chip 361 is a Bluetooth or BLE radio chip, and communication interface 320 is a serial interface, such as a serial peripheral interface (SPI). In other embodiments, interface 320 is a parallel interface.
[0067] Although Figure 3A and Figure 3B Embodiments of the OBD 102 are described that are capable of forming multiple communication links 141 and 142 , but all of the embodiments described herein may be implemented with an implementation of the OBD 102 that is capable of forming only one communication link.
[0068] Exemplary Embodiments of Communications Compensating for Processing Delays
[0069] Communications received by the OBD 102 may include one or more commands that cause the OBD 102 to take action, such as connecting power to internal circuits or otherwise transitioning from a zero power or low power state to a relatively higher power state, activating the sensor 104 (e.g., such as by applying a bias voltage to one or more electrodes), performing an analyte data measurement, reading out data stored in the memory 308 (e.g., measured analyte data, data identifying the OBD 102 (e.g., software version, serial number, etc.)), performing diagnostics, establishing a Bluetooth pairing, etc. These commands may be initiated by a user or may be automatically sent by the sending device as part of a software program. The command may be specified in an applicable standard or may be a custom command that requires a custom response.
[0070] Received communications typically require a response to be sent back to the reader 120. If the command is sent over the NFC link 141, the sending device will be in close proximity to the OBD 102. Otherwise, the sending device will be within range of the OBD 102. For ease of discussion, the sending device will be described herein as the reader 120.
[0071] After receiving the one or more commands, the OBD 102 will utilize its internal hardware, software, or a combination thereof to generate a response for transmission back to the reader 120. In some embodiments, the OBD 102 may even communicate with other devices on or near the user's body, or even with other user remote devices, as part of the process of communicating the information. The amount of time required for the OBD 102 to generate a response depends on many factors, such as the amount of processing required to generate the response, the speed of the hardware and / or software responsible for generating the response, the amount of data required for the response, etc.
[0072] Some communication protocols have a timing constraint or requirement for allocating a limited amount of time for a receiving device to respond. These protocols can be industry standard protocols or custom protocols. For example, in an embodiment where the communication sent by the NFC link 141 complies with the IS 015693 standard, those communications must be sent within the maximum amount of time allocated by the standard for the receiving device to respond. For example, most NFC commands including read multi-blocking commands, read single blocking commands, custom commands, and proprietary commands must be responded to within a set time limit. In one example, ISO 15693 specifies that the command is responded to within 323 microseconds (μs) from the time when the receiving device receives the command. Other standards can set other time limits, or the ISO 15693 standard can be modified to allocate different time limits.
[0073] In some cases, the OBD 102 may require more time than the set time limit to generate and send a response. Such processing delays may result in a violation of the set time limit and non-compliance with the standard. This may be particularly problematic when the reader 120 is a commercial smartphone, as the smartphone may interpret such a violation as an error or malfunction that prevents the communication from being completed.
[0074] Exemplary embodiments disclosed herein can compensate for the processing delay and maintain consistency by sending one or more responses including dummy data, which is data sent for consistency, but does not constitute data in whole or in part in response to a command. The data can be a predetermined bit sequence that is programmed into the reader or can be identified by the reader as representing dummy data. Alternatively, the data can be pseudo-random data generated according to an algorithm or code representing dummy data, so that when the reader decodes the pseudo-random data, the pseudo-random data is identified as dummy data. In another embodiment, the data can be predetermined or random, and its status as dummy data can be indicated by a flag located in, for example, a payload header, so that the reader 120 can discard the data after recognizing the presence of the flag.
[0075] Figure 4A4 is a flow chart depicting an exemplary embodiment of a method 400 for communicating by a receiving device, which is described herein as OBD 102. At 402, OBD 102 receives a transmission including a command from a transmitting device such as reader 120. At 404, OBD 102 processes the received command. This may include any steps necessary to decrypt, decode and / or verify the received command, as well as any steps necessary to generate information or data in response to the command (response data) for transmission back to reader 120. In this embodiment, it is assumed that step 404 requires more time than the time allocated by the communication protocol to transmit the response back to reader 120. Thus, at 406, OBD 102 transmits dummy data in response to reader 120. This occurs before the set response time limit expires in order to maintain compliance. The set time limit is then reset and a new (second) time period begins for the response. Before the second time period expires, OBD 102 transmits another response, which may include response data if ready. If not, the OBD 102 may again send dummy data to the reader 120, and the reader 120 may again reset the timeout in the process, which may be repeated iteratively until the response data is ready to be sent. At 408, the response data is sent back to the reader 120 in one or more transmissions, depending on the size of the payload and the constraints of the protocol, etc., and the completion of the response may be indicated by sending an indication such as an end of frame (EOF) sequence to the reader 120.
[0076] Figure 4B 4 is a flow chart depicting an exemplary embodiment of a method 420 for communication by a sending device, which will be described herein as a reader 120. At 422, the reader 120 sends a command to the OBD 102. At 424, the reader 120 receives a response from the OBD 102 within the time allocated by the protocol. At 426, the reader 120 reads the received response and determines whether it is dummy data or response data. In embodiments where the dummy data is a predetermined sequence or code (e.g., AAAA, FFFF, or other), the determination can be made by comparing the received response with a known predetermined sequence or code to identify whether it matches and thereby constitutes dummy data. If the received response does not match and meets other criteria for being valid data (such as meeting a cyclic redundancy check, being present in an appropriate format, etc.), it can be determined that the received response is response data. In embodiments where dummy data is indicated according to other techniques, such as generated according to a dummy data algorithm or indicated as dummy data by a flag in a header, the reader 120 can apply the appropriate technique to verify whether the received response is dummy data or response data.
[0077] If the received response is response data, reader 120 acts accordingly at 428. This may include storing the response data, displaying the response data to a user, transmitting the response data to another device, or any number of other actions apparent to those of ordinary skill in the art. If the received response is dummy data, method 420 may return and wait for another response at step 424. Reader 120 may discard or ignore dummy data. The process of receiving a response at step 424 and determining at 426 whether the received response is dummy data or response data may be repeated indefinitely until response data is received and the total time period for the sequential exchange of the communication is reached, system 100 times out, or another event that terminates method 420 occurs.
[0078] Figure 4C 4 is a flow chart depicting another exemplary embodiment of a method 440 for communicating by a sending device, which will be described herein as a reader 120. At 442, the reader 120 sends a command to the OBD 102. At 444, the reader 120 receives N sequential responses from the OBD 102, each sequential response within the time allocated by the protocol. For example, if the protocol sets the time limit to 1 millisecond, each sequential response is received within one millisecond of the previous response. In this embodiment, the reader 120 does not independently determine whether each received response is dummy data or response data, but is programmed to identify the correct number of responses that should be received in order to constitute a reliable response set for communication from the OBD 102. For example, the reader 120 may be programmed to recognize or expect that a specific command XYZ sent by the reader 120 to the OBD 102 should result in E individual responses received back from the OBD 102, where E is greater than or equal to 1. At 446, the reader 120 determines whether the number of responses N received is equal to the number of expected responses E. If so, the reader 120 can treat the E responses as response data (assuming the responses meet all other confirmation criteria) at 448 and act accordingly (e.g., store data, display data, etc.).
[0079] If the number of responses N received is greater than the number of expected responses E, then at 450, the reader 120 may treat the first N minus E (NE) responses as dummy data. This may include ignoring or discarding the first NE responses. This may also optionally include reading the first NE responses and verifying each as dummy data according to dummy data criteria for individual embodiments (e.g., comparison to known dummy data codes, reference to dummy data flags, etc.). In the case of the remaining E responses, the reader 120 may proceed to step 448 and treat the remaining E responses as response data, again assuming that other verification criteria are met, and act accordingly.
[0080] Figure 4D 4 is a flow chart of another exemplary embodiment of a method 460 of communication between a sending device and a receiving device, which will be described herein as a reader 120 and an OBD 102 at 462, respectively, with the reader 120 sending a command to the OBD 102, which receives and begins processing it at 464. In this embodiment, the OBD 102 is programmed to transmit a predetermined number (P) of dummy data responses back to the reader 120 before transmitting response data in the P+1st (and any subsequent) response. The predetermined number of dummy data responses is determined based on the expected amount of time required for the OBD to generate response data. The predetermined number can be determined and verified by testing during system development. For example, if the setup time period for the response is one millisecond (ms), and it is determined that the maximum time required for the OBD 102 to generate response data is 4.2 ms, then P can be preset to four, and the OBD 102 can be programmed to send four responses containing dummy data, and begin sending response data in the fifth response. Similarly, the reader 120 can be programmed to expect four responses containing dummy data before receiving response data in the fifth response.
[0081] refer to Figure 4D , at 466, the OBD 102 sends N responses to the reader 120, which receives the N responses at 468. At 470, the reader 120 may process the first P responses as dummy data and the remaining N minus P (NP) responses as response data. This may include ignoring or discarding the first P responses. It may also optionally include reading the first P responses to verify that they are dummy data. The reader 120 may read the P+1 responses as the first responses containing response data and continue through any remaining NP responses. Assuming the response data meets other verification criteria, the reader 120 may operate accordingly as described herein.
[0082] In some embodiments, the system 100 can be configured so that different commands have different numbers of predetermined responses that are utilized, for example, based on different processing times for different commands. For example, a first command can correspond to three predetermined dummy data responses, while a second command can correspond to four predetermined dummy data responses, and so on. In these embodiments, both the reader device and the on-body device are preferably pre-programmed to know the appropriate number of predetermined responses for each command, and the on-body device can be programmed to read the received command and determine the appropriate number of predetermined responses for the command. This configuration allows for more efficient use of communication bandwidth.
[0083] refer to FIG. 4A to FIG. 4DThe described embodiments are performed in systems where the time to process a received command may exceed the time allocated by a protocol or standard for a response. These embodiments may be used with any system where these substantial processing delays may be encountered, regardless of the cause of the processing delay. The following embodiments are intended to serve as non-exhaustive examples of topologies or situations where processing delays may exceed the allocated time, and many other examples are possible and within the scope of the subject matter described herein.
[0084] Return to reference Figure 3B In an embodiment where link 141 is an NFC link, in some examples, some NFC communications received by communication circuit 341 may be processed and responded to directly by ASIC 301 without interaction by chip 361. However, some commands may require a response generated by a more robust entity such as processor 306. In these cases, ASIC 301 may communicate the relevant portion of the received communication to chip 361, generating a response. Chip 361 may then generate response data and, once available, output the response data back to ASIC 301 to be sent as one or more responses from OBD 102 over NFC link 141.
[0085] Reader 120 may be programmed or configured to recognize responses in which the payload contains byte values that match the predetermined payload (e.g., ABCD, FFFF) as dummy data, and then ignore those responses (e.g., not store in memory) and continue to monitor NFC link 141 for response transmissions that include payload data in addition to the dummy data.
[0086] Figure 5A is an information flow diagram depicting an exemplary embodiment 500 for processing wireless communications to avoid violating a set response time limit. Figure 3B This embodiment 500 is described in the context of a configured OBD 102 , but this embodiment 500 is not limited thereto. Figure 5A The arrows in depict wireless transmissions from reader 102 to chip 301 of OBD 102 and back to reader 102, and internal wired communications within OBD 102 from chip 301 to chip 361 and back to chip 361, which may communicate, for example, via interface 320 configured as SPI.
[0087] At 501, a custom command is sent from the reader device 120 and received at the chip 301 of the OBD 102. At 502, the received custom command (e.g., relevant portions thereof or information representative of the received command) is then transmitted from the chip 301 to the chip 361 via the interface 320. The chip 361 then reads the command and begins the process of generating and outputting appropriate response data at 507. This may include the execution of algorithms, retrieval of data from memory, and / or other functions.
[0088] At the same time, chip 301 prepares a response to send, such as by using circuitry (e.g., ASIC circuitry) on chip 301. At 503, chip 301 sends a response including a start of frame (SOF) indication back to reader 120 via link 141. Any flags (at 504) and / or other parameters (at 505) of the response packet header are also sent back to reader 120, which can be easily determined with the timing of the response transmission set.
[0089] Assuming that chip 361 has not yet generated a response to the custom command, and the set time limit is approaching expiration, chip 301 sends dummy data to reader 120 at 506. The process continues, where a payload including dummy data is sent to reader 120 before each subsequent set time limit expires. The loop can continue repeatedly until 508 when chip 361 outputs a response data payload to chip 301. Chip 301 recognizes the receipt of the response data payload, and then chip 301 causes the response data payload to be sent to reader 120 at 509 (using as many sequential response packets as needed and allowing the transmission to complete). At 510, chip 301 sends error detection bits (e.g., cyclic redundancy check (CRC)), followed by sending an end of frame (EOF) indication at 511.
[0090] Figure 5B is an information flow diagram depicting an exemplary embodiment 550 for processing wireless communications to avoid violating a set response time limit. Figure 3B This embodiment 550 is described in the context of a configured OBD 102 , but this embodiment 500 is not limited thereto.
[0091] At 551, a custom command is sent from the reader device 120 and is received at the chip 301 of the OBD 102. At 552, the chip 301 requests information needed to formulate the response data from the chip 361. For example, the requested information may be a random number created by a random number generator in the chip 361 to encrypt the response data before sending it back to the reader 120. At 553, the chip 361 processes the requested information, and at 554, the chip 361 provides the requested information to the chip 301. At 555, the chip 301 receives the requested information from the chip 361, and at 556, the chip 301 begins processing the response data. In other embodiments, the dummy data may also be encrypted before sending.
[0092] At the same time, chip 301 prepares a response to send, such as by using circuitry (e.g., ASIC circuitry) on chip 301. At 556, chip 301 sends the response including a start of frame (SOF) indication back to reader 120 via link 141. Any flags (at 558) and / or other parameters (at 560) of the response packet header are also sent back to reader 120, which can be easily determined with the timing of the response transmission set.
[0093] Assuming that chip 301 has not yet generated a response to the custom command, and the set time limit is approaching expiration, at 562, chip 301 sends dummy data to reader 120. The process continues, wherein a payload including dummy data is sent to reader 120 before each subsequent set time limit expires. The loop may continue repeatedly until 563 when chip 301 completes processing (e.g., generation of response data and encryption thereof) and the response data is ready to be sent. Chip 301 then causes the response data payload to be sent to reader 120 at 564 (using as many sequential response packets as are required and allowed to complete the sending). At 566, chip 301 sends error detection bits (e.g., cyclic redundancy check (CRC)), followed by an end-of-frame (EOF) indication at 568.
[0094] In addition to the above variations, in any and all embodiments described herein, a response containing dummy data may be a response containing only dummy data in the payload portion of the response. This may be indicated by a bit sequence contained in the payload corresponding to a predetermined code (e.g., AAAA, FFFF, ABCD, etc.) or by a flag in a header section of a data frame indicating that the data in the payload is dummy data or is only dummy data.
[0095] The following various aspects of the subject matter are explained in the process of reviewing and / or supplementing the embodiments described herein, with emphasis on the interrelationship and interchangeability of the following embodiments. In other words, it is important to note that each feature of the embodiments can be combined with each and all other features, unless otherwise explicitly stated or logically implausible.
[0096] In many embodiments, a method for communicating in an analyte monitoring system is provided, the analyte monitoring system comprising an on-body device and a reader device, the method comprising: wirelessly receiving a command by the on-body device from the reader device; wirelessly sending at least one first response to the reader device, wherein the at least one first response comprises dummy data; and wirelessly sending at least one second response to the reader device, wherein the at least one second response comprises data in response to the command.
[0097] In some embodiments, the method further comprises processing the received command while sending at least one first response to the reader device. Processing the received command may include: generating the data in response to the command; and encrypting the data in response to the command. At least one second response sent to the reader device may include data in response to the command in encrypted form. At least one first response sent to the reader device may include dummy data in encrypted form.
[0098] In some embodiments, the method further comprises determining whether data in response to the command is ready to be sent before the set response time limit expires. The method may further comprise: if it is determined that data in response to the command is not ready to be sent before the set response time limit expires, sending a first response to the reader device. The method may further comprise: if it is determined that data in response to the command is ready to be sent before the set response time limit expires, sending a second response to the reader device.
[0099] In some embodiments, the method may further include sending a plurality of first responses to the reader device, wherein each first response includes dummy data, and wherein each first response is sent before expiration of a set response time limit.
[0100] In some embodiments, the dummy data may be a predetermined code, may be indicated by a flag in a header of the at least one first response, or may be pseudo-random data.
[0101] In some embodiments, the method may further include generating dummy data according to a dummy data algorithm.
[0102] In some embodiments, the on-body device may include a first semiconductor device and a second semiconductor device communicatively coupled to the first semiconductor device via a communication interface. The communication interface may be a serial peripheral interface. The method may also include: outputting a request for response data from the first semiconductor device to the second semiconductor device via the communication interface; generating the response data via the second semiconductor device; and outputting the response data from the second semiconductor device to the first semiconductor device via the communication interface before sending the at least one second response to the reader device. The first semiconductor device may be configured to format data according to a near field communication (NFC) protocol. The second semiconductor device may be configured to format data according to a Bluetooth communication protocol.
[0103] In some embodiments, the method may further include: processing the received command; and wirelessly sending at least one third response to the reader device before wirelessly sending the at least one first response to the reader device. The at least one third response may include at least one of a frame start indication, a flag, or a communication parameter. The method may also include wirelessly sending at least one fourth response after wirelessly sending the at least one second response. The at least one fourth response may include error detection information or a frame end indication.
[0104] In some embodiments, the wireless communication between the on body device and the reader device is according to a near field communication (NFC) protocol.
[0105] In many embodiments, an on-body device of an analyte monitoring system is provided, the on-body device comprising: a communication circuit configured to wirelessly receive commands and wirelessly send one or more responses; and a processing circuit configured to generate dummy data and data in response to the command, wherein the on-body device is configured to wirelessly send at least one first response including the dummy data and at least one second response including the data in response to the command.
[0106] In some embodiments, the on-body device may be configured such that the processing circuit processes the received command while the communication circuit sends the at least one first response. The processing circuit may be configured to encrypt data in response to the command and output the encrypted response data to the communication circuit. The processing circuit may be configured to encrypt the dummy data and output the encrypted dummy data to the communication circuit.
[0107] In some embodiments, the on body device may be configured to determine whether data responsive to the command is ready to be sent before a set response time limit expires.
[0108] In some embodiments, the processing circuitry may be configured to, after determining that data responsive to the command is not ready to be sent, cause the sending of the first response before a set time limit for the response expires.
[0109] In some embodiments, the processing circuit may be configured to cause sending of the second response after determining that data responsive to the command is ready to be sent and before expiration of a set response time limit.
[0110] In some embodiments, the on body device may be configured to send a plurality of first responses, wherein each first response includes dummy data, and wherein each first response is sent before a set response time limit expires.
[0111] In some embodiments, the dummy data may be: a predetermined code indicated by a flag in a header of the at least one first response, pseudo-random data, or a predetermined code generated according to a dummy data algorithm.
[0112] In some embodiments, the on-body device may include a first semiconductor device and a second semiconductor device communicatively coupled to the first semiconductor device via a communication interface. The communication interface may be a serial peripheral interface. The first portion of the processing circuit may be located on the first semiconductor device, and the second portion of the processing circuit may be located on the second semiconductor device. The first semiconductor device may be configured to output a request for response data to the second semiconductor device via the communication interface. The second semiconductor device may be configured to generate response data and output the response data to the first semiconductor device via the communication interface. The first semiconductor device may be configured to format data according to a near field communication (NFC) protocol. The second semiconductor device may be configured to format data according to a Bluetooth communication protocol.
[0113] In some embodiments, the communications circuit is configured to receive and transmit wirelessly according to a near field communications (NFC) protocol.
[0114] In some embodiments, the processing circuit is communicatively coupled to a memory, and wherein the memory stores a plurality of instructions executable by the processing circuit.
[0115] In many embodiments, a method for communicating in an analyte monitoring system is provided, the analyte monitoring system comprising an on-body device and a reader device, the method comprising: wirelessly sending a command by the reader device to the on-body device; wirelessly receiving at least one first response from the on-body device, wherein the at least one first response comprises dummy data; and wirelessly receiving at least one second response from the on-body device, wherein the at least one second response comprises data in response to the command.
[0116] In some embodiments, the method may further include determining, by the reader device, whether each of the at least one first response includes dummy data.
[0117] In some embodiments, the method may further include determining, by the reader device, whether each of the at least one second response includes data responsive to the command.
[0118] In some embodiments, the method may further include operating on the data in response to a command of the reader device. Operating on the data in response to the command may include storing the data in response to the command or displaying the data in response to the command.
[0119] In some embodiments, the method may further include determining, by the reader device, whether the total number (N) of at least one first response and at least one second response received is greater than the expected number of responses (E). The method may further include: treating the first NE responses by the reader device as dummy data; and treating the remaining E responses by the reader device as including data in response to the command. The method may further include reading the first NE responses by the reader device to confirm that they include dummy data. The method may include decrypting, by the reader device, at least one second response received. The method may further include decrypting, by the reader device, at least one first response received. The dummy data may be: a predetermined code indicated by a flag in a header of the at least one first response, pseudo-random data, or a predetermined code generated according to a dummy data algorithm.
[0120] In some embodiments, the reader device communicates with an on body device.
[0121] In some embodiments, the reader device receives and transmits wirelessly according to a near field communication (NFC) protocol. The method may also include wirelessly receiving data from the on body device according to a Bluetooth protocol.
[0122] In many embodiments, a reader device of an analyte monitoring system is provided, the reader device comprising: a communication circuit configured to wirelessly send a command and wirelessly receive one or more responses; and a processing circuit configured to determine whether each received response includes dummy data or data responsive to the command.
[0123] In some embodiments, the processing circuit is configured to operate on the data in response to the command.
[0124] In some embodiments, the processing circuit is configured to store or display data in response to the command.
[0125] In some embodiments, the processing circuit is configured to ignore or discard dummy data.
[0126] In some embodiments, the processing circuit is configured to decrypt each received response.
[0127] In some embodiments, the dummy data may be: a predetermined code indicated by a flag in a header of the at least one first response, pseudo-random data, or a predetermined code generated according to a dummy data algorithm.
[0128] In some embodiments, the reader device is configured to communicate with an on body device.
[0129] In some embodiments, the communication circuit is configured to wirelessly transmit and receive according to a near field communication (NFC) protocol. The communication circuit is a first communication circuit, and the reader device includes a second communication circuit configured to receive the second communication circuit.
[0130] In some embodiments, the processing circuit is communicatively coupled to the memory, and wherein the memory stores a plurality of instructions executable by the processing circuit.
[0131] In many embodiments, a reader device of an analyte monitoring system is provided, the reader device comprising: a communication circuit configured to wirelessly send commands and wirelessly receive one or more responses; and a processing circuit configured to determine whether a total number of responses received (N) is greater than an expected number of responses (E).
[0132] In some embodiments, the processing circuit may be configured to treat the first NE responses as dummy data and the remaining E responses as including data in response to the command. The processing circuit may be configured to read the first NE responses to confirm that they include dummy data. The processing circuit may be configured to operate on the data in response to the command. The processing circuit may be configured to store or display the data in response to the command. The processing circuit may be configured to ignore or discard the first NE responses without confirming that the first NE responses include dummy data. The processing circuit may be configured to decrypt each received response.
[0133] In some embodiments, the dummy data may be: a predetermined code indicated by a flag in a header of the at least one first response, pseudo-random data, or a predetermined code generated according to a dummy data algorithm.
[0134] In some embodiments, the reader device is configured to communicate with an on body device.
[0135] In some embodiments, the communication circuit is configured to wirelessly transmit and receive according to a near field communication (NFC) protocol.The communication circuit may be a first communication circuit, and the reader device may include a second communication circuit configured to wirelessly transmit and receive according to a Bluetooth protocol.
[0136] In many embodiments, a method for communicating in an analyte monitoring system including an on-body device and a reader device is provided, the method comprising: wirelessly receiving a command by the on-body device from the reader device; wirelessly sending a predetermined number (P) of first responses from the on-body device to the reader device, wherein each first response includes dummy data; and wirelessly sending at least one second response from the on-body device to the reader device, wherein the at least one second response includes data in response to the command.
[0137] In some embodiments, the method may further include processing the received command while sending a predetermined number of first responses to the reader device.
[0138] In some embodiments, processing the received command may include: generating the data in response to the command; and encrypting the data in response to the command. At least one second response sent to the reader device may include the data in response to the command in encrypted form. Each of the predetermined number of first responses sent to the reader device may include dummy data in encrypted form.
[0139] In some embodiments, the method further comprises counting, by the reader device, the number of responses received from the on-body device. The method may further comprise treating the P+1th response as comprising data in response to the command. The method may further comprise not confirming that the first P responses received comprise dummy data.
[0140] In some embodiments, the method may further include reading, by the on-body device, the received command and wirelessly transmitting a predetermined number (P) of first responses corresponding to the received command. The received command is one of a plurality of commands, and wherein the reader device and the on-body device are programmed to identify the correct number of predetermined responses based on the command.
[0141] In some embodiments, the wireless communication between the on body device and the reader device is according to a near field communication (NFC) protocol.
[0142] In many embodiments, an analyte monitoring system is provided, comprising: an on-body device including a communication circuit and a processing circuit, and a reader device including a communication circuit and a processing circuit, wherein the on-body device is configured to: wirelessly receive a command from the reader device; wirelessly send a predetermined number (P) of first responses to the reader device, wherein each first response includes dummy data; and wirelessly send at least one second response to the reader device, wherein the at least one second response includes data in response to the command.
[0143] In some embodiments, the on-body device is configured to process the received command while sending the predetermined number of first responses to the reader device. The processing circuitry of the on-body device may be configured to generate data in response to the command and to encrypt the data in response to the command. The processing circuitry of the on-body device may be configured to encrypt dummy data and send the dummy data in encrypted form.
[0144] In some embodiments, the processing circuitry of the reader device may be configured to count the number of responses received from the on-body device. The processing circuitry of the reader device may be configured to treat the P+1th response as including data in response to the command. The processing circuitry of the reader device may be configured to ignore or discard the first P received responses without performing a confirmation that the first P received responses all include dummy data.
[0145] In some embodiments, the processing circuitry of the on body device is configured to read the received commands and wirelessly transmit a first response corresponding to a predetermined number (P) of the received commands.
[0146] In some embodiments, the received command is one of a plurality of commands, and wherein the reader device and the on body device are programmed to identify a correct number of predetermined responses based on the command.
[0147] In some embodiments, the communication circuitry of the on body device and the communication circuitry of the reader device are both configured to communicate according to a near field communication (NFC) protocol.
[0148] In many embodiments, a method for communicating in an analyte monitoring system including an on-body device and a reader device is provided, the method comprising: receiving, at the on-body device, a transmission including a custom command from the reader device, wherein the transmission is formatted according to a first communication protocol; transmitting the custom command from a first semiconductor chip of the on-body device to a second semiconductor chip of the on-body device, wherein the first semiconductor chip includes a communication circuit suitable for communicating via the first communication protocol, and the second semiconductor chip includes a processor; according to the first communication protocol, within a set response time limit, transmitting a first data payload including dummy data from the on-body device to the reader device; transmitting a response data payload from the second semiconductor chip to the first semiconductor chip; and causing the response data payload to be sent from the on-body device to the reader device.
[0149] For each embodiment of the method disclosed herein, systems and devices capable of performing each of these embodiments are included within the scope of the present disclosure. For example, embodiments of OBDs are disclosed, and these devices can have one or more sensors, analyte monitoring circuits (e.g., analog circuits), memories (e.g., for storing instructions), power supplies, communication circuits, transmitters, receivers, processors, and / or controllers (e.g., for executing instructions) that can perform any and all method steps or facilitate the performance of any and all method steps. These OBD embodiments can be used, and these OBD embodiments can be used to implement those steps performed by the OBD from any and all methods described herein.
[0150] For all of the above embodiments, the actions performed by the on-body device may be performed or forced to be performed by the processing circuit of the on-body device executing one or more instructions stored on the memory of the on-body device. Similarly, for all of the above embodiments, the actions performed by the reader device may be performed or forced to be performed by the processing circuit of the reader device executing one or more instructions stored on the memory of the reader device.
[0151] Computer program instructions for performing operations according to the described subject matter may be stored on any non-transitory memory described herein and executed by a processing circuit communicatively coupled thereto. Computer program instructions may be written in any combination of one or more programming languages, including object-oriented programming languages, such as Java, JavaScript, Smalltalk, C++, C#, Transact-SQL, XML, PHP, etc., and conventional procedural programming languages, such as "C" programming languages or similar programming languages. Program instructions may be executed entirely on a user's computing device, partially on a user's computing device, as an independent software package, partially on a user's computing device and partially on a remote computing device, or entirely on a remote computing device or server. In the latter case, the remote computing device may be connected to the user's computing device via any type of network, including a local area network (LAN) or a wide area network (WAN), or a connection to an external computer may be made (e.g., using an Internet service provider via the Internet).
[0152] It should be noted that all features, elements, components, functions, and steps described with respect to any embodiment provided herein are intended to be freely combined and substituted with those from any other embodiment. If a specific feature, element, component, function, or step is described only for one embodiment, it should be understood that the feature, element, component, function, or step can be used with each other embodiment described herein, unless otherwise explicitly stated. Therefore, this paragraph serves as a prerequisite basis and written support for the introduction of claims at any time, which combines features, elements, components, functions, and steps from different embodiments, or replaces features, elements, components, functions, and steps of another embodiment with features, elements, components, functions, and steps from one embodiment, even if the following description does not explicitly state that such a combination or substitution is possible in a specific instance. It is explicitly recognized that the explicit description of each possible combination and substitution is too burdensome, especially in view of the fact that a person of ordinary skill in the art will easily recognize the permissibility of each such combination and substitution.
[0153] To the extent that the embodiments disclosed herein include or operate in association with memory, storage, and / or computer-readable media, the memory, storage, and / or computer-readable media are non-transitory. Thus, to the extent that memory, storage, and / or computer-readable media are covered by one or more claims, the memory, storage, and / or computer-readable media are merely non-transitory.
[0154] As used herein and in the appended claims, the singular forms "a," "an," and "the" include plural referents unless the context clearly dictates otherwise.
[0155] Although the embodiments are susceptible to various modifications and alternative forms, specific examples thereof have been shown in the drawings and described in detail herein. However, it should be understood that these embodiments are not limited to the specific forms disclosed, but rather, these embodiments will cover all modifications, equivalents, and substitutions that fall within the spirit of the present disclosure. In addition, any features, functions, steps, or elements of the embodiments may be recited in or added to the claims, as well as negative limitations that limit the scope of the invention of the claims by features, functions, steps, or elements that are not within the scope.
Claims
1. A reader device of an analyte monitoring system, the reader device comprising: communications circuitry configured to wirelessly transmit commands and wirelessly receive one or more responses; as well as processing circuitry configured to determine whether a total number N of responses received is greater than an expected number E of responses, The processing circuit is configured to regard the first NE responses as dummy data, and regard the remaining E responses as including data in response to the command.
2. The device according to claim 1, wherein: The processing circuit is configured to read the first NE responses to confirm that the first NE responses include the dummy data.
3. The device according to claim 1, wherein: The processing circuit is configured to operate on the data in response to the command.
4. The device according to claim 1, wherein: The processing circuit is configured to store the data in response to the command or to display the data in response to the command.
5. The device according to claim 1, wherein: The processing circuit is configured to ignore or discard the first NE responses without confirming that the first NE responses include the dummy data.
6. The device according to any one of claims 1 to 5, wherein: The processing circuit is configured to decrypt each received response.
7. The device according to claim 1, wherein: The dummy data: is a predetermined code, is indicated by a flag in a header of at least one first response, is pseudo-random data, or is generated according to a dummy data algorithm.
8. The device according to claim 1, wherein: The reader device is configured to communicate with an on body device.
9. The device according to claim 1, wherein: The communication circuit is configured to transmit and receive wirelessly according to a near field communication (NFC) protocol.
10. The device according to claim 9, wherein: The communication circuit is a first communication circuit and the reader device includes a second communication circuit configured to transmit and receive wirelessly according to the Bluetooth protocol.
11. A method of communicating in an analyte monitoring system, the analyte monitoring system comprising an on-body device and a reader device, the method comprising: wirelessly receiving, by the on body device, a command from the reader device; wirelessly transmitting a predetermined number P of first responses from the on body device to the reader device, wherein each first response comprises dummy data; and At least one second response is wirelessly transmitted from the on body device to the reader device, wherein the at least one second response includes data responsive to the command.
12. The method of claim 11, further comprising processing the received command while sending a predetermined number of the first responses to the reader device.
13. The method according to claim 11, wherein: Processing of received commands includes: generating the data in response to the command; and The data is encrypted in response to the command.
14. The method according to claim 13, wherein: At least one of the second responses sent to the reader device comprises data responsive to the command in encrypted form.
15. The method according to claim 14, wherein: Each of a predetermined number of the first responses sent to the reader device includes the dummy data in encrypted form.
16. The method of claim 11, further comprising counting, by the reader device, a number of responses received from the on body device.
17. The method of claim 16, further comprising treating a P+1th response as including the data responsive to the command.
18. The method of claim 17, further comprising not acknowledging that the first P responses received include the dummy data.
19. The method of claim 11, further comprising reading, by the on body device, the received commands and wirelessly transmitting a predetermined number P of first responses corresponding to the received commands.
20. The method according to claim 19, wherein: The received command is one of a plurality of commands, and wherein the reader device and the on body device are programmed to identify a correct number of predetermined responses based on the command.
21. The method according to any one of claims 11 to 20, wherein: The wireless communication between the on-body device and the reader device is performed according to the Near Field Communication (NFC) protocol.
22. An analyte monitoring system comprising: On-body equipment, including communication circuits and processing circuits; as well as A reader device, including communication circuitry and processing circuitry, Wherein, the on-body device is configured to: wirelessly receive a command from the reader device; wirelessly send a predetermined number P of first responses to the reader device, wherein each of the first responses includes dummy data; and wirelessly send at least one second response to the reader device, wherein at least one of the second responses includes data in response to the command.
23. The system of claim 22, wherein: The on body device is configured to process the received command while sending a predetermined number of the first responses to the reader device.
24. The system of claim 23, wherein: The processing circuitry of the on body device is configured to generate the data in response to the command and to encrypt the data in response to the command.
25. The system of claim 24, wherein: The processing circuitry of the on body device is configured to encrypt the dummy data and transmit the dummy data in encrypted form.
26. The system of claim 22, wherein: The processing circuitry of the reader device is configured to count a number of responses received from the on body device.
27. The system of claim 26, wherein: The processing circuitry of the reader device is configured to treat a P+1th response as including the data responsive to the command.
28. The system of claim 27, wherein: The processing circuitry of the reader device is configured to ignore or discard the first P received responses without performing a confirmation that each of the first P received responses includes dummy data.
29. The system of claim 22, wherein: The processing circuitry of the on body device is configured to read the received commands and wirelessly transmit a predetermined number P of first responses corresponding to the received commands.
30. The system of claim 22, wherein: The received command is one of a plurality of commands, and wherein the reader device and the on body device are programmed to identify a correct number of predetermined responses based on the command.
31. A system according to any one of claims 22 to 30, wherein: The communication circuitry of the on body device and the communication circuitry of the reader device are both configured to communicate according to a Near Field Communication (NFC) protocol.
Citation Information
Patent Citations
Method and Apparatus for Providing Analyte Sensor and Data Processing Device
US20080009692A1
Displays for a medical device
US20110193704A1
Medical devices and methods
US20110213225A1
Medical device inserters and processes of inserting and using medical devices
US20110319729A1
Method and System for Providing an Integrated Analyte Sensor Insertion Device and Data Processing Unit
US20150018639A1