PCR (polymerase chain reaction) diagnostic testing for various illnesses may be desirable for a number of reasons. Typical PCR tests (e.g., for COVID-19 testing) require that a sample be collected from a person via a nasal swab or saliva, and then the collected sample is transported to a lab, where the sample is processed and placed into a 96-well plate for high volume PCR testing. However, such PCR testing may be cumbersome, time consuming, and require a centralized lab setup. Systems and methods for rapid PCR testing at a local (e.g., point of care) site may therefore be desired.
The detailed description is set forth with reference to the accompanying drawings. The drawings are provided for purposes of illustration only and merely depict example embodiments of the disclosure. The drawings are provided to facilitate understanding of the disclosure and shall not be deemed to limit the breadth, scope, or applicability of the disclosure. The use of the same reference numerals indicates similar, but not necessarily the same or identical components. Different reference numerals may be used to identify similar components. Various embodiments may utilize elements or components other than those illustrated in the drawings, and some elements and/or components may not be present in various embodiments. The use of singular terminology to describe a component or element may, depending on the context, encompass a plural number of such components or elements and vice versa.
Embodiments of the present disclosure include systems and methods for rapid, local PCR testing. To facilitate this, a local testing module including a PCR configured for use in these systems and methods has been developed.
In embodiments, the testing module may include a housing having a PCR machine disposed therein; an input station on the cabinet, wherein the input station is configured to receive a sample collection device (SCD) comprising a biological specimen sample; a SCD processing mechanism configured to transfer, without human intervention, a lysed microportion of the biological specimen sample into a PCR sample tube; at least one mechanism configured to transfer the PCR sample tube to the PCR machine; and a controller configured to cause the PCR machine to (i) conduct a PCR test on contents of the PCR sample tube, and (ii) generate results of the PCR test.
In particular embodiments, the testing module may be used to diagnose a particular illness, for example at a point of care site or other locations. The testing module may be a portable PCR testing module. In embodiments, the testing module performs a PCR test on a sample collected by a sample collection device (SCD) used in conjunction with the testing module. The SCD may be configured for collecting a saliva specimen from the mouth of a patient, or for collecting a nasal mid-turbinate (NMT) specimen, or anterior nasal specimen, from a nostril of a patient. The patient may be a human. The sample may also be collected from an object. These collections may be self-administered by a patient following collection instructions or performed by a trained healthcare provider. The sample collection device may be configured for collecting other biological fluids from a human or non-human mammal. The collected specimen may be referred to herein as a “sample”. In embodiments, the sample is placed into the testing module by a patient or other user following instructions or by a trained healthcare provider.
The SCD includes at least a swab and a sample container. In some embodiments, the SCD provided to the testing module may include an attached PCR sample tube. For example, the SCD provided to the patient for receiving the biological specimen may include a SCD having a pre-attached PCR sample tube. In other embodiments, the SCD provided to the testing module may have no PCR sample tube. In those embodiments, the testing module may include mechanisms configured to retrieve a PCR sample tube from a storage rack or other source within the housing and configured to attach the PCR sample tube to the SCD following receipt of the SCD by the testing module. In an alternative embodiment, the PCR sample tube and/or a sample container portion of the containing the biological specimen sample may be separated from the SCD or from the swab, respectively, prior to the sample being deposited in the testing module.
Once the sample is inserted in the testing module, the testing module will extract the biological specimen sample, lyse it, mix it with water and appropriate reagents (e.g., a lyophilized master mix) and present this mixture in a PCR sample tube, which in particular embodiments is attached to the SCD. The sample tube is then processed in a PCR machine contained within the testing module. In some embodiments, the testing module is configured to test multiple samples in parallel or simultaneously. In some embodiments, the testing module can test up to 200 samples simultaneously. In embodiments, the testing module inactivates the sample to render it non-infectious before testing it. In some embodiments, the testing module includes a continuous PCR system.
In some embodiments, the PCR machine performs a PCR test on the sample to amplify genetic material of interest. It is understood that any method known in the art for amplifying genetic material may be used, including standard PCR, qPCR, RT-PCR, RT-qPCR, and hot start PCR. In embodiments, the testing module may have more than one PCR machine, and be able to perform more than one type of PCR. In some embodiments, the PCR machine runs a PCR test of the PCR sample tube contents to determine whether the lysed biological fluid sample includes a particular RNA, such as one indicative of a particular pathogen. For example, the RNA may be one indicative of the SARS-CoV-2 virus. Accordingly, the test module may generate PCR test results that enable diagnosis of one or more particular diseases or illnesses.
The testing modules described herein facilitate rapid PCR testing at a point of care site or other locations of convenience to patients, office workers, travelers, etc. In embodiments, the testing module comprises one or more displays presenting a user interfaces, e.g., with buttons and/or an interactive screen. Test results may appear on the screen and/or be sent to a patient via email, text message, mobile app, or webpage.
Systems and methods are provided for managing data flow in connection with the described PCR testing module and its use. In embodiments, these systems and methods include receiving user (e.g., patient) orders for a PCR diagnostic test, causing the PCR testing module to perform the PCR diagnostic test on a received sample, and reporting results of the PCR diagnostic test.
In some particular embodiments, the system includes a PCR testing module, memory configured to store computer-executable instructions, and at least one computer processor configured to access the memory and execute the computer executable instructions to: (i) receive an order for a PCR diagnostic test; (ii) associate a sample collection device (SCD) received by the PCR testing module with the order for a PCR diagnostic test; (iii) instruct the PCR testing module to conduct the PCR diagnostic test on a biological specimen in the SCD received by the PCR testing module; and (iv) cause presentation of results of the PCR diagnostic test. In some embodiments, the system further includes a communications module configured to receive the order for the PCR diagnostic test via (i) a mobile application, or (ii) through a user interface presented at the PCR testing module, determine that the payment from the user has been received, generate order tracking information, and generate a notification indicating results of the PCR diagnostic test.
In some embodiments, the at least one computer processor of the system is further configured to access the memory and execute the computer executable instructions to assign an identification number to the order, associate the identification number with a machine readable code assigned to the SCD, and cause a scanner on the PCR testing module to read the machine readable code on the SCD received by the PCR testing module to match the SCD to the order. In embodiments, user data and the results of the PCR test are not stored in the PCR testing module.
In some particular embodiments, the at least one computer processor of the system is further configured to access the memory and execute the computer executable instructions to operate the PCR testing module to transfer a biological specimen sample from the SCD to a PCR sample tube.
In some embodiments, the at least one computer processor of the system is further configured to access the memory and execute the computer executable instructions to track consumables inventory stored within and used by the PCR testing module, and generate a notification for replenishment of the consumables inventory.
In some embodiments, the testing module stores a plurality of SCDs, and the at least one computer processor of the system is further configured to access the memory and execute the computer executable instructions to cause the PCR testing module to dispense a SCD, from the plurality of stored SCDs, to a user for collection of a biological specimen.
In some particular embodiments, the system includes a PCR testing module comprising a housing, a display, and a PCR machine; memory configured to store computer-executable instructions; and at least one computer processor configured to access the memory and execute the computer executable instructions to: (i) receive an order for a PCR diagnostic test from a user via the display; (ii) process a payment for the PCR diagnostic test; (iii) assign an identification number to the order; (iv) associate the identification number with a barcode assigned to a sample collection device (SCD); (v) receive the SCD; (vi) cause a scanner on the PCR testing module to scan the barcode on the SCD received by the PCR testing module; (vii) determine, using the barcode, that the SCD is associated with the order; (viii) cause the PCR testing module to transfer a biological specimen sample from the SCD to a PCR sample tube; (ix) cause the PCR machine in the PCR testing module to conduct the PCR diagnostic test on the biological specimen in the PCR sample tube; and (x) present results of the PCR diagnostic test.
In some embodiments, the system includes a communications module configured to permit the user to input the order for the PCR diagnostic test through a mobile device, e.g., through a mobile application. In some embodiments, the display is configured to present a user interface at which the user can input the order for the PCR diagnostic test. The ordering of the PCR diagnostics test may include a combination of activities conducted through a mobile application and activities conducted at a user interface present at the PCR testing module. In some embodiments, the system further includes a communications module configured to: (i) receive the payment from the user; (ii) provide order tracking information to the user; and (iii) notify the user of the results of the PCR diagnostic test.
In particular embodiments, methods for use with the diagnostic testing modules described herein include (i) receiving, by a PCR testing module, input associated with conducting a PCR diagnostic test, e.g., an order for a PCR diagnostic test; (ii) associating a sample collection device (SCD) received by the PCR testing module with the input, e.g., the order for the PCR diagnostic test; (iii) causing the PCR testing module to transfer a biological specimen sample from the SCD to a PCR sample tube without human intervention; and (iv) instructing the PCR testing module to conduct the PCR diagnostic test on the biological specimen sample; and (v) outputting, e.g., presenting, results of the PCR diagnostic test. In some embodiments, the methods further include inputting, using a mobile application or a user interface on the PCR testing module, the order for the PCR diagnostic test; receiving payment from the user; providing order tracking information to the user; and notifying the user of the results of the PCR diagnostic test.
In some embodiments, the methods further include: prior to instructing the PCR testing module to conduct the PCR diagnostic test, receiving, from a remote server, information regarding payment for the PCR diagnostic test. For example, the information may be confirmation from a payment processor that a user's payment for the PCR diagnostic test has been made.
In some embodiments, the methods further include assigning an identification number to the order; associating the identification number with a machine readable code assigned to the SCD; and reading, using a scanner on the PCR testing module, the machine readable code on the SCD received by the PCR testing module to match the SCD to the order. For example, the methods may include, prior to instructing the PCR testing module to conduct the PCR diagnostic test: (i) reading a first machine-readable code on the SCD; (ii) transferring a biological specimen sample from the SCD to a PCR sample tube; and (iii) reading a second machine-readable code on the PCR sample tube. The method may further include storing user data and the results of the PCR test in the cloud, and not locally in the PCR testing module.
In some particular embodiments, the methods further include transferring, within the PCR testing module, without human intervention, a biological specimen sample from the SCD to a PCR sample tube, and transferring, without human intervention, the PCR sample tube to a PCR machine within the PCR testing module.
In some embodiments, the methods further include, without human intervention, (i) physically separating the PCR sample tube from the SCD; and (ii) transferring the PCR sample tube to a PCR machine within the PCR testing module. For example, the separating and transferring may be performed by one or more robotic manipulators with actuators and motors controlled by a controller.
In some embodiments, the methods further include tracking usage of consumables inventory stored within the PCR testing module, and indicating a need for replenishment of any one of the consumables inventory. For example, the indicating may include generating a notification for the entities/personnel responsible for maintenance of the PCR testing modules, e.g., through a B2B dashboard/portal in communication with PCR testing module.
In some embodiments, the methods may further include dispensing a SCD to a user for collection of a biological specimen, wherein the SCD comprises a machine-readable code.
In some embodiments, the methods may further include receiving a plurality of SCDs concurrently, and then performing batch processing of the plurality of received SCDs. For example, the plurality of SCDs containing biological specimens may undergo parallel processing of the sample preparation (e.g., lysing, mixing) steps, the PCR sample tube transfer steps, and the PCR diagnostic testing steps.
The systems, methods, and testing modules described herein facilitate rapid, local PCR testing, for example at a point of care site, and rapidly reporting the test results to the patient and others as appropriate.
During the Sample Collection Stage 201, the SCD is provided to patients, such as employees, guests, or consumers. Each SCD may have an affixed barcode or QR code, to identify the specific SCD and associate it with a particular patient and/or particular order for a PCR diagnostic test. The SCD is scanned, for example using a badge or an application. The SCD is used to collect a biological sample from a patient as described herein. The patient may self-collect the sample or another person may assist the patient in collecting the sample. Once the sample is collected, the sample is deposited into the system during the Sample Accession Stage 202. Specifically, the SCD and, therefore, the sample is placed into the testing module, as further described below.
Referring again to
Use of the testing modules and SCDs described herein may include one or more of the following operations: 1) a patient performs identification and financial transaction to initiate a PCR diagnostic test, e.g., at a testing module; 2) the testing module dispenses an packaged SCD kit comprising a unique barcode, QR code, or other identifier (machine readable code) associated with the patient in accordance with the identification and financial transaction; 3) the patient opens the package and withdraws the SCD kit; 4) the testing module presents instructions to the patient for use of the SCD kit; 5) the patient collects a suitable biological specimen, e.g., inserts an absorbent swab portion of the swab stick part of the SCD kit in their mouth or nose; 6) the patient inserts the swab stick into the sample container; and 7) the patient inserts the combined swab stick and sample container, i.e., the SCD, into the testing module. The testing module processes SCD and then discards it following separation of the PCR sample tube.
One or more illustrative embodiments of the disclosure have been described above. The above-described embodiments are merely illustrative of the scope of this disclosure and are not intended to be limiting in any way. Accordingly, variations, modifications, and equivalents of the embodiments disclosed herein are also within the scope of this disclosure. The above-described embodiments and additional and/or alternative embodiments of the disclosure will be described in detail hereinafter through reference to the accompanying drawings.
In some embodiments, the testing module is located at a point of care site such as an office building, medical facility, or other commercial building.
The testing module includes a housing, or main cabinet, 114 which comprises an enclosure for PCR machines 106. The testing module 100 may include one or more patient interfaces 102 for the user/patient to use the testing module. The user interface 102 may comprise an interactive screen. The user interface 102 may assist the user in various ways, including but not limited to providing instruction to the user, accepting payment for the test, identification of the user, and/or output of test results, including prior test results. Some or all of these user interface functions may alternatively or additionally be provided to the user via email, text message, app or webpage.
The PCR testing module 100 includes one or more sample input stations 104 for receiving the SCD. The testing module 100 includes one or more processing units 108 for handling the SCDs and PCR sample tubes. The processing unit 108 may include: (i) a barcode scanner configured to read a barcode on the SCD to be received by the sample input station; (ii) an oven or other heater configured to thermally lyse the saliva sample in the SCD received by the sample input station; (iii) an SCD processing mechanism configured to transfer a lysed microportion of the sample in a PCR sample tube attached to the SCD received by the sample input station; a sonicator configured to ultrasonically mix the lysed microportion of the sample, the water, and the lyophilized master mix in the PCR sample tube attached to the SCD. Suitable scanners, heaters and sonicators are known in the art.
The testing module 100 also may include one or more robotic manipulators configured to (i) separate the PCR sample tube from the SCD and discard the SCD into the biohazard waste bin 116 within the cabinet 114, (ii) seal the separated PCR sample tube, and (iii) transfer the sealed PCR sample tube to the PCR machine 106. The testing module 100 also may include a controller configured to operate the PCR machine 106.
The testing module 100 may include a consumables storage area in the main cabinet for the biohazard waste bin 116, for collection of used SCDs and PCR sample tubes. Disposal bay doors 118 may allow for access to the consumable storage area. The testing module 100 may also include an electrical cabinet 120 which may be accessed through a maintenance access door 122. The testing module 100 also includes a HEPA filter unit 110 and exhaust ports 112.
In operation, once the SCD is inserted in the testing module 100, the testing module will interact with the SCD, extract the biological specimen sample, lyse it, mix it with water and lyophilized master mix and present this mixture in the attached PCR sample tube, which in particular embodiments, is a standard 0.2 ml sample tube, as known in the art. The testing module 100 may separate the sample tube and/or sample container containing the sample from the SCD within the device; alternatively, the sample tube and/or sample container containing the sample may be separated from the SCD prior to being deposited in the testing module 100. The sample container of the SCD and the PCR sample tube will then be separated, with the sample tube then being sealed and processed in a PCR machine 106 while the SCD is discarded.
In one embodiment, SCD 300 is processed by a testing module after a patient uses the swab stick to collect a sample, places the swab stick in the sample container, and then deposits the swab stick and the sample container into the testing module. The testing module then may load a PCR sample tube, e.g., from a storage rack, and dispense a predetermined quantity of water (e.g. ˜15 uL) into the sample tube. The water may rehydrate the lyophilized master mix in the sample tube. The testing module then may attach the sample tube to the SCD as described above. The testing module then may depress the swab plunger to compress the absorbent swab, so that saliva is released into the bulk saliva collection chamber. The testing module may stop pressing plunger after translating a programmed distance. The testing module then may apply thermal energy to the sample container effective to heat the bulk saliva to 95° C. for several minutes and lyse the saliva sample. The testing module then may continue to depress the plunger which in return cause the metering piston (i.e., piercing plunger) to translate into the micro sample tube to eject 5 μl of the lysed saliva sample into the attached PCR sample tube. The testing module then applies ultrasonic energy to mix together the components in the PCR sample tube. Then, the testing module separates the SCD from the PCR sample tube and then seals the sample tube, e.g., with a film or foil material known in the art. The testing module then may place the PCR sample tube in a PCR machine and run a PCR test on the same in the PCR sample tube. The testing module may discard the used SCD into a waste receptacle. Once the PCR test is complete, then the testing module may also discard the sample tube into a waste receptacle.
In some embodiments, the SCD used in connection with the testing module may be provided in a two-part kit, which may be provided sterilized within flexible packaging prior to use.
The sample container 304 may have features that enable 1) bulk sample extraction from the swab stick 102; 2) lysis of the bulk sample; 3) and PCR sample tube attachment; and 4) metering of a microsample (˜5 μl) of the biological sample from the bulk sample, and transferring the microsample to the PCR sample tube. In embodiments, the PCR sample tube is pre-sealed prior to attachment to the sample container 104 and may contain a lyophilized master mix as known in the art. For example, a suitable lyophilized master mix for use in PCR detection of pathogens in biological samples may include PCR buffer, cofactor (e.g., MgCl2), dNTPs, probes (e.g., dye), and enzymes (e.g., polymerase and reverse transcriptase). In embodiments, primers, the sample, and water are added to the lyophilized master mix. In embodiments, if the testing module is configured to detect only a specific pathogen, the primers may be lyophilized and included in the master mix.
The sample container 304 as shown is releasably attached to a PCR sample tube 308, which contains a lyophilized master mix 310. The attachment may be by frictional engagement. The PCR sample tube attachment may be performed by the testing module after the SCD containing the collected biological specimen has been inserted into the testing module, or the PCR sample tube attachment may be performed by a user before the SCD containing the collected biological specimen is inserted into the testing module. The sample container also includes a projection 340 which is configured to pierce a seal on the top of the PCR sample tube 308 upon the attachment of the PCR sample tube 308 to the sample container 304. The projection 340 includes a through-channel that is in communication with the micro sample chamber 316.
After initial insertion of the saliva swap into the sample container, the saliva swab may be translated into the swab chamber 312 a first distance that will compress the saliva swab 301 and thereby release collected saliva into the bulk saliva collection chamber 314. After chemical or thermal lysing of the saliva in the bulk saliva collection chamber 314, further downward translation of the saliva swab into the swab chamber 312 a second distance will drive swab plunger 320, which extends from the holder 303, into contact with the metering piston 330 and drive at least part of the metering piston into the micro sample chamber 316, and displace the selected volume of the lysed saliva from the micro sample chamber 316 into the PCR sample tube 308. These translations of the first and second distances are performed in and by the testing module, for example by the processing unit 108 and/or one or more robotic manipulators.
As shown in
As shown in
The sample is collected by the user using a SCD at sample collection step 501. At sample accession step 503, the sample is subjected to an accessioning process. In
The presently disclosed methods and systems, in conjunction with the SCDs and the local testing modules, advantageously may eliminate the need for shipping samples, and may yield a faster the PCR profile as compared with PCR profiles provided with conventional testing methods. As shown in
While the methods and system described herein are particularly useful in analyzing clinical specimens for the presence of infectious agents, such as those associated with various viruses, including the SARS-CoV-2 virus and influenza, the systems and methods described herein also can be used or readily adapted for use in the screening or diagnosis of a variety of other diseases and conditions in which PCR testing may be utilized. Non-limiting examples include measles, mumps, chlamydia, Bordetella pertussis Toxin, tuberculosis, H. pylori, zika, Mycoplasma pneumoniae, varicella zoster virus, VAV, borrelia, chagas, and sepsis. In other examples, the methods and devices described herein may be used in the screening of various other medical conditions, such as those related to bone and mineral health, thyroid, reproductive endocrinology, anaemia, autoimmunity, tumor markers, hypertension, adrenal function, growth, diabetes, viral hepatitis and retroviruses, treponema, Epstein-Barr Virus, TORCH (toxoplasmosis, rubella cytomegalovirus, herpes simplex, and HIV), as well as in stool diagnostics. PCR assays are known in the art for use in the diagnosis of a wide variety of diseases.
The biological sample is collected with a SCD at step 1204. For example, the SCD may include either a nasal or oral swab for collection of the sample, and the SCD may comprise water and/or reagents to be mixed with the sample. In embodiments, the SCD has a barcode or QR code or other means of identifying/tracking the SCD. Once the sample is collected, the SCD is placed in the testing module. At step 1206, the testing module scans the SCD so that a sample may be associated with a particular user or patient.
Once the sample has been identified, the sample may be inactivated at Step 1208. In some embodiments, the sample may be heated to render the sample non-infectious, for example to 95° C. for an effective period of time as known in the art. In some other embodiments, the sample may be irradiated, filtered, or exposed to solvents, detergents, or reagents with a low pH, as known in the art. The sample is also lysed, using techniques known in the art. Lysing may include exposing the sample to a detergent. In embodiments, the sample may be inactivated and lysed simultaneously. In some embodiments, the sample may be inactivated and lysed via heat; in such embodiments, the testing module comprises an oven or heaters known in the art.
In one embodiment, after the sample is lysed and inactivated, it may be added to a PCR tube at Step 1210. While the testing module can be used to test a single sample, it may also be used to test numerous samples at a time. In embodiments, the testing module comprises PCR plates with multiple wells. In embodiments, the testing module comprises more than one PCR tube and/or plate. The testing module comprises a liquid handler for filling the PCR tubes. In embodiments, consumable pipette tips are used to fill the tubes and are disposed of by the testing module. The sample is removed from the test tube before being added to a PCR tube. The liquid added to the PCR tube has a small volume, such as 5 uL. Once the sample has been removed from the test tube, the test tube is also disposed of by the testing module.
PCR sample tubes are sealed in step 1212. In some embodiments comprising a PCR plate, the testing module waits to test samples until a PCR plate is full. In some embodiments, the samples may be tested when the PCR plate is partially full. After the PCR plate is filled with the number of samples to be tested, it is sealed. Accordingly, the testing module may include a sealer for sealing the PCR plate, including consumables such as seal film, which are known in the art. In some embodiments comprising PCR sample tubes, the testing module may continuously run PCR tests, with sample tubes being continually added to and removed from the PCR machine. In those cases, the PCR tubes are sealed individually following receipt of a sample. Accordingly, the testing module may include a sealer for sealing the PCR sample tubes, including consumables such as seal film or closures (e.g., caps, plugs), which are known in the art.
At step 1214, PCR tests are performed on the sealed samples, and results of the PCR test are generated and reported as appropriate. Once the PCR testing is complete, the PCR tubes or plate are discarded, for example into a waste bin in the testing module.
The testing module itself may include one or more robotic manipulators (e.g., arms with actuators) reagents, storage for reagents and consumables, reagent plates, water, dispensers, pipette heads, PCR tubes and/or plates, waste receptacles, a tube/plate sealer, and one or more PCR machines. The testing module may scan the sample, prepare reagents and mix them with the sample, prepare and seal a PCR tube, and run it through a PCR machine.
The electronic device(s) 1300 may be configured to communicate with one or more servers, user devices, or the like. The electronic device(s) 1300 may be any suitable device, such as a mobile device, and may optionally be configured to determine voice commands, determine wakeword utterances, determine and/or control other devices, and other operations. The electronic device(s) 1300 may be configured to present content, detect sound, output digital content, and other functionality In some embodiments, a single remote server or a single group of remote servers may be configured to perform more than one type of functionality in conjunction with an electronic device.
The electronic device(s) 1300 may be configured to communicate via one or more networks. Such network(s) may include, but are not limited to, any one or more different types of communications networks such as, for example, cable networks, public networks (e.g., the Internet), private networks (e.g., frame-relay networks), wireless networks, cellular networks, telephone networks (e.g., a public switched telephone network), or any other suitable private or public packet-switched or circuit-switched networks. Further, such network(s) may have any suitable communication range associated therewith and may include, for example, global networks (e.g., the Internet), metropolitan area networks (MANs), wide area networks (WANs), local area networks (LANs), or personal area networks (PANs). In addition, such network(s) may include communication links and associated networking devices (e.g., link-layer switches, routers, etc.) for transmitting network traffic over any suitable type of medium including, but not limited to, coaxial cable, twisted-pair wire (e.g., twisted-pair copper wire), optical fiber, a hybrid fiber-coaxial (HFC) medium, a microwave medium, a radio frequency communication medium, a satellite communication medium, or any combination thereof.
In an illustrative configuration, the electronic device(s) 1300 may include one or more processors (processor(s)) 1302, one or more memory devices 1304 (also referred to herein as memory 1304), one or more input/output (I/O) interface(s) 1306, one or more network interface(s) 1308, one or more sensor(s) or sensor interface(s) 1310, one or more transceiver(s) 1312, one or more optional camera(s) and/or microphone(s) 1314, one or more optional rechargeable batteries 1316, and data storage 1320. The electronic device(s) 1300 may further include one or more bus(es) 1318 that functionally couple various components of the electronic device(s) 1300. The electronic device(s) 1300 may further include one or more antenna(s) 1334 that may include, without limitation, a cellular antenna for transmitting or receiving signals to/from a cellular network infrastructure, an antenna for transmitting or receiving Wi-Fi signals to/from an access point (AP), a Global Navigation Satellite System (GNSS) antenna for receiving GNSS signals from a GNSS satellite, a Bluetooth antenna for transmitting or receiving Bluetooth signals, a Near Field Communication (NFC) antenna for transmitting or receiving NFC signals, and so forth. These various components will be described in more detail hereinafter.
The bus(es) 1318 may include at least one of a system bus, a memory bus, an address bus, or a message bus, and may permit the exchange of information (e.g., data (including computer-executable code), signaling, etc.) between various components of the electronic device(s). The bus(es) 1318 may include, without limitation, a memory bus or a memory controller, a peripheral bus, an accelerated graphics port, and so forth. The bus(es) 1318 may be associated with any suitable bus architecture including, without limitation, an Industry Standard Architecture (ISA), a Micro Channel Architecture (MCA), an Enhanced ISA (EISA), a Video Electronics Standards Association (VESA) architecture, an Accelerated Graphics Port (AGP) architecture, a Peripheral Component Interconnect (PCI) architecture, a PCI-Express architecture, a Personal Computer Memory Card International Association (PCMCIA) architecture, a Universal Serial Bus (USB) architecture, and so forth.
The memory 1304 of the electronic device(s) 1300 may include volatile memory (memory that maintains its state when supplied with power) such as random access memory (RAM) and/or non-volatile memory (memory that maintains its state even when not supplied with power) such as read-only memory (ROM), flash memory, ferroelectric RAM (FRAM), and so forth. Persistent data storage, as that term is used herein, may include non-volatile memory. In certain example embodiments, volatile memory may enable faster read/write access than non-volatile memory. However, in certain other example embodiments, certain types of non-volatile memory (e.g., FRAM) may enable faster read/write access than certain types of volatile memory.
In various implementations, the memory 1304 may include multiple different types of memory such as various types of static random access memory (SRAM), various types of dynamic random access memory (DRAM), various types of unalterable ROM, and/or writeable variants of ROM such as electrically erasable programmable read-only memory (EEPROM), flash memory, and so forth. The memory 1304 may include main memory as well as various forms of cache memory such as instruction cache(s), data cache(s), translation lookaside buffer(s) (TLBs), and so forth. Further, cache memory such as a data cache may be a multi-level cache organized as a hierarchy of one or more cache levels (L1, L2, etc.).
The data storage 1320 may include removable storage and/or non-removable storage including, but not limited to, magnetic storage, optical disk storage, and/or tape storage. The data storage 1320 may provide non-volatile storage of computer-executable instructions and other data. The memory 1304 and the data storage 1320, removable and/or non-removable, are examples of computer-readable storage media (CRSM) as that term is used herein.
The data storage 1320 may store computer-executable code, instructions, or the like that may be loadable into the memory and executable by the processor(s) 1302 to cause the processor(s) 1302 to perform or initiate various operations. The data storage 1320 may additionally store data that may be copied to the memory 1304 for use by the processor(s) 1302 during the execution of the computer-executable instructions. Moreover, output data generated as a result of execution of the computer-executable instructions by the processor(s) 1302 may be stored initially in the memory 1304, and may ultimately be copied to the data storage 1320 for non-volatile storage.
More specifically, the data storage 1320 may store one or more operating systems (O/S) 1322; one or more database management systems (DBMS) 1324; and one or more program module(s), applications, engines, computer-executable code, scripts, or the like such as, for example, one or more update module(s) 1326, one or more communication module(s) 1328, and/or one or more battery and charging module(s) 1330. Some or all of these module(s) may be sub-module(s). Any of the components depicted as being stored in the data storage 1320 may include any combination of software, firmware, and/or hardware. The software and/or firmware may include computer-executable code, instructions, or the like that may be loaded into the memory 1304 for execution by one or more of the processor(s) 1302. Any of the components depicted as being stored in the data storage 1320 may support functionality described in reference to corresponding components named earlier in this disclosure.
The data storage 1320 may further store various types of data utilized by the components of the electronic device(s) 1300. Any data stored in the data storage 1320 may be loaded into the memory 1304 for use by the processor(s) 1302 in executing computer-executable code. In addition, any data depicted as being stored in the data storage 1320 may potentially be stored in one or more datastore(s) and may be accessed via the DBMS and loaded in the memory 1304 for use by the processor(s) 1302 in executing computer-executable code. The datastore(s) may include, but are not limited to, databases (e.g., relational, object-oriented, etc.), file systems, flat files, distributed datastores in which data is stored on more than one node of a computer network, peer-to-peer network datastores, or the like. In
The processor(s) 1302 may be configured to access the memory 1304 and execute the computer-executable instructions loaded therein. For example, the processor(s) 1302 may be configured to execute the computer-executable instructions of the various program module(s), applications, engines, or the like of the electronic device(s) 1300 to cause or facilitate various operations to be performed in accordance with one or more embodiments of the disclosure. The processor(s) 1302 may include any suitable processing unit capable of accepting data as input, processing the input data in accordance with stored computer-executable instructions, and generating output data. The processor(s) 1302 may include any type of suitable processing unit including, but not limited to, a central processing unit, a microprocessor, a Reduced Instruction Set Computer (RISC) microprocessor, a Complex Instruction Set Computer (CISC) microprocessor, a microcontroller, an Application Specific Integrated Circuit (ASIC), a Field-Programmable Gate Array (FPGA), a System-on-a-Chip (SoC), a digital signal processor (DSP), and so forth. Further, the processor(s) 1302 may have any suitable microarchitecture design that includes any number of constituent components such as, for example, registers, multiplexers, arithmetic logic units, cache controllers for controlling read/write operations to cache memory, branch predictors, or the like. The microarchitecture design of the processor(s) 1302 may be capable of supporting any of a variety of instruction sets.
Referring now to functionality supported by the various program module(s) depicted in
The communication module(s) 1328 may include computer-executable instructions, code, or the like that responsive to execution by one or more of the processor(s) 1302 may perform functions including, but not limited to, sending and/or receiving data, including content, sending and/or receiving instructions and commands, and the like.
The battery and charging module(s) 1330 may include computer-executable instructions, code, or the like that responsive to execution by one or more of the processor(s) 1302 may perform functions including, but not limited to, determining a charging voltage or other charging parameter, calculating elapsed time, calculating battery environment values, calculating acceleration or stress factors, calculating deceleration factors, adjusting charging voltages, determining predicted usage, determining voltage and/or temperature data, and the like.
Referring now to other illustrative components depicted as being stored in the data storage 1320, the 0/S 1322 may be loaded from the data storage 1320 into the memory 1304 and may provide an interface between other application software executing on the electronic device(s) 1300 and the hardware resources of the electronic device(s) 1300. More specifically, the 0/S 1322 may include a set of computer-executable instructions for managing the hardware resources of the electronic device(s) 1300 and for providing common services to other application programs (e.g., managing memory allocation among various application programs). In certain example embodiments, the 0/S 1322 may control execution of the other program module(s). The O/S 1322 may include any operating system now known or which may be developed in the future including, but not limited to, any server operating system, any mainframe operating system, or any other proprietary or non-proprietary operating system.
The DBMS 1324 may be loaded into the memory 1304 and may support functionality for accessing, retrieving, storing, and/or manipulating data stored in the memory 1304 and/or data stored in the data storage 1320. The DBMS 1324 may use any of a variety of database models (e.g., relational model, object model, etc.) and may support any of a variety of query languages. The DBMS 1324 may access data represented in one or more data schemas and stored in any suitable data repository including, but not limited to, databases (e.g., relational, object-oriented, etc.), file systems, flat files, distributed datastores in which data is stored on more than one node of a computer network, peer-to-peer network datastores, or the like. In those example embodiments in which the electronic device(s) 1300 is a mobile device, the DBMS 1324 may be any suitable lightweight DBMS optimized for performance on a mobile device.
Referring now to other illustrative components of the electronic device(s) 1300, the input/output (I/O) interface(s) 1306 may facilitate the receipt of input information by the electronic device(s) 1300 from one or more I/O devices as well as the output of information from the electronic device(s) 1300 to the one or more I/O devices. The I/O devices may include any of a variety of components such as a display or display screen having a touch surface or touchscreen; an audio output device for producing sound, such as a speaker; an audio capture device, such as a microphone; an image and/or video capture device, such as a camera; a haptic unit; and so forth. Any of these components may be integrated into the electronic device(s) 1300 or may be separate. The I/O devices may further include, for example, any number of peripheral devices such as data storage devices, printing devices, and so forth.
The I/O interface(s) 1306 may also include an interface for an external peripheral device connection such as universal serial bus (USB), FireWire, Thunderbolt, Ethernet port or other connection protocol that may connect to one or more networks. The I/O interface(s) 1306 may also include a connection to one or more of the antenna(s) 1334 to connect to one or more networks via a wireless local area network (WLAN) (such as Wi-Fi) radio, Bluetooth, ZigBee, and/or a wireless network radio, such as a radio capable of communication with a wireless communication network such as a Long Term Evolution (LTE) network, WiMAX network, 3G network, a ZigBee network, etc.
The electronic device(s) 1300 may further include one or more network interface(s) 1308 via which the electronic device(s) 1300 may communicate with any of a variety of other systems, platforms, networks, devices, and so forth. The network interface(s) 1308 may enable communication, for example, with one or more wireless routers, one or more host servers, one or more web servers, and the like via one or more networks.
The antenna(s) 1334 may include any suitable type of antenna depending, for example, on the communications protocols used to transmit or receive signals via the antenna(s) 1334. Non-limiting examples of suitable antennas may include directional antennas, non-directional antennas, dipole antennas, folded dipole antennas, patch antennas, multiple-input multiple-output (MIMO) antennas, or the like. The antenna(s) 1334 may be communicatively coupled to one or more transceivers 1312 or radio components to which or from which signals may be transmitted or received.
As previously described, the antenna(s) 1334 may include a cellular antenna configured to transmit or receive signals in accordance with established standards and protocols, such as Global System for Mobile Communications (GSM), 3G standards (e.g., Universal Mobile Telecommunications System (UMTS), Wideband Code Division Multiple Access (W-CDMA), CDMA2000, etc.), 4G standards (e.g., Long-Term Evolution (LTE), WiMax, etc.), direct satellite communications, or the like.
The antenna(s) 1334 may additionally, or alternatively, include a Wi-Fi antenna configured to transmit or receive signals in accordance with established standards and protocols, such as the IEEE 802.11 family of standards, including via 2.4 GHz channels (e.g., 802.11b, 802.11g, 802.11n), 5 GHz channels (e.g., 802.11n, 802.11ac), or 60 GHz channels (e.g., 802.11 ad). In alternative example embodiments, the antenna(s) 1334 may be configured to transmit or receive radio frequency signals within any suitable frequency range forming part of the unlicensed portion of the radio spectrum.
The antenna(s) 1334 may additionally, or alternatively, include a GNSS antenna configured to receive GNSS signals from three or more GNSS satellites carrying time-position information to triangulate a position therefrom. Such a GNSS antenna may be configured to receive GNSS signals from any current or planned GNSS such as, for example, the Global Positioning System (GPS), the GLONASS System, the Compass Navigation System, the Galileo System, or the Indian Regional Navigational System.
The transceiver(s) 1312 may include any suitable radio component(s) for—in cooperation with the antenna(s) 1334—transmitting or receiving radio frequency (RF) signals in the bandwidth and/or channels corresponding to the communications protocols utilized by the electronic device(s) 1300 to communicate with other devices. The transceiver(s) 1312 may include hardware, software, and/or firmware for modulating, transmitting, or receiving—potentially in cooperation with any of antenna(s) 1334—communications signals according to any of the communications protocols discussed above including, but not limited to, one or more Wi-Fi and/or Wi-Fi direct protocols, as standardized by the IEEE 802.11 standards, one or more non-Wi-Fi protocols, or one or more cellular communications protocols or standards. The transceiver(s) 1312 may further include hardware, firmware, or software for receiving GNSS signals. The transceiver(s) 1312 may include any known receiver and baseband suitable for communicating via the communications protocols utilized by the electronic device(s) 1300. The transceiver(s) 1312 may further include a low noise amplifier (LNA), additional signal amplifiers, an analog-to-digital (A/D) converter, one or more buffers, a digital baseband, or the like.
The sensor(s)/sensor interface(s) 1310 may include or may be capable of interfacing with any suitable type of sensing device such as, for example, inertial sensors, force sensors, thermal sensors, photocells, and so forth. Example types of inertial sensors may include accelerometers (e.g., MEMS-based accelerometers), gyroscopes, and so forth.
The camera(s) 1314 may be any device configured to capture ambient light or images. The microphone(s) 1314 may be any device configured to receive analog sound input or voice data. The rechargeable battery (or batteries) 1316 may be any suitable power storage device, such as a lithium ion battery and may be in various form factors, such as pouch form factors, cylindrical form factors, and the like.
It should be appreciated that the program module(s), applications, computer-executable instructions, code, or the like depicted in
It should further be appreciated that the electronic device(s) 1300 may include alternate and/or additional hardware, software, or firmware components beyond those described or depicted without departing from the scope of the disclosure. More particularly, it should be appreciated that software, firmware, or hardware components depicted as forming part of the electronic device(s) 1300 are merely illustrative and that some components may not be present or additional components may be provided in various embodiments. While various illustrative program module(s) have been depicted and described as software module(s) stored in the data storage 1320, it should be appreciated that functionality described as being supported by the program module(s) may be enabled by any combination of hardware, software, and/or firmware. It should further be appreciated that each of the above-mentioned module(s) may, in various embodiments, represent a logical partitioning of supported functionality. This logical partitioning is depicted for ease of explanation of the functionality and may not be representative of the structure of software, hardware, and/or firmware for implementing the functionality. Accordingly, it should be appreciated that functionality described as being provided by a particular module may, in various embodiments, be provided at least in part by one or more other module(s). Further, one or more depicted module(s) may not be present in certain embodiments, while in other embodiments, additional module(s) not depicted may be present and may support at least a portion of the described functionality and/or additional functionality. Moreover, while certain module(s) may be depicted and described as sub-module(s) of another module, in certain embodiments, such module(s) may be provided as independent module(s) or as sub-module(s) of other module(s).
Program module(s), applications, or the like disclosed herein may include one or more software components including, for example, software objects, methods, data structures, or the like. Each such software component may include computer-executable instructions that, responsive to execution, cause at least a portion of the functionality described herein (e.g., one or more operations of the illustrative methods described herein) to be performed.
A software component may be coded in any of a variety of programming languages. An illustrative programming language may be a lower-level programming language such as an assembly language associated with a particular hardware architecture and/or operating system platform. A software component comprising assembly language instructions may require conversion into executable machine code by an assembler prior to execution by the hardware architecture and/or platform.
Another example programming language may be a higher-level programming language that may be portable across multiple architectures. A software component comprising higher-level programming language instructions may require conversion to an intermediate representation by an interpreter or a compiler prior to execution.
Other examples of programming languages include, but are not limited to, a macro language, a shell or command language, a job control language, a script language, a database query or search language, or a report writing language. In one or more example embodiments, a software component comprising instructions in one of the foregoing examples of programming languages may be executed directly by an operating system or other software component without having to be first transformed into another form.
A software component may be stored as a file or other data storage construct. Software components of a similar type or functionally related may be stored together such as, for example, in a particular directory, folder, or library. Software components may be static (e.g., pre-established or fixed) or dynamic (e.g., created or modified at the time of execution).
Software components may invoke or be invoked by other software components through any of a wide variety of mechanisms. Invoked or invoking software components may comprise other custom-developed application software, operating system functionality (e.g., device drivers, data storage (e.g., file management) routines, other common routines and services, etc.), or third-party software components (e.g., middleware, encryption, or other security software, database management software, file transfer or other network communication software, mathematical or statistical software, image processing software, and format translation software).
Software components associated with a particular solution or system may reside and be executed on a single platform or may be distributed across multiple platforms. The multiple platforms may be associated with more than one hardware vendor, underlying chip technology, or operating system. Furthermore, software components associated with a particular solution or system may be initially written in one or more programming languages, but may invoke software components written in another programming language.
Computer-executable program instructions may be loaded onto a special-purpose computer or other particular machine, a processor, or other programmable data processing apparatus to produce a particular machine, such that execution of the instructions on the computer, processor, or other programmable data processing apparatus causes one or more functions or operations specified in the flow diagrams to be performed. These computer program instructions may also be stored in a computer-readable storage medium (CRSM) that upon execution may direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means that implement one or more functions or operations specified in the flow diagrams. The computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational elements or steps to be performed on the computer or other programmable apparatus to produce a computer-implemented process.
Additional types of CRSM that may be present in any of the devices described herein may include, but are not limited to, programmable random access memory (PRAM), SRAM, DRAM, RAM, ROM, electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, compact disc read-only memory (CD-ROM), digital versatile disc (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the information and which can be accessed. Combinations of any of the above are also included within the scope of CRSM. Alternatively, computer-readable communication media (CRCM) may include computer-readable instructions, program module(s), or other data transmitted within a data signal, such as a carrier wave, or other transmission. However, as used herein, CRSM does not include CRCM.
Although embodiments have been described in language specific to structural features and/or methodological acts, it is to be understood that the disclosure is not necessarily limited to the specific features or acts described. Rather, the specific features and acts are disclosed as illustrative forms of implementing the embodiments. Conditional language, such as, among others, “can,” “could,” “might,” or “may,” unless specifically stated otherwise, or otherwise understood within the context as used, is generally intended to convey that certain embodiments could include, while other embodiments do not include, certain features, elements, and/or steps. Thus, such conditional language is not generally intended to imply that features, elements, and/or steps are in any way required for one or more embodiments or that one or more embodiments necessarily include logic for deciding, with or without user input or prompting, whether these features, elements, and/or steps are included or are to be performed in any particular embodiment.
This application claims priority to U.S. Provisional Application No. 63/425,656, filed Oct. 12, 2021, the content of which is incorporated herein by reference in its entirety.
Number | Date | Country | |
---|---|---|---|
63254656 | Oct 2021 | US |