Configuring a personal computing device for communication with an aerosol-generating device

The integration of a PWA with a native application on personal computing devices allows for flexible control and monitoring of aerosol-generating devices, addressing compatibility issues and enabling software updates across diverse operating systems.

JP7811971B2Active Publication Date: 2026-02-06JT INTERNATIONAL SA
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
JP2024140074
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2019-05-10
Filing Date
2024-08-21
Publication Date
2026-02-06
Estimated Expiration
2040-03-31

AI Technical Summary

Technical Problem

Existing aerosol-generating devices, such as e-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 devices.

Method used

A method and system that utilizes a progressive web application (PWA) on a personal computing device to establish and manage short-range wireless communication with aerosol-generating devices, enabling control and updates through a web browser and native application integration, allowing communication via Bluetooth or other protocols.

Benefits of technology

Enables sophisticated control and monitoring of aerosol-generating devices, facilitating software updates and compatibility across various personal computing devices with different operating systems, enhancing user experience and device interaction.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007811971000006
    Figure 0007811971000006
  • Figure 0007811971000007
    Figure 0007811971000007
  • Figure 0007811971000008
    Figure 0007811971000008
Patent Text Reader

Abstract

To provide a method of configuring a personal computing device for communication with an aerosol generation device over a short-range wireless communication connection.SOLUTION: The method comprises: a native application launching a web browser on a personal computing device 104; the web browser launching a progressive web application (PWA) on the personal computing device; and the native application providing a resource to the web browser. The resource causes the web browser to provide a command to the native application based on a call, which is received by the web browser from the PWA and intended for an aerosol generation device 102. The command causes the native application to cause the personal communication device to communicate with the aerosol generation device over a short-range wireless communication connection 116.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

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 substance 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 interacting directly with the aerosol generating device itself, for example, by operating buttons or other user controls on the aerosol generating device and interpreting 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 used to enable 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 short-range wireless communication connections, sometimes together with appropriate drivers, but does not itself facilitate control of the consumer device. Rather, a dedicated application that can run on the personal computing device is required to facilitate control of the consumer device via the short-range wireless communication connection managed by the operating system. Because many personal computing devices are capable of running only a limited range of applications, providing a single application that runs on a variety of different personal computing devices to facilitate control of the consumer device can encounter particular challenges, even if it can access short-range wireless communication connections managed by different operating systems and / or appropriate drivers. This is due, in part, to the different operational requirements of various 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 regarding applications that can be installed on personal computing devices, such as the Apple® App Store, the Google® Play™ App Store, or the Windows® Store, each of which requires applications 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 of configuring a personal computing device for communication 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 includes providing a resource to the web browser, the resource causing the web browser to provide a command to the native application based on a call to the aerosol generating device received by the web browser from the PWA, the command causing the native application to communicate with the aerosol generating device via a short-range wireless communication connection to the personal communication device.

[0009] By providing resources to the web browser, the native application can modify the functionality of the web browser or the PWA, which may, among other things, enable the PWA to interact with the personal computing device, such as the personal computing device's operating system or wireless communication controller, in a manner that directly controls the short-range wireless communication connection.

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

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

[0012] Optionally, the resource is provided as an object in a web browser.

[0013] Optionally, the resources are provided in the document object model of the PWA.

[0014] Optionally, the native application causes the personal computing 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.

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

[0016] 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 to the web browser a consumer device identifier received from the aerosol generating device.

[0017] Optionally, the consumer device identifier is a media access control (MAC) address of the aerosol generating device.

[0018] 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 run if the file of the PWA can be retrieved from local storage on the device.

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

[0020] According to another aspect of the present disclosure, there is provided a method of configuring a personal computing device for communication 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 implementing one or more features 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 implementing the one or more features of the PWA from the browser storage.

[0021] By storing information or files for running a PWA in browser storage, a personal computing device can be advantageously configured to communicate with a consumer device. For example, a PWA can be launched from files stored in browser storage without a communication connection to a web server where the files are publicly available; for example, the PWA can operate in an offline mode. Similarly, information that enables the PWA's functionality can be accessed at launch time, rather than waiting until an internet connection is established or until the information is retrieved from elsewhere.

[0022] Optionally, the instructions and / or data for implementing one or more functions of the PWA include computer-executable code for executing the PWA, which 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 enabling establishment of a short-range wireless communication connection with the aerosol-generating device. The instructions and / or data for implementing one or more functions of the PWA may include a consumer device identifier, and causing the personal computing device to establish a short-range wireless communication connection with the aerosol-generating device by the PWA may include the PWA obtaining the consumer device identifier of the aerosol-generating device from 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 generating device includes the PWA using a consumer device identifier of the aerosol generating device to cause a native application to control the personal computing device to establish the short-range wireless communication connection.

[0025] Optionally, the method further 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.

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

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

[0028] 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 among one or more candidate aerosol generating devices with which to establish a short-range wireless communication connection.

[0029] 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; and accepting 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.

[0030] Optionally, the native application causes the personal computing device to display a list of one or more candidate aerosol generating devices on the personal computing device and accepts 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.

[0031] Optionally, the method further comprises receiving, at the personal computing device, information indicative of the capabilities of the aerosol generation device from the aerosol generation device via the short-range wireless communication connection.

[0032] Optionally, the method further comprises storing information indicative of the capabilities of the aerosol generating device in a browser storage of the web browser.

[0033] Optionally, the method further comprises the personal computing device sending information indicative of the capabilities of the aerosol generation device to a remote server.

[0034] 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 is 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 communication connection to the remote server is not established at the personal computing device, the method further includes setting up a communication connection between the personal computing device and the remote server, preferably by having the personal computing device access the Internet.

[0035] Optionally, 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 the aerosol generating device information including one or more settings and / or firmware updates of 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 method further comprises receiving, from a remote server, a file for executing the PWA.

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

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

[0040] For example, the processor having the native application 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 PWA may cause the personal computing device to establish a short-range wireless communication connection with the consumer device; Instructions and / or data for implementing one or more features of the PWA are stored in the browser storage of the web browser such that after the web browser is closed and then relaunched by the native application, the web browser can retrieve the instructions and / or data for implementing the one or more features of the PWA from the browser storage.

[0041] In another embodiment, the processor: having the native application 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 provide resources to the web browser, which in turn cause the web browser to provide commands to the native application based on calls to the aerosol generating device received by the web browser from the PWA, which in turn cause the native application to communicate with the aerosol generating device via a short-range wireless communication connection to the personal communication device.

[0042] It may be understood that these methods can be implemented, at least in part, using computer program code. Thus, according to another aspect of the present disclosure, computer software or computer program code is provided that, when processed by a computer processing means, is adapted to perform the above-described methods. The computer software or computer program code may be carried by a computer-readable medium, particularly a non-transitory computer-readable medium, which is a medium on which computer code can be stored, either 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, such as a flash drive or a mini / micro Secure Digital (SD) card. It may also be a signal, such as an electronic signal via a wire, an optical signal, or a wireless signal, such as via a mobile communication network, a terrestrial broadcast network, or a satellite. The present disclosure also extends to a processor that executes the software or code, e.g., a computer configured to perform the above-described methods.

[0043] According to another aspect of the present disclosure, there is provided a personal computing device, the personal computing device comprising: a storage device storing a computer program product for performing the method; a short-range wireless communication interface; and a computer processor operable to process the computer program product to perform the method.

[0044] The use of words such as "apparatus," "server," "device," "processor," "communications interface," etc. is intended to be general rather than specific. These features of the present disclosure may be implemented using discrete 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.

[0045] The term "browser storage" refers to data stored in, by, or associated 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 or local storage is not automatically sent to a web server with every request or interaction with the server, and cannot be directly written by the server (unlike cookies). Local storage is distinct from session storage, which is per-origin and per-window or tab 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 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 a mist, fog, or smoke. Accordingly, the term "aerosolize" (or "aerosolize") means to make into an aerosol and / or to disperse as an aerosol. Note 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 uniformly describe a mist or droplets containing atomized, volatilized, or vaporized particles. Aerosol also includes a mist or droplets containing 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) of less than 10 microns.

[0047] 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 intensity). 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).

[0048] It should be noted that the term "comprises" as used in this document means "consisting at least in part of." Therefore, when interpreting a statement in this document containing the term "comprises," features other than the one or more that follow the term may also be present. Related terms such as "comprise" and "comprises" should be interpreted similarly. As used herein, "(s)" following a noun refers to the plural and / or singular form of the noun.

[0049] Each of the above aspects may include any one or more of the features mentioned with respect to the other aspects above. [Brief explanation of the drawings]

[0050] Preferred embodiments will now be described, by way of example only, with reference to the accompanying drawings, in which:

[0051] [Figure 1] 1 is a schematic diagram of a communication network according to a preferred embodiment of the present disclosure; [Figure 2] 1 is a schematic diagram of an aerosol generating device operating in a communication network. [Figure 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 communication network. [Figure 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] FIG. 1 is a flow diagram illustrating 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]FIG. 10 is a flow diagram illustrating a method for subsequently initiating a short-range wireless communication connection between a personal computing device and an aerosol generating device. [Figure 8] FIG. 1 is a flow diagram illustrating a method for collecting and transmitting information about an aerosol generating device to a remote server. DETAILED DESCRIPTION OF THE INVENTION

[0052] Referring to FIG. 1 , according to a first embodiment, a personal computing device 104 is in communication with one or more aerosol generating devices 102 (each of which is a consumer device) in a communication network 100. In the illustrated embodiment, the personal computing device 104 is in communication 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 IEEE (Institute of Electrical and Electronics Engineers) 802.11 standard (Wi-Fi®), an infrared (IR) wireless connection, a ZigBee® connection, or other similar connections. In a 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 globally available unlicensed radio frequency bands, such as the 13.56 MHz ISM (industrial, scientific, and medical) 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 the connection 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, for example, less than 10 cm, or even just up to 4 cm.

[0053] 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 wireless 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 communications using an appropriate communication standard, such as Global System for Mobile Communications (GSM), Universal Mobile Telecommunications System (UMTS), or Long-Term Evolution (LTE). Personal computing device 104 typically chooses to communicate with Internet 112 from time to time via other short-range wireless communication connections 118 and access points 110, or via cellular wireless network links 120, depending on availability and other criteria and preferences.

[0054] 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; 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 embodiments, the Ethernet connection is effectively similar to other short-range wireless connections 118 in that it connects to the access point 110 and thence to the Internet 112, albeit via a fixed-line or wired connection rather than a wireless connection, in the form of, for example, a broadband modem.

[0055] Referring to Figure 2, similar to a typical electronic consumer device, 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, which are in communication with each other via a communication bus 214.

[0056] The aerosol generation device 102 also has aerosol generation components, specifically a heating element 216 and a consumable module 218, which in this embodiment includes a detector 219 for detecting when an appropriate consumable 217 has been 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 described in more detail below, and includes a mouthpiece and 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 generation components of the aerosol generation device 102. Therefore, in the context of these methods, it should be understood that the described aerosol generation device 102 is merely one example of a suitable consumer device for use in the methods.

[0057] 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, and processes 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.

[0058] The memory 204 is implemented as one or more memory units that provide random access memory (RAM) for the aerosol generating device 102. In the illustrated embodiment, the memory 204 is a 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, 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 the instructions and data are stored by the memory 204 at a time, and the 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.

[0059] The storage 206 is provided integrally with the aerosol generating device 102 in the form of non-volatile memory. In most embodiments, the storage 206 is integrated on the same chip as the CPU 202 and memory 204 using an SoC architecture, for example, implemented as a Multiple-Time Programmable (MTP) array. However, in other embodiments, the storage 206 is an embedded or external flash memory, for example. 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 instructions fundamental to the operation of the CPU 202, the communication interface 208, the user interface 212, and more broadly, the aerosol generating device 102, as well as applications that perform higher-level functions of the aerosol generating 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 an antenna 210, through which wireless communication of the antenna 210 is 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.

[0061] User interface 212 includes a display 220 and input devices 222. In this embodiment, display 220 is a plurality of separate indicators, such as light-emitting diodes (LEDs). In other embodiments, 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. Input devices 222 are one or more user-operable buttons that respond to being pressed, toggled, or touched by the user. User interface 212 is configured to provide instructions to a user under the control of CPU 202, receive inputs from the user, and communicate these inputs to CPU 202 via 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 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.

[0063] More specifically, the aerosol generation 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 inhalation by a user. In this embodiment, the consumable module 218 is intended to accept 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 includes vegetable glycerin (VG), but may also be a mixture of propylene glycol (PG) with VG or other humectants, such as vegetol (13-propanediol), the use of which in this embodiment may be advantageous for performing well with nicotine-containing aerosol formulations over a range of different heating element temperatures. The use of such a humectant that performs well over a range of operating temperatures is beneficial, as this embodiment offers the possibility of adjusting the operating temperature in a user-friendly manner. It should be noted that this advantage applies to all types of embodiments (e.g., liquid vaporization e-cigarettes and non-combustion heating devices), and therefore the advantageous use of Vegetol 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 flavors and nicotine from the RTB evaporate 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 another solid porous material for absorbing the aerosol-forming agent liquid, such as a mousse formed using a gelling agent and a suitable binder, which may or may not include tobacco.

[0064] 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 appropriate for use in the aerosol generation device 102. In this embodiment, the consumable module 218 accomplishes this by detecting indicia on the consumable 217 (e.g., a printed barcode or an RFID chip or an NFC tag, etc.).

[0065] In an alternative embodiment, 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 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 liquid aerosol-forming agent to a heated vaporization surface, such as heated by heating element 216). Preferably, the aerosol-forming agent comprises VG or a PG / VG mixture together with nicotine and / or flavorings.

[0066] 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 an aerosol-forming agent, which is also preferably formed of VG or a PG / VG mixture together with nicotine and / or flavorings.

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

[0068] The aerosol generating device 102 is configured to execute multiple 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.

[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 functionality of the aerosol generating device 102 hardware and the operational interactions between the hardware components and software modules of the aerosol generating device 102.

[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 instructions in accordance with the Bluetooth® wireless communication standard available at www.bluetooth.org, with Bluetooth 5.0 being the currently prevailing 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 and power of energy (i.e., the rate of energy) supplied to the heating element 216, as well as 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, notably, in this embodiment, the heating element controller 230 is configured to receive commands to disable or enable use of the heating element 216. (Note that in embodiments in which the aerosol generation device 102 itself does not include the heating element 216, but instead provides power to a heating element within the consumable 217 (e.g., a cartomizer), the heating element controller 230 instead controls the supply of power to the heating element included within the consumable 217.)

[0072] 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 are in communication with each other via a communication bus 316.

[0073] CPU 302 is a computer processor, e.g., a microprocessor. CPU 302 is configured to execute instructions, e.g., in the form of computer-executable code, and processes data in the form of values ​​and strings, including instructions and data stored, e.g., in memory 304, storage 306, and removable storage 308. The instructions and data executed and processed by CPU 302 include instructions and data for coordinating the operation of other components of personal computing device 104, such as communications interface 310 and user interface 314, and also include instructions and data for running applications on personal computing device 104.

[0074] 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 separately, 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 a time, and the selected elements define the instructions and data relevant to the operation of the personal computing device 104 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.

[0075] 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 include 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 that perform the methods described below.

[0076] The communication interface 310 includes a short-range wireless communication interface and a cellular wireless communication interface and is coupled to the 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. Accordingly, the communication interface 310 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).

[0077] User interface 314 includes a display 318 and an input device 320. In this embodiment, display 318 and input device 320 are implemented together as a touch-sensitive screen. 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. Input device 320 is a capacitive layer provided on top of display 318 configured to detect touches by a user. User interface 314 is configured to display information to a user under the control of CPU 302 and to communicate user input obtained from the user touching input device 320 to CPU 302 via communication bus 316.

[0078] The personal computing device 104 is configured to execute multiple 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.

[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 are suitable alternatives, such as the 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.

[0080] The web browser 324 is configured to download and process web resources from the Internet 112, rendering 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; in other embodiments, the web browser is, for example, Safari®, Firefox®, or Microsoft® Edge®. Alternatively, the web browser 324 may be a PWA, an offline web page, or an Electron browser developed by GitHub®. TM The browser may be a web browser specifically designed to handle other web-based technologies such as

[0081] The web browser 324 has browser storage 332. Physically, browser storage 332 is effectively a portion of memory 304 or storage 306. However, more importantly, the operating system 322 and web browser 324 are configured to provide browser storage 332 as a portion of memory with certain operational characteristics. Specifically, browser storage 332 is storage in which stored data persists after a web browser 334 session ends or after the web browser 334 stops its execution. In some embodiments, browser storage 332 is implemented as web storage, as that language is understood under the Hypertext Markup Language 5 (HTML5) standard, for example. More specifically, browser storage 332 is local storage. Local storage data (unlike cookies) is not automatically sent to a web server with 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 per-origin and per-window or tab and does not persist after a session ends or a tab or window is closed. Local storage is available, for example, in HTML 5. Browser storage 332, in this embodiment, is stored within files of web browser 334 (such as files that store 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 process calls made by the PWA 328 for communication 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, such as code such as JavaScript and / or Swift code. The resources specify how calls made in the web browser 324 by the PWA 328, for example, using a web Bluetooth® Application Programming Interface (API), should result 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 some action, such as setting up a short-range wireless communication connection 116 (e.g., a Bluetooth® connection) or sending or receiving messages via the short-range wireless communication connection 116. In this manner, the native application 326 provides seamless communication between the PWA 328 and the wireless communication controller 330.

[0083] As will be appreciated, the native applications 326 generally access the hardware and peripherals of the personal computing device 104 through 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 applications 326 can provide communication between the PWA 328 and other hardware and peripherals of the personal computing device 104, in addition to the communication interface 310.

[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 functionality described above. Among other things, 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 and provide resources to the web browser 324 as needed.

[0085] 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 the cache of the CPU 302.

[0086] Generally, PWAs provide a way for users to benefit from functionality similar to that offered 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 computing device on which they will run. For example, access to some functions, data structures, and interfaces of the personal computing device 104 is defined in the SDK for the native application 326 and cannot be accessed through the web browser 324 on which the PWA 328 runs. In some cases, indirect access to certain hardware and peripheral devices 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 the PWA 328 is configured to accept messages or data received at the personal computing device 104 via the web Bluetooth® API and similarly transmit messages or data to the aerosol-generating device 102 connected to the personal computing device 102 via the Bluetooth® Web API, this would 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.

[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 instructions in accordance with the Bluetooth® wireless communication standard available at www.bluetooth.org, with Bluetooth 5.0 being the currently prevailing 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 (e.g., in response to calls by the PWA 328 to the Web Bluetooth® API).

[0089] 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 are in communication with each other via a communication bus 414.

[0090] CPU 402 is a computer processor, e.g., a microprocessor. 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 memory 404 and storage 406. The instructions and data executed and processed by CPU 402 include instructions and data for coordinating the operation of other components of remote server 114, such as user database 108, communications interface 410, and user interface 412. They also include instructions and data for executing applications on remote server 114.

[0091] 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 installed on the motherboard of the remote server 114 alongside the CPU 402. However, in other embodiments, the memory 404 is provided separately, for example, as a memory chip integrated with the motherboard or the 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 a time, and the selected elements define the instructions and data relevant to the operation of the remote server 114 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.

[0092] Storage 406 comprises a hard disk drive or flash drive installed within remote server 114 or as a separate storage unit accessible to remote server 114. User database 408 may be implemented using storage. That is, user database 408 is typically part of the data stored by storage 406, e.g., storage. However, in other embodiments, user database 408 is separate from storage, e.g., comprising a separate hard disk drive or storage unit. Storage 406 is configured to store instructions and data used by remote server 114. Storage 406 stores instructions and data permanently or semi-permanently, e.g., until overwritten. Typically, the instruction and data elements stored by storage 406 include instructions and data essential to basic operation of remote server 114, as well as instructions and data associated with 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 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.

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

[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 a mouse.

[0095] The remote server 114 is configured to execute multiple 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 may be stored in the 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 functionality of the remote server 114's hardware 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, e.g., 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 files for executing the PWA 328 to the personal computing device 104 upon request. The web server 422 also provides a portal for managing interactions between the personal computing device 104 (and the aerosol generating device 102) and the user database 408.

[0097] Referring to FIG. 5 , a method 500 for launching a PWA 328 includes a user first interacting with the user interface 314 of the personal computing device 104 to provide 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 the web browser 324 of the personal computing device 104 to access a URL that appears on the packaging of the aerosol generating device 102 or on the user interface 212. The URL points to a website hosted on the web server 422 of the remote server 114. In one embodiment, accessing the URL is achieved by the user operating the personal computing device 104 to scan a barcode that encodes 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 associated with the personal computing device 104. On the website, the user is provided with instructions on how to download the native application 326 from a repository appropriate for whatever type of operating system the user's personal computing device 104 uses (e.g., Android®). Once the user follows these instructions to download and install the native application 326, the user is prompted to launch the native application 326 and navigate to a specified website from which to download the PWA 328, either from within the native application 326 or, more specifically, from within a web browser 324 launched under the control of the native application. Downloading the PWA 328 from within the native application 326 can be initiated automatically once a URL is 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 previously been 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 visits a web page provided to the personal computing device 104 by the web server 422, and the web page includes the icon. Once the files to run the PWA 328 have been downloaded from the web server 422, the PWA may be launched.

[0099] During subsequent launch 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 accepts input indicating that the user wishes to launch the PWA 328 in 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 in step 504, rather than directly launching the PWA 328. The native application 326 then launches (or restarts) the web browser 324 in step 506. The native application 326 then loads a file to launch the PWA 328 in step 508, and launches the PWA 328 on the web browser 324 in step 510.

[0100] As will be appreciated, 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 launches the PWA 328 automatically (i.e., without explicit interaction from the user), particularly for 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 332 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 if they choose to do so, for example, by clearing the stored files needed to run the PWA 328 from the browser storage 332, by modifying settings associated with the native application 326, or by some other suitable mechanism.

[0101] 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, as if, for example, a user had initiated the launch of the web browser 324 themselves. Specifically, the native application 326 launches the web browser 324 with appropriate functionality to support the PWA 328. This involves the native application 326 adding resources in the form of JavaScript code (or in other embodiments, Python or another suitable 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 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, the resources provided for Android® may differ from the resources provided for iOS®. The 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] The PWA 328 is launched on the web browser 324 by specifying the uniform resource locator of the PWA 328 to the web browser 324 in steps 508 and 510. 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 executing the PWA 328 from the remote server 114. The files for executing the PWA 328 are received from the remote server 114 via the Internet 112. In this embodiment, the files for executing the PWA 328 are received from the remote server 114 via a long-range communication connection 120. In an alternative embodiment, the files for executing the PWA 328 are received via 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 executing the PWA 328 in the browser storage 332 of the web browser 324 in step 512. In other embodiments, the files required for the PWA 328 are stored elsewhere within the storage 306 of the personal computing device 104 .

[0103] If the PWA 328 (e.g., the 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, the files do not need to be stored again, and therefore step 512 is shown in FIG. 5 as optional.

[0104] The files for executing the 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. The files for executing the PWA 328 may be minified and / or obfuscated.

[0105] 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, in step 602, first launching the PWA 328 using the method 500 for launching the PWA 328 described above with reference to FIG. 5. Then, in step 604, a user initiates a command to scan for nearby aerosol-generating devices 102 using the PWA 328. The user initiates the 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.

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

number

[0107] Such calls would routinely be rejected by the web browser 324 because the web browser 324 does not natively include functionality for communicating with the wireless communication controller 330. However, when the native application 326 launches the web browser 324, the modified version of the web browser 324 can answer the call 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 that directory at "navigator.bluetooth.requestDevice." In this embodiment, that object is JavaScript that was previously inserted by the native application 326 when the web browser 324 was launched. This code may roughly include JavaScript such as the following:

number

[0109] Thus, when the PWA 328 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 its directory, for example using the code above. This code serves to provide a promise to the web browser 324, and 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 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 for the aerosol generating device 102. Upon receiving the command, the native application 326 executes the following code using the wireless communication controller 330:

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 devices 102 that are within range, in discoverable mode (or already paired with the personal computing device 104), and have a short-range wireless communication interface of the same protocol as the personal computing device 104 will respond. 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] 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 retrieved 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:

number

[0113] It will be apparent that the PWA 328 calls the Web Bluetooth® API to perform tasks such as scanning for devices or writing or receiving messages or data to or from the aerosol-generating device 102 via the short-range wireless communication connection 116. In this 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. Preferably, therefore, the native application 326 is configured to determine whether the web browser 324 can process the Web Bluetooth® API calls (in the desired manner), and in this case, does not need to apply code to modify the web browser 324 so that it can process the Web Bluetooth® API calls (unless, for some reason, there is a need to handle them in a non-standard way, in which case the web browser 324 can still be modified by essentially overriding the standard functionality for handling the Web Bluetooth® API calls 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 and compare it to a lookup table that identifies the correct action to take (in terms of 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 of the received configuration information of the aerosol-generating devices 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 with which they want to interact. 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 essentially skipping displaying a list and receiving a user selection and instead moving directly from receiving configuration information 610 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 accepted at the user device 102 in step 610.

[0116] In step 612, the PWA 328 causes the personal computing device 104 to open a short-range wireless communication connection 116 with the selected aerosol generation device 102. The short-range wireless communication connection 116 is set up using some or all of the configuration information of the selected aerosol generation device 102. 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 generation device 102 is the consumer device identifier.

[0117] 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, Credentials, Capsule information, Device settings, Event information, and / or ·Vaping information.

[0118] The capsule information, relevant 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 every puff and / or when the user changes the capsule.

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

[0120] The native application 326 receives information indicating the capabilities of the aerosol generation device 102. The information indicating 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 indicating the capabilities of the aerosol generation device 102 is received by the PWA 328 and may 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. 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.

[0122] 7, a method 700 is shown 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 that has already been established using the method described with reference to FIGS. 6A and 6B has been closed, it can be re-initiated using the method described with reference to FIG.

[0123] First, the PWA 328 is launched on the personal computing device 104 in step 702 using the method 500 for launching a PWA 328 described above with reference to FIG.

[0124] 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. Then, in step 706, a determination is made of the aerosol-generating device 102 to connect to. 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).

[0125] In this embodiment, the user interface 314 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.

[0126] In step 708, the PWA 328 retrieves a consumer device identifier corresponding to the determined or selected aerosol generating device 102 from the browser storage 332. 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 appreciated that the consumer device identifier has been retained in the browser storage 332 since the last time the PWA 328 was used, for establishing 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 the 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 FIGS. 6A and 6B , without having to retrieve the consumer device identifier again from the aerosol generating device 102.

[0127] 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. This 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 the appropriate location in its directory. The object's code functions to provide context to the web browser 324. The object's code also causes the web browser 324 to provide Swift code to the native application 326, which effectively translates 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 the short-range wireless communication connection 116 with the aerosol generating device 102.

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

[0129] 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, in step 802, 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.

[0130] 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 that identifies the aerosol generating device 102; The type and identity of any consumables 217 attached to the aerosol generating device 102; the status of the aerosol generation device 102 and / or the consumable 217 (if any), such as the battery level of the aerosol generation device 102 and the current settings of the aerosol generation device 102 (e.g., target temperature setting or “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 liquid reservoir, 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 point in time since such information was successfully transmitted to the remote 114 server and / or PWA 328.

[0131] In step 804, information indicating the capabilities of the selected aerosol generation device 102 is stored in the browser storage 332 of the web browser 324. Also in this embodiment, the information indicating the capabilities of the selected aerosol generation device 102 is transmitted to the remote server 114 via the Internet 112 in step 808. In particular, the information indicating the capabilities of the selected aerosol generation device 102 is transmitted to the remote server 114 via a long-range wireless communication connection 120. In another embodiment, the information indicating the capabilities of the aerosol generation device 102 is transmitted (810) to the remote server 114 via a short-range wireless communication connection 118 via the access point 110.

[0132] In this embodiment, in step 806, the transmission of the information indicative of the capabilities 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 the information indicative of the capabilities of the selected aerosol generating device 102 is sent to the remote server 114. Note that in an alternative embodiment, a portion of the information indicative of the capabilities of the aerosol generating device 102 is sent 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 amount of data (e.g., historical puff data relating to the user's use of the aerosol generating device 102, which may advantageously include any 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 position of the aerosol generating device 102 taken for each puff). Notably, large chunks of data such as these may only be stored on the personal computing device 102 until they are successfully transmitted to the remote server 114. Thus, an exemplary processing flow may be roughly as follows:At the aerosol generating device 102, a confirmation is received from the personal computing device 104 that the device 104 has an available connection to the remote server 114, a large batch of information is sent from the device 102 to the personal computing device 104, the large batch of information is transferred from the personal computing device 104 to the remote server 114, at the personal computing device 104, a confirmation is received from the remote server 114 that the large batch of information was successfully received, a confirmation is sent from the personal computing device 104 to the aerosol generating device 102 that the large batch of information was 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 that includes a memory for storing data regarding the consumable 217, this information including 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 with 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 estimated amount of liquid remaining 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 for storing the data. Storing usage data rather than the actual estimated liquid level remaining is advantageous because in this case the server can estimate the amount of liquid remaining in the consumable 217 (or number of puffs) using advanced algorithms that can be improved over time from that data, 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.

[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 the short-range wireless communication connection 116. The information may include any one or more of the following: the settings of the aerosol generating device 102, such as the maximum power level of the heating element 216; operation enablement messages, User credentials, and · Firmware updates for the aerosol generating device 102.

[0135] The described embodiments of the present invention are merely examples of how the present invention may be implemented. Modifications, variations, and changes to the described embodiments will occur to those skilled in the art. These modifications, variations, and changes can be made without departing from the scope of the claims.

Claims

1. A method for configuring a personal computing device for communication with an aerosol generating device via a short-range wireless communication connection, comprising: a native application launching a web browser on the personal computing device; the web browser launching a progressive web application (PWA) on the personal computing device; receiving, by the personal computing device, information from the aerosol generating device via the short-range wireless communication connection indicative of the capabilities of the aerosol generating device; the PWA displays the information indicative of the functionality of the aerosol generating device; A method comprising:

2. The PWA displaying the information indicating the function of the aerosol generating device comprises: the PWA displaying the information indicative of the functionality of the aerosol generating device on a display of a user interface of the personal computing device; The method of claim 1 , comprising:

3. The personal computing device receiving the information indicative of the functionality of the aerosol generating device from the aerosol generating device via the short-range wireless communication connection comprises: receiving, by the native application, information about the aerosol generating device; The information about the aerosol generating device is passed from the native application to the PWA via the web browser; 3. The method of claim 1 or 2, comprising:

4. the PWA causing the personal computing device to establish the short-range wireless communication connection with the aerosol generating device using a consumer device identifier of the aerosol generating device; The method of claim 1 , further comprising:

5. The method of claim 1, wherein the establishing a short-range wireless communication connection with the aerosol generating device 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, an aerosol-generating device with which the short-range wireless communication connection should be established; and The method of claim 4, comprising:

6. The method further comprising the native application providing resources to the web browser; The resource causes the web browser to provide commands to the native application based on calls directed to the aerosol generating device received by the web browser from the PWA.

6. The method according to any one of claims 1 to 5.

7. The method further includes downloading a file for executing the PWA by the web browser; When the web browser downloads the file, it launches the PWA and stores the file in the browser storage of the web browser or the storage of the personal computing device.

7. The method according to any one of claims 1 to 6.

8. The method described in claim 7, wherein the web browser retrieves the file from the browser storage or the storage of the personal computing device if the file has already been downloaded.

9. The PWA causing the personal computing device to transmit the information indicative of the capabilities of the aerosol generating device to a remote server.

9. The method of claim 1, further comprising:

10. Storing the instructions or data for performing one or more functions of the PWA in the browser storage of the web browser so that after the web browser is terminated and subsequently relaunched by the native application, the instructions or data for performing one or more functions of the PWA can be retrieved by the web browser from the browser storage of the web browser; 10. The method of claim 1, further comprising:

11. A method described in any one of claims 1 to 10, wherein the information indicating the functionality of the aerosol generating device includes suction information regarding whether a user is using the aerosol generating device.

12. A method described in any one of claims 1 to 11, wherein the information indicating the function of the aerosol generating device includes event information about a malfunction event or an overheating event.

13. A method described in any one of claims 1 to 12, wherein the information indicating the function of the aerosol generating device includes identification information or type that identifies the aerosol generating device.

14. A method described in any one of claims 1 to 13, wherein the information indicating the functionality of the aerosol generating device includes a battery level of the aerosol generating device or a current setting value of the aerosol generating device.

15. A computer that controls a personal computing device for communication with an aerosol generating device via a short-range wireless communication connection, comprising: a native application launching a web browser on the personal computing device; the web browser launching a progressive web application (PWA) on the personal computing device; receiving, by the personal computing device, information from the aerosol generating device via the short-range wireless communication connection indicative of the capabilities of the aerosol generating device; the PWA displays the information indicative of the functionality of the aerosol generating device; A computer program for performing the following.

Citation Information

Patent Citations

  • Information processing device and information processing method

    JP2015095256A

  • Display device, display method, and display program

    JP2018041240A

  • Vaping Policy Warning System and Method

    JP2019502279A

  • Application development for a network with an electronic cigarette

    US20130340775A1

  • System and method for creating, distributing & rendering progressive web applications

    US20190065217A1