METHOD AND SYSTEM FOR MONITORING, MANAGING, AND CONTROLLING FUEL DISPENSERS
20190330047 ยท 2019-10-31
Inventors
- Arjun Kumar Joginipelly (Acworth, GA, US)
- Kishore Gangwani (Lincolnshire, IL, US)
- Bryant Elliot (Kennesaw, GA, US)
Cpc classification
G06Q20/18
PHYSICS
G07F9/001
PHYSICS
G07F9/002
PHYSICS
B67D7/145
PERFORMING OPERATIONS; TRANSPORTING
G07F9/026
PHYSICS
B67D7/04
PERFORMING OPERATIONS; TRANSPORTING
B67D7/32
PERFORMING OPERATIONS; TRANSPORTING
G06Q20/202
PHYSICS
B67D7/3245
PERFORMING OPERATIONS; TRANSPORTING
International classification
B67D7/32
PERFORMING OPERATIONS; TRANSPORTING
B67D7/10
PERFORMING OPERATIONS; TRANSPORTING
B67D7/22
PERFORMING OPERATIONS; TRANSPORTING
Abstract
A dispenser interface module connects with an existing main processing board of a fuel dispenser via an existing data port of the main board and via a current loop communication link connection of the main board. The dispenser interface module determines an idle condition of the dispenser from analysis of signals on the link, without disturbing the signals on the link, and only performs actions such as reboot or software update of the main board, or retrieval of data from the main board through the data port, during the idle condition. The dispenser interface module may compress data retrieved through the data port by removing previously retrieved records from the retrieved data. The dispenser interface module instructs a communication module to wirelessly transmit the compressed data to a remote server for analysis. The communication module wirelessly receives, and forwards to the dispenser interface module, reboot or update messages and instructions.
Claims
1. A device, comprising: a first dispenser interface coupled to a communication port of a fuel dispenser; a dispenser interface module coupled to the first dispenser interface; a communication module coupled to the dispenser interface module; and wherein the dispenser interface module includes a dispenser interface module processor to: receive first dispenser data from the first dispenser interface; process the first dispenser data to create first processed dispenser data; and cause the communication module to transmit the processed first dispenser data to an element of a communications network with which the communication module is configured to communicate.
2. The device of claim 1 wherein the communication module includes a long-range wireless communication modem.
3. The device of claim 1 further comprising a second dispenser interface that couples with a communication link between the fuel dispenser and a dispenser management station device that includes a two-wire current loop, wherein the second dispenser interface couples to second dispenser interface circuitry to obtain second dispenser data from signals passing on the two-wire current loop, and wherein the second dispenser interface circuitry does not disrupt signals that pass between the dispenser and the dispenser management station on the two-wire current loop.
4. The device of claim 1 wherein the dispenser interface module processor causes the communication module to transmit a message when the dispenser interface module processor determines that the first dispenser data or the second dispenser data indicate that the fuel dispenser has experienced an abnormal condition.
5. The device of claim 3 wherein the second dispenser interface couples to a high common mode ratio rejection differential amplifier circuit that detects the second dispenser data from the communication link between the fuel dispenser and the dispenser management station and provides the second dispenser data to the dispenser interface module processor.
6. The device of claim 2 wherein the communication module includes a SIM that can operate on multiple mobile network operators' networks, and wherein the communication module includes a communication module processor to select which of the multiple mobile network operators' networks to operate on based on network metrics.
7. The device of claim 1 wherein the first dispenser data includes at least one data file, wherein the dispenser interface module processor is further to compare a current version of one of the at least one data file to a previous version of the one of the at least one data file, and to cause the communication module to transmit only differences between the current version and the previous version of the one of the at least one data file.
8. The device of claim 7 wherein the data condition is met when the first or second dispenser data indicate that the dispenser has experienced an abnormal condition.
9. The device of claim 1 wherein the processed first dispenser data includes less than all of the first dispenser data, wherein the processed first dispenser data includes first dispenser data that is relevant to a particular desired recipient and does not include first dispenser data that is not relevant to the particular desired recipient.
10. A method, comprising: monitoring with a dispenser interface module dispenser signal levels of a main board of a fuel dispenser via a current loop connection; and managing the main board with the dispenser interface module.
11. The method of claim 10, wherein the managing of the main board includes transmitting communication signals from the dispenser interface module to the main board but does not include transmitting communication signals from the dispenser interface module to the main board via the current loop connector.
12. The method of claim 10 wherein the managing of the main board includes interrupting power to the main board only when the monitoring of the dispenser signal levels of a main board of the fuel dispenser via the current loop connection indicates that the fuel dispenser is idle.
13. The method of claim 10 wherein the current loop connection includes a y-harness that connects an existing station's current loop communication link to a dispenser interface module and to a main board of the fuel dispenser.
14. The method of claim 10 wherein the managing of the main board includes retrieving data from the main board via a data port of the main board and wherein the retrieving of the data from the main board occurs only when the monitoring of the dispenser signal levels of a main board of the fuel dispenser via the current loop connection indicates that the fuel dispenser is idle.
15. The method of claim 10 wherein the managing of the main board includes retrieving fuel dispenser historical data from the main board via a data port of the main board of the fuel dispenser, and wherein the managing of the main board further includes: compressing the fuel dispenser data retrieved via the data port to result in compressed fuel dispenser data that does not include data except for data that the fuel dispenser has generated since a previous iteration of retrieving of fuel dispenser historical data; and transferring the compressed fuel dispenser data to a communication module for communication of the compressed fuel dispenser data to a remote server.
16. The method of claim 15 further comprising: receiving the compressed fuel dispenser data; determining one or more existing conditions associated with the fuel dispenser based on the received compressed fuel dispenser data; generating a dashboard interface that indicates the one or more existing conditions; determining a corrective action recommendation based on the one or more existing conditions; and generating a dashboard interface that indicates the corrective action recommendation.
17. The method of claim 10 further comprising: receiving the compressed fuel dispenser data; combining the received compressed fuel dispenser data with previously received compressed fuel dispenser data to create uncompressed fuel dispenser data; determining one or more existing conditions associated with the fuel dispenser based on the received compressed fuel dispenser data; generating a dashboard interface that indicates the one or more existing conditions; determining a corrective action recommendation based on the one or more existing conditions and based on the uncompressed fuel dispenser data; and generating a dashboard interface that indicates the corrective action recommendation.
18. A method for retrofitting a fuel dispenser, comprising connecting a dispenser interface module to a main board of the fuel dispenser via a current-loop connection; connecting the dispenser interface module to the main board via a data port connection of the main board, wherein the current loop connection is not the data port connection; and providing a communication module that communicates with the dispenser interface module via a data connection such that data retrieved via the data port connection of the main board is provided for communication via the communication module over a communication network to a remote analytics and management server that is in communication with the communication network.
19. The method of claim 18 wherein the current-loop connection is part of a y-harness for connecting an existing station's current loop communication link to the dispenser interface module and to the main board of the fuel dispenser and wherein electronics of the dispenser interface module substantially do not disturb signals that traverse the current-loop communication link.
20. The method of claim 19 further comprising: connecting a power supply, which previously was connected to the main board, to a first side of a switch that is controlled by a processor of the fuel dispenser interface module; connecting a second side of the switch to a power supply connection of the main board that the power supply was previously connected to; and wherein the processor of the dispenser interface module will not instruct the switch to interrupt power to the main board when the processor determines that the fuel dispenser is in use based on a determination that signal levels on the current-loop communication link correspond to the dispenser not being in an idle condition.
Description
BRIEF DESCRIPTION OF DRAWINGS
[0040]
[0041]
[0042]
[0043]
[0044]
[0045]
[0046]
[0047]
[0048]
[0049]
[0050]
DETAILED DESCRIPTION
[0051] As a preliminary matter, it will be readily understood by those persons skilled in the art that the present invention is susceptible of broad utility and application. Many methods, embodiments, and adaptations of the present invention other than those herein described as well as many variations, modifications and equivalent arrangements, will be apparent from or reasonably suggested by the substance or scope of the present invention.
[0052] Accordingly, while the present invention has been described herein in detail in relation to preferred embodiments, it is to be understood that this disclosure is only illustrative and exemplary of the present invention and is made merely for the purposes of providing a full and enabling disclosure of the invention. The following disclosure is not intended nor is to be construed to limit the present invention or otherwise exclude any such other embodiments, adaptations, variations, modifications and equivalent arrangements, the present invention being limited only by the claims appended hereto and the equivalents thereof.
[0053] Turning now to the figures,
[0054] During operation of one of the fuel dispensers 6, a dispenser may generate operational information, including information such as number of gallons dispensed, time of dispensing, time of the beginning of dispensing, time of the ending of dispensing, any error messages or error codes that may relate to a component of the fuel dispenser environmental information such as moisture content or temperature of the tank containing fuel that the dispenser dispenses, and other information pertinent and relevant to the dispensing of fuel from the dispenser. Operational information may be generated by a component of a fuel dispenser 6 and may be stored on that component. Operational information may be retrieved from the component that stores operational information via a serial port connection. Operational information may be provided on current loop 8 to a server in fuel station 4. For purpose of discussion herein, reference to server 4 may be understood as referring to a fuel server that is typically located inside a fuel station building such as a gas station or convenience store. In relation to aspects disclosed herein and described in reference to other figures, current loop 8 shown in
[0055] Continuing with discussion of
[0056] Two-wire current loop 8 typically conveys information from one or more of the dispensers 6 that may be detected and analyzed by a novel dispenser interface module to determine whether the given dispenser is in use or is idle (i.e., idle meaning that the dispenser is or is not being used by a user to dispense fuel). Information conveyed between a dispenser 6 and gas station server 4 may be conducted as signals having levels that represent digital, or logical, 0s and 1s. Current amplitudes of a signal, or signals, transported on current loop 8 that fall within a predetermined range, such as between 4 mA and 50 mA, may represent a logical 1; amplitudes falling within another range, for example 4 mA or less may represent a logical 0 for communication in one direction along the current loop; and amplitudes falling within another range, for example, 50 mA or greater, may represent a logical 0 in the other direction. Preferably, while the dispenser is in use as indicated by a non-idle signal on two-wire current loop 8, operational information and control messages are not transmitted, received, or otherwise communicated via the serial port connection of the component that generates and stores the operational information (typically the main board of a dispenser). Such transmitting, receiving, or otherwise communicating of operational information, or dispenser information/data, is not communicated via the two-wire current loop 8 and is only communicated via the serial port of the dispenser's main board while the dispenser is idle. The component that generates and stores operational information, files, dispenser data, etc. and that may control many operations of a given dispenser generally includes processing circuitry, including a microprocessor; is typically implemented on a circuit board; is generally referred to herein as a given dispenser's main board; and is typically supplied with a dispenser as provided by the dispenser's original manufacturer.
[0057] To minimize usage of resources on wireless link 10, a component of a given fuel dispenser 6 may parse, compress, process, or modify operational data retrieved from the component that stores the operational data before causing the operational data to be transmitted via the long-range wireless link 10.
[0058] Turning now to
[0059] Dispenser interface module 24 may include a differential amplifier circuit 30 coupled with two-wire current loop 8 to determine when dispenser 6 is idle. Dispenser interface module 24 may couple to current loop 8 with y-harness 32. Y-harness 32 may include a y-adapter connector 34 to provide connections for two conductors of current loop 8 to: main board 20 via a main board current loop connector 34, to dispenser interface module 24 via dispenser interface module current loop connector 36, and to a station current loop communication link 37 (which may provide connectivity between a dispenser and a dispenser server at, or in, a fueling station) via a station current loop connector 38. Thus, instead of referring to current loop 8 as shown in
[0060] Dispenser interface module 24 may determine that main board 20 needs to be restarted to clear an error code, to unfreeze the main board, or for some other purpose. Upon determining that dispenser 6 is idle by evaluating signal levels on two-wire current loop 8, (idle signal levels will be described in more detail infra), dispenser interface module 24 may cause switch 40 to interrupt power from power supply 42, which may not only provide power to the dispenser interface module but may also provide power to main board 20. Thus, for example, after determining that a reboot of main board 20 is necessary or desirable, and upon determining that fuel dispenser 6 is idle based on signal values on two-wire current loop 8 corresponding the dispenser, dispenser interface module 24 may interrupt and then reconnect power from power supply 42 to main board 20.
[0061] In an aspect, instead of taking the action of interrupting power to main board 20 to reboot the mainboard, dispenser interface module 24 may determine, from an evaluation of signals on two wire loop 8, that dispenser 6 is idle and then retrieve information from, or send command signals, messages, or other information to, main board 20 via ports 22 and 26. The figure indicates that an idle condition may exist when current signal amplitudes detected on loop 8 are at levels that fall in an idle condition current range between 4 and 50 mA. However, the idle condition current range may be selected as being bounded by different current values than 4 and 50 mA. Furthermore, as will be described below at least in reference to
[0062] Continuing with description of
[0063] Turning now to
[0064] Continuing with discussion of
[0065] Processor 44 may also control switch 58 to regulate, provide, or interrupt power being provided at connector 60, which may be a serial port connector such as a Universal Serial Bus (USB) connector.
[0066] Communication module 28 connects to dispenser interface module 24 via a serial connection, such as a USB connection via connector 62. Data, messages, or commands received from dispenser interface module 24 may be provided to communication module 28 for communication via wireless modem 64, which is shown in the figure as a U-Blox brand cellular processor but may be a different type or brand of cellular processor. Modem 64 may include a Wi-Fi processing circuit, Bluetooth processing circuitry, Z-wave or other circuitry for facilitating communication via other wireless protocols. It will be appreciated that dispenser interface module 24 and communication module 28 may be implemented as separate circuitry on separate respective circuit boards, separate circuits portions of a System on a Chip (SOC) or, may be implemented as circuit portions on a single circuit board. In an aspect, communication module 28 may be implemented as a short range wireless modem such as Wi-Fi, Bluetooth, Z-wave, or similar, and may be configured to communicate to a nearby having a modem, either a wired or long-range-wireless modem (such as cellular, LTE, 5G, etc.), which would then provide a connection to communication network 18 as shown in
[0067] Turning now to
[0068] Current loop sensing amplifier 30 is preferably a differential amplifier, that may be implemented using an operational amplifier (op amp) integrated circuit (IC) or may be implemented using discrete electronic components. Inputs 70 of amplifier 30 detect voltage levels between link conductors 37A and 37B, which voltage levels are proportional to current flowing in current loop 37. Output 72 of amplifier 30 is proportional to the current difference between link conductors 37A and 37B and the corresponding voltage difference present at inputs 70.
[0069] In an aspect, when a fuel dispenser 6 communicates with a dispenser server 4, located in a gas station building for example, messages may be transmitted from the dispenser to the server as digital bits with current levels near 50 mA representing a digital/logical zero, or 0, and current levels near 20 mA as a digital/logical one, or 1. Messages may be transmitted from server 4 to dispenser 6 on current loop 37 as digital bits with current levels near 4 mA representing a digital/logical 0 and current levels near 20 mA as a digital/logical 1. Resistors 68 and 69, at the dispenser end and server end of current loop communication link 37, respectively, translate current on the current loop communication link into voltage levels that are presented at inputs 70 of differential amplifier 30.
[0070] Output 72 of amplifier 30 is fed to threshold determining block 74. Threshold determining block 74 includes idle voltage determining amplifier 76. Idle voltage determining amplifier 76 may be configured, via biasing or feedback loop resistors, and low pass filter components (which are not shown for clarity), to output a steady DC voltage that corresponds to the average current on current loop 37. The average current on loop 37 practically corresponds to amplitude of current on the loop that represents a logical 1 based on the assumption that because a logical 1 is represented in serial communication signals in either direction between dispenser 6 and server 4 by the same current level on link 37, (i.e., nominally about 20 mA) this most common amplitude level therefore is the average signal level of signals on the loop. Moreover, because communication between dispenser 6 and server 4 share a logical 1 current value on current loop communication link 37, a logical 1 for an extended, configurable, predetermined period may be assumed to represent a period during which dispenser 6 is idle (i.e., not being used by a customer to dispense fuel).
[0071] The output from idle voltage determining amplifier 76, which averages voltages at output 72 that corresponds to an average current value on communication link 37, may be referred to as V_idle. V_idle is directed to an input of dispenser threshold amplifier 78 and to an input of server threshold amplifier 80. Outputs of +1V dispenser reference voltage source 82 and 1V server voltage reference source 84 are provided to the other inputs of dispenser threshold amplifier 78, and server threshold amplifier 80, respectively, which may both be configured to operate as summing amplifiers. By providing the +1V and 1V references to corresponding dispenser threshold amplifier 78 and server threshold amplifier 80, respectively, an idle voltage range is established such that a voltage at output 72 of amplifier 30 must exceed (1+V_idle) to indicate a logical 0 for a serial message being transmitted from dispenser 6 to server 4, and a voltage level must fall below (V_idle1) to indicate a logical 0 for a serial message being transmitted from the server to the dispenser. Thus, the output of dispenser threshold amplifier 78 is a voltage level directed to a noninverting input of dispenser comparator 86 such that a voltage at output 72, which is directed to an inverting input of the dispenser comparator, must exceed the output of amplifier 78 to indicate a logical 0 for communication from dispenser 6 to server 4, and the output of server threshold amplifier 80 is a voltage level directed to an inverting input of sever comparator 88 such that a voltage at output 72, which is directed to an inverting input of the server comparator, must fall below the output of amplifier 80 to indicate a logical 0 for a communication from the server to the dispenser. A voltage at output 72 that falls between the voltages at outputs from the dispenser threshold amplifier 78 and the server threshold amplifier 80 indicates a logical 1 for communications between dispenser 6 and server 4 regardless of which is transmitting and which is receiving.
[0072] Thus, in an aspect, threshold determining block 74 determines, from output voltage levels at output 72, a range of voltages that correspond to a logical 1 level as represented by a signal level on current loop communication link 37 between dispenser 6 and server 4. In addition, if a voltage level at output 72 remains within the idle voltage range, as determined by block 74, for a predetermined period, dispenser 6 is assumed to be idle, or not in use by a user.
[0073] Turning now to 4B, a screen shot of a signal analysis display shows a V_idle voltage level 89 dispenser threshold level 90 and a server threshold level 92. In the screen shot, V_idle corresponds to an average current level on current loop communication link 37 that represents a logical 1 for communication, in either direction, between dispenser 6 and server 4. Signal amplitude 94 is shown with a level exceeding dispenser threshold 90 and thus indicates a representation of a logical 0 for communication from dispenser 6 to server 4. Likewise, signal amplitude 96 indicates a value falling below server threshold 92 and thus indicates a current on current loop communication link 37 representing a logical 0 for communication from server 4 to dispenser 6. It will be appreciated that the displacement in
[0074] The outputs from comparators 86 and 88 are used by UART circuitry to recreate on dispenser interface module 24 messages information communicated serially on current loop communication link 37 from dispenser 6 to server 4, and from the server to the dispenser, respectively. The dispenser interface module may process the recreated message information for various purposes, including determining that dispenser 6 is idle (i.e., not being used by a consumer to dispense fuel), or to determine that an abnormal condition exists at dispenser 6.
[0075] Turning now to
[0076] Turning now to
[0077] Turning now to
[0078] Server 16 may include REST server functionality, which may include functionality to interpret and process information, date, and files from a variety of different types of gas station servers 4 and from a variety of fuel dispensers 6. The REST functionality may be embodied or implemented via REST gateway 98, which may include functionality facilitated by and generated according to a fuel dispenser messaging API. Messages received via gateway 98 may be stored in a message queue 100 before being processed at block 102. Processed messages from block 102 may be stored in analytics storage block 104. Server 16 may process information stored in block 104 with interface processing block 106. Processing block 106 may include functionality to generate various user interfaces, which may be referred to as dashboards, with dashboard generator 108. Examples of dashboard interfaces are provided, infra, in
[0079] Management personnel may use dashboards to create or modify rules for generating alerts regarding dispensers 6 or servers 4 using alert rules engine block. Management may manually issue alerts based upon their personal evaluation of information pertaining to one or more of dispensers 6 or servers 4. Or, rules engine 110 may automatically generate alerts based on information received from servers 4 or dispensers 6. Alerts may be transmitted to servers 4, to dispensers 6, or to user devices, such as computers or smartphones of service technician personnel who service and work on dispensers 6 and servers 4. Alerts may include commands that are transmitted to dispensers 6 according to unique identifiers of communication modules 28 or dispenser interfaces modules 24, as disclosed elsewhere herein. Commands may include directions for a service technician to physically visit a given dispenser 6 or server 4 according to location information and work load information associated with the technician as well similar information associated with other technicians. Dashboard generator 108 may work in conjunction with device management user interface generator 112 to produce the dashboards. In such a scenario, dashboard generator 108 may determine information to provide to the interface generator 112, and then provide the information to the interface generator, which may determine how to present the information to a user and how to receive input from the user to update or control the sending of commands or alerts.
[0080] Device inventory management processing block 114 may receive information generated by sensors at dispensers 6, such as, for example, number of gallons of fuel remaining in an in-ground storage tank that a given dispenser pumps fuel from. Processing block 114 may receive information from sensors at a given dispenser 6 such as the status of a dispenser compartment door, humidity at the dispenser's location, amount of water in an in-ground storage tank, error codes associated with a given dispenser or its components, and the like. Device management block 114 may provide such sensor information to dashboard generator 108 which may provide such information to interface generator 112 for presentation to a user. A user interface generated by generator 112 may include various control items presented on a touch screen display, audio invitations to provide information manually through a touch screen or via voice commands through a microphone.
[0081] The device management user interface may provide a way to manage the sensors and provision them for use with a given dispenser. A device administration manager may look at the active sensors at different gas station locations to see if they are working properly and sending data properly to an analytics server. Provisioning of deployed sensors may include authorizing them for communication with the analytics server, which may include a REST API gateway.
[0082] A Rest API Gateway may comprise a collection of web servers to accept payload from sensors that provide gas station pump metrics and to write the payload into a message queue for further processing. This API gateway may be configured to send commands back to a dispenser interface module, or to sensors themselves.
[0083] The messaging queue may perform further processing to make the payloads intelligible and may project future issues that may arise with a given dispenser, or groups of dispensers, by analyzing data received from one or more dispenser interface modules. Data received at an analytics server may be stored in a persistent data store to facilitate users of a dashboard user interfaces to understand and manage potential or ongoing issues at one or more fuel dispensers.
[0084] An analytics user interface may allow dashboard users to read data from the persistent data store. A dashboard user interface may present a current status/health of one or more fuel dispenser at various locations. Users may be able to look at the stored data in a timeline fashion to see the health or progress of fuel dispenser errors and may provide a way for dispenser administrators to assign issues at gas stations to technicians and view the status and repair progress relative to those issues until resolution. Technicians may be able to log onto this system and view the issues assigned to them along with error code, corresponding descriptions, and corrective action recommendations associated with one or more fuel dispensers.
[0085] Turning now to
[0086]
[0087]
[0088]
[0089]
[0090] Turning now to
[0091] If at step 930 a processor of the dispenser interface module determines that an idle condition exists, method 900 advances to step 935. At step 935 dispenser interface module may poll the dispenser's main board and retrieve information, error codes, log files, and other data via an existing serial port of the dispenser's previously existing main board. At step 940 the dispenser interface board may determine whether retrieved data is of the type or size that warrants compression. For example, if a log file retrieved through the existing serial port of the main board includes numerous data records, some of which may have already been retrieved during a previous retrieval iteration through the serial port, the processor of the dispenser interface module may determine which data records have already been retrieved and uploaded and may determine that those previously retrieved data records may be excised, with a new/compressed version of the data files having the not-needed data records excised/removed. Such excising of previously uploaded data records may be referred to as data compression. By performing such data compression at the processor of the dispenser interface module only recently generated data records are further processed and transmitted from the dispenser.
[0092] However, some data retrieved at step 935 may not include data files that include data records that were previously retrieved or uploaded. Therefore, for some types of information, or data files, compression may not be needed.
[0093] At step 945 a processor of the dispenser interface module determines whether a determination was made at step 940 that a recently retrieved data file is of the type that should be compressed, and methods 900 advances to step 950 if a determination of compression as being preferable was made at step 940. At step 950, the processor of dispenser interface module performs compression of data and may perform encryption of the compressed data. If a determination is made at step 945 that data compression was not deemed as being needed, method 900 advances to step 955.
[0094] At step 955 the processor of the dispenser interface module forwards the compressed (and encrypted if encryption was performed at step 950) version of retrieved data if compression was required, or an uncompressed version (and encrypted if the processor is programmed to perform encryption of the uncompressed data) of the retrieved data if compression was not required, to the communication module for upload to an analytics server, the upload preferably occurring via a long range wireless communication network link, such as a cellular telephony data network link. Method 900 ends at step 960.
[0095] Turning now to
[0096] Regarding handling of data stored in the main board of a given dispenser, dispenser log files may be periodically retrieved from the main board. The dispenser interface module may interpret the retrieved dispenser data for processing. The retrieved data files may be compared with previously retrieved data to identify new data. The new data, while standing alone from the previously generated and retrieved data may be referred to as compressed data and may be encrypted for transmission by the communication module. The dispenser interface module may periodically command the cellular board to open connections to the cellular network based on determination that predetermined events have occurred. The compressed and encrypted dispenser data and event data may be transferred from the dispenser interface module to the cellular module to transmit the data to a communication networks, such as a cellular network.
[0097] The transmitted data is received at an analytics server, which may be operated by a services provider company, such as a company that provides analytic data to operators of fuel dispenser. At the analytics server, the received data may be decrypted and decompressed for analysis and presentation to the customer (i.e., operators/owners of fuel dispensers) via a web portal or a mobile application.
[0098] The analytics server may also send messages via communication network cloud infrastructure to the cellular communication module in forms such as SMS or internet protocol message that may be used by the dispenser interface module to control an action at a given dispenser. These message signals are forwarded from the communication module to the dispenser interface module. These message signals may be acted on by the dispenser interface module to cause the performing of a variety of actions including rebooting the dispenser, ingesting the latest log data and send the data, downloading new firmware to be installed on the dispenser's main board, and the like. The download-firmware command allows new features and commands to be deployed locally at each dispenser.
[0099] Methods, sequences and/or algorithms described in connection with the embodiments disclosed herein may be embodied directly in firmware, hardware, in a software module executed by a processor, or in a combination thereof. A software module may reside in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, hard disk, physical and/or virtual disk, a removable disk, a CD-ROM, virtualized system or device such as a virtual servers or container, or any other form of storage medium known in the art. An exemplary storage medium is communicatively coupled to the processor (including logic/code executing in the processor) such that the processor can read information from, and write information to, the storage medium. In the alternative, the storage medium may be integral to the processor. Aspects disclosed herein may provide for a non-transitory machine and/or computer readable storage and/or media, having stored thereon, a machine code and/or a computer program having at least one code section executable by a machine and/or a computer, thereby causing the machine and/or computer to perform the steps as described herein.