Configuration of a personal computing device for communication with an aerosol generation device

The use of a Progressive Web Application on personal computing devices allows for flexible control and software updates of aerosol generating devices by leveraging native applications and browser storage, addressing limitations in existing technologies.

JP2026082897APending Publication Date: 2026-05-19JT INTERNATIONAL SA
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
JT INTERNATIONAL SA
Filing Date
2026-01-27
Publication Date
2026-05-19

AI Technical Summary

Technical Problem

Existing aerosol generating devices, such as electronic cigarettes, lack flexibility in control and software updates due to local operation and limited interaction with personal computing devices, and managing short-range wireless communication connections is challenging across different operating systems and device restrictions.

Method used

A method involving a Progressive Web Application (PWA) on a personal computing device that uses native applications to launch a web browser, providing resources to enable communication with aerosol generating devices via short-range wireless connections, allowing for control and monitoring through browser storage and offline functionality.

Benefits of technology

Enables advanced control and software updates of aerosol generating devices by personal computing devices, overcoming operating system and device manufacturer restrictions, and facilitating communication even without internet access.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026082897000001_ABST
    Figure 2026082897000001_ABST
Patent Text Reader

Abstract

A method is provided for configuring a personal computing device for communication with an aerosol generating device via a short-range wireless communication connection. [Solution] The method includes a native application launching a web browser on a personal computing device, the web browser launching a progressive web application (PWA) on the personal computing device, and the native application providing resources to the web browser. These resources cause the web browser to provide commands to the native application based on a call received by the web browser from the PWA for an aerosol generating device. These commands cause the native application to communicate with the aerosol generating device via a short-range wireless communication connection.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to the configuration of a personal computing device for communication with an aerosol generating device. The present disclosure is applicable, although not exclusively, particularly 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 Art

[0002] The popularity and use of risk-reduced or risk-modified smoking devices, also known as electronic cigarettes, vaporizers, or aerosol generating devices, has grown rapidly in the past few years. Such aerosol generating devices provide alternatives to conventional tobacco products such as cigarettes, cigars, cigarillos, and rolling tobacco. They generally heat or warm an aerosolizable substance to produce an aerosol for inhalation, in contrast to burning tobacco as in conventional tobacco products.

[0003] Most aerosol generating devices typically incorporate some form of electronic control circuitry, including a simple computer processor, to allow users to control the operation of the aerosol generating device. However, control of the aerosol generating device is generally performed only locally by the user who directly interacts with the aerosol generating device itself, for example, by operating buttons or other user control devices on the aerosol generating device, or by interpreting the meaning of indicators such as light-emitting diodes (LEDs) on the aerosol generating device. This limits the flexibility that can be gained in controlling the aerosol generating device. This also means that once the aerosol generating device becomes the user's property, the manufacturer or supplier of the aerosol generating device has little to no interaction with it. The software running on the device cannot be easily updated, and it is not possible to easily monitor the use of the aerosol generating device to improve the user experience.

[0004] Short-range wireless communication connections such as Bluetooth® can be operated to enable consumer devices, such as aerosol generating devices, to communicate with personal computing devices. This type of connection can be used to enable more advanced control of consumer devices via personal computing devices.

[0005] Typically, the operating system of a personal computing device manages short-range wireless communication (SWI) connections, sometimes with appropriate drivers, but does not facilitate control of the consumer device itself. Rather, a dedicated application that can run on the personal computer device is needed to facilitate control of the consumer device via the SWI connection managed by the operating system. Because many personal computer devices can only run a limited range of applications, attempting to provide a single application that runs on various different personal computer devices to facilitate control of the consumer device can encounter particular difficulties, even if it is possible to access SWI connections managed by different operating systems and / or appropriate drivers. This is partly due to the various operating requirements of different personal computer devices, such as personal computer devices with different operating systems, e.g., macOS®, Android®, or Microsoft® Windows®. This is also due to restrictions set by the manufacturers and suppliers of personal computing devices regarding applications that can be installed on personal computing devices, such as the Apple® App Store, Google® Play® App Store, or Windows® Store, each of which requires applications to meet certain (different) criteria before being approved for listing in the store and thus available to users.

[0006] This disclosure aims to overcome the challenges outlined above. [Overview of the project]

[0007] The aspects of this disclosure are described in the appended claims.

[0008] According to a first aspect of this disclosure, a method is provided for configuring a personal computing device for communication with an aerosol generating device via a short-range wireless communication connection, the method being: Native applications launching a web browser on a personal computing device, When a web browser launches a Progressive Web Application (PWA) on a personal computing device, The native application provides resources to a web browser, which in turn causes the web browser to provide commands to the native application based on a call received by the web browser from the PWA for an aerosol generating device, and these commands cause the native application to cause a personal communication device to communicate with the aerosol generating device via a short-range wireless communication connection.

[0009] By providing resources to a web browser, a native application can modify the functionality of the web browser or PWA. In particular, this can enable the PWA to interact with a personal computing device, such as its operating system or wireless communication controller, in a way that directly controls the short-range wireless communication connection.

[0010] Optionally, the resource may include computer executable code that defines the behavior of the web browser. This computer executable code may be JavaScript®.

[0011] Optionally, a command may include computer-executable code that defines the behavior of a native application. This computer-executable code may be Swift code.

[0012] Optionally, resources are provided as objects in the web browser.

[0013] Optionally, resources are provided using the PWA's document object model.

[0014] Optionally, a native application may cause a personal computing device to communicate with an aerosol generating device via a short-range wireless communication connection by communicating with the personal computing device's wireless communication controller.

[0015] Optionally, the short-range wireless communication connection is a Bluetooth® connection.

[0016] Optionally, the call is for initiating short-range wireless communication with an aerosol generating device, and in response to the call, the native application is configured to return the consumer device identifier received from the aerosol generating device to the web browser.

[0017] Optionally, the consumer device identifier is the Media Access Control (MAC) address of the aerosol generating device.

[0018] Optionally, the above method further includes the web browser launching the PWA using a PWA file downloaded from a web server or stored locally on the personal computing device, thereby allowing the PWA to run even if the personal computing device is not currently connected to the internet, as long as the PWA file can be retrieved from the device's local storage.

[0019] Optionally, a personal computing device is a mobile personal computing device. It may be a smartphone or a tablet.

[0020] According to another aspect of this disclosure, a method is provided for configuring a personal computing device for communication with an aerosol generating device via a short-range wireless communication connection, the method being: Native applications launching a web browser on a personal computing device, When a web browser launches a Progressive Web Application (PWA) on a personal computing device, PWA enables personal computing devices to establish short-range wireless communication connections with consumer devices. This includes storing instructions and / or data for implementing one or more functions of a PWA in the browser storage of a web browser so that the web browser can retrieve instructions and / or data for implementing one or more functions of a PWA from browser storage after the web browser has been closed and subsequently restarted by a native application.

[0021] By storing information or files necessary to run a PWA in browser storage, personal computing devices can be advantageously configured to communicate with consumer devices. For example, a PWA can be launched from a file stored in browser storage without a communication connection to a web server where the file is generally available, and a PWA can operate in offline mode. Similarly, information that enables the functionality of a PWA can be accessed at the time the PWA is launched, rather than waiting until an internet connection is established or the information is retrieved from somewhere else.

[0022] Optionally, instructions and / or data for implementing one or more functions of a PWA include computer executable code for running the PWA. This computer executable code for running the PWA may enable a web browser to launch the PWA when the personal computing device is not connected to the internet.

[0023] Optionally, the instructions and / or data for implementing one or more functions of the PWA include information that enables the establishment of a short-range wireless communication connection with the aerosol generation device. The instructions and / or data for implementing 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 generation device may include the PWA obtaining the consumer device identifier of the aerosol generation device from the browser storage of the web browser.

[0024] Optionally, the PWA causing the personal computing device to establish a short-range wireless communication connection with the aerosol generation device includes the PWA using the consumer device identifier of the aerosol generation device to cause the native application to control the personal computing device to establish a short-range wireless communication connection.

[0025] Optionally, the method further includes causing the personal computing device to scan for one or more candidate aerosol generation devices using a short-range wireless communication protocol, and receiving the consumer device identifier of each of the one or more candidate aerosol generation devices near the personal computing device.

[0026] Optionally, the scanning of the one or more candidate aerosol generation devices is initiated by the native application. Preferably, the receiving of the consumer device identifier of the one or more candidate aerosol generation devices is performed by the native application.

[0027] Optionally, the method further includes transmitting the consumer device identifier of the one or more candidate aerosol generation devices from the native application to the PWA.

[0028] Optionally, allowing a PWA to establish a short-range wireless communication connection between a personal computing device and an aerosol generating device includes the PWA determining which of one or more candidate aerosol generating devices should establish a short-range wireless communication connection with.

[0029] To selectively determine which aerosol generating device should establish a short-range wireless communication connection is: To display a list of one or more candidate aerosol generating devices on a personal computing device, This includes accepting a user selection of one or more candidate aerosol generating devices as the aerosol generating device for which a short-range wireless communication connection should be established.

[0030] The native application optionally displays a list of one or more candidate aerosol generating devices on the personal computing device, and accepts the user's selection of one of the candidate aerosol generating devices to be used to establish a short-range wireless communication connection.

[0031] Optionally, the above method further includes, in a personal computing device, receiving information indicating the functionality of the aerosol generating device from the aerosol generating device via a short-range wireless communication connection.

[0032] Optionally, the above method further includes storing information indicating the function of the aerosol generating device in the browser storage of a web browser.

[0033] Optionally, the above method further includes the personal computing device transmitting information indicating the functionality of the aerosol generating device to a remote server.

[0034] Optionally, the above method may transmit information indicating the function of the aerosol generating device to a remote server before sending the information to the remote server. Preferably, by determining whether the personal computing device has access to the internet, it is determined whether a communication connection to a remote server is established on the personal computing device. The further includes, in response to determining that a communication connection to a remote server cannot be established on the personal computing device, preferably by allowing the personal computing device to access the Internet, thereby setting up a communication connection between the personal computing device and the remote server.

[0035] Optionally, the above method further includes transmitting information about the aerosol generating device from a personal computing device to the aerosol generating device via a short-range wireless communication connection, preferably including one or more settings and / or firmware updates for the aerosol generating device.

[0036] Optionally, the short-range wireless communication connection is a Bluetooth® connection, and the consumer device identifier is a Media Access Control (MAC) address.

[0037] Optionally, the above method further includes receiving files for running the PWA from a remote server.

[0038] Optionally, the personal computing device is a mobile personal computing device, preferably a smartphone or tablet.

[0039] According to another aspect of the present disclosure, a personal computing device is provided configured for communication 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 method described above.

[0040] For example, the above processor, Native applications can launch a web browser on a personal computing device. A web browser launches a Progressive Web Application (PWA) on a personal computing device. PWA may be used to enable a personal computing device to establish a short-range wireless communication connection with a consumer device. Instructions and / or data for implementing one or more functions of the PWA are stored in the web browser's browser storage so that the web browser can retrieve the instructions and / or data for implementing one or more functions of the PWA from the browser storage after the web browser is closed and then restarted by the native application.

[0041] In another embodiment, the processor described above is: Native applications can launch a web browser on a personal computing device. A web browser launches a Progressive Web Application (PWA) on a personal computing device. A native application may provide resources to a web browser, which in turn cause the web browser to provide commands to the native application based on a call to an aerosol generating device received by the web browser from the PWA, and these commands cause the native application to cause a personal communication device to communicate with the aerosol generating device via a short-range wireless communication connection.

[0042] These methods can be understood to be implementable, at least in part, using computer program code. Accordingly, according to another aspect of this disclosure, computer software or computer program code adapted to perform these methods described above, when processed by a computer processing means, is provided. The computer software or computer program code may be carried on a computer-readable medium, in particular a non-temporary computer-readable medium on which the computer code can be stored permanently or until it is overwritten. The medium may be a physical storage medium such as a read-only memory (ROM) chip; or a disk such as a digital video disc (DVD-ROM); or a non-volatile memory card, such as a flash drive or a mini / micro Secure Digital (SD) card. It may also be a signal, such as an electronic signal over a wired connection; an optical signal; or a wireless signal over a mobile communication network, a terrestrial broadcasting network, or a satellite. This disclosure also extends to a processor that executes the software or code, such as a computer configured to perform the methods described above.

[0043] According to another aspect of this disclosure, a personal computing device is provided, and the personal computing device is A storage device for storing computer program products for carrying out the above method, Short-range wireless communication interface, To carry out the above method, the system includes a computer processor capable of operating to process computer program products.

[0044] The use of terms such as “device,” “server,” “processor,” and “communication interface” is intended to be general rather than specific. These features of the disclosure can be implemented using individual components such as a computer or central processing unit (CPU), but can be implemented just as well using other suitable components or combinations of components. For example, they can be implemented using hardwired circuits, such as integrated circuits, and embedded software.

[0045] The term "browser storage" refers to data stored within a web browser on a client / user device, either by or associated with the web browser, that persists after the session ends or after 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 in every request or interaction with the server, nor can it be directly written by the server (unlike cookies). Local storage is distinct from session storage, which is source-specific and window- or tab-specific, and does not persist after the session ends or the tab or window is closed. Local storage is available in HTML5, for example. The terms browser storage and local storage are intended to be general rather than specific, and include not only "local storage" as 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).

[0046] The term “aerosol” refers to a system of particles dispersed in air or gas, such as mist, fog, or smoke. Accordingly, the term “aerosolize” (or “aerosolize”) means to make something into an aerosol and / or disperse it as an aerosol. Note that the meaning of aerosol / aerosolize is consistent with each of the above-defined terms: volatilize, spray, and vaporize. To avoid misunderstanding, aerosol is used to uniformly describe mist or droplets containing sprayed, volatilized, or vaporized particles. Aerosol also includes mist or droplets containing any combination of sprayed, volatilized, or vaporized particles. In a preferred embodiment, the aerosol comprises a condensed aerosol obtained by evaporating a liquid (preferably including an aerosol-forming agent liquid such as vegetable glycerin (VG), propylene glycol (PG), or a mixture thereof (PG / VG)) and then condensing it to form a condensed aerosol containing very small droplets of the vaporized liquid, preferably having an index diameter range of 0.5 to 7 microns, and ideally having a maximum droplet size (at least the majority of the droplets, e.g., up to about 99% of the droplets) of less than 10 microns.

[0047] As used herein, the terms “aerosol generating device” or “electronic cigarette” may include a device configured to provide a user with a variable amount of aerosol (in particular, a variable amount of aerosol per puff, depending on factors such as device settings, user puff duration, or puff intensity). The aerosol generated is preferably a condensed aerosol for inhalation. The device is preferably portable. Preferably, the device is configured to distribute a variable amount of aerosol into a puff depending on the user’s behavior (for example, a user who takes long, deep puffs will cause the device to generate more aerosol in that puff than a user who takes short, light puffs).

[0048] It should be noted that the term “comprise” as used in this document means “consisting of at least a part of it.” Therefore, when interpreting statements in this document that contain the term “comprise,” there may also be other features that follow the term. Related terms such as “comprise” and “comprises” should be interpreted similarly. As used herein, “(s)” following a noun signifies the plural and / or singular form of the noun.

[0049] Each of the above embodiments may include one or more of the features mentioned in relation to the other embodiments above. [Brief explanation of the drawing]

[0050] Here, a preferred embodiment will be described as merely an example, with reference to the attached drawings.

[0051] [Figure 1] This is a schematic diagram of a communication network according to a preferred embodiment of the present disclosure. [Figure 2] This is a schematic diagram of an aerosol generation device that operates over a communication network. [Figure 3] This is a schematic diagram of a personal computing device that operates on a communication network. [Figure 4] This is a schematic diagram of a remote server operating on a communication network. [Figure 5] This flowchart illustrates how to prepare and launch a Progressive Web Application (PWA) on a personal computing device. [Figure 6A] This flowchart illustrates how to establish a short-range wireless communication connection between a personal computing device and an aerosol generating device. [Figure 6B] This is a schematic diagram showing the software layer on a personal computing device. [Figure 7]This flowchart illustrates how to initiate a short-range wireless communication connection between a personal computing device and an aerosol generating device. [Figure 8] This flowchart illustrates how to collect information about aerosol generation devices and send it to a remote server. [Modes for carrying out the invention]

[0052] Referring to Figure 1, according to the first embodiment, in the communication network 100, a personal computing device 104 is in a communication relationship with one or more aerosol generating devices 102 (each of which is a consumer device). In the illustrated embodiment, the personal computing device 104 is potentially in a communication relationship with 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, this 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 following: IEEE (Institute of Electrical and Electronics Engineers) 802.11 standard (Wi-Fi®), infrared (IR) wireless connection, ZigBee® connection, or other similar connections. In one specific 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, such as the personal computing device 104 and the aerosol generating device 102, exchange information using a globally available unlicensed radio frequency band, such as the 13.56 MHz ISM (industrial, scientific, and medical) band. NFC communication is defined by the Joint Technical Committee (JTC) of the International Organization for Standardization (ISO) and the International Electrotechnical Commission (IEC). The ISO / IEC 18000-3 standard achieves rates of 10⁶ to 424 kbit / s. Therefore, the reference to "short range" in the context of short-range wireless communication connection 116 means that it can be maintained over several meters, for example, up to about 100 meters, but usually less than 10 meters, and in practice, in the context of NFC, for example less than 10 cm, and even just up to 4 cm.

[0053] Furthermore, the personal computing device 104 is in a communication relationship 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. In this embodiment, the other short-range wireless communication connection 118 is a Wi-Fi® connection. In other embodiments, the other short-range wireless communication connection 118 is a Bluetooth® connection, an IR wireless connection, a ZigBee® connection, or several similar connections. Also in this embodiment, the personal computing device 104 is configured to communicate with the internet 112 via a cellular wireless network link 120 to provide data communication using an appropriate communication standard such as GSM (Global System for Mobile Communications), UMTS (Universal Mobile Telecommunications System), or LTE (Long-Term Evolution). The personal computing device 104 typically chooses to communicate with the Internet 112 from time to time via other short-range wireless connections 118 and access points 110, or via a cellular wireless network link 120, depending on availability and other criteria and preferences.

[0054] In this embodiment, the personal computing device 104 is a mobile computing device, in particular 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 via a cellular wireless network link 120, and therefore the personal computing device 104 may be referred to as a user device (UE). In other embodiments, the personal computing device 104 is a desktop personal computer (PC) configured to communicate via the Internet 112 via a wired Ethernet connection. In such embodiments, the Ethernet connection is substantially the same as other short-range wireless connections 118 in that it connects to an access point 110, for example in the form of a broadband modem, and from there to the Internet 112, although via a fixed line or wired connection rather than a wireless connection.

[0055] Referring to Figure 2, as is common to typical electronic consumer devices, each aerosol generating device 102 is equipped with a central processing unit (CPU) 202, memory 204, storage 206, communication interface 208, antenna 210, and user interface 212, which communicate with each other via a communication bus 214.

[0056] Furthermore, the aerosol generating device 102 includes a group of aerosol generating components, specifically a heating element 216, and a consumable module 218, which in this embodiment includes a detector 219 for detecting when a suitable consumable 217 is inserted into the consumable module 218. Note that in this embodiment, the consumable 217 is in the form of a tobacco rod or stick, as will be described in more detail below, and includes a mouthpiece, such as a filter, for example, 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 a group of computer-related components but do not have the aerosol generating components of the aerosol generating device 102. Therefore, in the context of these methods, it should be understood that the described aerosol generating device 102 is merely an example of a suitable consumer device for use in those methods.

[0057] The CPU 202 is a computer processor, such as a microprocessor. The CPU 202 is configured to execute instruction sets in the form of computer executable code, and processes data in the form of values ​​and strings, including instruction sets and data stored in memory 204 and storage 206, for example. The instruction sets and data executed by the CPU 202 include instruction sets for coordinating the operation of other components of the aerosol generating device 102, such as instruction sets and data for controlling the communication interface 208 and the user interface 212.

[0058] Memory 204 is implemented as one or more memory units providing random access memory (RAM) to the aerosol generating device 102. In the illustrated embodiment, memory 204 is volatile memory in the form of on-chip RAM integrated with the CPU 202, for example, using a system-on-chip (SoC) architecture. However, in other embodiments, memory 204 is isolated from the CPU 202. Memory 204 is configured to store instruction sets and data executed and processed by the CPU 202. Typically, only selected elements of instruction sets and data are stored in memory 204 at a time, and these selected elements define instruction sets and data essential for the operation of the aerosol generating device 102 when executed at a particular time. In other words, instruction sets and data are temporarily stored in memory 204 while a particular process is being processed by the CPU 202.

[0059] Storage 206 is provided integrally with the aerosol generation device 102 in the form of non-volatile memory. In most embodiments, storage 206 is integrated on the same chip as the CPU 202 and memory 204 using an SoC architecture and implemented, for example, as an MTP (Multiple-Time Programmable) array. However, in other embodiments, storage 206 is embedded or external flash memory, etc. Storage 206 stores instruction sets and data executed and processed by the CPU 202. Storage 206 stores instruction sets and data permanently or semi-permanently, for example, until overwritten. That is, instruction sets and data are stored in storage 206 non-temporarily. Typically, the instruction sets and data stored in storage 206 relate to instruction sets fundamental to the operation of the CPU 202, communication interface 208, user interface 212, and more broadly, the aerosol generation device 102, as well as to applications that perform higher-level functions of the aerosol generation device 102.

[0060] The communication interface 208 supports short-range wireless communication, particularly 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 the antenna 210, and wireless communication from the antenna 210 is transmitted and received via the short-range wireless communication connection 116. The communication interface 208 is also configured to communicate with the CPU 202 via the communication bus 214.

[0061] The user interface 212 comprises 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 user press, toggle, or touch. The user interface 212 is configured to provide instructions to the user under the control of the CPU 202, receive user input, and transmit these inputs to the CPU 202 via a communication bus 214.

[0062] 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 non-combustion heating (HnB) device. All of these devices generally generate an aerosol for inhalation by heating or warming an aerosolizable substance, as opposed to burning tobacco as in conventional tobacco products.

[0063] More specifically, the aerosol generating device 102 is configured to use an associated heating element 216 to heat a consumable 217 inserted into a consumable module 218 to generate an inhalable aerosol or vapor for the user to inhale. In this embodiment, the consumable module 218 is intended to receive the consumable 217 in the form of a rod containing processed 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 contains 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 for working well with nicotine-containing aerosol formulations over different temperature ranges of the heating element, and the use of such a humectant that works well over a range of operating temperatures is beneficial in order for this embodiment to provide the possibility of adjusting the operating temperature in a way that is convenient for the user. This advantage applies to all kinds of embodiments (e.g., liquid vaporizing e-cigarettes, as well as non-combustion heating type devices), and it should be noted that the advantageous use of Begetol is not limited to any particular type of aerosol generating device. In this embodiment, consumable 217 uses pure VG that contains no flavorings or nicotine. Instead, volatile flavorings and nicotine derived from RTB evaporate simultaneously with the aerosol-forming agent and are incorporated into the resulting condensed aerosol for inhalation by the user. However, in other embodiments, consumable 217 has an aerosol-forming agent containing nicotine and other flavorings. In such cases, consumable 217 typically comprises a mousse formed with other solid porous material for absorbing the aerosol-forming agent liquid, e.g., a gelling agent, and a suitable binder, which may or may not contain tobacco.

[0064] The consumable module 218 has a detector 219 for detecting consumables 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 to determine whether the inserted consumable 217 is suitable for use in the aerosol generating device 102. In this embodiment, the consumable module 218 achieves this by detecting a mark on the consumable 217 (e.g., a printed barcode or RFID chip or NFC tag).

[0065] In an alternative embodiment, the consumable 217 is a capsule containing an aerosol-forming agent, which is stored in a reservoir and has a vaporization chamber, thereby heating the liquid from the reservoir by the heating element 216 (for example, via a wick, or via a heat transfer element, or via a dose element that transports a small amount of liquid aerosol-forming agent to a heated vaporization surface heated by the heating element 216). Preferably, the aerosol-forming agent contains VG or a PG / VG mixture together with nicotine and / or a flavoring.

[0066] In another alternative embodiment, the aerosol generating device 102 does not include a heating element 216, but instead powers a consumable 217 which itself contains a heating element (for example, 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 with nicotine and / or flavorings.

[0067] The aerosol generating device 102 further includes a capsule downstream of the cartomizer or vaporization chamber, the capsule containing processed tobacco granules that impart flavor and / or nicotine to the condensed aerosol as it passes through the capsule before leaving the aerosol generating device 102 for inhalation by the user.

[0068] The aerosol generating device 102 is configured to run multiple software modules. These software modules include an operating system 226, a short-range wireless communication controller 228, and a heating element controller 230. Each software module contains a set of instructions for performing one or more functions of the aerosol generating device 102. These instructions are stored in storage 206 and / or memory 204 and provided in the form of computer executable code, which is processed by the CPU 202, communication interface 208, and user interface 212.

[0069] 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 the user experience. The operating system 226 manages the basic functions of the hardware of the aerosol generation device 102 and the operational interactions between the hardware components of the aerosol generation device 102 and the software modules.

[0070] The short-range wireless communication controller 228 is primarily configured 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 a set of instructions that conform to the Bluetooth® wireless communication standard, available at www.bluetooth.org, where Bluetooth 5.0 is currently the dominant specification.

[0071] The heating element controller 230 is configured to control the heating element 216. The heating element controller 230 is operable to monitor the amount of energy and power (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 change 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 generating device 102 itself does not contain the heating element 216, but instead supplies power to a heating element in a consumable 217 (e.g., a cartomizer), the heating element controller 230 instead controls the supply of power to the heating element contained in the consumable 217).

[0072] Referring to Figure 3, the personal computing device 104 comprises a CPU 302, memory 304, storage 306, removable storage 308, communication interface 310, antenna 312, and user interface 314, which communicate with each other via a communication bus 316.

[0073] The CPU 302 is a computer processor, such as a microprocessor. The CPU 302 is configured to execute instruction sets in the form of computer executable code, and processes data in the form of values ​​and strings, including instruction sets and data stored in memory 304, storage 306, and removable storage 308. The instruction sets and data executed and processed by the CPU 302 include instruction sets 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 instruction sets and data for running applications on the personal computing device 104.

[0074] Memory 304 is implemented as one or more memory units that provide RAM to the personal computing device 104. In the illustrated embodiment, 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, memory 304 is provided separately, for example, in an integrated package with the CPU 302, or as a plug-in memory unit. Memory 304 is configured to store instruction sets and data executed and processed by the CPU 302. Typically, only selected elements of instruction sets and data are stored in memory 304 at a time, and these selected elements define instruction sets and data related to the operation of the personal computing device 104 performed at a particular time. In other words, while a particular process is being processed by the CPU 302, instruction sets and data are temporarily stored in memory 304.

[0075] Storage 306 is provided integrally with the personal computing device 104 in the form of non-volatile memory. Storage 306 comprises a memory unit integrated on the motherboard of the 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 this is optional. Removable storage 308 is also non-volatile memory, typically in the form of a microsecure digital (SD) card or several other portable flash memory devices. Storage 306 and removable storage 308 are configured to store instruction sets and data used by the personal computer device 104. Storage 306 and removable storage 308 store instruction sets and data permanently or semi-permanently, for example, until overwritten. Typically, the computer instruction sets and data elements stored in storage 306 and removable storage 308 include instruction sets and data essential for the basic operation of the personal computing device 104, as well as instruction sets and data related to applications installed or installable on the personal computing device 104, including those that perform the methods described below.

[0076] The communication interface 310 includes a short-range wireless communication interface and a cellular wireless communication interface, which are coupled to the antenna 312. The short-range wireless interface is configured to establish a short-range wireless communication 116, for example, a Bluetooth® connection, with the aerosol generating device 102, and to establish another short-range wireless communication connection 118, for example, 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 310 comprises one or more wireless modems suitable for supporting the different communication connections 116, 118, and 120 (see Figure 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, for example, an Ethernet or Universal Serial Bus (USB) connection (not shown).

[0077] 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, an organic light-emitting diode (OLED) display, or another suitable display. The input device 320 is a capacitive layer provided on top of the display 318, configured to detect user touches. The user interface 314 is configured to display information to the user under the control of the CPU 302 and to transmit user input obtained from the user touching the input device 320 to the CPU 302 via the communication bus 316.

[0078] The personal computing device 104 is configured to run multiple software modules. These software modules include an operating system 328, a web browser 324, a native application 326, a progressive web application (PWA) 328, and a wireless communication controller 330. Each software module contains a set of instructions for performing one or more functions of the personal computing device 104. These instructions are stored in storage 306, removable storage 308, and / or memory 304 and provided in the form of computer executable code, which is processed by the CPU 302, communication interface 310, and user interface 314.

[0079] 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, such as Apple® iPhone® OS (iOS) and Microsoft® Windows® 10, are suitable alternatives. The operating system 322 manages the basic functions 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.

[0080] 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 the downloaded web resources in the memory 304 and storage 306 of the personal computing device 104. Typically, the web browser 324 downloads HTML (HyperText Markup Language), JavaScript, CSS (Cascading Style Sheet), 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 mandatory; in other embodiments, the web browser may be, for example, Safari®, Firefox®, or Microsoft Edge®. Alternatively, the web browser 324 may be PWA, offline web pages, or Electron developed by GitHub®. TM It may also be a web browser specifically designed to handle other web-based technologies such as [mention specific technologies here].

[0081] The web browser 324 has browser storage 332. Physically, browser storage 332 is effectively part of memory 304 or storage 306. More importantly, however, the operating system 322 and the web browser 324 are configured to provide browser storage 332 as part of memory having specific operational characteristics. Specifically, browser storage 332 is storage in which stored data persists after the session of the web browser 334 ends or after the web browser 334 stops executing. In some embodiments, browser storage 332 is implemented as web storage so that its language is understood under the HTML5 (Hypertext Markup Language 5) standard, for example. More specifically, browser storage 332 is local storage. Local storage data (unlike cookies) is not automatically sent to the web server in every request or interaction with the web server, nor is it directly writable by the web server. Local storage is distinct from session storage, which is source-specific and window- or tab-specific and does not persist after the session ends or the tab or window is closed. Local storage is available, for example, in HTML5. Browser storage 332 is stored in a file of the web browser 334 (for example, a file that stores user preferences and other configurations).

[0082] 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 handle calls made by the PWA 328 for communication with the aerosol generating device 102 over the short-range wireless communication connection 116. In this embodiment, this is achieved by the native application 326 providing resources, such as JavaScript and / or Swift code. The resources identify how calls generated by the PWA 328 within the web browser 324 using, for example, the Web Bluetooth® API (Application Programming Interface) should result in corresponding commands to be processed by the native application 326 using, for example, the Bluetooth® API. These commands are configured to cause the wireless communication controller 320 to perform some action, such as setting up the short-range wireless communication connection 116 (e.g., a Bluetooth® connection) or sending and receiving messages over 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.

[0083] It will be understood that the native application 326 generally accesses the hardware and peripherals of the personal computing device 104 via the operating system 322. The hardware and peripherals include the communication interface 310, storage 306, removable storage 308, and user interface 314, as well as a camera, microphone, etc. (not shown). Thus, the native application 326 can provide communication not only between the communication interface 310 but also between the PWA 328 and other hardware and peripherals of the personal computing device 104.

[0084] 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 functions described above. In particular, the native application 326 can be configured to interface with the operating system 322 and appropriate software drivers in order to control the hardware and peripherals of the personal computing device 104 as needed and to provide resources to the web browser 324.

[0085] The web browser 324 is configured to download, store, and execute the PWA 328. The PWA 328 typically includes HTML (HyperText Markup Language), JavaScript, CSS (Cascading Style Sheet), JSON (JavaScript Object Notation), XML (eXtensible Markup Language), image files, or other files of the PWA 328. The PWA 328 files are first downloaded from the web server 422 of the remote server 114, for example, in the form of instruction sets and data, and then stored in the browser storage 332. In an alternative embodiment, the PWA 328 files are stored in storage 306, memory 304, and / or other locations in the CPU 302 cache.

[0086] Generally, PWAs offer a way for users to benefit from similar functionality to that provided by native applications. However, PWAs are limited in that they do not necessarily have access to all the functions, data structures, and interfaces of the personal computer device on which they will run. For example, the way to access some functions, data structures, and interfaces of personal computer device 104 is defined in the SDK for native application 326 and cannot be accessed through the web browser 324 on which PWA 328 runs. In some cases, indirect access to certain hardware and peripherals is still possible for PWAs via web APIs. However, there are many exceptions to this, and the utility of web APIs varies from device to device. In particular, even if PWA 328 is configured to receive messages or data received by personal computing device 104 via the web Bluetooth® API and similarly send messages or data to aerosol generating device 102 connected to personal computing device 102 via the Bluetooth® web API, this will not be effective unless personal computing device 102 is configured to work with the web Bluetooth® API. This configuration is provided by the native application 326.

[0087] 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 a set of instructions that conform to the Bluetooth® wireless communication standard, available at www.bluetooth.org, where Bluetooth 5.0 is currently the dominant specification.

[0088] 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 the native application 326 to access and control the Bluetooth® module of the communication interface 310 (for example, in response to a call to the Web Bluetooth® API by PWA328).

[0089] Referring to Figure 4, the remote server 114 includes a CPU 402, memory 404, storage 406, user database 408, communication interface 410, and user interface 412, which communicate with each other via a communication bus 414.

[0090] The CPU 402 is a computer processor, such as a microprocessor. The CPU 402 is configured to execute instruction sets in the form of computer executable code, and processes data in the form of values ​​and strings, including instruction sets and data stored in memory 404 and storage 406. The instruction sets and data executed and processed by the CPU 402 include instruction sets 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 instruction sets and data for running applications on the remote server 114.

[0091] Memory 404 is implemented as one or more memory units providing RAM to the remote server 114. In the illustrated embodiment, memory 404 is a DRAM memory unit mounted on the motherboard of the remote server 114 alongside the CPU 402. However, in other embodiments, memory 404 is provided separately, for example, as a memory chip integrated with the motherboard or CPU 402. Memory 404 is configured to store instruction sets and data executed and processed by the CPU 402. Typically, only selected elements of instruction sets and data are stored in memory 404 at a time, and these selected elements define instruction sets and data related to the operation of the remote server 114 performed at a particular time. In other words, while a particular process is being processed by the CPU 402, instruction sets and data are temporarily stored in memory 404.

[0092] The storage 406 comprises a hard disk drive or flash drive installed in the remote server 114 or as a separate storage unit accessible from 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, for example. However, in other embodiments, the user database 408 is separated from the storage, for example, comprising a separate hard disk drive or storage unit. The storage 406 is configured to store instruction sets and data used by the remote server 114. The storage 406 stores the instruction sets and data permanently or semi-permanently, for example, until overwritten. Typically, the elements of the instruction sets and data stored by the storage 406 include instruction sets and data essential for the basic operation of the remote server 114, as well as instruction sets and data related to applications installed or installable on the remote server, including those that perform the methods described below. The user database 408 is configured to store information related to users and configuration information related to the aerosol generating devices 102, as well as information related to users who own or have owned one or more aerosol generating devices 102.

[0093] The communication interface 410 includes a wired communication interface configured to connect to the Internet 112. The wired communication interface typically connects to the Internet 112 via 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.

[0094] 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.

[0095] The remote server 114 is configured to run multiple software modules. The software modules include an operating system 420 and a web server 422. Each software module includes a set of instructions and data for performing one or more functions of the remote server 114. These instructions are provided, for example, in the form of computer executable code, and the data is stored in memory 404 and storage 406, for example, in the form of values ​​or strings, and executed or processed by the CPU 402.

[0096] 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 functions of the hardware of the remote server 114 and the operational interactions between the hardware components of the remote server 114 and software modules. 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 that runs on the remote server 114 or 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 running 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.

[0097] Referring to Figure 5, the method 500 for launching PWA328 includes the user first interacting with the user interface 314 of the personal computing device 104 to provide input indicating that the user wishes to open PWA328. In one embodiment, when the user first purchases the aerosol generating device 102, the user is prompted to download and install PWA328. In this embodiment, the user uses the web browser 324 of the personal computing device 104 to access a URL that appears on the package or user interface 212 of the aerosol generating device 102. The URL points to a website hosted on the web server 422 of a remote server 114. In one embodiment, access to the URL is achieved by the user operating the personal computing device 104 to scan a barcode encoding the URL. Specifically, 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.

[0098] More specifically, the user is typically prompted by the packaging of a newly purchased aerosol generating device 102 to visit a specific website related to a personal computing device 104. On the website, the user is given instructions on how to download a native application 326 from the appropriate repository, regardless of the type of operating system the user's personal computing device 104 uses (e.g., Android®). Once the user has downloaded and installed the native application 326 following these instructions, 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 the identified website from which the PWA 328 was downloaded. The download of the PWA 328 from within the native application 326 may be initiated automatically once a URL is selected, or following further input from the user, for example, by the user double-clicking the relevant icon on the user interface 314 of the personal computing device 104. If PWA328 has not been previously accessed from a particular personal computing device 104 and / or is not installed on the personal computing device 104, the icon may be displayed in the web browser 324. That is, the user first visits a web page provided to the personal computing device 104 by the web server 422, and that web page contains the icon. Once the files necessary to run PWA328 are downloaded from the web server 422, the PWA can be launched.

[0099] During the subsequent launch of PWA328, the aforementioned icon typically appears on the home screen element of the personal computing device 104. When this icon is selected by the user, the personal computing device 104 accepts input in step 502 indicating that the user wishes to launch PWA328. In response to the user input, the personal computing device 104 launches a native application 326 on the personal computing device 104 in step 504, rather than launching PWA328 directly. Next, the native application 326 launches (or restarts) the web browser 324 in step 506. Then, the native application 326 loads the files for launching PWA328 in step 508, and launches PWA328 on the web browser 324 in step 510.

[0100] It will be understood that the native application 326 allows the user to initiate the 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) for subsequent launches of the PWA 328, especially if the files for running the PWA 328 have already been downloaded and stored (cached) in the browser storage 332 of the web browser 324. In such cases, it is preferable to give the user some way to prevent the automatic launch of the PWA 328 if the user chooses to do so, for example by clearing the stored files necessary to run the PWA 328 from the browser storage 332, by modifying the settings associated with the native application 326, or by some other appropriate mechanism.

[0101] To launch PWA328, in step 506, the native application 326 first launches a web browser 324. More specifically, instead of 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, as if, for example, the user had initiated the launch of the web browser 324 themselves. Specifically, the native application 326 launches a web browser 324 that has the appropriate functionality to support PWA328. This involves the native application 326 adding resources in the form of JavaScript code (or, in other embodiments, Python or another appropriate computer language) to the web browser 324. These 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 PWA328 is downloaded from the web server 422. These 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®. These 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.

[0102] In steps 508 and 510, the PWA328 is launched on the web browser 324 when the uniform resource locator for the PWA328 is specified to the web browser 324. If it is the first time the web browser 324 opens the URL, the web browser 324 uses the URL to download the files for running the PWA328 from the remote server 114. The files for running the PWA328 are received from the remote server 114 via the internet 112. In this embodiment, the files for running the PWA328 are received from the remote server 114 via a long-range communication connection 120. In an alternative embodiment, the files for running the PWA328 are received via a short-range wireless communication connection 118 between the web browser 324 and the access point 110. Once the web browser 324 has downloaded the necessary files, the web browser 324 launches the PWA328 in step 510 and stores the files for running the PWA328 in the web browser 324's browser storage 332 in step 512. In other embodiments, the files required for the PWA328 are stored elsewhere in the storage 306 of the personal computing device 104.

[0103] If PWA328 (for example, the set of files required for PWA328) has already been downloaded, the web browser 324 retrieves the files for running PWA328 from 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 remember the files again, and therefore step 512 is shown as optional in Figure 5.

[0104] The files required to run PWA328 include one or more of the following files: HTML (HyperText Markup Language), JavaScript, CSS (Cascading Style Sheet), JSON (JavaScript Object Notation), XML (eXtensible Markup Language), images, or other PWA-related files. These files may be compressed and may need to be decompressed. The files required to run PWA328 may be minified and / or obfuscated.

[0105] Referring to Figures 6A and 6B, the method 600 for establishing a short-range wireless communication connection 116 with one of the aerosol generating devices 102 and storing configuration information of the aerosol generating device 102 includes, in step 602, first starting the PWA 328 using the method 500 for starting the PWA 328 as described with reference to Figure 5 above. Then, in step 604, the user initiates a command to scan for nearby aerosol generating devices 102 using the PWA 328. 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 an alternative embodiment, the PWA328 scans the aerosol generating device 102 when the PWA328 starts, at specific times after the PWA328 has started, periodically, at set times throughout the day, when a timer is triggered, when requested by the remote server 114, or when requested by the aerosol generating device 102.

[0106] The PWA328 provides a call to initiate a scan. In this embodiment, the PWA328 uses the short-range wireless communication capabilities of a web browser, such as the Web Bluetooth® API, to generate the call. The call may roughly include JavaScript® as follows:

number

[0107] Since the web browser 324 does not inherently include the functionality to communicate with the wireless communication controller 330, such a call should routinely be rejected by the web browser 324. However, when the native application 326 launches the web browser 324, the modified version of the web browser 324 can respond to the call by using the 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 its directory under "navigator.bluetooth.requestDevice". In this embodiment, that object is JavaScript previously injected by the native application 326 when the web browser 324 is launched. This code may broadly include JavaScript® such as:

number

[0109] Therefore, when PWA328 generates a call to scan the aerosol generating device 102, the web browser 324 processes the call using an object found in the appropriate location in that directory, for example, using the code above. This code functions to provide the web browser 324 with a promise. 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 the command to the native application 326 may be roughly as follows:

number

[0110] The native application 326 receives the command and uses it to cause the wireless communication controller 330 to start scanning the aerosol generating device 102. Upon receiving the command, the native application 326 uses the wireless communication controller 330 to execute the following code:

number

[0111] As a result, in step 604, the wireless communication controller 330 controls the communication interface 310 of the personal computing device 104 to scan for aerosol generating devices 102. Any aerosol generating device 102 that is within range, in discoverable mode (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® Media Access Control (MAC) address of the aerosol generating device 102.

[0112] Configuration information for each aerosol generating device 102 is received by the wireless communication controller 330 of the personal computing device 104, and then, in step 606, is transmitted to or retrieved by the PWA 328. More specifically, in this embodiment, the native application 326 receives a response from the wireless communication controller 330 that roughly includes the following Swift code:

number

[0113] It will be apparent 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 this embodiment, this is done in a manner independent of which application actually supports the Web Bluetooth® API, i.e., whether it is the (unmodified) web browser 324 or the web browser 324 as it is appropriately modified by the native application 326. Preferably, the native application 326 is configured to determine whether the web browser 324 can handle the Web Bluetooth® API call (in a desired manner), in which case it is not necessary to apply code to modify the web browser 324 to handle the Web Bluetooth® API call (unless for any reason it is not necessary to handle it in a non-standard manner, in which case the web browser 324 can still be modified by substantially overriding the standard functions for handling the Web Bluetooth® API call and performing the desired non-standard action). Preferably, this function is handled by having the native application 326 query the web browser 324 for its name and version, and then compare that with a lookup table that identifies the correct action to take (regarding how much to modify the existing behavior of the web browser 324), depending on the name and version of the web browser 324, the operating system 322, or the personal computing device 104 itself.

[0114] Using all the configuration information of the received aerosol generating device 102 (610), the personal computing device 104 displays a list of all candidate aerosol generating devices 102 on the user interface 312 in step 608.

[0115] The user selects one of the candidate aerosol generating devices 102 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 in range and it is one that the user has previously selected from the PWA 328, the PWA 328 can automatically select that aerosol generating device 102 without requiring confirmation from the user, and thus substantially skip displaying the list and receiving the user selection, and instead proceed directly from receiving the configuration information 610 to setting up the short-range wireless communication connection 116 with the aerosol generating device 102, as will be described in more detail below.) The selection is accepted by the user device 102 in step 610.

[0116] In step 612, the PWA328 causes the personal computing device 104 to open a short-range 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 102. In this embodiment, the consumer device identifier is used to set up the short-range wireless communication connection 116. In this embodiment, the MAC address of the selected aerosol generating device 102 is its consumer device identifier.

[0117] Further configuration information may include any one or more of the following pieces of information that describe the function of the aerosol generating device 102: • Generic Attribute Profile Service (GATT) information, GATT UUID, ·GATT characteristics, • Authentication information, • Capsule information, Device settings, • Event information, and / or ·Vaping information.

[0118] Capsule information relating to embodiments in which the aerosol generating device 102 employs a consumable 217 in the form of a capsule or atomizer containing a reservoir of e-liquid to be vaporized may include 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 all puffs and / or when the user changes the capsule.

[0119] In this embodiment, device settings include sleep time and maximum puff duration. Event information includes malfunction events, overheating events, and dry inhalation events. Inhalation information includes information on whether the user is using the aerosol generating device 102. Inhalation information may further include information on duration, temperature, and capsule information.

[0120] The native application 326 receives information indicating the functionality of the aerosol generating device 102. This information is passed from the native application 326 to the PWA 328 via the web browser 324. The information is received by the PWA 328 and can be used by the PWA 328. For example, some or all of the information may be displayed to the user by the PWA on the display 318 of the user interface 314 of the personal computing device.

[0121] In step 612, the consumer device identifier is stored in the browser storage 332 of the web browser 324. Additionally, all or part of the information indicating the functionality of the aerosol generating device 102 may be stored in the browser storage 332 of the web browser 324. This storage is performed by the PWA 328 and / or the web browser 324. In some embodiments, the information is timestamped with the current time.

[0122] Referring to Figure 7, a method 700 for initiating a short-range wireless communication connection 116 between a personal computing device 104 and an aerosol generating device 102 is shown. For example, after a short-range wireless communication connection 116 between a personal computing device 104 and an aerosol generating device 102 has been closed, which has already been established using the method described with reference to Figures 6A and 6B, it can be restarted using the method described with reference to Figure 7.

[0123] First, in step 702, PWA328 is launched on the personal computing device 104 using the method 500 for launching PWA328 described above, with reference to Figure 5.

[0124] The browser storage 332 of the web browser 324 stores one or more consumer device identifiers. In step 704, the PWA 328 accesses the consumer device identifiers from the browser storage 332. Then, in step 706, the aerosol generating device 102 to connect to is determined. 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 connect to. 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).

[0125] In this embodiment, the user interface 314 displays, for example, a user-friendly name of the aerosol generating device 102 associated with the consumer device identifier, such as an icon. 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.

[0126] In step 708, the consumer device identifier corresponding to the determined or selected aerosol generating device 102 is retrieved by the PWA 328 from browser storage 332. The PWA 328 uses this 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 this consumer device identifier has been retained in 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 native application 326. Even if the web browser 324 and native application 326 themselves are closed, for example, if they terminate or stop running, the consumer device identifier remains in browser storage. This allows the short-range wireless communication connection 116 to be initiated directly by re-establishing the short-range wireless communication connection, for example, using the method 600 described with reference to Figures 6A and 6B, without the need to retrieve the consumer device identifier from the aerosol generating device 102 again.

[0127] In this embodiment, the consumer device identifier is a Bluetooth® MAC address and is used to initiate a short-range wireless communication connection 116. To initiate the short-range wireless communication connection 116, the PWA 328 generates a call. This call is intended to cause the personal computing device 104 to establish a 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 the appropriate place in its directory. 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, thereby causing the web browser 324 to substantially translate the call into a command to the native application 326. The native application 326 accepts the command and uses it to cause the wireless communication controller 330 to open a short-range wireless communication connection 116 with the aerosol generating device 102.

[0128] Referring to Figure 8, a method 800 for transmitting information about the function of the aerosol generating device 102 to the remote server 114 is shown.

[0129] Using a short-range wireless communication connection 116 between the personal computing device 104 and the selected aerosol generating device 102 which has already been established and / or initiated, the personal computing device 104 receives information indicating the functionality 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.

[0130] In this embodiment, the information indicating the function of the selected aerosol generating device 102 may include any one or more of the following: Identification information of the aerosol generating device 102, such as the model and serial number, and / or type of the aerosol generating device 102. • Type and identification information of any consumable 217 attached to the aerosol generating device 102, • The status of the aerosol generating device 102 and / or consumables 217 (if any), such as the battery level of the aerosol generating device 102 and the current settings of the aerosol generating device 102 (e.g., target temperature setting or "vapor volume" level setting), as well as information regarding the capacity of consumables 217 (e.g., the number of puffs remaining before consumables 217 are considered expired), the amount of liquid remaining in consumables 217 if a liquid reservoir is included, and / or details regarding the amount of consumables 217 that have been used (see below), and / or • Information regarding the use of the aerosol generating device 102 since the time prior to when such information was successfully transmitted to the remote server 114 and / or PWA328.

[0131] In step 804, information indicating the function of the selected aerosol generating device 102 is stored in the browser storage 332 of the web browser 324. In this embodiment, the information indicating the function of the selected aerosol generating device 102 is transmitted to the remote server 114 via the internet 112 in step 808. In particular, the information indicating the function 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 indicating the function of the aerosol generating device 102 is transmitted to the remote server 114 via the short-range wireless communication connection 118 via the access point 110 (810).

[0132] In this embodiment, in step 806, the transmission of information indicating the function of the selected aerosol generating device 102 is not forwarded until it is determined that a connection to the remote server 114 is available. This 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 information indicating the function of the selected aerosol generating device 102 is sent to the remote server 114. In an alternative embodiment, 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 starting a short-range wireless communication connection 116 between the personal computing device 104 and the aerosol generating device 102, or only in that case, a portion of the information indicating the function of the aerosol generating device 102 is transmitted to the personal computing device 104. This is especially true for any relatively large amount of data (for example, puff data history related to the user's use of the aerosol generating device 102, which may, advantageously, include one or more of the time and duration of each puff taken by the user, the target temperature setting taken for each puff, and possibly the location of the aerosol generating device 102 taken for each puff). In particular, large chunks of such data may only be stored in the personal computing device 102 until they are successfully transmitted to the remote server 114. Thus, an exemplary processing flow is outlined as follows:In the aerosol generating device 102, confirmation is received from the personal computing device 104 that device 104 has a connection to an available remote server 114. Device 102 sends a large batch of information to the personal computing device 104, and the personal computing device 104 transfers the large batch of information to the remote server 114. In the personal computing device 104, confirmation is received from the remote server 114 that the large batch of information has been successfully received. The personal computing device 104 sends confirmation to the aerosol generating device 102 that the large batch of information has been successfully sent to the remote server 114, and the successfully sent large batch of information is deleted from the aerosol generating device 102.

[0133] In a particularly preferred embodiment, the consumable 217 is a cartomizer including a memory for storing data relating to the consumable 217, which includes an identifier for the consumable 217, information about 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 a nicotine concentration of 18 mg / ml), and most preferably information about the amount of liquid that remains available (or is estimated to remain available) in the consumable 217 for consumption by the user. Most preferably, information regarding the estimated amount of liquid remaining in the consumable 217 may also be information regarding the use of the consumable 217 (e.g., information about those puffs, such as the puffs taken while the consumable 217 was being taken, the settings of the aerosol generating device 102 in the puffs, the duration of the puffs, the energy consumed by the heating element 216 during the puffs, the ambient temperature, or the temperature of the heating element 216 before or at the start of the puffs), and these may be aggregated to minimize the memory required to store the data (e.g., the total energy consumed by the heating element while the puffs were taken from the consumable 217, the total 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 puffs). It is advantageous to store usage data rather than the actual estimated liquid level remaining, because in this case, the server can use an advanced algorithm that can be improved over time from that data to estimate the amount of liquid remaining in the consumable 217 (or the number of puffs), or rather, it can take into account information from many sources (which are aggregated to avoid any problems related to the misuse of personal information) rather than relying on the aerosol generating device 102 to perform such an estimation, and can provide the most accurate information, etc.

[0134] In this embodiment, the personal computing device 104 is further configured to transmit information for the aerosol generating device 102 to the aerosol generating device 102 via a short-range wireless communication connection 116. This information may include one or more of the following: • Settings for the aerosol generating device 102, such as the maximum power level of the heating element 216. • Operation enablement message, • User authentication information, and • Firmware update for aerosol generation device 102.

[0135] The embodiments of the present invention described herein are merely examples of how the invention may be implemented. Modifications, variations, and alterations of the embodiments described herein will arise for those skilled in the art. These modifications, variations, and alterations may be made without departing from the claims.

Claims

[Claim 1] The invention described in the specification.