WO2004068250A2 - Operating utility devices in a master-agent network environment - Google Patents

Operating utility devices in a master-agent network environment Download PDF

Info

Publication number
WO2004068250A2
WO2004068250A2 PCT/US2004/000709 US2004000709W WO2004068250A2 WO 2004068250 A2 WO2004068250 A2 WO 2004068250A2 US 2004000709 W US2004000709 W US 2004000709W WO 2004068250 A2 WO2004068250 A2 WO 2004068250A2
Authority
WO
WIPO (PCT)
Prior art keywords
control unit
agent control
utility device
ofthe
field
Prior art date
Application number
PCT/US2004/000709
Other languages
French (fr)
Other versions
WO2004068250A3 (en
Inventor
Robert E. May
Stephen X. Skaff
Original Assignee
Ecolab Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ecolab Inc. filed Critical Ecolab Inc.
Publication of WO2004068250A2 publication Critical patent/WO2004068250A2/en
Publication of WO2004068250A3 publication Critical patent/WO2004068250A3/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/2807Exchanging configuration information on appliance services in a home automation network
    • H04L12/2814Exchanging control software or macros for controlling appliance services in a home automation network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/2816Controlling appliance services of a home automation network by calling their functionalities
    • H04L12/2818Controlling appliance services of a home automation network by calling their functionalities from a device located outside both the home and the home network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/2823Reporting information sensed by appliance or service execution status of appliance services in a home automation network
    • H04L12/2825Reporting to a device located outside the home and the home network
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/31From computer integrated manufacturing till monitoring
    • G05B2219/31229Supervisor, master, workstation controller, automation, machine control

Definitions

  • the invention relates generally to a network environment of utility devices, and more particularly, to monitoring and controlling processes ofthe utility devices using a master computing device.
  • warewashing machines such as warewashing machines, laundry machines, chemical dispense systems/devices and the like may generally be referred to as "utility devices" because these devices are used to perform some kind of utility.
  • a warewashing machine is used to wash cooking utensils, dishes and various other kitchen-related objects provided to a washing chamber ofthe machine.
  • Various types of utility devices are frequently used by large hotels, restaurants, casinos and campuses to perform various utilities associated with service operations performed at these facilities.
  • hotels typically contain one or more restaurants, and therefore require laundry machines and warewashing machines to clean and sanitize the linens and kitchen wares, respectively, used by patrons ofthe hotel-restaurant.
  • Processes of a utility device are often monitored and controlled by a field person responsible for maintaining operation ofthe utility device. Monitoring such processes may include, for instance, determining the number of times that the utility device has been used to perform a particular process or determining an average or instantaneous operating parameter associated with a particular process. Controlling processes ofthe utility device may include, for example, setting an operating parameter associated with a particular process or activating/de-activating the utility device. A more specific example of controlling a utility device would be defining a temperature for the rinse agent used to rinse detergent from articles washed by a warewashing machine.
  • a controller is typically coupled to a utility device to enable a field person to locally control processes ofthe utility device.
  • the controller receives input from the field person and thereafter oversees operation ofthe utility device based on the received input.
  • the controller also receives sensed information associated with various processes performed by the utility device and locally controls operation of the utility device based on this sensed information.
  • the controller typically includes a human-machine interface (HMI).
  • HMI presents various types of information associated with the utility device to the field person.
  • the presented information includes operating parameters associated with one or more processes performed by the utility device as well as selection elements for modifying or setting these operating parameters.
  • HMI 's to improve a field person's ability to locally control and monitor operations of a utility device has resulted in significant advancements in the field of service maintenance for utility devices.
  • different models and types of utility devices use different models and types of controllers, and therefore different HMI 's.
  • a field person responsible for servicing multiple utility devices must be familiar with, or at least personally carry reference manuals for, each ofthe different controllers and associated HMI 's associated with these multiple utility devices. Having to reference multiple reference manuals is not only burdensome for the field person, but also adversely affects the sheer number of utility devices that the field person may maintain on a daily basis. As such, current systems do not provide a means for optimizing resources with respect to controlling and monitoring a large number of utility devices by a field person.
  • the utility devices are chemical dispense devices, wherein each chemical dispense device is operable to dispense at least one chemical product to a utility device for applying the at least one chemical product to one or more objects.
  • Each chemical dispense device in the group is provided an agent control unit, which is a controller responsible for locally overseeing operation ofthe various processes associated with a chemical dispense device.
  • a master control unit provides a field person with control over and the ability to monitor processes associated with all chemical dispense devices in the group. As such, the master control unit is a single device operable to communicate with all agent control units associated with the group of chemical dispense devices.
  • each ofthe utility devices in the group perform substantially similar functions and operate in a substantially similar manner with respect to one another, and therefore are considered the same "type" of utility device.
  • each utility device in the group may be a warewashing machine.
  • at least one utility device in the group performs a substantially different function and operates in a substantially different manner than at least one other utility device in the group.
  • these two utility devices are considered different "types" of utility device.
  • a first utility device in the group may be a warewashing machine
  • a second utility device in the group may be a laundry machine.
  • a field person To request control over or monitor processes performed by a utility device, a field person first inputs an instruction into the master control unit.
  • the instruction specifies a task that is to be performed by the agent control unit associated with the utility device to be controlled and/or monitored by the field person.
  • the instruction is formatted into a packet-based structure having pre-defined fields and data recognizable to all agent control units associated with the utility devices in the group.
  • Such a common protocol enables a field person to utilize a single master control unit to manage the various processes associated with each ofthe utility devices in the group.
  • the master control unit transmits the instruction to the agent control unit associated with the utility device that is to be controlled and or monitored by the field person.
  • the associated agent control unit administers the task specified therein.
  • the task specified in an instruction issued to an agent control unit by the master control unit may be a request for the agent control unit to reply with certain information related to operation ofthe utility device associated with the agent control unit.
  • the task may request the agent control unit to determine and return to the master control unit an operating parameter associated with a particular process ofthe utility device.
  • the task specified in an instruction issued to an agent control unit by the master control unit may request that the agent control unit perform an operation associated with a particular process ofthe utility device. Illustrating such, the task may request that the agent control unit set an operating parameter associated with the particular process to a specified value.
  • the master control unit may be any type of computing device operable to communicate with the agent control units over either a wire-based or wireless interface.
  • the master control unit is a mobile computing device, e.g., a handheld personal digital assistant, a cellular phone or a laptop computer, that the field person may carry from agent control unit to agent control unit.
  • the master control unit may be a desktop computer located at a facility and communicatively connected to each ofthe agent control units.
  • the master control unit may be a client computer that downloads instructions issued by a field person using a network connection, e.g., the Internet, an intranet, etc., to a server computer. The field person inputs the instructions using a workstation connected to the server computer by a direct communication link or a remote computer that accesses the server computer using a network connection.
  • the present invention may be implemented as a computer process, a computing system or as an article of manufacture, such as, a computer program product.
  • the computer program product may be a solid state, non- volatile memory device or a computer storage media readable by a computer system and encoding a computer program of instructions for executing a computer process.
  • the computer program product may also be a propagated signal on a carrier readable by a computing system and encoding a computer program of instructions for executing a computer process.
  • FIG. 1 illustrates components of a utility device in accordance with an embodiment ofthe present invention.
  • FIG. 2 illustrates a schematic representation of a system for managing a group of utility devices using a single master control unit in accordance with an embodiment ofthe present invention.
  • FIG. 3 illustrates the system of FIG. 2 in more detail in accordance with an embodiment ofthe present invention.
  • FIG. 4 depicts a block diagram of a suitable computing environment in which an embodiment ofthe present invention may be implemented.
  • FIG. 5 is a flow diagram that illustrates operational characteristics for managing processes of a group of utility devices using a single master control unit in accordance with an embodiment ofthe present invention.
  • FIG. 6 depicts a command packet for specifying a task relating to a process associated with a utility device in accordance with an embodiment ofthe present invention.
  • FIG. 7 depicts a reply packet transmitted by an agent control unit in responding to a request for information contained in a command packet in accordance with an embodiment ofthe present invention.
  • FIG. 8 is a flow diagram that illustrates operational characteristics performed by an agent control unit in response to reception of a command packet issued by a master control unit in accordance with an embodiment ofthe present invention.
  • the present invention relates to managing processes of a group of utility devices using a common master control unit.
  • the term “managing” is broadly used herein to refer to controlling and/or monitoring processes of each utility device in the group.
  • process is used herein to broadly refer to any operation performed by a utility device, or component thereof.
  • each ofthe utility devices in the group of utility devices is provided with a local processor, referred to herein as an "agent control unit," responsible for administering commands issued by the common master control unit.
  • the group of utility devices may include devices of different types. For example, without limitation, one utility device may be a warewashing machine, a second utility device may be a laundry machine and a third utility device may be a vending machine.
  • the group of utility devices may include only devices ofthe same type.
  • each ofthe utility devices may be a warewashing machine. The present invention is described herein using a warewashing machine to illustrate interaction between the master control unit and an agent control unit associated with the warewashing machine.
  • the present invention encompasses any type of utility device that performs operations under direction of a local processor, such as the agent control unit described in accordance with an embodiment ofthe invention.
  • Exemplary utility devices for use with the present invention include, but are not limited to, vending machines, chemical dispense systems or devices, clean-in-place (CU?) systems, car wash systems and laundry systems.
  • utility devices for use with the present invention may be used in any type of setting, such as, for example, a cafeteria, a bakery, a dairy plant, a chemical plant, a manufacturing plant, a hotel, a business or college campus, a building and a military base.
  • a warewashing machine 100 for use with the present invention is shown in accordance with an exemplary embodiment for a utility device.
  • the warewashing machine 100 is used to clean all types of dishware and kitchen objects, such as, without limitation, pots and pans used in restaurants, cafeterias and bakeries. Objects washed by the warewashing machine 100 are hereinafter referred to as "articles.”
  • the articles are provided to the warewashing machine 100 on article racks 104.
  • the warewashing machine 100 may be a commercial dump or fill-type dish machine with standard article racks 104, although other cleaning apparatuses may be employed, including, without limitation, animal cage washers used in animal research areas.
  • the warewashing machine 100 includes a washing chamber 108, which, in the embodiment shown is enclosed by an entry sliding door 114 and an exit sliding door 116.
  • the washing chamber 108 is supported above ground level by a plurality of legs 144.
  • each article rack 104 carries one or more articles to be cleaned and/or sanitized by the warewashing machine 100 into the washing chamber 108 through an opened entry sliding door 114.
  • Arrows 118 which are provided in FIG. 1 for illustration purposes only, show the direction of article racks 104 through the washing chamber 108 in accordance with an embodiment ofthe present invention.
  • a rinse module 102 is provided within or directly above the washing chamber 108 for applying a rinse agent to articles contained in the article racks 104.
  • a rinse agent to articles contained in the article racks 104.
  • water is hereinafter described as the exemplary rinse agent, it should be appreciated that other rinse agents may be applied to the articles by the rinse module 102.
  • the rinse module 102 includes arms (not shown) operably mounted to a spindle (not shown) for rotation about the spindle axis.
  • the arms of the rinse module 102 include a plurality of openings (not shown) through which water is passed to articles placed in the washing chamber 108.
  • the rinse module 102 includes a processing module 158 responsible for operation ofthe rinse module 102, such as, without limitation, spinning the rinse module arms at a certain velocity and allowing the dispensing of water through the holes in the rinse module arms.
  • a wash module 106 is provided within or directly below the washing chamber 108 for applying a chemical solution to articles placed in the racks 104. The chemical solution cleans and sanitizes the articles for subsequent use in eating, cooking or otherwise utilizing.
  • the wash module 106 includes arms (not shown) operably mounted to a spindle (not shown) for rotation about the spindle axis.
  • the arms ofthe wash module 106 include a plurality of openings (not shown) through which the chemical solution is passed to articles placed in the washing chamber 108.
  • the wash module 106 includes a processing module 156 responsible for operation ofthe wash module 106, such as, without limitation, spinning the wash module arms at a certain velocity and allowing the dispensing of chemical product tlirough the holes in the wash module arms.
  • the chemical solution is formed and stored in a solution tank 140 positioned underneath the washing chamber 108.
  • the chemical solution is formed as a combination of water provided by the rinse module 102 and one or more chemical products.
  • the chemical solution formed in the solution tank 140 is a combination of a single chemical product and water.
  • the chemical product is a cleaning product, such as, without limitation, detergent, soap or other cleaning chemical.
  • the chemical product used to form the chemical solution is stored in a product reservoir 110 in either a solid or liquid form. If the chemical product is stored as a solid, water is applied to the product to liquefy the chemical product such that the product may be provided to the solution tank 140 by way of a supply hose 132.
  • the chemical product is stored in a product reservoir 110 and dispensed to the solution tank 140 under the direction of a chemical product dispense processor 146.
  • the product dispense processor 146 and the product reservoir 110 constitute a "chemical dispense device" 168, and therefore can be considered a utility device separate from the warewashing machine 100 in accordance with the present invention. Indeed, processes of this chemical dispense system 168 are administered by the agent control unit 112.
  • Water is stored in a water reservoir 120 and dispensed into the washing chamber 108 by the rinse module 102. Water passes from the water reservoir 120 to the rinse module 102 by way of a coupling 145 therebetween. The rinse module 102 then applies the water to articles contained in a rack 104 situated in the washing chamber 108. An opening (not shown) is provided between the solution tank 140 and the washing chamber 108 to allow water provided to the washing chamber 108 to enter the solution tank 140. Water provided to the washing chamber 108 by the rinse module 102 passes through the opening into the solution tank 140, therein combining with pre-existing chemical solution to further dilute the chemical solution and therefore lower the concentration of chemical product in the solution.
  • a field person manages, i.e., controls and monitors, processes associated with the warewashing machine 100 using a master-agent system (200 in FIG. 2).
  • a master-agent system 200 in FIG. 2
  • the processes being controlled and monitored by the master-agent system 200 are not only associated with the actual warewashing machine 100, but also various utility devices serving as components to the warewashing machine 100.
  • many ofthe processes associated with the warewashing machine 100 are actually associated with, and even performed by, the chemical dispense device 168, which is responsible for dispensing a chemical product to the solution tank 140 for application to articles contained in racks 104, as discussed in further detail below.
  • the master-agent system 200 includes a master control unit (202 in FIG. 2), which may any type of computing device capable of sending commands and receiving information over a wired or wireless interface.
  • a master control unit (202 in FIG. 2), which may any type of computing device capable of sending commands and receiving information over a wired or wireless interface.
  • Some exemplary master control units 202 include, without limitation, a personal digital assistant (PDA), a workstation, a personal computer, a laptop computer, a cellular or land-based telephone, etc.
  • PDA personal digital assistant
  • the master control unit 202 communicates commands entered by the field person to a processing module 112 local to the warewashing machine 100.
  • the local processing module 112 controls processes ofthe warewashing machine 100 based on instructions specified in the command.
  • the agent control unit 112 includes a control module (internal to the agent control unit 112), a wireless control port 126, a wired control port 127, and one or more display devices or modules, such as, without limitation, first and second status indicators, e.g., light emitting diodes (LED's), 124 and 125 and a graphical user interface 126.
  • the wireless control port 126 and the wired control port 127 enable the agent control unit 112 to receive commands and transmit information to the master control unit 220.
  • the control module In response to commands received from the master control unit 202 through either the wireless control port 126 or the wired control port 127, the control module performs operations stored as firmware or software to locally control and monitor various tasks associated the warewashing machine 100. These operations direct various components associated with the warewashing machine 100 to perform various tasks administered during a given wash cycle. These components include, without limitation, the rinse module 102, the wash module 106, the chemical dispense device 168 and a chemical dispense device 170. For example, the control module controls initiation of a wash cycle for each rack 104 provided to the warewashing machine 100, dispensing ofthe chemical product to the solution tank 140, application ofthe chemical solution to the articles contained in the rack 104, and application of water to the articles contained in the rack 104.
  • the control module also measures conductivity ofthe chemical solution resident in the solution tank 140, and based on this measurement, controls the amount of chemical product that the product reservoir 110 dispenses to the solution tank 140. Furthermore, the control module generates information for display on the graphical user interface 122 as well as first and second status indicators 124 and 125 based on the various tasks performed and monitored by the control module.
  • the control module is a special-purpose controller manufactured by NONA Controls. However, it should be appreciated that the control module may be any type or make of controller known to those skilled in the art.
  • control module Instructions by the control module to perform various tasks are transmitted to the appropriate components using a chemical product output control line 128, a water output control line 130, a rinse module control line 152 and a wash module control line 154, each of which are input to the agent control unit 112. Further, the control module monitors conductivity ofthe chemical solution resident in the solution tank 140 using a conductivity input control line 136, which is also input to the agent control unit 112.
  • the chemical product output control line 128 couples the agent control unit 112 to the product dispense processor 146 thereby enabling the agent control unit 112 to locally control and monitor processes associated with the chemical dispense device 168. Under direction ofthe control module, the agent control unit 112 transmits signals to the product dispense processor 146 over the chemical product output control line 128.
  • These signals direct the product dispense processor 146 to dispense a particular volume of chemical product to the solution tank 140. If the chemical product is stored in the product reservoir 110 in a solid form, the product dispense processor 146 activates a water pump that applies a predetermined volume or water to the solidified chemical product. Upon the application of this predetermined volume of water, a predetermined volume ofthe chemical product in a liquid form is created and dispensed out ofthe product reservoir 110.
  • the wash module control line 154 couples the agent control unit 112 to the processor 156, which as noted above, is responsible for operation ofthe wash module 106, i.e., dispensing of chemical solution, velocity ofthe spray arms ofthe wash module 106, etc. Under direction ofthe control module, the agent control unit 112 controls operation ofthe wash module 106 by issuing command signals to the wash module processor 156. Based on such control, the control module can determine whether the wash module 106 is currently operating.
  • the water output control line 130 couples the agent control unit 112 to a processor 148 responsible for dispensing water from the water reservoir 120.
  • the water reservoir processor 148 controls operation of a water pump (not shown) that pushes water tlirough an output ofthe water reservoir 120 and into the rinse module 102. Under direction ofthe control module, the agent control unit 112 transmits signals to the water reservoir processor 148 over the water output control line 130. These signals direct the water reservoir processor 148 to activate the water pump to dispense a predetermined volume of water contained in the water reservoir 120 to the rinse module 102.
  • the water reservoir processor 148 and the water reservoir 120 constitute a "chemical dispense device" 170, and therefore can be considered a utility device separate from the warewashing machine 100 in accordance with the present invention. Indeed, processes of this chemical dispense system 170 are administered by the agent control unit 112.
  • the agent control unit 112 Almost simultaneously to activation ofthe water pump and under the direction ofthe control module, the agent control unit 112 also directs the rinse module 102 to provide the water to the washing chamber 108 for application to articles contained in an article rack 104 currently situated therein. To accomplish this, the agent control unit 112 transmits signals to the rinse module processor 158, which as noted above, is responsible for dispensing water from the rinse module
  • the rinse module processor 158 dispenses water from the rinse module 102 and to the articles in the washing chamber 108. From the washing chamber 108, the water passes to the solution tank 140, where the water combines with chemical solution already contained in the tank 140, thereby diluting the solution.
  • the control module monitors conductivity ofthe chemical solution.
  • the conductivity input control line 136 couples the agent control unit 112 to one or more conductivity cells 138 that sense information related to concentration ofthe chemical product relative to the chemical solution. This sensed information, which is provided to the agent control unit 112 over the conductivity input control line 136, is used by the control module to calculate percent (%) concentration ofthe chemical product relative to the chemical solution.
  • Such conductivity cells and the method for determining % concentration are well known in the art and not described in further detail herein. For example, United States Patent No. 4,733,798, which is incorporated by reference into this application, teaches both conventional electrode- bearing conductivity cells and electrode-less conductivity cells as well as measuring and controlling concentration of a chemical solution.
  • the first and second status indicators 124 and 125 indicate the current operation ofthe warewashing machine 100.
  • the first status indicator 124 may indicate to users that the warewashing machine 100 is currently activated and in the middle of a wash cycle.
  • the second status indicator 125 may indicate to users that the warewashing machine 100 is not only activated, but that the chemical product is currently being dispensed to the solution tank 140. It should be appreciated that the status indicators 124 and 125 may be used for any other purpose related to operating characteristics ofthe warewashing machine 100.
  • the graphical user interface 122 provides a presentation and control interface that enables a field person to locally monitor and control processes ofthe warewashing machine 100. As such, control and monitoring ofthe warewashing machine 100 using the graphical user interface 122 is an alternative approach to using the master control unit 202 described above.
  • Operation ofthe warewashing machine 100 commences after both the entry sliding door 114 and the exit sliding door 116 are closed with a rack 104 being located substantially underneath the rinse module 102 and substantially above the wash module 106.
  • the chemical solution is applied to the articles by the wash module 106 under direction ofthe control module.
  • Application ofthe chemical solution to the articles is maintained for a predetermined period in time, as determined by the control module.
  • the control module controls the rinse module 102 to apply water to the articles for rinsing the chemical solution away from the articles.
  • the rinse module 102 is operated for a predetermined period in time, as determined by the control module.
  • the wash cycle is complete and the exit sliding door 116 is opened such that the rack 104 may be removed from the washing chamber 108 to make the warewashing machine 100 available for use by subsequent article racks 104.
  • FIG. 2 illustrates a master-agent system 200 wherein a master control unit 202 is used by a field person to control and monitor processes associated with a group of utility devices (not shown) in accordance with an embodiment ofthe present invention.
  • the utility devices may be located either at a single facility or at different facilities.
  • Each utility device is associated with an agent control unit 112, which are shown in FIG. 2 as agent control units 112a through 112n.
  • Agent control units 112a through 112n are shown to illustrate the master-agent system 200, and are not intended to limit the master control unit 202 to control over the number (14) of utility devices shown. Indeed, the master control unit 202 may interact with any number of agent control units 112 to control and monitor any number of utility devices.
  • At least one utility device in the group is a different type of utility device than each ofthe other utility devices in the group. As such, this at least one utility device performs a substantially different function and operates in a substantially different manner than each ofthe other utility devices in the group.
  • a utility device in the group may be a laundry machine whereas each other utility device in the group may be a warewashing machine 100.
  • each utility device in the group is substantially the same type of utility device. As such, each utility device in the group performs substantially the same function and operates in substantially the same manner. For instance, each utility device in the group may be a warewashing device 100.
  • each utility device included within the group may each be dependent upon processes associated with other utility devices, such as the case with the dependency between the chemical dispense device 168 and the warewashing machine 100 shown in FIG. 1.
  • the master control unit 202 may any type of computing device capable of sending commands to and receiving information from an agent control unit 112.
  • Some exemplary master control units 202 include, without limitation, a personal digital assistant (PDA), a workstation, a personal computer, a laptop computer, a cellular or land-based telephone, etc.
  • the master confrol unit 202 may be a client computer, e.g., PDA, desktop, laptop or workstation, connecting to a server computer over a network connection, such as the Internet.
  • a field person may control and monitor processes of a utility device as the field person communicates with the agent control unit 112 associated with the utility device from a remote location.
  • the field person may utilize the master control unit 112 to control and monitor processes of a utility device while present at substantially the same physical location, i.e., facility, as the utility device.
  • the master control unit 202 communicates commands entered by the field person to an agent control unit 112 local to the utility device.
  • Field persons interact with the master control unit 202 using a display device 204.
  • the display device 204 is part ofthe client computer used by the field person to access the master control unit 202.
  • the display device 204 is part ofthe master control unit 202.
  • a graphical user interface displayed on the display device 204 provides the capability for the field person to monitor and control processes ofthe utility device. With respect to monitoring warewashing operations, the graphical user interface presented on the display device 204 displays information related to cureent operating conditions and parameters ofthe wash cycle.
  • the graphical user interface may display, without limitation, whether articles are being rinsed or cleaned, the amount of time left in a current wash cycle, the temperature ofthe chemical solution, the pressure ofthe rinse or chemical solution being applied to the articles, the temperature ofthe rinse water, etc.
  • the graphical user interface displayed on the display device presents information in the form selection objects that enable the field person to define or modify operating parameters for the warewashing machine 100.
  • These operating parameters include, without limitation, a setpoint value for conductivity ofthe chemical solution formed and stored in the solution tank 140, the length in time of a wash cycle, the length in time of a rinse cycle and the length in time that the chemical solution is applied to articles contained in the washing chamber 108.
  • the setpoint value for conductivity is defined herein as a user-defined % concentration for a chemical product relative to the chemical solution formed in the solution tank 140. Such functionality may be desired because different chemical products are typically associated with different set point values for solutions formed in the solution tank 140.
  • Various other parameters and operating conditions may be defined or selected by a field person through the graphical user interface displayed on the display device 204 including, without limitation, a temperature for the rinse water, a rate in which conductivity is sensed, or monitored, by the one or more conductivity cells 138, a rate in which a chemical product is dispensed if the warewashing operations are time-based, e.g., in implementations where the agent control unit 112 does not control dispensing based on information sensed by the one or more conductivity cells 138, a rate in which water is dispensed and velocity ofthe revolution of wash and rinse arms about a spindle axis.
  • Communications passed between the master control unit 202 and each ofthe agent control units 112 are formatted based on a single command protocol in accordance with an embodiment ofthe present invention.
  • the single command which is issued by the master control unit 202 for a particular agent control unit 112, is transmitted to the agent control unit 112 over either a wireless communication link, such as, without limitation, infrared, sonic or radio communication, or a wired communication link, such as, without limitation, copper-based or fiber optic communication media.
  • the communications paths between the master control unit 202 and each ofthe agent control units 112a-l 12n are shown in dashed lines to illustrate the alternative embodiments of wired and wireless interfaces between the master control unit 202 and the agent confrol units 112a-l 12n.
  • commands that may be issued by the master control unit 202 to each ofthe agent control units 112a-l 12n belong in one ofthe following categories: Reset commands, Clear commands, Dump commands and Set commands.
  • the Reset, Set and Clear commands enable a field person to control processes of a utility device using the master control unit 202.
  • the Reset command directs the agent control unit 112 to reboot.
  • the Clear command directs the agent control unit 112 to clear specified information stored on the agent control unit 112.
  • the Set command directs the agent control unit 112 to administer a specified operation associated with a process ofthe utility device. These operations may include, without limitation, modifying a defined value or operating parameter associated with the process, activating a particular component and performing a particular operation.
  • An example of an operating parameter is the conductivity setpoint for a chemical product or temperature of a rinse agent.
  • the Dump command enables a field person to monitor processes of a utility device using the master control unit 202. In doing this, the Dump command directs the agent control unit 112 to reply with specified information, such as, without limitation, the defined setpoint value of a chemical product relative to a chemical solution associated with the utility device, the current conductivity ofthe chemical solution, the temperature ofthe chemical solution and the length in time that the rinse module 106 and the wash module 104 have been operating for each wash cycle.
  • the control module for each agent control unit 112a-l 12n is programmed to recognize the aforementioned commands, and in response, administer the task specified in the request. For example, with respect to Dump commands, each ofthe agent control units 112a-l 12n recognizes that these commands request information maintained by the agent control unit 112, and in response, prepares the inforaiation for transmission to the master control device 202 according to the single command protocol.
  • the single command protocol ofthe present invention and the communications passed between the master control unit 202 and the agent control units 112a-l 12n are described in greater detail below with respect to FIGS. 5 and 6.
  • the master-agent system 200 illustrated in FIG. 2 is shown in more detail in accordance with an embodiment ofthe present invention.
  • the master control unit 202 is shown operable to control processes of a group of utility devices 310a-310b using an agent control unit 112a- 112n associated with each device 310a-310b.
  • the master control unit 202 is shown in FIG. 3 as both a client computer 202a and a personal digital assistant ("PDA") 202b in accordance with alternative embodiments. These alternative embodiments are illustrated using a dashed line between the client desktop computer 202a and the PDA 202b.
  • PDA personal digital assistant
  • An exemplary PDA that may serve as the master control unit 202b is the JornadaTM PDA manufactured by Hewlett-PackardTM.
  • the master control unit is hereinafter referred to using reference numeral "202," rather than "202a" or "202b.”
  • the master control unit 202 connects to a server computer 304 by way of a communications network 300.
  • the communications network 300 may be any type of network known to those skilled in the art or an equivalence thereto.
  • Some exemplary networks include, without limitation, the Internet, an Intranet, a private line network, or even a direct communication link between the master control unit 202 and the server computer 304.
  • the communications network 300 may utilize any number of communication technologies depending on functions required by the embodiment.
  • communications networks 300 examples include without limitation terrestrial, cellular, satellite, short-wave, and microwave connections to the Internet, directly between facilities using modems or other interface devices, or through other communications networks, such as local area networks or wide area networks. Any combination of these or other communications networks may be utilized and remain within the scope ofthe invention.
  • a remote client computer 302 connects to the server computer 304 through either the communications network 300 or a direct communication link 305.
  • the remote client computer 302 is used by a field person to pass commands to and receive information from the master control unit 202 via the server computer 304, thereby allowing the field person to control and monitor processes ofthe group of utility devices 310a-310b from a remote location. Commands are entered by the field person into the remote client computer
  • each command specifies performance of a certain task by a utility device 310.
  • exemplary task categories are Dump, Clear, Set and Reset.
  • the commands generated at the remote client computer 302 are formatted based on the single command protocol ofthe present invention.
  • the server computer 304 may be associated with any number of master control units 202.
  • the commands include information identifying the master control unit 202 responsible for controlling and monitoring the agent control unit 112 that is the intended destination for the command.
  • the intended destination may be any one ofthe agent control units 112a-l 12n.
  • the server computer 304 Based on this identification information, the server computer 304 recognizes the appropriate master control unit 202 and prepares the command for transmission to that unit 202. Upon receiving the commands transmitted by the second computer system 302, the server computer 304 either transmits the commands directly to the master control unit 202 or saves the commands to a local database 308 for subsequent transfer to the master control unit 202. If the commands are saved to the local database 308, the commands are queued for downloading by the master control unit 202 either upon request by the master control unit 202 or during a randomly, user- initiated or a regularly scheduled download time period allocated to that master control unit 202. h time, the commands are downloaded to the master control unit 202 for use in managing processes associated with a utility device 310 controlled and monitored by the master-agent system 200.
  • the master control unit 202 communicates with the plurality of agent control units 112a- 112n associated with the plurality of utility devices 31 Oa-310b, as described above with respect to FIG. 2.
  • the command includes information that identifies the agent control unit 112 that is the intended destination for the command.
  • this identification information is analyzed to determine the destination agent control unit 112, which may be any agent control unit 112a-l 12n included within the master-agent system 200.
  • the master control unit 202 then transmits the command to the appropriate agent control unit 112a- 112n, thereby requesting performance ofthe task specified in the command.
  • the destination agent control unit 112a-l 12n receives the command from the master control unit 202 over either a wireless or a wired interface. In response to receiving the command, the agent control unit 112 examines the command to determine the task specified therein as well as the appropriate component that is to perform the specified task. The agent control unit 112 then directs the appropriate component to perform the task.
  • the utility device 310 is a warewashing machine
  • the agent control unit 112 is communicatively connected to the product dispense processor 146 ofthe chemical dispense device 168, the rinse agent processor 148 ofthe chemical dispense device 170, the wash module processor 156 and the rinse module processor 158 by control lines 128, 130, 154 and 152, respectively, such that control over these components may be administered under direction ofthe agent control unit 112 in response to reception and examination of a command from the master control unit 202. Furtheraiore, the agent control unit 112 receives sensed information that is used to control processes associated with the warewashing machine 100, and therefore the chemical dispense device 168, the chemical dispense device 170, the wash module processor 156 and the rinse module processor 158.
  • the sensed information may be any type of information related to operation ofthe warewashing machine 100, including operating parameters and conditions, such as, without limitation, conductivity ofthe chemical solution, whether a particular component is active, velocity ofthe rinse or wash module arms, etc. These various types of sensed information may also be provided to the master control unit 202 in response to a request for such, as described in further detail in the following paragraph.
  • the task may request information related to a process associated with the utility device 310.
  • the appropriate component for performing such a task is the agent control unit 112, which continuously monitors processes associated with the utility device 310 by controlling certain processing components and receiving information sensed during operation ofthe utility device 310.
  • such a task may request the agent control unit 112 to return the current conductivity setpoint value used to control when a chemical product is dispensed to the solution tank 140.
  • the task may request performance of a task by either a component of the utility device 310 or the agent control unit 112.
  • Such a task may be, for example, activation or de-activation ofthe component and setting of a parameter used to locally control operation ofthe utility device 310 by the agent control unit 112.
  • the utility device being a warewashing machine 100
  • such a task may modify the current conductivity setpoint value.
  • the task may set up a process that is to be monitored pursuant to a subsequent command.
  • the task may request activation ofthe wash module 106 such that a subsequent command can be issued to request operating parameters associated with the wash module 106, e.g., velocity ofthe arms, temperature ofthe chemical solution, etc.
  • FIG. 4 depicts a computing system 400 capable of executing a program product embodiment ofthe present invention.
  • One operating environment in which the present invention is potentially useful encompasses the computing system 400, such as, for example, the agent control unit 112, the master control unit 202, the server computer 304 and the client computer 302.
  • data and program files may be input to the computing system 400, which reads the files and executes the programs therein.
  • FIG. 4 wherein a control module, illustrated as a processor 401, is shown having an input/output (I O) section 402, a microprocessor, or Central Processing Unit (CPU) 403, and a memory section 404.
  • I O input/output
  • CPU Central Processing Unit
  • the present invention is optionally implemented in software or firmware modules loaded in memory 404 and/or stored on a solid state, non- volatile memory device 413, a configured CD-ROM 408 or a disk storage unit 409.
  • the computing system 400 is used as a "special- purpose" machine for implementing the present invention.
  • a computer program product ofthe present invention may be a solid state, non- volatile memory device or a computer storage media readable by a computer system and encoding a computer program of instructions for executing a computer process.
  • the computer program product may also be a propagated signal on a carrier readable by a computing system and encoding a computer program of instructions for executing a computer process.
  • the I/O section 402 is connected to a user input module 405, e.g., a keyboard, a display unit 406 and one or more program storage devices, such as, without limitation, the solid state, non- volatile memory device 413, the disk storage unit 409, and the disk drive unit 407.
  • the user input module 405 is shown as a keyboard, but may also be any other type of apparatus for inputting commands into the processor 401.
  • the solid state, non- volatile memory device 413 is an embedded memory device for storing instructions and commands in a form readable by the CPU 403.
  • the solid state, non- volatile memory device 413 may be Read-Only Memory (ROM), an Erasable Programmable ROM (EPROM), Electrically-Erasable Programmable ROM (EEPROM), a Flash Memory or a Programmable ROM, or any other form of solid state, non-volatile memory.
  • the disk drive unit 407 is a CD-ROM driver unit capable of reading the CD-ROM medium 408, which typically contains programs 410 and data.
  • Computer program products containing mechanisms to effectuate the systems and methods in accordance with the present invention may reside in the memory section 404, the solid state, non- volatile memory device 413, the disk storage unit 409 or the CD-ROM medium 408.
  • the disk drive unit 407 may be replaced or supplemented by a floppy drive unit, a tape drive unit, or other storage medium drive unit.
  • a network adapter 411 is capable of connecting the computing system 400 to a network of remote computers via a network link 412. Examples of such systems include SPARC systems offered by Sun Microsystems, Inc., personal computers offered by IBM Corporation and by other manufacturers of IBM-compatible personal computers, and other systems running a UNIX-based or other operating system.
  • a remote computer may be a desktop computer, a server, a router, a network PC (personal computer), a peer device or other common network node, and typically includes many or all ofthe elements described above relative to the computing system 400.
  • Logical connections may include a local area network (LAN) or a wide area network (WAN). Such networking environments are commonplace in offices, enterprise-wide computer networks, intranets, and the Internet.
  • software instructions stored on the solid state, non- volatile memory device 413, the disk storage unit 409, or the CD-ROM 408 are executed by the CPU.
  • these instructions may be directed toward communicating data between a client and a server, detecting product usage data, analyzing data, and generating reports.
  • Data such as products usage data, corporate data, and supplemental data generated from product usage data or input from other sources, may be stored in memory section 404, or on the solid state, non- volatile memory device 413, the disk storage unit 409, the disk drive unit 407 or other storage medium units coupled to the system 400.
  • the computing system 400 further comprises an operating system and usually one or more application programs.
  • the operating system comprises a set of programs that control operations ofthe computing system 400 and allocation of resources.
  • the set of programs inclusive of certain utility programs, also provide a graphical user interface to the user.
  • An application program is software that runs on top ofthe operating system software and uses computer resources made available through the operating system to perform application specific tasks desired by the user.
  • the operating system employs a graphical user interface 122 wherein the display output of an application program is presented in a rectangular area on the screen ofthe display device 406.
  • the operating system is operable to multitask, i.e., execute computing tasks in multiple threads, and thus may be any ofthe following: Microsoft Corporation's "WINDOWS 95,” “WINDOWS CE,” “WINDOWS 98,” “WINDOWS 2000,” “WINDOWS XP” or “WINDOWS NT” operating systems, IBM's OS/2 WARP, Apple's MACINTOSH SYSTEM 8 operating system, X- windows, LINUX, etc.
  • the present invention is described below with reference to acts and symbolic representations of operations that are performed by the computing system 400, i.e., the agent control unit 112, the master control unit 202, the server computer 304 or the client computer 302, unless indicated otherwise.
  • Such acts and operations are sometimes referred to as being computer-executed. It will be appreciated that the acts and symbolically represented operations include the manipulations by the CPU 403 of electrical signals representing data bits causing a transformation or reduction ofthe electrical signal representation, and the maintenance of data bits at memory locations in the memory 04, the solid state, non- volatile memory device 413, the configured CD-ROM 08 or the storage unit 09 to thereby reconfigure or otherwise alter the operation ofthe computing system 400, as well as other processing signals.
  • the memory locations where data bits are maintained are physical locations that have particular electrical, magnetic, or optical properties corresponding to the data bits.
  • the logical operations ofthe various embodiments ofthe present invention are implemented either manually and/or (1) as a sequence of computer-implemented steps running on a computing system, e.g., the agent control unit 112, the master control unit 202, the server computer 304 or the client computer 302, and/or (2) as interconnected machine modules within the computing system.
  • the implementation is a matter of choice dependent on the performance requirements ofthe computing system implementing the invention. Accordingly, the logical operations making up the embodiments ofthe present invention described herein are referred to alternatively as operations, acts, steps or modules. It will be recognized by one skilled in the art that these operations, structural devices, acts and modules may be implemented in software, in firmware, in special purpose digital logic, and any combination thereof without deviating from the spirit and scope ofthe present invention as recited within the claims attached hereto.
  • the management process 500 illustrates a process of operations performed by the master control unit 202 as a field person is utilizing the master control unit 202 to control and/or monitor processes associated with a utility device included within a group of utility devices. Because the described master control unit 202 is operable to control and/or monitor each device in the group ofthe utility devices, the management process 500 illustrates operations performed to control and/or monitor not only the described utility device, but also each device included within the group. As such, although a single iteration is all that is shown for the management process 500, it should be appreciated that the management process 500 may be performed sequentially for control over and/or monitoring ofthe same utility device or other utility devices in the group over a given period of time.
  • the management process 500 is performed by an operation flow that begins with a start operation 502 and concludes with a terminate operation 514.
  • the start operation 502 is initiated as the field person activates the master control unit 202 to monitor and/or control processes associated with the utility device. From the start operation 502, the operation flow passes to a create operation 504.
  • the create operation 504 receives input from the field person and, based on said input, creates a command specifying a task that the field person is requesting that the agent control unit 112 ofthe utility device perform.
  • the command is formatted by the create operation 504 into a command packet that each ofthe agent control units 112 associated with a utility device in the group of utility devices is programmed to recognize.
  • the command packet 600 is shown in FIG. 6 in accordance with an embodiment ofthe present invention.
  • the command packet 600 includes various pre-defined fields 602-616 into which various forms of data are placed for use by the agent control unit 112 in interpreting the command.
  • the predefined fields include a start of header (SOH) field 602, an address field 604, a command field 606, a sub-command field 608, one or more parameter fields 610 and 614, wherein each parameter field is separated by a separation field 612, and an end of transmission (EOT) field 616.
  • the sub-command field 608, the one or more parameter fields 610 and 614, and the separation field 612 are optional in that a complete command packet 600 may include only one or any combination of these fields.
  • the implementation is a matter of choice, depending on the task specified in the command packet 600. For illustrative purposes, however, the command packet 600 is shown and described in FIG. 6 as including all of these optional fields.
  • the SOH field 602 indicates the beginning ofthe command packet 600 to the agent control unit 112.
  • the SOH field 602 is a pre-defined single character outside the range ofthe conventional printable American National Standard Institute (ANSI) character set. "Pre-defined” refers to the fact that the master control unit 202 is programmed to transmit and the agent control unit 112 is programmed to recognize the single character as the beginning of a command packet 600.
  • ANSI American National Standard Institute
  • the address field 604 includes identification ofthe agent control unit 112 that is the intended destination ofthe command packet 600, i.e., the agent control unit 112 associated with the utility device.
  • each agent control unit 112 in the system 200 is associated with a specific address in hexadecimal format.
  • the data placed in the address field 604 by the create operation 504 is therefore in hexadecimal format.
  • the command field 606, the sub-command field 608 and the one or more parameter fields 610 and 614 together specify a particular task to be performed by the agent control unit 112.
  • these fields 606, 608, 610 and 614 may be considered a single field because taken together these fields 606, 608, 610 and 614 specify the particular task.
  • Data placed in the command field 606 indicates the category ofthe command to be administered by the agent control unit 112.
  • the category ofthe command defines the type of action to be taken by the agent control unit 112 in performing the task associated with the command.
  • the command categories include, without limitation, Reset commands, Clear commands, Dump commands and Set commands.
  • a Reset command directs the agent control unit 112 to reboot.
  • a Clear command directs the agent control unit 112 to clear specified information stored on the agent control unit 112.
  • a Set command directs the agent control unit 112 to administer a specified task.
  • a Dump command directs the agent control unit 112 to reply to the master control unit 202 with inforaiation related to processes ofthe utility device.
  • each command category is associated with a predefined hexadecimal number. "Pre-defined" refers to the fact that the master control unit 202 is programmed transmit and all agent control units 112 in the system 200 are programmed to recognize these hexadecimal numbers as specifying a particular command category.
  • the data placed in the command field 606 by the create operation 504 therefore represents one of these pre-defined hexadecimal numbers.
  • data placed in the command field 606 by the create operation 504 is in hexadecimal format as either an "R” for Reset, a "C” for clear, a “D” for dump and an "S” for Set.
  • the sub-command field 608 continues specifying the task by defining with more specificity the action to be performed by the agent control unit 112.
  • data in the sub-command field specifies an information type to be managed, i.e., controlled or monitored, based on the command packet 600.
  • the data included within the sub-command field 608 may explicitly point out the type of infonnation that is requested.
  • the type of information that may be specified in the sub-command field 608 is any type of data relating to any process associated with the utility device.
  • each information type is associated with a predefined hexadecimal number. "Pre-defined” refers to the fact that the master control unit 202 is programmed transmit and all agent control units 112 in the system 200 are programmed to recognize these hexadecimal numbers as specifying a particular information type.
  • the data placed in the subcommand field 608 by the create operation 504 therefore represents one of these pre- defined hexadecimal numbers.
  • the utility device is a warewashing machine 100, or component(s) thereof, e.g., chemical dispense device 168 or 170
  • exemplary information types that may be indicated by data within the sub-command field are listed below in Table 1. It should be appreciated that these exemplary information types are shown in Table 1 for illustration and should not be construed to limit the present invention to the information types listed.
  • the parameter fields 610 and 614 which are separated by a separation field 612, are used to further specify the task that the command and subcommand fields 606 and 608 have specified with respect to performing some action on a certain type of information.
  • the data placed in a first parameter field 610 by the create operation 504 relates to an actual parameter or operating condition that the field person either wants to control or receive information regarding.
  • each an actual parameter or operating condition is associated with a predefined hexadecimal number. "Pre-defined” refers to the fact that the master control unit 202 is programmed transmit and all agent control units 112 in the system 200 are programmed to recognize these hexadecimal numbers as specifying a particular parameter or operating condition.
  • the data placed in the parameter fields 610 and 614 by the create operation 504 therefore represent one of these pre-defined hexadecimal numbers.
  • Exemplary parameters and operating conditions related to a warewashing machine 100, or component(s) thereof, e.g., chemical dispense device 168 or 170, are provided below in Table 2. It should be appreciated that these exemplary parameters and operating conditions are shown in Table 2 for illusfration and should not be construed to limit the present invention to the parameters and operating conditions listed.
  • a second parameter field 614 is used to carry the data for use in defining, modifying or otherwise setting the appropriate operating parameter or condition. Otherwise, if the field person requests information related to an operating parameter or condition rather than to administer control over a process associated with the utility device, the second parameter field 614 remains empty.
  • the end of the command packet 600 sent to the agent control unit 112 by the master control unit 202 is detected by the agent confrol unit 112 based on the EOT field 616.
  • the EOT field 616 is a pre-defined single character outside the range of the conventional printable ANSI character set. "Pre-defined" refers to the fact that the master control unit 202 is programmed to transmit and the agent control unit 112 is programmed to recognize the single character as the end of a command packet 600.
  • the operation flow passes to a transmit operation 506 after the command packet 600 is created by the create operation 504.
  • the transmit operation 506 transmits the command packet 600 from the master control unit 202 to the agent control unit 112 having the address specified in the address field 604.
  • transmission ofthe command packet 600 is made over a wired interface between the master control unit 202 and the agent control unit 112.
  • transmission ofthe command packet is made over a wireless interface between the master control unit 202 and the agent confrol unit 112.
  • this determination is made based on whether an acknowledgment signal has been received from the agent control unit 112 within a predetermined period of time.
  • the acknowledgment signal is a pre-defined single character outside ofthe range of conventionally known ANSI character set. "Pre-defined” refers to the fact that the agent confrol unit 112 is programmed to transmit and the master control unit 202 is programmed to recognize the single character as an indication that the complete command packet 600 was in fact received by the agent control unit 112.
  • the operation flow passes to a second query operation 510, which is described in the preceding paragraph. Otherwise, if an acknowledgment signal has not been received within this predetermined period of time, it is assumed that the agent control unit 112 never received the command packet 600 and the operation flow passes back to the create operation 504 to reconstruct the packet 600 for re-transmission to the agent control unit 112.
  • the agent control unit 112 may transmit an e ⁇ or signal to the master control unit 202 indicating such.
  • the e ⁇ or signal is a pre-defined single character outside ofthe range ofthe printable ANSI character set. "Predefined” refers to the fact that the agent control unit 112 is programmed to transmit and the master control unit 202 is programmed to recognize the single character as an indication that the complete command packet 600 was in fact not received by the agent control unit 112.
  • the agent control unit 112 determines that a complete packet has not been received if the unit 112 receives the SOH field 602, but does not receive the EOT field 616 within a predetermined period of time. In this embodiment, if the first query operation 508 receives an e ⁇ or signal, the operation flow is passed back to the create operation 504 and continues as previously described. Operation ofthe agent confrol unit 112 is shown and described in more detail with respect to FIG. 7.
  • the operation flow passes from the first query operation 508 to the second query operation upon reception of an acknowledgment signal.
  • the second query operation 510 determines whether the command packet 600 requests that the agent confrol unit 112 respond with information related to a process associated with the utility device. In an embodiment, such a determination is made based on the command category ofthe command packet 600. If the command is a Dump command, then the second query operation 510 determines that the master control unit 202 is to await the reception of information transmitted from the agent control unit 112 and branches the operation flow to the receive operation 512. The receive operation 512 waits for and thereafter receives the information requested by the command packet 600. The information is transmitted from the agent control unit 112 to the master control unit 202 by way of either a wired interface or a wireless interface.
  • the operation flow concludes at the terminate operation 514. If the command is a Set command, then the second query operation 510 branches the operation flow to the terminate operation 514 because the command packet 600 did not request information from the agent control unit 112. The operation flow therefore concludes without the master control unit 202 awaiting reception of requested information.
  • the management process 800 illustrates a process of operations perfo ⁇ ned by the agent control unit 112 as a field person is utilizing a master control unit 202 to control and/or monitor processes associated with a utility device via an agent control unit 112. Although a single iteration is all that is shown for the management process 800, it should be appreciated that the management process 800 may be performed multiple times to enable a field person to control and monitor the utility device over a given period of time.
  • the management process 800 is performed by an operation flow that begins with a start operation 802 and concludes with a terminate operation 818.
  • the start operation 802 is initiated as the field person activates the master control unit 202 to monitor and/or control processes associated with the utility device. From the start operation 802, the operation flow passes to a receive operation 804.
  • the receive operation 804 awaits reception of a command packet 600 transmitted by the master control unit 202. After the command packet 600 is received, the operation flow passes to a first query operation 806.
  • the first query operation 806 determines whether the receive operation 804 received the command packet 600 without e ⁇ or. That is, the first query operation 806 checks to make sure that the command packet 600 is a complete packet. In an embodiment, such a determination is made by detecting whether the EOT field 616 ofthe command packet 600 has been received. If the EOT field 616 has not been detected, the operation flow passes to a first notify operation 810.
  • the first notify operation 810 transmits an e ⁇ or signal back to the master control unit 202 indicating that the complete command packet 600 did not reach the agent control unit 112.
  • the e ⁇ or signal is a pre-defined single character outside ofthe range ofthe printable ANSI character set.
  • Pre-defined refers to the fact that the agent control unit 112 is programmed to transmit and the master control unit 202 is programmed to recognize the single character as an indication that the complete command packet 600 was in fact not received by the agent control unit 112. Under such circumstances, the master control unit 202 notifies the field person ofthe e ⁇ or and the field person decides whether to re-attempt transmission of that command packet 600. From the first query operation, the operation flow concludes at the terminate operation 810. If the first query operation 806 determines that the EOT field 616 was in fact detected, the operation flow passes to a second notify operation 808.
  • the second notify operation 808 sends an acknowledgment signal for transmission to the master control unit 202.
  • the acknowledgment signal is a pre-defined single character outside ofthe range of conventionally known ANSI character set. "Pre-defined” refers to the fact that the agent control unit 112 is programmed to transmit and the master control unit 202 is programmed to recognize the single character as an indication that the complete command packet 600 was in fact received by the agent control unit 112. From the second notify information 608, the operation flow passes to a second query operation 812.
  • the second query operation 812 examines the command packet 600 received from the master confrol unit 202 to determine whether the task specified in the command packet 600 is directing the agent control unit 112 to (1) administer performance of an operation related to a process associated with the utility device; or (2) reply to the command with requested information related to a process associated with the utility device. In an embodiment, such a decision may be made by examining the command field 606. If the second query operation 812 detects that the command field 606 contains data identifying a Dump command, then the command packet 600 specifies a reply to be made with requested information.
  • the command packet 600 specifies performance of an operation related to a process associated with the utility device.
  • the master control unit 202 is not requesting a reply from the agent control unit 212, but rather only control over a certain process performed by at least one component associated with the utility device.
  • the operation flow passes from the second query operation 812 to the perform operation 814 if the command packet 600 is specifying that the agent control unit 212 manage performance of a certain operation rather than reply with requested information.
  • the perform operation 814 examines the command packet 600 to determine the operation that is requested as well as the component(s) associated with the utility device responsible for the performance of said operation. After this information is gathered by examination ofthe command packet 122, the perform operation 814 directs the appropriate component(s) to perform the specified operation. From the perform operation 814, the operation flow concludes at the terminate operation 818.
  • the operation flow passes from second query operation 812 to the collect operation 816 if task specified in the command packet 600 is specifying that the agent control unit 212 reply to the command with requested information.
  • the collect operation 816 examines the command packet 600 to determine the specific inforaiation requested by the master control unit 202. Once determined, the collect information 616 collects this information, and once collected, creates a reply packet 624 (FIG. 7) for transmitting the collected information between the agent control unit 112 and the master confrol unit 202.
  • the reply packet 624 includes a SOH field 602 and an EOT field 616 as well as a third field therebetween.
  • the third field is a reply field 626 into which data requested by the master control unit 202 is placed by the collect operation 816.
  • the operation flow passes to a reply operation 817.
  • the reply operation 817 transmits the created reply packet 624 to the master control unit 202. After the reply packet 624 has been transmitted, the operation flow concludes at the terminate operation 818.
  • a command packet 600 may include a checksum field (not shown) for validation, i.e., e ⁇ or checking, purposes in accordance with another embodiment contemplated by the present invention.
  • the master-agent system 200 is described as a master control unit 202 issuing a command to only one agent control unit 112 at a time, the master control unit 202 may simultaneously issue multiple commands to more than one agent control units 112 in accordance with an alternative embodiment.
  • a master control unit 202 and each ofthe agent control units 112 associated with the master control unit 202 may include a buffer for receiving packets transmitted therebetween.
  • the ability ofthe master control unit 202 to enable control over an agent control unit 112 may include the ability to add to, modify or delete programming associated with the software or firmware accessed by the control module ofthe agent control unit 112.
  • the warewashing system 100 is shown in FIG. 1 to illustrate embodiments ofthe present invention.
  • the agent control unit 112 associated with the warewashing system 100 is described as locally controlling concentration of a chemical solution contained in the solution tank 140 based on sensed conductivity of the chemical solution cu ⁇ ently contained in the solution tank 140. It should be appreciated that the agent control unit 112 may also control conductivity ofthe chemical solution based on time-based methods. Such time-based methods may therefore be managed by a field person using the master-agent system 200 ofthe present invention.

Abstract

A system and method is disclosed for managing, i.e., control and monitoring, processes associated with a group of utility devices. The utility devices in the group may be of the same or different types of devices. For example, one or all of the utility devices in the group may be a warewashing machine. Regardless of type, each utility device in the group is provided an agent control unit, which is a controller responsible for locally overseeing operation of the various processes performed by each utility device. A master control unit provides a field person with control over and the ability to monitor processes performed by all utility devices in the group by providing a single device operable to communicate with the agent control units associated with the utility devices. In response to receiving an instruction from a field person, the master control unit places the instruction in a format recognizable to all of the agent control units associated with a utility device in the group and transmits same to the appropriate agent control unit. In response to receiving an instruction issued by the master control unit, the associated agent control unit administers the task specified therein.

Description

OPERATING UTILITY DEVICES IN A MASTER-AGENT NETWORK
ENVIRONMENT
Technical Field
The invention relates generally to a network environment of utility devices, and more particularly, to monitoring and controlling processes ofthe utility devices using a master computing device.
Background of the Invention
Devices such as warewashing machines, laundry machines, chemical dispense systems/devices and the like may generally be referred to as "utility devices" because these devices are used to perform some kind of utility. For instance, a warewashing machine is used to wash cooking utensils, dishes and various other kitchen-related objects provided to a washing chamber ofthe machine. Various types of utility devices are frequently used by large hotels, restaurants, casinos and campuses to perform various utilities associated with service operations performed at these facilities. As an example of such diversity, hotels typically contain one or more restaurants, and therefore require laundry machines and warewashing machines to clean and sanitize the linens and kitchen wares, respectively, used by patrons ofthe hotel-restaurant. The number of laundry and warewashing machines that the hotel-restaurant uses may depend on many factors, but most certainly is affected by the number of patrons that visit the hotel-restaurant on a daily basis. Processes of a utility device are often monitored and controlled by a field person responsible for maintaining operation ofthe utility device. Monitoring such processes may include, for instance, determining the number of times that the utility device has been used to perform a particular process or determining an average or instantaneous operating parameter associated with a particular process. Controlling processes ofthe utility device may include, for example, setting an operating parameter associated with a particular process or activating/de-activating the utility device. A more specific example of controlling a utility device would be defining a temperature for the rinse agent used to rinse detergent from articles washed by a warewashing machine.
A controller is typically coupled to a utility device to enable a field person to locally control processes ofthe utility device. The controller receives input from the field person and thereafter oversees operation ofthe utility device based on the received input. The controller also receives sensed information associated with various processes performed by the utility device and locally controls operation of the utility device based on this sensed information. In order to enable a field person to monitor this sensed information and to provide facilitated control over the utility device, the controller typically includes a human-machine interface (HMI). The HMI presents various types of information associated with the utility device to the field person. The presented information includes operating parameters associated with one or more processes performed by the utility device as well as selection elements for modifying or setting these operating parameters. The addition of HMI 's to improve a field person's ability to locally control and monitor operations of a utility device has resulted in significant advancements in the field of service maintenance for utility devices. However, different models and types of utility devices use different models and types of controllers, and therefore different HMI 's. Thus, a field person responsible for servicing multiple utility devices must be familiar with, or at least personally carry reference manuals for, each ofthe different controllers and associated HMI 's associated with these multiple utility devices. Having to reference multiple reference manuals is not only burdensome for the field person, but also adversely affects the sheer number of utility devices that the field person may maintain on a daily basis. As such, current systems do not provide a means for optimizing resources with respect to controlling and monitoring a large number of utility devices by a field person.
Summary of the Invention
In accordance with the present invention, the above and other problems are solved by a system and method for managing processes associated with a group of utility devices. In a specific embodiment, the utility devices are chemical dispense devices, wherein each chemical dispense device is operable to dispense at least one chemical product to a utility device for applying the at least one chemical product to one or more objects. Each chemical dispense device in the group is provided an agent control unit, which is a controller responsible for locally overseeing operation ofthe various processes associated with a chemical dispense device. A master control unit provides a field person with control over and the ability to monitor processes associated with all chemical dispense devices in the group. As such, the master control unit is a single device operable to communicate with all agent control units associated with the group of chemical dispense devices.
In accordance with one embodiment ofthe present invention, each ofthe utility devices in the group perform substantially similar functions and operate in a substantially similar manner with respect to one another, and therefore are considered the same "type" of utility device. For example, each utility device in the group may be a warewashing machine. In accordance with another embodiment of the present invention, at least one utility device in the group performs a substantially different function and operates in a substantially different manner than at least one other utility device in the group. As such, these two utility devices are considered different "types" of utility device. Illustrating this embodiment, a first utility device in the group may be a warewashing machine, whereas a second utility device in the group may be a laundry machine. To request control over or monitor processes performed by a utility device, a field person first inputs an instruction into the master control unit. The instruction specifies a task that is to be performed by the agent control unit associated with the utility device to be controlled and/or monitored by the field person. Once received by the master control unit, the instruction is formatted into a packet-based structure having pre-defined fields and data recognizable to all agent control units associated with the utility devices in the group. Such a common protocol enables a field person to utilize a single master control unit to manage the various processes associated with each ofthe utility devices in the group. Once formatted into the packet-based structure, the master control unit transmits the instruction to the agent control unit associated with the utility device that is to be controlled and or monitored by the field person. In response to receiving an instruction issued by the master control unit, the associated agent control unit administers the task specified therein. In an embodiment, the task specified in an instruction issued to an agent control unit by the master control unit may be a request for the agent control unit to reply with certain information related to operation ofthe utility device associated with the agent control unit. For example, the task may request the agent control unit to determine and return to the master control unit an operating parameter associated with a particular process ofthe utility device. In a further embodiment, the task specified in an instruction issued to an agent control unit by the master control unit may request that the agent control unit perform an operation associated with a particular process ofthe utility device. Illustrating such, the task may request that the agent control unit set an operating parameter associated with the particular process to a specified value.
The master control unit may be any type of computing device operable to communicate with the agent control units over either a wire-based or wireless interface. In a first embodiment, the master control unit is a mobile computing device, e.g., a handheld personal digital assistant, a cellular phone or a laptop computer, that the field person may carry from agent control unit to agent control unit. In a second embodiment, the master control unit may be a desktop computer located at a facility and communicatively connected to each ofthe agent control units. In either embodiment, the master control unit may be a client computer that downloads instructions issued by a field person using a network connection, e.g., the Internet, an intranet, etc., to a server computer. The field person inputs the instructions using a workstation connected to the server computer by a direct communication link or a remote computer that accesses the server computer using a network connection.
The present invention may be implemented as a computer process, a computing system or as an article of manufacture, such as, a computer program product. The computer program product may be a solid state, non- volatile memory device or a computer storage media readable by a computer system and encoding a computer program of instructions for executing a computer process. The computer program product may also be a propagated signal on a carrier readable by a computing system and encoding a computer program of instructions for executing a computer process.
These and various other features as well as advantages, which characterize the present invention, will be apparent from a reading of the following detailed description and a review ofthe associated drawings.
Brief Description of the Drawings
FIG. 1 illustrates components of a utility device in accordance with an embodiment ofthe present invention. FIG. 2 illustrates a schematic representation of a system for managing a group of utility devices using a single master control unit in accordance with an embodiment ofthe present invention. FIG. 3 illustrates the system of FIG. 2 in more detail in accordance with an embodiment ofthe present invention.
FIG. 4 depicts a block diagram of a suitable computing environment in which an embodiment ofthe present invention may be implemented. FIG. 5 is a flow diagram that illustrates operational characteristics for managing processes of a group of utility devices using a single master control unit in accordance with an embodiment ofthe present invention.
FIG. 6 depicts a command packet for specifying a task relating to a process associated with a utility device in accordance with an embodiment ofthe present invention.
FIG. 7 depicts a reply packet transmitted by an agent control unit in responding to a request for information contained in a command packet in accordance with an embodiment ofthe present invention.
FIG. 8 is a flow diagram that illustrates operational characteristics performed by an agent control unit in response to reception of a command packet issued by a master control unit in accordance with an embodiment ofthe present invention.
Detailed Description
The present invention and its various embodiments are described in detail below with reference to the figures. When referring to the figures, like structures and elements shown throughout are indicated with like reference numerals. Objects depicted in the figures that are covered by another object, as well as the reference annotations thereto, are shown using dashed lines. The present invention relates to managing processes of a group of utility devices using a common master control unit. The term "managing" is broadly used herein to refer to controlling and/or monitoring processes of each utility device in the group. The term "process" is used herein to broadly refer to any operation performed by a utility device, or component thereof. In accordance with an embodiment ofthe present invention, each ofthe utility devices in the group of utility devices is provided with a local processor, referred to herein as an "agent control unit," responsible for administering commands issued by the common master control unit. The group of utility devices may include devices of different types. For example, without limitation, one utility device may be a warewashing machine, a second utility device may be a laundry machine and a third utility device may be a vending machine. Alternatively, the group of utility devices may include only devices ofthe same type. For example, without limitation, each ofthe utility devices may be a warewashing machine. The present invention is described herein using a warewashing machine to illustrate interaction between the master control unit and an agent control unit associated with the warewashing machine. It should be appreciated, however, that the present invention encompasses any type of utility device that performs operations under direction of a local processor, such as the agent control unit described in accordance with an embodiment ofthe invention. Exemplary utility devices for use with the present invention include, but are not limited to, vending machines, chemical dispense systems or devices, clean-in-place (CU?) systems, car wash systems and laundry systems. Furthermore, utility devices for use with the present invention may be used in any type of setting, such as, for example, a cafeteria, a bakery, a dairy plant, a chemical plant, a manufacturing plant, a hotel, a business or college campus, a building and a military base.
Referring now to FIG. 1, a warewashing machine 100 for use with the present invention is shown in accordance with an exemplary embodiment for a utility device. The warewashing machine 100 is used to clean all types of dishware and kitchen objects, such as, without limitation, pots and pans used in restaurants, cafeterias and bakeries. Objects washed by the warewashing machine 100 are hereinafter referred to as "articles." The articles are provided to the warewashing machine 100 on article racks 104. The warewashing machine 100 may be a commercial dump or fill-type dish machine with standard article racks 104, although other cleaning apparatuses may be employed, including, without limitation, animal cage washers used in animal research areas.
The warewashing machine 100 includes a washing chamber 108, which, in the embodiment shown is enclosed by an entry sliding door 114 and an exit sliding door 116. The washing chamber 108 is supported above ground level by a plurality of legs 144. In operation, each article rack 104 carries one or more articles to be cleaned and/or sanitized by the warewashing machine 100 into the washing chamber 108 through an opened entry sliding door 114. Arrows 118, which are provided in FIG. 1 for illustration purposes only, show the direction of article racks 104 through the washing chamber 108 in accordance with an embodiment ofthe present invention. Once an article rack 104 is located inside the washing chamber 108, the entry sliding door 114 and the exit sliding door 116 are both closed to fully contain the washing chamber 108 on all sides.
A rinse module 102 is provided within or directly above the washing chamber 108 for applying a rinse agent to articles contained in the article racks 104. Although water is hereinafter described as the exemplary rinse agent, it should be appreciated that other rinse agents may be applied to the articles by the rinse module 102. an embodiment, the rinse module 102 includes arms (not shown) operably mounted to a spindle (not shown) for rotation about the spindle axis. The arms of the rinse module 102 include a plurality of openings (not shown) through which water is passed to articles placed in the washing chamber 108. The rinse module 102 includes a processing module 158 responsible for operation ofthe rinse module 102, such as, without limitation, spinning the rinse module arms at a certain velocity and allowing the dispensing of water through the holes in the rinse module arms. A wash module 106 is provided within or directly below the washing chamber 108 for applying a chemical solution to articles placed in the racks 104. The chemical solution cleans and sanitizes the articles for subsequent use in eating, cooking or otherwise utilizing. Like the rinse module 102, the wash module 106 includes arms (not shown) operably mounted to a spindle (not shown) for rotation about the spindle axis. The arms ofthe wash module 106 include a plurality of openings (not shown) through which the chemical solution is passed to articles placed in the washing chamber 108. The wash module 106 includes a processing module 156 responsible for operation ofthe wash module 106, such as, without limitation, spinning the wash module arms at a certain velocity and allowing the dispensing of chemical product tlirough the holes in the wash module arms.
The chemical solution is formed and stored in a solution tank 140 positioned underneath the washing chamber 108. The chemical solution is formed as a combination of water provided by the rinse module 102 and one or more chemical products. For illustration purposes, and not by means of limitation, the chemical solution formed in the solution tank 140 is a combination of a single chemical product and water. In an embodiment, the chemical product is a cleaning product, such as, without limitation, detergent, soap or other cleaning chemical. Prior to being provided to the solution tank 140, the chemical product used to form the chemical solution is stored in a product reservoir 110 in either a solid or liquid form. If the chemical product is stored as a solid, water is applied to the product to liquefy the chemical product such that the product may be provided to the solution tank 140 by way of a supply hose 132. The chemical product is stored in a product reservoir 110 and dispensed to the solution tank 140 under the direction of a chemical product dispense processor 146. Collectively, the product dispense processor 146 and the product reservoir 110 constitute a "chemical dispense device" 168, and therefore can be considered a utility device separate from the warewashing machine 100 in accordance with the present invention. Indeed, processes of this chemical dispense system 168 are administered by the agent control unit 112.
Water is stored in a water reservoir 120 and dispensed into the washing chamber 108 by the rinse module 102. Water passes from the water reservoir 120 to the rinse module 102 by way of a coupling 145 therebetween. The rinse module 102 then applies the water to articles contained in a rack 104 situated in the washing chamber 108. An opening (not shown) is provided between the solution tank 140 and the washing chamber 108 to allow water provided to the washing chamber 108 to enter the solution tank 140. Water provided to the washing chamber 108 by the rinse module 102 passes through the opening into the solution tank 140, therein combining with pre-existing chemical solution to further dilute the chemical solution and therefore lower the concentration of chemical product in the solution.
In an embodiment ofthe present invention, a field person manages, i.e., controls and monitors, processes associated with the warewashing machine 100 using a master-agent system (200 in FIG. 2). Although referred to as being associated with the warewashing machine 100, it should be appreciated that the processes being controlled and monitored by the master-agent system 200 are not only associated with the actual warewashing machine 100, but also various utility devices serving as components to the warewashing machine 100. For example, many ofthe processes associated with the warewashing machine 100 are actually associated with, and even performed by, the chemical dispense device 168, which is responsible for dispensing a chemical product to the solution tank 140 for application to articles contained in racks 104, as discussed in further detail below. In an embodiment, the master-agent system 200 includes a master control unit (202 in FIG. 2), which may any type of computing device capable of sending commands and receiving information over a wired or wireless interface. Some exemplary master control units 202 include, without limitation, a personal digital assistant (PDA), a workstation, a personal computer, a laptop computer, a cellular or land-based telephone, etc. Regardless ofthe type of computing device used, the master control unit 202 communicates commands entered by the field person to a processing module 112 local to the warewashing machine 100. In response to receiving a command issued by the master control unit 202, the local processing module 112 controls processes ofthe warewashing machine 100 based on instructions specified in the command. Due to the master-agent, or "master-slave," relationship between the master control unit 202 and the local processing module 112, the local processing module 112 is referred to herein as an "agent control unit." The agent control unit 112 includes a control module (internal to the agent control unit 112), a wireless control port 126, a wired control port 127, and one or more display devices or modules, such as, without limitation, first and second status indicators, e.g., light emitting diodes (LED's), 124 and 125 and a graphical user interface 126. The wireless control port 126 and the wired control port 127 enable the agent control unit 112 to receive commands and transmit information to the master control unit 220.
In response to commands received from the master control unit 202 through either the wireless control port 126 or the wired control port 127, the control module performs operations stored as firmware or software to locally control and monitor various tasks associated the warewashing machine 100. These operations direct various components associated with the warewashing machine 100 to perform various tasks administered during a given wash cycle. These components include, without limitation, the rinse module 102, the wash module 106, the chemical dispense device 168 and a chemical dispense device 170. For example, the control module controls initiation of a wash cycle for each rack 104 provided to the warewashing machine 100, dispensing ofthe chemical product to the solution tank 140, application ofthe chemical solution to the articles contained in the rack 104, and application of water to the articles contained in the rack 104.
The control module also measures conductivity ofthe chemical solution resident in the solution tank 140, and based on this measurement, controls the amount of chemical product that the product reservoir 110 dispenses to the solution tank 140. Furthermore, the control module generates information for display on the graphical user interface 122 as well as first and second status indicators 124 and 125 based on the various tasks performed and monitored by the control module. In a preferred embodiment, the control module is a special-purpose controller manufactured by NONA Controls. However, it should be appreciated that the control module may be any type or make of controller known to those skilled in the art.
Instructions by the control module to perform various tasks are transmitted to the appropriate components using a chemical product output control line 128, a water output control line 130, a rinse module control line 152 and a wash module control line 154, each of which are input to the agent control unit 112. Further, the control module monitors conductivity ofthe chemical solution resident in the solution tank 140 using a conductivity input control line 136, which is also input to the agent control unit 112. The chemical product output control line 128 couples the agent control unit 112 to the product dispense processor 146 thereby enabling the agent control unit 112 to locally control and monitor processes associated with the chemical dispense device 168. Under direction ofthe control module, the agent control unit 112 transmits signals to the product dispense processor 146 over the chemical product output control line 128. These signals direct the product dispense processor 146 to dispense a particular volume of chemical product to the solution tank 140. If the chemical product is stored in the product reservoir 110 in a solid form, the product dispense processor 146 activates a water pump that applies a predetermined volume or water to the solidified chemical product. Upon the application of this predetermined volume of water, a predetermined volume ofthe chemical product in a liquid form is created and dispensed out ofthe product reservoir 110.
The wash module control line 154 couples the agent control unit 112 to the processor 156, which as noted above, is responsible for operation ofthe wash module 106, i.e., dispensing of chemical solution, velocity ofthe spray arms ofthe wash module 106, etc. Under direction ofthe control module, the agent control unit 112 controls operation ofthe wash module 106 by issuing command signals to the wash module processor 156. Based on such control, the control module can determine whether the wash module 106 is currently operating. The water output control line 130 couples the agent control unit 112 to a processor 148 responsible for dispensing water from the water reservoir 120. In an embodiment, the water reservoir processor 148 controls operation of a water pump (not shown) that pushes water tlirough an output ofthe water reservoir 120 and into the rinse module 102. Under direction ofthe control module, the agent control unit 112 transmits signals to the water reservoir processor 148 over the water output control line 130. These signals direct the water reservoir processor 148 to activate the water pump to dispense a predetermined volume of water contained in the water reservoir 120 to the rinse module 102. Collectively, the water reservoir processor 148 and the water reservoir 120 constitute a "chemical dispense device" 170, and therefore can be considered a utility device separate from the warewashing machine 100 in accordance with the present invention. Indeed, processes of this chemical dispense system 170 are administered by the agent control unit 112. Almost simultaneously to activation ofthe water pump and under the direction ofthe control module, the agent control unit 112 also directs the rinse module 102 to provide the water to the washing chamber 108 for application to articles contained in an article rack 104 currently situated therein. To accomplish this, the agent control unit 112 transmits signals to the rinse module processor 158, which as noted above, is responsible for dispensing water from the rinse module
102. These signals are communicated to the rinse module processor 158 by way of the rinse module control line 152. The rinse module processor 158 dispenses water from the rinse module 102 and to the articles in the washing chamber 108. From the washing chamber 108, the water passes to the solution tank 140, where the water combines with chemical solution already contained in the tank 140, thereby diluting the solution.
As the chemical solution resides in the solution tank 140, the control module monitors conductivity ofthe chemical solution. To accomplish this, the conductivity input control line 136 couples the agent control unit 112 to one or more conductivity cells 138 that sense information related to concentration ofthe chemical product relative to the chemical solution. This sensed information, which is provided to the agent control unit 112 over the conductivity input control line 136, is used by the control module to calculate percent (%) concentration ofthe chemical product relative to the chemical solution. Such conductivity cells and the method for determining % concentration are well known in the art and not described in further detail herein. For example, United States Patent No. 4,733,798, which is incorporated by reference into this application, teaches both conventional electrode- bearing conductivity cells and electrode-less conductivity cells as well as measuring and controlling concentration of a chemical solution.
In an embodiment, the first and second status indicators 124 and 125 indicate the current operation ofthe warewashing machine 100. For example, the first status indicator 124 may indicate to users that the warewashing machine 100 is currently activated and in the middle of a wash cycle. The second status indicator 125 may indicate to users that the warewashing machine 100 is not only activated, but that the chemical product is currently being dispensed to the solution tank 140. It should be appreciated that the status indicators 124 and 125 may be used for any other purpose related to operating characteristics ofthe warewashing machine 100. The graphical user interface 122 provides a presentation and control interface that enables a field person to locally monitor and control processes ofthe warewashing machine 100. As such, control and monitoring ofthe warewashing machine 100 using the graphical user interface 122 is an alternative approach to using the master control unit 202 described above.
Operation ofthe warewashing machine 100 commences after both the entry sliding door 114 and the exit sliding door 116 are closed with a rack 104 being located substantially underneath the rinse module 102 and substantially above the wash module 106. Initially, the chemical solution is applied to the articles by the wash module 106 under direction ofthe control module. Application ofthe chemical solution to the articles is maintained for a predetermined period in time, as determined by the control module. After the chemical solution 106 is applied to the articles, the control module controls the rinse module 102 to apply water to the articles for rinsing the chemical solution away from the articles. Like the wash module 106, the rinse module 102 is operated for a predetermined period in time, as determined by the control module. After rinsing, the wash cycle is complete and the exit sliding door 116 is opened such that the rack 104 may be removed from the washing chamber 108 to make the warewashing machine 100 available for use by subsequent article racks 104.
FIG. 2 illustrates a master-agent system 200 wherein a master control unit 202 is used by a field person to control and monitor processes associated with a group of utility devices (not shown) in accordance with an embodiment ofthe present invention. The utility devices may be located either at a single facility or at different facilities. Each utility device is associated with an agent control unit 112, which are shown in FIG. 2 as agent control units 112a through 112n. Agent control units 112a through 112n are shown to illustrate the master-agent system 200, and are not intended to limit the master control unit 202 to control over the number (14) of utility devices shown. Indeed, the master control unit 202 may interact with any number of agent control units 112 to control and monitor any number of utility devices. In accordance with a first embodiment, at least one utility device in the group is a different type of utility device than each ofthe other utility devices in the group. As such, this at least one utility device performs a substantially different function and operates in a substantially different manner than each ofthe other utility devices in the group. For instance, a utility device in the group may be a laundry machine whereas each other utility device in the group may be a warewashing machine 100. In accordance with a second embodiment, each utility device in the group is substantially the same type of utility device. As such, each utility device in the group performs substantially the same function and operates in substantially the same manner. For instance, each utility device in the group may be a warewashing device 100. Additionally, regardless of whether the utility devices in the group are ofthe same "type," each utility device included within the group may each be dependent upon processes associated with other utility devices, such as the case with the dependency between the chemical dispense device 168 and the warewashing machine 100 shown in FIG. 1. It should be appreciated that the master control unit 202 may any type of computing device capable of sending commands to and receiving information from an agent control unit 112. Some exemplary master control units 202 include, without limitation, a personal digital assistant (PDA), a workstation, a personal computer, a laptop computer, a cellular or land-based telephone, etc. Furthermore, in an embodiment, the master confrol unit 202 may be a client computer, e.g., PDA, desktop, laptop or workstation, connecting to a server computer over a network connection, such as the Internet. In this embodiment, a field person may control and monitor processes of a utility device as the field person communicates with the agent control unit 112 associated with the utility device from a remote location. Alternatively, the field person may utilize the master control unit 112 to control and monitor processes of a utility device while present at substantially the same physical location, i.e., facility, as the utility device. Regardless ofthe type of computing device used, the master control unit 202 communicates commands entered by the field person to an agent control unit 112 local to the utility device.
Field persons interact with the master control unit 202 using a display device 204. In an embodiment wherein a field person accesses the master control unit 202 from a remote location, the display device 204 is part ofthe client computer used by the field person to access the master control unit 202. h an embodiment wherein the field person accesses the master control unit 202 locally, the display device 204 is part ofthe master control unit 202. A graphical user interface displayed on the display device 204 provides the capability for the field person to monitor and control processes ofthe utility device. With respect to monitoring warewashing operations, the graphical user interface presented on the display device 204 displays information related to cureent operating conditions and parameters ofthe wash cycle. For example, the graphical user interface may display, without limitation, whether articles are being rinsed or cleaned, the amount of time left in a current wash cycle, the temperature ofthe chemical solution, the pressure ofthe rinse or chemical solution being applied to the articles, the temperature ofthe rinse water, etc.
With respect to controlling warewashing operations, the graphical user interface displayed on the display device presents information in the form selection objects that enable the field person to define or modify operating parameters for the warewashing machine 100. These operating parameters include, without limitation, a setpoint value for conductivity ofthe chemical solution formed and stored in the solution tank 140, the length in time of a wash cycle, the length in time of a rinse cycle and the length in time that the chemical solution is applied to articles contained in the washing chamber 108. The setpoint value for conductivity is defined herein as a user-defined % concentration for a chemical product relative to the chemical solution formed in the solution tank 140. Such functionality may be desired because different chemical products are typically associated with different set point values for solutions formed in the solution tank 140.
Various other parameters and operating conditions may be defined or selected by a field person through the graphical user interface displayed on the display device 204 including, without limitation, a temperature for the rinse water, a rate in which conductivity is sensed, or monitored, by the one or more conductivity cells 138, a rate in which a chemical product is dispensed if the warewashing operations are time-based, e.g., in implementations where the agent control unit 112 does not control dispensing based on information sensed by the one or more conductivity cells 138, a rate in which water is dispensed and velocity ofthe revolution of wash and rinse arms about a spindle axis.
Communications passed between the master control unit 202 and each ofthe agent control units 112 are formatted based on a single command protocol in accordance with an embodiment ofthe present invention. The single command, which is issued by the master control unit 202 for a particular agent control unit 112, is transmitted to the agent control unit 112 over either a wireless communication link, such as, without limitation, infrared, sonic or radio communication, or a wired communication link, such as, without limitation, copper-based or fiber optic communication media. The communications paths between the master control unit 202 and each ofthe agent control units 112a-l 12n are shown in dashed lines to illustrate the alternative embodiments of wired and wireless interfaces between the master control unit 202 and the agent confrol units 112a-l 12n.
In accordance with the single command protocol, commands that may be issued by the master control unit 202 to each ofthe agent control units 112a-l 12n belong in one ofthe following categories: Reset commands, Clear commands, Dump commands and Set commands. The Reset, Set and Clear commands enable a field person to control processes of a utility device using the master control unit 202. The Reset command directs the agent control unit 112 to reboot. The Clear command directs the agent control unit 112 to clear specified information stored on the agent control unit 112. The Set command directs the agent control unit 112 to administer a specified operation associated with a process ofthe utility device. These operations may include, without limitation, modifying a defined value or operating parameter associated with the process, activating a particular component and performing a particular operation. An example of an operating parameter is the conductivity setpoint for a chemical product or temperature of a rinse agent. The Dump command enables a field person to monitor processes of a utility device using the master control unit 202. In doing this, the Dump command directs the agent control unit 112 to reply with specified information, such as, without limitation, the defined setpoint value of a chemical product relative to a chemical solution associated with the utility device, the current conductivity ofthe chemical solution, the temperature ofthe chemical solution and the length in time that the rinse module 106 and the wash module 104 have been operating for each wash cycle.
In order for the master control unit 202 to effectively enable a field person to control and monitor processes of each device in the group of utility devices ofthe master-agent system 200, the control module for each agent control unit 112a-l 12n is programmed to recognize the aforementioned commands, and in response, administer the task specified in the request. For example, with respect to Dump commands, each ofthe agent control units 112a-l 12n recognizes that these commands request information maintained by the agent control unit 112, and in response, prepares the inforaiation for transmission to the master control device 202 according to the single command protocol. The single command protocol ofthe present invention and the communications passed between the master control unit 202 and the agent control units 112a-l 12n are described in greater detail below with respect to FIGS. 5 and 6. Referring now to FIG. 3, the master-agent system 200 illustrated in FIG. 2 is shown in more detail in accordance with an embodiment ofthe present invention. In FIG. 3, the master control unit 202 is shown operable to control processes of a group of utility devices 310a-310b using an agent control unit 112a- 112n associated with each device 310a-310b. The master control unit 202 is shown in FIG. 3 as both a client computer 202a and a personal digital assistant ("PDA") 202b in accordance with alternative embodiments. These alternative embodiments are illustrated using a dashed line between the client desktop computer 202a and the PDA 202b. An exemplary PDA that may serve as the master control unit 202b is the Jornada™ PDA manufactured by Hewlett-Packard™. For clarity, the master control unit is hereinafter referred to using reference numeral "202," rather than "202a" or "202b." The master control unit 202 connects to a server computer 304 by way of a communications network 300. It should be appreciated that the communications network 300 may be any type of network known to those skilled in the art or an equivalence thereto. Some exemplary networks include, without limitation, the Internet, an Intranet, a private line network, or even a direct communication link between the master control unit 202 and the server computer 304. It should also be understood that the communications network 300 may utilize any number of communication technologies depending on functions required by the embodiment. Examples of specific technologies used in communications networks 300 contemplated include without limitation terrestrial, cellular, satellite, short-wave, and microwave connections to the Internet, directly between facilities using modems or other interface devices, or through other communications networks, such as local area networks or wide area networks. Any combination of these or other communications networks may be utilized and remain within the scope ofthe invention.
A remote client computer 302 connects to the server computer 304 through either the communications network 300 or a direct communication link 305. The remote client computer 302 is used by a field person to pass commands to and receive information from the master control unit 202 via the server computer 304, thereby allowing the field person to control and monitor processes ofthe group of utility devices 310a-310b from a remote location. Commands are entered by the field person into the remote client computer
302 and then transmitted to the server computer 304 either by the direct communication link 305 or over the communications network 300. Each command specifies performance of a certain task by a utility device 310. As described above, exemplary task categories are Dump, Clear, Set and Reset. In an embodiment, the commands generated at the remote client computer 302 are formatted based on the single command protocol ofthe present invention. The server computer 304 may be associated with any number of master control units 202. Thus, the commands include information identifying the master control unit 202 responsible for controlling and monitoring the agent control unit 112 that is the intended destination for the command. In the embodiment of FIG. 3, the intended destination may be any one ofthe agent control units 112a-l 12n. Based on this identification information, the server computer 304 recognizes the appropriate master control unit 202 and prepares the command for transmission to that unit 202. Upon receiving the commands transmitted by the second computer system 302, the server computer 304 either transmits the commands directly to the master control unit 202 or saves the commands to a local database 308 for subsequent transfer to the master control unit 202. If the commands are saved to the local database 308, the commands are queued for downloading by the master control unit 202 either upon request by the master control unit 202 or during a randomly, user- initiated or a regularly scheduled download time period allocated to that master control unit 202. h time, the commands are downloaded to the master control unit 202 for use in managing processes associated with a utility device 310 controlled and monitored by the master-agent system 200.
The master control unit 202 communicates with the plurality of agent control units 112a- 112n associated with the plurality of utility devices 31 Oa-310b, as described above with respect to FIG. 2. In addition to including information identifying the appropriate master control unit 202 for a command, the command includes information that identifies the agent control unit 112 that is the intended destination for the command. After a command is received by the master control unit 202 from the server computer 304, this identification information is analyzed to determine the destination agent control unit 112, which may be any agent control unit 112a-l 12n included within the master-agent system 200. The master control unit 202 then transmits the command to the appropriate agent control unit 112a- 112n, thereby requesting performance ofthe task specified in the command.
The destination agent control unit 112a-l 12n receives the command from the master control unit 202 over either a wireless or a wired interface. In response to receiving the command, the agent control unit 112 examines the command to determine the task specified therein as well as the appropriate component that is to perform the specified task. The agent control unit 112 then directs the appropriate component to perform the task. In an embodiment wherein the utility device 310 is a warewashing machine
100, as shown in FIG. 1, the agent control unit 112 is communicatively connected to the product dispense processor 146 ofthe chemical dispense device 168, the rinse agent processor 148 ofthe chemical dispense device 170, the wash module processor 156 and the rinse module processor 158 by control lines 128, 130, 154 and 152, respectively, such that control over these components may be administered under direction ofthe agent control unit 112 in response to reception and examination of a command from the master control unit 202. Furtheraiore, the agent control unit 112 receives sensed information that is used to control processes associated with the warewashing machine 100, and therefore the chemical dispense device 168, the chemical dispense device 170, the wash module processor 156 and the rinse module processor 158. The sensed information may be any type of information related to operation ofthe warewashing machine 100, including operating parameters and conditions, such as, without limitation, conductivity ofthe chemical solution, whether a particular component is active, velocity ofthe rinse or wash module arms, etc. These various types of sensed information may also be provided to the master control unit 202 in response to a request for such, as described in further detail in the following paragraph. In an embodiment, the task may request information related to a process associated with the utility device 310. In this embodiment, the appropriate component for performing such a task is the agent control unit 112, which continuously monitors processes associated with the utility device 310 by controlling certain processing components and receiving information sensed during operation ofthe utility device 310. For example, with the utility device being a warewashing machine 100, such a task may request the agent control unit 112 to return the current conductivity setpoint value used to control when a chemical product is dispensed to the solution tank 140. h another embodiment, the task may request performance of a task by either a component of the utility device 310 or the agent control unit 112. Such a task may be, for example, activation or de-activation ofthe component and setting of a parameter used to locally control operation ofthe utility device 310 by the agent control unit 112. For example, with the utility device being a warewashing machine 100, such a task may modify the current conductivity setpoint value. Additionally, the task may set up a process that is to be monitored pursuant to a subsequent command. For example, with the utility device being a warewashing machine 100, the task may request activation ofthe wash module 106 such that a subsequent command can be issued to request operating parameters associated with the wash module 106, e.g., velocity ofthe arms, temperature ofthe chemical solution, etc.
FIG. 4 depicts a computing system 400 capable of executing a program product embodiment ofthe present invention. One operating environment in which the present invention is potentially useful encompasses the computing system 400, such as, for example, the agent control unit 112, the master control unit 202, the server computer 304 and the client computer 302. In such a system, data and program files may be input to the computing system 400, which reads the files and executes the programs therein. Some ofthe elements of a computing system 400 are shown in FIG. 4 wherein a control module, illustrated as a processor 401, is shown having an input/output (I O) section 402, a microprocessor, or Central Processing Unit (CPU) 403, and a memory section 404. The present invention is optionally implemented in software or firmware modules loaded in memory 404 and/or stored on a solid state, non- volatile memory device 413, a configured CD-ROM 408 or a disk storage unit 409. As such, the computing system 400 is used as a "special- purpose" machine for implementing the present invention.
Each ofthe above-noted forms of data storage are broadly included within the definition of "computer program product" used throughout the specification and the claims. That is, generally stated, a computer program product ofthe present invention may be a solid state, non- volatile memory device or a computer storage media readable by a computer system and encoding a computer program of instructions for executing a computer process. In another embodiment, the computer program product may also be a propagated signal on a carrier readable by a computing system and encoding a computer program of instructions for executing a computer process.
The I/O section 402 is connected to a user input module 405, e.g., a keyboard, a display unit 406 and one or more program storage devices, such as, without limitation, the solid state, non- volatile memory device 413, the disk storage unit 409, and the disk drive unit 407. The user input module 405 is shown as a keyboard, but may also be any other type of apparatus for inputting commands into the processor 401. The solid state, non- volatile memory device 413 is an embedded memory device for storing instructions and commands in a form readable by the CPU 403. In accordance with various embodiments, the solid state, non- volatile memory device 413 may be Read-Only Memory (ROM), an Erasable Programmable ROM (EPROM), Electrically-Erasable Programmable ROM (EEPROM), a Flash Memory or a Programmable ROM, or any other form of solid state, non-volatile memory. In accordance with one embodiment, the disk drive unit 407 is a CD-ROM driver unit capable of reading the CD-ROM medium 408, which typically contains programs 410 and data. Computer program products containing mechanisms to effectuate the systems and methods in accordance with the present invention may reside in the memory section 404, the solid state, non- volatile memory device 413, the disk storage unit 409 or the CD-ROM medium 408. hi accordance with an alternative embodiment, the disk drive unit 407 may be replaced or supplemented by a floppy drive unit, a tape drive unit, or other storage medium drive unit. A network adapter 411 is capable of connecting the computing system 400 to a network of remote computers via a network link 412. Examples of such systems include SPARC systems offered by Sun Microsystems, Inc., personal computers offered by IBM Corporation and by other manufacturers of IBM-compatible personal computers, and other systems running a UNIX-based or other operating system. A remote computer may be a desktop computer, a server, a router, a network PC (personal computer), a peer device or other common network node, and typically includes many or all ofthe elements described above relative to the computing system 400. Logical connections may include a local area network (LAN) or a wide area network (WAN). Such networking environments are commonplace in offices, enterprise-wide computer networks, intranets, and the Internet.
In accordance with a program product embodiment ofthe present invention, software instructions stored on the solid state, non- volatile memory device 413, the disk storage unit 409, or the CD-ROM 408 are executed by the CPU. In this embodiment, these instructions may be directed toward communicating data between a client and a server, detecting product usage data, analyzing data, and generating reports. Data, such as products usage data, corporate data, and supplemental data generated from product usage data or input from other sources, may be stored in memory section 404, or on the solid state, non- volatile memory device 413, the disk storage unit 409, the disk drive unit 407 or other storage medium units coupled to the system 400. hi accordance with one embodiment, the computing system 400 further comprises an operating system and usually one or more application programs. Such an embodiment is familiar to those of ordinary skill in the art. The operating system comprises a set of programs that control operations ofthe computing system 400 and allocation of resources. The set of programs, inclusive of certain utility programs, also provide a graphical user interface to the user. An application program is software that runs on top ofthe operating system software and uses computer resources made available through the operating system to perform application specific tasks desired by the user. In accordance with an embodiment, the operating system employs a graphical user interface 122 wherein the display output of an application program is presented in a rectangular area on the screen ofthe display device 406. The operating system is operable to multitask, i.e., execute computing tasks in multiple threads, and thus may be any ofthe following: Microsoft Corporation's "WINDOWS 95," "WINDOWS CE," "WINDOWS 98," "WINDOWS 2000," "WINDOWS XP" or "WINDOWS NT" operating systems, IBM's OS/2 WARP, Apple's MACINTOSH SYSTEM 8 operating system, X- windows, LINUX, etc. In accordance with the practices of persons skilled in the art of computer programming, the present invention is described below with reference to acts and symbolic representations of operations that are performed by the computing system 400, i.e., the agent control unit 112, the master control unit 202, the server computer 304 or the client computer 302, unless indicated otherwise. Such acts and operations are sometimes referred to as being computer-executed. It will be appreciated that the acts and symbolically represented operations include the manipulations by the CPU 403 of electrical signals representing data bits causing a transformation or reduction ofthe electrical signal representation, and the maintenance of data bits at memory locations in the memory 04, the solid state, non- volatile memory device 413, the configured CD-ROM 08 or the storage unit 09 to thereby reconfigure or otherwise alter the operation ofthe computing system 400, as well as other processing signals. The memory locations where data bits are maintained are physical locations that have particular electrical, magnetic, or optical properties corresponding to the data bits.
The logical operations ofthe various embodiments ofthe present invention are implemented either manually and/or (1) as a sequence of computer-implemented steps running on a computing system, e.g., the agent control unit 112, the master control unit 202, the server computer 304 or the client computer 302, and/or (2) as interconnected machine modules within the computing system. The implementation is a matter of choice dependent on the performance requirements ofthe computing system implementing the invention. Accordingly, the logical operations making up the embodiments ofthe present invention described herein are referred to alternatively as operations, acts, steps or modules. It will be recognized by one skilled in the art that these operations, structural devices, acts and modules may be implemented in software, in firmware, in special purpose digital logic, and any combination thereof without deviating from the spirit and scope ofthe present invention as recited within the claims attached hereto.
Referring now to FIG. 5, a process 500 for managing, i.e., controlling and monitoring, processes associated with a utility device within the master-agent system 200 is shown in accordance with an embodiment ofthe present invention. The management process 500 illustrates a process of operations performed by the master control unit 202 as a field person is utilizing the master control unit 202 to control and/or monitor processes associated with a utility device included within a group of utility devices. Because the described master control unit 202 is operable to control and/or monitor each device in the group ofthe utility devices, the management process 500 illustrates operations performed to control and/or monitor not only the described utility device, but also each device included within the group. As such, although a single iteration is all that is shown for the management process 500, it should be appreciated that the management process 500 may be performed sequentially for control over and/or monitoring ofthe same utility device or other utility devices in the group over a given period of time.
The management process 500 is performed by an operation flow that begins with a start operation 502 and concludes with a terminate operation 514. The start operation 502 is initiated as the field person activates the master control unit 202 to monitor and/or control processes associated with the utility device. From the start operation 502, the operation flow passes to a create operation 504.
The create operation 504 receives input from the field person and, based on said input, creates a command specifying a task that the field person is requesting that the agent control unit 112 ofthe utility device perform. The command is formatted by the create operation 504 into a command packet that each ofthe agent control units 112 associated with a utility device in the group of utility devices is programmed to recognize.
The command packet 600 is shown in FIG. 6 in accordance with an embodiment ofthe present invention. The command packet 600 includes various pre-defined fields 602-616 into which various forms of data are placed for use by the agent control unit 112 in interpreting the command. In this embodiment, the predefined fields include a start of header (SOH) field 602, an address field 604, a command field 606, a sub-command field 608, one or more parameter fields 610 and 614, wherein each parameter field is separated by a separation field 612, and an end of transmission (EOT) field 616. In an embodiment, the sub-command field 608, the one or more parameter fields 610 and 614, and the separation field 612 are optional in that a complete command packet 600 may include only one or any combination of these fields. The implementation is a matter of choice, depending on the task specified in the command packet 600. For illustrative purposes, however, the command packet 600 is shown and described in FIG. 6 as including all of these optional fields.
The SOH field 602 indicates the beginning ofthe command packet 600 to the agent control unit 112. In an embodiment, the SOH field 602 is a pre-defined single character outside the range ofthe conventional printable American National Standard Institute (ANSI) character set. "Pre-defined" refers to the fact that the master control unit 202 is programmed to transmit and the agent control unit 112 is programmed to recognize the single character as the beginning of a command packet 600.
The address field 604 includes identification ofthe agent control unit 112 that is the intended destination ofthe command packet 600, i.e., the agent control unit 112 associated with the utility device. In an embodiment, each agent control unit 112 in the system 200 is associated with a specific address in hexadecimal format. In this embodiment, the data placed in the address field 604 by the create operation 504 is therefore in hexadecimal format.
The command field 606, the sub-command field 608 and the one or more parameter fields 610 and 614 together specify a particular task to be performed by the agent control unit 112. In an embodiment, these fields 606, 608, 610 and 614 may be considered a single field because taken together these fields 606, 608, 610 and 614 specify the particular task. Data placed in the command field 606 indicates the category ofthe command to be administered by the agent control unit 112. The category ofthe command defines the type of action to be taken by the agent control unit 112 in performing the task associated with the command.
In an embodiment, the command categories include, without limitation, Reset commands, Clear commands, Dump commands and Set commands. A Reset command directs the agent control unit 112 to reboot. A Clear command directs the agent control unit 112 to clear specified information stored on the agent control unit 112. A Set command directs the agent control unit 112 to administer a specified task. A Dump command directs the agent control unit 112 to reply to the master control unit 202 with inforaiation related to processes ofthe utility device. In an embodiment, each command category is associated with a predefined hexadecimal number. "Pre-defined" refers to the fact that the master control unit 202 is programmed transmit and all agent control units 112 in the system 200 are programmed to recognize these hexadecimal numbers as specifying a particular command category. In this embodiment, the data placed in the command field 606 by the create operation 504 therefore represents one of these pre-defined hexadecimal numbers. As such, data placed in the command field 606 by the create operation 504 is in hexadecimal format as either an "R" for Reset, a "C" for clear, a "D" for dump and an "S" for Set. The sub-command field 608 continues specifying the task by defining with more specificity the action to be performed by the agent control unit 112. In an embodiment, data in the sub-command field specifies an information type to be managed, i.e., controlled or monitored, based on the command packet 600. For example, if the command category relates to requesting information, the data included within the sub-command field 608 may explicitly point out the type of infonnation that is requested. The type of information that may be specified in the sub-command field 608 is any type of data relating to any process associated with the utility device. In an embodiment, each information type is associated with a predefined hexadecimal number. "Pre-defined" refers to the fact that the master control unit 202 is programmed transmit and all agent control units 112 in the system 200 are programmed to recognize these hexadecimal numbers as specifying a particular information type. In this embodiment, the data placed in the subcommand field 608 by the create operation 504 therefore represents one of these pre- defined hexadecimal numbers. In accordance with an embodiment wherein the utility device is a warewashing machine 100, or component(s) thereof, e.g., chemical dispense device 168 or 170, exemplary information types that may be indicated by data within the sub-command field are listed below in Table 1. It should be appreciated that these exemplary information types are shown in Table 1 for illustration and should not be construed to limit the present invention to the information types listed. Identifier (in command packet) Field Name Information Type
I ID Data Device information B Binary Range M Memory Range T Time Date and Time U User-Defined User-defined data A Address Device address P Program Re-flash the Firmware
Table 1
The parameter fields 610 and 614, which are separated by a separation field 612, are used to further specify the task that the command and subcommand fields 606 and 608 have specified with respect to performing some action on a certain type of information. To accomplish this, the data placed in a first parameter field 610 by the create operation 504 relates to an actual parameter or operating condition that the field person either wants to control or receive information regarding. In an embodiment, each an actual parameter or operating condition is associated with a predefined hexadecimal number. "Pre-defined" refers to the fact that the master control unit 202 is programmed transmit and all agent control units 112 in the system 200 are programmed to recognize these hexadecimal numbers as specifying a particular parameter or operating condition. In this embodiment, the data placed in the parameter fields 610 and 614 by the create operation 504 therefore represent one of these pre-defined hexadecimal numbers. Exemplary parameters and operating conditions related to a warewashing machine 100, or component(s) thereof, e.g., chemical dispense device 168 or 170, are provided below in Table 2. It should be appreciated that these exemplary parameters and operating conditions are shown in Table 2 for illusfration and should not be construed to limit the present invention to the parameters and operating conditions listed.
Identifier (in command packet) Field Name Format
1 Detergent Setpoint 1-3 Digits
2 Detergent Alarm Delay 1-3 Digits
3 Detergent Initial Charge 1-2 Digits
4 Detergent Dose 1-2 Digits
5 Detergent Interval in Racks 1 Digit
6 Rinse Pump Speed Setting 2-3 Digits
7 Rinse Time Delay 1-2 Digits
8 Rinse Time Limit 1-2 Digits
9 Racks Before Wash Tank Change 2-3 Digits Alarm
10 Rinse Low Temperature 1-3 Digits
11 One Rack Time 1-2 Digits
12 Alarm State 8 Digits
13 Total Rinse Time 1-3 Digits
14 Probe Conductivity Reading 1-4 Digits
15 Probe Temperature Reading 1-3 Digits
17 Rinse Temperature Reading 1-3 Digits
18 Fault History- 8 digits
19 System Configuration 8 Digits
20 Input/Output Signals 8 Digits
21 Prime Rinse Agent On or Off
22 Dispense Rinse Agent On or Off
23 Dispense Detergent Command On or Off
Table 2
If the field person requests control over an operating parameter or condition ofthe utility device, a second parameter field 614 is used to carry the data for use in defining, modifying or otherwise setting the appropriate operating parameter or condition. Otherwise, if the field person requests information related to an operating parameter or condition rather than to administer control over a process associated with the utility device, the second parameter field 614 remains empty. The end of the command packet 600 sent to the agent control unit 112 by the master control unit 202 is detected by the agent confrol unit 112 based on the EOT field 616. In an embodiment, the EOT field 616 is a pre-defined single character outside the range of the conventional printable ANSI character set. "Pre-defined" refers to the fact that the master control unit 202 is programmed to transmit and the agent control unit 112 is programmed to recognize the single character as the end of a command packet 600.
Referring back to the management process 500 of FIG. 5, the operation flow passes to a transmit operation 506 after the command packet 600 is created by the create operation 504. The transmit operation 506 transmits the command packet 600 from the master control unit 202 to the agent control unit 112 having the address specified in the address field 604. In an embodiment, transmission ofthe command packet 600 is made over a wired interface between the master control unit 202 and the agent control unit 112. In another embodiment, transmission ofthe command packet is made over a wireless interface between the master control unit 202 and the agent confrol unit 112. After the command packet 600 has been transmitted from the master control unit 202, the operation flow passes to a first query operation 508. The first query operation 508 determines whether the agent control unit 112 has received the command packet transmitted by the transmit operation 506. In an embodiment, this determination is made based on whether an acknowledgment signal has been received from the agent control unit 112 within a predetermined period of time. In an embodiment, the acknowledgment signal is a pre-defined single character outside ofthe range of conventionally known ANSI character set. "Pre-defined" refers to the fact that the agent confrol unit 112 is programmed to transmit and the master control unit 202 is programmed to recognize the single character as an indication that the complete command packet 600 was in fact received by the agent control unit 112.
Referring back to the first query operation 508, if an acknowledgment signal has been received within the predetermined period of time, the operation flow passes to a second query operation 510, which is described in the preceding paragraph. Otherwise, if an acknowledgment signal has not been received within this predetermined period of time, it is assumed that the agent control unit 112 never received the command packet 600 and the operation flow passes back to the create operation 504 to reconstruct the packet 600 for re-transmission to the agent control unit 112.
Also, in an alternative embodiment, if the agent control unit 112 receives part ofthe command packet transmission, but not the complete packet 600, the agent control unit 112 may transmit an eπor signal to the master control unit 202 indicating such. Like the acknowledgment signal, the eπor signal is a pre-defined single character outside ofthe range ofthe printable ANSI character set. "Predefined" refers to the fact that the agent control unit 112 is programmed to transmit and the master control unit 202 is programmed to recognize the single character as an indication that the complete command packet 600 was in fact not received by the agent control unit 112. The agent control unit 112 determines that a complete packet has not been received if the unit 112 receives the SOH field 602, but does not receive the EOT field 616 within a predetermined period of time. In this embodiment, if the first query operation 508 receives an eπor signal, the operation flow is passed back to the create operation 504 and continues as previously described. Operation ofthe agent confrol unit 112 is shown and described in more detail with respect to FIG. 7.
The operation flow passes from the first query operation 508 to the second query operation upon reception of an acknowledgment signal. The second query operation 510 determines whether the command packet 600 requests that the agent confrol unit 112 respond with information related to a process associated with the utility device. In an embodiment, such a determination is made based on the command category ofthe command packet 600. If the command is a Dump command, then the second query operation 510 determines that the master control unit 202 is to await the reception of information transmitted from the agent control unit 112 and branches the operation flow to the receive operation 512. The receive operation 512 waits for and thereafter receives the information requested by the command packet 600. The information is transmitted from the agent control unit 112 to the master control unit 202 by way of either a wired interface or a wireless interface. From the receive operation 512, the operation flow concludes at the terminate operation 514. If the command is a Set command, then the second query operation 510 branches the operation flow to the terminate operation 514 because the command packet 600 did not request information from the agent control unit 112. The operation flow therefore concludes without the master control unit 202 awaiting reception of requested information.
Referring now to FIG. 8, a process 800 for managing, i.e., controlling and monitoring, processes of a utility device within the master-agent system 200 is shown in accordance with an embodiment ofthe present invention. The management process 800 illustrates a process of operations perfoπned by the agent control unit 112 as a field person is utilizing a master control unit 202 to control and/or monitor processes associated with a utility device via an agent control unit 112. Although a single iteration is all that is shown for the management process 800, it should be appreciated that the management process 800 may be performed multiple times to enable a field person to control and monitor the utility device over a given period of time.
The management process 800 is performed by an operation flow that begins with a start operation 802 and concludes with a terminate operation 818. The start operation 802 is initiated as the field person activates the master control unit 202 to monitor and/or control processes associated with the utility device. From the start operation 802, the operation flow passes to a receive operation 804.
The receive operation 804 awaits reception of a command packet 600 transmitted by the master control unit 202. After the command packet 600 is received, the operation flow passes to a first query operation 806. The first query operation 806 determines whether the receive operation 804 received the command packet 600 without eπor. That is, the first query operation 806 checks to make sure that the command packet 600 is a complete packet. In an embodiment, such a determination is made by detecting whether the EOT field 616 ofthe command packet 600 has been received. If the EOT field 616 has not been detected, the operation flow passes to a first notify operation 810. The first notify operation 810 transmits an eπor signal back to the master control unit 202 indicating that the complete command packet 600 did not reach the agent control unit 112. As noted above, the eπor signal is a pre-defined single character outside ofthe range ofthe printable ANSI character set. "Pre-defined" refers to the fact that the agent control unit 112 is programmed to transmit and the master control unit 202 is programmed to recognize the single character as an indication that the complete command packet 600 was in fact not received by the agent control unit 112. Under such circumstances, the master control unit 202 notifies the field person ofthe eπor and the field person decides whether to re-attempt transmission of that command packet 600. From the first query operation, the operation flow concludes at the terminate operation 810. If the first query operation 806 determines that the EOT field 616 was in fact detected, the operation flow passes to a second notify operation 808. The second notify operation 808 sends an acknowledgment signal for transmission to the master control unit 202. h an embodiment, the acknowledgment signal is a pre-defined single character outside ofthe range of conventionally known ANSI character set. "Pre-defined" refers to the fact that the agent control unit 112 is programmed to transmit and the master control unit 202 is programmed to recognize the single character as an indication that the complete command packet 600 was in fact received by the agent control unit 112. From the second notify information 608, the operation flow passes to a second query operation 812. The second query operation 812 examines the command packet 600 received from the master confrol unit 202 to determine whether the task specified in the command packet 600 is directing the agent control unit 112 to (1) administer performance of an operation related to a process associated with the utility device; or (2) reply to the command with requested information related to a process associated with the utility device. In an embodiment, such a decision may be made by examining the command field 606. If the second query operation 812 detects that the command field 606 contains data identifying a Dump command, then the command packet 600 specifies a reply to be made with requested information. On the other hand, if the second query operation 812 detects that the command field 606 contains data identifying a Set, Reset or Clear command, then the command packet 600 specifies performance of an operation related to a process associated with the utility device. With these commands, the master control unit 202 is not requesting a reply from the agent control unit 212, but rather only control over a certain process performed by at least one component associated with the utility device.
The operation flow passes from the second query operation 812 to the perform operation 814 if the command packet 600 is specifying that the agent control unit 212 manage performance of a certain operation rather than reply with requested information. The perform operation 814 examines the command packet 600 to determine the operation that is requested as well as the component(s) associated with the utility device responsible for the performance of said operation. After this information is gathered by examination ofthe command packet 122, the perform operation 814 directs the appropriate component(s) to perform the specified operation. From the perform operation 814, the operation flow concludes at the terminate operation 818.
The operation flow passes from second query operation 812 to the collect operation 816 if task specified in the command packet 600 is specifying that the agent control unit 212 reply to the command with requested information. The collect operation 816 examines the command packet 600 to determine the specific inforaiation requested by the master control unit 202. Once determined, the collect information 616 collects this information, and once collected, creates a reply packet 624 (FIG. 7) for transmitting the collected information between the agent control unit 112 and the master confrol unit 202. In an embodiment, the reply packet 624 includes a SOH field 602 and an EOT field 616 as well as a third field therebetween. The third field is a reply field 626 into which data requested by the master control unit 202 is placed by the collect operation 816. After the reply packet 624 is created, the operation flow passes to a reply operation 817. The reply operation 817 transmits the created reply packet 624 to the master control unit 202. After the reply packet 624 has been transmitted, the operation flow concludes at the terminate operation 818.
It will be clear that the present invention is well adapted to attain the ends and advantages mentioned, as well as those inherent therein. While a presently prefeπed embodiment has been described for purposes of this disclosure, various other embodiments are well within the scope ofthe present invention. For example, Table 3, shown below, shows various predefined single characters outside ofthe range of printable ANSI characters for use in communications between the master control unit 202 and the agent control units 112 in accordance with an embodiment ofthe invention. Additionally, a command packet 600 may include a checksum field (not shown) for validation, i.e., eπor checking, purposes in accordance with another embodiment contemplated by the present invention. SOH Hex 01 Start of header (SOH)
ETX Hex 03 Cancel a command (same as Hex 17)
EOT Hex 04 End of text (EOT)
ACK Hex 06 Positive acknowledgment (acknowledgment signal) XON Hex 11 Allow incoming data XOF Hex 13 Disallow incoming data NAK Hex 15 Negative acknowledgment (eπor signal) CAN Hex 17 Cancel a command (same as Hex 03 for applications that intercept Hex 03 such as Windows Terminal)
Table 3 It should also be appreciated that various changes and/or modifications may be made which are well within the scope ofthe present invention. For example, although the master-agent system 200 is described as a master control unit 202 issuing a command to only one agent control unit 112 at a time, the master control unit 202 may simultaneously issue multiple commands to more than one agent control units 112 in accordance with an alternative embodiment. Additionally, a master control unit 202 and each ofthe agent control units 112 associated with the master control unit 202 may include a buffer for receiving packets transmitted therebetween. Furthermore, the ability ofthe master control unit 202 to enable control over an agent control unit 112 may include the ability to add to, modify or delete programming associated with the software or firmware accessed by the control module ofthe agent control unit 112.
The warewashing system 100 is shown in FIG. 1 to illustrate embodiments ofthe present invention. The agent control unit 112 associated with the warewashing system 100 is described as locally controlling concentration of a chemical solution contained in the solution tank 140 based on sensed conductivity of the chemical solution cuπently contained in the solution tank 140. It should be appreciated that the agent control unit 112 may also control conductivity ofthe chemical solution based on time-based methods. Such time-based methods may therefore be managed by a field person using the master-agent system 200 ofthe present invention.
Numerous other changes may be made which will readily suggest themselves to those skilled in the art and which are encompassed in the spirit ofthe invention disclosed and as defined in the appended claims.

Claims

ClaimsWHAT IS CLAIMED IS:
1. A system for managing processes associated with a plurality of chemical dispense devices, wherein each chemical dispense device dispenses a chemical product to a utility device for use in applying the chemical product to one or more objects, the system comprising: a first agent control unit communicatively comiected to a first chemical dispense device operable to dispense a first chemical product to a first utility device, wherein the first agent control unit locally administers processes associated with the first chemical dispense device; a second agent control unit communicatively connected to a second chemical dispense device operable to dispense a second chemical product to a second utility device, wherein the second agent control unit locally administers processes associated with the second chemical dispense device; and a master confrol unit for use by a field person in monitoring and controlling processes associated with the first chemical dispense device and the second chemical dispense device by issuing instructions in a pre-defined command format recognizable to both the first agent control unit and the second agent control unit, wherein the first and second agent control units locally administer processes associated with the first and second chemical dispense devices in response to receipt ofthe instructions.
2. A system as defined in claim 1, wherein the first utility device and the second utility device perform substantially different functions and operate in a substantially different manner with respect to one another.
3. A system as defined in claim 2, wherein the first utility device is a warewashing machine and the second utility device is a laundry machine.
4. A system as defined in claim 2, wherein the first utility device is a warewashing machine and the second utility device is a clean-in-place system.
5. A system as defined in claim 1, wherein the first utility device and the second utility device perform a substantially similar function and operate in a substantially similar manner with respect to one another.
6. A system as defined in claim 5, wherein the first utility device and the second utility device are warewashing machines.
7. A system as defined in claim 1, wherein the master control unit transmits instructions to and receives responses from the first agent control unit over a wireless interface communicatively connecting the master control unit to the first agent control unit.
8. A system as defined in claim 1 , wherein the master control unit transmits instructions to and receives responses from the first agent control unit over a wire-based interface communicatively connecting the master confrol unit to the first agent control unit.
9. A system as defined in claim 1, wherein the master control unit comprises a client computer, the client computer operably connecting to and communicating with the first agent control unit and the second agent control unit by way of an interface selected from the group consisting of a wireless interface and a wire-based interface.
10. A system as defined in claim 9, further comprising: a server computer communicating with the client computer over a first network connection, the server computer receiving the instructions input by the field person and transmitting the instructions to the client computer over the first network connection.
11. A system as defined in claim 10, wherein the client computer receives the instructions transmitted by the server computer and manipulates each instruction into the pre-defined command format for transmission to one ofthe first and second agent control units.
12. A system as defined in claim 11, further comprising: a remote client computer communicating with the server computer over a second network connection wherein the field person inputs the instructions to the remote client computer for transmission to the server computer.
13. A system as defined claim 12, wherein the second network connection comprises the Internet.
14. A system as defined in claim 12, wherein the remote client computer is a workstation communicatively connected to the server computer by a direct communication link.
15. A system as defined in claim 10, wherein the first network connection comprises the Internet.
16. A system as defined in claim 10, wherein the first network com ection comprises an intranet.
17. A system as defined in claim 1, wherein the pre-defined command format specifies a packet-based structure for communications passed between the master control unit and the first and second agent control units.
18. A system as defined in claim 17, wherein each instruction issued by the master control unit comprise: a first field having data identifying a beginning of an instruction issued by the master control agent; a second field having data identifying an address for an intended destination ofthe instruction, wherein the intended destination is one ofthe first and second agent control units; a third field having data specifying a task to be administered by the intended destination; and a fourth field having data identifying an end ofthe instruction.
19. A system as defined in claim 18, wherein the task specified by the data in the third field ofthe instruction requests information from the intended destination, the information relating to an operating parameter of a process associated with the utility device to which the intended destination is communicatively connected.
20. A system as defined in claim 19, wherein the third field comprises: a command field having data specifying a type of action to be performed by the intended destination; a sub-command field having data specifying a type of information that is to be returned to the master control unit, wherein the type of information relates to an operating parameter to be used to control a process associated with the utility device to which the intended destination is communicatively comiected; and a parameter field having data specifying the operating parameter.
21. A system as defined in claim 18, wherein the task specified by the data in the third field ofthe instruction requests performance of an operation of a process associated with the utility device to which the intended destination is communicatively connected.
22. A system as defined in claim 21 , wherein the third field comprises: a command field having data specifying a type of action to be performed by the intended destination; a sub-command field having data specifying a type of information that is to be updated by the intended destination, wherein the type of information relates to an operating parameter to be used to control a process associated with the utility device to which the intended destination is communicatively connected; and a parameter field having data specifying a value that is to be set for the operating parameter.
23. A method for enabling a field person to manage processes associated with a plurality of chemical dispense devices, wherein each chemical dispense device dispenses a chemical product to a utility device for use in applying the chemical product to one or more objects, the method comprising acts of: receiving a first instruction related to managing one or more processes associated with a first chemical dispense device operable to dispense a first chemical product to a first utility device; receiving a second instruction related to managing one or more processes associated with a second chemical dispense device operable to dispense a second chemical product to a first utility device; fonnatting the first instruction into a first command packet and the second instruction into a second command packet, wherein the first and second command packets are in a pre-defined format recognizable to both a first agent control unit communicatively connected to and locally administering processes associated with the first chemical dispense device and a second agent control unit communicatively connected to and locally administering processes associated with the second chemical dispense device; and transmitting the first command packet to the first agent confrol unit and the second command packet to the second agent control unit.
24. A method as defined in claim 23, wherein the first and second instructions are input by the field person using an input device on a handheld computing device and wherein the receiving act, the formatting act and the transmitting act are performed by the handheld computing device.
25. A method as defined in claim 24, wherein the transmitting act comprises: sending the first command packet to the first agent control unit over a wireless interface communicatively connecting the handheld computing device and the first agent control unit.
26. A method as defined in claim 24, wherein the transmitting act comprises: sending the first command packet to the first control unit over a wire-based transmission media communicatively connecting the handheld computing device and the first agent control unit.
27. A method as defined in claim 23, wherein the first and second instructions are input by the field person using an input device of a remote computer and transmitted by the remote computer to a server computer, wherein the receiving, transmitting and formatting acts are performed by a client computing device communicating with the server computer over a network connection.
28. A method as defined in claim 27, wherein the transmitting act comprises: sending the first command packet to the first agent control unit over a wireless interface communicatively connecting the client computing device and the first agent control unit.
29. A method as defined in claim 273 wherein the transmitting act comprises: sending the first command packet to the first control unit over a wire-based transmission media communicatively connecting the client computing device and the first agent control unit.
30. A method as defined in claim 27, wherein client computing device is a desktop computer.
31. A method as defined in claim 27, wherein the client computing device is a personal digital assistant.
32. A system as defined in claim 23, wherein the first utility device and the second utility device perform substantially different functions and operate in a substantially different manner with respect to one another.
33. A system as defined in claim 32, wherein the first utility device is a warewashing machine and the second utility device is a laundry machine.
34. A system as defined in claim 32, wherein the first utility device is a warewashing machine and the second utility device is a clean-in-place system.
35. A system as defined in claim 23, wherein the first utility device and the second utility device perform substantially similar functions and operate in a substantially similar manner with respect to one another.
36. A system as defined in claim 35, wherein the first utility device and the second utility device are warewashing machines.
37. A method as defined in claim 23, further comprising: in response to transmitting the first command packet to the first agent control unit, receiving from the first agent control unit an acknowledgement response indicating that the first command packet has been received in its entirety by the first agent control unit.
38. A method as defined in claim 37, wherein the first command packet requests information from the first agent control unit, the information relating to an operating parameter associated with a process ofthe first utility device, the method further comprising: receiving the requested information from the first utility device.
39. A method as defined in claim 37, wherein the first command packet requests performance of an operation of a process associated with the first utility device, the first agent control unit administering performance ofthe operation in response to receiving the first command packet.
40. A method as defined in claim 39, wherein the operation relates to setting an operating parameter used to control the process associated with the first utility device.
41. A method as defined in claim 23, further comprising: in response to transmitting the first command packet to the first agent control unit, receiving from the first agent control unit an eπor response indicating that the first command packet has not been received in its entirety by the first agent control unit.
42. A system for enabling a field person to manage processes associated with a plurality of utility devices, wherein each ofthe plurality of utility devices is communicatively connected to an agent control unit locally administering processes associated with the utility device, the system comprising: means for receiving instructions related to managing one or more processes associated with the plurality of utility devices; means for formatting the instructions into command packets adhering to a packet-based structure recognizable to each agent control unit communicatively connected to one ofthe plurality of utility devices, wherein the packet-based structure comprises: a first field having data identifying a beginning of each packet; a second field having data identifying an address for an intended destination of each packet, wherein the intended destination is one ofthe plurality of agent control units; a third field having data specifying a task to be administered by the intended destination; and a fourth field having data identifying an end of each packet, and means for transmitting the command packets the agent control units, wherein each agent control unit locally administers processes associated with the utility device to which the agent control unit is connected in response to receipt of a command packet.
43. A system as defined in claim 42, wherein the transmitting means is selected from the group consisting of a wire-based interface and a wireless interface.
44. A system as defined in claim 42, wherein the task specified by the data in the third field ofthe packet-based structure requests information from the intended destination, the information being an operating parameter related to a process associated with the utility device to which the intended destination is communicatively connected.
45. A system as defined in claim 42, wherein the task specified by the data in the third field ofthe packet-based structure requests performance of an operation of a process associated with the utility device to which the intended destination is communicatively connected.
46. A system as defined in claim 42, wherein the third field ofthe packet- based structure comprises: a command field having data specifying a type of action to be performed by the intended destination; a sub-command field having data specifying a type of information that is to be updated by the intended destination, wherein the type of information relates to an operating parameter to be used to control a process associated with the utility device to which the intended destination is communicatively connected; and a parameter field having data specifying a value that is to be set for the operating parameter.
47. A system as defined in claim 42, wherein the third field ofthe packet- based structure comprises: a command field having data specifying a type of action to be performed by the intended destination.
48. A system as defined in claim 42, wherein the third field ofthe packet- based structure comprises: a command field having data specifying a type of action to be performed by the intended destination; and a sub-command field having data specifying a type of information that is to be updated by the intended destination, wherein the type of information relates to an operating parameter to be used to control a process associated with the utility device to which the intended destination is communicatively connected.
49. A system as defined in claim 42, further comprising: a first agent control unit communicatively connected to and locally administering processes associated with a first utility device, wherein receiving means receives a first instruction related to managing one or more processes associated with the first utility device and the formatting means formats the first instruction into a first command packet adhering to the packet-based structure; and a second agent control unit communicatively connected to and locally administering processes associated with the second utility device, wherein receiving means receives a second instruction related to managing one or more processes associated with the second utility device and the formatting means formats the second instruction into a second command packet adhering to the packet-based structure, the intended destination identified by the address included in the second field being one ofthe first and second agent control units.
50. A system as defined in claim 4*9, further comprising: a means for receiving infomiation transmitted from the first agent control unit and the second agent control unit.
51. A system as defined in claim 50, wherein the third field ofthe packet- based structure comprises: a command field having data specifying a type of action to be performed by the intended destination; a sub-command field having data specifying a type of information that is to be returned to the master control unit by way ofthe fourth means, wherein the type of information relates to an operating parameter to be used to control a process associated with the utility device to which the intended destination is communicatively connected; and a parameter field having data specifying the operating parameter.
52. A system as defined in claim 50, wherein the means for receiving information fransmitted from the first agent control unit and the second agent control unit receives from the first agent control unit an acknowledgement response indicating that the first command packet has been received in its entirety by the first agent control unit.
53. A system as defined in claim 50, wherein the means for receiving information transmitted from the first agent control unit and the second agent control unit receives from the first agent control unit an eπor response indicating that the first command packet has not been received in its entirety by the first agent control unit.
54. A system as defined in claim 49, wherein the first utility device and the second utility device perfomi substantially different functions and operate in a substantially different manner with respect to one another.
55. A system as defined in claim 54, wherein the first utility device is a chemical dispense system and the second utility device is a warewashing machine.
56. A system as defined in claim 54, wherein the first utility device is a clean-in-place system and the second utility device is a warewashing machine.
57. A system as defined in claim 54, wherein the first utility device is a laundry system and the second utility device is a warewashing machine.
58. A system as defined in claim 49, wherein the first utility device and the second utility device perform substantially similar functions and operate in a substantially similar manner with respect to one another.
59. A system as defined in claim 58, wherein the first utility device and the second utility device are warewashing machines.
60. A computer program product readable by a computing system and encoding a computer program for executing a computer process for enabling a field person to manage processes associated with a plurality of chemical dispense devices, wherein each chemical dispense device dispenses a chemical product to a utility device for use in applying the chemical product to one or more objects, the computer process comprising acts of: receiving a first instruction related to managing one or more processes associated with a first chemical dispense device operable to dispense a first chemical product to a first utility device; receiving a second instruction related to managing one or more processes associated with a second chemical dispense device operable to dispense a second chemical product to a first utility device; formatting the first instruction into a first command packet and the second instruction into a second command packet, wherein the first and second command packets are in a pre-defined format recognizable to both a first agent control unit communicatively connected to and locally administering processes associated with the first chemical dispense device and a second agent control unit communicatively connected to and locally administering processes associated with the second chemical dispense device; and transmitting the first command packet to the first agent control unit and the second command packet to the second agent control unit.
61. A computer program product as defined in claim 60, further comprising: in response to transmitting the first command packet to the first agent control unit, receiving from the first agent control unit an acknowledgement response indicating that the first command packet has been received in its entirety by the first agent control unit.
62. A computer program product as defined in claim 61 , wherein the first command packet requests information from the first agent control unit, the information relating to an operating parameter associated with a process of the first utility device, the method further comprising: receiving the requested information from the first utility device.
63. A computer program product as defined in claim 61, wherein the first command packet requests performance of an operation of a process associated with the first utility device, the first agent control unit administering performance ofthe operation in response to receiving the first command packet.
64. A computer program product as defined in claim 63, wherein the operation relates to setting an operating parameter used to control the process associated with the first utility device.
65. A computer program product as defined in claim 60, further comprising: in response to transmitting the first command packet to the first agent control unit, receiving from the first agent control unit an eπor response indicating that the first command packet has not been received in its entirety by the first agent control unit.
66. An apparatus for managing one or more processes associated with a plurality of utility devices each controlled and monitored by an agent control unit, wherein a process ofthe one or more processes relates to dispensing a chemical product to one ofthe plurality of utility devices, the apparatus comprising: an input module receiving an instruction from a field person, the instruction related to management ofthe dispensing process by a specified agent control unit; a foraiat module formatting the instruction into a pre-defined packet-based structure recognizable to all agent control units associated with the plurality utility devices; and a communication module transmitting the instruction to the specified agent control unit and receiving from the specified agent control unit a message in response to receipt ofthe instruction by the specified agent control unit.
67. An apparatus as defined in claim 66, wherein the pre-defined packet- based structure comprises: a first field having data identifying a beginning of each packet; a second field having data identifying an address for an intended destination of each packet, wherein the intended destination is an agent control unit controlling and monitoring one ofthe plurality of utility devices; a third field having data specifying a task to be administered by the intended destination; and a fourth field having data identifying an end of each packet.
68. An apparatus as defined in claim 67, wherein the task specified by the data in the third field ofthe packet-based structure requests information from the intended destination, the information being an operating parameter related to a process associated with the utility device to which the intended destination is communicatively connected.
69. An apparatus as defined in claim 68, wherein the message received from the specified agent control unit comprises the requested operating parameter.
70. An apparatus as defined in claim 67, wherein the task specified by the data in the third field ofthe packet-based structure requests perfomiance of an operation of a process associated with the utility device to which the intended destination is communicatively connected.
71. An apparatus as defined in claim 66, wherein the communication module fransmits information to and receives information from the agent control units over a wireless communication interface.
72. An apparatus as defined in claim 66, wherein the communication module transmits information to and receives information from the agent control units over a wire-based communication interface.
73. An apparatus as defined in claim 66, wherein the message received from the specified agent control unit comprises an eπor response indicating that the instruction has not been received in its entirety by the specified agent control unit.
74. An apparatus as defined in claim 66, wherein the message received from the specified agent control unit comprises an acknowledgment response indicating that the instruction has been received in its entirety by the specified agent control unit.
PCT/US2004/000709 2003-01-21 2004-01-13 Operating utility devices in a master-agent network environment WO2004068250A2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/348,512 US20040143368A1 (en) 2003-01-21 2003-01-21 Operating utility devices in a master-agent network environment
US10/348,512 2003-01-21

Publications (2)

Publication Number Publication Date
WO2004068250A2 true WO2004068250A2 (en) 2004-08-12
WO2004068250A3 WO2004068250A3 (en) 2004-11-04

Family

ID=32712567

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2004/000709 WO2004068250A2 (en) 2003-01-21 2004-01-13 Operating utility devices in a master-agent network environment

Country Status (2)

Country Link
US (1) US20040143368A1 (en)
WO (1) WO2004068250A2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9261866B2 (en) 2011-05-20 2016-02-16 Ecolab Usa Inc. Distributed control system for hospitality management
EP3091114B1 (en) 2015-05-07 2019-02-13 Michael Saier System for metering media for washing and/or cleaning systems

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7185131B2 (en) * 1999-06-10 2007-02-27 Amron Technologies, Inc. Host-client utility meter systems and methods for communicating with the same
US20040220817A1 (en) * 2003-04-29 2004-11-04 Katherine Sanville Monitoring and controlling processes at a vehicle wash facility
US8234395B2 (en) 2003-07-28 2012-07-31 Sonos, Inc. System and method for synchronizing operations among a plurality of independently clocked digital data processing devices
US10613817B2 (en) 2003-07-28 2020-04-07 Sonos, Inc. Method and apparatus for displaying a list of tracks scheduled for playback by a synchrony group
US11106424B2 (en) 2003-07-28 2021-08-31 Sonos, Inc. Synchronizing operations among a plurality of independently clocked digital data processing devices
US11294618B2 (en) 2003-07-28 2022-04-05 Sonos, Inc. Media player system
US11106425B2 (en) 2003-07-28 2021-08-31 Sonos, Inc. Synchronizing operations among a plurality of independently clocked digital data processing devices
US8290603B1 (en) 2004-06-05 2012-10-16 Sonos, Inc. User interfaces for controlling and manipulating groupings in a multi-zone media system
US8086752B2 (en) 2006-11-22 2011-12-27 Sonos, Inc. Systems and methods for synchronizing operations among a plurality of independently clocked digital data processing devices that independently source digital data
US11650784B2 (en) 2003-07-28 2023-05-16 Sonos, Inc. Adjusting volume levels
US9374607B2 (en) 2012-06-26 2016-06-21 Sonos, Inc. Media playback system with guest access
US9977561B2 (en) 2004-04-01 2018-05-22 Sonos, Inc. Systems, methods, apparatus, and articles of manufacture to provide guest access
US8868698B2 (en) 2004-06-05 2014-10-21 Sonos, Inc. Establishing a secure wireless network with minimum human intervention
US8326951B1 (en) 2004-06-05 2012-12-04 Sonos, Inc. Establishing a secure wireless network with minimum human intervention
US20060229891A1 (en) * 2005-04-06 2006-10-12 Ryko Manufacturing Company Drive-up dispensing device for car wash facility
US9202509B2 (en) 2006-09-12 2015-12-01 Sonos, Inc. Controlling and grouping in a multi-zone media system
US8483853B1 (en) 2006-09-12 2013-07-09 Sonos, Inc. Controlling and manipulating groupings in a multi-zone media system
US8788080B1 (en) 2006-09-12 2014-07-22 Sonos, Inc. Multi-channel pairing in a media system
CA2697952A1 (en) * 2007-08-28 2009-03-05 January Patents Limited An electronic point of sales vending control apparatus
MX2010011766A (en) * 2008-05-05 2011-04-26 Nova Controls Control for dispensing system.
US8402498B2 (en) * 2010-08-04 2013-03-19 Verizon Patent And Licensing Inc. Method and apparatus for controlling a set-top box based on device events
US11429343B2 (en) 2011-01-25 2022-08-30 Sonos, Inc. Stereo playback configuration and control
US11265652B2 (en) 2011-01-25 2022-03-01 Sonos, Inc. Playback device pairing
US9524285B2 (en) * 2011-03-05 2016-12-20 Kapaleeswar Madireddi Stream flow chemical process information system and method
US9729115B2 (en) 2012-04-27 2017-08-08 Sonos, Inc. Intelligently increasing the sound level of player
US9008330B2 (en) 2012-09-28 2015-04-14 Sonos, Inc. Crossover frequency adjustments for audio speakers
US9349238B2 (en) * 2013-03-13 2016-05-24 Pantry Retail, Inc. Vending kit and method
JP2014179783A (en) * 2013-03-14 2014-09-25 Toshiba Lighting & Technology Corp Electric apparatus and communication device
US9226087B2 (en) 2014-02-06 2015-12-29 Sonos, Inc. Audio output balancing during synchronized playback
US9226073B2 (en) 2014-02-06 2015-12-29 Sonos, Inc. Audio output balancing during synchronized playback
DE102014209155A1 (en) 2014-05-14 2015-11-19 Wiwa Wilhelm Wagner Gmbh & Co Kg Method for operating a pump system and pump system
US10248376B2 (en) 2015-06-11 2019-04-02 Sonos, Inc. Multiple groupings in a playback system
US10712997B2 (en) 2016-10-17 2020-07-14 Sonos, Inc. Room association based on name

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5222027A (en) * 1990-12-14 1993-06-22 Titan Industries, Inc. Injector communications system
US5390385A (en) * 1993-05-28 1995-02-21 Knight Equipment International Laundry management system for washing machines
US6061668A (en) * 1997-11-10 2000-05-09 Sharrow; John Anthony Control system for pay-per-use applications
US6675067B2 (en) * 2000-03-09 2004-01-06 Steven J. Blad Computer network based coin-operated machine monitoring system

Family Cites Families (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3774056A (en) * 1971-04-29 1973-11-20 Design And Manuf Corp Digital electronic control circuit for cyclically operable appliances and the like
US4334270A (en) * 1972-08-11 1982-06-08 Towers Frederic C Securities valuation system
US4194242A (en) * 1976-09-22 1980-03-18 Patricia Ann Cotts Method and system for determining interest rates
US4241400A (en) * 1978-12-18 1980-12-23 General Electric Company Microprocessor based control circuit for washing appliances
US4597046A (en) * 1980-10-22 1986-06-24 Merrill Lynch, Pierce Fenner & Smith Securities brokerage-cash management system obviating float costs by anticipatory liquidation of short term assets
US4482785A (en) * 1982-09-23 1984-11-13 Finnegan Christopher D Refrigeration monitor system with remote signalling of alarm indications
US4509543A (en) * 1983-09-12 1985-04-09 Beta Technology, Inc. Industrial dishwasher monitor/controller with speech capability
US4739478A (en) * 1984-11-21 1988-04-19 Lazard Freres & Co. Methods and apparatus for restructuring debt obligations
US4756321A (en) * 1985-11-22 1988-07-12 Beta Technology, Inc. Industrial dishwasher chemical dispenser
US4999763A (en) * 1988-04-25 1991-03-12 Ousborne Jeffrey J Self service access controller
US5043860A (en) * 1989-05-12 1991-08-27 Technology Licensing Corporation Cooking appliance interface
US5014211A (en) * 1989-06-16 1991-05-07 Diversey Corporation Microprocessor controlled liquid chemical delivery system and method
US5031258A (en) * 1989-07-12 1991-07-16 Bauer Industries Inc. Wash station and method of operation
US5301553A (en) * 1989-12-20 1994-04-12 Tjs Development Corporation Apparatus for remote sensing and receiving
US5038807A (en) * 1990-04-16 1991-08-13 Ecolab, Inc. Performance monitoring system for warewashing machines
US5345379A (en) * 1991-06-17 1994-09-06 Brous James H System for controlling access to subsystems
US5203366A (en) * 1992-02-05 1993-04-20 Ecolab Inc. Apparatus and method for mixing and dispensing chemical concentrates at point of use
US5681400A (en) * 1992-03-12 1997-10-28 Ecolab Inc. Self-optimizing detergent controller for controlling variable additive concentration level in a warewashing machine
US5404893A (en) * 1992-03-12 1995-04-11 Ecolab Inc. Self-optimizing detergent controller
US5397028A (en) * 1992-04-29 1995-03-14 Jesadanont; Mongkol Automatic fluid dispenser and method
WO1995009004A1 (en) * 1993-09-29 1995-04-06 Alcon Laboratories, Inc. Compositions containing growth factors and antiplastic agents
US5370267A (en) * 1993-10-04 1994-12-06 Gojo Industries Inc. Method and apparatus for measuring dispenser usage
GB2286903B (en) * 1994-02-28 1998-07-29 Sanyo Electric Co Remote management system
US5745381A (en) * 1994-06-27 1998-04-28 Matsushita Electric Industrial Apparatus and method for evaluating operability of appliances and an apparatus for improving the operability of the appliances
US5757664A (en) * 1996-06-04 1998-05-26 Warren Rogers Associates, Inc. Method and apparatus for monitoring operational performance of fluid storage systems
US5491791A (en) * 1995-01-13 1996-02-13 International Business Machines Corporation System and method for remote workstation monitoring within a distributed computing environment
US5694323A (en) * 1995-04-04 1997-12-02 Persyst, Inc. Monitoring system with particular application to monitoring a cash-basis operation
JP3197785B2 (en) * 1995-05-15 2001-08-13 三洋電機株式会社 Remote management system
US5625659A (en) * 1995-05-19 1997-04-29 Gojo Industries, Inc. Method and apparatus for electronically measuring dispenser usage
JPH0946441A (en) * 1995-05-19 1997-02-14 Sanyo Electric Co Ltd Remote management system
US6618754B1 (en) * 1995-10-23 2003-09-09 Sun Microsystems, Inc. System for transmission of embedded applications over a network
US5799281A (en) * 1996-01-23 1998-08-25 E.L.M.S., Llc Computer control and management system for laundry installation
US5724261A (en) * 1996-02-05 1998-03-03 Rent Roll, Inc. Data processing system and method for compiling data during property inspection and maintenance operations
US5826749A (en) * 1996-02-22 1998-10-27 Nova Controls Multiplexed system for dispensing multiple chemicals to multiple destinations
DE19615840A1 (en) * 1996-04-20 1997-10-30 Bosch Gmbh Robert Household electrical appliance
US5875430A (en) * 1996-05-02 1999-02-23 Technology Licensing Corporation Smart commercial kitchen network
US5810201A (en) * 1996-07-22 1998-09-22 Ecolab Inc. Interactive dispenser for personal use chemical or personal care chemical that provides a message prompted by user proximity
EP0853788A1 (en) * 1996-08-08 1998-07-22 Agranat Systems, Inc. Embedded web server
US5956487A (en) * 1996-10-25 1999-09-21 Hewlett-Packard Company Embedding web access mechanism in an appliance for user interface functions including a web server and web browser
US6003070A (en) * 1997-02-25 1999-12-14 Intervvoice Limited Partnership E-mail system and interface for equipment monitoring and control
JPH10240813A (en) * 1997-02-26 1998-09-11 Honda Motor Co Ltd Work management system
US5967202A (en) * 1997-06-05 1999-10-19 Ecolab Inc. Apparatus and method for dispensing a sanitizing formulation
US5975352A (en) * 1997-08-28 1999-11-02 Ecolab Inc. Dispenser
US6133847A (en) * 1997-10-09 2000-10-17 At&T Corp. Configurable remote control device
US6167358A (en) * 1997-12-19 2000-12-26 Nowonder, Inc. System and method for remotely monitoring a plurality of computer-based systems
US6167327A (en) * 1997-12-29 2000-12-26 Maytag Corporation Pricing control system for multi-operation vending machines
US5980090A (en) * 1998-02-10 1999-11-09 Gilbarco., Inc. Internet asset management system for a fuel dispensing environment
US5945910A (en) * 1998-02-11 1999-08-31 Simoniz Usa, Inc. Method and apparatus for monitoring and reporting handwashing
US5939974A (en) * 1998-02-27 1999-08-17 Food Safety Solutions Corp. System for monitoring food service requirements for compliance at a food service establishment
US6356205B1 (en) * 1998-11-30 2002-03-12 General Electric Monitoring, diagnostic, and reporting system and process
US6389454B1 (en) * 1999-05-13 2002-05-14 Medical Specialty Software Multi-facility appointment scheduling system
US6330499B1 (en) * 1999-07-21 2001-12-11 International Business Machines Corporation System and method for vehicle diagnostics and health monitoring
US6377868B1 (en) * 1999-10-28 2002-04-23 Ecolab Inc. Data processing system for managing chemical product usage
US6498567B1 (en) * 1999-12-20 2002-12-24 Xerox Corporation Generic handheld remote control device
BR0110334A (en) * 2000-04-25 2003-01-07 Johnson Diversey Inc System to monitor a process or industrial cleaning machine
JP2003532183A (en) * 2000-04-25 2003-10-28 ジョンソンディバーシー・インコーポレーテッド A method of providing a maintenance support service or an operation support service for a plurality of industrial cleaning processes or cleaning apparatuses from a service center, and a system for monitoring a plurality of industrial cleaning processes or cleaning apparatuses
WO2001082015A1 (en) * 2000-04-25 2001-11-01 Johnsondiversey, Inc. Method and system for supplying management services from a service centre for a plurality of industrial cleaning processes or machines

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5222027A (en) * 1990-12-14 1993-06-22 Titan Industries, Inc. Injector communications system
US5390385A (en) * 1993-05-28 1995-02-21 Knight Equipment International Laundry management system for washing machines
US6061668A (en) * 1997-11-10 2000-05-09 Sharrow; John Anthony Control system for pay-per-use applications
US6675067B2 (en) * 2000-03-09 2004-01-06 Steven J. Blad Computer network based coin-operated machine monitoring system

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9261866B2 (en) 2011-05-20 2016-02-16 Ecolab Usa Inc. Distributed control system for hospitality management
US10795324B2 (en) 2011-05-20 2020-10-06 Ecolab Usa Inc. Controller
EP3091114B1 (en) 2015-05-07 2019-02-13 Michael Saier System for metering media for washing and/or cleaning systems
EP3091114B2 (en) 2015-05-07 2023-08-09 Michael Saier System for metering media for washing and/or cleaning systems

Also Published As

Publication number Publication date
US20040143368A1 (en) 2004-07-22
WO2004068250A3 (en) 2004-11-04

Similar Documents

Publication Publication Date Title
US20040143368A1 (en) Operating utility devices in a master-agent network environment
AU2021254644B2 (en) Clothing processing apparatus, control method of clothing processing apparatus, and online system including clothing processing apparatus
US6990411B2 (en) Controlling chemical dispense operations based on conductivity offset considerations
US10110680B2 (en) Interface module for chemical dispensing system
US20180305851A1 (en) Laundry treating apparatus, control method of the laundry treating apparatus and online system including the same
US7516082B2 (en) Scheduling delivery of chemical products based on a predicted estimated time of exhaustion
US7292914B2 (en) Remote access to chemical dispense system
EP3961982B1 (en) Method of an online system including a laundry machine
EP1558119B1 (en) Monitoring performance of a warewasher
CN103765813A (en) Online system and method for using the same
JP2004511845A (en) PLC executed by an integrated web server
US7092793B2 (en) Method and system for installation and control of a utility device
US8082764B2 (en) Washing machine with a titration indicator based on measurements of solution conductivity
EP0787849A1 (en) A system and method for controlling the delivery of pumpable chemicals
CN106120243A (en) The clean method of tub of washing machine, device and washing machine
CN116439632A (en) Multi-channel commercial dish-washing machine liquid medicine distribution control method and system
WO2020227268A1 (en) Configuration file database for dispensing systems

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): BW GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
DPEN Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed from 20040101)
122 Ep: pct application non-entry in european phase