Method and apparatus for the delivery and integration of an asset management system into an existing enterprise network

An asset management server for a network of an enterprise. The enterprise has one or more assets and two or more data sources and each source has a unique name for each asset. The server determines from an incoming message from the data sources about the assets which of the other data sources needs to receive the message and the unique name for the asset used by those sources. The server prepares the outgoing message to the sources.

FIELD OF THE INVENTION

This invention relates to enterprise networks that maintain data about the assets of the enterprise and more particularly to an asset management system that can be integrated with such networks.

DESCRIPTION OF THE PRIOR ART

Many business enterprises have multiple systems for maintaining information about an asset used in the business. For example the enterprise may have an accounting system, an inventory system, a maintenance system etc. each of which maintains information about an asset of the enterprise. Further each system may maintain its information about the asset under a name which is different than the name that another system in the enterprise uses for that asset.

In addition the enterprise may have many different clients, such as mobile, external and local clients, who need to obtain information about an asset from the other clients. For example, a local client may have information about an asset that is located at the site where the client is located which information should also be known by a system that is located at another location. The clients are connected to servers and at present the communications between clients and servers use a number of protocols and access methods depending on the type of network between the client and server. In addition, the data stream syntax and semantics are often platform dependent making interoperability difficult.

The difficulties arising from such a system can be illustrated by a simplified example of a valve that is part of a automation system used by an enterprise in the process or batch industries. The typical process or batch industry enterprise has many different departments such as engineering, operations, maintenance, documentation and accounting. Each of these departments has its own system for maintaining information about an asset and its own identifier for that asset. Thus the valve may be seen by the enterprise in many different contexts and by different names.

To the enterprise's process engineer the valve is known by a name in the process documentation which reflects the function of the valve. For example, if the enterprise is a process industry which make polymers as either an intermediate or final product and the valve is at the outlet of a polymer discharge tank, the valve may be identified in the process documentation as the polymer discharge valve. The valve is part of the control system at the enterprise and the operator in the control room typically refers to the valve by an alphanumeric designation which uniquely identifies the valve from other assets of the control system. The enterprise's maintenance department typically identifies an asset by its physical location to log service orders. Therefore, the maintenance department may identify the valve as V12-22-6.

The documentation department of the enterprise stores the service manuals for each asset. That department may identify the valve by the valve's manufactured part number. The enterprise's accounting department keeps track of the financial information for each capital asset. Typically each capital asset, such as the valve in this example, is identified by a unique identifier which includes the year of purchase. For the valve this identifier may for example be the asset number 97-23-579 where 97 is 1997 the year of purchase.

As can be appreciated each of these users have different needs for information about an enterprise asset. When these information sources need to interact the correlation of the resources must be done manually.

In addition to the problem of different data stores and applications the communication standards and software interfaces vary greatly between each of the data sources and enterprise locations. This makes data interchange difficult and seamless integration almost impossible.

The present invention allows an enterprise to easily add equipment to its network in the form of a web based name resolution, routing and display server which can be implemented on a single server computer that integrates the existing systems so that all clients of the enterprise network can interact with each other. The server of the present invention is transparent to the user of the enterprise network as the user does not have to know the name or location of the asset or its functionality.

The server of the present invention when added to the enterprise network:a. resolves the asset name from the calling application in as many name spaces as are necessary;b. routes the user's message to the appropriate destination asset data servers of the enterprise network with the name by which the asset is known by that server along with the associated parameters;c. combines the responses from the destination asset data servers and returns them to the calling application by way of the same HTTP session used to send the message; andd. provides for display of the incoming message and response on the human systems interface (HSI) associated with the destination asset data servers and on the HSI associated with the calling application in operator windows and thus does not require another program or user interface for that display.

SUMMARY OF THE INVENTION

A method for allowing an enterprise to manage one or more assets of the enterprise, the enterprise having a network based data management infrastructure and two or more data sources each of which have a unique name for each of the one or more assets, the method comprising the step of:

adding to the enterprise network an asset management server, the server capable of performing the steps of:(a) determining from an incoming message to the server from one of the two or more data sources about one of the one or more assets which of the others of the two or more data sources needs to receive the incoming message and the unique name used for the one or more assets by each of the other of the two or more data sources;(b) preparing a message for each of the other two or more data sources that need to receive the incoming message, the prepared message using the unique name used for the one or more assets by each of the other of the two or more data sources; and(c) transmitting the prepared message to each of the other two or more data sources that need to receive the incoming message.

A method for allowing an enterprise to manage a plurality of assets of the enterprise, the enterprise having a network based data management infrastructure and a plurality of data sources each of which have a unique name for each of the plurality of assets, the method comprising the step of:

adding to the enterprise network an asset management server, the server capable of performing the steps of:(a) determining from an incoming message to the server from at least one of the plurality of data sources about at least one of the plurality of assets which of the plurality of data sources needs to receive the incoming message and the unique name used for the at least one of the plurality of assets by each of the plurality of data sources that need to receive the incoming message;(b) preparing a message for each of the plurality of data sources that need to receive the incoming message, the prepared message using the unique name used for the at least one of the plurality of assets by each of the plurality of data sources that need to receive the incoming message; and(c) transmitting the prepared message to each of the plurality of data sources that need to receive the incoming message.

An enterprise network for managing one or more assets of the enterprise comprising:(a) two or more data sources each of which have a unique name for each of the one or more assets; and(b) an asset management server;the server for:(i) determining from an incoming message to the server from one of the two or more data sources about one of the one or more assets which of the others of the two or more data sources needs to receive the incoming message and the unique name used for the one or more assets by each of the other of the two or more data sources;(ii) preparing a message for each of the other two or more data sources that need to receive the incoming message, the prepared message using the unique name used for the one or more assets by each of the other of the two or more data sources; and(iii) transmitting the prepared message to each of the other two or more data sources that need to receive the incoming message.

An enterprise network for managing a plurality of assets of the enterprise comprising;(a) a plurality of data sources each of which have a unique name for each of the plurality of assets; and(b) an asset management server;the server for:(i) determining from an incoming message to the server from at least one of the plurality of data sources about at least one of the plurality of assets which of the plurality of data sources needs to receive the incoming message and the unique name used for the at least one of the plurality of assets by each of the plurality of data sources that need to receive the incoming message;(ii) preparing a message for each of the plurality of data sources that need to receive the incoming message, the prepared message using the unique name used for the at least one of the plurality of assets by each of the plurality of data sources that need to receive the incoming message; and(iii) transmitting the prepared message to each of the plurality of data sources that need to receive the incoming message.

An asset management server for an enterprise having two or more clients and each of the two or more clients having a unique name for each of one or more assets of the enterprise comprising;(a) means for determining from an incoming message to the server from one of the two or more data sources about one of the one or more assets which of the others of the two or more data sources needs to receive the incoming message and the unique name used for the one or more assets by each of the other of the two or more data sources;(b) means for preparing a message for each of the other two or more data sources that need to receive the incoming message, the prepared message using the unique name used for the one or more assets by each of the other of the two or more data sources; and(c) means for transmitting the prepared message to each of the other two or more data sources that need to receive the incoming message.

An asset management server for an enterprise having a plurality of assets and a plurality of data sources each of which have a unique name for each of the plurality of assets comprising:(a) means for determining from an incoming message to the server from at least one of the plurality of data sources about at least one of the plurality of assets which of the plurality of data sources needs to receive the incoming message and the unique name used for the at least one of the plurality of assets by each of the plurality of data sources that need to receive the incoming message;(b) means for preparing a message for each of the plurality of data sources that need to receive the incoming message, the prepared message using the unique name used for the at least one of the plurality of assets by each of the plurality of data sources that need to receive the incoming message; and(c) means for transmitting the prepared message to each of the plurality of data sources that need to receive the incoming message.

An enterprise comprising:(a) a plurality of assets;(b) an enterprise network for managing the plurality of assets comprising:a plurality of data sources each of which have a unique name for each of the plurality of assets; andan asset manager server, the server for:(i) determining from an incoming message to the server from at least one of the plurality of data sources about at least one of the plurality of assets which of the plurality of data sources needs to receive the incoming message and the unique name used for the at least one of the plurality of assets by each of the plurality of data sources that need to receive the incoming message;(ii) preparing a message for each of the plurality of data sources that need to receive the incoming message, the prepared message using the unique name used for the at least one of the plurality of assets by each of the plurality of data sources that need to receive the incoming message; and(iii) transmitting the prepared message to each of the plurality of data sources that need to receive the incoming message.

An enterprise comprising:(a) one or more assets;(b) an enterprise network for managing the one or more assets comprising:two or more data sources each of which have a unique name for each of the one or more assets; andan asset manager server, the server for:(i) determining from an incoming message to the server from one of the two or more data sources about one of the one or more assets which of the others of the two or more data sources needs to receive the incoming message and the unique name used for the one or more assets by each of the other of the two or more data sources;(ii) preparing a message for each of the other two or more data sources that need to receive the incoming message, the prepared message using the unique name used for the one or more assets by each of the other of the two or more data sources; and(iii) transmitting the prepared message to each of the other two or more data sources that need to receive the incoming message.

DESCRIPTION OF THE PREFERRED EMBODIMENT(S)

Referring now toFIG. 1, there is shown a typical physical layout of an enterprise network10where the web based name resolution, routing and display server12of the present invention is used. Prior to the upgrading of network10by adding to the network the server12, the existing enterprise network has remote clients such as mobile clients14that access either an existing external asset data server16or use dial-up networking to access through firewall24an existing local asset data server18. In order for client14to fully participate in all applications of network10residing on existing local data server18and server12when that server is added to network10, client14may as is well known to those of ordinary in the art have to access network10by way of a virtual private network.

The enterprise network10also has existing local clients20in the form of the traditional workstation shown inFIG. 1or a handheld device which is not shown inFIG. 1. Prior to the upgrading of network10by adding to the network the server12, the existing local clients20access the existing local asset data server18. The existing external asset data server16can access the existing local asset data server18and vice versa.

In accordance with the present invention, the enterprise network10is upgraded by including therein the name resolution, routing and data display server12. The existing remote client14and the existing external asset data server16both access server12through the firewall24of the enterprise network10. The existing local clients20and the existing local asset data server18directly access server12. Each data source such as clients14and20and servers16and18sends data relevant to an asset to the server12using a standard protocol such as HTTP in a standard format such as Extensible Markup Language (XML). The data includes the name by which the data source, that is the client and/or existing server, knows the assets.

Server12performs several functions. These functions are:a. determining the aliases for the particular asset named in the incoming message;b. preparing messages from the incoming message using those aliases;c. including in the prepared messages the associated parameters;d. transmitting the prepared message to those other servers and clients of the enterprise network that need to receive the incoming message; ande. allowing the human machine interface to display information about the asset named in the incoming message in the form of a collection of asset oriented web pages. Each of these functions are described below.

The operation of server12to resolve the asset name used by the client in as many other namespaces as possible is described in detail in detail below. That description is also in co-pending U.S. patent application Ser. No. 09/770,167 which was filed at the U.S. Patent and Trademark Office on Jan. 26, 2001 and is owned by an assignee related to the assignee of the present invention.

After resolving the asset name in as many other namespaces as possible, the server12returns the list of entities in the same format as the original request. This enables various other systems to easily exchange information about entities since each system only has to know the local entity name. It is the server12that resolves the correct foreign names.

The server12allows network interaction between two or more clients by using the XML over HTTP-Post protocol and thus server12behaves like a proxy server between the calling client and the destination clients. Server12keeps the HTTP session connected while forwarding the XML document to the destination clients in dedicated HTTP sessions.

This functionality of server12has the following benefits:a. real time low latency non-transactional interaction among the clients which makes server12suitable for user interfaces and situations where fast response is required as for example in alarm notification systems;b. simplicity as the originating message and subsequent response are exchanged by way of the same HTTP session thus avoiding the need of advanced message tracking and validation;c. it is scalable to low end systems such as web browsers. Since such systems are not required to implement a message listener as required by the SOAP specification implemented by the Microsoft BizTalk server, web browsers can use the server12to initiate two way communication with destination clients such as web services;d. off loading the calling client from knowing the destination client's interface details and location, that is, the calling client only has to know the address of server12;e. since server12behaves like a proxy server it reduces the points of entry of a confined network thereby simplifying network security management; andf. provides an Internet firewall friendly communication protocol thereby allowing the server12to be located outside of a firewall protected network and still provide two way communication if initiated within the firewall protected area.

The web based name resolution, routing and display server12of the present invention is part of an architecture30known as Asset Optimization (AO). An overview of the AO architecture30is shown inFIG. 2. AO architecture30is designed to allow asset monitoring and decision support applications to interact with a variety of third party integrated applications31such as the computerized maintenance management system (CMMS)32and the enterprise asset management (EAM)34applications shown inFIG. 2. AO architecture30is also designed to allow asset monitoring and decision support applications to interact with plant monitoring systems represented inFIG. 2by consoles36and human system interfaces (HSI)38with the goal of giving the user a complete, easy to use and configure, system that optimizes the use of plant equipment and processes.

AO architecture30comprises four primary types of software:1. Sources of maintenance condition information represented inFIG. 2by maintenance triggers (MT)20or information queries,2. AORouting42, AOsrvTime47, AOMapping44and46,3. Application plug-ins48and generic application interfaces49,51to third party applications32,34, respectively,4. Integrated third-party applications such as CMMS32and EAM34.

The MTs40produce maintenance condition documents50which represent messages used in asset optimization (AO). The maintenance condition documents50are transformed using the configuration in the AOMapper44,46and routed by AORouting42to a specific application plug-in interface. The transformed maintenance condition documents are designated as45and51inFIG. 2. One example of such an interface known as the Maintenance Order Manager (MOM)52is shown inFIG. 2. The MOM52takes a transformed maintenance condition document51and uses this message-oriented information to manage the event (message) in relation to a specific integrated CMMS32application.

The AO architecture30also has the ability to route transformed maintenance condition documents45to HSI38. This allows the system to alert operators and managers of current or pending abnormal conditions and maintenance needs. The HSIs38supported by architecture30can include user stations36such as control consoles, wireless networked computers, hand-held organizers, pagers, e-mail and telephone alerts.

FIG. 3shows the functional layout60of the components of the web based mapper software that is part of server12and the data flow between these components. Some of the components shown inFIG. 3are executed in server12. The requests for relationships, that is, determining the alias names by which a given entity is known by other systems of the enterprise, in the software of the present invention are initiated by a software component62that needs the alias name(s) for a given entity. Component62can be a web page or a client application located on a remote system or a service component of the AO architecture30.

The request is formatted as an XML document64and sent to the mapper interface active server page (ASP)66through the Web Server68which executes on server12using the Post command of the HTTP protocol. The ASP66then instantiates the mapper interface object70that interprets the requested XML document. The object70then queries the mapper data store72for all related alias names. As those of ordinary skill in the art can appreciate, object70can be embodied as a data dictionary allowing one to many and many to many relationships.

All of the related alias names are then formatted into a new XML document74that is returned by the ASP66through the Web Server68using the Response method of the HTTP protocol. The reply is then sent to the requesting application62over the same connection, session and protocol as the original request.

Server12includes router software whose function is described below in connection withFIG. 4. A client such as for example remote client14ofFIG. 1transmits to server12as an XML document data relevant to an enterprise asset. As was described above, server12determines the aliases for the particular asset named in the incoming message from the sending client in as many namespaces as possible and prepares messages from the incoming message from the sending client using those aliases. Server12then transmits the prepared message to those other servers and clients of the enterprise network that need to receive the incoming message. The server12then combines any XML message responses from the other servers and clients and returns them to the originally sending client by way of the same HTTP session that the client used to send the message. It is the router software that receives the message from the originally sending client and combines the responses and returns them to that client during the same HTTP session that the originally sending client used to send the message to server12.

FIG. 4shows the function performed by the router software that is part of the present invention. A client such as remote client14ofFIG. 1transmits a message indicated by80to server12. The server12after resolving that message in as many namespaces as are applicable transmits the prepared message to, for example, the existing local asset server18and existing local client20ofFIG. 1as indicated by82and84. In the same HTTP session used by remote client14to send the message to server12, the server18and local client20respond to the messages82and84as indicated by86and88. The server12then combines the responses from the recipients and transmits the combined response indicated by90to the remote client14.

FIG. 5illustrates in another form two examples of the function performed by the routing software of server12. In the first example a client application100, which could be local client14ofFIG. 1, detects a faulty condition of one of the monitored assets. The client asset may for example be a vibration monitoring system and the enterprise may be an electric power generating enterprise and thus the asset monitored by the system may be a turbine. It can be appreciated that other servers and client applications in the enterprise, such as web server providers102and104, should be notified immediately of the asset fault condition that is detected by client application100.

To provide that notification, client application100upon detection of the fault condition immediately sends an XML document describing the condition to server12. Server12includes router106and mapper108. The server12upon receipt of the XML document from client application100, determines the other clients and servers of the enterprise that need to know the information about the faulty asset. The router106uses the document content, for example, the asset identification, and the document type, for example, the document is a maintenance condition document, to determine which of the other clients and servers is to receive the XML document that server12has received from client application100.

The router106based on the destination type transforms the XML document with the additional data found in mapper108before forwarding the document to the destination server(s) and client(s). The mapper108contains the configuration and data used by the router106to map the incoming XML message/asset identification to the destination server(s) and client(s). As is shown inFIG. 5, the destination web server provider102can reside outside of firewall24since the communication protocol is XML over HTTP and all of the HTTP sessions are initiated within the firewall24.

In the second example ofFIG. 5, the client application100needs to contact a service that provides certain information such as for example the weather forecast. The weather forecast web server110is one of the external service providers of the enterprise. The application100sends a XML document to server12requesting the weather forecast for a particular day and location. It should be appreciated that the application100does not have to know where and how to reach the server110. The server12performs that role using the functionality in the router106and mapper108.

Upon receipt of the XML document from client application100the server12determines the first weather forecast server that is available. The router106uses the received XML document content, for example, the geographical region, and the document type, for example, the document is a weather forecast document, to determine which of the other clients and servers is to receive the incoming XML document.

The router106based on the destination type transforms the XML document with the additional data found in mapper108before forwarding the document to the destination server110. The mapper108contains the configuration and data used by the router106to map the incoming XML message/asset identification to the destination server(s) and client(s). The destination server110receives the transformed XML document from server12and returns a response in the same HTTP session where the request from client application100was made. The server12then returns the response back to application100. As is shown inFIG. 5, the destination web server provider110can reside outside of firewall24since the communication protocol is XML over HTTP and all of the HTTP sessions are initiated within the firewall24.

It is to be understood that the description of the preferred embodiment(s) is (are) intended to be only illustrative, rather than exhaustive, of the present invention. Those of ordinary skill will be able to make certain additions, deletions, and/or modifications to the embodiments) of the disclosed subject matter without departing from the spirit of the invention or its scope, as defined by the appended claims.