# Patent

## Title
Systems and methods for monitoring performance of field assets

## Abstract

A system and method for monitoring performance of field assets are disclosed. A method may include transmitting packets on a shared bus located in a field asset may be captured. The captured packets may be analyzed to determine one or more operational parameters associated with one or more peripheral devices coupled to the shared bus. The one or more operational parameters may be analyzed to determine an operational efficiency of the field asset.

## Background
RELATED APPLICATIONS
This application related to co-pending U.S. patent application Ser. No. 11/464,127 filed Aug. 11, 2006, and hereby incorporated by reference, which is a Continuation-In-Part of U.S. patent application Ser. No. 10/722,954, filed Nov. 26, 2003 (now U.S. Pat. No. 7,167,892), which claims the benefit of U.S. Provisional Application No. 60/429,756, filed Nov. 27, 2002 and U.S. Provisional Application No. 60/480,626, filed Jun. 23, 2003, and which is a Continuation-In-Part of U.S. patent application Ser. No. 09/971,170, filed Oct. 4, 2001 (now U.S. Pat. No. 7,181,501), which is a Continuation-in-Part of U.S. patent application Ser. No. 09/267,254, filed Mar. 12, 1999 (now U.S. Pat. No. 6,457,038), which claims the benefit of U.S. Provisional Application No. 60/078,645, filed Mar. 19, 1998 and U.S. Provisional Application No. 60/099,434, filed Sep. 8, 1998.
TECHNICAL FIELD
The present invention relates in general to the field of monitoring remote field assets and, more particularly, the monitoring of the performance of field assets.
BACKGROUND OF THE INVENTION
Machine to machine (M2M) technology refers generally to the ability of machines, devices, and assets, particularly those that are distributed or remote, to exchange information with people and/or with a corporate management system. Although a precise definition of M2M is difficult to formulate, M2M generally encompasses the use of telemetry via networks including, but not limited to, public wireless networks.
Historically, telemetry systems were limited to applications for conglomerates and other well financed organizations. Large oil and gas companies and electric utilities, through the use of extensive customer built dedicated data networks, were among the first private organizations to use telemetry widely. More recently, however, the cost of access to public wireless data networks has been dropping while the capabilities of these networks has been increasing thus making M2M concepts feasible for a much larger audience.
The M2M systems described herein generally include remotely located machines or devices referred to as field assets. Although field assets may encompass any variety of specific types of machines (oil rigs, cellular phone system base stations, ATM machines, and weather monitors), the specific embodiments described herein are in the field of vending machines. Vending machines are unmanned, electromechanical devices that dispense products including consumable products such as soft drinks and snack foods in exchange for cash or other form of payment. Vending machines are generally deployed as remotely located field assets by a company that manages a plurality of such devices.
In the field of vending machines, the traditional extent of automation consisted primarily of the ability retrieve “snapshots” of inventory data from a vending machine using a wired, hand held device and a specialized, industry standard, data exchange (DEX) protocol and interconnect. DEX is a communication protocol (DEX) for the electronic retrieval of machine-level transactions via data polling. While DEX has served its purpose well for a considerable period of time, DEX is not capable of analyzing vending machine sales beyond the most superficial level. Nor is DEX capable of providing information that could be used to manage a vending machine from a maintenance perspective. Moreover, a DEX polling event effectively takes a vending machine off line, even if for only a short duration. This limitation prevents it from serving as a real time transaction monitoring protocol.
More recently, the Multi Drop Bus/Internal Communication Protocol (MDB/ICP or, more simply MDB) vending machine technology has evolved. MDB defines a bus interface and standard for electronically controlled vending machines. Unlike DEX, MDB provides a control mechanism and standard for the various peripheral devices typically encountered in a vending machine. Moreover, MDB supports a level of time stamping that enables insight into information that is potentially valuable to a vending machine company. Despite the opportunities for expanded functionality and data insight offered by MDB, conventional MDB-compliant vending machines tend to utilize MDB merely as an interconnect between a VMC and one or more peripherals and, possibly, a source of DC power.
Nevertheless, some efforts have been devoted to adding functionality to conventional vending machines. For example, U.S. Pat. No. 7,167,892, referred to above, describes a processor-based audit device having access to the MDB bus and to the VMC via a DEX port. Using this audit device, a vending machine can greatly improve the amount and quality of information concerning sales. If, for example, sales of a particular vending machine vary considerably from day to day and even within a day, conventional DEX polling, which might take place on a weekly basis, for example, will not be able to identify these variations and the inability to do so could result in lost sales opportunities.
Using such an audit device, a vending machine can retrieve and store a plurality of DEX downloads together with information from which time stamps can be derived for each DEX download. While the ability to place DEX data in a timing context represents an advance a vending machine management, it would be still further desirable to continue to extend the functionality of vending machines to encompass information that is outside the scope of DEX or to capture and enhance traditional DEX data without performing a DEX download.
As another example, U.S. patent application Ser. No. 11/464,127, referred to above, describes a packet capture agent (also referred to therein as a snoop agent or an MDB Offload Engine (MOE)) to capture MDB packets. Capturing packets directly from the MDB serves a variety of purposes including, as examples, enabling feedback of field asset performance and customer behavior in real time, without requiring a DEX polling event, uncoupling field asset monitoring from the DEX standard, and facilitating the gathering of quantifiable, time-based consumer behavior data.
SUMMARY OF THE INVENTION
In accordance with the teachings of the present disclosure, disadvantages and problems associated with the monitoring of field assets may be substantially reduced or eliminated.
In accordance with one embodiment of the present disclosure, a method for monitoring the performance of a field asset is provided. Packets transmitted on a shared bus located in a field asset may be captured. The captured packets may be analyzed to determine one or more operational parameters associated with one or more peripheral devices coupled to the shared bus. The one or more operational parameters may be analyzed to determine an operational efficiency of the field asset.
In accordance with another embodiment of the present disclosure, a field asset may include a machine controller configured to function as a master of a shared bus, one or more peripheral devices communicatively coupled to the bus, a snoop agent, and an audit agent. The machine controller may transmit packets to the peripheral devices via the shared bus. The snoop agent may be configured to capture packets transmitted on the shared bus. The audit agent may be configured to analyze the captured packets to determine one or more operational parameters associated with the one or more peripheral devices and analyze the one or more operational parameters to determine an operational efficiency of the field asset.
In accordance with a further embodiment of the present disclosure, system for monitoring the performance of a field asset may include a field asset. The field asset may include a machine controller configured to function as a master of a shared bus, one or more peripheral devices communicatively coupled to the bus, a snoop agent, and an audit module. The machine controller may transmit packets to the peripheral devices via the shared bus. The snoop agent may be configured to capture packets transmitted on the shared bus. The audit agent may be configured to analyze the captured packets to determine one or more operational parameters associated with the one or more peripheral devices and analyze the one or more operational parameters to determine an operational efficiency of the field asset.
Other technical advantages will be apparent to those of ordinary skill in the art in view of the following specification, claims, and drawings.



BRIEF DESCRIPTION OF THE DRAWINGS
A more complete and thorough understanding of the present embodiments and advantages thereof may be acquired by referring to the following description taken in conjunction with the accompanying drawings, in which like reference numbers indicate like features, and wherein:
FIG. 1 depicts a block diagram of an example system for monitoring the performance of field assets, in accordance with the present disclosure;
FIG. 2 depicts a block diagram of an example field asset of FIG. 1, in accordance with the present disclosure;
FIG. 3 depicts a flow chart of an example method for monitoring the performance of field assets, in accordance with the present disclosure; and
FIG. 4 depicts a table depicting certain operational parameters of various components of a field asset and the operational efficiency of the field asset.



DETAILED DESCRIPTION OF THE INVENTION
Preferred embodiments of the invention and its advantages are best understood by reference to FIGS. 1 through 4, wherein like numerals indicate like and corresponding parts of the invention. Where different instances of a particular element are shown, they may be numbered with hyphenated reference numerals to indicate a common design or functionality. For example, elements 102-1 and 102-2 may be instances of a generic 102 element.
The term “wire-line transmissions” may be used to refer to all types of electromagnetic communications over wires, cables, or other types of conduits. Examples of such conduits include, but are not limited to, metal wires and cables made of copper or aluminum, fiber-optic lines, and cables constructed of other metals or composite materials satisfactory for carrying electromagnetic signals. Wire-line transmissions may be conducted in accordance with teachings of the present disclosure over electrical power lines, electrical power distribution systems, building electrical wiring, conventional telephone lines, Ethernet cabling (10 baseT, 100 baseT, etc.), coaxial cables, T-1 lines, T-3 lines, ISDN lines, ADSL, etc.
The term “wireless transmissions” may be used to refer to all types of electromagnetic communications which do not require a wire, cable, or other types of conduits. Examples of wireless transmissions which may be used include, but are not limited to, personal area networks (PAN) (e.g., BLUETOOTH), local area networks (LAN), wide area networks (WAN), narrowband personal communications services (PCS), broadband PCS, circuit switched cellular, cellular digital packet data (CDPD), radio frequencies, such as the 800 MHz, 900 MHz, 1.9 GHz and 2.4 GHz bands, infra-red and laser.
Examples of wireless transmissions for use in local area networks (LAN) include, but are not limited to, radio frequencies, especially the 900 MHZ and 2.4 GHz bands, for example IEEE 802.11 and BLUETOOTH, as well as infrared, and laser. Examples of wireless transmissions for use in wide area networks (WAN) include, but are not limited to, narrowband personal communications services (nPCS), personal communication services (PCS such as CDMA, TMDA, GSM) circuit switched cellular, and cellular digital packet data (CDPD), etc.
The term “data processing system” may be used to refer to any instrumentality or aggregate of instrumentalities operable to compute, classify, process, transmit, receive, retrieve, originate, switch, store, display, manifest, detect, record, reproduce, handle, or utilize any form of information, intelligence, or data for business, scientific, control, entertainment, or other purposes. For example, an data processing system may be a personal computer, a PDA, a consumer electronic device, a network storage device, or any other suitable device and may vary in size, shape, performance, functionality, and price. A data processing system may include memory, one or more processing resources such as a central processing unit (CPU) or hardware or software control logic. Additional components of a data processing system may include one or more storage devices, one or more communications ports for communicating with external devices as well as various input and output (I/O) devices, such as a keyboard, a mouse, and a video display. A data processing system may also include one or more buses operable to transmit communication between the various hardware components.
The term “computer-readable media” may be used to refer to any instrumentality or aggregation of instrumentalities that may retain data and/or instructions for a period of time. Computer-readable media may include, without limitation, random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), a PCMCIA card, flash memory, direct access storage (e.g., a hard disk drive or floppy disk), sequential access storage (e.g., a tape disk drive), compact disk, CD-ROM, DVD, and/or any suitable selection of volatile and/or non-volatile memory and/or storage.
FIG. 1 depicts a block diagram of an example system 100 for monitoring the performance of field assets, in accordance with the present disclosure. System 100 may include one or more field assets, examples of which are depicted as field assets 102-1 and 102-2 (generically or collectively referred to herein as field asset(s) 102) and field assets 103-1 and 103-2. Field assets 102 are depicted in FIG. 1 as being operable to communicate with a transaction server 110. Field assets 102 may be any set of machines or devices, typically having similar functionality, that are remotely distributed and capable of engaging in some form of transaction. Examples of field assets include oil rigs, cellular phone system base stations, ATM machines, and weather monitors.
In some embodiments, field assets 102 and 103 may comprise one or more vending machines in which transactions likely include the sale of consumer goods stocked in the vending machine. Vending machines are ubiquitous machines historically used as an unmanned source of perishable and nonperishable consumer products including canned and bottled drink products, snack foods, and so forth.
In the embodiment depicted in FIG. 1, field assets 102 and 103 may communicate with transaction server 110 via alternative communication paths. For example, field asset 102-2 may couple to transaction server 110 via network 120. As depicted in FIG. 1, network 120 may be a wireless network and field asset 102-2 may communicate to transaction server 110 via wireless transmissions.
Field asset 102-1 is depicted as being capable of communicating with a hand held device 130 via a network 140 or “directly” with transaction processing server 110 via network 120. As depicted in FIG. 1, network 140 may be a wireless network and field asset 102-2 may communicate to hand held device 130 via wireless transmissions, which in turn may communicate to transaction server via network 120. Also as depicted in FIG. 1, field assets 103 may communicate locally with field asset 102-1 and use field asset 102-1 to act as a relay station for information from devices 103-1 and 103-2.
Transaction server 110 may be implemented as a set of one or more server class computers operable to process many transactions. Transaction server 110 may include, as an example, a database management application (e.g., Oracle, DB2, etc.)
A data processing system 170 is depicted in FIG. 1 as being coupled to transaction server 110 via network 160. Data processing system 170 may include a processor, memory, and I/O peripherals according to any of various well-known data processing system designs. Data processing system 170 may include an operating system (OS) and a management application 175. Management application 175 may be any program of instructions embodied in computer-readable media operable to facilitate transmission, receipt, and/or display of data communicated via network 160. In certain embodiments, management application 175 may comprise a simple network management protocol (SNMP) application. In other embodiments, management application 175 may comprise a conventional web browsing application.
Each of network 120, 140 and 160, may be any network and/or fabric configured to couple one or more field assets 102 and/or 103, hand held devices 130, transaction servers 110, and/or computing devices (e.g., computer 170) in accordance with the present disclosure. Each of network 120, 140 and 160 may be implemented as, or may be a part of, a storage area network (SAN), personal area network (PAN), local area network (LAN), a metropolitan area network (MAN), a wide area network (WAN), a wireless local area network (WLAN), a virtual private network (VPN), an intranet, the Internet or any other appropriate architecture or system that facilitates the communication of signals, data and/or messages (generally referred to as data), or any combination thereof. Each of network 120, 140 and 160 may transmit data using any storage and/or communication protocol, including without limitation, Fibre Channel, Frame Relay, Asynchronous Transfer Mode (ATM), Internet protocol (IP), other packet-based protocol, small computer system interface (SCSI), Internet SCSI (iSCSI), advanced technology attachment (ATA), serial ATA (SATA), advanced technology attachment packet interface (ATAPI), serial storage architecture (SSA), integrated drive electronics (IDE), and/or any combination thereof. Each of network 120, 140 and 160 and their various respective components may be implemented using hardware, software, or any combination thereof.
In certain embodiments of system 100, network 120 may be implemented as a wireless network using any of a variety of long-range wireless transmission technologies, e.g., cellular technology. Such embodiments may include the well-known use of multiple base stations positioned in specified locations to communicate wireless signals across a wide geographic area. Similarly, in certain embodiments of system 100, network 160 may be implemented as (or part of) the Internet and/or an intranet.
In certain embodiments of system 100, network 140 may be implemented as a wireless network using any of a variety of short range wireless transmission technologies including, without limitation, Bluetooth and WiFi (e.g., IEEE 802.11b, IEEE 802.11g, and their derivatives). In such embodiments, an operator may convey hand held device 130 to a location that is in close proximity to a field asset 102. Field asset 102 and hand held device 130 may establish a local wireless signal enabling communication between the two. After establishing a local wireless communication channel, field asset 102 and hand held device 130 may exchange data or information. Field asset 102 may, as an example, transmit sales transaction information to hand held device 130. Hand held device 130 may then convey the information it has received from field asset 102 to transaction server 110 via network 120. Alternatively, transfer of information from field asset 102-1 to transaction server 110 could be achieved by transferring the data from field asset 102-1 to hand held device 130 using network 140, transporting hand held device 130 to a location in proximity to transaction server 110, and transmitting the information in hand held device 130 to interaction server 110 via transfer (e.g., a wireless or wireline transfer). As another alternative, information may be passed from field asset 102-1 to hand held device 130 and/or from hand held device 130 to transaction server 110 using wireline transmissions, e.g., a cable or other wired connection, possibly to enhance the security of confidential information.
The type of information conveyed or otherwise exchanged between field assets 102 and interaction server 110 varies depending upon the manner in which and the purpose for which field asset 102 is implemented, but the information most likely includes information about transactions that occur or have occurred using field assets 102. In embodiments where field assets 102 and 103 include a vending machine, the transaction information referred to may include, as examples, information about when a transaction occurs and other transaction details, for example, what product or combination of products were purchased, what consumer or customer purchased the product (if known, e.g., by reading a name from a magnetic strip of a credit card), the dollar amount of the purchase, the amount of time required to complete the purchase, the manner of payment, the operational status of vending machine components (e.g., correct change events, compressor failure, bill validator failure, coin mechanism failure, card reader failure, mechanical jams, etc.), and other information that may be useful to vending machine operators and/or the providers of goods sold through field assets 102.
As depicted in FIG. 1, system 100 may include various components that facilitate high volume transaction processing in a remotely distributed architecture that includes wireless communication elements, which may be characterized by relatively unreliable or unstable communication paths to all or some of the remote assets. For example, as described above, the elements of system 100 may include (1) remote communication facilities to communicate with remote assets over multiple forms of wireless networks, (2) hand held technology suitable for mobile access to the field assets and to a transaction server, (3) server software for processing volumes of transactions, and (4) browser based access to useful information provided by transaction server 110.
As described in greater detail with respect to FIG. 2, one or more of field assets 102 and 103 may be an MDB-compliant vending machine that includes a vending machine controller (VMC) as the master of an industry standard MDB bus to which one or more peripheral devices are connected. In addition to conventional peripheral devices such as bill validators and coin mechanisms, a field asset may include an extended function adapter (“EFA”). An EFA may include expandable, PC industry standard communication interface to legacy equipment and may include hardware, firmware, and/or software that implements a platform for providing value added functionality to the vending machine or other field asset. For example, an EFA may provide a platform for interfacing to archaic or otherwise unique protocols such as Data Exchange (DEX) and Multi-Drop Bus (MDB) commonly encountered in remote field asset applications and especially in the vending machine industry.
As described in greater detail with respect to FIG. 2, the EFA may support one or more beneficial capabilities that facilitate automated vending machine management. An area of EFA functionality of special interest is an MDB snoop agent to capture and buffer or otherwise store packets on the MDB. In some embodiments, the EFA integrates two or more distinct extended function features. The EFA may, for example, include a audit agent that includes the capacity to perform DEX polling and to store and time stamp the captured DEX data structures.
FIG. 2 depicts a block diagram of an example field asset 102 of FIG. 1, in accordance with the present disclosure. While the elements of FIG. 2 are applicable to field assets 103 of FIG. 1, the remainder of the discussion will use reference numeral 102 exclusively for the sake of simplicity. As depcited in FIG. 2, field asset 102 may include an MDB-compliant machine or device, and may include a VMC 210 connected to an MDB 211, to which a plurality of peripheral devices may be connected.
As shown in FIG. 2, field asset 102 may comprise peripheral devices including a coin mechanism 214, a bill validator 216, and a card reader 212. These peripheral devices are well-known devices in the field of vending machines generally and MDB-compliant vending machines in particular. Although FIG. 2 depicts field asset 102 as including coin mechanism 214, a bill validator 216, and a card reader 212, it is understood that any number and/or any type of other peripheral devices may be included in field asset 102. As depicted in FIG. 3, coin mechanism 214 and bill validator 216 may couple directly to MDB 211 while card reader 212 may couple to MDB 211 using extended function adapter (EFA) 200 as an intermediary. Card reader 212 may couple to EFA 200 via a universal serial bus (USB) connection 305. Card reader 212 may include any system, device or apparatus operable to read a credit card and/or other cashless payment medium, and may include a magnetic strip reader 310, a liquid crystal display (LCD) display 320, and a USB Interface 308, providing access to USB connection 308.
MDB 211 may be compliant with the Multi-Drop Bus/Internal Communication Protocol (the MDB protocol) maintained by the National Automatic Marketing Association (NAMA). The MDB protocol is an interface standard that allows the various components of a vending machine to communicate to the VMC. The MDB protocol determines the way in which the VMC learns what coins are accepted by coin mechanism 214, what bills are accepted by bill validator 216, and how much credit is available through card reader 212. It is a way for the VMC to communicate to coin mechanism 214 how much change to pay out or to communicate to card reader 212 how much credit to return to a swiped credit card and/or other cashless payment medium.
Unlike many shared bus protocols, the MDB protocol may define VMC 210 as the one and only master of the MDB and all other peripherals as slaves. VMC 210 may address packets to any of the peripheral devices, but peripheral devices cannot communicate with each other and only transmit packets to VMC 210 in response to receiving a packet from VMC 210. Also, as suggested previously, MDB is a polling-based protocol. A significant percentage of MDB traffic may consist of polling packets issued by VMC 210 and acknowledge packets from the peripheral devices. In most shared bus architectures, e.g., Ethernet and PCI, devices can act as masters or slaves and polling is not an inherent feature of the architecture.
EFA 200, as its name suggests, includes application extensions that enhance the features of field asset 102. In conjunction with VMC 210, EFA 200 may include an audit agent 302 suitable for retrieving DEX data 220 from VMC 210. In addition, EFA 200 may include an MDB snoop agent 301 enabled to capture and buffer or otherwise store MDB packets.
The ability to capture MDB packets enables a variety of different applications. MDB packet traffic may be captured and analyzed to achieve time-based and DEX-independent auditing capabilities. As another example, MDB packet traffic may also be used to monitor system health. Moreover, by combining MDB packet capture capabilities in conjunction with EFA 200 as described below, field asset 102 may facilitate the collection and analysis of data communicated within field asset 102. When further implemented in conjunction with networking and communication capabilities, field asset 102 may represent a highly intelligent component of an automated network of field assets.
EFA 200, as depicted in FIG. 2, may include an MDB snoop agent 301, an audit agent 302, and a network interface 304. Audit agent 302 may interact with VMC 210, e.g., through a conventional RS-232 link, to retrieve or poll DEX data 220 from VMC 210. EFA 200 may be programmed to poll DEX data 220 multiple times each day and to store the data for each such polling event and the time associated with each event. In this manner, audit agent 302 may create a dynamic view of DEX data. Audit agent 302 may also audit other aspects of field asset 102 including, for example, information captured by MDB snoop agent 301. Audit agent 302 may also communicate data to network interface 304. Network interface 304 may include any system, device or apparatus operable to communicate data to and receive data from network 120 and/or network 140 in accordance with the present disclosure. Accordingly, network interface 304 may turn communicate data to transaction server 110 via network 120 and/or network 140 for analysis by management application 175 of data processing system 170.
As described in greater detail in U.S. patent application Ser. No. 11/464,127, referenced above, MDB snoop agent 301 may include hardware, software, and/or firmware support to capture MDB packets as they appear on MDB 211 and provide them to an audit engine or application for further study (e.g., at audit agent 302, transaction server 110, and/or data processing system 170) and may be implemented, at least in part, as a daughter board that attaches to EFA 200 and may also include a microcontroller and other circuitry required to implement packet capture in an MDB environment.
FIG. 3 depicts a flow chart of an example method 350 for monitoring the performance of field assets 102 and 103, in accordance with the present disclosure. In one embodiment, method 350 includes capturing data relating to operational parameters of various components of field asset 102, and analyzing the operational parameters to determine the operational efficiency of field asset 102.
According to one embodiment, method 350 preferably begins at step 352. As noted above, teachings of the present disclosure may be implemented in a variety of configurations of system 100. As such, the preferred initialization point for method 350 and the order of the steps 352-366 comprising method 350 may depend on the implementation chosen.
At step 352, MDB snoop agent 301 may capture MDB information from MDB 211. The captured MDB information may include packets of data communicated between VMC 210 and peripherals coupled to MDB 211, such as card reader 212, coin mechanism 214, and bill validator 216, for example. In certain embodiments, some or all of the information captured by MDB snoop agent 301 may be indicative of an operational state of peripherals coupled to MDB 211. For example, a portion of the captured MDB information may indicate whether each of card reader 212, coin mechanism 214, and bill validator 216 are fully operational, or whether any of such peripherals has failed. At step 354 the captured MDB information may be communicated from MDB snoop agent 301 to audit agent 302.
At step 356, VMC 210 may capture DEX data 220. The captured DEX information may include data indicative of an operational state of components of field asset 102 not coupled to MDB 211. For example, a portion of captured DEX data 220 may indicate whether inventory items of field asset 102 are in stock, whether or not field asset 102 is operating in an exact change mode (e.g., if field asset 102 is depleted of sufficient coins of particular denominations, field asset 102 may not be able to give change for certain purchases), whether a vending mechanism of field asset 102 is jammed or obstructed, whether a compressor operating to chill inventory is operation, as well as any other parameters. At step 358, the captured DEX data 220 may be communicated from VMC 210 to audit agent 302.
At step 360, audit agent 302 may analyze captured MDB information to determine one or more operational parameters associated with peripherals coupled to MDB 211. For example, audit agent 302 may analyze the captured MDB information to determine periods of time in which each of card reader 212, coin mechanism 214, and bill validator 216 are fully operational, as depicted in FIG. 4. As noted above, FIG. 4 depicts a table depicting certain operational parameters of various components of field asset 102. As depicted in FIG. 4, audit agent 302 may analyze captured MDB information to determine, for example, that in a given week, bill validator 216 was fully operational from the beginning of the day Sunday through early evening Tuesday, and then again from Wednesday morning through the end of day Saturday. Likewise, audit agent 302 may analyze captured MDB information to also determine, for example, that in a given week, coin mechanism 214 was fully operational from the beginning of the day Sunday through early morning Thursday, and then again from Thursday night through the end of day Saturday, as also shown in FIG. 4. Similarly, audit agent 302 may analyze captured MDB information to further determine, for example, that in a given week, card reader 212 was fully operational during the entire week, as also shown in FIG. 4.
At step 362, audit agent 302 may analyze captured DEX data 220 to determine one or more operational parameters associated with other components of field asset 102. For example, audit agent 302 may analyze captured DEX data 220 to determine periods of time in which all inventory items of field asset 102 were in stock. To illustrate, audit agent 302 may analyze captured DEX data 220 to determine that in a given week, all items were in stock from Monday morning through Wednesday morning, and again from Thursday morning through Saturday evening, as shown in FIG. 4. Likewise, audit agent 302 may analyze captured DEX data 220 to also determine, for example, that in a given week, field asset 102 was not in exact change mode from beginning of the day Sunday through late Thursday night, as shown in FIG. 4.
At step 364, audit agent 302 may analyze the various operational parameters to determine the overall operational efficiency of field asset 102. For example, referring again to FIG. 4, audit agent 302 may analyze the previously discussed operational parameters (e.g., periods of all items in stock, operational status of card reader 212, operational status of coin mechanism 214, operational status of bill validator 216, and periods of not in exact change mode) to determine an overall operational efficiency of field asset 102. In the embodiment depicted in FIG. 4, the audit agent 302 may analyze the various operational parameters to determine the periods of full operational efficiency of field asset 102 (e.g., periods in which all individual operational parameters of field asset 102 are as desired). For example, as depicted in FIG. 4, the periods of full operational efficiency (Monday morning to Tuesday evening, and Wednesday morning to Thursday morning) may correspond to those time periods in which all items were in stock, card reader 212, coin mechanism 214 and bill validator 216 were all operational, and field asset 102 was not in exact change mode. Based on the determination of periods of full operational efficiency, audit agent 302 may calculate, for example as in the scenario depicted in FIG. 4, that field asset 102 has an operational efficiency of 35.7%, meaning that field asset 102 was fully operational during 35.7% of the week monitored.
At step 366, field asset 102 may communicate, via one more of networks 120, 140, and 160, the operational parameters, periods of full operational efficiency, overall operational efficiency and/or other data to management application 175, where such data can be reviewed and/or further analyzed by management application 175 and or a person using data processing system 170. For example, in one embodiment, all of a portion of FIG. 4 may be displayed on a display device of data processing system 170. After completion of step 366, method 350 may proceed again to step 352, where steps 352-366 may be repeated.
Although FIG. 3 discloses a particular number of steps to be taken with respect to method 350, it is understood that method 350 may be executed with greater or fewer steps than those depicted in FIG. 3. In addition, although FIG. 3 discloses a certain order of steps to be taken with respect to method 350, the steps comprising method 350 may be completed in any suitable order. For example, in certain embodiments, steps 356 and 358 may occur before or in parallel with steps 352 and 354. As another example, although steps 352 and 356 discuss the capture of data as a discrete step of method 350, it is understood that MDB information and DEX data 220 may be captured continuously over time and/or at regular intervals.
Method 350 may be implemented using system 100 or any other system operable to implement method 350. In certain embodiments, method 350 may be implemented partially or fully in software embodied in tangible computer readable media.
Although audit agent 302 is described above as analyzing MDB information and DEX data 220 to determine one or more operational parameters associated with peripherals and other components of field asset 102, and also described above as analyzing operational parameters to determine periods of full operational efficiency and overall operational efficiency, it is understood that any other component of system 100, referred to generally as an “audit module,” may perform one or more of such analyses and determinations (e.g., transaction server 110, data processing system 170, and/or management application 175 may be used as an audit module). For example, in certain embodiments, “raw” MDB information and/or DEX data 220 may be communicated from field asset 102 to data processing system 170, and management application 175 (and/or another component of data processing system 170) may then analyze MDB information and/or analyze DEX data 220 to determine one or more operational parameters associated with peripherals and other components of field asset 102. In the same or alternative embodiments, management application 175 (and/or another component of data processing system 170) may also analyze operational parameters to determine periods of full operational efficiency and/or overall operational efficiency of field asset 102.
For the sake of simplicity, only particular examples of operational parameters for peripherals and components of field asset 102 were discussed above (e.g., items in stock, not in exact change mode, card reader 212 operational, coin mechanism 214 operational, and bill validator 216 operational). However, is it understood that greater or fewer operational parameters may be utilized in accordance with the present disclosure. For example, in some embodiments, the determination of periods of full operational efficiency and/or the determination of overall operational efficiency may be determined independent of any periods that field asset 102 is not in exact change mode. As another example, captured MDB information and/or DEX data may analyzed to determine operational parameters other than those discussed above (e.g., mechanical jams in a vending mechanism, compressor failure, etc.) and such operational parameters may also be analyzed to determine periods of full operational efficiency and/or determine the overall operational efficiency of field asset 102.
Also, for the sake of simplicity, operational parameters, periods of operational efficiency, and overall operational efficiency in relation to field asset 102 were discussed with reference to FIGS. 3 and 4 as being measured over the course of a calendar week. However, it is understood that operational parameters, periods of operational efficiency, and overall operational efficiency in relation to field asset 102 may be measured, monitored, and or determined in relation to any suitable period of time, including without limitation hours, days, weeks, months, and/or years.
Utilizing the methods and systems disclosed herein, one may be able to track the operational efficiency of one or more field assets 102 and 103, as well as individual components thereof. By analyzing such operational efficiency (manually and/or automatically), one may be able to establish effective service, maintenance and repair schedules for each field asset 102 and 103, so as to increase the operational efficiency of such field asset, and potentially increase revenues realized from such field asset.
Although the present disclosure has been described with respect to specific preferred embodiments thereof, various changes and modifications may be suggested to one skilled in the art and it is intended that the present invention encompass such changes and modifications fall within the scope of the appended claims.

## Claims

1. A method for monitoring the performance of a field asset comprising:
capturing, by a extended function adapter, packets transmitted on a hared bus located in the field asset during normal operation of the field asset;
analyzing the captured packets to determine both an operating state of the field asset and one or more operational parameters associated with one or more peripheral devices coupled to the shared bus,
the operating state including at least one whether all inventory items of the field asset are in stock,
the one or more operational parameters including at least whether each of the peripheral devices is operational and, for each peripheral device capable of dispensing change, whether the peripheral device is depleted of currency of a particular denomination; and
analyzing the one or more operational parameters to determine an overall operational efficiency of the field asset, the overall operational efficiency equal to a ratio of a total amount of time that all items are in stock and every one of the one or more peripheral devices is concurrently operational to an overall period of time.

2. The method of claim 1, wherein the shared bus is a Multi Drop Bus (MDB) protocol compliant bus.

3. The method of claim 2, further comprising:
capturing data exchange (DEX) protocol compliant data;
analyzing the captured DEX data to determine one or more additional operational parameters associated with one or more components of the field asset; and
analyzing the one or more additional operational parameters to determine the overall operational efficiency of the field asset.

4. The method of claim 1, further comprising communicating at least one of the operational parameters, additional operational parameters, and the overall operational efficiency to a transaction server communicatively coupled to the field asset.

5. The method of claim 3, wherein the one or more additional operational parameters comprise an indication that every inventory item of the field asset is in stock.

6. The method of claim 1, wherein at least one of the one or more peripheral devices include a coin mechanism, a bill validator, and a card reader.

7. The method of claim 1, wherein the field asset is a vending machine.

8. The method of claim 1, wherein the packets are captured by a snoop agent communicatively coupled to the shared bus.

9. A remotely located machine comprising:
a machine controller configured to function as a master of a shared bus;
one or more peripheral devices communicatively coupled to the bus, wherein the machine controller transmits packets to the peripheral devices via the shared bus;
a snoop agent configured to capture packets transmitted on the shared bus during normal operation of the field asset; and
an audit agent configured to:
analyze the captured packets to determine both an operating state of the field asset and one or more operational parameters associated with the one or more peripheral devices,
the operating state including at least whether all inventory items of the field asset are in stock,
the one or more operational parameters including at least whether each of the peripheral devices is operational and, for each peripheral device capable of dispensing change, whether the peripheral device is depleted of currency of a particular denomination; and

analyze the operating state and the one or more operational parameters to determine an overall operational efficiency of the field asset, the overall operational efficiency equal to a ratio of a total amount of time that all items are in stock and every one of the one or more peripheral devices is concurrently operational to an overall period of time.

10. The remotely located machine of claim 9, wherein the shared bus is a Multi Drop Bus (MDB) protocol compliant bus.

11. The remotely located machine of claim 10, wherein the snoop agent is implemented on an extended function adapter (EFA) communicatively coupled to the MDB.

12. The remotely located machine of claim 10, wherein the machine controller is a vending machine controller (VMC) communicatively coupled to the MDB via an MDB port of the VMC.

13. The remotely located machine of claim 12, further comprising the audit agent communicatively coupled to a DEX port of the VMC, the audit agent further configured to:
retrieve DEX data from the DEX port;
analyze the captured DEX data to determine one or more additional operational parameters associated with one or more components of the field asset; and
analyze the one or more additional operational parameters to determine the overall operational efficiency of the field asset.

14. The remotely located machine of claim 9, wherein at least one of the one or more peripheral devices include a coin mechanism, a bill validator, and a card reader.

15. The remotely located machine of claim 9, the audit agent further configured to communicate at least one of the operational parameters, additional operational parameters, and the overall operational efficiency to a transaction server communicatively coupled to the field asset.

16. The remotely located machine of claim 9, wherein the audit agent is further configured to analyze the one or more operational parameters to determine each interval of time during an overall period of time that every one of the one or more peripheral devices is concurrently operational.

17. A system for monitoring the performance of a field asset comprising:
a field asset including:
a machine controller configured to function as a master of a shared bus;
one or more peripheral devices communicatively coupled to the bus, wherein the machine controller transmits packets to the peripheral devices via the shared bus;
a snoop agent configured to capture packets transmitted on the shared bus during normal operation of the field asset; and
an audit module configured to:
analyze the captured packets to determine both an operating state of the field asset and one or more operational parameters associated with the one or more peripheral devices,
the operating state including at least one of whether all inventory items of the field asset are in stock and whether a vending mechanism of the field asset is jammed or obstructed,
the one or more operational parameters including at least whether each of the peripheral devices is operational and, for each peripheral device capable of dispensing change, whether the peripheral device is depleted of currency of a particular denomination; and
analyze the one or more operational parameters to determine an overall operational efficiency of the field asset, the overall operational efficiency equal to a ratio of a total amount of time that all items are in stock and every one of the one or more peripheral devices is concurrently operational to an overall period of time.

18. The system of claim 17, wherein the shared bus is a Multi Drop Bus (MDB) protocol compliant bus.

19. The system of claim 18, wherein the snoop agent is implemented on an extended function adapter (EFA) communicatively coupled to the MDB.

20. The system of claim 18, wherein the machine controller is a vending machine controller (VMC) communicatively coupled to the MDB via an MDB port of the VMC.

21. The system of claim 20, further comprising an audit agent communicatively coupled to a DEX port of the VMC, the audit agent configured to:
retrieve DEX data from the DEX port; and
communicate the DEX data to the audit module.

22. The system of claim 21, the audit module further configured to:
analyze the captured DEX data to determine one or more additional operational parameters associated with one or more components of the field asset; and
analyze the one or more additional operational parameters to determine the overall operational efficiency of the field asset.

23. The system of claim 17, wherein at least one of the one or more peripheral devices include a coin mechanism, a bill validator, and a card reader.

24. The system of claim 17, wherein the audit module is a transaction server communicatively coupled to the field asset.

25. The system of claim 17, wherein the audit module is further configured to analyze the one or more operational parameters to determine each interval of time during an overall period of time that every one of the one or more peripheral devices is concurrently operational.

26. The method of claim 1, further comprising:
analyzing the one or more operational parameters to determine each interval of time during the overall period of time that every one of the one or more peripheral devices is concurrently operational.