Facilities management system

Long-term facility maintenance may be more efficient when data from multiple sources are combined onto an easily navigable display. In particular, building model data from a three-dimensional computer assisted design (CAD) file may be combined with maintenance information from a computerized maintenance management system (CMMS) and other data sources such as user's manuals and repair guides. The combined data may be accessible through a three-dimensional display of the building on a mobile device. The mobile device allows a user to navigate through the building and select components to view additional maintenance information for the selected components. The display may interact with location sensing devices, such as GPS, in the mobile device to automatically display model data near the user's location. Additionally, a user may modify component information on the mobile device, which is transmitted to the CMMS to update the stored component information.

TECHNICAL FIELD

The present application is directed to methods and apparatuses for improved facilities management. Specifically, the present application is directed towards software applications for use by a facilities management staff in viewing and managing building components.

BACKGROUND

The lifecycle of a commercial building typical spans three phases—design, construction, and operation. In recent years, engineering firms involved in the first two phases—design and construction—have begun to use advanced tools to capture and present information about the building. As an example, one or more Building Information Models (BIMs) may be developed by various project participants. A BIM is a three-dimensional (3D) computer assisted design (CAD) model of the building integrated with information about various building components represented in the model. Separate BIMs may be developed for various design aspects of the building such as, for example, structural, civil, architectural, and MEP (mechanical, electrical, and plumbing). Examples of conventional software for developing BIMs include Revit, Civil3D, AutoDesk, Tekla, Pipe3D, Catia, Digital Project, Bentley Project, AutoCad 3D, SketchUp, Rhino, NavisWorks, and Grasshopper.

In a typical project, not all useful information is included in one BIM. For example, a BIM generated by an MEP contractor during the design phase is unlikely to contain complete information on all mechanical, electrical, and plumbing components that will eventually be included in the building. Rather, that BIM likely will simply reserve space for such components. During the construction phase, as purchase decisions are made for various building components, additional BIMs may be created by contractors with additional information on the actually purchased components. As an example, a BIM created in the design phase may designate a space for a chiller, but contain no further information. A separate BIM created by a different company during the construction phase may include additional information about the chiller actually purchased and installed, such as the model and serial number. Additionally, neither of these BIMs may include architectural elements, which are instead included in a separate BIM.

During the third phase of the building, the operations phase, a facilities management (FM) group oversees maintenance and repair of the building. To manage these tasks, FM groups typically utilize a computerized maintenance management system (CMMS). Examples of conventional CMMSs include Mainsaver, Maximo, and FM Desktop. The CMMS may include information to assist FM staff such as scheduled and unscheduled maintenance tasks and completed and repair request tickets. A CMMS typically includes a textual listing of building components, with each typically assigned a serial number or other unique identifier and a textual designation of location within the building. To locate a component within the building, a facilities management employee must manually cross-reference the textual location of the component listed in the CMMS with 2D CAD drawings. Such drawings are typically provided to the FM staff for reference at the completion of construction. An illustration of a conventional 2D CAD drawing is shown inFIG. 1.

2D CAD drawings are not an efficient tool for FM because they generally do not include much data. Thus, the FM staff may be required to locate an identifier for a component on the 2D CAD drawing and search additional documents to locate information about the component. For example, in addition to manually cross-referencing location information with 2D CAD drawings, a facilities management employee may also need to manually access additional paper and electronic repositories to learn more information about the component, such as through a user's manuals. Additionally, 2D CAD drawings are not updated as the building is updated. Building configuration changes, building additions, and building removals are not entered into the original 2D CAD drawings. Instead, these changes may be reflected in additional 2D CAD drawings. These additional 2D CAD drawing may only reflect the updated portions and may require the FM staff to reference those drawings in combination with the original 2D CAD drawings and other reference materials.

Currently, the wealth of information created during the design and construction phases of a building and captured in various BIMs remain unavailable to a FM staff during the operations phase. Even if a contractor were to provide a BIM file to the FM group, a typical facilities management group does not have access to or experience with the advanced 3D modeling software necessary to view and utilize a BIM. Additionally, because relevant information is typically spread across several different BIMs created by different contractors in various phases of the project, there is no one single source of useful information.

A BIM viewing application would also not be able to replace all functions of a legacy CMMS system such as, for example, logging and scheduling maintenance activities and managing help tickets. It would also be costly and disruptive for a FM group to replace an existing legacy CMMS system.

Therefore a solution is needed to provide FM groups the benefit of the information and visualization available in a BIM in a user-friendly package and to integrate with the existing information and functionality of a legacy CMMS system with the BIM information.

BRIEF SUMMARY

According to one embodiment, a method includes retrieving from a first data source data representing an environment in a building and at least one component in the environment. The method also includes displaying a three-dimensional model illustrating data from the first data source, including the at least one component. The method further includes receiving a request for information regarding a component selected from the at least one component. The method also includes retrieving information regarding the selected component from a second data source different from the first data source. The method further includes displaying the information regarding the selected component. The first data source and the second data source each contain a record for the selected component and the record of the first data source and the record of the second data source include an identifier identifying the selected component.

According to another embodiment, a computer program product includes a non-transitory computer readable medium having code to retrieve from a first data source data representing an environment in a building and at least one component in the environment. The medium also includes code to display a three-dimensional model illustrating data from the first data source, including the at least one component. The medium further includes code to receive a request for information regarding a component selected from the environment. The medium also includes code to retrieve information regarding the selected component from a second data source different from the first data source. The medium further includes code to display the information regarding the selected component.

According to a further embodiment, a method includes providing a three dimensional computer assisted design (3D CAD) model to a client. The method also includes providing an interface for the 3D CAD model to the client including access to a computerized maintenance management system (CMMS). The method further includes providing updates to the 3D CAD model to the client on a subscription basis.

DETAILED DESCRIPTION

Integration Process

As discussed above, at the conclusion of the construction phase of a building lifecycle, various contractors may have developed numerous separate BIMs. To make those BIMs useful to an FM group, it may be necessary to combine these BIMs into a single virtual model. Such a process is called “coordination” and may consist of stacking the models, identifying clashes, identifying other coordination issues, and resolving all clashes and coordination issues. NavisWorks is a software package that may be used to assist in this process. The aggregated virtual model may take any appropriate form, such as a single BIM file, or multiple files aggregated using appropriate software. Some engineering firms may provide coordination services as part of project management during the design phase of the project to, for example, integrate BIMs from structural, civil, architectural, and/or MEP engineers as part of a multi-disciplinary review process. The same techniques applied in those situations would be applicable to this task. In some projects, it may not be necessary to perform coordination as a single BIM may include sufficient information.

According to one embodiment, aggregating information from multiple BIMs may include adapting information from multiple platforms and having one sub-contractor build upon another sub-contractor's BIM. For example, a civil engineering firm may plan a steel structure for a building. Then, a steel fabrication sub-contractor may use the civil engineering firm's steel model and input fabrication information such as steel manufacturing information or CNC layouts. Thus, the civil engineering model includes both structural information and component information aggregated together. Previously, this information would not be saved or would not be locatable within a single model. Instead, when FM required information FM would search through many poorly indexed document collections. Similar collections of data may be obtained from, for example, electrical engineering firms and electricians. NavisWorks, a commercial software package, is one example of software that may be used for “stacking” multiple BIMs and creating a single aggregate model.

Once information is aggregated into a single virtual model, building components in the BIM must be linked to the corresponding records for those same components in the CMMS. Methods for accomplishing this linking may depend on the stage of the project. In some embodiments, a unique key may be used to identify each component. In some CMMS systems, each component is assigned an asset number. For projects where a CMMS database has not yet been established, the BIM file may be used to generate original CMMS database records, insuring that components in the BIM file and the CMMS file share the same identifying asset number or other identifier, which FM may provide. For projects where a CMMS database is already in operation, a link table may be created to link each component number or other identifier in the BIM file with the corresponding component number or other identifier for that component in the CMMS database. Other techniques for linking BIM data and CMMS data may also be used. For example, a database containing a single entry for each component including all information needed for both BIM and CMMS purposes may be created. As another example, asset numbers assigned to components in CMMS records may be added to the corresponding component record in the virtual model using any appropriate technique.

Once BIM and CMMS information have been linked, either by use of a common key, linking table, or any other manner, the FM staff may use the integration system described below. Over the lifetime of the building, construction and repairs may necessitate updating of the CMMS and BIM data. For example, a component may be replaced or moved. In some instances, the facilities management staff may update the relevant information through the CMMS system or the integration system discussed below. In other instances, it may be appropriate for an engineering firm or other group familiar with the virtual model creation and modification process to update the virtual model.

Integration System

Using an integration system, model data and maintenance data for a building may be combined and viewed through an interactive user display to improve access to maintenance information. A three-dimensional (3D) model may be presented to a user having a similar appearance to the building. The user may navigate through the model to identify components for maintenance. According to one embodiment, the user's location may be determined and the model for the user's location displayed. When the model data and maintenance data are stored in separate databases, an identifier for a component in the model data may be correlated with an identifier for the component in the maintenance information to allow automated access to maintenance information from a view of the model data. The identifier may be the same in the model data and the maintenance information (e.g., the same asset number) or the identifier may be different in the model data and the maintenance information. When the identifiers are different, a table stored to correlate identifiers between the model data and the maintenance information. The interactive user display may display information from the model data and the maintenance data such as previously-performed maintenance, future scheduled maintenance, component capabilities, component manufacturer, component warranty information, manufacturer contact information, work orders, repair guides, and user's manuals.

FIG. 2is a drawing illustrating an exemplary facilities management information display of a high-rise tower according to one embodiment of the disclosure. A building information display200may include a building view204, an information view202, and a toolbar206. The building view204may be a three-dimensional computer assisted design (3D CAD) drawing. The 3D CAD drawing may be stored locally, accessed remotely, or rendered remotely and displayed on the display200. The building view204may display a high-rise tower or other building structure.

According to one embodiment, the building view204may be manipulated by turning on and off certain filters (not shown). For example, a filter may be activated to only display even or odd floors of the building in the building view204. In another example, a filter may be activated to only display garage levels or commercial levels in the building view204. In yet another example, a filter may be activated to not display walls within the building view204. Filters and other controls may be controlled through a toolbar206. The toolbar206may also change view and perspective information for the building view204. For example, the toolbar206may include zoom and rotate buttons.

Alternatively, a user may navigate through the building view204by clicking and dragging within the building view204. After navigating to a particular floor the building view204may be updated as shown inFIG. 3.FIG. 3is a drawing illustrating an exemplary facilities management information display of a single floor of a high-rise tower according to one embodiment of the disclosure. According to one embodiment, a user may add bookmarks designating certain locations within the building view204to allow quick recall to a particular location. For example, a bookmark may define “office 38S” or “floor 38 south elevator bank.” According to another embodiment, the bookmarks may be pre-populated views or system-designed views.

A user may also navigate through the building view204by clicking on a location in a two-dimensional (2D) view220displayed in the building view204. The 2D view220may be displayed on or hidden from the building view204by selecting an icon in the toolbar206or pressing a hotkey or hotkey combination. Selecting a location on the 2D view220may update the building view204to display an environment near the selected region of the 2D view220. According to one embodiment, the 2D view220responds to the user by highlighting a region222of the 2D view220when a user selects the region222or places a mouse cursor over the region222.

A display300ofFIG. 3may also include the information view202, which displays information about one or more components selected in the building view204. For example, when no component is selected the information view202may display information about the 3D CAD file displayed in the building view204. After a component is selected in the building view204, the information view202may be updated with information such as model data and maintenance data about the selected component. Maintenance data for the information view202may be obtained from a computerized maintenance management system (CMMS) or other database. The information view202may include data such as part information about the selected components, capabilities of the selected component, and/or scheduled and completed maintenance for the selected component. The information view202may be hidden or displayed in the display200. More details of the information view202are described with reference toFIG. 4below.

FIG. 4is a drawing illustrating an exemplary display of component information including maintenance information according to one embodiment of the disclosure. An information view400may include a number of categories402and404, which may be expanded or collapsed. For example a category402titled “Item” may display information regarding the selected component obtained from the 3D CAD drawing when the category402is expanded. A category404titled “Facility Management System” may include information regarding the selected component obtained from a CMMS (such as Mainsaver) or other database source when the category404is expanded. For example, the display may include a unique identifier404a, a description404b, a manufacturer label404c, a model number404d, a serial number404e, a supplied identifier404f, and supplier contact information404g. The information view400may also include capability information such as a high limit of operation404hand a low limit of operation404i. According to one embodiment, the information view400may also include attached documents404j, which may make additional information available to the user. For example, the attached documents404jmay include checklists, repair manuals, instructions manuals, and/or ordering information. Although the items404a-404jmay be illustrated as labels inFIG. 4, the items404a-404jmay alternatively be text boxes, which allow a user to modify the value of the items404a-404j. As described below, when the user modifies a value for one of the items404a-404ja computer system displaying the information view400may push the modified data to the CMMS to update database records. Although updating CMMS information is described, a similar process may be used to update model information. For example, if the building is modified after the initial model is created, then the model may be later updated with the building modifications.

According to one embodiment, the display of the information view and the building view may be accessible from a mobile device.FIG. 5is a drawing illustrating an exemplary mobile display of a facilities management information system according to one embodiment of the disclosure. The unique capabilities of a mobile device such as a mobile phone, a tablet computer, a personal digital assistance (PDA), a netbook, and/or a laptop computer may improve navigation through a building view and improve accessibility of component information. According to one embodiment, a display502of a mobile device500displays a building view and may display information regarding selected components in a sidebar as illustrated inFIG. 3andFIG. 4above or as a pop-up message as shown inFIG. 7andFIG. 8as described below. The mobile device500is further described with reference toFIG. 6below.

FIG. 6is a block diagram illustrating an exemplary mobile device for displaying and interacting with a facilities management information system according to one embodiment of the disclosure. A computer system600may embody, for example, the mobile device500ofFIG. 5. The central processing unit (“CPU”)602may be coupled to the system bus604. The CPU602may be a general purpose CPU or microprocessor, graphics processing unit (“GPU”), microcontroller, or the like. The present embodiments are not restricted by the architecture of the CPU602so long as the CPU602, whether directly or indirectly, supports the modules and operations as described herein. The CPU602may execute the various logical instructions according to the present embodiments.

The computer system600may also include random access memory (RAM)608, which may be SRAM, DRAM, SDRAM, or the like. The computer system600may utilize RAM608to store the various data structures used by a software application such as databases, tables, and/or records. The computer system600may also include read only memory (ROM)606which may be PROM, EPROM, EEPROM, optical storage, or the like. The ROM may store configuration information for booting the computer system600. The RAM608and the ROM606hold user and system data.

The computer system600may also include an input/output (I/O) adapter610, a communications adapter614, a user interface adapter616, and a display adapter622. The I/O adapter610and/or the user interface adapter616may, in certain embodiments, enable a user to interact with the computer system600. For example, the user interface adapter616may couple the computing system600to input devices such as a mouse, a keyboard, a track pad, and/or a touch screen. In a further embodiment, the display adapter622may display a graphical user interface associated with a software or web-based application.

The I/O adapter610may connect one or more storage devices612, such as one or more of a hard drive, a compact disk (CD) drive, a floppy disk drive, and a tape drive, to the computer system600. The communications adapter614may be adapted to couple the computer system600to a network, which may be one or more of a local area network (LAN), wide area network (WAN), and/or the Internet. The I/O adapter610may be adapted to couple the computer system600to a storage device612. The display adapter622may be driven by the CPU602to control a display. For example, the display adapter may display the building and information views illustrated inFIG. 2,FIG. 3,FIG. 4, andFIG. 5on a liquid crystal display (LCD) or an electronic ink (eInk) display.

According to one embodiment, the communications adapter614may be coupled to a device for determining a location of the computer system600. For example, the adapter614may be coupled to a global positioning system (GPS) receiver for determining a longitude, latitude, and/or elevation of the computer system600. In another example, the communications adapter614may be coupled to a radio frequency identification (RFID) receiver, or any other near field communication (NFC) device. The adapter614may receive from the RFID receiver a scan code, which may be used to locate location information. For example, an RFID tag may be scanned by the RFID receiver when entering a room, floor, and/or access space of a building, then the received code matched to the RFID tag's location in the building. Alternatively, RFID tags may be placed on components within the building and the tag may be scanned by an RFID scanner to identify a particular component identification for searching a 3D CAD model or CMMS. In yet another example, the adapter614is coupled to a barcode reader. The adapter614may receive from the bar code reader a scan code, which may be used to locate location information from a reference table. In another example, the adapter614is coupled to a camera, which may take pictures of a user's surrounding and determine the user's location to allow display of an appropriate environment from a model. In a further example, the adapter614is coupled to inertial sensors such as a compass and/or accelerometer to determine a user's movement from a base location and determine an environment for display. In yet another example, the adapter614is coupled to a wireless network hotspot (such as WiFi), and the network identifier of the network hotspot has a known location, which the computer system600identifies as its location.

A user operating a mobile device as illustrated inFIG. 5andFIG. 6may interact with the building view502by physically moving the mobile device500. For example, the mobile device500may determine a user's current position through one of the systems described above such as GPS, RFID, barcodes, and/or camera pictures. Once the users initial position is determined the building view502is updated with the environment of the user's current position. The user may then physically point the mobile device500up at the ceiling and the building view502is updated with a view of the ceiling and/or components in the ceiling above the user's position. Movement of the mobile device500may be determined through one of the positioning systems described above. Alternatively, movement of the mobile device500may be determined by inertial sensors by measuring an accelerometer, magnetometer, digital compass, or the like and computing the user's position and viewing angle from the user's original position determined by the position system. For example, after the user's original position is determined if the user rotates 180 degrees to view the other direction down a hallway, a digital compass in the mobile device500may detect the user's rotation and update the building view502to display the hallway in the direction the user is now facing.

According to one embodiment, the communications adapter614may allow the computer system600to communicate with an equipment management system. For example, the communications adapter614may allow the computer system600to alter temperature and/or humidity settings in a building, activate and/or deactivate alarm systems, and operate door locks in the building. In another example, the communications adapter614may allow the computer system600to interact with other commercial systems for managing equipment in the building such as a security system and/or a telecommunications system.

The applications of the present disclosure are not limited to the architecture of computer system600. Rather the computer system600is provided as an example of one type of computing device that may be adapted to perform functions for displaying and interacting with the building information system as described above with respect toFIGS. 2,3,4, and5. For example, any suitable processor-based device may be utilized including, without limitation, personal data assistants (PDAs), tablet computers, smartphones, computer game consoles, and multi-processor servers. Moreover, the systems and methods of the present disclosure may be implemented on application specific integrated circuits (ASIC), very large scale integrated (VLSI) circuits, or other circuitry. In fact, persons of ordinary skill in the art may utilize any number of suitable structures capable of executing logical operations according to the described embodiments.

A user may interact with the model information through forms on the displays illustrated inFIG. 2,FIG. 3,FIG. 4andFIG. 5. According to one embodiment, the displays are shown on the mobile device500ofFIG. 5. The forms may allow a user, such as a maintenance technician, to enter a work order request through a form illustrated inFIG. 7or to receive notification of a maintenance assignment through a form illustrated inFIG. 8.FIG. 7is a block diagram illustrating an exemplary display for scheduling maintenance of a component in a building management information system according to one embodiment. A display700may include a building view702. After a user selects a component704from the building view702, a form710is displayed to allow the user to enter a work order or maintenance request. The form710may include information710aabout the selected part, a text box710bfor entering the work order request, and command buttons710cand710dfor cancelling or accepting the work order request, respectfully. The form710may also include other information710eabout the component704. For example, the information710emay include previously completed maintenance or future scheduled maintenance for the component704.

When information is entered into the text box710band the command button710dis activated the information in the text box710bmay be recorded for a component corresponding to the part710ain the CMMS. According to one embodiment, the updated information may be transmitted directly to the CMMS. According to another embodiment, the updated information may be sent to an intermediate computer system, which processes the information and updates the CMMS accordingly. AlthoughFIG. 7illustrates the entry of a work order request, which may be transmitted to the CMMS, other data may be entered into a display similar to the display700and used to update component information in the CMMS.

FIG. 8is a block diagram illustrating an exemplary display for alerting a technician of scheduled maintenance for a component in a facilities management information system according to one embodiment. A display800may include a building view802. While a user is viewing information about the environment displayed in the building view802, a user may be displayed an alert810about a component with scheduled maintenance. According to one embodiment, the alert810is generated from location information of the mobile device carried by the user. According to another embodiment, the alert810is transmitted to the user's mobile device from a supervisor or server. The alert810may notify the user of work assigned to a component802. The alert810may include a message810aproviding instructions to the user, a part identification810b, an action to be performed810c, and inputs810dand810eto allow the user to indicate that the maintenance was completed or postponed, respectively.

FIG. 9is a block diagram illustrating an exemplary facilities management information system according to one embodiment of the disclosure. A system900may include a server902, data storage devices906a,906b,906c, a network908, and a user interface device910. The data storage devices906may include different devices or databases storing, for example, information about a building model in model data storage906c, building maintenance data in CMMS data storage906b, and other information in data storage906a. According to one embodiment, a database residing on data storage906aincludes a table mapping components in the model data906cto maintenance data in the data storage906b. For example, a database stored in the data storage906amay map unique identifiers in the model data906cto unique identifiers in the CMMS906b. According to another embodiment, the data storage906amay include a table mapping scanned barcodes, RFID tags, and/or WiFi hotspots to locations in a building. In a further embodiment, the system900may include a storage controller904, or storage server configured to manage data communications between the data storage device906and the server902or other components in communication with the network908. In an alternative embodiment, the storage controller904may be coupled to the network908. In yet another embodiment, the data storage devices906may be located in separate locations and coupled together through the network908.

In one embodiment, the user interface device910is referred to broadly and is intended to encompass a suitable processor-based device such as a desktop computer, a laptop computer, a personal digital assistant (PDA) or tablet computer, a smartphone or other a mobile communication device or organizer device having access to the network908. In a further embodiment, the user interface device910may access the Internet or other wide area or local area network to access a web application or web service hosted by the server902and provide a user interface for enabling a user to enter or receive information.

The network908may facilitate communications of data between the server902and the user interface device910. The network908may include any type of communications network including, but not limited to, a direct PC-to-PC connection, a cellular network, a satellite network, a local area network (LAN), a wide area network (WAN), a modem-to-modem connection, the Internet, a combination of the above, or any other communications network now known or later developed within the networking arts which permits two or more computers to communicate, one with another. In one embodiment, the user interface device910accesses the server902through an intermediate sever (not shown). For example, in a cloud application the user interface device910may access an application server. The application server fulfills requests from the user interface device910by accessing a database through the storage controller904.

Applications and/or scripts on the server902may access data stored in the data storage devices906via a Storage Area Network (SAN) connection, a LAN, a data bus, or the like. The data storage devices906may include a hard disk, hard disks arranged in an Redundant Array of Independent Disks (RAID) array, a tape storage drive comprising a physical or virtual magnetic tape data storage device, and/or an optical storage device. The data may be arranged in a database and accessible through Structured Query Language (SQL) queries, or other data base query languages or operations.

In one embodiment, the databases may be stored on a remote server or a cloud computing system and accessible through web services. Thus, the database need not be stored locally on the device accessing records of the database. The databases may be part of legacy commercial systems accessible through API's. For example CMMS906bmay consist of CMMS records for an existing legacy FM system such as Mainsaver accessed through an API connection to Mainsaver. The data may be separately accessible from Mainsaver's native interface. Similarly, model data906cmay be a virtual model stored within a commercial program such as NavisWorks accessed through an API connection to NavisWorks. Similarly, server902may access other services such as, for example, commercial systems for managing equipment in the building such as a security system and/or a telecommunications system, altering temperature and/or humidity settings in a building, activating and/or deactivating alarm systems, and operating door locks in the building.

FIG. 10is a block diagram illustrating an exemplary data storage for a facilities management information system according to one embodiment of the disclosure. In one embodiment, a data management system1000may include the server902. The server902may be coupled to a data-bus1002. In one embodiment, the data management system1000may also include a first data storage device1004, a second data storage device1006, and/or a third data storage device1008. In further embodiments, the data management system1000may include additional data storage devices (not shown). In such an embodiment, each data storage device1004,1006, and1008may each host a separate database that may, in conjunction with the other databases, contain redundant data. Alternatively, a database may be spread across storage devices1004,1006, and1008using database partitioning or some other mechanism. Alternatively, the storage devices1004,1006, and1008may be arranged in a RAID configuration for storing a database or databases through may contain redundant data. Data may be stored in the storage devices1004,1006,1008, and1010in a database such as a relational database.

In one embodiment, the server902may submit a query to selected data from the storage devices1004and1006. The server902may store consolidated data sets in a consolidated data storage device1010. In such an embodiment, the server902may refer back to the consolidated data storage device1010to obtain a set of records. Alternatively, the server902may query each of the data storage devices1004,1006, and1008independently or in a distributed query to obtain the set of data elements. In another alternative embodiment, multiple databases may be stored on a single consolidated data storage device1010.

In various embodiments, the server902may communicate with the data storage devices1004,1006, and1008over the data-bus1002. The data-bus1002may comprise a SAN, a LAN, or the like. The communication infrastructure may include Ethernet, Small Computer System Interface (SCSI), Serial Advanced Technology Attachment (SATA), Advanced Technology Attachment (ATA), Cloud Attached Storage, and/or other similar data communication schemes associated with data storage and communication. For example, the server902may communicate indirectly with the data storage devices1004,1006,1008, and1010through a storage server or the storage controller904.

The server902may include modules for interfacing with the data storage devices1004,1006,1008, and1010, interfacing a network908, interfacing with a user through the user interface device910, and the like. In a further embodiment, the server902may host an engine, application plug-in, or application programming interface (API).

According to one embodiment, users may subscriber to services provided by the server902. For example, a user may subscribe one or more client devices to a service on the server902that provides model data for a building and maintenance information for components in the building. When construction and repairs are performed on the building, the client devices have access to the newest information through the subscription service. For example, if a new parking garage is constructed and attached to the building, the updated designs may be provided to the client device through the server902. As a result, a user will not have to consult multiple documents or database to determine component information for the building.

FIG. 11is a call diagram illustrating communications between a client device and a server for displaying model and maintenance data according to one embodiment. A call diagram1100starts at call1112when a client1108, such as the mobile device ofFIG. 5, transmits a request to display an environment at location X to a server1106. The client device1108may access the server1106through an application program interface (API) and/or a web interface. The server1106fetches display information for location X from a model1104at call1114. The data may be returned to the client device1108at call1116either as raw model data or as a rendered display, such as with a remote terminal. At call1118the client device1108requests information for component Y. A user of the client device1108may request information about the component Y, or the client device1108may be requesting the information without user interaction. At call1120the server1106fetches information for component Y from a CMMS1102. According to one embodiment, the server1106may convert an identifier for component Y transmitted by the client device1108to an identifier used to uniquely identify component Y in the CMMS1102. At call1122the server1106returns the information for component Y to the client device1108. The client device1108may then display the information for component Y to the user. At call1124the client device1108may receive an update regarding component Y from a user operating the client device1108and transmit the update to the server1106. For example, a maintenance request for component Y may be entered by the user of the client device1108. At call1126the server1106transmits the updated information to the CMSS1102. The server1106may also transmit updated information to the model1104.

Although the call diagram illustrated inFIG. 11describes a client device1108accessing a server1106that relays requests to the model1104and the CMMS1102the client device1108may also directly communicate with the model1104and the CMMS1102according to one embodiment of the disclosure.FIG. 12is a call diagram illustrating communications between a client device and two data sources for displaying model and maintenance data according to one embodiment. At call1202the client device1108fetches model data for location X from the model data store1104. The model data store1104returns display for an environment at location X at call1204, which may be displayed on the client device1108. At call1206the client device1108fetches information regarding a selected component Y from the CMMS data store1102. At call1208the CMMS data store1102returns information regarding component Y, such as maintenance information. At call1210the client device1108may update information regarding component Y stored in the CMMS data store1102. Although not shown, the client device1108may also update information regarding component Y in the model data store1104.

FIG. 13is a flow chart illustrating an exemplary method for operating a client device according to one embodiment. A method1300begins at block1302retrieving an environment from a first data source including components in the environment. The environment may correspond to a user's location. At block1304, the environment is displayed in a three dimensional model. At block1306, a request is received for information regarding a component in the environment. The request may be, for example, a request for maintenance-related information about the component including a maintenance schedule or maintenance manuals. At block1308, information is retrieved from a second data source regarding the component. At block1310, the component information is displayed. The information may be displayed alongside the three dimensional model displayed at block1304or may be integrated into the three dimensional model displayed at block1304.