Abstract:
A system includes a processor configured to indentify a modification to a utility grid, and to derive a first model of the utility grid and a second model of the utility grid. The second model of the utility grid includes a modification of the first model of the utility grid. The processor is configured to compare the first model of the utility grid to the second model of the utility grid, and to derive a difference between the first model of the utility grid and the second model of the utility grid based at least in part on the comparison.

Description:
BACKGROUND OF THE INVENTION 
       [0001]    The invention relates generally to geographic information systems, and more specifically to methods and systems for synchronizing models of the geographic information systems. 
         [0002]    A geographic information system (GIS), sometimes referred to as a geographical information system or a geospatial information system, is a system for capturing, storing, analyzing and managing data and associated attributes which are spatially referenced to, for example, the planet Earth. GIS systems may integrate hardware, software, and data for capturing, managing, analyzing, and displaying all forms of geographically referenced information. For example, GIS systems may provide information about the location of items, such as buildings, streets, sewers, lamp posts, etc., as well as information about the items themselves. GIS systems may be also subject to frequent updating to reflect changes in the geographically referenced information, while other external systems depending on the GIS systems may not receive frequent updates. It may be useful to provide methods to synchronize the geographically referenced information of the GIS systems with other external systems. 
       BRIEF DESCRIPTION OF THE INVENTION 
       [0003]    Certain embodiments commensurate in scope with the existing claimed invention are summarized below. These embodiments are not intended to limit the scope of the claimed invention, but rather these embodiments are intended only to provide a brief summary of possible forms of the invention. Indeed, the invention may encompass a variety of forms that may be similar to or different from the embodiments set forth below. 
         [0004]    In a first embodiment, a system includes a processor configured to indentify a modification to a utility grid, and to derive a first model of the utility grid and a second model of the utility grid. The second model of the utility grid includes a modification of the first model of the utility grid. The processor is configured to compare the first model of the utility grid to the second model of the utility grid, and to derive a difference between the first model of the utility grid and the second model of the utility grid based at least in part on the comparison. 
         [0005]    In a second embodiment, a non-transitory computer-readable medium having code stored thereon is provided, and the code includes instructions to identify one or more modifications to a geographic information system (GIS) model, derive a first model of the GIS model and a second model of the GIS model. The second model includes a modification of the first model. The code includes instructions to compare the first model to the second model, and to derive a difference between the first model and the second model based at least in part on the comparison. 
         [0006]    In a third embodiment, a Geographic Information System (GIS) includes a processor configured to generate a representation of an electric power grid in a first state, receive an input as an indication to change the representation of the electric power grid to a second state, and derive a first model of the electric power grid in the first state and a second model of the electric power grid in the second state. The second model of the electric power grid includes at least one difference from the first model of the electric power grid. The processor is configured to compare the first model of the electric power grid to the second model of the electric power grid to quantify the at least one difference, and to derive a Common Information Model (CIM) representation of the at least one difference between the first model of the utility grid and the second model of the utility grid based at least in part on the comparison. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0007]    These and other features, aspects, and advantages of the present invention will become better understood when the following detailed description is read with reference to the accompanying drawings in which like characters represent like parts throughout the drawings, wherein: 
           [0008]      FIG. 1  is a block diagram of an embodiment of a GIS system; 
           [0009]      FIG. 2  is an embodiment of a spatial server including GIS system network models, in accordance with present embodiments; 
           [0010]      FIGS. 3-8  are example embodiments of the network models of  FIG. 2 , in accordance with present embodiments; and 
           [0011]      FIG. 9  is a flowchart illustrating an embodiment of a process suitable for synchronizing network models between GIS system of  FIG. 1  and external systems, in accordance with present embodiments. 
       
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
       [0012]    One or more specific embodiments of the present invention will be described below. In an effort to provide a concise description of these embodiments, all features of an actual implementation may not be described in the specification. It should be appreciated that in the development of any such actual implementation, as in any engineering or design project, numerous implementation-specific decisions must be made to achieve the developers&#39; specific goals, such as compliance with system-related and business-related constraints, which may vary from one implementation to another. Moreover, it should be appreciated that such a development effort might be complex and time consuming, but would nevertheless be a routine undertaking of design, fabrication, and manufacture for those of ordinary skill having the benefit of this disclosure. 
         [0013]    When introducing elements of various embodiments of the present invention, the articles “a,” “an,” “the,” and “said” are intended to mean that there are one or more of the elements. The terms “comprising,” “including,” and “having” are intended to be inclusive and mean that there may be additional elements other than the listed elements. 
         [0014]    The techniques described herein enable the communicative coupling and synchronization between GIS systems to a variety of external systems. In certain embodiments, open standard models are used to share information between the communicatively coupled systems. By using open standards, any system that supports the standards may participate. However, changes to models may result in the entirety of the changed model being transmitted to interested systems. The techniques described herein may derive model changes and transmit only a subset of the changed model, rather than the entirety of the changed model. Changes may be derived based on localized searching of a graph (e.g., a representation of a utility network model), rather than be searching the entire graph for differences. By deriving only the changes (e.g., deriving a Common Information Model (CIM) model of the changes), the techniques described herein may improve information synchronization between a variety of systems and may reduce transmission times and cost by transmitting the derived differences only. 
         [0015]    With the foregoing in mind, it may be useful to describe an embodiment of a Geographic Information System (GIS) system such as an example GIS system  10  illustrated in  FIG. 1 . The GIS system  10  may include a spatial server  12 , and a number of client computers  14  communicatively coupled to the spatial server  12 . In one embodiment, the client computers  14  may execute a web browser and/or a client software application, such that spatial server  12  is accessible to client computers  14  over a network, such as the Internet and/or an intranet. Client computers  14  may be interconnected to the Internet through many interfaces including a network, such as a local area network (LAN), a wide area network (WAN), dial-in-connections, cable modems, wireless modems, and/or special high-speed Integrated Services Digital Network (ISDN) lines. As described above, client computers  14  may be any device capable of interconnecting to the Internet, including, for example, a personal computer, portable computer, a tablet, a server, a router, a network computer, a vendor or manufacture&#39;s computing device, smart grid components, a peer device, a smart phone, etc., and may allow a GIS client  16 , such as a human user or a software entity, to use the GIS system  10 . As further illustrated in  FIG. 1 , the plurality of GIS clients  16  may connect to the spatial server  12 . 
         [0016]    The spatial server  12  may include memory capable of containing information on a variety of matters, such as information relating to one or more areas of interest of the GIS client  16 , executable computer instructions, and the like, as well as a processor suitable for executing the computer instructions. Information from the spatial server  12  may be accessed by potential clients or users (e.g., GIS clients  16 ) at one of the client computers  14  by logging onto the spatial server  12 . In an additional or an alternative embodiment, memory may be stored remotely from the spatial server  12 , and may be non-centralized. The spatial server  12  may functionally interface with one or more databases to store geospatial information and/provide for a variety of functions, such as but not limited to publishing maps, sharing maps, providing for web services, providing for spatial analysis (e.g., vector, raster, network, and/or  3 D analysis), providing for geographic display of conflicts and conflict resolution, delivering development tools and tool support, transforming between coordinate systems, managing versioned data stores, and so on. As described in more detail below, geospatial information may include, for example, a model related to the areas of interest, equipment information (e.g., location of power producing equipment and conduits, location of utility equipments and conduits, such as gas equipment, sewage equipment, location of computing equipment and conduits) weather conditions related to the areas of interest, and/or terrain data related to the areas of interest. 
         [0017]    The spatial server  12  may be coupled to a spatial relational database  20 , as well as other files or databases  22 . The spatial relational database  20  may be an integrated set of functions and procedures that enables spatial data to be stored, accessed, and/or analyzed more quickly and efficiently in a database, such as the spatial server  12 . The spatial relational database  20  may provide a structured query language (SQL) or similar schema and functions that facilitate the storage, retrieval, update, and query of collections of spatial features in a relational database. The database  20  may include the following components: a schema that prescribes the storage, syntax, and semantics of supported geometric data types; a spatial indexing mechanism; a set of operators and functions for performing area-of-interest queries, spatial join queries, and other spatial analysis operations; and administrative utilities. As will be further appreciated, the database  20  and other files or databases  22  may include data relating to modifications (e.g., due to physical and/or virtual retrofitting) to GIS networks and/or other management networks. 
         [0018]    In certain embodiments, the spatial server  12  may be used to generate one or more Common Information Model (CIM) files  24  based on, for example, data included in the spatial relational database  20 , the other files or databases  22 , and/or data received from one or more external data services. In certain embodiments, the CIM file  24  may include any open systems management standard that may be used to model and export a network model (e.g., electric power network model, gas line network model, water systems network model, and so forth) over a communications network  26  to, for example, one or more external data systems  28 . 
         [0019]    The external data systems  28  may include various data and/or data management systems such as, for example, an outage management system (OMS) (e.g., electric power outage management), a distribution management system (DMS) (e.g., suitable for routing electric power, water, and/or gas through corresponding networks or grids), a Meter Data Management (MDM) system (e.g., useful in management of large quantities of utility data), an Engineering Analysis (EA) system, a customer information system (CIS), a work management system (WMS), a supervisory control and data acquisition system (SCADA), an enterprise resource planning (ERP) system, a customer relationship management (CRM) system and/or other external data and/or data management systems. As will be discussed in greater detail below, the CIM file  24  may, in some embodiments, include the only changes (e.g., additions, deletions, modifications, and so forth) made to the utility networks of the GIS system  10 . Indeed, by providing for CIM files  24  or electronic transfer of CIM data and/or CIM XML files, the spatial server  12  may share GIS data to a wide variety of external systems  28 . However, changes in CIM model, including simple changes such as the addition of a conduit, or complex changes such as the addition of a subnetwork, would then be communicated to the external systems  28  by transmitting the entire model containing the changes. The techniques described herein may accurately derive only the portions of the model that have been changed, and then transmit the changed portion. Further, the changed portion may be transmitted as a standard model (e.g., a Resource Description Framework (RDF) difference model, or other similar difference model) using techniques further described below, rather than as a proprietary differential model. Accordingly, the spatial server  12  may more efficiently synchronize with the external systems  28  and reduce transmission times and cost. 
         [0020]    For example,  FIG. 2  illustrates an example block diagram of the spatial server  12 , which may be useful in modeling utility networks and generating and exporting a CIM file  24  based on changes made to, for example, a pre-existing utility network (e.g., electrical network). As it may be worth noting, although the present embodiments may be discussed primarily with respect to an electric power network, it should be appreciated the present techniques may be applicable to any of variety of utility networks, utility management systems, and any underlying system modeled via CIM and/or similar standard models. Accordingly, as depicted in  FIG. 2 , a model  30  of an electric power network in a pre-existing state (e.g., state before undergoing one or more modifications) may be generated (e.g., generated by the spatial server  12  as discussed above with respect to  FIG. 1 ) and stored in memory and/or in the databases  20 ,  22 . The electric power network model  30  may include, for example, one of many power distribution feeders that form a power distribution grid. Accordingly, as shown, the power network model  30  may include a model of a power source  34  (e.g., distribution substation or other transformer) and a model of a number of nodes  36 A- 36 E. The nodes  36 A- 36 E may represent poles (e.g., including smaller transformers) and the lines connecting the nodes  36 A- 36 E may represent conductors (e.g., overhead and/or underground power lines) of the distribution grid. Specifically, the nodes  36 A- 36 E may represent points on the distribution feeder where distribution voltages may be transformed or regulated before being distributed to electric power consumers along the distribution feeder or along laterals extending from the distribution feeder. 
         [0021]    Similarly, as further depicted in  FIG. 2 , a model  32  of an electric power network in a modified state (e.g., model  30  after undergoing one or more modifications) may be generated by the spatial server  12 . In certain examples, the electric power network model  32  may include substantially the same components and/or configurations as the power network model  30 . However, in other examples, as depicted, the power network model  32  may include one or more modifications  38  not previously included within, for example, the power network model  30 . Further, although illustrated as an addition of a component, it should be appreciated that the modification  38  may, in some embodiments, include an addition, a deletion, an update, or any combination thereof, of one or more components of the network models  30  and  32 . Thus, the spatial server  12  may generate (and store) respective CIM network models  30  and  32  based on the power network in each of a pre-existing state and a modified state. The spatial server  12  may then compare the network models  30  and  32  via a comparison block  40  (e.g., a comparator or similar software and/or hardware system). 
         [0022]    In certain embodiments, the spatial server  12  may compare the network models  30  and  32  to derive a CIM model  42  of only the differences (e.g., additions, updates or deletions of certain components or other modifications) existing between the network models  30  and  32 . Upon deriving the differences between the network models  30  and  32 , the spatial server  12  may store only the modifications to, for example, the model  32  in the generated CIM file  24  (e.g., generated based on the network models  30  and  32 ) for exporting to the external data systems  28  (e.g., DMS, OMS, MDM systems). In another embodiment, the CIM model  42 , and by extension the CIM file  24 , may include only a subset of the differences, such as the subset applicable to a CRM system related to customer changes, a SCADA system related to control changes, and so on. It is to be understood that the CIM model  42  and the CIM file  24  may also include all of the model  30  and the computed differences between model  30  and model  32 , or both models  30  and  32  and the computed differences. In this way, the spatial server  12  may not only expedite synchronization of the power network models  30  and  32  with the external data systems  28 , but also improve efficiency in the transmission and importing (e.g., loading) of the CIM file  24  by the external data systems  28 . That is, the CIM file  24  may, in some embodiments, include only the portion(s) (e.g., a truncated network model) of the power network model  32 , for example, that is different from the power network model  30 . The file  24  may include an extensible markup language (XML) file compliant, for example with class-based uniform modelling language (UML) CIM models, including CIM schemas provided by the Distributed Management Task Force (DMTF). The CIM models may include xmlCIM encodings. The xmlCIM encoding may include a specification that defines XML elements, written in Document Type Definition (DTD), which can be used to represent CIM classes and instances. CIM models may further include a CIM Operations over HTTP specification which defines a mapping of CIM operations onto HTTP that allows implementations of CIM to interoperate in an open, standardized manner and completes the technologies that support the Web Based Enterprise Management (WBEM) initiative. 
         [0023]    In certain embodiments, the spatial server  12  may also include within the generated CIM file  24  a number of sections (e.g., a forward-differences section, a reverse-differences section, and so forth), which may include partial and/or detailed information (e.g., data and/or metadata) relating to the network models  30  and  32 . A forward-differences section may include information relating to the modifications (e.g., the one or more modifications  38 ) that were added and/or inserted into the pre-existing CIM network model  30 . Indeed, the information included within forward-differences section of the generated CIM file  24  may allow a recipient resource (e.g., operator of the external data systems  28 ) to determine the CIM network model  30  (e.g., including connections and other parameters) based on knowledge of the modifications (e.g., forward-differences). On the other hand, a reverse-differences section may include information relating to the pre-existing CIM network model  30  (e.g., without the one or more modifications  38 ). The reverse-differences section may allow a recipient resource (e.g., operator of the external data systems  28 ) to determine modifications that may include deletions of certain components of the CIM network model  30 . Collectively, in addition to additions, updates, and deletions, the forward-differences section and the reverse-differences section may include information relating to modifications including updates to components of the CIM network model  30 . 
         [0024]    To further illustrate the aforementioned description,  FIGS. 3-8  depict various examples of the presently disclosed techniques. It should be appreciated that the illustrations of  FIGS. 3-8  are included merely for the purpose of example. That is, although power network models of  FIGS. 3-8  may be limited to, for example, modifications to single network nodes  36  and/or connecting network nodes  36 , it should be appreciated that in an actual implementation, any of a number of modifications such as large-scale additions or deletions of components (e.g., adding or removing substations, feeders, transformers, power conductors, and so forth) and small-scale modifications (e.g., adding, removing, or changing of switches, relays, or other protective devices) may be made to the power network GIS models  30  and  32 . 
         [0025]    Considering the foregoing,  FIG. 3  depicts a power network model including the source  34  and network nodes  36 A- 36 E similar to those as discussed above with respect to the power network models  30  and  32  of  FIG. 2 . In a similar manner,  FIG. 4  illustrates the power network model of  FIG. 3  with the exception that the network node  44 B has been modified. In such a case, the spatial server  12  may generate before and after (e.g., without modification and with modification) CIM models of the power network models of  FIGS. 3 and 4 . As previously noted, the spatial server  12  may then derive and/or determine the differences between the before and after CIM models. Specifically, as illustrated in  FIG. 5 , the spatial server  12  may determined that only the network node  44 B has been modified, and consequently only store the network node  44 B to CIM file  24 , for example, before exporting the CIM file  24  to the external data systems  28  (e.g., DMS, OMS, MDM, and so forth). The difference may be exported as compliant with a number of CIM standards, including CIM UML-compliant standards, and/or XML CIM representations including Document Number DSP0201 version 2.3.1 or newer available from DMTF, Inc. of Portland, Or. 
         [0026]    Similarly,  FIGS. 6-8  illustrate examples of before and after (e.g., without modification and with modification) CIM models of the power network models (e.g., power network models  30  and  32  of  FIG. 2 ). Specifically,  FIG. 7  illustrates the power network model of  FIG. 6  with the exception that the network node  44 B, network node  46 C, and the line (e.g., power line) connecting the network nodes  44 B and  46 C have each been modified. The spatial server  12  may generate before and after CIM models of the power network models of  FIGS. 6 and 7 . In a similar aforementioned manner, the spatial server  12  may then derive and/or determine the differences between the before and after CIM models of  FIGS. 6 and 7 . Indeed, as illustrated in  FIG. 8 , the spatial server  12  may then determine that only the network node  44 B, the network node  46 C, and the line (e.g., power line) connecting the network nodes  44 B and  46 C have been modified. Thus, the spatial server  12  may only store the network the network node  44 B, the network node  46 C, and the connecting line to CIM file  24 , for example, before exporting the CIM file  24  to the external data systems  28  (e.g., DMS, OMS, MDM, and so forth). 
         [0027]    A number of techniques may be used to determine the differences illustrated in  FIGS. 3 to 8 . In one embodiment, the spatial server  12  may keep a running log of changes, for example in memory or in the databases  20 ,  22 , and use the running log as the differences. However, the running log may include extraneous information, such as a node that was inserted and then deleted, and thus is not in a previous or present model. Accordingly, the running log may be applied to the new model  32 , for example, to determine changes that would desirably be communicated versus changes that would not be as useful to communicate. In one embodiment, node objects in the running log may be navigated, for example through breadth-first and/or depth first searches to determine other objects (e.g., links and/or nodes) that may have also changed. Likewise, changed links may be navigated to find local nodes and other links that also may have changed. By employing localized searches, rather by searching the entire models, differences may be derived more quickly and with less computing resources. 
         [0028]    Turning now to  FIG. 9 , a flow diagram is presented, illustrating an embodiment of a process  48  useful in synchronizing network models (e.g., power network models) between a GIS and an external data system (e.g., DMS) by using, for example, the spatial server  12  included in the GIS system  10  depicted in  FIG. 1 . The process  48  may include code or instructions stored in a non-transitory machine-readable medium (e.g., a memory) and executed, for example, by one or more processors included in the spatial server  12 . The process  48  may begin with the spatial server  12  identifying (block  50 ) changes or other modifications to a utility network topology. For example, as previously discussed, the spatial server  12  may identify one or more modifications  38  not previously included within, for example, a GIS representation of the network. The process  48  may continue with the spatial server  12  deriving (block  50 ) CIM models based on the utility network topology before and after such modifications. Specifically, a CIM network model (e.g., model  30  of  FIG. 2 ) of a utility network in a pre-existing state (e.g., state before undergoing one or more modifications) may be generated and a CIM network model (e.g., model  32  of  FIG. 2 ) in a modified state (e.g., after undergoing one or more modifications) may be generated by the spatial server  12 . 
         [0029]    The process  48  may then continue with the spatial server  12  comparing (block  54 ) the CIM network model of the pre-existing state (e.g., before modifications) to the CIM network model of the modified state (e.g., after modifications). For example, as noted above with respect to  FIG. 2 , the spatial server  12  may compare the before and after CIM models (e.g., network models  30  and  32 ) to determine only the differences (e.g., additions, updates, or deletions of certain components or other modifications) existing between the two CIM models. The process  48  may then continue with the spatial server  12  generating (block  56 ) a CIM file (e.g., CIM file  24 ) including the differences between the pre-existing state CIM network model (e.g., model  30 ) and the modified state CIM network model (e.g., model  32 ). Indeed, as previously noted, upon determining the differences between the CIM models, the spatial server  12  may generate the CIM model  42  and CIM file  24  (e.g., generated based on the network models  30  and  32 ) that includes the modifications and/or other information relating the modifications. 
         [0030]    In some embodiments, the CIM model  42 , and by extension the CIM file  24 , may not include in the entire CIM network models  30  and  32 , but instead only the portion(s) corresponding to the differences between the CIM network models  30  and  32 . In other embodiments, CIM file  24  may include a forward-differences section (e.g., section of data relating to components added and/or inserted) and a reverse-differences section (e.g., section of data relating to components deleted) in addition to the differences between the CIM network models  30  and  32 . In either embodiment, the spatial server  12  may expedite the synchronization of the power network models  30  and  32  with external data systems  28  by generating a CIM file  24  that may include only a truncated model (e.g., a CIM model  42  of only the differences) of the pre-existing network model, and thus improve efficiency in the transmission and later importing (e.g., loading) of the CIM file  24 . The process  48  may then conclude with the spatial server  12  exporting (block  58 ) the generated CIM file  24 . For example, the spatial server  12  may export the CIM file  24  to the external data systems  28 , which may include a DMS, OMS, MDM, or similar external data system that may require synchronization with the GIS system  10 . Accordingly, the external systems  28  may then import the file  24  to synchronize with the spatial server  12 . The techniques described herein may also be used, for example, by the external systems  28  to produce an equivalent file  24  and thus maintain synchronization across the enterprise. 
         [0031]    Technical effects of the disclosed embodiments include systems and methods to enable the communicative coupling and synchronization between GIS systems to a variety of external systems. In certain embodiments, open standard models are used to share information between the communicatively coupled systems. By using open standards, any system support the standards may participate. However, changes to models may result in the entirety of the changed model being transmitted to interested systems. The techniques described herein may derive model changes and transmit only a subset of the changed model, rather than the entirety of the changed model. Changes may be derived based on localized searching of a graph (e.g., a representation of a utility network model), rather than be searching the entire graph for differences. By deriving only the changes (e.g., deriving a Common Information Model (CIM) model of the changes), the present embodiments may improve information synchronization between GIS systems and external systems, and may reduce transmission times and cost by deriving and transmitting the derived differences only. 
         [0032]    This written description uses examples to disclose the invention, including the best mode, and also to enable any person skilled in the art to practice the invention, including making and using any devices or systems and performing any incorporated methods. The patentable scope of the invention is defined by the claims, and may include other examples that occur to those skilled in the art. Such other examples are intended to be within the scope of the claims if they have structural elements that do not differ from the literal language of the claims, or if they include equivalent structural elements with insubstantial differences from the literal language of the claims.