Patent Description:
Many smoking devices have been proposed through the years as improvements upon, or alternatives to, smoking products that require combusting tobacco for use. Many of those devices purportedly have been designed to provide the sensations associated with cigarette, cigar, or pipe smoking, but without delivering considerable quantities of incomplete combustion and pyrolysis products that result from the burning of tobacco. To this end, there have been proposed numerous smoking products, flavor generators, and medicinal inhalers that utilize electrical energy to vaporize or heat a volatile material, or attempt to provide the sensations of cigarette, cigar, or pipe smoking without burning tobacco to a significant degree. See, for example, the various alternative smoking articles, aerosol delivery devices and heat generating sources set forth in the background art described in <CIT>, <CIT>, <CIT>, <CIT>, <CIT>, <CIT>, and <CIT>.

<CIT> discloses a peripheral that communicates with a host according to a protocol such as USB.

<CIT> discloses an electrically heated smoking system for receiving an aerosol-forming substrate that includes at least one heating element for heating the substrate to form an aerosol, a power supply for supplying power to the heating element, electrical hardware connected to the power supply and the heating element, and an interface for establishing a communications link with a host.

<CIT> discloses a method of controlling a device by using radio frequency identification (RFID). The method includes wirelessly reading out by a first device information relating to data stored in a second device from the second device, determining an operation to be performed by the second device based on the read out information, and wirelessly recording a command corresponding to the determined operation into the second device.

Ongoing developments in the field of aerosol delivery devices have resulted in increasingly sophisticated aerosol delivery devices. However, due to factors such as form factor, many aerosol delivery devices have relatively limited user interface mechanisms via which operations of the device may be invoked by a user.

The present disclosure relates to a system and related methods, apparatuses, and computer program products for controlling operation of a device based on a read request.

As used in the specification, and in the appended claims, the singular forms "a", "an", "the", include plural referents unless the context clearly dictates otherwise.

Some example embodiments of the present disclosure relate to a system and related methods, apparatuses, and computer program products for controlling operation of a device based on a read request. These example embodiments may provide several advantages over prior techniques. For example, some embodiments provide a finer level of control over devices offering a more limited user interface. As a further example, in some embodiments in which a protocol, such as Bluetooth, may be used to support a read request that may be used to invoke performance of an operation, the protocol's write handlers may not have to be implemented, thereby reducing programming complexity and saving memory space on devices with relatively limited memory space (e.g., limited random access memory space and/or limited program memory), such as some aerosol delivery devices. Further, whereas a command to write a value may have to be sanitized (e.g., checked for out of bounds errors), a read request that may be used to toggle or otherwise modify a value in accordance with various example embodiments may not need to be sanitized. Additionally, using a read request to invoke performance of an operation may allow remote control of a device that may prohibit a remote device from writing to the device due to security concerns. Further, read requests may be simpler and require less time to format and transmit than a write request, which may provide a faster response time to user commands and may reduce power consumption in the device generating and sending the read request compared to power that may be required to send a write request or other explicit command for performing an operation.

Moreover, use of a read request to invoke performance of an operation by a device in accordance with various embodiments disclosed herein may be used without transferring a program instruction(s) or other instruction for storage/installation on a device, thereby offering an additional level of control over devices having limited memory space. Accordingly, in some example embodiments, a first device may invoke performance of an operation by a second device based on a read request without the second device downloading or storing any program or information from the first device.

The invention relates to invoking performance of an operation by an aerosol delivery device by sending a read request to the aerosol delivery device and to an aerosol delivery device configured to perform an operation in response to receiving such a read request.

Aerosol delivery devices according to the present disclosure may use electrical energy to heat a material (preferably without combusting the material to any significant degree) to form an inhalable substance; such articles most preferably being sufficiently compact to be considered "hand-held" devices. An aerosol delivery device may provide some or all of the sensations (e.g., inhalation and exhalation rituals, types of tastes or flavors, organoleptic effects, physical feel, use rituals, visual cues such as those provided by visible aerosol, and the like) of smoking a cigarette, cigar, or pipe, without any substantial degree of combustion of any component of that article or device. The aerosol delivery device may not produce smoke in the sense of the aerosol resulting from by-products of combustion or pyrolysis of tobacco, but rather, that the article or device most preferably yields vapors (including vapors within aerosols that can be considered to be visible aerosols that might be considered to be described as smoke-like) resulting from volatilization or vaporization of certain components of the article or device. In highly preferred embodiments, aerosol delivery devices may incorporate tobacco and/or components derived from tobacco. As such, the aerosol delivery device can be characterized as an electronic smoking article such as an electronic cigarette.

Aerosol delivery devices of the present disclosure also can be characterized as being vapor-producing articles or medicament delivery articles. Thus, such articles or devices can be adapted so as to provide one or more substances (e.g., flavors and/or pharmaceutical active ingredients) in an inhalable form or state. For example, inhalable substances can be substantially in the form of a vapor (i.e., a substance that is in the gas phase at a temperature lower than its critical point). Alternatively, inhalable substances can be in the form of an aerosol (i.e., a suspension of fine solid particles or liquid droplets in a gas). For purposes of simplicity, the term "aerosol" as used herein is meant to include vapors, gases and aerosols of a form or type suitable for human inhalation, whether or not visible, and whether or not of a form that might be considered to be smoke-like.

Smoking articles of the present disclosure generally include a number of components provided within an outer shell or body. The overall design of the outer shell or body can vary, and the format or configuration of the outer body that can define the overall size and shape of the smoking article can vary. Typically, an elongated body resembling the shape of a cigarette or cigar can be a formed from a single, unitary shell; or the elongated body can be formed of two or more separable pieces. For example, a smoking article may comprise an elongated shell or body that can be substantially tubular in shape and, as such, resemble the shape of a conventional cigarette or cigar. In one embodiment, all of the components of the smoking article are contained within one outer body or shell. Alternatively, a smoking article may comprise two or more shells that are joined and are separable. For example, a smoking article may possess at one end a control body comprising a shell containing one or more reusable components (e.g., a rechargeable battery and various electronics for controlling the operation of that article), and at the other end and removably attached thereto a shell containing a disposable portion (e.g., a disposable flavor-containing cartridge). More specific formats, configurations and arrangements of components within the single shell type of unit or within a multi-piece separable shell type of unit will be evident in light of the further disclosure provided herein. Additionally, various smoking article designs and component arrangements can be appreciated upon consideration of the commercially available electronic smoking articles, such as those representative products listed in the background art section of the present disclosure.

Aerosol delivery devices of the present disclosure most preferably comprise some combination of a power source (i.e., an electrical power source), at least one control component (e.g., means for actuating, controlling, regulating and/or ceasing power for heat generation, such as by controlling electrical current flow from the power source to other components of the aerosol delivery device), a heater or heat generation component (e.g., an electrical resistance heating element or component commonly referred to as part of an "atomizer"), and an aerosol precursor composition (e.g., commonly a liquid capable of yielding an aerosol upon application of sufficient heat, such as ingredients commonly referred to as "smoke juice," "e-liquid" and "e-juice"), and a mouthend region or tip for allowing draw upon the aerosol delivery device for aerosol inhalation (e.g., a defined air flow path through the article such that aerosol generated can be withdrawn therefrom upon draw). Exemplary formulations for aerosol precursor materials that may be used according to the present disclosure are described in <CIT>. and <CIT> Representative types of aerosol precursor components and formulations also are set forth and characterized in <CIT> and <CIT>; <CIT> and <CIT> Other aerosol precursors that may be employed include the aerosol precursors that have been incorporated in the VUSE® product by R. Reynolds Vapor Company, the BLU™ product by Lorillard Technologies, the MISTIC MENTHOL product by Mistic Ecigs, and the VYPE product by CN Creative Ltd. Also desirable are the so-called "smoke juices" for electronic cigarettes that have been available from Johnson Creek Enterprises LLC.

More specific formats, configurations and arrangements of components within the aerosol delivery device of the present disclosure will be evident in light of the further disclosure provided hereinafter. Additionally, the selection of various aerosol delivery device components can be appreciated upon consideration of the commercially available electronic aerosol delivery devices, such as those representative products listed in the background art section of the present disclosure. Further, the arrangement of the components within the aerosol delivery device can also be appreciated upon consideration of the commercially available electronic aerosol delivery devices, such as those representative products listed in the background art section of the present disclosure.

One example embodiment of an aerosol delivery device <NUM> according to the present disclosure is illustrated in <FIG>. As illustrated, the aerosol delivery device <NUM> may include a control body <NUM> and a cartridge <NUM>. In this regard, <FIG> illustrates the control body <NUM> and the cartridge <NUM> respectively in an assembled configuration, wherein the control body and the cartridge are coupled to one another. Various mechanisms may connect the control body <NUM> to the cartridge <NUM> to result in a threaded engagement, a press-fit engagement, an interference fit, a magnetic engagement, or the like.

As illustrated in <FIG>, the control body <NUM> may comprise a plurality of components. For example, the control body <NUM> may include a coupler <NUM>, an outer body <NUM>, a flow sensor <NUM>, a control component <NUM>, an electrical power source <NUM> (e.g., a battery, which may be rechargeable, capacitor, and/or other suitable electrical power source), an indicator <NUM> (e.g., an LED indicator), and an end cap <NUM>. Various element that may be included in a control body are described in <CIT>.

<FIG> illustrates an embodiment of a cartridge, such as the cartridge <NUM>, in an exploded configuration. As illustrated, the cartridge <NUM> may comprise a base <NUM>, a control component terminal <NUM>, an electronic control component <NUM>, a flow director <NUM>, an atomizer <NUM>, a reservoir substrate <NUM>, an outer body <NUM>, a mouthpiece <NUM>, a label <NUM>, and first and second heating terminals 320a, 320b according to an example embodiment of the present disclosure. The atomizer <NUM> may comprise a liquid transport element <NUM> and a heating element <NUM>. The cartridge may additionally include a base shipping plug engaged with the base and/or a mouthpiece shipping plug engaged with the mouthpiece in order to protect the base and the mouthpiece and prevent entry of contaminants therein prior to use as disclosed, for example, in <CIT>. The description included hereinafter provides example configurations of the above-described components and methods of assembly thereof. However, it should be understood that the cartridge <NUM> may be assembled in a variety of manners and may include additional or fewer components in other embodiments. For example, although the cartridge <NUM> is generally described herein as including a reservoir substrate, in other embodiments the cartridge may hold an aerosol precursor composition therein without the use of a reservoir substrate (e.g., through use of a container or vessel that stores the aerosol precursor composition or direct storage therein). In some embodiments, an aerosol precursor composition may be within a container or vessel that may also include a porous (e.g., fibrous) material therein.

It will be appreciated that <FIG> are provided by way of example, and not by way of limitation. In this regard, other arrangements and configurations of components for forming an aerosol delivery device are contemplated within the scope of disclosure.

Having described several example embodiments of aerosol delivery devices that may be used with various example embodiments, several embodiments of a system and related methods, apparatuses, and computer program products for controlling operation of a device based on a read request will now be described. Such example embodiments enable a greater degree of control over devices, such as the aerosol delivery devices described above, that may have a more limited user interface compared to computing devices having fully featured user interfaces.

<FIG> illustrates an example system <NUM> for controlling operation of a device based on a read request in accordance with some example embodiments of the present disclosure. The system <NUM> includes a plurality of computing devices, including Device A <NUM> and Device B <NUM>. Device A <NUM> is configured to invoke performance of an operation by Device B <NUM> by sending a read request to Device B <NUM>, as described further herein. Device B <NUM> is, in turn, configured to perform an operation in response to a read request received from Device A <NUM>, as described further herein.

Device A <NUM> and Device B <NUM> may each be embodied as any computing device that may be configured to communicate with another computing device. In accordance with some example embodiments, Device A <NUM> may be embodied as a computing device offering a user interface with input/output mechanisms enabling a user to input commands for controlling operation of Device B <NUM>. Device A <NUM> is embodied as a mobile communication device, such as a smart phone, personal digital assistant (PDA), tablet computing device, a portable media device, some combination thereof, or the like.

In accordance with some example embodiments, Device B <NUM> may be embodied as a computing device having relatively reduced user interface features, or that may not have any user interface features, and thus that may only provide users with course-grained control of Device B <NUM> through direct interaction with Device B <NUM>. Accordingly, use of Device A <NUM> to provide control inputs for the Device B <NUM> that may be propagated to the Device B <NUM> in the form of corresponding read requests in accordance with various embodiments may provide users with finer-grained control of Device B <NUM>. Device B <NUM> is embodied as an aerosol delivery device, such as the various embodiments of aerosol delivery devices described above with respect to <FIG>.

It will be appreciated, however, that Device B <NUM> is not limited to embodiment as a computing device offering relatively limited user interface features, and may be embodied as a computing device offering more fully featured user interfaces, such as an aerosol delivery device having user interface features, a mobile communication device, personal computer, and/or the like.

Device A and Device B are configured to establish a communication link with each other to enable Device A <NUM> to send a read request to Device B <NUM>. The communication link may be implemented using any wireless or wireline technology configured to enable communication between two computing devices.

For example, in some embodiments, a Bluetooth technology, such as Bluetooth, Bluetooth Low Energy (also known as Bluetooth Smart and Wibree), and/or the like may be used to implement a wireless communication link between Device A <NUM> and Device B <NUM>. Further examples of wireless communication technologies that may be supported by Device A <NUM> and/or Device B <NUM> and used to implement a wireless communication link between Device A <NUM> and Device B in accordance with some embodiments may include various wireless personal area network (WPAN) networking technologies, such as Zigbee, wireless Universal Serial Bus (USB), various Institute of Electrical and Electronics Engineers (IEEE) <NUM> technologies, and/or the like; various wireless local area network (WLAN) technologies, such as Wi-Fi direct, various IEEE <NUM> technologies, and/or the like; an Infrared Data Association (IrDA) and/or other infrared (IR) technology; near field communication (NFC); and/or other wireless communication technology that may be used to convey a read request and/or other information between computing devices.

It will be appreciated, however, that embodiments described with respect to use of Bluetooth and other types of wireless communication links between Device A <NUM> and Device B <NUM> are described by way of example, and not by way of limitation.

Device B <NUM> is configured to provide one or more readable values that Device A <NUM> requests to read (e.g., by sending a read request referencing a value to Device B <NUM>). A readable value is a value that Device A <NUM> requests to read, and Device B <NUM> responds to the request with the requested value. In this regard, the read request may comprise a query for the readable value to which Device B <NUM> may respond, and in accordance with some embodiments does not include any transfer of a value or other information to Device B <NUM> for storage on Device B <NUM>. Three such readable values, Value X <NUM>, Value Y <NUM>, and Value Z <NUM>, are illustrated in <FIG> by way of example. However, it will be appreciated that Device B <NUM> may provide any number of readable values within the scope of the disclosure.

A readable value provided by Device B <NUM> may be mapped to a corresponding operation, which Device B <NUM> is configured to perform in response to receiving a request to read the value from Device A <NUM>. The operation may be any operation other than reading/returning the value. In the example of <FIG>, Value X <NUM> may correspond to Other Operation X <NUM>; Value Y <NUM> may correspond to Other Operation Y <NUM>; and Value Z <NUM> may correspond to Other Operation Z <NUM>. Thus, for example, if Device A <NUM> requests to read Value Y <NUM>, Device B <NUM> may be configured to perform Other Operation Y <NUM> in response to the read request.

Device B <NUM> may be configured to maintain mappings between the readable values and corresponding operations so that the appropriate operation is performed in response to a read request that is received from Device A <NUM>. For example, in some embodiments, Device B <NUM> may be configured to implement a hook procedure that may be configured to intercept a request to read a value and invoke the operation corresponding to the value. Thus, for example, given a request to read Value Z <NUM> that may be received from Device A <NUM>, a hook procedure may be configured to intercept the request to read Value Z <NUM> and to invoke performance of Other Operation Z <NUM> in response to the request. In some embodiments using one or more hook procedures, a hook procedure may be implemented within a function that may be used to handle a read request. Thus, for example, a function that may be used to respond to a read request by providing the requested value to Device A <NUM> may include a hook procedure configured to invoke an operation corresponding to the requested value in parallel to or in lieu of reading and returning the requested value.

As a further example of a mapping that may be maintained by Device B <NUM>, in some embodiments, a readable value may be mapped to a memory location storing a reference to the operation corresponding to the value. For example, in some such embodiments, the memory location may contain a pointer to a memory location of the operation and/or a reference to a function call for invoking the operation. As such, when a request to read a value is received, the reference to the corresponding operation that may be maintained in the memory location mapped to the value may be read and used to invoke performance of the corresponding operation.

In order to invoke performance of a particular operation by Device B <NUM>, Device A <NUM> may accordingly format and send a request to read the value corresponding to the operation to Device B <NUM>. For example, Device A <NUM> may request to read Value X <NUM> to invoke performance of Other Operation X <NUM>, may request to read Value Y <NUM> to invoke performance of Other Operation Y <NUM>, and/or may request to read Value Z <NUM> to invoke performance of Other Operation Z <NUM>.

In some example embodiments, a request to read a value may reference a variable that may contain or otherwise reference the value. Thus, for example, a request to read Value X <NUM> may reference the variable (e.g., "X") referencing Value X <NUM>. In some such embodiments, such as some embodiments in which Bluetooth Low Energy is used to support communication between Device A <NUM> and Device B <NUM>, readable characteristics may be used by Device B <NUM> to reference readable values in such a manner. Thus, for example, Device A <NUM> may request to read Value X <NUM> in some example embodiments by sending an appropriate Bluetooth protocol request for reading characteristic "X. " A request to read a variable in such a manner may be interpreted by Device B <NUM> and used to perform the corresponding operation.

Additionally or alternatively, in some embodiments, Device A <NUM> may have knowledge of a memory location (e.g., a memory address) at which a value may be stored by Device B <NUM>. In such embodiments, a request to read a value from Device B <NUM> may reference the memory location of the value.

Device A <NUM> of some example embodiments may maintain and/or have access to a mapping that may define a correspondence between operations that may be performed by Device B <NUM> and respective values and/or variables (e.g., characteristics or the like) referencing the values that may be read to invoke performance of those operations. As such, given an operation that Device A <NUM> (and/or a user thereof) wants Device B <NUM> to perform, Device A <NUM> may use the mapping to determine the value corresponding to the operation and format an appropriate request to read the value corresponding to the operation and send the request to Device B <NUM> to invoke performance of the operation by Device B <NUM>.

Given an example in which Device A <NUM> (or a user thereof) wants to invoke performance of Other Operation X <NUM> by Device B <NUM>, Device A <NUM> may format a request to read Value X <NUM> and send the request to Device B <NUM>, as illustrated by operation <NUM>. The request may include a reference a variable (e.g., a characteristic) referencing Value X <NUM>, a reference to a memory location storing Value X <NUM>, and/or other reference to Value <NUM>.

Device B <NUM> may receive the request and determine that the request is a request to read Value X <NUM> (e.g., based on a reference to Value X <NUM> that may be included in the request as described above). Device B <NUM> may further determine that Other Operation X <NUM> corresponds to Value X <NUM> and may perform Other Operation X <NUM> in response to the request to read Value X <NUM>, as illustrated by operation <NUM>. Device B <NUM> may use any of the previously described techniques to determine and perform the operation (e.g., Other Operation X <NUM>) that corresponds to Value X <NUM>, including, for example, implementation of a hook procedure configured to intercept a request to read Value X <NUM> and invoke Other Operation X <NUM> in response thereto, reading a reference to Other Operation X <NUM> that may be stored in a memory location mapped to Value X <NUM>, and/or the like.

In some example embodiments Device B <NUM> may be configured to send a response to the request to read Value X <NUM> to Device A <NUM>, as illustrated by operation <NUM>. The response includes the value (e.g., Value X <NUM>) requested to be read by Device A <NUM> in operation <NUM>. In this regard, Device B <NUM> may be configured to perform a read procedure for reading and providing Value X <NUM> in addition to (e.g., in parallel) to Other Operation X <NUM> in response to a request to read Value X <NUM> provides Value X <NUM> to Device A <NUM> in response to the request. A response to a read request including the requested value may be handled in accordance with a protocol that may be used for reading a value, such as a response to a request to read a characteristic value in accordance with various Bluetooth protocols. Additionally or alternatively, in some example embodiments, Device B <NUM> may be configured to respond to the request to read Value X <NUM> with confirmation that Other Operation X <NUM> was performed in response to the request.

It will be appreciated that Device B <NUM> may perform any of a variety of operations in response to a read request. Moreover, the set of operations that may be performed in response to a read request may vary depending on the embodiment of Device B <NUM>, as one type of computing device may be capable of a different set of operations than another computing device (e.g., depending on device capabilities and functional purpose). As such, it will be appreciated that each of Other Operation X <NUM>, Other Operation Y <NUM>, and Other Operation Z <NUM> may comprise any respective operation that may be performed in addition to read procedure that may be used to respond to a read request by providing the requested value.

In some example embodiments, a read request may be used by Device A <NUM> to alter a power state of Device B <NUM>. For example, in accordance with some such embodiments, a read request may be used to turn Device B <NUM> off, turn Device B <NUM> on, place Device B <NUM> in a standby or low power mode of operation, switch Device B <NUM> from a low power or standby mode of operation to a normal power consumption mode, and/or the like.

Additionally or alternatively, in some example embodiments, a read request may be used by Device A <NUM> to modify a configuration setting of Device B <NUM>. A configuration setting modification that may be modified via a read request in accordance with various embodiments may comprise a modification to any adjustable operating parameter that may relate to operation of Device B <NUM> and, thus, may vary depending on the embodiment of Device B <NUM>.

As a particular example of a configuration setting that may be modified in some embodiments in which Device B <NUM> is embodied as an aerosol delivery device, a configuration setting for an element of a user interface of the aerosol delivery device, such as the functionality of an LED and/or other indicator(s) (e.g., the indicator <NUM>) that may be implemented on an aerosol delivery device may be modified. Further non-limiting examples of configuration settings that may be modified via a read request in some embodiments in which Device B <NUM> is embodied as an aerosol delivery device may include modification of a heating profile configuration, modification of an aerosol precursor composition vaporization setting, modification of a puff control setting, modification of a battery management setting, modification of a haptic feedback configuration, modification of a flavor setting, and/or the like. For example, modification of an aerosol precursor composition vaporization setting may include modification of a configuration defining an amount of aerosol precursor composition that is vaporized per puff, and/or other configuration setting that may relate to the vaporization of aerosol precursor composition. Modification of a puff control setting may, for example, include modification of a number of puffs that are allowed within a period of time and/or for a single smoking session, modification of a minimum interval of time that must elapse between puffs, and/or modification of another setting that may govern device behavior with respect to user puffs. Modification of a battery management setting may, for example, include modification of a configuration relating to charging of a battery or other electrical power source (e.g., electrical power source <NUM>) that may be implemented on an aerosol delivery device and/or a configuration that may regulate consumption of the battery. Modification of a haptic feedback configuration may, for example, include modification of a vibration strength of haptic feedback, activating/deactivating haptic feedback, and/or the like. Modification of a flavor setting may, for example, include modification of the type and/or concentration of a flavor that is vaporized separately or in combination with other aerosol precursor components.

In some example embodiments in which a configuration setting may be modified in response to a request to read a value, the value may specify the configuration setting. For example, a readable value may define a value within a range of possible setting values for a configuration. In accordance with some such embodiments, Device A <NUM> may be configured to request to read a value defining a configuration setting in order to modify the configuration setting, and Device B <NUM> may be configured to modify the value (e.g., by overwriting the value with a new value and/or otherwise modifying the stored value) in response to the request so as to modify the configuration setting.

In some example embodiments in which a value may be modified in response to a read request, multiple variables, such as multiple characteristics, may reference the same value. Each respective variable referencing the value may correspond to a different operation that may be performed on the value. For example, a request to read a first variable referencing the value may result in Device B <NUM> performing a first operation to modify the value (e.g., incrementing the value by <NUM>) and a request to read a second variable referencing the value may result in Device B <NUM> performing a second operation to modify the value (e.g., decrementing the value by <NUM>).

In some example embodiments, Device A <NUM> may provide a user interface enabling a user to select an operation to be performed by Device B <NUM> and/or to control at least some functionality of Device B <NUM>. For example, Device A <NUM> may be configured to display a graphical user interface that may be provided by an application, such as a mobile app, that may be implemented on Device A <NUM> in accordance with some example embodiments. The graphical user interface may provide access to a plurality of selectable commands for controlling Device B <NUM>. A user may select a command, such as by touching an appropriate region of a touch screen display, providing a voice command, and/or actuating an appropriate key, button, or other input mechanism that may be provided by Device A <NUM>. Device A <NUM> may receive an indication of a command selected by the user, and may determine the operation(s) corresponding to the command. Device A <NUM> may format and send one or more read requests to Device B <NUM> to invoke performance of one or more commanded operations by Device B <NUM> in response to the user command.

In some example embodiments, a command that may be selected by a user of Device A <NUM> may be abstracted at a higher level of granularity than operations that may be performed by Device B <NUM> to carry out the command. Thus, for example, Device A <NUM> may resolve a user command into a set of operations that may need to be performed by Device B <NUM> in order to carry out the command, and may format and send the appropriate read requests to invoke performance of the appropriate set of operations by Device B <NUM>.

<FIG> illustrates a block diagram of an apparatus <NUM> that is implemented on a computing device, such as Device A <NUM>, that invokes performance of an operation by a second computing device, such as Device B <NUM>, by sending a read request to the second computing device It will be appreciated that the components, devices or elements illustrated in and described with respect to <FIG> below may not be mandatory and thus some may be omitted in certain embodiments. Additionally, some embodiments may include further or different components, devices or elements beyond those illustrated in and described with respect to <FIG>.

In some example embodiments, the apparatus <NUM> may include processing circuitry <NUM> that is configurable to perform functions in accordance with one or more example embodiments disclosed herein. In this regard, the processing circuitry <NUM> may be configured to perform and/or control performance of one or more functionalities of apparatus <NUM> (e.g., functionalities of Device A <NUM>) in accordance with various example embodiments. Thus, the processing circuitry <NUM> may be configured to perform data processing, application execution and/or other processing and management services according to one or more example embodiments.

In some embodiments, the apparatus <NUM> or a portion(s) or component(s) thereof, such as the processing circuitry <NUM>, may be implemented via one or more integrated circuits, which may each include one or more chips. The processing circuitry <NUM> and/or one or more further components of the apparatus <NUM> may therefore, in some instances, be configured to implement an embodiment on a system on a chip.

In some example embodiments, the processing circuitry <NUM> may include a processor <NUM> and, in some embodiments, such as that illustrated in <FIG>, may further include memory <NUM>. The processing circuitry <NUM> may be in communication with or otherwise control a communication interface <NUM>, user interface <NUM>, and/or read control module <NUM>.

The processor <NUM> may be embodied in a variety of forms. For example, the processor <NUM> may be embodied as various hardware processing means, such as a microprocessor, a coprocessor, a controller or various other computing or processing devices including integrated circuits such as, for example, an ASIC (application specific integrated circuit), an FPGA (field programmable gate array), some combination thereof, or the like. Although illustrated as a single processor, it will be appreciated that the processor <NUM> may comprise a plurality of processors. The plurality of processors may be in operative communication with each other and may be collectively configured to perform one or more functionalities of a computing device, such as Device A <NUM>, on which the apparatus <NUM> may be implemented. In some example embodiments, the processor <NUM> may be configured to execute instructions that may be stored in the memory <NUM> and/or that may be otherwise accessible to the processor <NUM>. As such, whether configured by hardware or by a combination of hardware and software, the processor <NUM> may be capable of performing operations according to various embodiments while being configured accordingly.

In some example embodiments, the memory <NUM> may include one or more memory devices. Memory <NUM> may include fixed and/or removable memory devices. In some embodiments, the memory <NUM> may provide a non-transitory computer-readable storage medium that may store computer program instructions that may be executed by the processor <NUM>. In this regard, the memory <NUM> may be configured to store information, data, applications, instructions and/or the like for enabling the apparatus <NUM> to carry out various functions in accordance with one or more example embodiments. In some embodiments, the memory <NUM> may be in communication with one or more of the processor <NUM>, communication interface <NUM>, user interface <NUM>, and read control module <NUM> via one or more buses for passing information among components of the apparatus <NUM>.

The apparatus <NUM> may further include a communication interface <NUM>. The communication interface <NUM> may be configured to enable a computing device, such as Device A <NUM>, on which the apparatus <NUM> may be implemented to communicate with one or more further computing devices, such as Device B <NUM> and/or other device that may be controlled to perform an operation by sending a read request to the device. In this regard, the communication interface <NUM> may include one or more interface mechanisms for enabling communication with other devices and/or networks. As such, the communication interface <NUM> may include, for example, an antenna (or multiple antennas) and supporting hardware and/or software for enabling communications with a wireless communication network (e.g., a cellular network, Wi-Fi, WLAN, and/or the like) and/or for supporting a wireless communication link with a second computing device. Thus, for example, the communication interface <NUM> may be configured to support various wireless communication technologies, such as by way of non-limiting example, various Bluetooth technologies (e.g., including Bluetooth Low Energy and/or regular Bluetooth technologies), Zigbee, wireless USB, various IEEE <NUM> technologies, various IEEE <NUM> technologies, IrDA and/or other IR technology, NFC, and/or other communication technologies that may be used to support wireless communication between two or more computing devices, such as between Device A <NUM> and Device B <NUM> as described above. The communication interface <NUM> may additionally or alternatively include a communication modem, a physical port (e.g., a serial port) for receiving a wireline communication cable, and/or other hardware/software for supporting communication via cable, digital subscriber line (DSL), USB, FireWire, Thunderbolt, Ethernet, one or more optical transmission technologies, and/or other wireline communication technology that may be used to implement a communication link between two or more computing devices, such as between Device A <NUM> and Device B <NUM> as described above.

In some example embodiments, the apparatus <NUM> may include the user interface <NUM>. The user interface <NUM> may be in communication with the processing circuitry <NUM> to receive an indication of a user input and/or to provide an audible, visual, mechanical, or other output to a user. As such, the user interface <NUM> may include, for example, a keyboard, a mouse, a joystick, a display, a touch screen display, a microphone, a speaker, one or more biometric input devices (e.g., a visual or sensorial tracing device that may track body part or eye movements), an accelerometer, a gyroscope, and/or other input/output mechanisms. In embodiments wherein the user interface <NUM> comprises a touch screen display, the user interface <NUM> may additionally be configured to detect and/or receive an indication of a touch and/or other movement gesture or other input to the display. The user interface <NUM> may, for example, be configured to display a graphical user interface that may display one or more selectable commands for controlling a second computing device, such as Device B <NUM> as described above. The user interface <NUM> may further provide an input mechanism(s) for enabling the user to select the command, which may accordingly be received by the apparatus <NUM> via the user interface <NUM>.

The apparatus <NUM> may further include read control module <NUM>. The read control module <NUM> may be embodied as various means, such as circuitry, hardware, a computer program product comprising computer readable medium (for example, the memory <NUM>) storing computer readable program instructions executable by a processing device (for example, the processor <NUM>), or some combination thereof. In some embodiments, the processor <NUM> (or the processing circuitry <NUM>) may include, or otherwise control, the read control module <NUM>. The read control module <NUM> may be configured to format a request to read a value corresponding to an operation from a second device, such as Device B <NUM>, and send the request to the second device to invoke performance of the operation by the second device, as described above. In some example embodiments in which a user may select a command via the user interface <NUM>, the read control module <NUM> may be configured to resolve the command into one or more operations for performance by the second device to carry out the command, and may be configured to format and send the appropriate read requests to invoke performance of the one or more operations by the second device.

<FIG> illustrates a block diagram of an apparatus <NUM> that may be implemented on a computing device, such as Device B <NUM>, that performs an operation in response to receiving a read request from a second computing device, such as Device A <NUM>. Apparatus <NUM> is implemented on an aerosol delivery device, such as the aerosol delivery device <NUM>. For example, in some such embodiments, the apparatus <NUM> may be implemented on a control body of an aerosol delivery device, such as the control body <NUM>.

It will be appreciated that the components, devices or elements illustrated in and described with respect to <FIG> below may not be mandatory and thus some may be omitted in certain embodiments. Additionally, some embodiments may include further or different components, devices or elements beyond those illustrated in and described with respect to <FIG>.

In some example embodiments, the apparatus <NUM> may include processing circuitry <NUM> that is configurable to perform and/or control performance of functions of a computing device, such as Device B <NUM>, on which the apparatus <NUM> may be implemented in accordance with one or more example embodiments disclosed herein. Thus, the processing circuitry <NUM> may be configured to perform data processing, application execution and/or other processing and management services that may be implemented to perform functionality of the aerosol delivery device according to one or more example embodiments.

In some example embodiments, the processing circuitry <NUM> may include a processor <NUM> and, in some embodiments, such as that illustrated in <FIG>, may further include memory <NUM>. The processing circuitry <NUM> may be in communication with or otherwise control the communication interface <NUM>, user interface <NUM>, and/or read execution module <NUM>.

The processor <NUM> may be embodied in a variety of forms. For example, the processor <NUM> may be embodied as various hardware processing means, such as a microprocessor, a coprocessor, a controller or various other computing or processing devices including integrated circuits such as, for example, an ASIC (application specific integrated circuit), an FPGA (field programmable gate array), some combination thereof, or the like. Although illustrated as a single processor, it will be appreciated that the processor <NUM> may comprise a plurality of processors. The plurality of processors may be in operative communication with each other and may be collectively configured to perform one or more functionalities of a computing device, such as Device B <NUM>, on which the apparatus <NUM> may be implemented. In some example embodiments, the processor <NUM> may be configured to execute instructions that may be stored in the memory <NUM> and/or that may be otherwise accessible to the processor <NUM>. As such, whether configured by hardware or by a combination of hardware and software, the processor <NUM> may be capable of performing operations according to various embodiments while being configured accordingly.

In some example embodiments, the memory <NUM> may include one or more memory devices. Memory <NUM> may include fixed and/or removable memory devices. In some embodiments, the memory <NUM> may provide a non-transitory computer-readable storage medium that may store computer program instructions that may be executed by the processor <NUM>. In this regard, the memory <NUM> may be configured to store information, data, applications, instructions and/or the like for enabling the apparatus <NUM> to carry out various functions in accordance with one or more example embodiments. In some embodiments, the memory <NUM> may be in communication with one or more of the processor <NUM>, communication interface <NUM>, user interface <NUM>, and read execution module <NUM> via one or more buses for passing information among components of the apparatus <NUM>.

The apparatus <NUM> may further include a communication interface <NUM>. The communication interface <NUM> may be configured to enable a computing device, such as Device B <NUM>, on which the apparatus <NUM> may be implemented to communicate with one or more further computing devices, such as Device A <NUM> and/or other device that may be controlled to perform an operation by sending a read request to the device. In this regard, the communication interface <NUM> may include one or more interface mechanisms for enabling communication with other devices and/or networks. As such, the communication interface <NUM> may include, for example, an antenna (or multiple antennas) and supporting hardware and/or software for enabling communications with a wireless communication network (e.g., a cellular network, Wi-Fi, WLAN, and/or the like) and/or for supporting a wireless communication link with a second computing device. Thus, for example, the communication interface <NUM> may be configured to support various wireless communication technologies, such as by way of non-limiting example, various Bluetooth technologies (e.g., including Bluetooth Low Energy and/or regular Bluetooth technologies), Zigbee, wireless USB, various IEEE <NUM> technologies, various IEEE <NUM> technologies, IrDA and/or other IR technology, NFC, and/or other communication technologies that may be used to support wireless communication between two or more computing devices, such as between Device A <NUM> and Device B <NUM> as described above. The communication interface <NUM> may additionally or alternatively include a communication modem, a physical port (e.g., a serial port) for receiving a wireline communication cable, and/or other hardware/software for supporting communication via cable, digital subscriber line (DSL), USB, FireWire, Thunderbolt, Ethernet, one or more optical transmission technologies, and/or other wireline communication technology that may be used to implement a communication link between two or more computing devices, such as between Device A <NUM> and Device B <NUM> as described above.

In some example embodiments, the apparatus <NUM> may include the user interface <NUM>. However, in some embodiments, one or more aspects of the user interface <NUM> may not be present, or the user interface <NUM> may be eliminated entirely. The user interface <NUM> may be in communication with the processing circuitry <NUM> to receive an indication of a user input and/or to provide an audible, visual, mechanical, or other output to a user. As such, the user interface <NUM> may include, for example, a keyboard, a mouse, a joystick, a display, a touch screen display, a microphone, a speaker, one or more biometric input devices (e.g., a visual or sensorial tracing device that may track body part or eye movements), an accelerometer, a gyroscope, and/or other input/output mechanisms. In embodiments wherein the user interface <NUM> comprises a touch screen display, the user interface <NUM> may additionally be configured to detect and/or receive an indication of a touch and/or other movement gesture or other input to the display.

The user interface <NUM> may, for example, include an input mechanism(s) to enable a user to power the aerosol delivery device on/off, to activate a heating element to generate a vapor or aerosol for inhalation, and/or to otherwise actuate and/or control at least some functionality of an aerosol delivery device. For example, the user interface <NUM> may include a mouthpiece (e.g., mouthpiece <NUM>), and/or associated puff sensing components (e.g., flow sensor <NUM>), which may enable a user to provide a puff input to an aerosol delivery device. As a further example, the user interface <NUM> may provide one or more indicators (e.g., indicator <NUM>), such one or more LEDs (e.g., LED <NUM>) that may be used to indicate an operating status of an aerosol delivery device, a charge level of a battery, an amount of aerosol precursor composition remaining in a cartridge, and/or to provide other status information that may be related to operation of an aerosol delivery device to a user. In some example embodiments, the user interface <NUM> may include a vibrator and/or other haptic feedback device, which may impart a vibration and/or other motion on the aerosol delivery device.

The apparatus <NUM> may further include read execution module <NUM>. The read execution module <NUM> may be embodied as various means, such as circuitry, hardware, a computer program product comprising computer readable medium (for example, the memory <NUM>) storing computer readable program instructions executable by a processing device (for example, the processor <NUM>), or some combination thereof. In some embodiments, the processor <NUM> (or the processing circuitry <NUM>) may include, or otherwise control, the read execution module <NUM>. The read execution module <NUM> may be configured to perform an operation corresponding to a value referenced in a read request that may be received by a computing device, such as Device B <NUM>, on which the apparatus <NUM> may be implemented in accordance with various example embodiments disclosed herein.

<FIG> illustrates a flowchart according to an example method for invoking performance of an operation by a second computing device by sending a read request to the second computing device. In this regard, <FIG> illustrates operations that may be performed by some embodiments of Device A <NUM> to cause Device B <NUM> to perform an operation in accordance with various embodiments disclosed herein. Accordingly, one or more elements of the apparatus <NUM>, such as one or more of processing circuitry <NUM>, processor <NUM>, memory <NUM>, communication interface <NUM>, user interface <NUM>, and read control module <NUM> may, for example, provide means for performing one or more of the operations illustrated in and described with respect to <FIG>.

Operation <NUM> includes determining an operation for performance by a second computing device, such as Device B <NUM>. For example, a computing device, such as Device A <NUM>, performing the method of <FIG> may be configured to display a graphical user interface providing access to one or more selectable commands for controlling the second computing device. A user may select a command and, in some embodiments, operation <NUM> may include determine an operation for carrying out the command.

Operation <NUM> may include determining a value corresponding to the operation. For example, in some embodiments, operation <NUM> may comprise accessing a mapping between operations and references to the corresponding values, such as variables (e.g., characteristics and/or other variables that may reference a value), memory locations storing the values on the second computing device, and/or other indication that may be used to reference the corresponding value. The value corresponding to the operation (e.g., a reference thereto) may accordingly be determined by looking up the operation determined in operation <NUM> in the mapping to determine the corresponding value reference.

Operation <NUM> may include formatting a request to read the value corresponding to the operation. The request may include a reference to the value (e.g., the reference that may be determined in operation <NUM>), such as a characteristic and/or other type of variable referencing the value, a reference to a memory location storing the value, and/or other indication that may enable the second device to determine the value requested to be read. For example, the reference to the value may be included as a parameter to the request.

Operation <NUM> includes sending the request to the second computing device. The request may be sent via a communication link with the second computing device. The communication link is a wireless communication link, such as may be implemented via a Bluetooth technology. The value is received from the second computing device in response to the request.

<FIG> illustrates a flowchart according to an example method for performing an operation in response to receiving a read request from a second computing device, such as Device A <NUM>, in accordance with some example embodiments of the present disclosure. In this regard, <FIG> illustrates operations that are performed by Device B <NUM> in response to receiving a read request from Device A <NUM>. Accordingly, one or more elements of the apparatus <NUM>, such as one or more of processing circuitry <NUM>, processor <NUM>, memory <NUM>, communication interface <NUM>, user interface <NUM>, and read execution module <NUM> may, for example, provide means for performing one or more of the operations illustrated in and described with respect to <FIG>.

Operation <NUM> includes receiving a request to read a value. The request is received from a second computing device, such as Device A <NUM>, via a communication link with the second computing device. The communication link is a wireless communication link, such as may be implemented via a Bluetooth technology.

Operation <NUM> includes determining an operation corresponding to the value. For example, in some embodiments, a hook procedure may be configured to intercept the read request and invoke the operation corresponding to the value. In this regard, in some such embodiments, a request to read the value may trigger a read procedure for reading the value and the hook procedure may be implemented within the read procedure and executed in response to the read procedure such that the corresponding operation may be invoked in response to the read request. As another example, in some embodiments, the value may be mapped to (e.g., stored in) a memory location, which may store a reference to the operation corresponding to the value such that when the value is read, the corresponding operation may be determined.

Operation <NUM> includes performing the operation corresponding to the value in response to the request. The value is returned to the second computing device in response to the request.

It will be understood that each block of the flowcharts in <FIG>, and combinations of blocks in the flowcharts, may be implemented by various means, such as hardware and/or a computer program product comprising one or more computer-readable mediums having computer readable program instructions stored thereon. For example, one or more of the procedures described herein may be embodied by computer program instructions of a computer program product. In this regard, the computer program product(s) which may embody the procedures described herein may be stored by one or more memory devices of a computing device and executed by a processor in the computing device. In some embodiments, the computer program instructions comprising the computer program product(s) which embody the procedures described above may be stored by memory devices of a plurality of computing devices. As will be appreciated, any such computer program product may be implemented on a computer or other programmable apparatus to produce a machine, such that the computer program product including the instructions which execute on the computer or other programmable apparatus creates means for implementing the functions specified in the flowchart block(s). Further, the computer program product may comprise one or more computer-readable memories on which the computer program instructions may be stored such that the one or more computer-readable memories can direct a computer or other programmable apparatus to function in a particular manner, such that the computer program product comprises an article of manufacture which implements the function specified in the flowchart block(s). The computer program instructions of one or more computer program products may also be loaded onto a computer or other programmable apparatus to cause a series of operations to be performed on the computer or other programmable apparatus to produce a computer-implemented process such that the instructions which execute on the computer or other programmable apparatus implement the functions specified in the flowchart block(s). Accordingly, blocks of the flowcharts support combinations of means for performing the specified functions. It will also be understood that one or more blocks of the flowcharts, and combinations of blocks in the flowcharts, may be implemented by special purpose hardware-based computer systems which perform the specified functions, or combinations of special purpose hardware and computer program product(s).

Claim 1:
A method for performing an operation in response to a read request, the method comprising by a first computing device (<NUM>):
receiving a request to read a value (<NUM>, <NUM>, <NUM>), wherein the request is received from a second computing device (<NUM>) via a wireless communication link between the first computing device and the second computing device;
determining an operation (<NUM>, <NUM>, <NUM>) corresponding to the value, wherein each of a plurality of readable values corresponds to a different respective operation; and
performing the operation corresponding to the value in response to the request and
returning the value to the second computing device in response to the request.