Configuring personal computing device for communication with aerosol generation device
Patent Information
- Application Number
- JP2023168754
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2019-05-10
- Filing Date
- 2023-09-28
- Publication Date
- 2025-10-30
AI Technical Summary
Existing aerosol-generating devices, such as electronic cigarettes, lack flexibility in control and software updates, and their interaction with personal computing devices is limited, making it difficult to monitor and enhance user experience.
A method and system that utilizes a progressive web application (PWA) on a personal computing device to establish a short-range wireless communication connection with aerosol-generating devices, allowing for control and data exchange without constant internet connectivity, using browser storage to retain necessary instructions and data.
Enables flexible control and monitoring of aerosol-generating devices through personal computing devices, facilitating software updates and enhanced user experience by allowing offline operation and seamless communication.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the configuration of a personal computing device for communicating with an aerosol generating device. The present disclosure is applicable, but not limited to, short-range wireless communication connections between a personal computing device and an aerosol generating device such as a personal inhaler device or an electronic cigarette (or e-cigarette).
Background Art
[0002] The popularity and use of risk-reduced or risk-modified smoking devices, also known as electronic cigarettes, vaporizers, or aerosol generating devices, have grown rapidly in the past few years. Such aerosol generating devices provide alternatives to conventional tobacco products such as cigarettes, cigars, cigarillos, and rolling tobacco. They generally heat or warm an aerosolizable substance to produce an aerosol for inhalation, in contrast to burning tobacco as in conventional tobacco products.
[0003] Most aerosol generating devices typically incorporate some form of electronic control circuitry including a simple computer processor to enable a user to control the operation of the aerosol generating device. However, the control of an aerosol generating device is generally only performed locally by a user who directly interacts with the aerosol generating device itself, for example, by operating buttons or other user control devices on the aerosol generating device and interpreting the meaning of indicators such as light-emitting diodes (LEDs) on the aerosol generating device. This limits the flexibility in controlling the aerosol generating device. This also means that once an aerosol generating device is in the possession of a user, the manufacturer or supplier of the aerosol generating device can hardly interact with it. The software running on the device cannot be easily updated, and it is not possible to easily monitor the use of the aerosol generating device to improve the user experience.
[0004] Short-range wireless communication connections such as Bluetooth® can be operated to enable consumer devices, such as aerosol generating devices, to communicate with personal computing devices. This type of connection can be used to enable more advanced control of consumer devices via personal computing devices.
[0005] Typically, the operating system of a personal computing device manages short-range wireless communication (SWR) connections, sometimes with appropriate drivers, but does not facilitate control of the consumer device itself. Rather, a dedicated application that can run on the personal computer device is needed to facilitate control of the consumer device via the SWR connection managed by the operating system. Because many personal computer devices can only run a limited range of applications, attempting to provide a single application that runs on various different personal computer devices to facilitate control of the consumer device can encounter significant difficulties, but it still allows access to SWR connections managed by different operating systems and / or appropriate drivers. This is partly due to the different operating requirements of different personal computer devices, such as personal computer devices with different operating systems, e.g., macOS®, Android®, or Microsoft® Windows®. This is also due to restrictions set by the manufacturers and suppliers of personal computing devices regarding applications that can be installed on personal computing devices, such as the Apple® App Store, Google® Play® App Store, or Windows® Store, each of which requires applications to meet certain (different) criteria before being approved for listing in the store and thus available to users.
[0006] This disclosure aims to overcome the challenges outlined above. [Overview of the project]
[0007] Aspects of this disclosure are described in the appended claims.
[0008] According to a first aspect of this disclosure, a method is provided for configuring a personal computing device to communicate with an aerosol generating device via a short-range wireless communication connection, the method is: Native applications launching a web browser on a personal computing device, When a web browser launches a Progressive Web Application (PWA) on a personal computing device, PWA enables personal computing devices to establish short-range wireless communication connections with consumer devices. This includes storing instructions and / or data for performing one or more functions of a PWA in the browser storage of a web browser so that the web browser can retrieve the instructions and / or data for performing one or more functions of the PWA from browser storage after the web browser has been closed and subsequently restarted by a native application.
[0009] By storing information or files necessary to run a PWA in browser storage, personal computing devices can be advantageously configured to communicate with consumer devices. For example, a PWA can be launched from a file stored in browser storage without a communication connection to a web server where the file is generally available, and a PWA can operate in offline mode. Similarly, information that enables the functionality of a PWA can be accessed at the time the PWA is launched, rather than waiting for an internet connection to be established or for the information to be retrieved from somewhere else.
[0010] Optionally, instructions and / or data for performing one or more functions of a PWA may include computer executable code for running the PWA. This computer executable code for running the PWA may enable a web browser to launch the PWA when the personal computing device is not connected to the internet.
[0011] Optionally, instructions and / or data for performing one or more functions of the PWA include information that enables the establishment of a short-range wireless communication connection with an aerosol generating device. Instructions and / or data for performing one or more functions of the PWA may include a consumer device identifier, and the PWA causing a personal computing device to establish a short-range wireless communication connection with an aerosol generating device may include the PWA retrieving the consumer device identifier of the aerosol generating device from the browser storage of a web browser.
[0012] Optionally, allowing a PWA to establish a short-range wireless communication connection between a personal computing device and an aerosol generating device includes allowing a native application to control the personal computing device using the consumer device identifier of the aerosol generating device to establish the short-range wireless communication connection.
[0013] The method is, at will. To have a personal computing device scan one or more candidate aerosol generating devices using a short-range wireless communication protocol, The further includes receiving the respective consumer device identifier of one or more candidate aerosol generating devices located near a personal computing device.
[0014] Optionally, a scan of one or more candidate aerosol generating devices is initiated by the native application. Preferably, the reception of consumer device identifiers of one or more candidate aerosol generating devices is performed by the native application.
[0015] Optionally, the method further includes transmitting consumer device identifiers of one or more candidate aerosol generating devices from a native application to a PWA.
[0016] Optionally, allowing a PWA to establish a short-range wireless communication connection with a personal computing device includes the PWA determining which aerosol generating device should establish a short-range wireless communication connection with from one or more candidate aerosol generating devices.
[0017] To selectively determine which aerosol generating device should establish a short-range wireless communication connection is: To display a list of one or more candidate aerosol generating devices on a personal computing device, The system includes receiving a user selection of one or more candidate aerosol generating devices as an aerosol generating device for which a short-range wireless communication connection should be established.
[0018] The native application optionally displays a list of one or more candidate aerosol generating devices on the personal computing device and receives a user selection of one of the candidate aerosol generating devices to be used to establish a short-range wireless communication connection.
[0019] Optionally, the method further includes, in a personal computing device, receiving information from an aerosol generating device via a short-range wireless communication connection indicating the functionality of the aerosol generating device.
[0020] Optionally, the method further includes storing information indicative of the functioning of the aerosol generation device in browser storage of a web browser.
[0021] Optionally, the method further includes a personal computing device sending information indicative of the functioning of the aerosol generation device to a remote server.
[0022] Optionally, before sending the information indicative of the functioning of the aerosol generation device to the remote server, the method includes determining whether a communication connection to the remote server is established on the personal computing device, preferably by determining that the personal computing device can access the Internet, and in response to determining that a communication connection to the remote server is not established on the personal computing device, preferably causing the personal computing device to access the Internet to set up a communication connection between the personal computing device and the remote server.
[0023] Optionally, the method includes sending information of the aerosol generation device from the personal computing device to the aerosol generation device via a short-range wireless communication connection, preferably wherein the information of the aerosol generation device includes one or more settings of the aerosol generation device and / or a firmware update.
[0024] Optionally, the short-range wireless communication connection is a Bluetooth® connection and the consumer device identifier is a media access control (MAC) address.
[0025] Optionally, the method further includes receiving, from the remote server, a file for executing the PWA.
[0026] According to another aspect of the present disclosure, a method of configuring a personal computing device to communicate with an aerosol generating device via a short-range wireless communication connection is provided. The method includes: 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; the native application providing a resource to the web browser, the resource causing the web browser to process a call received from the PWA for the aerosol generating device by instructing a command based on a call to the native application, 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;
[0027] Optionally, the resource includes computer-executable code defining the operation of the web browser. The computer-executable code may be JavaScript (registered trademark).
[0028] Optionally, the command includes computer-executable code defining the operation of the native application. This computer-executable code may be Swift code.
[0029] Optionally, the resource is provided as an object of the web browser.
[0030] Optionally, the resource is provided in the document object model of the PWA.
[0031] Optionally, the native application causes the personal communication device to communicate with the aerosol generating device via a short-range wireless communication connection by communicating with the wireless communication controller of the personal computing device.
[0032] Optionally, the short-range wireless communication connection is a Bluetooth® connection.
[0033] Optionally, the call is intended to initiate short-range wireless communication with the aerosol generating device, and in response to the call, the native application is configured to return the consumer device identifier received from the aerosol generating device to the web browser.
[0034] Optionally, the consumer device identifier is the media access control (MAC) address of the aerosol generating device.
[0035] Optionally, the method further includes the web browser launching the PWA using a PWA file downloaded from a web server or stored locally on the personal computing device, thereby allowing the PWA to run even if the personal computing device is not currently connected to the internet, as long as the PWA file can be retrieved from the device's local storage.
[0036] Optionally, a personal computing device is a mobile personal computing device. It may be a smartphone or a tablet.
[0037] According to another aspect of the present disclosure, a personal computing device is provided which is configured to communicate with an aerosol generating device via a short-range wireless communication connection, the personal computing device comprising a processor configured to cause the processor to perform the method described above.
[0038] For example, a processor is Native applications can launch a web browser on a personal computing device. A web browser launches a Progressive Web Application (PWA) on a personal computing device. PWA enables personal computing devices to establish short-range wireless communication connections with consumer devices. The web browser may be configured to store instructions and / or data for performing one or more functions of the PWA in its browser storage so that the web browser can retrieve the instructions and / or data for performing one or more functions of the PWA from its browser storage after the web browser has been closed and subsequently restarted by the native application.
[0039] In another embodiment, the processor is Native applications can launch a web browser on a personal computing device. A web browser launches a Progressive Web Application (PWA) on a personal computing device. A native application may cause a web browser to provide resources, which in turn cause the web browser to process calls received by the web browser from a PWA for an aerosol generating device by issuing commands based on calls to the native application, and which in turn cause the native application to communicate with the aerosol generating device via a short-range wireless communication connection to a personal communication device.
[0040] Optionally, the personal computing device is a mobile personal computing device, preferably a smartphone or tablet.
[0041] It can be understood that these methods can be carried out, at least in part, using computer program code. Accordingly, according to another aspect of this disclosure, computer software or computer program code is provided that, when processed by a computer processing means, is adapted to perform these methods described above. The computer software or computer program code may be carried on a computer-readable medium, in particular a non-temporary computer-readable medium on which the computer code can be stored permanently or until it is overwritten. The medium may be a physical storage medium such as a read-only memory (ROM) chip; or it may be a disk such as a digital video disc (DVD-ROM); or a non-volatile memory card, such as a flash drive or a mini / micro Secure Digital (SD) card. It may also be a signal such as an electronic signal over a wire, an optical signal, or a wireless signal over a mobile communication network, a terrestrial broadcasting network, or a satellite. This disclosure also extends to a processor that executes the software or code, such as a computer configured to perform the methods described above.
[0042] According to another aspect of this disclosure, a personal computing device is provided, and the personal computing device is Storage for storing computer program products to execute the method, Short-range wireless communication interface, The system comprises a computer processor capable of operating to process computer program products in order to perform a method.
[0043] The use of terms such as “device,” “server,” “processor,” and “communication interface” is intended to be general rather than specific. These features of the disclosure can be implemented using individual components such as a computer or central processing unit (CPU), but can be implemented just as well using other suitable components or combinations of components. For example, they can be implemented using hardwired circuits, such as integrated circuits, and embedded software.
[0044] The term "browser storage" refers to data stored within a web browser on a client / user device, either by or in relation to the web browser, that persists after the session ends or after the web browser stops running. One type of browser storage is known as "local storage." Data stored in browser storage or local storage is not automatically sent to the web server in every request or interaction with the server, nor can it be directly written by the server (unlike cookies). Local storage is distinct from session storage, exists per window or tab, and does not persist after the session ends or after the tab or window is closed. Local storage is available in HTML5, for example. The terms browser storage and local storage are intended to be general rather than specific, and include not only the "local storage" used in HTML5, but also other equivalent forms of browser storage or local storage (e.g., other forms of web storage such as Indexed Database or Web SQL).
[0045] The term “aerosol” refers to a system of particles dispersed in air or gas, such as mist, fog, or smoke. Accordingly, the term “aerosolize” (or “aerosolize”) means to make something into an aerosol and / or disperse it as an aerosol. Note that the meanings of aerosol / aerosolize are consistent with the above definitions of volatilize, spray, and vaporize. To avoid misunderstanding, aerosol is used consistently to describe mist or droplets containing sprayed, volatilized, or vaporized particles. Aerosol also includes mist or droplets containing any combination of sprayed, volatilized, or vaporized particles. In a preferred embodiment, the aerosol includes a condensed aerosol obtained by evaporating a liquid (preferably including an aerosol-forming agent liquid such as vegetable glycerin (VG), propylene glycol (PG), or a mixture thereof (PG / VG)) and then condensing it to form a condensed aerosol containing very small droplets of the vaporized liquid, preferably having an index diameter range of 0.5 to 7 microns, and ideally having a maximum droplet size (at least the majority of the droplets, e.g., up to about 99% of the droplets) of less than 10 microns.
[0046] As used herein, the terms “aerosol generating device” or “electronic cigarette” may include a device configured to provide a user with a variable amount of aerosol (in particular, a variable amount of aerosol per puff, depending on factors such as device settings, user puff duration, or puff intensity). The aerosol generated is preferably a concentrated aerosol for inhalation. The device is preferably portable. Preferably, the device is configured to distribute a variable amount of aerosol into a puff depending on the user’s behavior (for example, a user who takes long, deep puffs will have the device generate more aerosol in that puff than a user who takes short, light puffs).
[0047] It should be noted that the term “comprise” as used in this document means “consisting of at least a part of it.” Therefore, when interpreting statements in this document that contain the term “comprise,” other features or features beginning with this term may also exist. Related terms such as “comprise” and “comprises” should be interpreted similarly. As used herein, “(s)” following a noun signifies the plural and / or singular form of the noun.
[0048] Each of the above embodiments may include any one or more of the features mentioned in relation to the other embodiments described above.
[0049] Here, a preferred embodiment will be described as merely an example, with reference to the attached drawings. [Brief explanation of the drawing]
[0050] [Figure 1] This is a schematic diagram of a communication network according to a preferred embodiment of the present disclosure. [Figure 2] This is a schematic diagram of an aerosol generation device that operates over a communication network. [Figure 3] This is a schematic diagram of a personal computing device that operates on a communication network. [Figure 4] This is a schematic diagram of a remote server operating on a communication network. [Figure 5] This flowchart illustrates how to prepare and launch a Progressive Web Application (PWA) on a personal computing device. [Figure 6A] This flowchart illustrates how to establish a short-range wireless communication connection between a personal computing device and an aerosol generating device. [Figure 6B] This is a schematic diagram showing the software layer on a personal computing device. [Figure 7]This flowchart illustrates how to initiate a short-range wireless communication connection between a personal computing device and an aerosol generating device. [Figure 8] This flowchart illustrates how to collect information about aerosol generation devices and send it to a remote server. [Modes for carrying out the invention]
[0051] Referring to Figure 1, according to the first embodiment, in a communication network 100, a personal computing device 104 communicates with one or more aerosol generating devices 102 (each of which is a consumer device). In the illustrated embodiment, the personal computing device 104 potentially communicates with four aerosol generating devices 102. The communication link between the personal computing device 104 and each aerosol generating device 102 is a short-range wireless communication connection 116. In this embodiment, this short-range wireless communication connection 116 is a Bluetooth® connection. In other embodiments, the short-range wireless communication connection 116 is a connection implemented using one or more of the following: IEEE 802.11 standard (Wi-Fi®), infrared (IR) wireless connection, ZigBee® connection, or other similar connections. In one particular embodiment, the short-range wireless communication connection is a near-field communication (NFC) connection. NFC utilizes electromagnetic induction between two loop antennas. NFC-enabled devices, 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 Industrial, Scientific, and Medical (ISM) band. NFC communication is defined by the Joint Technical Committee (JTC) of the International Organization for Standardization (ISO) and the International Electrotechnical Commission (IEC). The ISO / IEC 18000-3 standard achieves rates of 10⁶ to 424 kbit / s. Therefore, the reference to "short range" in the context of short-range wireless communication connection 116 means that it can be maintained over several meters, for example, up to about 100 meters, but usually less than 10 meters, and in practice, in the context of NFC, for example less than 10 cm, and even just up to 4 cm.
[0052] The personal computing device 104 also communicates with a remote server 114 via the internet 112. In this embodiment, the personal computing device 104 is configured to communicate with the internet 112 via an access point 110. The personal computing device 104 is configured to communicate with the access point 110 via another short-range wireless communication connection 118. In this embodiment, this other short-range wireless communication connection 118 is a Wi-Fi® connection. In other embodiments, the other short-range wireless communication connection 118 is a Bluetooth® connection, an IR wireless connection, a ZigBee® connection, or several similar connections. In this embodiment, the personal computing device 104 is also configured to communicate with the internet 112 via a cellular wireless network link 120 to provide data communication using an appropriate communication standard such as the Global System for Mobile Communications (GSM), Universal Mobile Telecommunications System (UMTS), or Long-Term Evolution (LTE). The personal computing device 104 typically chooses to communicate with the Internet 112 from time to time via other short-range wireless connections 118 and access points 110, or via a cellular wireless network link 120, depending on availability and other criteria and preferences.
[0053] In this embodiment, the personal computing device 104 is a mobile computing device, in particular a smartphone running the Android® operating system. In other embodiments, the personal computing device 104 is a smartphone, tablet computing device, or laptop computer running other types of operating systems such as iOS, Linux® for mobile operating systems, or Windows. In most embodiments, the personal computing device 104 is configured to communicate via a cellular wireless network link 120, and therefore the personal computing device 104 may be referred to as a user device (UE). In other embodiments, the personal computing device 104 is a desktop personal computer (PC) configured to communicate via the Internet 112 via a wired Ethernet connection. In such embodiments, the Ethernet connection is substantially the same as other short-range wireless connections 118 in that it connects to an access point 110, for example in the form of a broadband modem, and from there to the Internet 112, although via a fixed line or wired connection rather than a wireless connection.
[0054] Referring to Figure 2, as is common with typical electronic consumer devices, each aerosol generating device 102 includes a central processing unit (CPU) 202, memory 204, storage 206, communication interface 208, antenna 210, and a user interface 212 that communicates with another one via a communication bus 214.
[0055] The aerosol generating device 102 also has aerosol generating components, in particular a heating element 216, and a consumable module 218 which includes a detector 219 for detecting when a suitable consumable 217 is inserted into the consumable module 218. Note that in this embodiment, the consumable 217 is in the form of a tobacco rod or stick, as will be described in more detail below, and includes a mouthpiece, a filter such as an acetate or through-hole filter commonly used in cigarettes. However, it should be noted that some of the methods described below are applicable to other types of consumer devices, which typically have computer-related components but do not have the aerosol generating components of the aerosol generating device 102. Therefore, in the context of these methods, it should be understood that the described aerosol generating device 102 is merely an example of a suitable consumer device for use in those methods.
[0056] The CPU 202 is a computer processor, such as a microprocessor. The CPU 202 is configured to execute instructions in the form of computer executable code and processes data in the form of values and strings, including instructions and data stored in memory 204 and storage 206, for example. The instructions and data executed by the CPU 202 include instructions for coordinating the operation of other components of the aerosol generating device 102, such as instructions and data for controlling the communication interface 208 and the user interface 212.
[0057] Memory 204 is implemented as one or more memory units providing random access memory (RAM) to the aerosol generating device 102. In the illustrated embodiment, memory 204 is volatile memory in the form of on-chip RAM integrated with the CPU 202, for example, using a system-on-chip (SoC) architecture. However, in other embodiments, memory 204 is isolated from the CPU 202. Memory 204 is configured to store instructions and data executed and processed by the CPU 202. Typically, only selected elements of instructions and data are stored in memory 204 at a time, and these selected elements define instructions and data essential to the operation of the aerosol generating device 102 running at a particular time. In other words, instructions and data are temporarily stored in memory 204 while a particular process is being processed by the CPU 202.
[0058] Storage 206 is provided integrally with the aerosol generating device 102 in the form of non-volatile memory. In most embodiments, storage 206 is integrated on the same chip as the CPU 202 and memory 204 using an SoC architecture, implemented as a multiple-time programmable (MTP) array. However, in other embodiments, storage 206 is embedded or external flash memory, etc. Storage 206 stores instructions and data executed and processed by the CPU 202. Storage 206 stores instructions and data permanently or semi-permanently until, for example, it is overwritten. That is, instructions and data are stored in storage 206 non-temporarily. Typically, the instructions and data stored in storage 206 relate to basic instructions for the operation of the CPU 202, communication interface 208, user interface 212, and aerosol generating device 102, and more generally, to applications that perform higher-level functions of the aerosol generating device 102.
[0059] The communication interface 208 supports short-range wireless communication, particularly Bluetooth® communication. The communication interface 208 is configured to establish a short-range wireless communication connection 116 with the personal computing device 104. The communication interface 208 is coupled to the antenna 210, and wireless communication from the antenna 210 is transmitted and received via the short-range wireless communication connection 116. The communication interface 208 is also configured to communicate with the CPU 202 via the communication bus 214.
[0060] The user interface 212 comprises a display 220 and an input device 222. In this embodiment, the display 220 is a plurality of separate indicators, such as light-emitting diodes (LEDs). In other embodiments, the display 220 is a screen, such as a thin-film transistor (TFT) liquid crystal display (LCD) display or an organic light-emitting diode (OLED) display, or other suitable display. The input device 222 is one or more user-operable buttons that respond to user press, toggle, or touch. The user interface 212 is configured to provide instructions to the user under the control of the CPU 202, receive input from the user, and transmit these inputs to the CPU 202 via a communication bus 214.
[0061] The aerosol generating device 102 may be described as a personal inhaler device, an electronic cigarette (or e-cigarette), a vaporizer, or an inhalation device. In one particular embodiment, the aerosol generating device 102 is a heated-non-combustion (HnB) device. All of these devices generally generate an aerosol for inhalation by heating or warming an aerosolizable substance, as opposed to burning tobacco as in conventional tobacco products.
[0062] More specifically, the aerosol generating device 102 is configured to use an associated heating element 216 to heat a consumable 217 inserted into a consumable module 218 to generate an inhalable aerosol or vapor for the user to inhale. In this embodiment, the consumable module 218 is intended to receive the consumable 217 in the form of a rod containing processed tobacco material (e.g., a crimped sheet or oriented strip of reconstituted tobacco (RTB) paper impregnated with a liquid aerosol-forming agent). The liquid aerosol-forming agent in this embodiment contains vegetable glycerin (VG), but may also be a mixture of propylene glycol (PG) and VG or other humectants, such as Begetol (13-propanediol), the use of which may be advantageous in this embodiment because it works well with nicotine-containing aerosol formulations over a range of different temperatures of the heating element, and the use of such a humectant that works well over a range of operating temperatures is beneficial in order to provide this embodiment with the possibility for the user to adjust the operating temperature in a convenient manner. This advantage applies to all kinds of embodiments (e.g., liquid vaporizing e-cigarettes, as well as heated non-combustion type devices), and it should be noted that the advantageous use of Begetol is not limited to any particular type of aerosol generating device. In this embodiment, consumable 217 uses pure VG, which contains no flavorings or nicotine. Instead, volatile flavorings and nicotine derived from RTB evaporate simultaneously with the aerosol-forming agent and are incorporated into the condensed aerosol resulting from inhalation by the user. However, in other embodiments, consumable 217 has an aerosol-forming agent containing nicotine and other flavorings. In such cases, consumable 217 typically comprises a mousse formed with other solid porous material for absorbing the aerosol-forming agent liquid, e.g., a gelling agent, and a suitable binder, which may or may not contain tobacco.
[0063] The consumable module 218 has a detector 219 for detecting consumables 217 inserted into the consumable module 218. The detector 219 is operable to identify the type of consumable 217 inserted into the consumable module 218 and to determine whether the inserted consumable 217 is suitable for use in the aerosol generating device 102. In this embodiment, the consumable module 218 achieves this by detecting a mark on the consumable 217 (e.g., a printed barcode or RFID chip or NFC tag).
[0064] In an alternative embodiment, the consumable 217 is a capsule containing an aerosol-forming agent, which is stored in a storage container and has a vaporization chamber, thereby heating the liquid from the storage container by the heating element 216 (for example, via a wick, or via a heat transfer element, or via a dose element that transports a small amount of liquid aerosol-forming agent to a heated vaporization surface heated by the heating element 216). Preferably, the aerosol-forming agent contains VG or a PG / VG mixture together with nicotine and / or a flavoring.
[0065] In another alternative embodiment, the aerosol generating device 102 does not include a heating element 216, but instead powers a consumable 217 which itself contains a heating element (for example, the consumable is a "cartomizer"). In such a case, the cartomizer includes a liquid reservoir for storing the aerosol forming agent, which is also preferably formed of VG or a PG / VG mixture with nicotine and / or flavorings.
[0066] The aerosol generating device 102 may further include a capsule downstream of the cartomizer or vaporization chamber, the capsule also containing treated tobacco granules that impart flavor and / or nicotine to the condensed aerosol as it passes through the capsule before leaving the aerosol generating device 102 for inhalation by the user.
[0067] The aerosol generating device 102 is configured to run multiple software modules. These software modules include an operating system 226, a short-range wireless communication controller 228, and a heating element controller 230. Each software module contains a set of instructions for performing one or more functions of the aerosol generating device 102. The instructions are provided in the form of computer executable code, stored in storage 206 and / or memory 204 and processed by the CPU 202, communication interface 208, and user interface 212.
[0068] In this embodiment, the operating system 226 is an embedded or real-time operating system. Such an operating system is optimized to reduce latency and improve the user experience. The operating system 226 manages the basic functions of the hardware of the aerosol generation device 102 and the operational interactions between the hardware components of the aerosol generation device 102 and the software modules.
[0069] 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, which is currently the dominant specification and is available at www.bluetooth.org.
[0070] The heating element controller 230 is configured to control the heating element 216. The heating element controller 230 is operable to monitor the amount of energy and power (i.e., the rate of energy) supplied to the heating element 216, and the temperature of the heating element 216 (preferably by monitoring the resistance of the heating element 216, which is known to change in a predetermined manner at the temperature of the heating element 216). However, in particular in this embodiment, the heating element controller 230 is configured to receive commands to disable or enable the use of the heating element 216. (Note that in embodiments in which the aerosol generating device 102 itself does not contain the heating element 216 and instead supplies power to a heating element in a consumable 217 (e.g., a cartomizer), the heating element controller 230 then controls the supply of power to the heating element contained in the consumable 217 instead.)
[0071] Referring to Figure 3, the personal computing device 104 comprises a CPU 302, memory 304, storage 306, removable storage 308, communication interface 310, antenna 312, and user interface 314, which communicate with each other via a communication bus 316.
[0072] The CPU 302 is a computer processor, such as a microprocessor. The CPU 302 is configured to execute instructions in the form of computer executable code and processes data in the form of values and strings, including instructions and data stored in, for example, memory 304, storage 306, and removable storage 308. The instructions and data executed and processed by the CPU 302 include instructions and data for coordinating the operation of other components of the personal computing device 104, such as the communication interface 310 and the user interface 314. They also include instructions and data for running applications on the personal computing device 104.
[0073] Memory 304 is implemented as one or more memory units that provide RAM to the personal computing device 104. In the illustrated embodiment, memory 304 is a dynamic RAM (DRAM) memory chip integrated on the motherboard of the personal computing device 104 alongside the CPU 302. However, in other embodiments, memory 304 is provided differently, for example, in an integrated package with the CPU 302, or as a plug-in memory unit. Memory 304 is configured to store instructions and data executed and processed by the CPU 302. Typically, only selected elements of instructions and data are stored in memory 304 at a time, and these selected elements define instructions and data related to the operation of the personal computing device 104 being executed at a particular time. In other words, while a particular process is being processed by the CPU 302, instructions and data are temporarily stored in memory 304.
[0074] Storage 306 is provided integrally with the personal computing device 104 in the form of non-volatile memory. Storage 306 comprises a memory unit integrated on the motherboard of the personal computing device 104, typically including read-only memory (ROM), flash memory, and / or cache memory. In the illustrated embodiment, removable storage 308 is also provided, but this is optional. Removable storage 308 is also non-volatile memory, typically in the form of a microsecure digital (SD) card or several other portable flash memory devices. Storage 306 and removable storage 308 are configured to store instructions and data used by the personal computer 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 in 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 related to applications installed or installable on the personal computing device 104, including those that perform the methods described below.
[0075] The communication interface 310 comprises a short-range wireless communication interface and a cellular wireless communication interface, and is coupled to the antenna 312. The short-range wireless interface is configured to establish a short-range wireless communication 116, for example, a Bluetooth® connection, with the aerosol generating device 102, and to establish another short-range wireless communication connection 118, for example, a Wi-Fi® connection, with the access point 110. The cellular wireless communication interface is configured to establish a cellular wireless communication connection 120 to the internet 112 using the appropriate protocol described above. Thus, the communication interface 210 comprises one or more wireless modems suitable for supporting different communication connections 116, 118, and 120 (see Figure 1). In another embodiment, the communication interface 310 also includes a wired communication interface. The wired communication interface can be used to provide a wired communication connection to the access point 110, for example, an Ethernet or Universal Serial Bus (USB) connection (not shown).
[0076] The user interface 314 comprises a display 318 and an input device 320. In this embodiment, the display 318 and the input device 320 are implemented together as a touch-sensitive screen. The display 318 is a thin-film transistor (TFT) liquid crystal display (LCD) display, an organic light-emitting diode (OLED) display, or another suitable display. The input device 320 is a capacitive layer provided on top of the display 318, configured to detect user touches. The user interface 314 is configured to display information to the user under the control of the CPU 302 and to transmit user input obtained from the user touching the input device 320 to the CPU 302 via a communication bus 316.
[0077] The personal computing device 104 is configured to run multiple software modules. These software modules include an operating system 328, a web browser 324, a native application 326, a progressive web application (PWA) 328, and a wireless communication controller 330. Each software module contains a set of instructions for performing one or more functions of the personal computing device 104. The instructions are provided in the form of computer executable code, stored in storage 306, removable storage 308, and / or memory 304, and processed by the CPU 302, communication interface 310, and user interface 314.
[0078] In this embodiment, the personal computing device 104 is a smartphone whose operating system 322 is the Android® operating system. However, several other operating systems, such as Apple® iPhone® OS (iOS) and Microsoft® Windows® 10, are suitable alternatives. The operating system 322 manages the basic functions of the hardware of the personal computing device 104 and the operational interactions between the hardware components and software modules of the personal computing device 104.
[0079] The web browser 324 is configured to download and process web resources from the internet 112 and render them on the display 318 as needed. The web browser 324 is also configured to cache the downloaded web resources in the memory 304 and storage 306 of the personal computing device 104. Typically, the web browser 324 downloads hypertext markup language (HTML), JavaScript, cascading style sheets (CSS), and image files. These web resources are processed to display information such as web pages on the display 318 of the user interface 314. In this embodiment, the web browser 324 is Google Chrome®, but this is not required, and in other embodiments, the web browser may be, for example, Safari®, Firefox®, or Microsoft Edge®. Alternatively, the web browser 324 may be a web browser specifically designed to handle PWAs, offline web pages, or other web-based technologies such as Electron® developed by GitHub®.
[0080] The web browser 324 has browser storage 332. Physically, browser storage 332 is effectively part of memory 304 or storage 306. More importantly, however, the operating system 322 and the web browser 324 are configured to provide browser storage 332 as part of memory having specific operational characteristics. Specifically, browser storage 332 is storage in which stored data persists after the session of the web browser 334 ends or after the web browser 334 stops executing. In some embodiments, browser storage 332 is implemented as web storage so that its language is understood under, for example, the Hypertext Markup Language 5 (HTML5) standard. More specifically, browser storage 332 is local storage. Local storage data (unlike cookies) is not automatically sent to the web server in all requests or interactions with the web server, nor can it be directly written by the web server. Local storage is distinct from session storage, exists per window or tab origin, and does not persist after the session ends or after the tab or window is closed. Local storage is available, for example, in HTML5. Browser storage 332 is stored in a file of the web browser 334 (for example, a file that stores user preferences and other configurations).
[0081] The native application 326 is configured to manage the execution of the web browser 324 and the PWA 328. In particular, the native application 326 is configured to modify the functionality of the web browser 324 so that it can handle calls made by the PWA 328 to communicate with the aerosol generating device 102 via the short-range wireless communication connection 116. In this embodiment, this is achieved by the native application 326 providing resources, such as JavaScript and / or Swift code. The resources specify, for example, how the PWA 328 should generate calls within the web browser 324 using the Web Bluetooth® Application Programming Interface (API), and how they should bring about corresponding commands to be processed by the native application 326 using, for example, the Bluetooth® API. The commands are configured to cause the wireless communication controller 320 to perform a specific action, such as setting up the short-range wireless communication connection 116 (e.g., a Bluetooth® connection) or sending and receiving messages via the short-range wireless communication connection 116. In this way, the native application 326 provides seamless communication between the PWA 328 and the wireless communication controller 330.
[0082] It will be understood that the native application 326 can generally access the hardware and peripherals of the personal computing device 104 via the operating system 322. The hardware and peripherals include the communication interface 310, storage 306, removable storage 308, and user interface 314, as well as a camera, microphone, etc. (not shown). Therefore, the native application 326 can provide communication not only between the communication interface 310 but also between the PWA 328 and other hardware and peripherals of the personal computing device 104.
[0083] The native application 326 is typically programmable using a software development kit (SDK). By using an appropriate SDK, the native application 326 can be configured to have the functions described above. In particular, the native application 326 can be configured to interface with the operating system 322 and appropriate software drivers in order to control the hardware and peripherals of the personal computing device 104 as needed and to provide resources to the web browser 324.
[0084] The web browser 324 is configured to download, store, and execute the PWA 328. The PWA 328 typically includes Hypertext Markup Language (HTML), JavaScript, Cascading Style Sheets (CSS), JavaScript Object Notation (JSON), Extended Markup Language (XML), image files, or other files of the PWA 328. The files of the PWA 328 are first downloaded from the web server 422 of the remote server 114, for example, in the form of instructions and data, and then stored in the browser storage 332. In an alternative embodiment, the files of the PWA 328 are stored in storage 306, memory 304, and / or other locations in the cache of the CPU 302.
[0085] Generally, PWAs provide a way for users to benefit from similar functionality to that offered by native applications. However, PWAs are limited in that they do not necessarily have access to certain functions, data structures, and interfaces of personal computing devices on which they can run. For example, the methods for accessing some functions, data structures, and interfaces of personal computing device 104 are defined in the SDK for native application 326 and cannot be accessed through the web browser 324 that PWA 328 runs on. In some cases, indirect access to certain hardware and peripherals is still possible for PWAs via web APIs. However, there are many exceptions to this, and the utility of web APIs varies from device to device. In particular, even if PWA 328 is configured to receive messages or data received by personal computing device 104 via the web Bluetooth® API and similarly send messages or data to aerosol generating device 102 connected to personal computing device 102 via the Bluetooth® web API, this is not effective unless personal computing device 102 is configured to function with the web Bluetooth® API. This configuration is provided by the native application 326.
[0086] The wireless communication controller 330 is primarily configured to control the communication interface 310. The wireless communication controller 330 is operable to establish a short-range wireless connection 116 via the communication interface 310. In this embodiment, the short-range wireless communication connection 116 is a Bluetooth® connection. As a result, the wireless communication controller 330 includes instructions in accordance with the Bluetooth® wireless communication standard, which is available at www.bluetooth.org and for which Bluetooth 5.0 is currently the dominant specification.
[0087] The wireless communication controller 330 includes any hardware drivers necessary to control the Bluetooth® module (which is part of the communication interface 310), as well as the Android® Bluetooth® API, which allows the native application 326 to access and control the Bluetooth® module of the communication interface 310 (for example, in response to a call to the Web Bluetooth® API by PWA328).
[0088] Referring to Figure 4, the remote server 114 comprises a CPU 402, memory 404, storage 406, user database 408, communication interface 410, and user interface 412, which communicate with each other via a communication bus 414.
[0089] The CPU 402 is a computer processor, such as a microprocessor. The CPU 402 is configured to execute instructions in the form of computer executable code and processes data 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 the CPU 402 include instructions and data for coordinating the operation of other components of the remote server 114, such as the user database 108, the communication interface 410, and the user interface 412. They also include instructions and data for running applications on the remote server 114.
[0090] Memory 404 is implemented as one or more memory units providing RAM to the remote server 114. In the illustrated embodiment, memory 404 is a DRAM memory unit mounted on the motherboard of the remote server 114 alongside the CPU 402. However, in other embodiments, memory 404 is provided differently, for example, as a memory chip integrated with the motherboard or CPU 402. Memory 404 is configured to store instructions and data executed and processed by the CPU 402. Typically, only selected elements of instructions and data are stored in memory 404 at a time, and these selected elements define instructions and data related to the operation of the remote server 114 being executed at a particular time. In other words, while a particular process is being processed by the CPU 402, instructions and data are temporarily stored in memory 404.
[0091] The storage 406 comprises a hard disk drive or flash drive installed in the remote server 114 or as a separate storage unit accessible from the remote server 114. The user database 408 may be implemented using the storage; that is, the user database 408 is typically part of the data stored by the storage 406, for example. However, in other embodiments, the user database 408 is separated from the storage, for example, comprising a separate hard disk drive or storage unit. The storage 406 is configured to store instructions and data used by the remote server 114. The storage 406 stores the instructions and data permanently or semi-permanently, for example, until overwritten. Typically, the elements of instructions and data stored by the storage 406 include instructions and data essential to the basic operation of the remote server 114, as well as instructions and data related to applications installed or installable on the remote server, including those 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 users and aerosol generating devices 102.
[0092] The communication interface 410 includes a wired communication interface configured to connect to the Internet 112. The wired communication interface typically connects to the Internet 112 via an access point (not shown) and an Internet service provider (ISP), for example, via an Ethernet or Universal Serial Bus (USB) connection (not shown) and a suitable modem.
[0093] The user interface 412 includes a display 416 and an input device 418. In this embodiment, the display 416 is a computer monitor, and the input device 418 is a keyboard and mouse.
[0094] The remote server 114 is configured to run multiple software modules. The software modules include an operating system 420 and a web server 422. Each software module includes a set of instructions and data for performing one or more functions of the remote server 114. The instructions are provided, for example, in the form of computer executable code, and the data is stored in memory 404 and storage 406, for example, in the form of values or strings, and executed or processed by the CPU 402.
[0095] In this embodiment, the operating system 420 is a server-optimized operating system, such as those provided by Linux® and Microsoft® Windows®. The operating system 420 manages the basic functions of the hardware of the remote server 114 and the operational interactions between the hardware components of the remote server 114 and software modules. In some embodiments, the web server 422 is implemented as part of the operating system 420, for example, as a function or module of the operating system 420. In other embodiments, the web server 422 is an application that runs on the remote server 114 or at a remote site under the control of the further remote server 114. The web server 422 is configured to provide the personal computing device 104 with files for running the PWA 328 upon request. The web server 422 also provides a portal for managing the interactions between the personal computing device 104 (and the aerosol generating device 102) and the user database 408.
[0096] Referring to Figure 5, the method 500 for launching PWA328 includes the user first interacting with the user interface 314 of the personal computing device 104 to provide input indicating that the user wishes to open PWA328. In one embodiment, when the user first purchases the aerosol generating device 102, the user is prompted to download and install PWA328. In this embodiment, the user uses the web browser 324 of the personal computing device 104 to access a URL that resides on the package or user interface 212 of the aerosol generating device 102. The URL points to a website hosted on the web server 422 of the remote server 114. In one embodiment, access to the URL is achieved by the user operating the personal computing device 104 to scan a barcode encoding the URL. Specifically, the barcode may be a 2D barcode. Alternatively or additionally, the URL is presented in plain text for the user to type into the web browser 324 of the personal computing device 104.
[0097] More specifically, the user is typically prompted by the packaging of a newly purchased aerosol generating device 102 to visit a specific website related to the personal computing device 104. On the website, the user is given instructions on how to download a native application 326 from a repository suitable for any type of operating system (e.g., Android®) used by the user's personal computing device 104. Once the user follows these instructions and downloads and installs the native application 326, the user is prompted to launch the native application 326 and navigate from within the native application 326, or more specifically, from within a web browser 324 launched under the control of the native application, to the website specified from where the PWA 328 was downloaded. The download of the PWA 328 from within the native application 326 may be initiated automatically once a URL is selected, or following further input from the user, for example, by the user double-clicking the relevant icon on the user interface 314 of the personal computing device 104. If PWA328 has not been previously accessed from a particular personal computing device 104 and / or is not installed on the personal computing device 104, an icon may appear in the web browser 324. That is, the user first navigates to a web page containing the icon, which is provided to the personal computing device 104 by the web server 422. Once the files for running PWA328 are downloaded from the web server 422, the PWA can be launched.
[0098] During the subsequent launch of PWA328, the icon is typically displayed on the home screen element of the personal computing device 104. When this icon is selected by the user, the personal computing device 104 receives input in step 502 indicating that the user wishes to launch PWA328. In response to the user input, the personal computing device 104 launches a native application 326 on the personal computing device 104 in step 504, rather than launching PWA328 directly. The native application 326 then launches (or restarts) the web browser 324 in step 506. The native application 326 then loads the files for launching PWA328 in step 508, and launches PWA328 on the web browser 324 in step 510.
[0099] It will be understood that the native application 326 allows the user to initiate the launch of the PWA 328 via the user interface 314 using this method. However, in some embodiments, the native application 326 may launch the PWA 328 automatically (i.e., without explicit interaction from the user) for subsequent launches of the PWA 328, especially if the files for running the PWA 328 have already been downloaded and stored (cached) in the browser storage 324 of the web browser 324. In such cases, it is preferable that the user has some way of preventing the automatic launch of the PWA 328, for example, by clearing the stored files necessary to run the PWA 328 from the browser storage 324, or by changing the settings associated with the native application 326, or by some other suitable mechanism, where the user should choose to do so.
[0100] To launch PWA328, the native application 326 first launches the web browser 324 in step 506. More specifically, instead of launching the web browser 324 in a standard manner on the personal computing device 102, the native application 326 launches the web browser 324 in a modified manner, for example, as if the user had initiated the launch of the web browser 324 themselves. Specifically, the native application 326 launches the web browser 324 which has the appropriate functionality to support PWA328. This includes the native application 326 adding resources to the web browser 324 in the form of JavaScript code (or, in other embodiments, Python or another appropriate computer language). The resources are generally part of the software of the native application 326. In other embodiments, they may be stored on the web server 422 and accessed by the native application 326, for example, when PWA328 is downloaded from the web server 422. The resources may be specific to the operating system 322 of the personal computing device 104; for example, resources provided for Android® may differ from resources provided for iOS®. Resources are added to the web browser's library as objects. More specifically, they are added as part of the PWA's document object model.
[0101] PWA328 is launched on the web browser 324 in steps 508 and 510 by the web browser 324 being directed to the PWA328's uniform resource locator. If it is the first time the web browser 324 opens a URL, the web browser 324 uses the URL to download the files for running PWA328 from the remote server 114. The files for running PWA328 are received from the remote server 114 via the internet 112. In this embodiment, the files for running PWA328 are received from the remote server 114 via a long-range communication connection 120. In an alternative embodiment, the files for running PWA328 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 PWA328 in step 510 and stores the files for running PWA328 in the web browser 324's browser storage 332 in step 512. In other embodiments, the files required for the PWA328 are stored elsewhere in the storage 306 of the personal computing device 104.
[0102] If PWA328 (for example, the set of files required for PWA328) has already been downloaded, the web browser 324 retrieves the files for running PWA328 from browser storage 332, or from another location in the storage 306 or memory 304 of the personal computing device 104. In this scenario, there is no need to remember the files again, and therefore step 512 is shown as optional in Figure 5.
[0103] The files required to run PWA328 include one or more of the following: Hypertext Markup Language (HTML), JavaScript, Cascading Style Sheets (CSS), JavaScript Object Notation (JSON), Extended Markup Language (XML), images, or other PWA-related files. These files may be compressed and may need to be decompressed. The files required to run PWA328 may be minified and / or obfuscated.
[0104] Referring to Figures 6A and 6B, Method 600 for establishing a short-range wireless communication connection 116 with one of the aerosol generating devices 102 and storing configuration information of the aerosol generating device 102 includes, in step 602, first starting the PWA 328 using Method 500 for starting the PWA 328 as described above with reference to Figure 5. Then, using the PWA 328, in step 604, the user initiates a command to scan for nearby aerosol generating devices 102. The user initiates a command to scan for nearby aerosol generating devices 102 by interacting with the PWA 328 via the user interface 314 of the personal computing device 104. In this embodiment, the user initiates the scan by selecting an icon within the PWA 328 displayed by the web browser 324. In an alternative embodiment, the PWA328 scans the aerosol generating device 102 when the PWA328 starts, at specific times after the PWA328 has started, periodically, at set times throughout the day, when a timer is triggered, when requested by the remote server 114, or when requested by the aerosol generating device 102.
[0105] The PWA328 provides a call to initiate a scan. In this embodiment, the PWA328 uses the short-range wireless communication capabilities of a web browser, such as the Web Bluetooth® API, to generate the call. The call can roughly be structured in JavaScript® as follows:
[0106]
number
[0107] Since the web browser 324 does not inherently include the functionality to communicate with the wireless communication controller 330, such calls would routinely be rejected by the web browser 324. However, when the native application 326 launches the web browser 324, the modified form of the web browser 324 can respond to the call by using the functionality added to the web browser 324 by the native application 326.
[0108] More specifically, this code causes the web browser 324 to access an object found in its directory at "navigator.bluetooth.requestDevice". In this embodiment, that object is JavaScript previously injected by the native application 326 when the web browser 324 is launched. This code can roughly be structured as follows in JavaScript®:
[0109]
number
[0110] Therefore, when PWA328 generates a call to scan the aerosol generating device 102, the web browser 324 processes the call using the object found in that directory in the appropriate place, for example using the code above. This code serves to provide backing to the web browser 324. It also prompts 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 that defines the command to the native application 326 could roughly look like this:
[0111]
number
[0112] The native application 326 receives a command and uses it to start the wireless communication controller 330 to scan the aerosol generating device 102. Upon receiving the command, the native application 326 executes the following code using the wireless communication controller 330.
[0113]
number
[0114] 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. In discoverable mode, any aerosol generating device 102 that is within range (or already paired with the personal computing device 104) and has a short-range wireless communication interface of the same protocol as the personal computing device 104 will respond. The aerosol generating device 102 will respond using 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.
[0115] Configuration information for each aerosol generating device 102 is received by the wireless communication controller 330 of the personal computing device 104, and then in step 606, is transmitted to or retrieved by the PWA 328. More specifically, in this embodiment, the native application 326 receives a response from the wireless communication controller 330 which roughly includes the following Swift code.
[0116]
number
[0117] It will be apparent that the PWA 328 calls the Web Bluetooth® API to perform tasks such as scanning for devices via the short-range wireless communication connection 116, or writing or receiving messages or data between aerosol generating devices 102. In this embodiment, this is done in a way that is independent of which application actually supports the Web Bluetooth® API, i.e., the (unmodified) web browser 324 as appropriately modified by the native application 326 or the web browser 324. Preferably, the native application 326 is configured to determine whether the web browser 324 can handle the Web Bluetooth® API call (in the desired way), and in that case, there is no need to apply code to modify the web browser 324 to be able to handle the Web Bluetooth® API call (unless there is a need to handle it in a non-standard way for some reason, which would still allow the web browser 324 to be modified by effectively overriding the standard functions for handling the Web Bluetooth® API call and performing the desired non-standard action). This function is preferably handled by having the native application 326 query the web browser 324 for its name and version (in terms of how much to change the existing behavior of the web browser 324), and then comparing this with a lookup table that specifies the correct action to take depending on the name and version of the web browser 324, the operating system 322, or the personal computing device 104 itself.
[0118] Using all the configuration information of the received (610) aerosol generating device 102, the personal computing device 104 displays a list of all candidate aerosol generating devices 102 on the user interface 312 in step 608.
[0119] The user selects one or more candidate aerosol generating devices 102 to interact with. (Note that in an alternative embodiment, if only one aerosol generating device 102 is identified as being within range and it is one that the user has previously selected from the PWA 328, the PWA 328 will automatically select that aerosol generating device 102 without requiring confirmation from the user, and thus effectively skip the display of the list and the reception of the user selection, and instead proceed directly from the reception of configuration information 610 to the setup of the short-range wireless communication connection 116 with the aerosol generating device 102, as will be described in more detail below.) The selection is received by the user device 102 in step 610.
[0120] In step 612, the PWA328 causes the personal computing device 104 to open a short-range communication connection 116 with the selected aerosol generating device 102. The short-range wireless communication connection 116 is set up using some or all of the configuration information of the selected aerosol generating device 104. In this embodiment, the consumer device identifier is used to set up the short-range wireless communication connection 116. In this embodiment, the MAC address of the selected aerosol generating device 102 is the consumer device identifier.
[0121] Further configuration information may include any one or more of the following pieces of information that describe the function of the aerosol generating device 102. • Generic Attribute Profile Service (GATT) information, GATT UUID, ·GATT characteristics, • Authentication information, • Capsule information, Device settings, • Event information, and / or ·Suction information.
[0122] Capsule information relating to embodiments in which the aerosol generating device 102 employs a consumable 217 in the form of a capsule or atomizer containing a reservoir of the electronic liquid to be vaporized may include an estimated number of puffs remaining in the capsule and the amount of electronic liquid and / or nicotine remaining in the capsule. The capsule information is updated periodically, for example, after all puffs and / or when the user changes capsules.
[0123] In this embodiment, device settings include sleep time and maximum puff duration. Event information includes malfunction events, overheating events, and dry inhalation events. Inhalation information includes information on whether the user is using the aerosol generating device 102. Inhalation information may further include information on duration, temperature, and capsule information.
[0124] The native application 326 receives information indicating the functionality of the aerosol generating device 102. This information is passed from the native application 326 to the PWA 328 via the web browser 324. The information is received by the PWA 328 and can be used by the PWA 328. For example, some or all of the information may be displayed to the user by the PWA on the display 318 of the user interface 314 of the personal computing device.
[0125] The consumer device identifier is stored in the browser storage 332 of the web browser 324 in step 612. All or part of the information indicating the functionality of the aerosol generating device 102 may also be stored in the browser storage 332 of the web browser 324. Storage is performed by the PWA 328 and / or the web browser 324. In some embodiments, the information is time-stamped with the current time.
[0126] Referring to Figure 7, a method 700 for initiating a short-range wireless communication connection 116 between a personal computing device 104 and an aerosol generating device 102 is shown. For example, after a short-range wireless communication connection 116 between a personal computing device 104 and an aerosol generating device 102 has been closed, which has already been established using the method described with reference to Figures 6A and 6B, it can be restarted using the method described with reference to Figure 7.
[0127] First, in step 702, PWA328 is launched on the personal computing device 104 using the method 500 for launching PWA328 described above, with reference to Figure 5.
[0128] The browser storage 332 of the web browser 324 stores one or more consumer device identifiers. In step 704, the PWA 328 accesses the consumer device identifiers from the browser storage 332. Then, in step 706, the aerosol generating device 102 to connect to is determined. In this embodiment, the consumer device identifiers stored in the browser storage 332 are presented to the user on the user interface 312 of the personal computing device 104. The user selects the aerosol generating device 102 to connect to. If there is only one aerosol generating device 102, that aerosol generating device 102 is selected by the user (or may be automatically selected on behalf of the user).
[0129] In this embodiment, the user interface 310 displays, for example, a user-friendly name of the aerosol generating device 102 associated with the consumer device identifier, such as an icon. When the user interacts with the name or icon of the aerosol generating device 102, the consumer device identifier associated with the aerosol generating device 102 is selected. In another embodiment, the consumer device identifier itself is displayed.
[0130] In step 708, the consumer device identifier corresponding to the determined or selected aerosol generating device 102 is retrieved by the PWA 328 from browser storage 332. The PWA 328 uses the consumer device identifier to cause the personal computing device 104 to initiate a short-range wireless communication connection 116 with the determined or selected aerosol generating device 102 in step 710. It will be understood that the consumer device identifier has been retained in browser storage 332 since the last time the PWA 328 was used, in order to establish the short-range wireless communication connection 116 via the web browser 324 and native application 326. Even if the web browser 324 and native application 326 themselves are closed, for example, if they terminate or stop running, the consumer device identifier remains in browser storage. This allows the short-range wireless communication connection 116 to be initiated directly by re-establishing the short-range wireless communication connection, for example, using the method 600 described with reference to Figures 6A and 6B, without needing to retrieve the consumer device identifier from the aerosol generating device 102 again.
[0131] In this embodiment, the consumer device identifier is a Bluetooth® MAC address and is used to initiate a short-range wireless communication connection 116. To initiate the short-range wireless communication connection 116, the PWA 328 generates a call. This call is intended to cause the personal computing device 104 to establish a short-range wireless communication connection 116 with the aerosol generating device 102. The web browser 324 processes the call using the appropriate object found in its directory in the appropriate location. The object's code functions to provide backing to the web browser 324. The object's code also causes the web browser 324 to provide Swift code to the native application 326 so that the web browser 324 effectively translates the call into a command to the native application 326. The native application 326 receives the command and uses it to cause the wireless communication controller 330 to open a short-range wireless communication connection 116 with the aerosol generating device 102.
[0132] Referring to Figure 8, a method 800 is shown for transmitting information about the function of the aerosol generating device 102 to the remote server 114.
[0133] Using a short-range wireless communication connection 116 between the personal computing device 104 and the selected aerosol generating device 102 which has already been established and / or started, the personal computing device 104 receives information indicating the functionality of the selected aerosol generating device 102 from the selected aerosol generating device 102 via the short-range wireless communication connection 116 in step 802.
[0134] In this embodiment, the information indicating the function of the selected aerosol generating device 102 may include any one or more of the following: Identification information of the aerosol generating device 102, such as the model and serial number, and / or type of the aerosol generating device 102. • Type and identification information of any consumables 217 installed in the aerosol generating device 102, • The status of the aerosol generating device 102 and / or consumables 217 (if any), such as the battery level of the aerosol generating device 102 and the current settings of the aerosol generating device 102 (e.g., target temperature setting or "vapor volume" level setting), as well as information regarding the capacity of consumables 217 (e.g., the number of puffs remaining before consumables 217 are considered expired), the amount of liquid remaining in consumables 217 if a liquid reservoir is included, and / or details regarding the amount of consumables 217 that have been used (see below), and / or • Information regarding the use of the aerosol generating device 102 since the time prior to when such information was successfully transmitted to the remote server 114 and / or PWA328.
[0135] In step 804, information indicating the function of the selected aerosol generating device 102 is stored in the browser storage 332 of the web browser 324. In this embodiment, information indicating the function of the selected aerosol generating device 102 is also transmitted to the remote server 114 via the internet 112 in step 808. In particular, information indicating the function of the selected aerosol generating device 102 is transmitted to the remote server 114 via the long-range wireless communication connection 120. In another embodiment, information indicating the function of the aerosol generating device 102 is transmitted to the remote server 114 via the short-range wireless communication connection 118 via the access point 110 (810).
[0136] In this embodiment, the transmission of information indicating the functionality of the selected aerosol generating device 102 is not forwarded until, in step 806, it is determined that a connection to the remote server 114 is available. This determination is made by the personal computing device 104 attempting to connect to the remote server 114 via the internet 112. If it is determined that a connection to the remote server 114 is available, the transmission of information indicating the functionality of the selected aerosol generating device 102 is sent to the remote server 114. Note that in an alternative embodiment, some of the information indicating the functionality of the aerosol generating device 102 is transmitted only to the personal computing device 104 if the personal computing device 102 determines that a connection to the remote server 114 is available and communicates it 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, or only in that case. This is particularly true for any relatively large amount of data (for example, puff data history related to the user's use of the aerosol generating device 102, which may favorably include one or more of the following: the time and duration of each puff taken by the user, the target temperature setting at which each puff was taken, and, if applicable, the location of the aerosol generating device 102 at which each puff was taken). In particular, large batches of such data may only be stored on the personal computing device 102 until they are successfully transmitted to the remote server 114. Thus, an exemplary process flow is outlined below.In the aerosol generating device 102, confirmation is received from the personal computing device 104 that device 104 has a connection to an available remote server 114, and a large information batch is sent from device 102 to the personal computing device 104, and the large information batch is transferred from the personal computing device 104 to the remote server 114, and in the personal computing device 104, confirmation is received from the remote server 114 that the large information batch has been successfully received, and confirmation is sent from the personal computing device 104 to the aerosol generating device 102 that the large information batch has been successfully sent to the remote server 114, and the large information batch that was successfully sent is deleted from the aerosol generating device 102.
[0137] In a particularly preferred embodiment, the consumable 217 is a cartomizer including a memory for storing data relating to the consumable 217, which includes an identifier for the consumable 217, information about the consumable 217, and preferably information such as the flavor of the consumable 217, the nicotine strength of the consumable 217 (e.g., menthol tobacco flavor at a nicotine concentration of 18 mg / ml), and most preferably information about the amount of liquid that remains available (or is estimated to remain available) in the consumable 217 for consumption by the user. Most preferably, information regarding the estimated amount of liquid remaining in the consumable 217 may also be information regarding the use of the consumable 217 (e.g., information about those puffs, such as the puffs taken while the consumable 217 was being taken, and the settings of the aerosol generating device 102 in the puffs, the duration of the puffs, the energy consumed by the heating element 216 during the puffs, the ambient temperature, or the temperature of the heating element 216 before or at the start of the puffs), which may be aggregated to minimize the memory required to store the data (e.g., the total energy consumed by the heating element while the puffs were taken from the consumable 217, the total duration of all puffs taken at different target temperatures or different vapor volume settings, the mean ambient temperature, or the temperature of the heating element before or at the start of the puffs). It is advantageous to store usage data rather than the actual estimated liquid level remaining, because the server can then use this data to estimate the amount of liquid (or number of puffs) remaining in the consumable 217 using an advanced algorithm that can be improved over time, or to provide the most accurate information, etc., by taking into account information from many sources (which are aggregated to avoid any problems related to the misuse of personal information), rather than relying on the aerosol generating device 102 to perform such an estimation.
[0138] In this embodiment, the personal computing device 104 is further configured to transmit information about the aerosol generating device 102 to the aerosol generating device 102 via a short-range wireless communication connection 116. The information may include one or more of the following: • Settings for the aerosol generating device 102, such as the maximum power level of the heating element 216. • Operation activation message, • User authentication information, and • Firmware update for aerosol generation device 102.
[0139] The embodiments described in this invention are merely examples of how the invention may be carried out. Modifications, variations, and alterations to the embodiments described may be made by persons with the appropriate skills and knowledge. These modifications, variations, and alterations may be made without departing from the claims.
Claims
1. A method of configuring a personal computing device (104) to communicate with an aerosol generating device (102) via a short-range wireless communication connection (116), comprising: A native application (326) launches a web browser (324) on the personal computing device (104); The web browser (324) launches a progressive web application (PWA) (328) on the personal computing device (104); the PWA (328) causing the personal computing device (104) to establish the short-range wireless communication connection (116) with the aerosol generating device (102); storing the instructions and / or data for performing the one or more functions of the PWA (328) in the browser storage (332) of the web browser (324) such that after the web browser (324) is terminated and subsequently relaunched by the native application (326), the web browser (324) can retrieve the instructions and / or data for performing the one or more functions of the PWA (328) from the browser storage (332); The native application (326) launches the PWA (328) for subsequent launches of the PWA (328) based on the instructions and / or data for implementing the one or more functions of the PWA (328) stored in the browser storage (332); A method comprising:
2. The method of claim 1 , wherein the instructions and / or data for implementing the one or more functions of the PWA (328) comprise computer-executable code for executing the PWA (328).
3. 3. The method of claim 2, wherein the computer-executable code for executing the PWA (328) enables the web browser (324) to launch the PWA (328) when the personal computing device (104) is not connected to the Internet.
4. The method of claim 1, wherein the instructions and / or data for performing the one or more functions of the PWA (328) include information that enables the establishment of the short-range wireless communication connection (116) with the aerosol generating device (102).
5. The method of any one of claims 1 to 4, wherein the instructions and / or data for performing the one or more functions of the PWA (328) include a consumer device identifier, and the PWA (328) causing the personal computing device (104) to establish the short-range wireless communication connection (116) with the aerosol generating device (102) includes the PWA (328) obtaining the consumer device identifier of the aerosol generating device (102) from the browser storage (332) of the web browser (324).
6. The method of claim 5, wherein the PWA (328) causing the personal computing device (104) to establish the short-range wireless communication connection (116) with the aerosol generating device (102) includes the PWA (328) using the consumer device identifier of the aerosol generating device (102) to cause the native application (326) to control the personal computing device (104) to establish the short-range wireless communication connection (116).
7. causing the personal computing device (104) to scan one or more candidate aerosol-generating devices (102) using a short-range wireless communication protocol; The method of any one of claims 1 to 6, further comprising receiving a consumer device identifier for each of the one or more candidate aerosol generating devices (102) located near the personal computing device (104).
8. The method of claim 7 , wherein the scanning for the candidate aerosol-generating devices is initiated by the native application.
9. The method of claim 7 or 8, wherein the receiving of the consumer device identifiers of the one or more candidate aerosol generating devices (102) is performed by the native application (326).
10. The method of any one of claims 7 to 9, further comprising transmitting the consumer device identifier of the one or more candidate aerosol generating devices (102) from the native application (326) to the PWA (328).
11. The method of any one of claims 1 to 10, wherein the PWA (328) causes the personal computing device (104) to establish the short-range wireless communication connection (116) with the aerosol generating device (102) includes the PWA (322) determining the aerosol generating device (102) with which to establish the short-range wireless communication connection (116) from one or more candidate aerosol generating devices (102).
12. The method of claim 11, wherein determining the aerosol generating device (102) with which the short-range wireless communication connection (116) should be established includes: causing the personal computing device (104) to display a list of the one or more candidate aerosol generating devices (102); and receiving a user selection of one of the one or more candidate aerosol generating devices (102) as the aerosol generating device (102) with which the short-range wireless communication connection (116) should be established.
13. The method of claim 12, wherein the native application (326) causes the personal computing device (104) to display the list of the one or more candidate aerosol generating devices (102) on the personal computing device (104) and receives the user selection of one of the one or more candidate aerosol generating devices (102) as the aerosol generating device (102) with which to establish the short-range wireless communication connection (116).
14. The method of any one of claims 1 to 13, further comprising receiving, at the personal computing device (104), information from the aerosol generating device (102) indicating the functionality of the aerosol generating device (102) via the short-range wireless communication connection (116).
15. The method of claim 14, further comprising storing the information indicating the capabilities of the aerosol generating device in the browser storage of the web browser.
16. The method of claim 14 or 15, further comprising the personal computing device (104) transmitting the information indicating the capabilities of the aerosol generating device (102) to a remote server (114).
17. 17. The method of claim 16, further comprising: determining whether a communication connection (120) to the remote server (114) is established in the personal computing device (104) by determining that the personal computing device (104) has access to the Internet before transmitting the information indicating the capabilities of the aerosol generating device (102) to the remote server (114); and setting up the communication connection (120) between the personal computing device (104) and the remote server (114) in response to determining that the communication connection (120) to the remote server (114) is not established in the personal computing device (104).
18. 20. The method of claim 17, wherein setting up the communication connection between the personal computing device and the remote server includes having the personal computing device access the Internet.
19. The method of any one of claims 1 to 18, further comprising transmitting information of the aerosol generating device (102) from the personal computing device (104) to the aerosol generating device (102) via the short-range wireless communication connection (116).
20. The method of claim 19, wherein the information of the aerosol generating device (102) includes one or more settings and / or firmware updates of the aerosol generating device (102).
21. The method of any one of claims 1 to 20, further comprising the native application (326) providing resources to the web browser (324), the resources causing the web browser (324) to process the call received by the web browser (324) from the PWA (328) intended for the aerosol generating device (102) by directing a command based on the call to the native application (326), the command causing the native application (326) to communicate with the aerosol generating device (102) via the short-range wireless communication connection (116) to the personal computing device (104).
22. 22. The method of claim 21, wherein the resources include computer code that defines the behavior of the web browser (324).
23. 23. The method of claim 21 or 22, wherein the commands include computer code that defines the behavior of the native application (326).
24. The method of any one of claims 21 to 23, wherein the resource is provided as an object in the web browser (324).
25. The method of any one of claims 21 to 24, comprising providing said resource to a document object model of said PWA (324).
26. The method of any one of claims 21 to 25, wherein the call is for initiating the short-range wireless communication with the aerosol generating device (102), and in response to the call, the native application (326) is configured to return a consumer device identifier received from the aerosol generating device (102) to the web browser (324).
27. 27. The method of claim 26, wherein the consumer device identifier is a media access control (MAC) address of the aerosol generating device (102).
28. The method of any one of claims 1 to 27, wherein the native application (326) causes the personal computing device (104) to communicate with the aerosol generating device (102) via the short-range wireless communication connection (116) by communicating with a wireless communication controller (330) of the personal computing device (104).
29. The method of any one of claims 1 to 28, wherein the short-range wireless communication connection (116) is a Bluetooth connection.
30. A computer program comprising instructions which, when executed by a computer processor (302), cause said computer processor (302) to perform the method of any one of claims 1 to 29.
31. A personal computing device (104) comprising a storage (306) for storing the computer program of claim 30, and a computer processor (302) operable to execute the method of any one of claims 1 to 29.
32. A personal computing device (104) configured to communicate with an aerosol generating device (102) via a short-range wireless communication connection (116), comprising: causing the native application (326) to launch a web browser (324) on the personal computing device (104); causing the web browser (324) to launch a progressive web application (PWA) (328) on the personal computing device (104); the PWA (328) causes the personal computing device (104) to establish the short-range wireless communication connection (116) with the aerosol generating device (102); storing the instructions and / or data for performing the one or more functions of the PWA (328) in the browser storage (332) of the web browser (324) such that after the web browser (324) is terminated and subsequently relaunched by the native application (326), the web browser (324) can retrieve the instructions and / or data for performing the one or more functions of the PWA (328) from the browser storage (332); a processor (302) configured to cause the native application (326) to launch the PWA (328) for subsequent launches of the PWA (328) based on the instructions and / or data for implementing the one or more functions of the PWA (328) stored in the browser storage (332); A personal computing device (104) comprising: