Configuring a personal computing device to communicate with an aerosol generating device
The method of using a PWA on personal computing devices to establish short-range wireless connections with aerosol generating devices addresses the limitations of device control and software updates, providing flexible and unified management across diverse platforms.
Patent Information
- Application Number
- JP2022194971
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2019-05-10
- Filing Date
- 2022-12-06
- Publication Date
- 2025-05-20
- Estimated Expiration
- 2040-03-31
AI Technical Summary
Existing aerosol generating devices, such as e-cigarettes, lack flexibility in control and software updates, and their interaction with personal computing devices is limited due to operating system differences and app store restrictions, making it difficult to provide a single application that can control various devices effectively.
A method involving a personal computing device that launches a progressive web application (PWA) to establish a short-range wireless connection with an aerosol generating device, using browser storage to retain instructions and data for offline operation, and leveraging native applications to facilitate communication through web APIs, allowing seamless interaction regardless of device operating systems.
Enables flexible control and monitoring of aerosol generating devices via personal computing devices, allowing for software updates and unified management across different platforms without requiring constant internet connectivity.
Smart Images

Figure 0007680412000006 
Figure 0007680412000007 
Figure 0007680412000008
Abstract
Description
[Technical field]
[0001] The present disclosure relates to configuring a personal computing device for communication with an aerosol generating device, and is particularly, but not exclusively, applicable to short-range wireless communication connections between a personal computing device and an aerosol generating device, such as a personal inhaler device or an electronic cigarette (or e-cigarette). [Background technology]
[0002] The popularity and use of reduced-risk or modified-risk smoking devices, also known as e-cigarettes, vaporizers, or aerosol-generating devices, has grown rapidly over the past few years. Such aerosol-generating devices offer an alternative to traditional tobacco products, such as cigarettes, cigars, cigarillos, and rolling tobacco. They generally heat or warm an aerosolizable material to generate an aerosol for inhalation, as opposed to burning tobacco as in traditional tobacco products.
[0003] Most aerosol generating devices incorporate some form of electronic control circuitry, typically including a simple computer processor, to allow a user to control the operation of the aerosol generating device. However, control of the aerosol generating device is generally only performed locally, by a user directly interacting with the aerosol generating device itself, for example by a user operating buttons or other user controls on the aerosol generating device and interpreting the meaning of indicators, such as light emitting diodes (LEDs) on the aerosol generating device. This limits the flexibility with which the aerosol generating device can be controlled. This also means that the manufacturer or supplier of the aerosol generating device has little interaction with the aerosol generating device once it is in the user's possession. The software running on the device cannot be easily updated, and the use of the aerosol generating device cannot be easily monitored to improve the user experience.
[0004] A short-range wireless communication connection, such as Bluetooth, is operable to allow a consumer device, such as an aerosol generating device, to communicate with a personal computing device. This type of connection can be utilized to allow the consumer device to be controlled in a more sophisticated manner via the personal computing device.
[0005] Typically, the operating system of a personal computing device manages the short-range wireless communication connection, sometimes together with an appropriate driver, but does not itself facilitate the control of the consumer device. Rather, a dedicated application that may run on the personal computing device is required to facilitate the control of the consumer device via the short-range wireless communication connection managed by the operating system. Since many personal computing devices can only run a limited range of applications, significant difficulties may be encountered when attempting to provide a single application that runs on a variety of different personal computing devices to facilitate the control of the consumer device, but that can still access the short-range wireless communication connection managed by the different operating systems and / or appropriate drivers. This is in part due to the different operating requirements of different personal computing devices, such as personal computing devices with different operating systems, e.g., macOS®, Android®, or Microsoft® Windows®. This is also due to limitations set by manufacturers and suppliers of personal computing devices with respect to applications that can be installed on the personal computing device, such as, for example, the Apple® App Store, the Google® Play™ App Store, or the Windows® Store, each of which requires an application to meet certain (different) criteria before being approved for inclusion on the store and therefore available to users.
[0006] The present disclosure seeks to overcome the problems outlined above. Summary of the Invention
[0007] Aspects of the present disclosure are set forth in the accompanying claims.
[0008] According to a first aspect of the present disclosure, there is provided a method for configuring a personal computing device to communicate with an aerosol generating device via a short-range wireless communication connection, the method comprising: The native application launches a web browser on the personal computing device; A web browser launches a progressive web application (PWA) on a personal computing device; The PWA causes a personal computing device to establish a short-range wireless communication connection with a consumer device; Storing instructions and / or data for performing one or more functions of the PWA in browser storage of the web browser such that after the web browser is closed and subsequently relaunched by the native application, the web browser can retrieve the instructions and / or data for performing the one or more functions of the PWA from the browser storage.
[0009] By storing information or files for running a PWA in the browser storage, the personal computing device may be advantageously configured to communicate with a consumer device. For example, a PWA may be launched from a file stored in the browser storage without a communication connection to a web server where the file is generally available, e.g., the PWA may operate in an offline mode. Similarly, information enabling the functionality of the PWA may be accessed at the time of launch of the PWA, rather than waiting until an Internet connection is established or until the information is retrieved from some other location.
[0010] Optionally, the instructions and / or data for performing one or more functions of the PWA include computer-executable code for executing the PWA. The computer-executable code for executing the PWA may enable a web browser to launch the PWA when the personal computing device is not connected to the Internet.
[0011] Optionally, the instructions and / or data for performing one or more functions of the PWA include information enabling establishment of a short-range wireless communication connection with the aerosol generating device. The instructions and / or data for performing one or more functions of the PWA may include a consumer device identifier, and the PWA causing the personal computing device to establish a short-range wireless communication connection with the aerosol generating device may include the PWA obtaining a consumer device identifier of the aerosol generating device from browser storage of the web browser.
[0012] Optionally, the PWA causing the personal computing device to establish a short-range wireless communication connection with the aerosol generating device includes the PWA causing a native application to control the personal computing device using a consumer device identifier of the aerosol generating device to establish the short-range wireless communication connection.
[0013] Optionally, the method comprises: causing a personal computing device to scan one or more candidate aerosol generating devices using a short-range wireless communication protocol; and receiving a consumer device identifier for each of the one or more candidate aerosol generating devices in the vicinity of the personal computing device.
[0014] Optionally, the scanning of the one or more candidate aerosol generating devices is initiated by a native application. Preferably, receiving the consumer device identifiers of the one or more candidate aerosol generating devices is performed by a native application.
[0015] Optionally, the method further includes transmitting consumer device identifiers of the one or more candidate aerosol generating devices from the native application to the PWA.
[0016] Optionally, the PWA causing the personal computing device to establish a short-range wireless communication connection with the aerosol generating device includes the PWA determining an aerosol generating device with which to establish a short-range wireless communication connection from one or more candidate aerosol generating devices.
[0017] Optionally, determining an aerosol generating device with which to establish a short-range wireless communication connection comprises: causing the personal computing device to display a list of one or more candidate aerosol generating devices; The method includes receiving a user selection of one of the one or more candidate aerosol generating devices as the aerosol generating device with which a short-range wireless communication connection should be established.
[0018] Optionally, causing the personal computing device to display a list of one or more candidate aerosol generating devices on the personal computing device and receiving a user selection of one of the one or more candidate aerosol generating devices as the aerosol generating device with which to establish a short-range wireless communication connection is performed by a native application.
[0019] Optionally, the method further comprises receiving, at the personal computing device, information from the aerosol generation device via the short-range wireless communication connection indicative of capabilities of the aerosol generation device.
[0020] Optionally, the method further comprises storing information indicative of the capabilities of the aerosol generating device in a browser storage of the web browser.
[0021] Optionally, the method further comprises the personal computing device transmitting information indicative of the capabilities of the aerosol generating device to a remote server.
[0022] Optionally, the method comprises, before transmitting the information indicative of the functionality of the aerosol generating device to the remote server: determining whether a communication connection to a remote server has been established at the personal computing device, preferably by determining that the personal computing device has access to the Internet; In response to determining that a communications connection to the remote server has not been established at the personal computing device, the method further includes setting up a communications connection between the personal computing device and the remote server, preferably by having the personal computing device access the Internet.
[0023] Optionally, the method comprises: The method further includes transmitting aerosol generating device information from the personal computing device to the aerosol generating device via a short-range wireless communication connection, preferably where the aerosol generating device information includes one or more settings and / or firmware updates of the aerosol generating device.
[0024] Optionally, the short-range wireless communication connection is a Bluetooth connection and the consumer device identifier is a Media Access Control (MAC) address.
[0025] Optionally, the method further comprises receiving, from a remote server, a file for executing the PWA.
[0026] According to another aspect of the present disclosure, there is provided a method for configuring a personal computing device to communicate with an aerosol generating device via a short-range wireless communication connection, the method comprising: The native application launches a web browser on the personal computing device; A web browser launches a progressive web application (PWA) on a personal computing device; The native application provides resources to the web browser, where the resources cause the web browser to process a call received by the web browser from a PWA for the aerosol generating device by directing commands based on the call to the native application, where the commands cause the native application to communicate with the aerosol generating device via a short-range wireless communication connection to the personal communication device.
[0027] Optionally, the resources include computer executable code that defines the behavior of a web browser. The computer executable code may be JavaScript.
[0028] Optionally, the command includes computer-executable code that defines the behavior of the native application, which may be Swift code.
[0029] Optionally, the resources are provided as objects in a web browser.
[0030] Optionally, the resources are provided in the document object model of the PWA.
[0031] Optionally, the native application causes the personal communication device to communicate with the aerosol generation device via a short-range wireless communication connection by communicating with a wireless communication controller of the personal computing device.
[0032] Optionally, the short-range wireless communication connection is a Bluetooth connection.
[0033] Optionally, the call is for initiating short-range wireless communication with the aerosol generating device, and in response to the call, the native application is configured to return a consumer device identifier received from the aerosol generating device to the web browser.
[0034] Optionally, the consumer equipment identifier is a Media Access Control (MAC) address of the aerosol generating device.
[0035] Optionally, the method further includes the web browser launching the PWA using a file of the PWA downloaded from a web server or stored locally on the personal computing device, such that even if the personal computing device is not currently connected to the Internet, the PWA can still be run if the file of the PWA can be retrieved from local storage on the device.
[0036] Optionally, the personal computing device is a mobile personal computing device, which may be a smartphone or a tablet.
[0037] According to another aspect of the present disclosure, there is provided a personal computing device configured to communicate with an aerosol generating device via a short-range wireless communication connection, the personal computing device comprising a processor configured to cause the processor to perform the above-mentioned method.
[0038] For example, the processor may: causing the native application to launch a web browser on the personal computing device; causing a web browser to launch a progressive web application (PWA) on a personal computing device; PWA allows personal computing devices to establish short-range wireless communication connections with consumer devices; The instructions and / or data for performing one or more functions of the PWA may be stored in the browser storage of the web browser such that after the web browser is closed and subsequently relaunched by the native application, the web browser can retrieve the instructions and / or data for performing one or more functions of the PWA from the browser storage.
[0039] In another embodiment, the processor: causing the native application to launch a web browser on the personal computing device; causing a web browser to launch a progressive web application (PWA) on a personal computing device; The native application may cause the web browser to provide resources that cause the web browser to process calls received by the web browser from a PWA for the aerosol generating device by directing commands based on the calls to the native application, and the commands may cause the native application to communicate with the aerosol generating device via a short-range wireless communication connection to the personal communication device.
[0040] Optionally, the personal computing device is a mobile personal computing device, preferably a smartphone or a tablet.
[0041] It may be understood that these methods may be implemented, at least in part, using computer program code. Thus, according to another aspect of the present disclosure, there is provided computer software or computer program code adapted to perform these methods described above when processed by a computer processing means. The computer software or computer program code may be carried by a computer readable medium, in particular a non-transitory computer readable medium, which is a medium in which the computer code may be stored permanently or until it is overwritten. The medium may be a physical storage medium, such as a read-only memory (ROM) chip. Alternatively, it may be a disk, such as a digital video disk (DVD-ROM), or a non-volatile memory card, for example a flash drive or a mini / micro secure digital (SD) card. It may also be a signal, such as an electronic signal over a wire, an optical signal, or a wireless signal, such as over a mobile communication network, a terrestrial broadcast network, or a satellite. The present disclosure also extends to a processor executing the software or code, for example a computer configured to perform the above-mentioned methods.
[0042] According to another aspect of the present disclosure, a personal computing device is provided, the personal computing device comprising: storage for storing a computer program product for carrying out the method; A short-range wireless communication interface; and a computer processor operable to process the computer program product to perform the method.
[0043] The use of words such as "apparatus," "server," "device," "processor," "communications interface," and the like, is intended to be general rather than specific. These features of the present disclosure may be implemented using individual components such as a computer or central processing unit (CPU), but may equally well be implemented using other suitable components or combinations of components. For example, they may be implemented using hardwired circuitry, e.g., integrated circuits, and using embedded software.
[0044] The term "browser storage" refers to data stored in, by, or in association with a web browser on a client / user device that persists after a session ends or the web browser stops running. One type of browser storage is known as "local storage." Data stored in browser storage or local storage is not automatically sent to the web server on every request or interaction with the server, nor can it be written directly by the server (unlike cookies). Local storage is distinct from session storage, which is per window or tab origin and does not persist after a session ends or a tab or window is closed. Local storage is available, for example, in HTML5. The terms browser storage and local storage are intended to be general rather than specific, and include not only the "local storage" used in HTML5, but also other equivalent forms of browser storage or local storage (e.g., other forms of web storage such as Indexed DataBase or Web SQL).
[0045] The term "aerosol" refers to a system of particles dispersed in air or gas, such as a mist, fog, or smoke. Accordingly, the term "aerosolize" (or "aerosolize") refers to making into an aerosol and / or dispersing as an aerosol. It is noted that the meaning of aerosol / aerosolize is consistent with each of volatilize, atomize, and vaporize as defined above. For the avoidance of doubt, aerosol is used to consistently describe a mist or droplets that include atomized, volatilized, or vaporized particles. Aerosol also includes a mist or droplets that include any combination of atomized, volatilized, or vaporized particles. In a preferred embodiment, the aerosol comprises a condensation aerosol obtained by evaporating a liquid (preferably comprising an aerosol former liquid such as vegetable glycerin (VG), propylene glycol (PG), or a mixture thereof (PG / VG)) and then condensing to form a condensation aerosol comprising very small droplets of the vaporized liquid, preferably having a diameter index range of 0.5 to 7 microns, and ideally with a maximum droplet size (at least the majority of the droplets, e.g., up to about 99% of the droplets) less than 10 microns.
[0046] As used herein, the term "aerosol generating device" or "electronic cigarette" may include a device configured to provide a user with a variable amount of aerosol (particularly a variable amount of aerosol per puff depending on such things as device settings, the user's puff duration, or puff strength). The aerosol generated is preferably a condensation aerosol for inhalation. The device is preferably portable. Preferably, the device is configured to dispense a variable amount of aerosol during a puff depending on the user's behavior (e.g., a user who takes a long, deep puff will cause the device to generate more aerosol during that puff than a user who takes a short, light puff).
[0047] It should be noted that the term "comprises" as used in this document means "consisting at least in part of." Thus, when interpreting a statement in this document containing the term "comprises," other features or features beginning with this term may also be present. Related terms such as "comprise" and "comprises" should be interpreted in a similar manner. As used herein, "(s)" following a noun refers to the plural and / or singular form of the noun.
[0048] Each of the above aspects may include any one or more of the features mentioned with respect to the other aspects above.
[0049] Preferred embodiments will now be described, by way of example only, with reference to the accompanying drawings, in which: [Brief description of the drawings]
[0050] [Figure 1] 1 is a schematic diagram of a communication network according to a preferred embodiment of the present disclosure; [Diagram 2] FIG. 1 is a schematic diagram of an aerosol generating device operating in a communication network. [Diagram 3] FIG. 1 is a schematic diagram of a personal computing device operating in a communications network. [Figure 4] 1 is a schematic diagram of a remote server operating in a communications network; [Diagram 5] FIG. 1 is a flow diagram illustrating a method for preparing and launching a progressive web application (PWA) on a personal computing device. [Figure 6A] A flow diagram showing a method for establishing a short-range wireless communication connection between a personal computing device and an aerosol generating device. [Figure 6B] FIG. 1 is a schematic diagram illustrating software layers on a personal computing device. [Figure 7]A flow diagram showing a method for subsequently initiating a short-range wireless communication connection between a personal computing device and an aerosol generating device. [Figure 8] A flow diagram showing a method for collecting information about an aerosol generating device and transmitting it to a remote server. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0051] Referring to FIG. 1, according to a first embodiment, in a communication network 100, a personal computing device 104 communicates with one or more aerosol generating devices 102 (each of which is a consumer device). In the illustrated embodiment, the personal computing device 104 communicates with potentially four aerosol generating devices 102. The communication link between the personal computing device 104 and each aerosol generating device 102 is a short-range wireless communication connection 116. In this embodiment, the short-range wireless communication connection 116 is a Bluetooth® connection. In other embodiments, the short-range wireless communication connection 116 is a connection implemented using one or more of the Institute of Electrical and Electronics Engineers (IEEE) 802.11 standard (Wi-Fi®), an infrared (IR) wireless connection, a ZigBee® connection, or other similar connections. In one particular embodiment, the short-range wireless communication connection is a Near Field Communication (NFC) connection. NFC utilizes electromagnetic induction between two loop antennas. NFC-enabled devices, e.g., the personal computing device 104 and the aerosol generating device 102, exchange information using globally available unlicensed radio frequency bands, e.g., the 13.56 MHz Industrial, Scientific, and Medical (ISM) band. NFC communication is defined by the International Organization for Standardization (ISO) and the International Electrotechnical Commission (IEC) Joint Technical Committee (JTC). The ISO / IEC 18000-3 standard achieves rates of 106 to 424 kbit / s. Thus, reference to "short range" in the context of a short-range wireless communication connection 116 means that it can be maintained over several meters, e.g., up to about 100 meters, but typically less than 10 meters, in practice, in the context of NFC, e.g., less than 10 cm, or even just up to 4 cm.
[0052] The personal computing device 104 is also in communication with a remote server 114 via the Internet 112. In this embodiment, the personal computing device 104 is configured to communicate with the Internet 112 via an access point 110. The personal computing device 104 is configured to communicate with the access point 110 via another short-range wireless communication connection 118, which in this embodiment is a Wi-Fi connection. In other embodiments, the other short-range wireless communication connection 118 is a Bluetooth connection, an IR radio connection, a ZigBee connection, or some similar connection. In this embodiment, the personal computing device 104 is also configured to communicate with the Internet 112 via a cellular wireless network link 120 to provide data communication using a suitable communication standard, such as Global System for Mobile Communications (GSM), Universal Mobile Telecommunications System (UMTS), or Long Term Evolution (LTE). The personal computing device 104 typically chooses to communicate with the Internet 112 from time to time via other short-range wireless communication connections 118 and access points 110, or via a cellular wireless network link 120, depending on availability and other criteria and preferences.
[0053] In this embodiment, the personal computing device 104 is a mobile computing device, specifically a smartphone running the Android operating system. In other embodiments, the personal computing device 104 is a smartphone, tablet computing device, or laptop computer running other types of operating systems, such as iOS, Linux for mobile OS, or Windows. In most embodiments, the personal computing device 104 is configured to communicate over a cellular wireless network link 120, and thus the personal computing device 104 may be referred to as user equipment (UE). In other embodiments, the personal computing device 104 is a desktop personal computer (PC) configured to communicate over the Internet 112 via a wired Ethernet connection. In such an embodiment, the Ethernet connection is effectively similar to other short-range wireless connections 118 in that it connects to the access point 110, e.g., in the form of a broadband modem or the like, and thence to the Internet 112, albeit via a fixed line or wired connection rather than a wireless connection.
[0054] Referring to FIG. 2, in common with typical electronic consumer devices, each aerosol generating device 102 comprises a central processing unit (CPU) 202, memory 204, storage 206, a communication interface 208, an antenna 210, and a user interface 212 that communicates with another one via a communication bus 214.
[0055] The aerosol generating device 102 also has a consumable module 218 that includes aerosol generating components, in particular a heating element 216, and in this embodiment a detector 219 for detecting when a suitable consumable 217 is inserted into the consumable module 218. It should be noted that in this embodiment, the consumable 217 is in the form of a tobacco rod or stick, as described in more detail below, and includes a mouthpiece, a filter, such as an acetate or through-hole filter, commonly used in cigarettes. However, it should be noted that some of the methods described below are applicable to other types of consumer devices, which typically have computer-related components, but do not have the aerosol generating components of the aerosol generating device 102. It should therefore be understood that in the context of these methods, the aerosol generating device 102 described is only one example of a suitable consumer device for use in the methods.
[0056] The CPU 202 is a computer processor, e.g., a microprocessor. The CPU 202 is configured to execute instructions, e.g., in the form of computer executable code, to process data, e.g., in the form of values and strings, including instructions and data stored in the memory 204 and storage 206. The instructions and data executed by the CPU 202 include instructions for coordinating the operation of other components of the aerosol generation device 102, such as instructions and data for controlling the communication interface 208 and the user interface 212.
[0057] The memory 204 is implemented as one or more memory units that provide a random access memory (RAM) for the aerosol generating device 102. In the illustrated embodiment, the memory 204 is a volatile memory, for example in the form of an on-chip RAM integrated with the CPU 202 using a system-on-chip (SoC) architecture. However, in other embodiments, the memory 204 is separate from the CPU 202. The memory 204 is configured to store instructions and data that are executed and processed by the CPU 202. Typically, only selected elements of instructions and data are stored by the memory 204 at a time, which selected elements define the instructions and data essential to the operation of the aerosol generating device 102 being executed at a particular time. In other words, the instructions and data are temporarily stored in the memory 204 while a particular process is being processed by the CPU 202.
[0058] The storage 206 is provided integrally with the aerosol generating device 102 in the form of a non-volatile memory. In most embodiments, the storage 206 is integrated on the same chip as the CPU 202 and the memory 204 using a SoC architecture, implemented as a multiple time programmable (MTP) array. However, in other embodiments, the storage 206 is an integrated or external flash memory, etc. The storage 206 stores instructions and data executed and processed by the CPU 202. The storage 206 stores instructions and data permanently or semi-permanently, for example until overwritten. That is, the instructions and data are non-temporarily stored in the storage 206. Typically, the instructions and data stored by the storage 206 relate to basic instructions for the operation of the CPU 202, the communication interface 208, the user interface 212, and the aerosol generating device 102, and more generally to applications that perform higher level functions of the aerosol generating device 102.
[0059] The communication interface 208 supports short-range wireless communication, in particular Bluetooth® communication. The communication interface 208 is configured to establish a short-range wireless communication connection 116 with the personal computing device 104. The communication interface 208 is coupled to an antenna 210, through which wireless communications of the antenna 210 are transmitted and received over the short-range wireless communication connection 116. The communication interface 208 is also configured to communicate with the CPU 202 via a communication bus 214.
[0060] The user interface 212 includes a display 220 and an input device 222. In this embodiment, the display 220 is a plurality of separate indicators, such as light emitting diodes (LEDs). In other embodiments, the display 220 is a screen, such as a thin film transistor (TFT) liquid crystal display (LCD) display or an organic light emitting diode (OLED) display, or other suitable display. The input device 222 is one or more user-operable buttons that respond to being pressed, toggled, or touched by the user. The user interface 212 is configured to provide instructions to a user under the control of the CPU 202, receive inputs from the user, and communicate these inputs to the CPU 202 via the communication bus 214.
[0061] The aerosol generating device 102 may be described as a personal inhaler device, an electronic cigarette (or e-cigarette), a vaporizer, or an inhalation device. In one particular embodiment, the aerosol generating device 102 is a heat-not-burn (HnB) device. All of these devices generally heat or warm an aerosolizable substance to generate an aerosol for inhalation, as opposed to burning tobacco as in traditional tobacco products.
[0062] More specifically, the aerosol generation device 102 is configured to heat a consumable 217 inserted into a consumable module 218 using an associated heating element 216 to generate an inhalable aerosol or vapor for inhalation by a user. In this embodiment, the consumable module 218 is intended to receive a consumable 217 in the form of a rod comprising treated tobacco material (e.g., a crimped sheet or oriented strip of reconstituted tobacco (RTB) paper impregnated with a liquid aerosol-forming agent). The liquid aerosol-forming agent in this embodiment comprises vegetable glycerin (VG), but may also be a mixture of propylene glycol (PG) and VG or other humectants, such as begetol (13 propanediol), the use of which in this embodiment may be advantageous as it works well with nicotine-containing aerosol formulations over a range of different temperatures of the heating element, and the use of such a humectant that works well over a range of operating temperatures is beneficial, as this embodiment offers the possibility for the user to adjust the operating temperature in a convenient manner. It should be noted that this advantage applies to all kinds of embodiments (e.g., liquid vaporization e-cigarettes, as well as heat-not-burn type devices), and thus the advantageous use of Veghetol is not limited to a particular type of aerosol generating device. In this embodiment, the consumable 217 uses pure VG without any flavoring or nicotine. Instead, the volatile flavoring and nicotine from the RTB are evaporated simultaneously with the aerosol forming agent and are captured in the resulting condensed aerosol for inhalation by the user. However, in other embodiments, the consumable 217 has an aerosol forming agent that includes nicotine and other flavorings. In such cases, the consumable 217 typically includes other solid porous substances for absorbing the aerosol forming agent liquid, such as a mousse formed with a gelling agent and a suitable binder that may or may not include tobacco.
[0063] The consumable module 218 has a detector 219 for detecting a consumable 217 inserted into the consumable module 218. The detector 219 is operable to identify the type of consumable 217 inserted into the consumable module 218 and determine whether the inserted consumable 217 is suitable for use in the aerosol generation device 102. In this embodiment, the consumable module 218 achieves this by detecting indicia on the consumable 217 (e.g., a printed barcode or an RFID chip or an NFC tag, etc.).
[0064] In an alternative embodiment, the consumable 217 is a capsule containing an aerosol-forming agent stored in a reservoir and having a vaporization chamber whereby liquid from the reservoir is heated by the heating element 216 (e.g., via a wick, or via a heated transfer element, or via a dosing element that transports a small amount of the liquid aerosol-forming agent to a heated vaporization surface, such as heated by the heating element 216). Preferably, the aerosol-forming agent includes VG or a PG / VG mixture together with nicotine and / or flavorings.
[0065] In another alternative embodiment, the aerosol generation device 102 does not include a heating element 216, but instead powers a consumable 217 that itself includes a heating element (e.g., the consumable is a "cartomizer"). In such a case, the cartomizer includes a liquid reservoir for storing the aerosol forming agent, which is also preferably formed of VG or a PG / VG mixture together with nicotine and / or flavorings.
[0066] The aerosol generation device 102 may further include a capsule downstream of the cartomizer or vaporization chamber, which may also contain processed tobacco granules that impart flavor and / or nicotine to the condensation aerosol as it passes through the capsule before exiting the aerosol generation device 102 for inhalation by the user.
[0067] The aerosol generating device 102 is configured to execute a number of software modules, including an operating system 226, a short-range wireless communication controller 228, and a heating element controller 230. Each of the software modules includes a set of instructions for performing one or more functions of the aerosol generating device 102. The instructions are provided in the form of computer-executable code stored in the storage 206 and / or memory 204 and processed by the CPU 202, the communication interface 208, and the user interface 212.
[0068] In this embodiment, the operating system 226 is an embedded or real-time operating system. Such an operating system is optimized to reduce latency and improve user experience. The operating system 226 manages the basic functionality of the hardware of the aerosol generating device 102 and the operational interactions between the hardware components and software modules of the aerosol generating device 102.
[0069] The short-range wireless communication controller 228 is configured primarily to control the communication interface 208. The short-range wireless communication controller 228 is operable to establish a short-range wireless connection via the communication interface 208. In this embodiment, the short-range wireless communication connection is a Bluetooth connection. As a result, the short-range wireless communication controller 228 includes instructions in accordance with the Bluetooth wireless communication standard available at www.bluetooth.org, with Bluetooth 5.0 being the currently prevailing specification.
[0070] The heating element controller 230 is configured to control the heating element 216. The heating element controller 230 is operable to monitor the amount and power of energy (i.e., the rate of energy) supplied to the heating element 216, and the temperature of the heating element 216 (preferably by monitoring the resistance of the heating element 216, which is known to vary in a predetermined manner with the temperature of the heating element 216). However, in particular in this embodiment, the heating element controller 230 is configured to receive commands to disable or enable the use of the heating element 216. (Note that in embodiments in which the aerosol generation device 102 does not itself include a heating element 216, but instead provides power to a heating element within a consumable 217 (e.g., a cartomizer), the heating element controller 230 then instead controls the supply of power to the heating element contained within the consumable 217).
[0071] Referring to FIG. 3, the personal computing device 104 includes a CPU 302, a memory 304, a storage 306, a removable storage 308, a communication interface 310, an antenna 312, and a user interface 314, which communicate with each other via a communication bus 316.
[0072] The CPU 302 is a computer processor, e.g., a microprocessor. The CPU 302 is configured to execute instructions, e.g., in the form of computer executable code, and processes data, e.g., in the form of values and strings, including instructions and data stored in the memory 304, the storage 306, and the removable storage 308. The instructions and data executed and processed by the CPU 302 include instructions and data for coordinating the operation of other components of the personal computing device 104, such as the communication interface 310 and the user interface 314. They also include instructions and data for executing applications on the personal computing device 104.
[0073] The memory 304 is implemented as one or more memory units that provide RAM for the personal computing device 104. In the illustrated embodiment, the memory 304 is a dynamic RAM (DRAM) memory chip integrated on the motherboard of the personal computing device 104 alongside the CPU 302. However, in other embodiments, the memory 304 is provided differently, for example, in an integrated package with the CPU 302 or as a plug-in memory unit. The memory 304 is configured to store instructions and data that are executed and processed by the CPU 302. Typically, only selected elements of the instructions and data are stored by the memory 304 at one time, and the selected elements define the instructions and data relevant to the operation of the personal computing device 104 that is being executed at a particular time. In other words, the instructions and data are temporarily stored in the memory 304 while a particular process is being processed by the CPU 302.
[0074] Storage 306 is provided integrally with personal computing device 104 in the form of non-volatile memory. Storage 306 comprises a memory unit integrated on the motherboard of personal computing device 104, typically including read-only memory (ROM), flash memory, and / or cache memory. In the illustrated embodiment, removable storage 308 is also provided, but is optional. Removable storage 308 is also non-volatile memory, typically in the form of a micro-secure digital (SD) card or some other portable flash memory device. Storage 306 and removable storage 308 are configured to store instructions and data used by personal computing device 104. Storage 306 and removable storage 308 store instructions and data permanently or semi-permanently, for example, until overwritten. Typically, the elements of computer instructions and data stored by storage 306 and removable storage 308 comprise instructions and data essential for the basic operation of the personal computing device 104, as well as instructions and data associated with applications installed or installable on the personal computing device 104, including those performing the methods described below.
[0075] The communication interface 310 comprises a short-range wireless communication interface and a cellular wireless communication interface, and is coupled to an antenna 312. The short-range wireless interface is configured to establish a short-range wireless communication 116, e.g., a Bluetooth® connection, with the aerosol generating device 102, and another short-range wireless communication connection 118, e.g., a Wi-Fi® connection, with the access point 110. The cellular wireless communication interface is configured to establish a cellular wireless communication connection 120 to the Internet 112 using the appropriate protocol described above. Thus, the communication interface 210 comprises one or more wireless modems suitable for supporting the different communication connections 116, 118, 120 (see FIG. 1). In another embodiment, the communication interface 310 also includes a wired communication interface. The wired communication interface can be used to provide a wired communication connection to the access point 110, e.g., an Ethernet or Universal Serial Bus (USB) connection (not shown).
[0076] The user interface 314 comprises a display 318 and an input device 320. In this embodiment, the display 318 and the input device 320 are implemented together as a touch-sensitive screen. The display 318 is a thin film transistor (TFT) liquid crystal display (LCD) display or an organic light emitting diode (OLED) display, or other suitable display. The input device 320 is a capacitive layer provided on top of the display 318 configured to detect a touch by a user. The user interface 314 is configured to display information to a user under the control of the CPU 302 and to communicate user input obtained from a user touching the input device 320 to the CPU 302 via the communication bus 316.
[0077] The personal computing device 104 is configured to execute a number of software modules, including an operating system 328, a web browser 324, native applications 326, a progressive web application (PWA) 328, and a wireless communication controller 330. Each of the software modules includes a set of instructions for performing one or more functions of the personal computing device 104. The instructions are provided in the form of computer-executable code that is stored in the storage 306, the removable storage 308, and / or the memory 304 and processed by the CPU 302, the communication interface 310, and the user interface 314.
[0078] In this embodiment, the personal computing device 104 is a smartphone whose operating system 322 is the Android® operating system. However, several other operating systems are suitable as alternatives, such as Apple® iPhone® OS (iOS) and Microsoft® Windows® 10. The operating system 322 manages the basic functionality of the hardware of the personal computing device 104 and the operational interactions between the hardware components and software modules of the personal computing device 104.
[0079] The web browser 324 is configured to download and process web resources from the Internet 112 and render them on the display 318 as needed. The web browser 324 is also configured to cache downloaded web resources in the memory 304 and storage 306 of the personal computing device 104. Typically, the web browser 324 downloads HyperText Markup Language (HTML), JavaScript, Cascading Style Sheets (CSS), and image files. These web resources are processed to display information such as web pages on the display 318 of the user interface 314. In this embodiment, the web browser 324 is Google® Chrome®, but this is not required and in other embodiments, the web browser is, for example, Safari®, Firefox®, or Microsoft® Edge®. Alternatively, the web browser 324 may be a web browser specifically designed to handle PWAs, offline web pages, or other web-based technologies such as Electron™ developed by GitHub®.
[0080] The web browser 324 has a browser storage 332. Physically, the browser storage 332 is effectively a part of the memory 304 or storage 306. However, more importantly, the operating system 322 and the web browser 324 are configured to provide the browser storage 332 as a part of the memory with certain operational characteristics. Specifically, the browser storage 332 is a storage in which stored data persists after the web browser 334 session ends or after the web browser 334 stops its execution. In some embodiments, the browser storage 332 is implemented as a web storage, as that language is understood, for example, under the Hypertext Markup Language 5 (HTML5) standard. More specifically, the browser storage 332 is a local storage. Local storage data (unlike cookies) is not automatically sent to the web server on every request or interaction with the web server, nor can it be written directly by the web server. Local storage is distinct from session storage, which is per-window or per-tab origin, and does not persist after the session ends or the tab or window is closed. Local storage is available, for example, in HTML 5. Browser storage 332, in this embodiment, is stored within the files of web browser 334 (such as files that store user preferences and other configurations).
[0081] The native application 326 is configured to manage the execution of the web browser 324 and the PWA 328. In particular, the native application 326 is configured to modify the functionality of the web browser 324 so that it can process calls made by the PWA 328 to communicate with the aerosol generating device 102 via the short-range wireless communication connection 116. In this embodiment, this is achieved by the native application 326 providing resources, code such as JavaScript and / or Swift code. The resources specify how calls should be generated in the web browser 324 by the PWA 328, for example using a web Bluetooth® application programming interface (API), resulting in corresponding commands that are processed by the native application 326, for example using a Bluetooth® API. The commands are configured to cause the wireless communication controller 320 to perform certain operations, for example setting up a short-range wireless communication connection 116 (e.g., a Bluetooth® connection) or sending and receiving messages via the short-range wireless communication connection 116. In this way, the native application 326 provides seamless communication between the PWA 328 and the wireless communication controller 330.
[0082] It will be appreciated that the native applications 326 can generally access the hardware and peripherals of the personal computing device 104 through the operating system 322. The hardware and peripherals include the communications interface 310, the storage 306, the removable storage 308, and the user interface 314, as well as the camera, microphone, etc. (not shown). Thus, the native applications 326 can provide communication between the PWA 328 and other hardware and peripherals of the personal computing device 104, as well as the communications interface 310.
[0083] The native application 326 is typically programmable using a software development kit (SDK). By using an appropriate SDK, the native application 326 can be configured to have the functionality described above. In particular, the native application 326 can be configured to interface with the operating system 322 and appropriate software drivers to control the hardware and peripherals of the personal computing device 104 as needed and to provide resources to the web browser 324.
[0084] The web browser 324 is configured to download, store, and execute the PWA 328. The PWA 328 typically includes HyperText Markup Language (HTML), JavaScript, Cascading Style Sheets (CSS), JavaScript Object Notation (JSON), Extensible Markup Language (XML), image files, or other files of the PWA 328. The files of the PWA 328, for example in the form of instructions and data, are initially downloaded from the web server 422 of the remote server 114 and then stored in the browser storage 332. In alternative embodiments, the files of the PWA 328 are stored elsewhere in the storage 306, memory 304, and / or cache of the CPU 302.
[0085] In general, PWAs provide a way for users to benefit from similar functionality as that offered by native applications. However, PWAs are limited in that they do not necessarily have access to certain features, data structures, and interfaces of the personal computing device on which they may be executed. For example, the way to access some features, data structures, and interfaces of the personal computing device 104 are defined in the SDK for the native application 326 and cannot be accessed through the web browser 324 that the PWA 328 executes. In some cases, indirect access to certain hardware and peripherals is still possible for the PWA through the web API. However, there are many exceptions to this, and the utility of the web API varies from device to device. In particular, even if the PWA 328 is configured to receive messages or data received at the personal computing device 104 through the web Bluetooth® API and similarly transmit messages or data to the aerosol generating device 102 connected to the personal computing device 102 through the Bluetooth® web API, this will not be effective unless the personal computing device 102 is configured to function with the web Bluetooth® API. This configuration is provided by the native application 326.
[0086] The wireless communication controller 330 is primarily configured to control the communication interface 310. The wireless communication controller 330 is operable to establish a short-range wireless connection 116 via the communication interface 310. In this embodiment, the short-range wireless communication connection 116 is a Bluetooth connection. As a result, the wireless communication controller 330 includes instructions in accordance with the Bluetooth wireless communication standard available at www.bluetooth.org, with Bluetooth 5.0 being the currently prevailing specification.
[0087] The wireless communication controller 330 includes any hardware drivers necessary to control the Bluetooth® module (which is part of the communication interface 310), as well as the Android® Bluetooth® API, which allows native applications 326 to access and control the Bluetooth® module of the communication interface 310 (e.g., in response to calls by the PWA 328 to the Web Bluetooth® API).
[0088] Referring to FIG. 4, the remote server 114 includes a CPU 402, a memory 404, a storage 406, a user database 408, a communication interface 410, and a user interface 412, which communicate with each other via a communication bus 414.
[0089] The CPU 402 is a computer processor, e.g., a microprocessor. The CPU 402 is configured to execute instructions, e.g., in the form of computer executable code, and processes data, e.g., in the form of values and strings, including instructions and data stored in the memory 404 and storage 406. The instructions and data executed and processed by the CPU 402 include instructions and data for coordinating the operation of other components of the remote server 114, such as the user database 108, the communication interface 410, and the user interface 412. They also include instructions and data for executing applications on the remote server 114.
[0090] The memory 404 is implemented as one or more memory units that provide RAM for the remote server 114. In the illustrated embodiment, the memory 404 is a DRAM memory unit mounted on the motherboard of the remote server 114 alongside the CPU 402. However, in other embodiments, the memory 404 is provided differently, for example as a memory chip integrated with the motherboard or CPU 402. The memory 404 is configured to store instructions and data that are executed and processed by the CPU 402. Typically, only selected elements of the instructions and data are stored by the memory 404 at one time, and the selected elements define the instructions and data related to the operation of the remote server 114 that is being executed at a particular time. In other words, the instructions and data are temporarily stored in the memory 404 while a particular process is being processed by the CPU 402.
[0091] The storage 406 comprises a hard disk drive or a flash drive attached in the remote server 114 or as a separate storage unit accessible to the remote server 114. The user database 408 may be implemented using the storage. That is, the user database 408 is typically part of the data stored by the storage 406, e.g., the storage. However, in other embodiments, the user database 408 is separate from the storage, e.g., comprising a separate hard disk drive or storage unit. The storage 406 is configured to store instructions and data used by the remote server 114. The storage 406 stores instructions and data permanently or semi-permanently, e.g., until overwritten. Typically, the elements of instructions and data stored by the storage 406 include instructions and data essential for the basic operation of the remote server 114, as well as instructions and data related to applications installed or installable on the remote server, including those implementing the methods described below. The user database 408 is configured to store information related to users who own or have owned one or more aerosol generating devices 102, along with configuration information related to the users and the aerosol generating devices 102.
[0092] The communications interface 410 comprises a wired communications interface configured to connect to the Internet 112. The wired communications interface typically connects to the Internet 112 through an access point (not shown) and an Internet Service Provider (ISP), for example, via an Ethernet or Universal Serial Bus (USB) connection (not shown) and a suitable modem.
[0093] The user interface 412 includes a display 416 and an input device 418. In this embodiment, the display 416 is a computer monitor and the input device 418 is a keyboard and mouse.
[0094] The remote server 114 is configured to execute a number of software modules, including an operating system 420 and a web server 422. Each of the software modules includes a set of instructions and data for performing one or more functions of the remote server 114. The instructions may be provided, for example, in the form of computer executable code, and the data, for example, in the form of values or strings, may be stored in the memory 404 and storage 406 and executed or processed by the CPU 402.
[0095] In this embodiment, the operating system 420 is a server-optimized operating system, such as those provided by Linux® and Microsoft® Windows®. The operating system 420 manages the basic functionality of the hardware of the remote server 114 and the operational interactions between the hardware components and software modules of the remote server 114. In some embodiments, the web server 422 is implemented as part of the operating system 420, for example as a function or module of the operating system 420. In other embodiments, the web server 422 is an application running on the remote server 114, or even at a remote site under the control of the remote server 114. The web server 422 is configured to provide the personal computing device 104 with files for executing the PWA 328 upon request. The web server 422 also provides a portal for managing the interactions between the personal computing device 104 (and the aerosol generating device 102) and the user database 408.
[0096] Referring to FIG. 5, a method 500 of launching a PWA 328 includes a user first interacting with a user interface 314 of a personal computing device 104 to provide an input indicating that the user wishes to open the PWA 328. In one embodiment, when a user first purchases an aerosol generating device 102, the user is prompted to download and install the PWA 328. In this embodiment, the user uses a web browser 324 of the personal computing device 104 to access a URL present on the packaging or user interface 212 of the aerosol generating device 102. The URL points to a website hosted on a web server 422 of the remote server 114. In one embodiment, accessing the URL is accomplished by the user operating the personal computing device 104 to scan a barcode that encodes the URL. In particular, the barcode may be a 2D barcode. Alternatively or additionally, the URL is presented in plain text for the user to type into the web browser 324 of the personal computing device 104.
[0097] More specifically, the user is typically prompted by the packaging of a newly purchased aerosol generating device 102 to visit a specific website associated with the personal computing device 104. At the website, the user is given instructions on how to download the native application 326 from a repository appropriate for whatever type of operating system (e.g., Android) the user's personal computing device 104 is using. Once the user follows these instructions and downloads and installs the native application 326, the user is prompted to launch the native application 326 and navigate from within the native application 326, or more specifically, from within a web browser 324 launched under the control of the native application, to a specified website from which the PWA 328 was downloaded. The download of the PWA 328 from within the native application 326 can be initiated automatically once a URL has been selected, or following further input from the user, for example, by the user double-clicking on an associated icon on the user interface 314 of the personal computing device 104. If the PWA 328 has not been previously accessed from and / or installed on a particular personal computing device 104, an icon may be displayed within the web browser 324. That is, the user first navigates to a web page that contains the icon, which is provided to the personal computing device 104 by the web server 422. Once the files to run the PWA 328 have been downloaded from the web server 422, the PWA can be launched.
[0098] During subsequent launches of the PWA 328, the icon is typically displayed on a home screen element of the personal computing device 104. When this icon is selected by the user, the personal computing device 104 receives input indicating that the user wishes to launch the PWA 328, step 502. In response to the input from the user, the personal computing device 104 launches the native application 326 on the personal computing device 104, step 504, rather than launching the PWA 328 directly. The native application 326 then launches (or relaunches) the web browser 324, step 506. The native application 326 then loads a file to launch the PWA 328, step 508, and launches the PWA 328 on the web browser 324, step 510.
[0099] It will be appreciated that the native application 326 may allow a user to initiate launch of the PWA 328 via the user interface 314 using this method. However, in some embodiments, the native application 326 may launch the PWA 328 automatically (i.e., without explicit interaction from the user), particularly for second or subsequent launches of the PWA 328, if the files for running the PWA 328 have already been downloaded and stored (cached) in the browser storage 324 of the web browser 324. In such cases, it is preferable for the user to have some way to prevent the automatic launch of the PWA 328, should the user choose to do so, for example, by clearing stored files needed to run the PWA 328 from the browser storage 324, or by changing settings associated with the native application 326, or by some other suitable mechanism.
[0100] To launch the PWA 328, the native application 326 first launches the web browser 324 in step 506. More specifically, rather than launching the web browser 324 in a standard manner on the personal computing device 102, the native application 326 launches the web browser 324 in a modified manner, for example, as if the user had initiated the launch of the web browser 324 himself. Specifically, the native application 326 launches the web browser 324 with appropriate functionality to support the PWA 328. This includes the native application 326 adding resources to the web browser 324 in the form of JavaScript code (or in other embodiments, Python or another suitable computer language). The resources are generally part of the software of the native application 326. In other embodiments, they may be stored on the web server 422 and accessed by the native application 326, for example, when the PWA 328 is downloaded from the web server 422. The resources may be specific to the operating system 322 of the personal computing device 104, for example, resources provided for Android® may differ from resources provided for iOS®. Resources are added as objects to the library of the web browser 324. More specifically, they are added as part of the document object model of the PWA 328.
[0101] The PWA 328 is launched on the web browser 324 in steps 508 and 510 by the web browser 324 being directed to the uniform resource locator of the PWA 328. If this is the first time the web browser 324 has opened the URL, the web browser 324 uses the URL to download files for running the PWA 328 from the remote server 114. The files for running the PWA 328 are received from the remote server 114 over the Internet 112. In this embodiment, the files for running the PWA 328 are received from the remote server 114 over a long-range communication connection 120. In an alternative embodiment, the files for running the PWA 328 are received over a short-range wireless communication connection 118 with the access point 110. Once the web browser 324 has downloaded the necessary files, the web browser 324 launches the PWA 328 in step 510 and stores the files for running the PWA 328 in the browser storage 332 of the web browser 324 in step 512. In other embodiments, files required for the PWA 328 are stored elsewhere within the storage 306 of the personal computing device 104 .
[0102] If the PWA 328 (e.g., a set of files required for the PWA 328) has already been downloaded, the web browser 324 retrieves the files to run the PWA 328 from the browser storage 332 or from another location in the storage 306 or memory 304 of the personal computing device 104. In this scenario, there is no need to store the files again, and thus step 512 is shown in FIG. 5 as optional.
[0103] Files for executing PWA 328 include any one or more of the following files: HyperText Markup Language (HTML), JavaScript, Cascading Style Sheets (CSS), JavaScript Object Notation (JSON), Extensible Markup Language (XML), images, or other PWA-related files. These files may be compressed and may require decompression. Files for executing PWA 328 may be minified and / or obfuscated.
[0104] 6A and 6B, a method 600 for establishing a short-range wireless communication connection 116 with one of the aerosol generating devices 102 and storing configuration information for the aerosol generating device 102 includes first activating the PWA 328 in step 602 using the method 500 for activating the PWA 328 described with reference to FIG. 5 above. Using the PWA 328, the user then initiates a command to scan for nearby aerosol generating devices 102 in step 604. The user initiates a command to scan for nearby aerosol generating devices 102 by interacting with the PWA 328 via the user interface 314 of the personal computing device 104. In this embodiment, the user initiates the scan by selecting an icon in the PWA 328 displayed by the web browser 324. In alternative embodiments, the PWA 328 scans the aerosol generating device 102 when the PWA 328 starts, at a specific time after the PWA 328 starts, periodically, at a set time of day, when a timer triggers, when requested by the remote server 114, or when requested by the aerosol generating device 102.
[0105] The PWA 328 provides a call to initiate a scan. In this embodiment, the PWA 328 uses the short-range wireless communication capabilities of the web browser, such as the web Bluetooth API, to generate the call. The call may roughly consist of JavaScript as follows:
[0106]
number
[0107] Such calls would routinely be rejected by the web browser 324 because the web browser 324 does not inherently include functionality for communicating with the wireless communication controller 330. However, when a native application 326 launches the web browser 324, the modified version of the web browser 324 can answer the call using functionality added to the web browser 324 by the native application 326.
[0108] More specifically, this code causes the web browser 324 to access an object found in that directory at "navigator.bluetooth.requestDevice". In this embodiment, the object is a JavaScript that was previously inserted by the native application 326 when the web browser 324 was launched. This code may roughly consist of JavaScript® as follows:
[0109]
number
[0110] Thus, when the PWA 328 generates a call to scan the aerosol generating device 102, the web browser 324 processes the call using the objects found in its directory in the appropriate locations, for example using the code above. This code serves to provide backing to the web browser 324. It also causes the web browser 324 to provide swift code to the native application 326. Thus, the web browser 324 effectively translates the call into a command to the native application 326. The swift code defining a command for the native application 326 might look roughly like this:
[0111]
number
[0112] The native application 326 receives the command and uses it to initiate the wireless communication controller 330 to scan the aerosol generating device 102. Upon receiving the command, the native application 326 executes the following code using the wireless communication controller 330:
[0113]
number
[0114] Thus, in step 604, the wireless communication controller 330 controls the communication interface 310 of the personal computing device 104 to scan for the aerosol generating device 102. In the discoverable mode, any aerosol generating device 102 that is within range (or already paired with the personal computing device 104) and has a short-range wireless communication interface of the same protocol as the personal computing device 104 responds. The aerosol generating device 102 responds with configuration information including a consumer device identifier. In this embodiment, the consumer device identifier is the Bluetooth® Medium Access Control (MAC) address of the aerosol generating device 102.
[0115] The configuration information of each aerosol generating device 102 is received by the wireless communication controller 330 of the personal computing device 104 and then transmitted to or acquired by the PWA 328 in step 606. More specifically, in this embodiment, the native application 326 receives a response from the wireless communication controller 330 that includes Swift code roughly as follows:
[0116]
number
[0117] It will be clear that the PWA 328 calls the web Bluetooth® API to perform tasks such as scanning for devices via the short-range wireless communication connection 116, or writing or receiving messages or data between the aerosol generating devices 102. In the present embodiment, this is done in a manner that is agnostic to which application actually supports the web Bluetooth® API, i.e., the (unmodified) web browser 324 or the web browser 324 when appropriately modified by the native application 326. Thus, preferably, the native application 326 is configured to determine whether the web browser 324 can process the web Bluetooth® API call (in the desired manner), and if so, does not need to apply code to modify the web browser 324 so that it can process the web Bluetooth® API call (unless it needs to be processed in a non-standard manner for some reason, which would still allow the web browser 324 to be modified by effectively overriding the standard functionality for processing the web Bluetooth® API call to perform the desired non-standard action). This functionality is preferably handled by having the native application 326 query the web browser 324 for its name and version (as to how much to change the existing behavior of the web browser 324) and compare this to a lookup table that specifies the correct action to take depending on the name and version of the web browser 324, the operating system 322, or the personal computing device 104 itself.
[0118] Using all of the configuration information of the aerosol generating devices 102 received ( 610 ), the personal computing device 104 displays 608 a list of all candidate aerosol generating devices 102 on the user interface 312 .
[0119] The user selects which of the candidate aerosol generating devices 102 he or she wishes to interact with. One or more may be selected. (Note that in an alternative embodiment, if only one aerosol generating device 102 is identified as being within range and it is the one the user previously selected from the PWA 328, the PWA 328 may automatically select that aerosol generating device 102 without requiring confirmation from the user, thus effectively skipping displaying the list and receiving a user selection, and instead moving directly from receiving 610 the configuration information to setting up a short-range wireless communication connection 116 with the aerosol generating device 102, as described in more detail below.) The selection is received at the user device 102 in step 610.
[0120] The PWA 328, in step 612, causes the personal computing device 104 to open a short-range wireless communication connection 116 with the selected aerosol generating device 102. The short-range wireless communication connection 116 is set up using some or all of the configuration information of the selected aerosol generating device 104. In this embodiment, a consumer device identifier is used to set up the short-range wireless communication connection 116. In this example, the MAC address of the selected aerosol generating device 102 is the consumer device identifier.
[0121] The further configuration information may include any one or more of the following information indicative of the capabilities of the aerosol generation device 102: Generic Attribute Profile Service (GATT) information, GATT UUID, ·GATT characteristics, Authentication information, Capsule information, Device settings, Event information, and / or ·Suction information.
[0122] The capsule information, relevant for embodiments in which the aerosol generation device 102 employs a consumable 217 in the form of a capsule or aerosol containing a reservoir of e-liquid to be vaporized, includes an estimated number of puffs remaining in the capsule and may include the amount of e-liquid and / or nicotine remaining in the capsule. The capsule information is updated periodically, for example, after every puff and / or when the user changes the capsule.
[0123] In this embodiment, the device settings include a sleeve time and a maximum puff duration. The event information includes a malfunction event, an overheating event, and a dry inhalation event. The inhalation information includes information about whether a user is using the aerosol generating device 102. The inhalation information may further include information about duration, temperature, and capsule information.
[0124] The native application 326 receives information indicative of the capabilities of the aerosol generation device 102. The information indicative of the capabilities of the aerosol generation device 102 is passed from the native application 326 to the PWA 328 via the web browser 324. The information indicative of the capabilities of the aerosol generation device 102 is received at the PWA 328 and may be used by the PWA 328. For example, some or all of the information may be displayed to a user by the PWA on the display 318 of the user interface 314 of the personal computing device.
[0125] The consumer device identifier is stored in step 612 in the browser storage 332 of the web browser 324. All or part of the information indicative of the capabilities of the aerosol generating device 102 may also be stored in the browser storage 332 of the web browser 324. The storage is performed by the PWA 328 and / or the web browser 324. In some embodiments, the information is time-stamped with the current time.
[0126] 7, there is shown a method 700 for initiating a short-range wireless communication connection 116 between a personal computing device 104 and an aerosol generation device 102. For example, after a short-range wireless communication connection 116 between a personal computing device 104 and an aerosol generation device 102, which has already been established using the method described with reference to FIGS. 6A and 6B, has been closed, it can be initiated again using the method described with reference to FIG.
[0127] Initially, the PWA 328 is launched on the personal computing device 104 in step 702 using the method 500 for launching the PWA 328 described above with reference to FIG.
[0128] The browser storage 332 of the web browser 324 stores one or more consumer device identifiers. The PWA 328 accesses the consumer device identifiers from the browser storage 332 in step 704. A determination of the aerosol generating device 102 to connect is then made in step 706. In this embodiment, the consumer device identifiers stored in the browser storage 332 are presented to the user on the user interface 312 of the personal computing device 104. The user selects the aerosol generating device 102 to which they wish to connect. If there is only one aerosol generating device 102, that aerosol generating device 102 is selected by the user (or may be automatically selected on behalf of the user).
[0129] In this embodiment, the user interface 310 displays, for example as an icon, a user-friendly name of the aerosol generating device 102 associated with the consumer device identifier. When the user interacts with the name or icon of the aerosol generating device 102, the consumer device identifier associated with the aerosol generating device 102 is selected. In another embodiment, the consumer device identifier itself is displayed.
[0130] The consumer device identifier corresponding to the determined or selected aerosol generating device 102 is obtained by the PWA 328 from the browser storage 332 in step 708. The PWA 328 uses the consumer device identifier to cause the personal computing device 104 to initiate a short-range wireless communication connection 116 with the determined or selected aerosol generating device 102 in step 710. It will be understood that the consumer device identifier has been retained in the browser storage 332 since the last time the PWA 328 was used in order to establish the short-range wireless communication connection 116 via the web browser 324 and the native application 326. The consumer device identifier remains in the browser storage even if the web browser 324 and the native application 326 themselves are closed, for example, if they are terminated or stop running. This allows the short-range wireless communication connection 116 to be directly initiated by re-establishing the short-range wireless communication connection, for example, using the method 600 described with reference to FIGS. 6A and 6B, without the need to obtain the consumer device identifier again from the aerosol generating device 102.
[0131] In this embodiment, the consumer device identifier is a Bluetooth MAC address and is used to initiate the short-range wireless communication connection 116. To initiate the short-range wireless communication connection 116, the PWA 328 generates a call. The call is intended to cause the personal computing device 104 to establish the short-range wireless communication connection 116 with the aerosol generating device 102. The web browser 324 processes the call using the appropriate object found in its directory at the appropriate location. The object's code functions to provide backing to the web browser 324. The object's code also causes the web browser 324 to provide swift code to the native application 326 so that the web browser 324 effectively translates the call into a command to the native application 326. The native application 326 receives the command and uses it to cause the wireless communication controller 330 to open the short-range wireless communication connection 116 with the aerosol generating device 102.
[0132] Referring to FIG. 8, a method 800 for transmitting information regarding the functionality of the aerosol generating device 102 to a remote server 114 is shown.
[0133] Using an already established and / or initiated short-range wireless communication connection 116 between the personal computing device 104 and the selected aerosol generating device 102, the personal computing device 104 receives information indicating the capabilities of the selected aerosol generating device 102 from the selected aerosol generating device 102 via the short-range wireless communication connection 116 in step 802.
[0134] In this embodiment, the information indicative of the capabilities of the selected aerosol generating device 102 may include any one or more of the following: - identification and / or type of the aerosol generating device 102, such as a model and serial number identifying the aerosol generating device 102; The type and identity of any consumables 217 installed in the aerosol generation device 102; the status of the aerosol generation device 102 and / or the consumable 217 (if present), such as the battery level of the aerosol generation device 102 and the current settings of the aerosol generation device 102 (e.g. the target temperature setting or the “vapor volume” level setting), as well as information about the capacity of the consumable 217 (e.g. the number of puffs remaining before the consumable 217 is considered expired), the amount of liquid remaining in the consumable 217 if it includes a reservoir of liquid, and / or details about how much of the consumable 217 has been used (see below); and / or - Information regarding the use of the aerosol generating device 102 since a previous time since such information was successfully transmitted to the remote 114 server and / or PWA 328.
[0135] The information indicative of the capabilities of the selected aerosol generating device 102 is stored in the browser storage 332 of the web browser 324 in step 804. In this embodiment, the information indicative of the capabilities of the selected aerosol generating device 102 is also transmitted to the remote server 114 via the Internet 112 in step 808. In particular, the information indicative of the capabilities of the selected aerosol generating device 102 is transmitted to the remote server 114 via the long-range wireless communication connection 120. In another embodiment, the information indicative of the capabilities of the aerosol generating device 102 is transmitted (810) to the remote server 114 via the short-range wireless communication connection 118 via the access point 110.
[0136] In this embodiment, the transmission of the information indicative of the capabilities of the selected aerosol generating device 102 is not forwarded until it is determined in step 806 that a connection to the remote server 114 is available. The determination is made by the personal computing device 104 attempting to connect to the remote server 114 via the Internet 112. If it is determined that a connection to the remote server 114 is available, the transmission of the information indicative of the capabilities of the selected aerosol generating device 102 is sent to the remote server 114. It should be noted that in an alternative embodiment, a portion of the information indicative of the capabilities of the aerosol generating device 102 is only transmitted to the personal computing device 104 if or only if the personal computing device 102 determines that a connection to the remote server 114 is available and communicates this as part of establishing and / or initiating a short-range wireless communication connection 116 between the personal computing device 104 and the aerosol generating device 102. This is especially true for any relatively large amounts of data (which may advantageously include, for example, historical puff data relating to the user's use of the aerosol generating device 102, i.e., any one or more of the time and duration of each puff taken by the user, the target temperature setting at which each puff was taken, and possibly the location of the aerosol generating device 102 at which each puff was taken). In particular, large batches of data such as these may be stored on the personal computing device 102 only until they are successfully transmitted to the remote server 114. Thus, an exemplary process flow is, in outline, as follows:At the aerosol generating device 102, receive confirmation from the personal computing device 104 that the device 104 has an available connection to the remote server 114, send the large information batch from the device 102 to the personal computing device 104, transfer the large information batch from the personal computing device 104 to the remote server 114, receive confirmation from the personal computing device 104 that the large information batch was successfully received, send a confirmation from the personal computing device 104 to the aerosol generating device 102 that the large information batch was successfully sent to the remote server 114, and delete the successfully sent large information batch from the aerosol generating device 102.
[0137] In a particularly preferred embodiment, the consumable 217 is a cartomizer that includes a memory for storing data regarding the consumable 217, including an identifier for the consumable 217, information regarding the consumable 217, and preferably information such as the flavor of the consumable 217, the nicotine strength of the consumable 217 (e.g., menthol tobacco flavor at an 18 mg / ml concentration of nicotine), and most preferably information regarding the amount of liquid that is (estimated to be) still available in the consumable 217 for consumption by the user. Most preferably, the information regarding the amount of liquid estimated to remain in the consumable 217 may be information regarding the use of the consumable 217 (e.g., puffs taken while containing the consumable 217 and information about those puffs, such as the settings of the aerosol generation device 102 during the puff, the duration of the puff, the energy consumed by the heating element 216 during the puff, the ambient temperature, or the temperature of the heating element 216 before or at the start of the puff), which may be aggregated (e.g., the total energy consumed by the heating element while taking a puff from the consumable 217, the total puff duration of all puffs taken at different target temperatures or different vapor volume settings, the average ambient temperature, or the temperature of the heating element before or at the start of the puff, etc.) to minimize the memory required to store the data. Storing usage data rather than the actual estimated liquid level remaining is advantageous because the server can then estimate from this data the amount of liquid (or number of puffs) remaining in the consumable 217 using sophisticated algorithms that can be improved over time, or can take into account information from many sources (possibly aggregated to avoid any issues related to misuse of personal information) to provide the most accurate information, etc., rather than relying on the aerosol generation device 102 having to perform such an estimation.
[0138] In this embodiment, the personal computing device 104 is further configured to transmit information of the aerosol generating device 102 to the aerosol generating device 102 via the short-range wireless communication connection 116. The information may include any one or more of the following: Settings of the aerosol generation device 102, such as the maximum power level of the heating element 216; -Activation message, User credentials, and · Updating firmware for the aerosol generating device 102.
[0139] The described embodiments of the invention are merely examples of how the invention can be implemented. Modifications, variations, and modifications to the described embodiments will occur to persons having the appropriate skills and knowledge. These modifications, variations, and modifications can be made without departing from the scope of the claims.
Claims
1. 1. A method comprising:
1. A personal computing device in communication with an aerosol generating device via a short-range wireless communication connection, comprising: A progressive web application (PWA) running on a web browser launched on the personal computing device causes the personal computing device to establish the short-range wireless communication connection with the aerosol generating device via a native application; Establishing the short-range wireless communication connection comprises: causing the personal computing device to display a list of one or more aerosol generating devices; determining, from the one or more aerosol generating devices displayed in the list, which aerosol generating device should be connected to; Including, receiving, at the personal computing device, from the aerosol generating device via the short-range wireless communication connection, information indicative of a capability of the aerosol generating device; the PWA causing the personal computing device to transmit the information indicative of the capabilities of the aerosol generating device to a remote server; and wherein the information indicating the functionality of the aerosol generating device is identification information for identifying the aerosol generating device, the information including a model and serial number of the aerosol generating device.
2. Establishing the short-range wireless communication connection comprises: causing the personal computing device, via a native application, to scan one or more aerosol generating devices located in the vicinity of the personal computing device using a short-range wireless communication protocol; receiving a consumer device identifier for each of the one or more aerosol generating devices via a native application; The method of claim 1 , wherein the list includes an aerosol generating device that received the consumer device identifier.
3. The method of claim 2 , wherein the consumer equipment identifier is a MAC address, and the list includes the MAC addresses assigned to the aerosol generating devices.
4. The method of claim 2 or 3, wherein determining the aerosol generating device with which to establish the short-range wireless communication connection includes accepting a user selection of one of the aerosol generating devices displayed in the list as the aerosol generating device with which to establish the short-range wireless communication connection.
5. The method of claim 2 , wherein establishing the short-range wireless communication connection comprises establishing the short-range wireless communication connection using the received consumer device identifier.
6. The method of claim 2 , wherein the scanning of the aerosol generating device is initiated in response to selection of an icon in the PWA displayed by the web browser.
7. 7. The method of claim 1, further comprising storing the data for performing one or more functions of the PWA in the browser storage such that after the web browser is closed and subsequently restarted, the web browser can retrieve the data for performing the one or more functions of the PWA from the browser storage.
8. The method of claim 7 , wherein the data for performing the one or more functions of the PWA comprises files utilized to execute the PWA.
9. determining whether a communication connection between the personal computing device and the remote server is established; after determining that the communication connection is not established, setting up the communication connection between the personal computing device and the remote server; The method of claim 1 further comprising:
10. 10. The method of claim 9, wherein causing the personal computing device to set up a communications connection between the personal computing device and the remote server comprises causing the personal computing device to access the Internet.
11. A method according to any one of claims 1 to 10, further comprising transmitting information from the personal computing device to the aerosol generating device via the short-range wireless communication connection, the information including at least one of one or more settings and firmware updates of the aerosol generating device.
12. The method of claim 11 , wherein the one or more settings include a setting for enabling operation of the aerosol generating device.
Citation Information
Patent Citations
Information processing device, electronic apparatus, information processing program, and processing program
JP2016218924A
System for group communication and group communication control program
JP2018195999A
METHOD FOR TRANSMITTING AEROSOL DELIVERY DEVICE INFORMATION AND AEROSOL DELIVERY DEVICE - Patent application
JP2020520573A
Computing device with enabled electronic vapor device
US10039327B2
Feature synchronisation system and method for electronic vapour provision systems
WO2017055802A1