Patent Description:
Fluid management has become increasingly important to control the costs of fluid overhead. For example, many vehicle fleet managers and auto dealerships have installed fluid management systems to efficiently dispense fluids, such as motor oil and transmission fluid. Such fluid management systems frequently include a fluid tank and a pump located away from a dispensing point. Fluid management systems can include wireless transmission and reception of meter and tank level information to make it simple to track the fluid dispensing of an entire facility. Fluid management systems can also include an authorization control that prevents fluid dispensing without prior authorization.

Fluid management systems typically include a pump control and a dispensing point, such as a dispense meter. The software controlling the fluid management system may be operated from a personal computer ("PC") or other computing platform. The PC can be located near the fluid dispensing point, such as at a vehicle technician work station, for example, or in various other locations. The PC may be configured to communicate, and in many cases, control at least one other component in the fluid management system, such as the dispense meter, the pump control, and/or a tank monitor. The PC may also be configured to collect, aggregate, analyze, and report fluid usage and statistics. The PC may also include a transceiver configured to communicate with the fluid management system hardware through a wireless network.

PC-based software for a fluid management system relies upon both the operating system of the PC and the communication hardware and software of the PC. If either the operating system or hardware of the PC is not operating properly, the fluid management software will not function. Updates to firewall security on the PC can prevent the fluid management software operating on the PC from connecting with the fluid management hardware, such as the fluid management pump or dispensing meter. Patches or updates to the PC operating system, fleet management system, or dealership management system, or an entirely new version of an operating system, can also affect the operation of the fluid management software and communication between the fluid management software and the fluid management hardware, and can prevent integration of the fluid management software and the fleet management software.

Prior art in this technical field is disclosed by document <CIT>.

According to the invention, a fluid management system includes the features of claim <NUM>.

According to the invention, a method includes the features of claim <NUM>.

According to yet another aspect of the disclosure, a fluid management controller includes a processor; a wireless transceiver configured to enable wireless communication between the fluid management controller and one or more fluid management components; and a computer readable memory encoded with instructions that, when executed by the processor, cause the fluid management controller to authorize the at least one fluid management component to initiate a dispense event, and collect data received from the at least one fluid management component.

<FIG> is a schematic block diagram of fluid management system <NUM>. Fluid management system <NUM> includes fluid management controller <NUM>, fluid management components 104A-C (collectively herein "fluid management components <NUM>"), user interface devices 106A-N (collectively herein "user interface devices <NUM>"), communication links <NUM> and <NUM>, tank <NUM>, pump <NUM>, and supply hose <NUM>. Fluid management controller <NUM> includes processor <NUM> and memory <NUM>. Fluid management components <NUM> include tank level monitor 104A, dispensing meter 104B, and pump controller 104C. User interface devices <NUM> include any suitable processor-based devices for communicating with fluid management controller <NUM>, such as personal computer (PC) 106A, mobile device 106B, and other mobile communication devices and organizer devices 106N. PC 106A can be a desktop, laptop, personal digital assistant, table computer, or other such device. Mobile device 106B can be a smartphone, tablet, or other such device.

Fluid management system <NUM> is a system for dispensing fluid and tracking fluid dispenses. For example, fluid management system <NUM> can be implemented in an automotive shop to dispense and track oil, coolant, and other automotive fluid dispenses. Tank level monitor 104A is attached to tank <NUM> and, in some examples, can extend into tank <NUM>. Tank level monitor 104A senses fluid level in tank <NUM> and is configured to communicate the tank level information to fluid management controller <NUM> over communication link <NUM>. Pump <NUM> is configured to drive fluid downstream from tank <NUM> to dispensing meter 104B through supply hose <NUM>. Pump controller 104C is connected to pump <NUM> and controls the activation of pump <NUM>. In some examples, pump controller 104C is located remotely from tank <NUM> and pump <NUM>. For example, where pump <NUM> is a pneumatic pump, pump controller 104C can be an air control unit configured to control the air supply to pump <NUM> and/or pressurization to tank <NUM> to prevent unauthorized dispenses and spills.

Fluid management controller <NUM> communicates with fluid management components <NUM> via communication links <NUM>. Communication links <NUM> can be individual connections, grouped connections, or a combination thereof. At least one of communication links <NUM> is a wireless connection. While illustrated in <FIG> as multiple communication links <NUM>, in some examples, fluid management components <NUM> can communicate with fluid management controller <NUM> over a common communication network. In some examples, communication links <NUM> can be wireless communication links. For example, fluid management controller <NUM> can host a wireless personal area network (PAN) that includes fluid management components <NUM>. It is understood, however, that while fluid management controller <NUM> can host a wireless PAN and communicate over the wireless PAN the communications can also be sent over an existing network, such as a local intranet and/or the Internet.

Fluid management controller <NUM> communicates with user interface devices <NUM> via communication link <NUM>, which can be a wired or wireless connection. In some examples, communication link <NUM> can be part of the same network as communication links <NUM>, or can be a direct connection such as an Ethernet connection. In one example, both communication links <NUM> and communication links <NUM> can be part of the wireless PAN hosted by fluid management controller <NUM>.

Fluid management controller includes processor <NUM> and memory <NUM>. In some examples, processor <NUM> and memory <NUM> are disposed on the same circuit board, such that fluid management controller <NUM> is a single-board computer ("SBC"). In other examples, memory <NUM> may be an external memory device such as external hard drive, flash drive, memory card, or other such device. Processor <NUM> is configured to implement functionality and/or process instructions. For instance, processor <NUM> can be capable of processing instructions stored in memory <NUM>. Examples of processor <NUM> can include any one or more of a microprocessor, a controller, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or other equivalent discrete or integrated logic circuitry.

Memory <NUM>, in some examples, can be configured to store information during operation. Memory <NUM>, in some examples, is described as a computer-readable storage media. In some examples, a computer-readable storage medium can include a non-transitory medium. The term "non-transitory" can indicate that the storage medium is not embodied in a carrier wave or a propagated signal. In certain examples, a non-transitory storage medium can store data that can, over time, change (e.g., in random access memory (RAM) or cache). In some examples, memory <NUM> is a temporary memory, meaning that a primary purpose of memory <NUM> is not long-term storage. Memory <NUM>, in some examples, is described as volatile memory, meaning that memory <NUM> does not maintain stored contents when power to fluid management controller <NUM> is turned off. Examples of volatile memories can include random access memories (RAM), dynamic random access memories (DRAM), static random access memories (SRAM), and other forms of volatile memories. In some examples, memory <NUM> is used to store program instructions for execution by processor <NUM>. Memory <NUM>, in one example, is used by software or applications running on fluid management controller <NUM> to temporarily store information during program execution.

Memory <NUM>, in some examples, also includes one or more computer-readable storage media. Memory <NUM> can be configured to store larger amounts of information than volatile memory. Memory <NUM> can further be configured for long-term storage of information. In some examples, memory <NUM> includes non-volatile storage elements such as read only memory (ROM). Examples of such non-volatile storage elements can include magnetic hard discs, optical discs, floppy discs, flash memories, or forms of electrically programmable memories (EPROM) or electrically erasable and programmable (EEPROM) memories.

Fluid management controller <NUM> provides a central hub for data collection and processing for fluid management, tracking, and control in fluid dispense applications involving fluid management components <NUM>. Fluid management controller <NUM> provides a closed system capable of independently tracking and controlling fluid dispenses within fluid management system <NUM>. Fluid management components <NUM> sense the level of fluid in fluid management system <NUM>, drive the fluid to dispense locations, dispense the fluid, sense the volume of fluid dispensed, and communicate the sensed information to fluid management controller <NUM>.

Fluid management controller <NUM> communicates with fluid management components <NUM> to collect, aggregate, analyze, and report fluid usage and statistics. Tank level monitor 104A senses the volume of fluid in tank <NUM> and communicates the tank level information to fluid management controller <NUM> via communication link <NUM>. Pump controller 104C communicates with fluid management controller <NUM> via communication link <NUM>, and activates and deactivates pump controller 104C to activate and deactivate pump <NUM>.

While activated, pump <NUM> draws fluid from tank <NUM> and drives the fluid downstream to dispensing meter 104B through supply hose <NUM>. Dispensing meter 104B dispenses the fluid from tank <NUM> at a desired dispense location and senses the amount of the fluid dispensed. Fluid management controller <NUM> communicates with dispensing meter 104B via communication link <NUM>. The , fluid management controller <NUM> receives work order information from dispensing meter 104B and is configured to authorize a dispense volume based on that work order information. With the dispense event authorized by fluid management controller <NUM>, components within dispensing meter 104B activate dispensing meter 104B such that the user can dispense the fluid with dispensing meter 104B. Dispensing meter 104B dispenses the fluid up to the authorized dispense volume and communicates the volume of fluid dispensed to fluid management controller <NUM>. The components in dispensing meter 104B deactivate dispensing meter 104B when the actual volume dispensed reaches the authorized dispense volume. Fluid management controller <NUM> tracks and records the volumes dispensed and associates that information with the work order. Fluid management controller <NUM> also records the dispense information and can aggregate data from multiple fluid dispense events for system-wide fluid tracking and management.

Memory <NUM> stores software that, when executed by processor <NUM>, collects and sorts the information provided to fluid management controller <NUM> via communication links <NUM>. Fluid management controller <NUM> stores the information from fluid management components <NUM> in memory <NUM>. The information can include fluid management information such as customer job order information, fluid storage configurations, login information, fluid level information, the dispense volume for each fluid dispense event, and user information. The information can be sorted by user, work order, fluid type, volume, or any other parameter that is desired.

The information stored in memory <NUM> is accessible by user interface devices <NUM> via communication link <NUM>. For example, user interface devices <NUM> can access fluid data from memory <NUM> via HTML webpages viewable in common browsers for user interface devices <NUM> via communication link <NUM>. Fluid management controller <NUM> can provide the HTML code for user interface devices <NUM> to interface with fluid management controller <NUM>. Additionally, the user can access and modify the operating parameters of fluid management system <NUM> by accessing fluid management controller <NUM> through the webpage generated and presented by fluid management controller <NUM>.

By way of example, a fluid dispense event is discussed. A customer-specific work order is generated by a user using user interface device <NUM>. The work order information is provided to fluid management controller <NUM> over communication link <NUM>. The work order information can include, among others, the specific fluid to be dispensed, users authorized to make the dispense, the volume of fluid to be dispensed, and customer identifying information. Fluid management controller <NUM> stores the work order information in memory <NUM>.

The user selects a dispensing meter 104B associated with the specific fluid specified in the work order. The user enters log-in information at dispensing meter 104B, such as a pin code or ID card. Fluid management controller <NUM> receives the log-in information from dispensing meter 104B over communication link <NUM> and associates the log-in information with the work order. The log-in information provides a security measure to prevent unauthorized users from dispensing fluid and to prevent the user from inadvertently dispensing an undesired fluid. Fluid management controller <NUM> authorizes the dispense event based on the work order information and the log-in information. In some examples, fluid management controller <NUM> saves the user information, time of login, and authorization status of the user in memory <NUM> for system-wide tracking and dispense event tracking.

Fluid management controller <NUM> controls activation of fluid management components <NUM> based on the work order information. For example, fluid management controller <NUM> can send a dispense authorization signal to dispensing meter 104B via communication link <NUM> to unlock a trigger of dispensing meter 104B. Fluid management controller <NUM> also sends a pump authorization signal to pump controller 104C to activate pump controller 104C via communication link <NUM>. Pump controller 104C activates pump <NUM>, and pump <NUM> draws fluid from tank <NUM> and drives the fluid downstream to dispensing meter 104B through supply hose <NUM>. In one example, pump controller 104C provides pressurization only to tank <NUM> which is associated with the dispense event. Pump controller 104C can be further configured to provide pressurization for only as long as required to dispense the approved volume of fluid. The user dispenses the fluid with dispensing meter 104B, and dispensing meter 104B communicates relevant dispense information, such as the actual volume dispensed, to fluid management controller <NUM> via communication link <NUM>.

Throughout the dispense event, tank level monitor 104A senses the fluid levels in tank <NUM> and communicates the tank level information to fluid management controller <NUM> via communication link <NUM>. Fluid management controller <NUM> saves the fluid level information provided by tank level monitor 104A in memory <NUM>. Fluid management controller <NUM> also saves the actual dispense volume sensed by dispensing meter 104B in memory <NUM>. Fluid management controller <NUM> also saves pump information provided by pump controller 104C. When the user has completed the dispense event, such as when the actual volume dispensed reaches the authorized dispense volume, dispensing meter 104B deactivates based on that actual volume dispensed reaching the authorized dispense volume. Fluid management controller <NUM> sends a signal to pump controller 104C via communication link <NUM> to deactivate pump <NUM>. The fluid dispense event is thus complete.

Fluid management controller <NUM> presents HTML code that the user can access through a web browser on user interface device <NUM> via communication link <NUM>. The user can access the dispense information associated with a specific dispense event and/or can access system-wide fluid information via user interface device <NUM>. For example, the user can open the web browser on mobile device 106B to access the website. Through the website, the user can access the information stored in memory <NUM> regarding the tank fluid levels, the login information, the temporal length of dispenses, the amount of fluid dispensed, the date and time of the dispense, or any other relevant fluid information gathered by fluid management controller <NUM> from fluid management components <NUM>.

In some examples, fluid management controller <NUM> aggregates data from multiple fluid dispense events and can generate and send reports to the user based on the aggregated fluid information. In one example, fluid management controller <NUM> can include reporting parameters and can generate the reports based on the reporting parameters. The reporting parameters can be based on any desired parameter, such as the tank level information, temporal boundaries, the number of dispenses completed, and the total volume dispensed, among others. For example, where the reporting parameter is temporal in nature, fluid management controller <NUM> can provide system-wide reports daily, weekly, monthly, or based on any other temporal boundary set by the user. In examples where the reporting parameter is based on tank level information, fluid management controller <NUM> can provide the system-wide reports based on the fluid level in tank <NUM> reaching a resupply volume such that additional fluid is required in tank <NUM>. In some examples, fluid management controller <NUM> is configured to take independent action based on the reporting parameter, such as by ordering additional fluid from a fluid supplier based on the tank level information reaching the resupply volume.

The user can further modify and change the settings of fluid management system <NUM> through the website via user interface devices <NUM>. For example, the user can set or remove maximum dispensing limits, add or remove authorized users, set reporting parameters and/or make other such changes to fluid management system <NUM>. Fluid management controller <NUM> provides independent operation and control of fluid management system <NUM>.

Fluid management controller <NUM> provides significant advantages. Fluid management controller <NUM> communicates with fluid management components <NUM> and user interface devices <NUM> independently of other devices and management systems. As such, fluid management system <NUM> operates independent of a dedicated PC application, fleet management system, and/or dealership management system. No installation of an executable file or a PC application is required; only initial configuration and registration of fluid management controller <NUM> is required. Fluid management controller <NUM> can be configured to send reports to user interface devices <NUM> via communication link <NUM>. Fluid management controller <NUM> is a closed system requiring no wired connections to dispense, monitor, or control fluid management components <NUM>. Instead, fluid management controller <NUM> communicates wirelessly with fluid management components <NUM>. In some examples, communication links <NUM> and <NUM> are part of a wireless network, such as a wireless PAN. Fluid management controller <NUM> can host a web application to communicate with user interface devices <NUM> using standard browser technology. The closed nature of fluid management controller <NUM> bypasses issues related to operating system updates, firewalls, and user error related to erroneous PC usage on traditional dedicated PC applications, fleet management systems, and/or dealership management systems.

<FIG> is a schematic block diagram of fluid management system <NUM> including local management system <NUM>. Fluid management system <NUM> includes fluid management controller <NUM>, fluid management components <NUM>, user interface devices <NUM>, local management system <NUM>, network <NUM>, and communication links <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, and <NUM>.

Fluid management controller <NUM> provides a central hub for data collection and processing for fluid management, tracking, and control in fluid dispense applications involving fluid management components <NUM>. Fluid management components <NUM> monitor, sense, and distribute fluid throughout fluid management system <NUM>. Fluid management controller <NUM> wirelessly communicates with fluid management components <NUM>. Fluid management components <NUM> can communicate directly with fluid management controller <NUM> via communication link <NUM> and/or can communicate with fluid management controller <NUM> over network <NUM>, via communication links <NUM> and <NUM>.

Fluid management system <NUM> includes local management system <NUM>, which is a local customer network, such as an intranet for an automotive shop. For example, local management system <NUM> can be a PC, fleet management system, dealership management system, commercial management system, or other such system. Local management system <NUM> includes local server 202A, storage controller 202B, and data storage device 202C. Storage controller 202B is configured to manage data communications between data storage 202C and other components of local management system <NUM>. Local management system <NUM> can also include other components 202N that work to support local management functions, such as other aspects of a business. Communication link <NUM> is a direct connection between fluid management controller <NUM> and local management system <NUM>. Communication links <NUM>, <NUM>, and <NUM> can be part of a network, such as a wireless personal area network (PAN), which, in some examples, can be hosted by fluid management controller <NUM>.

Network <NUM> facilitates communications of data between fluid management controller <NUM> and local management system <NUM>, user interface devices <NUM>, and fluid management components <NUM>. Network <NUM> includes communication links <NUM>, <NUM>, <NUM>, and <NUM>, and can be a local area network (LAN), a wide area network (WAN), a modem-to-modem connection, a cellular network, a combination of the above, or any other communications network now known or later developed within the networking arts which permits two or more computers to communicate, one with another.

The data communicated over network <NUM> can include, among others, fluid management information such as customer job order information, fluid storage configurations, fluid level information, the dispense volume for each fluid dispense event, and user information. User interface devices <NUM> connect to network <NUM> via communication link <NUM>. Local management system <NUM> accesses network <NUM> via communication link <NUM>. In one example, fluid management controller <NUM> can access local server 202A through an intermediate server (not shown). In a cloud application, for example, fluid management controller <NUM> can access an application server that fulfills requests from fluid management controller <NUM> by accessing a data management system. In one example, fluid management controller <NUM> executes a Java® application making requests to a JBoss® server executing on a Linux® server, which Linux® server fulfills the requests by accessing a relational database management system on a mainframe server. For example, the JBoss® server can receive customer information from a Java® application executing on mobile device 106B. The JBoss® server can retrieve customer vehicle service order information from local server 202A and determine if dispensing of at least one fluid has been authorized based on the work order information entered. Fluid management controller <NUM> can then authorize the fluid dispense event based on the information from the JBoss® server.

Memory <NUM> may store software that, when executed by processor <NUM>, collects and sorts the information provided to fluid management controller <NUM> by fluid management components <NUM>, user interface devices <NUM>, and local management system <NUM>. Fluid management controller <NUM> stores the information from fluid management components <NUM> in memory <NUM>.

As discussed above, fluid management controller <NUM> authorizes, tracks, and records information from fluid management components <NUM> regarding discrete fluid dispense events. The information is stored in memory <NUM>, and fluid management controller <NUM> can also present the information to local management system <NUM> for local storage, such as in data storage 202C. Fluid management controller <NUM> may also host web applications that allow users to access data via user interface devices <NUM>. In some examples, the user can directly access the information on fluid management controller <NUM> via communication link <NUM>. In other examples, the user can access the information over network <NUM>. Additionally, the user can modify and change the operating parameters of fluid management controller <NUM> via user interface devices <NUM>.

Network <NUM> can also allow user interface devices <NUM> to retrieve locally-stored information in local management system <NUM>, such as via communication links <NUM> and <NUM>, and in fluid management controller <NUM>, such as via communication links <NUM> and <NUM>. In one example, fluid management controller <NUM> can pull information from local management system <NUM> directly via communication link <NUM> and/or over network <NUM> via communication links <NUM> and <NUM>. Fluid management controller <NUM> can communicate that information to user interface devices <NUM> over network <NUM> via communication links <NUM> and <NUM> and/or directly via communication link <NUM>.

In another example, fluid management controller <NUM> provides data to local management system <NUM> via communication link <NUM>, and local management system <NUM> can host webpage on local server 202A. User interface devices <NUM> can access the webpage by connecting to local management system <NUM> over network <NUM> through communication links <NUM> and <NUM>.

During a dispense event, a customer-specific work order can be generated by the user at user interface device <NUM>. The work order can also be generated directly in local management system <NUM>. The work order can be communicated directly to fluid management controller <NUM> via communication link <NUM> or over network <NUM>. The work order information can also be stored on data storage 202C and recalled by fluid management controller <NUM> directly, via communication link <NUM>, or over network <NUM>. In some examples, the work order information is also stored directly in memory <NUM>. Fluid management controller <NUM> authorizes the dispense event based on the work order information input by the user. Fluid management controller <NUM> communicates the authorization to fluid management components <NUM> either directly via communication link <NUM>, or over network <NUM> via communication links <NUM> and <NUM>. With the dispense event authorized, the user is able to dispense the fluid with the fluid management components <NUM>.

Fluid management controller <NUM> receives information regarding the dispense event, such as the type of fluid dispensed; the volume of fluid dispensed; the volume of fluid remaining in the tank, such as fluid tank <NUM>; the length of the dispense event; and the identity of the user; among others, from fluid management components <NUM>. Fluid management controller <NUM> can store the dispense information in memory <NUM> and/or communicate the information for storage in local management system <NUM>, such as directly via communication link <NUM> or over communication links <NUM>, <NUM> and network <NUM>.

Fluid management controller <NUM> gathers the information regarding the discrete dispense event and generates reports that are accessible to the user via a website hosted by fluid management controller <NUM>. The user opens the web browser on user interface device <NUM> and connects to fluid management controller <NUM> directly via communication link <NUM> or over network <NUM> via communication links <NUM> and <NUM>. Network <NUM> can provide user access to fluid management controller <NUM> where communication link <NUM> is not available.

Fluid management controller <NUM> is configured to generate individual reports regarding the discrete dispense event as well as system-wide reports. The system-wide reports provide the user with information regarding fluid management system <NUM>. In some examples, fluid management controller <NUM> is configured to automatically take action based on the system-wide report. For example, fluid management controller <NUM> can order additional fluid from a supplier where the tank level information provided by tank level monitor 104A indicates that the level of fluid has reached a resupply volume. Fluid management controller <NUM> can place orders over network <NUM>.

The user can access the information stored in memory <NUM> via the website hosted by fluid management controller <NUM>. Additionally, the user can modify and change the settings of fluid management system <NUM> via fluid management controller <NUM>. For example, the user can set or remove maximum dispensing limits, modify authorized users, and/or implement other such changes to fluid management system <NUM>. In this way, fluid management controller <NUM> controls and authorizes fluid dispenses and monitors fluid management system <NUM> independently of local management system <NUM>. As such, fluid management system <NUM> allows the user to continue generating work orders and dispensing fluid even where local management system <NUM> is offline.

Fluid management system <NUM> provides significant advantages. Fluid management controller <NUM> communicates with fluid management components <NUM> and user interface device <NUM> independently of local management system <NUM>. Fluid management controller <NUM> is a closed system requiring no wired communication connections to dispense, monitor, or control fluid management components <NUM>. Instead, fluid management controller <NUM> can communicate with user interface devices <NUM> through an HTML interface viewable using standard browser technology through communication link <NUM> and/or over network <NUM> via communication links <NUM> and <NUM>. No installation of an executable file or a PC application is required; only initial configuration and registration of fluid management controller <NUM> is required. The closed nature of the fluid management controller <NUM> bypasses issues related to operating system updates, firewalls, and user error related to erroneous PC usage on traditional local management systems <NUM>.

<FIG> is a block diagram of fluid management controller <NUM>. Fluid management controller <NUM> includes processor <NUM>, memory <NUM>, system bus <NUM>, input/output (I/O) adapter <NUM>, communications adaptor <NUM>, user interface adapter <NUM>, display adapter <NUM>, direct interfacing <NUM>, and network interfacing <NUM>.

Processor <NUM>, memory <NUM>, I/O adapter <NUM>, and communications adapter <NUM> can communicate with each other via system bus <NUM>. User interface adapter <NUM> and display adapter <NUM> can connect to fluid management controller <NUM> via direct interfacing <NUM> and/or network interfacing <NUM>. For example, direct interfacing <NUM> can include Ethernet, HDMI, or USB connections, for example. Network interfacing <NUM> can include wireless communications, such as via an HTML interface.

Memory <NUM> can include includes non-volatile storage elements. Examples of such non-volatile storage elements can include magnetic hard discs, optical discs, floppy discs, flash memories, or forms of electrically programmable memories (EPROM) or electrically erasable and programmable (EEPROM) memories. ROM can store configuration information for booting fluid management controller <NUM>. Memory <NUM> can also include volatile memory, meaning that memory <NUM> does not maintain stored contents when power to fluid management controller <NUM> is turned off. Examples of volatile memories can include random access memories (RAM), dynamic random access memories (DRAM), static random access memories (SRAM), and other forms of volatile memories. Fluid management controller <NUM> can utilize RAM to store the various data structures used by a software application. RAM and ROM can store user and system data. Memory <NUM> can also include external storage devices. External storage devices can connect with fluid management controller <NUM> via I/O adapter <NUM>.

Communications adapter <NUM> is configured to connect fluid management controller <NUM> to a network, such as network <NUM> (shown in <FIG>). The network can be one or more of a LAN, WAN, and/or the Internet. Communications adapter <NUM> can further connect fluid management controller <NUM> to a storage device, such as data storage 202C (shown in <FIG>).

User interface adapter <NUM> is configured to connect user input devices, such as a keyboard, mouse, touchscreen, or other similar input device to fluid management controller <NUM>. Display adapter <NUM> is configured to connect to a display device, such as a monitor, to display information stored by fluid management controller <NUM>. For example, a display connected through display adapter <NUM> may be configured to display a graphical user interface associated with a software or web-based application. In one example, menus allowing an administrator to input data on local server 202A through user interface adapter <NUM> may be displayed through display adapter <NUM>.

While illustrated as a dedicated device <NUM>, in other embodiments, fluid management controller <NUM> may be implemented on any suitable processor-based device including, without limitation, personal data assistants (PDAs), tablet computers, smartphones, computer game consoles, computer-on-module (COM), touch panel computers (TPC), and multiprocessor servers. Moreover, fluid management controller can be implemented using application specific integrated circuits (ASIC), very large scale integrated (VLSI) circuits, or other circuitry.

<FIG> is a schematic block diagram of fluid management controller <NUM>'. <FIG> is an isometric view of fluid management controller <NUM>'. Fluid management controller <NUM>' includes casing <NUM>, single-board computer (SBC) <NUM>, wireless interface <NUM>, and antennas <NUM>. Fluid management controller <NUM>' is configured to wirelessly communicate with fluid management components <NUM> and user interface devices <NUM> over communication links <NUM> and <NUM>. SBC <NUM> includes processor <NUM> and memory <NUM>.

Fluid management controller <NUM>' is protected by casing <NUM>, which serves as an enclosure for SBC <NUM> and wireless interface <NUM>. Casing <NUM> can include one or more pieces of bent sheet metal. In one example, casing <NUM> includes two pieces of bent sheet metal. SBC <NUM> and wireless interface <NUM> are connected and disposed within casing <NUM>.

Wireless interface <NUM> and antennas <NUM> may form a transceiver, for example, that allows fluid management controller <NUM>' to communicate wirelessly on communication links <NUM> and/or <NUM>. Antennas <NUM> extend out from casing <NUM> and are configured to send and receive wireless signals to and from fluid management components <NUM> and/or user interface devices <NUM>. Fluid management controller <NUM>' can communicate on various bandwidths, such as <NUM> and <NUM>, for example. Additionally, fluid management controller <NUM>' can communicate using cellular (e.g., LTE) bandwidths. Fluid management controller <NUM>' can be configured to operate using any IEEE <NUM> standard, for example.

SBC <NUM>, using processor <NUM> and wireless interface <NUM>, can host a network, which includes communication links <NUM> and <NUM>. In one example, the network hosted by fluid management controller <NUM>' is a wireless personal area network (PAN) interconnecting components <NUM> and devices <NUM>. It is understood, however, that fluid management controller <NUM>' can communicate wirelessly over a local network, such as network <NUM> (shown in <FIG>). The network allows fluid management controller <NUM>' to wirelessly communicate with, and control, fluid management components <NUM>. Fluid management controller <NUM>' can authorize control of fluid management components <NUM> over the network. Fluid management controller <NUM>' can generate and communicate HTML code such that a webpage is accessible by user interface devices <NUM> for accessing data stored in memory <NUM>.

While memory <NUM> is described as located on dedicated SBC <NUM>, it is understood that memory <NUM> can be disposed separate from SBC <NUM>, such as where memory <NUM> is a removable memory card, for example. Memory <NUM> is encoded with instructions that, when executed by processor <NUM>, cause fluid management controller <NUM>' to communicate with and control fluid management components <NUM> and record information in memory <NUM>. User interface devices <NUM> are configured to access the recorded information from memory <NUM> via communication link <NUM>.

<FIG> is a schematic block diagram of fluid management controller <NUM>". <FIG> is an isometric view of fluid management controller <NUM>". Fluid management controller <NUM>" includes casing <NUM>, SBC <NUM>, and connectors <NUM>. SBC <NUM> includes processor <NUM> and memory <NUM>. Connectors <NUM> can include CAT <NUM>/<NUM> port 502A, universal system bus (USB) port 502B, high-definition multimedia interface (HDMI) port 502C, memory slot 502D, and power connection 502E.

Connectors <NUM> extend into casing <NUM> and are configured to receive various communications components. Connectors <NUM> provide fluid management controller <NUM>" with wired communications capabilities. Memory slot 502C can connect to an external memory device, such as an external hard drive, flash drive, memory card, secure digital (SD) card, micro SD card, or other such device. CAT <NUM>/<NUM> port 502A is configured to receive an Ethernet cable to provide wired communications capabilities to fluid management controller <NUM>". USB port 502B is configured to receive any desired USB interface device and can be used to load instructions to or download instructions from SBC <NUM>. HDMI port 502C is configured to receive an HDMI cable.

Most aspects of fluid management controller <NUM>" require an externally wired A/C power source connected to power connection 502E. It is understood, however, that various power sources can be connected to power connection 502E, such as a USB-connected device configured to provide power, a solar power panel, or a battery, among other options.

Connectors <NUM> provide power and wired communications capabilities to fluid management controller <NUM>". The wired communications capabilities are supplemental to the wireless communications abilities described above. As such, fluid management controller <NUM>" can communicate with, control, and record information wirelessly or via wired connections through connectors <NUM>. Connectors <NUM> can connect fluid management controller <NUM>" to fluid management components <NUM> (best seen in <FIG>); user interface devices <NUM> (best seen in <FIG>); and/or network <NUM> (shown in <FIG>).

Claim 1:
A fluid management system (<NUM>) for vehicle fluid management comprising:
A plurality of fluid management components (<NUM>), the plurality of fluid management components including:
a tank level monitor (104A) configured to monitor a fluid level of a fluid tank (<NUM>);
a pump controller (104C) configured to control activation of a pump (<NUM>); and
a dispensing meter (104B);
a user interface device (<NUM>); and
a fluid management controller (<NUM>) configured to communicate wirelessly with
the plurality of fluid management components (<NUM>), authorize the plurality of fluid management components to initiate a dispense event of fluid from the fluid tank (<NUM>), and collect data received from each of the plurality of fluid management components (<NUM>);
characterised in that the fluid management controller (<NUM>) is configured to receive log-in and work order information from the dispensing meter, the log-in information used for a user to log-in to the dispensing meter and the log-in information identifying the user, wherein the work order information includes fluid type information and authorized user information; and
the fluid management controller is configured to determine that the user is authorized for the dispense event based on the log-in information indicating that the user is the authorized user identified by the work order information;
and
the fluid management controller (<NUM>) is further configured to collect fluid level data regarding the fluid level from the tank level monitor;
and
the pump controller (104C) is configured to activate the pump in response to the fluid management controller (<NUM>) initiating the dispense event; and
and
the fluid management controller (<NUM>) is further configured to collect data regarding the dispense event from the dispensing meter.