Improper and inaccurate beverage pours can cost businesses increased beverage consumption, lost revenue and expose them to liability. Frequent overpours of expensive drinks undercharge customers and undercut a bar's income. Overpours also present risks to customers, who may consume more alcohol than intended and suffer impairments in judgment or accidents. The bar may be held liable for any consequent harm that comes to customers or to others as a result of overpours. Frequent underpours also present risks to businesses, which may lose customer goodwill by providing less alcohol than customers expect. Inaccurate pours in mixed drinks, whether high or low, can impair taste and result in a poor customer experience.
To address harms and risks that can accompany inaccurate beverage pours, one manufacturer has developed a smart spout that attaches to the mouth of a bottle and monitors dispensed liquid. For example, U.S. Pat. No. 7,598,883 describes a spout that incorporates a mechanical tilt sensor, a timer, and an RF (Radio Frequency) transmitter. The spout is configured to activate in response to being tilted, such as when a bottle is tilted during a pour, and to measure the amount of time that the spout remains in the tilted state. The spout may detect multiple tilt angles. Electronics in the spout gather elapsed time and tilt state into a data packet, which may also include a unique identifier of the spout, such as a preassigned number. The bar may associate the preassigned number with a particular type of drink ingredient, such as a particular brand, for example. The spout transmits the packet in an RF signal to a local server. The server, such as a laptop computer or tablet, receives the packet via an RF antenna. The server extracts the tilt and timing data from the packet and stores the data in a database in connection with the unique spout identifier. In this manner, traceable data pertaining to overpours and underpours of particular beverages can be obtained.
Unfortunately, the above-described smart spout has limited capabilities. For example, a common bartending scenario involves lining up multiple glasses in a row and sweeping a tilted bottle along the row. Given that the bottle is restored to vertical only after all of the glasses have been poured, the existing spout registers the activity as a single, long pour, rather than as multiple, shorter pours. More generally, the limited capabilities of existing spouts make them insufficient for many applications and scenarios that require more complete information about bartender activities and surrounding context.
In contrast with prior approaches, improved techniques for monitoring dispensed liquids include an intelligent spout that incorporates an IMU (Inertial Measurement Unit) for tracking its own orientation and movement in three-dimensional space. The spout includes a processor, memory, and wireless networking components. Enhanced capabilities of the intelligent spout enable many novel and useful applications.
In some examples, the spouts support local data processing, data logging, and bi-directional wireless communication. Communication may be carried out, for example, with a server, with other spouts of like kind, and/or with other devices.
As the intelligent spout tracks its own orientation and position in three-dimensional space, the intelligent spout can distinguish single long pours from multiple short pours by detecting its own horizontal movement along a line of cups or glasses.
According to some examples, the spout has one or more indicators, such as one or more LEDs (light emitting diodes) and/or transducers, such as speakers and/or piezoelectric devices (for emitting sound and/or vibration). The indicators enable the spout to communicate information to a user, such as a bartender or other service personnel. The LED(s) may be capable of emitting multiple colors, and/or different LEDs may be provided having different colors. The indicators may be coupled to the processor in the spout and may operate under computer control. For example, the processor may activate one or more indicators in response to detecting a pour or other event. Also, the spout may receive instructions from the server, another spout, or another device, and may respond to such instructions by activating one or more of the indicators.
According to some examples, the spout has a label that identifies a type of beverage, such as a particular brand. For example, the spout may be dedicated to a particular type of drink ingredient. The drink ingredient may be a premium brand or a house brand, such as a rail drink. The spout may be transferrable between bottles, such that the spout may be moved to a new bottle containing the same type of drink ingredient when the current bottle becomes empty. The label may be a pre-printed label, e.g., made of paper, plastic, metal, or the like, or it may be an electronic label (eLabel), which the processor in the spout has the ability to dynamically change. For example, if a bar stops selling a particular brand of drink ingredient, the bar may repurpose a spout previously assigned to that ingredient by directing the spout to electronically change the label. eLabels (also known as e-ink labels) require power only when changing displayed content and thus provides a good match for low-power operations involving the spout.
In some examples, the processor and associated electronics are encapsulated within an enclosure of the spout and are thereby protected from liquids, physical damage, and tampering.
In some examples, the spout measures an amount of beverage poured by repeatedly sampling its IMU over time. For example, the spout may identify a start pouring time in response to the spout tipping past a predetermined angle from vertical. The spout may generate an estimate of volume of the pour based on spout angle and elapsed time after the start time. The spout may further detect a stop pouring time in response to the spout tipping past the predetermined angle in an opposite direction. The start and stop times thus define an interval or duration of a pour.
In some examples, the spout, server, or other component stores viscosity data for the particular beverage being poured, and the volume poured from the spout is further estimated based on viscosity.
In some arrangements, the spout, server, or other device measures local temperature, and the volume poured is further estimated based on temperature.
In some arrangements, bottle physics may further inform pouring information. For example, the dimensions, shape, and weight (empty and full) may be combined mathematically with tilt angle and duration to provide accurate estimates of volume dispensed. Inertial changes along the tilting axis may also contribute to estimates of volume dispensed.
In some examples, the spout may communicate progress toward a complete pour using the indicators, such as the LED(s) and/or transducers. For example, the spout may start flashing a LED at the start of a pour, flash faster as the pour progresses, and turn solid when the pour is complete. A LED may also change color to indicate that the pour is complete. The bar may establish a complete pour as a designated volume, such as 1.5 ounces, 2.0 ounces, or the like. If the pour continues after the spout indicates completion, the spout may restart the LED sequence, e.g., assuming that the pour is a double. In some examples, the spout may activate an indicator in response to an overpour, alerting the bartender that too much alcohol is being dispensed.
In some examples, a sampling rate of the IMU is varied based on a detected angle of the spout. For instance, the spout may sample the IMU at a higher rate within the interval of the pour and at a lower rate outside that interval.
In some examples, the spout operates in a low-power sleep state when the IMU detects a stable, upright position, which is indicative of the bottle sitting on a shelf or table. The spout may make occasional measurements of the IMU during the sleep state, such as once per second. In response to detecting movement of the spout based on IMU measurements, the spout may exit the sleep state and enter an active state, during which it samples the IMU at a higher rate. While operating in the active state, the spout may measure any number of pours and may communicate its pour data to the server or other component, e.g., over a Bluetooth connection. The spout may return to the sleep state after detecting that it has returned to a stable, upright position, e.g., in response to a determined interval of low IMU activity.
In some examples, the spout may compensate for drift in the IMU in response to the bottle being placed vertically on a bar or other surface. For example, in response to detecting a period of low IMU activity, the spout may assume it has been placed upright and correct its IMU accordingly.
In some examples, the spout may detect when it has been removed from a bottle or other container. For example, removal of a spout from a bottle may be accompanied by a characteristic change in output from the IMU, based, for example, on initial stiction and then release. The spout may generate an event in response to the detected removal and transmit that event to the server. Detecting removal in this manner prevents tampering and promotes accuracy in tracking total amounts of beverages poured.
In some examples, the spout may belong to a cluster of multiple spouts, where clusters may be formed based on proximity. For example, a bar may include multiple serving stations at respective locations. Each serving station may have an assigned device that broadcasts an electromagnetic beacon, such as a Bluetooth beacon. Spouts may detect the nearest beacon and join the cluster from which the beacon originates.
Clusters may serve multiple purposes. For example, assigned devices may have higher power than spouts, have longer communication ranges than spouts, and may be capable of enhanced features, such as playing sounds, powering displays, storing large volumes of data, and/or performing complex data processing tasks. Some serving stations may be too far away from the server to allow for low-power Bluetooth communications between the spouts and the server. In such cases, assigned devices may act as communication gateways, using short-range Bluetooth signals with spouts in the same clusters but using longer range signals (Bluetooth or otherwise) for communication with the server. Such assigned devices may be referred to herein as “superspouts,” even though there is no requirement for superspouts to operate as spouts. More generally, spouts and related devices may be arranged in a hierarchy, with devices at different levels having respective functions that differ from those of devices at other levels.
In some examples, spouts or other devices may respond to pour events by activating signs, lights, or other attention-attracting features to promote particular products. For instance, in response to detecting a pour event of a particular brand of beverage, a promotion for that brand may be illuminated or otherwise activated, letting persons in the vicinity know that the brand has been ordered. The promotions may extend to online services, such as social media platforms, which may register the pour data based on communication between the server and the social media platform.
In some examples, the server runs an application, such as an app or a browser, which accesses an array of data, such as information about pour events, service personnel, spouts, and/or the like. The application may provide access to a spout database, a bartender database, and/or a pour database, for example. The spout database tracks spout-specific information and associates spouts with corresponding brands of beverage. The bartender database tracks information about bartenders or other service personnel. The pour database tracks particular pours and may include, for example, spout identifiers, bartender identifiers, timestamps, volumes poured, and other factors.
In some examples, spout activities may be integrated with cameras. For example, one or more cameras may record video of the bar or other serving venue. In response to a spout detecting a pour event, the server or other component may note the time and generate references (e.g., links) to video from the cameras corresponding to the same point in time. The recordings may be rendered as short video clips, such as 30-second clips centered on the respective pour events. The server may provide links to videos in the pour database, such that users of the application can easily view video associated with particular pours by clicking the corresponding links. Multiple links may be provided for viewing video from respective cameras.
In some examples, the cameras may be controlled by a spout, the server, or some other device. For example, in response to a spout detecting a pour event, the spout or server may direct one or more of the cameras to focus on a particular area, to adjust exposure, and so forth. Cameras may therefore operate in response to input from the spouts, server, or other devices.
In some examples, spout activities may be integrated with POS (point of sale) devices, such as cash registers or other order-entry devices. In situations where a POS order is rung prior to pouring, the application may associate the POS entry with subsequent pours, e.g., pours that occur within a predetermined time interval following the POS entry. As the POS device may receive particulars of the order, such as a type of mixed drink ordered, the application may expect certain beverages to be poured. In some examples, the application may direct the spouts on bottles needed to complete the order to illuminate (via a LED) or otherwise to identify themselves, to guide the bartender to the appropriate beverages. In some examples, the pour database stores POS order data, thereby associating particular pours with corresponding orders. The pour database may further associate pours with bartenders, video, and other available data. In situations where a POS order is rung after pouring, the application may associate the POS entry with prior pours, e.g., pours that occurred within a predetermined period prior to the POS entry. The ability to associate beverage pours with POS entries provides objective and auditable data. Such data may be used to establish fair prices for parties and other events.
In some examples, the spout includes a kinematics engine that receives input from the IMU and monitors acceleration, orientation, and/or position of the spout. By recording these factors for a particular person over multiple pours, the kinematics engine may generate a characteristic of pours associated with that person. For example, each bartender or other service personnel has a particular pouring signature, which may be based on whether the person is right-handed or left-handed, on lengths of the person's limbs, on joint positions, and so forth. Once a person's pouring signature has been characterized, the signature may be used as a basis for uniquely identifying that person and distinguishing that person from other people. In this manner, the spout and/or server can associate a particular pour with a specific person, enabling pouring patterns of that person, such as overpours and underpours, to be determined and recorded. In some examples, the acts of characterizing and matching pouring signatures involve machine learning and/or neural networks, such as convolutional neural nets.
In some examples, bottle physics may play a role in identifying pouring signatures, which may vary, for example, based on bottle weight and geometry. For example, signatures may be allowed to differ for the same service personnel when using bottles of different size, shape, and/or weight. Matching signatures to service personnel may thus take bottle geometry into account. For instance, a bartender may be associated with multiple signatures, e.g., one for small bottles, one for medium-sized bottles, and one for large bottles.
In some examples, bartenders and other service personnel may be provided with wearable identifiers, such as ID bracelets, which uniquely identify such personnel. For example, an ID bracelet may emit an RFID (Radio Frequency Identifier) or Bluetooth signal, which may be detected by the spout and may serve as a basis for associating subsequent pours with the person identified by the bracelet.
According to some examples, pouring performance of service personnel may be gamified and compared with performance of other service personnel to provide incentives and rewards. Recorded pours during a particular shift may be compared with POS data from the same shift to identify agreements and disparities. The application can determine how many overpours and underpours were served, how many doubles were poured as singles or vice-versa, whether any substitutions were made (premium for rail or vice-versa) and the like. Scores may be tallied for different bartenders, providing objective measures of performance.
Certain embodiments are directed to a spout configured to attach to a mouth of a bottle. The spout includes a passageway extending through the spout and configured to pass liquid out of the bottle, an IMU (inertial measurement unit) configured to track orientation and movement of the spout in three-dimensional space, and wireless communication circuitry configured to communicate bidirectionally with other electronic equipment that is not part of the spout.
Other embodiments are directed to a method of monitoring beverage pours. The method includes providing a spout attached to a mouth of a bottle, the spout housing electronic circuitry that includes (i) an IMU (inertial measurement unit) and (ii) wireless communication circuitry configured to communicate bidirectionally with a server computer. The method further includes detecting, by the spout, a pour event based at least in part on the IMU measuring orientation and movement of the spout in three-dimensional space, and wirelessly transmitting information about the pour event to the server computer.
Still other embodiments are directed to computer program products. The computer program products store instructions which, when executed by control circuitry of a computerized apparatus, cause the computerized apparatus to perform any of the techniques described above.
The foregoing summary is presented for illustrative purposes to assist the reader in readily grasping example features presented herein; however, this summary is not intended to set forth required elements or to limit embodiments hereof in any way. One should appreciate that the above-described features can be combined in any manner that makes technological sense, and that all such combinations are intended to be disclosed herein, regardless of whether such combinations are identified explicitly or not.
The foregoing and other features and advantages will be apparent from the following description of particular embodiments, as illustrated in the accompanying drawings, in which like reference characters refer to the same or similar parts throughout the different views. The drawings are not necessarily to scale, emphasis instead being placed upon illustrating the principles of various embodiments.
Embodiments of the improved technique will now be described. One should appreciate that such embodiments are provided by way of example to illustrate certain features and principles but are not intended to be limiting.
Improved techniques for monitoring dispensed liquid include an intelligent spout that incorporates an IMU (Inertial Measurement Unit) for tracking its own orientation and movement in three-dimensional space. The spout has its own processor, memory, and wireless networking components, which support local data processing, data logging, and bi-directional wireless communication. Communication may be carried out with a server, with other spouts of like kind, and/or with other devices.
Also shown in the environment 100 is a server 140 and a POS (point of sale) device 150, such as a cash register or other order-processing device. The server 140 may be provided as any type of computing device, such as a desktop computer, laptop computer, tablet computer, smart phone, PDA (personal data assistant) or the like. The server 140 and POS device 150 may be placed on a desk 160 or other surface, but they could be located anywhere in the space 102 or in nearby spaces. One or more cameras 170 (170a, 170b, and 170c) may be positioned around the space 102 and may be configured to record activities therein. The spouts 110, server 140, POS device 150, and cameras 170 together form an electronic system of components, which are linked together by wireless and/or wired connections. For example, spouts 110 may be linked to one another and to server 140 via Bluetooth. Server 140 may be linked to POS 150 via Bluetooth, Wi-Fi, or a wired connection (e.g., Ethernet). Server 140 may be linked to cameras 170 via Bluetooth, Wi-Fi, or a wired connection. A wireless router 180 may support Wi-Fi and Ethernet communications in the space 102 and may provide access to a WAN (Wide Area Network) 190, such as the Internet. In some examples, the server 140 connects to an Internet site or cloud service, e.g., for coordinating activities among multiple sites, for managing software updates, and the like.
In example operation, bartenders 104 serve drinks to customers (not shown) in or around the space 102. The drinks may include any combination of beverages, which are contained in bottles 120. As a bartender 104 pours a beverage from a bottle 120, the spout 110 on that bottle generates a pour event, measuring aspects of the pour. The spout 110 may then communicate data describing the pour event to the server 140. The server 140 records the pour event in a database. In some examples, the server 140 may associate the pour event with an order entry in POS device 150 and/or with video or still images acquired by one or more of the cameras 170.
In some examples, the server 140 associates pour events with bartenders 104 who perform the pours. For example, associations are established by reading wearable identifiers 106, by matching detected pour signatures of bartenders 104 with learned pour signatures for those bartenders 104, by processing video from cameras 170, and/or in other ways. In this manner, the system may detect overpours and underpours, product substitutions, and other errors, and may associate such errors with particular bartenders 104.
The barrel 220 is configured to insert into the mouth 122 of a bottle 120 (
As further shown in
Shown to the right of
Microcontroller 260 is preferably a small, very low power SoC (system on a chip), which includes a processor, RAM (random access memory), and persistent memory (e.g., flash). It also preferably includes a built-in Bluetooth antenna and associated circuitry. A suitable example of microcontroller 260 is the RSL10 Multi-Protocol System-on-Chip, which is available from ON Semiconductor of Phoenix, Ariz.
IMU 270 preferably includes accelerometers and gyroscopes for tracking position, movement, and orientation in three-dimensional space. A suitable example of IMU 270 is the LSM6DS0, which is available from STMicroelectronics of Geneva, Switzerland. The LSM6DS0 also measures temperature and has a six-axis sensor for measuring up to six forces and torques simultaneously.
When equipped with very low power electronics, such as the components described above, the spout 110 is expected to have a long service life and never to require recharging or battery replacement. Of course, the ability to recharge or replace batteries may be provided if desired.
As further shown in
Pour detector 360 is configured to detect pours from the spout 110. For example, the pour detector 360 may identify a start pouring time in response to the spout 110 tipping past a predetermined angle from vertical, such as 40 degrees. The pour detector 360 may generate an estimate of volume of a pour based on spout angle and elapsed time after the start time. The pour detector 360 may further detect a stop pouring time in response to the spout tipping past the predetermined angle in an opposite direction. In some examples, the spout 110, server 140, or other component stores viscosity data for the particular beverage being poured, and the volume poured from the spout 110 is further estimated based on viscosity. In some arrangements, the spout 110, server 140, or other device measures local temperature, and the volume poured is further estimated based on temperature.
Data log 170 is configured to store data related to pours and/or other events. For example, spout 110 may accumulate data and hold the data temporarily pending transmission to the server 140. With this arrangement, spout 110 may temporarily lose Bluetooth connectivity to the server 140 but may continue to operate normally, logging data related to new pours and sending the accumulated data to the server 140 once connectivity is reestablished. Therefore, no pour data need be lost.
Kinematics engine 380 is configured to track, based on input from IMU 270, movements and orientations of the spout 110 associated with pour events. For example, kinematics engine 380 analyzes multiple pour events for a given bartender 104 and characterizes the particular movements of that bartender while executing pours, generating a pour signature specific to that bartender.
The pour signature for each bartender may be based on whether the bartender is right-handed or left-handed, on lengths of the bartender's limbs, on joint positions, and so forth. Once the kinematics engine 380 has characterized a bartender's pour signature, it may apply that signature as a basis for uniquely identifying that bartender later. For example, the kinematics engine 380 may sample the IMU 270 during a pour by an unknown bartender, generate a signature for that pour, and then search for a match to that signature in a database. A matching signature uniquely identifies the bartender. In this manner, the spout 110 and/or server 140 can associate particular pours with respective bartenders 104, enabling pouring behaviors or bartenders 104 to be tracked and recorded. In some examples, the kinematics engine 380 acts in cooperation with other devices, such as server 140 or some other device, to perform computationally intensive tasks associated with signature characterization and matching. Such tasks may include the application of machine learning and/or convolutional neural networks.
As further shown in
Spouts 110 may join or leave clusters 810 based on proximity. For example, a spout 110r on bottle 120r may roam around the area 102. In response to detecting a beacon from device 820b, spout 110r may join cluster 810b in station 800b. If spout 110r is later moved to station 800a, spout 110r may leave cluster 810b and join cluster 810a.
Clusters 810 may serve multiple purposes. For example, assigned devices 820 may have higher power than spouts 110, may have longer communication ranges than spouts 110, and may be capable of enhanced features, such as playing sounds, powering displays, and/or performing complex data processing. Assigned devices 820 may use larger power sources than do spouts 110. For example, devices 820 may be plugged in to electrical outlets 830 to receive line power and/or may have larger batteries than do spouts 110.
Some serving stations 800 may be too far away from the server 140 to allow for low-power Bluetooth communications between spouts 110 and the server 140. In such cases, assigned devices 820 may act as communication gateways for spouts 110 belonging to respective clusters 810. Such devices 820 may use short-range Bluetooth for communicating with spouts 110 in the same clusters 810 but may use longer-range Bluetooth (or other protocols) for communicating with the server 140. One should appreciate that spouts 110, assigned devices 820, and other devices may be arranged in a hierarchy, with devices at different levels of the hierarchy having respective functions that differ from those of devices at other levels.
In some examples, the spout 110 measures an amount of beverage poured by repeatedly sampling the IMU 270 over time. In some examples, the spout 110, server 140, or other component (such as assigned device 820) stores viscosity data for the particular beverage being poured, and the volume poured from the spout 110 is further estimated based on viscosity. In some arrangements, the spout 110, server 140, or other device measures local temperature, and the volume poured is further estimated based on temperature.
In some examples, the spout 110 varies a sampling rate of the IMU 270 based on a detected angle of the spout 110. For instance, the spout 110 may sample the IMU 270 at a higher rate within the interval of the pour and at a lower rate outside that interval.
In some examples, the spout 110 operates in a low-power sleep state when the IMU 270 detects a stable, upright position, which is indicative of the bottle 120 sitting on a shelf or table 130. The spout 110 may make occasional measurements of the IMU 270 during the sleep state, such as once per second. In response to detecting movement of the spout 270 based on IMU measurements, the spout 110 may exit the sleep state and enter an active state, during which it samples the IMU 270 at a higher rate. While operating in the active state, the spout 110 may measure any number of pours and may communicate its pour data to the server 140 or other component, e.g., over the Bluetooth connection. The spout 110 may return to the sleep state after detecting that it has returned to a stable, upright position, e.g., in response to a determined interval of low IMU activity.
In some examples, the cameras 170 may be controlled by a spout 110, the server 140, or some other device. For example, in response to a spout 110 detecting a pour event, the spout 110 or server 140 may direct one or more of the cameras 140 to focus on a particular area, to adjust exposure, and so forth. Cameras 170 may therefore operate in response to input from the spouts 110, server 140, or other devices.
Improved techniques have been described for monitoring dispensed liquids. Such techniques involve the use of an intelligent spout 110 that incorporates an IMU (Inertial Measurement Unit) 270 for tracking its own orientation and movement in three-dimensional space. The spout 110 has its own processor 330, memory 340, and wireless networking components 310, which support local data processing, data logging, and bi-directional wireless communication. Communication may be carried out with a server 140, with other spouts 110 of like kind, and/or with other devices, such as superspouts 820. As the intelligent spout 110 tracks its own orientation and position in three-dimensional space, it can easily distinguish single long pours from multiple short pours by detecting its own horizontal movement along a line of cups or glasses. As has been further described, the enhanced capabilities of the intelligent spout 110 enable many novel and useful applications.
Having described certain embodiments, numerous alternative embodiments or variations can be made. For example, embodiments may be constructed for measuring pours of other liquids besides alcoholic beverages and related drinks. These may include monitoring pours for food preparation, e.g., in a restaurant setting, for mixing paints, or for pouring liquids of any kind for any purpose.
Although features have been shown and described with reference to particular embodiments hereof, such features may be included and hereby are included in any of the disclosed embodiments and their variants. Thus, it is understood that features disclosed in connection with any embodiment are included in any other embodiment.
Further still, the improvement or portions thereof may be embodied as a computer program product including one or more non-transient, computer-readable storage media, such as a magnetic disk, magnetic tape, compact disk, DVD, optical disk, flash drive, solid state drive, SD (Secure Digital) chip or device, Application Specific Integrated Circuit (ASIC), Field Programmable Gate Array (FPGA), and/or the like (shown by way of example as medium 950 in
As used throughout this document, the words “comprising,” “including,” “containing,” and “having” are intended to set forth certain items, steps, elements, or aspects of something in an open-ended fashion. Also, as used herein and unless a specific statement is made to the contrary, the word “set” means one or more of something. This is the case regardless of whether the phrase “set of” is followed by a singular or plural object and regardless of whether it is conjugated with a singular or plural verb. Also, a “set of” elements can describe fewer than all elements present. Thus, there may be additional elements of the same kind that are not part of the set. Further, ordinal expressions, such as “first,” “second,” “third,” and so on, may be used as adjectives herein for identification purposes. Unless specifically indicated, these ordinal expressions are not intended to imply any ordering or sequence. Thus, for example, a “second” event may take place before or after a “first event,” or even if no first event ever occurs. In addition, an identification herein of a particular element, feature, or act as being a “first” such element, feature, or act should not be construed as requiring that there must also be a “second” or other such element, feature or act. Rather, the “first” item may be the only one. Also, and unless specifically stated to the contrary, “based on” is intended to be nonexclusive. Thus, “based on” should not be interpreted as meaning “based exclusively on” but rather “based at least in part on” unless specifically indicated otherwise. Although certain embodiments are disclosed herein, it is understood that these are provided by way of example only and should not be construed as limiting.
Those skilled in the art will therefore understand that various changes in form and detail may be made to the embodiments disclosed herein without departing from the scope of the disclosure.
This application claims the benefit of U.S. Provisional Patent Application No. 62/977,895, filed Feb. 18, 2020, the contents and teachings of which are incorporated by reference herein in their entirely.
Number | Date | Country | |
---|---|---|---|
62977895 | Feb 2020 | US |