Patent Description:
The value of monitoring equipment in support of energy management is becoming widely accepted, but even basic energy monitoring systems must be procured and installed before this value can be realized. Conventional monitoring devices generally must be installed and connected to one or more communication systems, and the installation and connection of digital and analog I/O to the equipment is necessary to track the operation of the equipment. The installation of such monitoring devices can be expensive and complex, and usually requires training users to operate the new, unfamiliar monitoring devices.

One aspect of the present disclosure is directed to a method according to claim <NUM>.

Embodiments of the method further may include comprising receiving, from a user, a tag to assign to the piece of equipment. The data specifications may be stored in relation to the assigned tag. the method further may include automatically associating the first measurement data with the tag. The first image may be an image of a nameplate, and the second image may be an alphanumeric measurement display. The measurement data trend profile may include one or more sets of measurement data. The method may further include notifying the one or more users when the operational measurement data associated with the piece of equipment deviates from the data specifications.

Another aspect of the present disclosure is directed to a system according to claim <NUM>.

Embodiments of the system may further include the controller being configured to receive, from a user, a tag to assign to the piece of equipment. The controller may be configured to store the data specifications in relation to the assigned tag. The measurement data trend profile may include one or more sets of measurement data. The second image may include a unique identifier.

These and other features and advantages of the present disclosure will now be described in greater detail with reference to the accompanying drawings, detailed description and claims.

Still other aspects, embodiments, and advantages of these exemplary aspects and embodiments, are discussed in detail below.

The figures are included to provide illustration and a further understanding of the various aspects and embodiments, and are incorporated in and constitute a part of this specification, but are not intended as a definition of the limits of the invention. Where technical features in the figures, detailed description or any claim are followed by reference signs, the reference signs have been included for the sole purpose of increasing the intelligibility of the figures and description. In the figures:.

This disclosure is not limited in its application to the details of construction and the arrangements of components set forth in the following description or illustrated in the drawings.

This present disclosure is directed to a method of monitoring a piece of equipment for anomalous behavior. A controller is configured to receive images including at least specification information and measurement data from an image capture device. Measurement data extracted from each image is assigned a tag (e.g., "HVAC <NUM>," "Server #<NUM>," etc.) associated with the piece of equipment. A data trend profile is created (or updated if the data trend profile already exists for the associated piece of equipment) to track measurement data samples over time. Most measurement data (e.g., power, voltage, current) associated with a piece of equipment can be expected to stay substantially constant over an extended period of time. By tracking measurement data in a data trend profile over time, a change in normal measurement data can be easily identified and relayed to a user or set of users to take further action.

Referring to <FIG>, a diagram of a monitoring system <NUM> is shown. The monitoring system <NUM> includes a piece of equipment <NUM>, a memory <NUM>, a controller <NUM> and an image capture device <NUM>. As shown, the memory <NUM> and the controller <NUM> are communicatively coupled to each other, and each is communicatively coupled to the image capture device <NUM> through a communication network <NUM>.

The piece of equipment <NUM> can be any equipment that includes parameters capable of being monitored (e.g., current, voltage, power), such as HVAC units, servers, mainframes, and other similar devices. The image capture device <NUM> (e.g., a camera) is operable to capture one or more image(s) of displays indicating measurements of the parameters, and to submit the image(s) to the controller <NUM> for analysis. The image capture device <NUM> can be operated by a user in some examples, while in others, the image capture device <NUM> operates automatically.

Referring to <FIG>, a block diagram <NUM> of the piece of equipment <NUM> is shown. As discussed above, the piece of equipment <NUM> can be, for example, an HVAC unit or a server. The piece of equipment <NUM> includes a specification data display <NUM>, a measurement information display <NUM> and an equipment status indicator <NUM>. The specification data display <NUM> displays specification information indicating normal rated operating conditions (e.g., a rated voltage of 120V and a rated current of 1A) for the piece of equipment <NUM>. The specification data display <NUM> can be a physical nameplate affixed to the equipment <NUM> in some examples, while in others, the specification data display <NUM> can be a digital display coupled to the piece of equipment <NUM>. Additional, alternate display media are available in yet other examples.

The measurement information display <NUM> is operable to display measurement information measured from the piece of equipment <NUM>, including, for example, the current power consumption level and the current voltage level. The measurement information display <NUM> includes a unique identifier <NUM>, a fiduciary marker <NUM>, and an alphanumeric display <NUM>. In some examples, the measurement information display <NUM> includes the fiduciary marker <NUM> and the alphanumeric display <NUM>, while in other examples, the measurement information display <NUM> includes the fiduciary marker <NUM> and/or the alphanumeric display <NUM>, but not both. In yet other examples, the measurement information display <NUM> includes neither the fiduciary marker <NUM> nor the alphanumeric display <NUM>, and instead employs some other means of displaying measurement information.

The unique identifier <NUM> can be any distinguishing feature that uniquely identifies the measurement information display <NUM>. For example, the unique identifier <NUM> may be a physical label (e.g., that reads "HVAC <NUM>," "Server #<NUM>," etc.) that the controller <NUM> can recognize in an image taken by the image capture device <NUM>. In some embodiments, the controller <NUM> can learn that the unique identifier <NUM> is associated with a specific piece of equipment <NUM> and automatically associate any subsequent images involving the unique identifier <NUM> with this specific piece of equipment <NUM>, permitting the creation of a centralized database of information and data sorted by each piece of equipment.

The fiduciary marker <NUM> can be any information-encoding marker (e.g., a 2D barcode, a Quick Response (QR) code, etc.). Images taken of the measurement information display <NUM> including the fiduciary marker <NUM> by the image capture device <NUM> can be analyzed by the controller <NUM> to decode measurement information from the fiduciary marker <NUM>. For example, the measurement information can include voltage conditions, current conditions, power conditions, for the piece of equipment <NUM> at a given point in time (e.g., the time at which the image capture device <NUM> took an image of the fiduciary marker <NUM>) that the controller <NUM> can extract from the fiduciary marker <NUM>.

The alphanumeric display <NUM> can be displayed by the measurement information display <NUM> in lieu of, or in addition to, the fiduciary marker <NUM>, and is operable to display measurement information in an alphanumeric format. For example, the measurement information displayed can include voltage conditions, current conditions, power conditions and so forth, displayed in an alphanumeric format rather than being encoded by a fiduciary marker (e.g., fiduciary marker <NUM>) as discussed above. Images taken of the measurement information display <NUM> including the alphanumeric display <NUM> by the image capture device <NUM> can be analyzed by the controller <NUM> to identify and extract the measurement information discussed above.

As discussed, the piece of equipment <NUM> further includes an equipment status indicator <NUM> having a unique identifier <NUM> and an analog display <NUM>. The unique identifier <NUM> can be any unique distinguishing feature that can identify the equipment status indicator <NUM>, such as a unique physical label, similar to the unique identifier <NUM> discussed above.

The analog display <NUM> can be any analog gauge or meter used to display equipment status (e.g., temperature, air flow, etc.). For example, the analog display <NUM> can be an analog needle gauge or a digital gauge. In some embodiments, the controller <NUM> may prompt a user to calibrate a first image of the analog display <NUM> captured by the image capture device <NUM>. For example, the controller <NUM> may be operable to identify that the analog display <NUM> is an analog needle gauge as discussed above, but may need calibration as to a range of values displayed by the analog display <NUM>. In other examples, the controller <NUM> can compare an image of the analog display <NUM> against a database of analog displays, and can provide suggestions to a user regarding the type of analog display <NUM> identified in the image. The user can select a matching analog display from the suggestions, and the controller <NUM> will calibrate the analog display <NUM> to the user selection.

<FIG> illustrates a process <NUM> executed by a controller for determining if a piece of equipment is exhibiting anomalous behavior. Generally speaking, the process <NUM> involves the receipt of images containing equipment information (e.g., equipment status readings or equipment data), and extracting, storing and analyzing this information from the images. At step <NUM>, the process begins.

At step <NUM>, the controller <NUM> receives a first image from the image capture device <NUM>. The first image can, for example, be an image of the specification data display <NUM> coupled to the piece of equipment <NUM>. At step <NUM>, the controller <NUM> extracts data specification information from the first image and stores the information in the memory <NUM>, as explained in more detail with respect to <FIG> below.

The process <NUM> continues to step <NUM>, in which the controller <NUM> receives a second image. The second image may, for example, be an image of the measurement information display <NUM> or the equipment status indicator <NUM>. At step <NUM>, the controller <NUM> extracts measurement data from the second image and stores the data in the memory <NUM>, as explained in more detail with respect to <FIG> below.

At step <NUM>, the controller <NUM> evaluates whether the measurement data extracted from the second image deviates from a trend profile associated with the piece of equipment <NUM> to which the measurement data pertains, as explained in more detail below with respect to <FIG>. The trend profile can contain one or more measurements taken over a period of time and can indicate general trend information for the measurement parameter. For example, the data trend profile may include voltage measurements taken for a piece of equipment roughly every month over the course of a year. If the measurement data sample (e.g., a voltage measurement) does not deviate from the trend profile (<NUM> NO), the process <NUM> ends at step <NUM>. However, if the measurement data does deviate from the trend profile (<NUM> YES), the process <NUM> continues to step <NUM>. At step <NUM>, one or more users are notified that the measurement data sample has deviated from the trend profile, after which the one or more users may take appropriate action. For example, rising power consumption measurements may prompt the one or more users to contact an energy management institution for a consultation regarding a reduction in energy costs. As mentioned above, the process <NUM> ends at step <NUM>.

As discussed above, <FIG> illustrates a process <NUM> executed by a controller for extracting and storing data specifications from an image as performed in step <NUM> of the process <NUM>. The image can be of a nameplate affixed to a piece of equipment, for example, and the nameplate can contain specification information relating to the piece of equipment. At step <NUM>, the process begins.

At step <NUM>, the controller <NUM> analyzes the first image for data specification information. For example, the controller <NUM> can analyze the first image for key words (e.g., "rated voltage," "rated current," etc.) and values associated with the keywords, and automatically extract specification information without intervention by a user. In some examples, however, user input may be required for the controller <NUM> to complete the analysis of the first image, as discussed in more detail below.

The process <NUM> continues to step <NUM>, in which the controller <NUM> prompts a user to assign a tag to the piece of equipment. For example, the tag can include a descriptor indicative of the piece of equipment with which the specification information is related (e.g., "HVAC <NUM>," "Server #<NUM>," etc.), and can be used to consistently group any subsequent information pertaining to the piece of equipment <NUM> under a unified tag in the memory <NUM>. For example, responsive to receiving a search request of "HVAC <NUM>," the controller <NUM> is operable to search the memory <NUM> for any information with an "HVAC <NUM>" tag.

At step <NUM>, the controller <NUM> receives a tag from the user and evaluates whether or not the chosen tag is already in use. If the tag is already taken (<NUM> YES), the process <NUM> continues to step <NUM>, in which the user is notified that the tag is already in use. The process then returns to step <NUM>, in which the controller <NUM> prompts the user for a new tag. If the tag is not already taken (<NUM> NO), the process <NUM> continues to step <NUM>. At step <NUM>, the data specification information retrieved from analyzing the image at step <NUM> is stored in the memory <NUM> in relation to the tag chosen at step <NUM>. At step <NUM>, the process <NUM> ends.

As discussed above, <FIG> illustrates a process <NUM> executed by a controller <NUM> for extracting and storing measurement data from an image as performed in step <NUM> of the process <NUM>. At step <NUM>, the process begins. At step <NUM>, an image is analyzed to extract measurement information or equipment status information. As discussed above with respect to <FIG>, the measurement information may be displayed through any one or more of a variety of media, including, for example, alphanumeric displays, 2D barcodes and QR codes, which can be captured in an image by the image capture device. The equipment status information can be displayed by an analog gauge, such as analog gauge <NUM>, also as discussed above with respect to <FIG>.

The controller <NUM> is operable to automatically identify the type of information (e.g., measurement information or equipment status information) and the medium through which the information is being displayed (e.g., through a fiduciary marker or through an alphanumeric display), and decode the information stored by the controller <NUM> and/or the memory <NUM>. For example, if the information is displayed as an alphanumeric display, the controller <NUM> can automatically identify key words (e.g., rated voltage) and values associated therewith (e.g., 120V). As discussed above with reference to the analysis of the first image in step <NUM> of the process <NUM> in <FIG>, however, user input may be required for the controller <NUM> to complete the analysis of the second image, as discussed in more detail below.

The process <NUM> continues to step <NUM>, in which the controller <NUM> analyzes the image for a unique identifier. For example, the measurement information display <NUM> can include a unique identifier <NUM> and the equipment status indicator <NUM> can include a unique identifier <NUM>. If the image includes the measurement information display <NUM> and the unique identifier <NUM>, for example, then the controller <NUM> can recognize the latter in the image. Likewise, if the image includes the equipment status indicator <NUM>, then the controller <NUM> is operable to recognize the unique identifier <NUM> in the image. At step <NUM>, the controller <NUM> evaluates whether a tag has already been assigned to the information display (e.g., the measurement information display <NUM> or the equipment status indicator <NUM>) and the associated unique identifier (e.g., unique identifier <NUM> or unique identifier <NUM>) captured by the image. If a tag has already been assigned to the unique identifier (<NUM> YES), then the process <NUM> continues to step <NUM>, in which the captured information is stored in relation to the assigned tag in the memory <NUM>.

If a tag has not already been assigned to the unique identifier (<NUM> NO), then the process <NUM> continues to step <NUM>, in which the controller <NUM> prompts the user for tag information. In some examples, the piece of equipment <NUM> linked to the unique identifier already has a tag associated with the piece of equipment <NUM> (e.g., assigned at step <NUM> of process <NUM>), and the user can associate the pre-existing tag with the data display (e.g., the measurement information display <NUM> or the equipment status indicator <NUM>) coupled to the piece of equipment <NUM> in the image. At step <NUM>, the controller <NUM> associates the tag with a unique identifier. The unique identifier (e.g., unique identifier <NUM> or unique identifier <NUM>) can be recognized by the controller <NUM> in analyzing subsequent images to automatically categorize the data display associated with the unique identifier as being affiliated with the piece of equipment <NUM>. The process <NUM> continues to step <NUM>, in which the measurement information is stored in relation to the selected tag. The process ends at step <NUM>.

To illustrate the process <NUM>, in one example the controller <NUM> receives an image containing the measurement information display <NUM> and the unique identifier <NUM>. It is assumed that in the present example the controller <NUM> has already analyzed images containing the measurement information display <NUM> and the unique identifier <NUM>, and the controller <NUM> has already stored a tag for the piece of equipment <NUM> associated with the piece of equipment <NUM> in the memory <NUM>. Upon receipt of the image, the controller <NUM> is operable to recognize the unique identifier <NUM>, and automatically associate information extracted from the measurement information display <NUM> with the piece of equipment <NUM>. The extracted information is stored in the memory <NUM> in relation to the pre-existing tag associated with the piece of equipment <NUM>.

In the foregoing example, the controller <NUM> is operable to automatically identify and extract information (e.g., specification information or voltage measurements) from images. However, in other examples, the controller <NUM> may require input from a user to identify and extract the information. In reference to the first image discussed above, for example, the controller <NUM> can analyze the first image and initially automatically classify the first image as containing specification information, but require user confirmation to proceed (i.e., the user must confirm that the first image contains specification information). In other examples, the controller <NUM> may not recognize that a first image includes a specification information display, and may require input from a user to indicate that the first image includes the specification information display.

Responsive to receiving input from a user indicating that the first image includes a specification information display, the controller <NUM> can automatically identify specification information indicated by the display by evaluating an image with a priori knowledge of the fact that the image contains specification information. The controller <NUM> may wait for confirmation of the identified parameters by a user (i.e., the controller <NUM> may request that the user confirm that the controller <NUM> has properly identified measurement data and values associated with the measurement data) in some examples, while in others the controller <NUM> may not wait for confirmation by a user.

Furthermore, with reference to the second image(s) discussed above, the controller <NUM> is operable to automatically identify entities and parameters of interest in some examples, while in others, an initial step of receiving classification information from a user may be required. For example, the controller <NUM> may request that the user highlight specific areas of interest in the image (e.g., a voltage reading) to provide the controller <NUM> with a priori information to extract measurement data from the image.

According to some embodiments, some or all of the foregoing methods for extracting information from an image may be impossible due to the image being of poor quality. For example, the image may be blurry, parts of the image may be obscured, the image may not capture the entirety of the entity being photographed, and so forth. In such cases, the controller <NUM> is operable to automatically identify the errors and will send an indication to a user (e.g., a user operating the image capture device <NUM>) that the image needs to be retaken. In some embodiments, an example of an acceptable image may accompany the notification that the image needs to be retaken.

<FIG> illustrates a process <NUM> executed by controller <NUM> to store and compare measurement data with respect to a measurement data trend profile as discussed above with reference to step <NUM> of process <NUM> in <FIG>. At step <NUM>, the process <NUM> begins. At step <NUM>, the controller <NUM> receives measurement data and a tag with which the measurement data is associated. At step <NUM>, the controller <NUM> evaluates whether a trend profile already exists for the tag. If a trend profile does not yet exist (<NUM> NO), the process <NUM> continues to step <NUM>, in which the controller <NUM> creates a trend profile.

Once the trend profile has been created (step <NUM>), or if a trend profile already exists for a given tag (<NUM> YES), the process <NUM> continues to step <NUM>. At step <NUM>, the measurement data received at step <NUM> is stored in the trend profile associated with the tag. As discussed above, the trend profile can contain one or more measurements taken over a period of time and can indicate general trend information for the measurement parameter. At step <NUM>, the measurement data received at step <NUM> is compared against the trend profile as a whole (e.g., all of the measurement data stored in the trend profile). As discussed above with reference to step <NUM>, the controller <NUM> is operable to identify if the measurement data received at step <NUM> deviates from the trend profile as a whole.

In one embodiment, a user can set a threshold that indicates such a deviation from the trend profile as a whole. The threshold for deviations may be expressed as a number of standard deviations away from the mean of a set of measurement data values within the trend profile. The set may be all of the measurement data values within the trend profile (which grows as more values are collected), or the set may be a collection of measurement values within a baseline time period during which the trend profile represents expected behavior of the equipment being monitored.

Thresholds may optionally be given a time dependency. The equipment being monitored may operate according to a schedule, and different threshold levels may be configured for different blocks of time. As an example, an air handling fan may draw more power during weekdays than weekends, and the threshold levels used during weekdays can be configured to be different than the threshold levels used during weekends.

In the foregoing discussion, <FIG> have been directed largely to the receipt and analysis of images containing a single entity to be analyzed (e.g., a specification data display, a measurement information display or an equipment status indicator) for clarity and simplicity of explanation. However, it is to be understood that images containing multiple entities to be analyzed (e.g., a measurement information display and a specification data display in a single image) can undergo a similar process of evaluation, extraction of information, and association with unique tags to group equipment information.

Furthermore, although the foregoing discussion has been directed to extraction of information from images, it is to be understood that a video containing one or more entities to be analyzed (e.g., a measurement information display or a specification data display) can undergo a similar process of evaluation and extraction of information. Moreover, video analysis can provide additional information that cannot be extracted from images. For example, a video can be analyzed by extracting an audio track from the video, and analyzing the audio track for extremely high or low frequency sounds (e.g., sounds too low or too high to perceive by the naked ear) being emitted by a piece of equipment, or by extracting the constituent frequencies present in an audio track to detect abnormal deviations in an otherwise normal-sounding audio track. In further examples, a video can be further analyzed to detect extremely high frequency equipment part revolutions (e.g., revolutions too high to quantify with the naked eye), indicative of an anomalous state of the equipment.

In some examples, analysis of multiple entities in a single image or video requires an initial classification step by a user. For example, the controller <NUM> may prompt the user to highlight different labels and displays in a single image or video frame and provide appropriate classification (e.g., classifying a first entity as a specification data display and/or classifying a second entity as a measurement information display). Responsive to receiving the appropriate classifications, the controller <NUM> is operable to extract and analyze equipment information as discussed above with relation to images containing a single entity.

Certain embodiments of the present disclosure include reminders, issued by the controller <NUM> to a user, prompting the user to take an image of a piece of equipment. For example, the reminders may be sent to users according to a set schedule (e.g., daily, weekly, monthly, erratically). The schedule may be user-defined in some examples, while in others, the controller <NUM> may dynamically determine an individual schedule for each piece of equipment based on data trends associated with each respective piece of equipment.

The indication sent to the user can further include auxiliary information to assist the user in capturing images of a given piece of equipment. For example, the auxiliary information can include the most recent image taken of the piece of equipment, a floor plan indicating the location of the piece of equipment (determined, for example, by recording a GPS location of the image capture device <NUM> when an image is acquired), images containing visual cues of the location of the piece of equipment, directions to the piece of equipment, and so forth. While some or all of this auxiliary information can be automatically transmitted to a user according to the set schedule discussed above, the controller <NUM> is operable to display information including the auxiliary information responsive to selection by a user at any time.

It should be observed that the systems and methods disclosed herein are capable of receiving and analyzing images of equipment to be monitored, and evaluating information drawn from the analysis. The results of the evaluation may be used for, among other things:.

In one embodiment, the system also includes a database of equipment information grouped by unique tags assigned to individual pieces of equipment. The system can provide suggested energy management routines to follow for each piece of equipment, customized in accordance with the data trend profile associated with each piece of equipment. The system can also provide one or more statistical models (indicating, e.g., electrical power use vs. air flow) derived from the extracted information associated with each piece of equipment.

Various aspects and functions described herein may be included as specialized hardware or software components executing in one or more computer systems. One or more acts of the method described above may be performed with a computer, where at least one act is performed in a software program housed in a computer. Non-limiting examples of computer systems include, among others, network appliances, personal computers, workstations, mainframes, networked clients, servers, media servers, application servers, database servers and web servers. Other examples of computer systems may include mobile computing devices, such as cellular phones and personal digital assistants, and network equipment, such as load balancers, routers and switches. Further, aspects may be located on a single computer system or may be distributed among a plurality of computer systems connected to one or more communications networks.

For example, various aspects and functions may be distributed among one or more computer systems configured to provide a service to one or more client computers, or to perform an overall task as part of a distributed system. Additionally, aspects may be performed on a client-server or multi-tier system that includes components distributed among one or more server systems that perform various functions. Consequently, examples are not limited to executing on any particular system or group of systems. Further, aspects and functions may be implemented in software, hardware or firmware, or any combination thereof. Thus, aspects and functions may be implemented within methods, acts, systems, system elements and components using a variety of hardware and software configurations, and examples are not limited to any particular distributed architecture, network, or communication protocol.

Referring to <FIG>, there is illustrated a block diagram of a distributed computer system <NUM>, in which various aspects and functions are practiced. As shown, the distributed computer system <NUM> includes one or more computer systems that exchange information. More specifically, the distributed computer system <NUM> includes computer systems/devices <NUM>, <NUM> and <NUM>. As shown, the computer systems/devices <NUM>, <NUM> and <NUM> are interconnected by, and may exchange data through, a communication network <NUM>. The network <NUM> may include any communication network through which computer systems may exchange data. To exchange data using the network <NUM>, the computer systems/devices <NUM>, <NUM> and <NUM> and the network <NUM> may use various methods, protocols and standards, including, among others, Fibre Channel, Token Ring, Ethernet, Wireless Ethernet, Bluetooth, IP, IPV6, TCP/IP, UDP, DTN, HTTP, FTP, SNMP, SMS, MMS, SS7, JSON, SOAP, CORBA, REST and Web Services. To ensure data transfer is secure, the computer systems <NUM>, <NUM> and <NUM> may transmit data via the network <NUM> using a variety of security measures including, for example, TLS, SSL or VPN. While the distributed computer system <NUM> illustrates three networked computer systems, the distributed computer system <NUM> is not so limited and may include any number of computer systems and computing devices, networked using any medium and communication protocol.

As illustrated in <FIG>, the computer system <NUM> includes a processor <NUM>, a memory <NUM>, an interconnection element <NUM>, an interface <NUM> and data storage element <NUM>. To implement at least some of the aspects, functions and processes disclosed herein, the processor <NUM> performs a series of instructions that result in manipulated data. The processor <NUM> may be any type of processor, multiprocessor or controller. Some example processors include commercially available processors such as an Intel Atom, Itanium, Core, Celeron, or Pentium processor, an AMD Opteron processor, an Apple A4 or A5 processor, a Sun UltraSPARC or IBM Power5+ processor and an IBM mainframe chip. The processor <NUM> is connected to other system components, including one or more memory devices <NUM>, by the interconnection element <NUM>.

The memory <NUM> stores programs and data during operation of the computer system <NUM>. Thus, the memory <NUM> may be a relatively high performance, volatile, random access memory such as a dynamic random access memory ("DRAM") or static memory ("SRAM"). However, the memory <NUM> may include any device for storing data, such as a disk drive or other nonvolatile storage device. Various examples may organize the memory <NUM> into particularized and, in some cases, unique structures to perform the functions disclosed herein. These data structures may be sized and organized to store values for particular data and types of data.

Components of the computer system <NUM> are coupled by an interconnection element such as the interconnection element <NUM>. The interconnection element <NUM> may include one or more physical busses, for example, busses between components that are integrated within a same machine, but may include any communication coupling between system elements including specialized or standard computing bus technologies such as IDE, SCSI, PCI and InfiniBand. The interconnection element <NUM> enables communications, such as data and instructions, to be exchanged between system components of the computer system <NUM>.

The computer system <NUM> also includes one or more interface devices <NUM> such as input devices, output devices and combination input/output devices. Interface devices may receive input or provide output. More particularly, output devices may render information for external presentation. Input devices may accept information from external sources. Examples of interface devices include keyboards, mouse devices, trackballs, microphones, touch screens, printing devices, display screens, speakers, network interface cards, etc. Interface devices allow the computer system <NUM> to exchange information and to communicate with external entities, such as users and other systems.

The data storage element <NUM> includes a computer readable and writeable nonvolatile, or non-transitory, data storage medium in which instructions are stored that define a program or other object that is executed by the processor <NUM>. The data storage element <NUM> also may include information that is recorded, on or in, the medium, and that is processed by the processor <NUM> during execution of the program. More specifically, the information may be stored in one or more data structures specifically configured to conserve storage space or increase data exchange performance. The instructions may be persistently stored as encoded signals, and the instructions may cause the processor <NUM> to perform any of the functions described herein. The medium may, for example, be optical disk, magnetic disk or flash memory, among others. In operation, the processor <NUM> or some other controller causes data to be read from the nonvolatile recording medium into another memory, such as the memory <NUM>, that allows for faster access to the information by the processor <NUM> than does the storage medium included in the data storage element <NUM>. The memory may be located in the data storage element <NUM> or in the memory <NUM>, however, the processor <NUM> manipulates the data within the memory, and then copies the data to the storage medium associated with the data storage element <NUM> after processing is completed. A variety of components may manage data movement between the storage medium and other memory elements and examples are not limited to particular data management components. Further, examples are not limited to a particular memory system or data storage system.

Although the computer system <NUM> is shown by way of example as one type of computer system upon which various aspects and functions may be practiced, aspects and functions are not limited to being implemented on the computer system <NUM>. Various aspects and functions may be practiced on one or more computers having a different architectures or components than that shown in <FIG>. For instance, the computer system <NUM> may include specially programmed, special-purpose hardware, such as an application-specific integrated circuit ("ASIC") tailored to perform a particular operation disclosed herein. While another example may perform the same function using a grid of several general-purpose computing devices running MAC OS X with IBM PowerPC processors and several specialized computing devices running proprietary hardware and operating systems.

The computer system <NUM> may be a computer system including an operating system that manages at least a portion of the hardware elements included in the computer system <NUM>. In some examples, a processor or controller, such as the processor <NUM>, executes an operating system. Examples of a particular operating system that may be executed include a Windows-based operating system, such as the Windows <NUM> operating system, available from the Microsoft Corporation, a MAC OS X operating system or an iOS operating system available from Apple Computer, one of many Linux-based operating system distributions, for example, the Enterprise Linux operating system available from Red Hat Inc. , a Solaris operating system available from Sun Microsystems, or a UNIX operating systems available from various sources. Many other operating systems may be used, and examples are not limited to any particular operating system.

The processor <NUM> and operating system together define a computer platform for which application programs in high-level programming languages are written. These component applications may be executable, intermediate, bytecode or interpreted code which communicates over a communication network, for example, the Internet, using a communication protocol, for example, TCP/IP. Similarly, aspects may be implemented using an object-oriented programming language, such as. Net, SmallTalk, Java, C++, Ada, C# (C-Sharp), Python, or JavaScript. Other object-oriented programming languages may also be used. Alternatively, functional, scripting, or logical programming languages may be used.

Additionally, various aspects and functions may be implemented in a non-programmed environment, for example, documents created in HTML, XML or other format that, when viewed in a window of a browser program, can render aspects of a graphical-user interface or perform other functions. Further, various examples may be implemented as programmed or non-programmed elements, or any combination thereof. For example, a web page may be implemented using HTML while a data object called from within the web page may be written in C++ or Python. Thus, the examples are not limited to a specific programming language and any suitable programming language could be used. Accordingly, the functional components disclosed herein may include a wide variety of elements, e.g. specialized hardware, executable code, data structures or objects, which are configured to perform the functions described herein.

In some examples, the components disclosed herein may read parameters that affect the functions performed by the components. These parameters may be physically stored in any form of suitable memory including volatile memory (such as RAM) or nonvolatile memory (such as a magnetic hard drive). In addition, the parameters may be logically stored in a propriety data structure (such as a database or file defined by a user mode application) or in a commonly shared data structure (such as an application registry that is defined by an operating system). In addition, some examples provide for both system and user interfaces that allow external entities to modify the parameters and thereby configure the behavior of the components.

Claim 1:
A computer-implemented method for monitoring a piece of equipment (<NUM>), the method comprising:
receiving a first image, being an image of a specification data display
coupled to the piece of equipment and displaying data specifications for the piece of equipment, wherein the data specifications indicate rated operating conditions for the piece of equipment (<NUM>);
extracting data specifications from the first image (<NUM>);
storing the data specifications (<NUM>);
receiving a second image, the second image including measurement information for the piece of equipment (<NUM>);
extracting first measurement data from the second image (<NUM>);
storing the first measurement data (<NUM>);
storing a measurement data trend profile for the piece of equipment, the trend profile containing measurements taken over a period of time;
comparing the first measurement data against the measurement data trend profile and the stored data specifications (<NUM>); and
notifying one or more users when the first measurement data associated with the piece of equipment deviates from at least one of the measurement data trend profile and the stored data specifications (<NUM>),
wherein the second image includes an information-encoding fiduciary marker (<NUM>), the information-encoding fiduciary marker encoding the measurement information, and
wherein extracting the first measurement data from the second image includes decoding measurement information from the information-encoding fiduciary marker.