System and method for analyzing full history of dynamic network

The FHDN system addresses the challenge of dynamic network analysis by constructing a network with time-series data to query historical states efficiently, reducing storage needs and enabling precise network state retrieval.

JP2024174102AActive Publication Date: 2024-12-13C3 AI INC
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
JP2024170347
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2018-11-02
Filing Date
2024-09-30
Publication Date
2024-12-13
Estimated Expiration
2039-10-30

AI Technical Summary

Technical Problem

Current network analysis techniques fail to capture the full history of dynamic networks, which are constantly changing with nodes and edges being added, removed, or altered over time, necessitating a method to accurately query the precise state of networks at any given time.

Method used

A method and system for constructing a Full-History Dynamic Network (FHDN) that includes dynamically changing nodes and edges with associated time series, allowing queries without requiring periodic snapshots, using iterative graph search algorithms and caching techniques to optimize memory usage.

Benefits of technology

Enables efficient querying of network states at any historical time instance with significantly reduced memory and storage requirements, facilitating complex analyses in dynamic networks like power distribution and social networks.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2024174102000001
    Figure 2024174102000001
  • Figure 2024174102000002
    Figure 2024174102000002
  • Figure 2024174102000003
    Figure 2024174102000003
Patent Text Reader

Abstract

To provide a method and system for analyzing and understanding full history of a dynamic network.SOLUTION: A method and system for determining a history state of a dynamic network is provided by the present specification. The present method may include the steps of: continuously acquiring data associated with the system from a plurality of different data sources; using the data to construct a full history dynamic network (FHDN) of the present system; and providing, in response to a query of the FHDN regarding a history time instance, a state of the present system regarding the history time instance.SELECTED DRAWING: None
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] (Related Applications) This application claims priority to U.S. Provisional Patent Application No. 62 / 754,786, filed November 2, 2018, which is hereby incorporated by reference in its entirety. [Background technology]

[0002] Network science is the study of large and complex networks. Such networks can include computer networks, cyber-physical systems, telecommunication networks, biological networks, cognitive and semantic networks, and social networks. In such networks, distinct elements or actors can be represented by nodes (or vertices), and connections between the elements or actors can be represented by links (or edges).

[0003] Networks can be illustrated by graphs. Several industries and companies are developing applications of networks and graph processing approaches designed for static graphical analysis. For example, Google Maps can plan complex routes over a current snapshot of a country's road network, and Facebook can represent its social network as a large graph and is developing the GraphQL language for querying such graphs. These graphs are not "static" in the traditional sense because nodes and edges can be added and removed over time, and the characteristics of the nodes or edges can change. However, these graphs do not store the entire history of dynamic processes. For example, Google Maps may not be able to illustrate the precise state of traffic at a specific time (e.g., 7:45 PM PT on April 23, 2013) and region, and Facebook may not be able to illustrate the state of its social network graph at an arbitrary point in time, e.g., from a year ago. These networks are dynamic, but the storage engines are static in that they only represent the current state of the network and the previous state of the network at a given point in time, and they do not provide the ability to query the graph at any arbitrary point in time. Summary of the Invention [Means for solving the problem]

[0004] Current techniques for determining the historical state of a network may involve periodically taking snapshots of the network's graph and then analyzing a sequence of these snapshots to understand the historical dynamic behavior. However, this may not be sufficient for different network domains. For example, for Internet of Things (IoT) applications such as energy distribution systems, the flow of electricity may be determined by the precise physical connections of the network, and understanding complex events such as cascading failures may require knowledge of the second-by-second precise configuration of switches and connectivity in the electrical network.

[0005] Provided herein are methods and systems for analyzing and understanding the entire history of dynamic networks. Every network can be a dynamic object at its core because the edges and nodes of the network can constantly be added, removed, or change state as the network evolves. For example, in a power grid, physical assets (wires, transformers, etc.) are added and removed over time, and switches are opened and closed, each of which fundamentally alters the resulting physical fluidity of the network. For example, in a traffic network, roads open and close, and traffic patterns on a given road change rapidly over time. In order to effectively reason about such networks, there is a need for models that can accurately capture how the network changes over time. In addition, there is a need for graphical analysis of dynamic networks where queries can be made about the precise state of the network at any given time.

[0006] In one aspect, a computer-implemented method for determining a historical state of a dynamic network includes continuously obtaining data associated with the system from a plurality of different data sources, using the data to construct a Full Historical Dynamic Network (FHDN) of the system, the FHDN comprising: (1) a plurality of nodes, which may change dynamically; (2) a plurality of edges connecting the nodes, which may change dynamically; and (3) a time series associated with each of the plurality of nodes and edges; and providing, in response to a query of the FHDN for a historical time instance, a state of the system for the historical time instance. The time series may indicate changes in the state of the nodes and edges over time. The FHDN may be constructed without requiring periodic capture and storage of snapshots of the system at different times.

[0007] In some embodiments, the state of the system comprises the graphical state of the entire network in an as-operated state at a historical time instance. In some embodiments, the state of the system comprises the graphical state for a subset of the network at a historical time instance. The graphical state of the network or subset of the network may be an exact graphical state, a substantially exact graphical state, or an approximate graphical state. In some embodiments, the FHDN is constructed without requiring periodic capture and storage of snapshots of the network at different times. In some embodiments, the historical dynamic behavior of the FHDN is determined without analyzing a sequence of snapshots of the network taken at different times. In some embodiments, the FHDN allows queries regarding a historical time instance to be answered without requiring an instantiation of the entire network at the historical time instance.

[0008] In some embodiments, the plurality of nodes and edges comprises (1) all nodes and edges previously present in the network at any given time and (2) all nodes and edges currently present in the network. In some embodiments, the time series for the selected nodes or edges comprises precise times of addition or removal for the selected nodes or edges in the network. In some embodiments, the time series is based on events or changes occurring at the selected nodes or edges.

[0009] In some embodiments, the state of the system at a historical time instance is obtained by using a search algorithm that iterates over multiple nodes and searches through the time series. In some embodiments, the search algorithm comprises an iterative graph search algorithm that is configured to check only the status of selected nodes or edges as needed. In some embodiments, the query comprises an information request for a subset of nodes at a given time, and the search algorithm is configured to directly query only the subset of nodes without querying other unnecessary nodes.

[0010] In some embodiments, the method further includes utilizing a blocking technique to cache the entire connected graphical region of the FHDN in memory for any given time. In some embodiments, the blocking technique comprises standard blocking, token blocking, or attribute clustering blocking. In some embodiments, caching the entire connected graphical region in memory allows the search to be performed more quickly compared to traditional network graphing techniques.

[0011] In some embodiments, the use of FHDN allows for memory / storage savings of several orders of magnitude compared to traditional network graphing techniques. In some embodiments, storage requirements can be reduced by at least about one to three orders of magnitude compared to traditional network graphing techniques. In some embodiments, storage requirements can be reduced by more than three orders of magnitude, or less than one order of magnitude.

[0012] In some embodiments, the system comprises an electrical distribution system. In some embodiments, the electrical distribution system comprises a plurality of electrical distribution feeders. In some embodiments, the state of the electrical distribution system comprises a graphical state of a plurality of electrical distribution feeders at a historical time instance. In some embodiments, the state of the electrical distribution system comprises a graphical state of a subset of the electrical distribution feeders at a historical time instance. In some embodiments, the FHDN allows queries regarding a historical time instance to be answered without requiring a full network instantiation of the electrical distribution system at the historical time instance.

[0013] In some embodiments, (1) a plurality of nodes and edges and (2) a time series are associated with a plurality of distribution feeders and connected nodes and branches within each feeder. In some embodiments, the time series for a selected node or edge comprises a precise time of addition or removal for the selected node or edge in the network. In some embodiments, the addition or removal of the selected edge corresponds to the opening or closing of a breaker switch in the distribution system, the breaker switch being associated with the selected edge.

[0014] In some embodiments, the query comprises a query of the precise electrical configuration of the one or more selected distribution feeders at any given time. In some embodiments, a graph search algorithm is utilized to query the state of the one or more selected distribution feeders at any given time by searching only the nodes and edges contained within the one or more selected distribution feeders.

[0015] In some embodiments, the graph search algorithm is configured to query only the status of nodes and edges contained within the selected distribution feeder as needed. In some embodiments, the graph search algorithm is not configured to query nodes and edges contained within other non-selected distribution feeders. In some embodiments, the network comprises 280,000 grid nodes, 320,000 edges, and 1,000,000 open / close time series events logged over a 6-year period. In the above embodiment, the FHDN allows queries in any part of the network at a historical time instance to be answered while requiring only 13.4MB of storage, compared to 2.1TB using traditional graphing techniques. In some embodiments, the system comprises a bill of materials for any manufacturing enterprise. In some embodiments, the system comprises a supply chain distribution network. In some embodiments, the system comprises a social network of a plurality of users.

[0016] In another aspect, a system for determining a historical state of a dynamic network includes a data aggregation component for continuously obtaining data associated with the system from a plurality of different data sources; and a network graphing component that uses the data to construct a Full Historical Dynamic Network (FHDN) of the system, the FHDN comprising: (1) a plurality of nodes, which may change dynamically; (2) a plurality of edges connecting the nodes, which may change dynamically; and (3) a time series associated with each of the plurality of nodes and edges; and configured to provide a state of the system for the historical time instances in response to a query of the FHDN for the historical time instances.

[0017] In another aspect, a non-transitory computer-readable medium stores instructions that, when executed by one or more servers, cause the one or more servers to implement a method including continuously obtaining data associated with the system from a plurality of different data sources; using the data to construct a Historical Full Dynamic Network (FHDN) of the system, the FHDN comprising: (1) a plurality of nodes, which may change dynamically; (2) a plurality of edges connecting the nodes, which edges may change dynamically; and (3) a time series associated with each of the plurality of nodes and edges; and, in response to a query of the FHDN for a historical time instance, providing a state of the system for the historical time instance.

[0018] Additional aspects and advantages of the present disclosure will become readily apparent to those skilled in the art from the following detailed description, in which only illustrative embodiments of the present disclosure are shown and described. As will be understood, the present disclosure is capable of other and different embodiments, and its several details are capable of modification in various obvious respects, all without departing from the present disclosure. Thus, the drawings and description are to be regarded as illustrative in nature, and not as restrictive. (Incorporated by reference)

[0019] All publications, patents, and patent applications mentioned in this specification are incorporated herein by reference to the same extent as if each individual publication, patent, or patent application was specifically and individually indicated to be incorporated by reference. To the extent that the publications and patents or patent applications incorporated by reference conflict with the disclosure contained herein, the specification is intended to take precedence and / or precedence over any such conflicting material. The present invention provides, for example, the following items. (Item 1) 1. A computer-implemented method for determining a historical state of a system, the method comprising: Obtaining data about the system from a plurality of different data sources; using the data to construct a Historical Full Dynamic Network (FHDN) of the system, the FHDN comprising: (1) a plurality of nodes, which may change dynamically; (2) a plurality of edges connecting the nodes, which may change dynamically; and (3) a time series associated with each of the plurality of nodes and edges, which time series indicate changes in state of the plurality of nodes and edges over time; in response to a query of the FHDN regarding a historical time instance, providing a state of the system regarding the historical time instance; A method comprising: (Item 2) 2. The method of claim 1, wherein the state of the system comprises the exact graphical state of the system in an as-operated state at the historical time instance. (Item 3) 2. The method of claim 1, wherein the state of the system comprises a precise graphical state for a subset of the system at the historical time instance. (Item 4) 2. The method of claim 1, wherein the historical dynamic behavior of the FHDN is determined without analyzing a sequence of snapshots of the network captured at different times. (Item 5) 2. The method of claim 1, wherein the FHDN enables queries regarding the historical time instance to be answered without requiring a full network instantiation at the historical time instance. (Item 6) 2. The method of claim 1, wherein the plurality of nodes and edges comprises: (1) all nodes and edges previously existing in the network starting at a given instance of time; and (2) all nodes and edges currently existing in the network. (Item 7) 2. The method of claim 1, wherein the time series for a selected node or edge comprises a time of addition or removal of the selected node or edge in the network. (Item 8) 2. The method of claim 1, wherein the time series is based on events or changes occurring at selected nodes or edges. (Item 9) 2. The method of claim 1, wherein the state of the system at the historical time instance is obtained by using a search algorithm that iterates over the multiple nodes and searches through the time series. (Item 10) 10. The method of claim 9, wherein the search algorithm comprises an iterative graph search algorithm configured to only check the status of the selected nodes or edges as necessary. (Item 11) 10. The method of claim 9, wherein the query comprises an information request for a subset of nodes at a given time instance, and the search algorithm is configured to directly query only the subset of nodes without querying other unnecessary nodes. (Item 12) 2. The method of claim 1, further comprising caching the entire connected graphical region of the FHDN in memory for any given instance at time using blocking techniques. (Item 13) Item 13. The method of item 12, wherein the connected graphical region of the FHDN does not contain any unreachable nodes. (Item 14) Item 14. The method of item 13, wherein the blocking technique comprises standard blocking, token blocking, or attribute clustering blocking. (Item 15) Item 14. The method of item 13, wherein caching the entire connected graphical region in memory allows searches to be performed more quickly compared to conventional network graphing techniques. (Item 16) 2. The method of claim 1, wherein the use of the FHDN allows memory / storage savings of several orders of magnitude compared to traditional network graphing techniques. (Item 17) Item 17. The method of item 16, wherein the storage requirements can be reduced by at least three orders of magnitude compared to conventional network graphing techniques. (Item 18) 2. The method of claim 1, wherein the system comprises a power distribution system. (Item 19) 20. The method of claim 18, wherein the electrical distribution system comprises a plurality of electrical distribution feeders. (Item 20) 20. The method of claim 19, wherein the state of the distribution system comprises an exact graphical state of the plurality of distribution feeders at the historical time instance. (Item 21) 20. The method of claim 19, wherein the state of the distribution system comprises an exact graphical state of a subset of the distribution feeders at the historical time instance. (Item 22) 20. The method of claim 18, wherein the FHDN enables the query regarding the historical time instance to be answered without requiring a full network instantiation of the electrical distribution system at the historical time instance. (Item 23) 20. The method of claim 19, wherein (1) the plurality of nodes and edges and (2) the time series are associated with the plurality of distribution feeders and the connected nodes and branches within each feeder. (Item 24) 24. The method of claim 23, wherein the time series for a selected node or edge comprises a time of addition or removal of the selected node or edge in the network. (Item 25) 25. The method of claim 24, wherein the addition or removal of the selected node or edge corresponds to the opening or closing of a breaker switch in the power distribution system, the breaker switch being associated with the selected edge. (Item 26) 24. The method of claim 23, wherein the query comprises a query of the electrical configuration of one or more selected distribution feeders at any given instance of time. (Item 27) 27. The method of claim 26, wherein a graph search algorithm is utilized to query the exact state of the one or more selected distribution feeders at any given instance of time by searching only the nodes and edges contained within the one or more selected distribution feeders. (Item 28) 28. The method of claim 27, wherein the graph search algorithm is configured to query only the status of the nodes and edges contained within the selected distribution feeder as needed. (Item 29) 30. The method of claim 28, wherein the graph search algorithm is not configured to query the nodes and edges contained within other, non-selected distribution feeders. (Item 30) 2. The method of claim 1, wherein the FHDN is stored in a two-dimensional matrix having a plurality of rows and columns, each row of the plurality of rows representing one of the plurality of nodes and each column of the plurality of columns representing one of the plurality of edges, and an entry in a row and column in the two-dimensional matrix indicates whether the edge represented by the column is connected to the node represented by the row. (Item 31) 31. The method of claim 30, wherein the entries are in chronological order. (Item 32) 2. The method of claim 1, wherein the FHDN is stored in a graph database. (Item 33) 33. The method of claim 32, wherein the graph database comprises a plurality of pointers between the plurality of nodes, each pointer representing one of the plurality of edges. (Item 34) Item 34. The method of item 33, wherein the plurality of pointers comprises pointers that are bidirectional. (Item 35) Item 34. The method of item 33, wherein the plurality of pointers comprises pointers that are unidirectional. (Item 36) 2. The method of claim 1, wherein the plurality of nodes and the plurality of edges comprise tags or properties. (Item 37) Item 10. The method of claim 1, wherein the edges are provided with weights indicating the strength of the connection or relationship between the nodes. (Item 38) 2. The method of claim 1, wherein the system comprises a bill of materials for any manufacturing enterprise. (Item 39) 2. The method of claim 1, wherein the system comprises a supply chain distribution network. (Item 40) 2. The method of claim 1, wherein the system comprises a social network of a plurality of users. (Item 41) 2. The method of claim 1, wherein the system is a molecule comprising a plurality of atoms and a plurality of bonds, the plurality of nodes representing the plurality of atoms, and the plurality of edges representing the plurality of bonds. (Item 42) 2. The method of claim 1, wherein the system is an oil and gas processing pipeline comprising drilling assets, refining assets, and pipeline assets, the plurality of nodes representing the drilling assets and the pipeline assets, and the plurality of edges representing the pipeline assets. (Item 43) 2. The method according to claim 1, wherein the system is a biological neural network comprising neurons and their connections. (Item 44) 2. The method according to claim 1, wherein the system is a road network. (Item 45) 2. The method of claim 1, wherein the FHDN is constructed without requiring periodic capture and storage of snapshots of the system at different times. (Item 46) 2. The method of claim 1, wherein constructing an FHDN for the system includes generating data objects representing the nodes, the edges, and the time series. (Item 47) 1. A system for determining a historical state of a system, the system comprising: a data aggregation component for continuously acquiring data about the system from a plurality of different data sources; 1. A network graphing component, comprising: using said data to construct a Full Historical Dynamic Network (FHDN) of said system; the FHDN comprises: (1) a plurality of nodes, the plurality of nodes being capable of dynamically changing; (2) a plurality of edges connecting the nodes, the plurality of edges being capable of dynamically changing; and (3) a time series associated with each of the plurality of nodes and the plurality of edges, the time series indicating changes in the state of the plurality of nodes and the plurality of edges over time, the FHDN being constructed without requiring periodic capture and storage of snapshots of the system at different times; In response to a query of the FHDN for a historical time instance, providing a state of the system with respect to a stance; and a network graphing component configured to A system comprising: (Item 48) A non-transitory computer readable medium having instructions stored thereon that, when executed by one or more servers, cause the one or more servers to perform a method, the method comprising: Obtaining information about the system from multiple different data sources; using the data to construct a Full Historical Dynamic Network (FHDN) of the system, the FHDN comprising: (1) a plurality of nodes, which may change dynamically; (2) a plurality of edges connecting the nodes, which may change dynamically; and (3) a time series associated with each of the plurality of nodes and edges, which time series indicates changes in the state of the plurality of nodes and the plurality of edges over time, the FHDN being constructed without requiring periodic capture and storage of snapshots of the system at different times; in response to a query of the FHDN regarding a historical time instance, providing a state of the system regarding the historical time instance; 16. A non-transitory computer readable medium comprising: [Brief description of the drawings]

[0020] The novel features of the invention are set forth with particularity in the appended claims. A better understanding of the features and advantages of the present invention will be obtained by reference to the following detailed description and the accompanying drawings (also herein "Figures") that set forth illustrative embodiments, in which the principles of the invention are utilized.

[0021] [Figure 1] FIG. 1 shows an example of a graph of a Full Historical Dynamic Network (FHDN).

[0022] [Diagram 2] FIG. 2 shows an example of a graph of a dynamic network at time t.

[0023] [Diagram 3] FIG. 3 shows an example of multiple snapshots at different times. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0024] While various embodiments of the present invention have been shown and described herein, it will be apparent to those skilled in the art that such embodiments are provided by way of example only. Numerous variations, changes, and substitutions may occur to those skilled in the art without departing from the invention. It is understood that various alternatives to the embodiments of the invention described herein may be employed.

[0025] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which the claimed subject matter belongs. It is to be understood that the foregoing general description and the following detailed description are exemplary and explanatory only and are not limitations of any claimed subject matter. In this application, the use of the singular includes the plural unless specifically stated otherwise.

[0026] In this description, any percentage range, ratio range, or integer range is to be understood to include any integer within the recited range, and fractions thereof, when appropriate (such as tenths and hundredths of an integer), unless otherwise indicated. The terms "a" and "an" as used herein should be understood to refer to "one or more" of the recited components, unless otherwise indicated or dictated by the context. The use of the alternative (e.g., "or") should be understood to mean either one, both, or any combination thereof of the alternatives. As used herein, the terms "including" and "comprising" are used interchangeably.

[0027] The term "about" or "approximately" can mean within an acceptable error range for a particular value as determined by one of ordinary skill in the art, which will depend in part on how the value is measured or determined, e.g., the limitations of the measurement system. For example, "about" can mean ±10%, as is customary in the art. Alternatively, "about" can mean a range of ±20%, ±10%, ±5%, or ±1% of a given value. When a particular value is described in the present application and claims, the term "about" should be assumed to mean within an acceptable error range for the particular value, unless otherwise stated. Also, when ranges and / or subranges of values ​​are provided, the ranges and / or subranges can include the endpoints of the ranges and / or subranges. Introduction

[0028] Provided herein is a new paradigm for storing and querying full historical dynamic networks (FHDNs). FHDNs can allow users to query the state of the network at any moment in history. By using FHDNs, "on-demand" graph snapshots can be reconstructed and the entire network at a given time can be created without explicitly storing the snapshot in a database. FHDNs can allow users to answer queries about the graph at a time without instantiating the entire graph at this time. For example, a common query in an electric distribution system is to query the exact electrical configuration of a distribution feeder at a given time. Although the entire network may comprise thousands of distribution feeders, FHDNs can allow users to query the state of a distribution feeder of interest at any time by using a graph search algorithm and searching only the nodes and edges that are within the distribution feeder of interest.

[0029] The FHDN may operate by creating a graph that comprises all nodes and edges that have ever existed in the network at any point in time. Each edge and node may include a time series indicating the time of change (e.g., addition or removal) for that node or edge in the network. The change may comprise a topology change, such as the addition or removal of an edge or node. In some cases, the change may also include a change in an attribute or property (e.g., weight) of an edge or node. For example, in the case of an energy distribution system, an edge may be added or removed multiple times corresponding to a breaker switch opening or closing. To reconstruct the graph at a given point in time, the user can iterate through all the nodes and search through the time series (e.g., using a binary search for nodes and edges with multiple events) to create a graph that corresponds to the network at this point in time. Any analysis that requires searching through the graph, such as finding connected components, can be performed using an iterative graph search algorithm that only checks the status of nodes or branches as necessary. If the analysis requires information about a small subset of nodes at a given point in time, the FHDN data structure can be queried directly to assess the results of this analysis without processing any unnecessary nodes. Because most of the FHDN is small enough to store in memory, blocking techniques can be employed to cache the entire connected region of the graph in memory at any given time, allowing users to perform these searches quickly on an ad-hoc basis, requiring only portions of the graph to be loaded from memory. Computer-implemented methods

[0030] In one aspect, a computer-implemented method for determining a historical state of a dynamic network may include continuously obtaining data associated with the system from a plurality of different data sources, using the data to construct a Full Historical Dynamic Network (FHDN) of the system, and providing states of the system with respect to historical time instances in response to queries of the FHDN with respect to the historical time instances.

[0031] A dynamic network may be a network that varies over time. For dynamic networks, the network topology may change over time. For example, nodes and / or edges may be formed and removed over time. Dynamic networks may comprise, for example, local area networks, mobile ad-hoc wireless networks, communication networks, social networks, energy distribution networks, the web, and traffic networks. Dynamic networks may be driven by adversarial, probabilistic, or game-theoretic models.

[0032] Data sources may include data from sensors or smart devices, such as appliances, smart meters, wearables, monitoring systems, data stores, customer systems, billing systems, financial systems, crowd-sourced data, weather data, social networks, or any other sensor, enterprise system, or data store. Examples of smart meters or sensors may include meters or sensors located at customer locations, or meters or sensors located between the customer and a generation or source location. For example, customer meters, grid sensors, or any other sensors on the electric grid may provide measurement data or other information to a grid operator. Sensors may also include, but are not limited to, geophones, hydrophones, race sensors, microphones, seismometers, sonars, wind gauges, AFR sensors, blind spot monitors, fault detectors, Hall effect sensors, wheel speed sensors, airbag sensors, coolant temperature sensors, fuel level sensors, fuel pressure sensors, light sensors, MAP sensors, oxygen sensors, oil level sensors, breath analyzers, carbon dioxide sensors, carbon monoxide sensors, electrochemical gas sensors, hydrogen sensors, current sensors, dailies, electroscopes, magnetic anomaly detectors. , MEMS magnetic field sensors, metal detectors, radio direction finders, voltage detectors, photometers, air pollution sensors, ceilometers, gas detectors, humistors, leaf sensors, rain gauges, rain sensors, snow gauges, soil moisture sensors, water gauges, tide gauges, mass flow sensors, water gauges, cloud chambers, neuron detection, wind speed indicators, depth gauges, magnetic compasses, slewing scales, flame detectors, photodiodes, wavefront sensors, barometers, pressure sensors, level sensors, viscometers, bolometers, colorimeters, thermometers, proximity sensors, reed switches, and biosensors. By incorporating data from a wide array of sources, the system can perform complex and detailed analyses and may enable further business insights. Data sources may include, without limitation, sensors or databases related to other industries and systems.

[0033] The data sources may include a large set of sensors, smart devices, or appliances for any type of industry. The data sources may include systems, nodes, or devices in a computing network, or other systems used by an enterprise, a company, a customer or client, or other entity. In one embodiment, the data sources may include databases of customer or business information. The data sources may include data stored in unstructured databases or formats, such as the Hadoop Distributed File System (HDFS). The data sources may include data stored by customer systems, such as a customer information system (CIS), a customer relationship management (CRM) system, or a call center system. The data sources may include data stored or managed by enterprise systems, such as a billing system, a financial system, a supply chain management (SCM) system, an asset management system, and / or a workforce management system. The data sources may include data stored or managed by operational systems such as a distributed resource management system (DRMS), a document management system (DMS), a content management system (CMS), an energy management system (EMS), a geographic information system (GIS), a globalization management system (GMS), and / or a supervisory control and data acquisition (SCADA) system. The data sources may include data about device events. The device events may include, for example, device failures, reboots, power outages, tampering, and the like. The data sources may include social media data such as data from Facebook®, LinkedIn®, Twitter®, or another social network or social network database. The data sources may also include other external sources such as data from weather services or websites and / or data from online application program interfaces (APIs) such as those provided by Google®. The data sources may comprise external databases.

[0034] A full history dynamic network (FHDN) may comprise the entire history of a dynamic network. For example, the FHDN may comprise the nodes, edges, and relationships between the nodes and edges of the dynamic network at any time in the history of the dynamic network. For example, if the dynamic network was created in 2010, the FHDN may comprise all edges, all nodes, and time series that have ever existed in the dynamic network since 2010. In addition, the FHDN may also comprise information regarding changes of all edges and all nodes in the dynamic network over time. The FHDN may be configured to store and query information of the dynamic network. The FHDN may be configured to query the state of the system at any moment in the history of the dynamic network.

[0035] An FHDN may comprise (1) a number of nodes, which may change dynamically; (2) a number of edges connecting the nodes, which may change dynamically; and (3) a time series associated with each of the number of nodes and edges.

[0036] A given node of the plurality of nodes may be a redistribution point or a communication endpoint. If the network is a physical network, the node may be an active electronic device attached to the network. In this context, the node may be capable of creating, receiving, or transmitting information over a communication channel. A physical network node may be a data communication equipment (DCE) such as a modem, hub, bridge, or switch, or a data terminal equipment (DTE) such as a digital telephone handset, printer, or host computer. If the network is a local area network (LAN) or wide area network (WAN), every LAN or WAN node that is at least a data link layer device may typically have one network address for each network interface controller it possesses. Examples of nodes in a physical network may include computers, packet switches, xDSL modems (with Ethernet interfaces), and wireless LAN access points. If the network is the Internet or an intranet, the physical network node may be a host computer identified by an IP address.

[0037] In a fixed telephone network, a node may be a public or private telephone exchange, a remote concentrator, or a computer providing some intelligent network service. In cellular communications, examples of a node may include switching points and databases such as base station controllers, home location registers, Gateway GPRS Support Nodes (GGSNs), and Serving GPRS Support Nodes (SGSNs). In a cable television system (CATV), a node may include a fiber optic node. A fiber optic node may be a home or business within a particular geographic area served by a common fiber optic receiver. If the network is a distributed system, a node may be a client, a server, or a peer.

[0038] A given edge of the plurality of edges may be one of the connections between two nodes (or vertices) of the network. Edges may be directed, meaning that they point from one node to another. In this case, two nodes connected by a directed edge may be in a unidirectional relationship. A unidirectional relationship may be such that one node sends information to the other node but does not receive any information from the other node. Edges may also be undirected, in which case they are bidirectional. In this case, two nodes connected by a directed edge may be in a bidirectional relationship. A bidirectional relationship may be such that one node sends information to the other node and also receives any information from the other node. In some cases, nodes may not send information to each other.

[0039] A time series may be a sequence of data points in chronological order. A time series may be a sequence obtained at successive equally spaced points in time. A time series may comprise a sequence of discrete-time data. A time series may indicate when a node or edge changes, e.g., when a node or edge is added, removed, activated, deactivated, or connected to or disconnected from another node. Alternatively, or in addition, a time series may indicate time-varying properties of a node or edge. In the case of a power distribution network, the nodes may be, e.g., power plants, transmission substations, power distribution feeders, transformers, breakers, and consumers. Edges may be transmission lines and other wires connecting such nodes. A time series may indicate, e.g., when a power plant is in operation or not in operation, or when a breaker is open or closed. A time series may additionally indicate, e.g., the power output of a power plant over time. In the case of a social network, the nodes may be businesses and people with profiles on the social network. The edges may be relationships (e.g., friends, followers, etc.) between those businesses and people. The time series may indicate when relationships on the social network began or ended. The time series may additionally indicate, for example, how properties of businesses or people in the social network change over time (e.g., how a person's relationship status, occupation, or location changes over time). In the case of a supply chain distribution network, the nodes may be supplier plants, assembly plants, regional distribution centers, regional distribution centers, and customer locations. The nodes may be roads, railroad tracks, sea routes, and flight paths that interconnect the nodes in the supply chain network. The time series may indicate, for example, whether a factory is operating at a particular time and whether a road or railroad track is open at a particular time.

[0040] The time series may represent the dynamically changing nodes and edges in the FHDN. The changes may be systematic or non-systematic. If the changes are systematic, the time series may be taken at systematic time intervals. If the changes are non-systematic, the time series may be taken at non-systematic time intervals. For example, the time series may first be taken every 1 s for a one minute time period, then every 10 s for a ten hour time period. In some cases, the system may be continuously or periodically monitored for changes in nodes and edges, but time series entries may be stored in memory only when actual changes in nodes and edges occur. This may reduce the amount of memory required to store the FHDN. A query to the FHDN may comprise a request for information from the FHDN. A query may include a step of requesting the state of the dynamic network at a historical time. A query may be made by selecting a parameter from a menu, where the database system presents a list of parameters from which the user may select. Queries can also be made by query-by-example, where the system presents a blank record and lets the user specify fields and values ​​that define the query. The fields or values ​​may directly specify a historical time, or they may indirectly specify a historical time. For example, a field or value may specify a change that occurs at a particular node. Queries can also be made by query language, where the user makes a request for information in the form of a formulated query that must be written in a special query language.

[0041] FIG. 1 shows an example of a graph of an FHDN. In FIG. 1, the FHDN 100 comprises a number of nodes 102, which can change dynamically, a number of edges 104 connecting the nodes, which can change dynamically, and a time series associated with each of the number of nodes 106 and edges 108. The FHDN may comprise all the nodes and edges ever existing in the dynamic network. The time series 106 of one node may be T1=[A, I, A, A, A, ...], which represents the change of the node over time in a specific time interval as "active, inactive, active, active, active, ...". The time series 108 of one edge may be T2=[A, I, I, A, A, ...], which represents the change of the edge over time in a specific time interval as "active, inactive, inactive, active, active, ...".

[0042] Figure 2 shows an example of a graph of a dynamic network at time t. In Figure 2, the dynamic network 200 comprises a number of nodes 202 (shaded) that are activated at time t, and a number of active edges 204 (represented by solid lines) that connect the nodes that are activated at time t. At time t, the remaining nodes 206 (unshaded) and the remaining edges 208 (represented by dashed lines) are not activated.

[0043] The state of the system may comprise the graphical state of the entire network in an as-operated state at a historical time instance. The historical time instance may be any time in the history of the dynamic network defined by a user. For example, the historical time instance may be a point in time in the history of the dynamic network (e.g., at 10:00 AM on August 12, 2000), a time period in the history of the dynamic network (e.g., from 1:00 AM to 12:00 PM on October 11, 1980), or a combination thereof. The graphical state may comprise a graph structure, which may be a graphical representation of data with relationships (edges) between the nodes. A graph may be an ordered pair comprising a set of nodes along with a set of edges. A node may be a set with a relationship of occurrence associated with each edge connecting two nodes.

[0044] Graphs can be used to model many types of relationships and processes. For example, in computer science, graphs may be used to represent networks of communication, data organization, computing devices, computational flows, etc. In one example, the link structure of a website can be represented by a directed graph, with nodes representing web pages and directed edges representing links from one page to another. Another example is in chemistry, where graphs may create a natural model for molecules, with nodes representing atoms and edges representing bonds. In statistical physics, graphs can represent local connections between interacting parts of a system and the dynamics of physical processes on such systems. Similarly, in computational neuroscience, graphs can be used to represent functional connections between brain areas that interact to result in various cognitive processes, with nodes representing different areas of the brain and edges representing connections between those areas. Graphs may be used to represent microscale channels in porous media, with nodes representing pores and edges representing smaller channels connecting the pores. In biology, nodes may represent regions where a species exists (or lives), and edges represent migration routes or movements between regions. Graphs can also be applied to problems in social media, travel, computer chip design, mapping the progression of neurodegenerative diseases, and many other fields. In the case of travel, the systems and methods described herein can be used to create a FHDN of a travel network (e.g., roads, waterways, flight paths, etc.). Nodes may represent different destinations (e.g., cities) in the travel network, and edges may represent different routes between such destinations. Edges may be weighted by distance or travel time. A time series in the FHDN may indicate whether a particular route is open at a particular time (e.g., whether a particular road is accessible or whether a particular flight is available). The FHDN of a travel network can be used to determine the optimal route (e.g., the fastest or shortest route) from one destination to another.

[0045] In the case of computer chip design, the systems and methods described herein can be used to create a FHDN of the computer chip, which can be used to analyze component failures over time and subsequently predict future failures.

[0046] In the case of neurodegenerative diseases, the systems and methods described herein can be used to create an FHDN of a human brain. The nodes of the FHDN may represent neurons in the brain, and the edges may be connections between neurons. The time series may indicate whether a particular neuron is adversely affected by disease progression. Creating an FHDN of a patient's brain can assist physicians in predicting and preventing disease progression in other patients.

[0047] The systems and methods described herein can also be used to create an FHDN for an oil and gas processing pipeline. An oil and gas processing pipeline may include drilling assets, refining assets, and pipeline assets (e.g., pumps, compressors, heat exchangers, and valves). The nodes in the FHDN may represent drilling and refining assets, and the edges may represent pipeline assets. The time series may indicate whether certain assets are operating at a certain time, and they may also indicate the capacity or output of those assets over time.

[0048] The graph structure can be extended by assigning a weight to each edge of the graph. Graphs with weights or weighted graphs may be used to represent structures where pairwise connections have some numerical value. For example, if the graph represents a road network, the weight may represent the length of each road. There may be some weights associated with each edge, including distance (as in the previous example), travel time, or monetary cost. The graph structure can also be extended by assigning a time series to each edge and node of the graph. Graphs with time series may be used to represent structures where pairwise connections have some values ​​that change over time. For example, if the graph represents a road network, the time series may represent the traffic of each road over time. The weights may alternatively or additionally represent the strength of the relationship or connection between the nodes.

[0049] Graphs can be stored within a computer system. The data structures used to store the graphs can depend on both the graph structure and the algorithms used to manipulate the graph. The data structures may comprise list structures, matrix structures, or a combination of both. List structures may be used for sparse graphs because they have smaller memory requirements. Matrix structures may provide faster access for some applications, but may consume large amounts of memory. Different list and matrix structures may comprise adjacency lists, adjacency matrices, and occurrence matrices. For adjacency lists, nodes may be stored as records or objects, and every vertex may store a list of adjacent vertices. This data structure may allow for storage of additional data on the nodes. For adjacency matrices, a two-dimensional matrix may be used, where the rows represent source nodes and the columns represent destination nodes, and the data on the edges and nodes may be stored externally. For the occurrence matrix, a two-dimensional Boolean matrix may be used, where rows represent nodes, columns represent edges, and entries may indicate whether a vertex in a row is attached to an edge in a column. The entries may be a time series indicating whether, at any given time instance, a vertex in a row is attached to an edge in a column.

[0050] The provided FHDN may be used as a graph structure for a graph database. Data objects may be stored in the graph database in the form of an FHDN. A graph database may be a database that uses a graph structure for queries involving nodes, edges, and properties to represent and store data. In one embodiment, every element contains direct pointers to its neighboring elements, and no index lookups are required. A key concept of the system may be the graph (or edges or relationships), which directly relate to data items in the store. Relationships may allow data in the store to be directly linked together and, in many cases, read in one operation. Pointers may be unidirectional or bidirectional.

[0051] Graph databases may allow simple and fast retrieval of complex hierarchical structures that are difficult to model in relational systems. The storage mechanism of a graph database may depend on a relational engine and include mechanisms to "store" the graph data in tables, or to use key-value stores or document-oriented databases for storage, making them inherently NoSQL structures. Some graph databases based on non-relational storage engines may also add the concept of tags or properties, which are essentially relations with pointers to another document. Retrieving data from a graph database may require a query language. Some graph databases may be accessed through an application programming interface (API).

[0052] The graph database may employ a graph structure comprising nodes, edges, and properties. The graph structure may be a FHDN as described elsewhere herein. For example, a time series indicating the time of change of the node or edge may be recorded along with the node or edge. The nodes may represent entities such as people, businesses, accounts, or any other items to be tracked. The edges may be lines connecting nodes to other nodes, which may represent relationships between them. The edges may represent abstract concepts not directly implemented in the system. The properties may be metadata or data about the nodes. For example, in the case of a social network where people are nodes, the properties may include demographic or personal information about the people (e.g., age, gender, employer, school, location, etc.). The methods disclosed herein may comprise an external graph database. The external graph database may comprise AllegroGraph, AnzoGraph, ArangoDB, DataStax, InfiniteGraph, Marklogic, Microsoft SQL Server, Neo4j, OpenLink Virtuoso, Oracle Spatial and Graph, OrientDB, SAP HANA, Sparksee, Sqrrl Enterprise, Teradata Aster, or other similar types of databases.

[0053] The state of the system may comprise a graphical state for a subset of a network at a historical time instance. The graphical state may comprise all nodes and edges requested by queries at a user-defined historical time instance of the dynamic network. All nodes and edges requested by queries at a user-defined historical time instance may be a subset of the network. All nodes and edges requested by queries at a user-defined historical time instance may be the entire network. The subset of the network may comprise a subset of the nodes, a subset of the edges, and / or a subset of the time series of the entire network. The subset of the network may comprise at least about 4%, 5%, 6%, 7%, 8%, 9%, 10%, 15%, 20%, 30%, 40%, 50%, 60%, 70%, 80%, 90%, or more of the nodes of the entire network. In other cases, the subset of the network may comprise at most about 90%, 80%, 70%, 60%, 50%, 40%, 30%, 20%, 15%, 10%, 9%, 8%, or less of the nodes of the entire network. The subset of the network may comprise at least about 4%, 5%, 6%, 7%, 8%, 9%, 10%, 15%, 20%, 30%, 40%, 50%, 60%, 70%, 80%, 90%, or more of the edges of the entire network. In other cases, the subset of the network may comprise at most about 90%, 80%, 70%, 60%, 50%, 40%, 30%, 20%, 15%, 10%, 9%, 8%, or less of the edges of the entire network. The subset of networks may comprise at least about 4%, 5%, 6%, 7%, 8%, 9%, 10%, 15%, 20%, 30%, 40%, 50%, 60%, 70%, 80%, 90%, or more of the total network time series. In other cases, the subset of networks may comprise at most about 90%, 80%, 70%, 60%, 50%, 40%, 30%, 20%, 15%, 10%, 9%, 8%, or less of the total network time series.

[0054] An FHDN may be constructed without requiring the periodic capture and storage of snapshots of the network at different points in time.

[0055] A snapshot may comprise the state of a system at a particular point in time. FIG. 3 shows an example of multiple snapshots of a dynamic network at different points in time. In FIG. 3, a time series of snapshots of a dynamic network spanning times t=1 to t=6 is shown. A dotted edge indicates that no relationship exists, and a solid edge indicates a relationship. For example, (1, 2) does not have any relationship at t=1, and (2, 4) does not have any relationship at t=6.

[0056] The historical dynamic behavior of the FHDN may be determined without analyzing a sequence of snapshots of the network captured at different times. The historical dynamic behavior may comprise changes in the FHDN at historical time instances defined by a user. The historical dynamic behavior may comprise changes in the FHDN over a time period defined by a user. To determine the historical dynamic behavior of the FHDN without analyzing a sequence of snapshots of the network captured at different times, a time series may be obtained and used in conjunction with information about the nodes and edges in the dynamic network. In this situation, no duplication of information about the nodes and edges across the snapshots may be required.

[0057] The FHDN may allow queries about historical time instances to be answered without requiring a full network instantiation at the historical time instance. An instantiation may be the creation of a real instance or a specific realization of an abstraction or template, such as a class of object or computer process. To answer queries about historical time instances without requiring a full network instantiation at the historical time instance, time series may be obtained and used in conjunction with information about the nodes and edges in the dynamic network. In this situation, only the time series, nodes, and edges that are relevant to the query may be explored and obtained; time series, nodes, and edges that are not relevant to the query need not be explored / processed. In some cases, specific time series, nodes, and edges may be inferred from other time series, nodes, and edges. For example, the state of an individual node can be inferred from the nodes and edges adjacent to the individual node. When data about a node is missing, for example, due to a malfunctioning sensor or other connectivity issue, it may be desirable to infer the state of the node.

[0058] The plurality of nodes and edges may comprise (1) all nodes and edges that were previously in the network at a given time after data collection for the network begins, and (2) all nodes and edges that are currently in the network. In other embodiments, the plurality of nodes and edges comprises (1) all nodes and edges that were previously in the network at any given time, (2) all nodes and edges that are currently in the network, and (3) all nodes and edges that will be in the network. The number of all nodes may be at least 1, 10, 50, 100, 200, 300, 400, 500, 1,000, 10,000, 100,000, 1,000,000, 100,000,000, 1 ... The number of all nodes may be at most 1,000,000,000, 100,000,000, 10,000,000, 1,000,000, 100,000, 10,000, 1,000, 500, 400, 300, 200, 100, 50, 10, or fewer. The number of edges may be equal to the number of nodes, or the number of edges may exceed the number of nodes. In some cases, the number of edges may be less than the number of nodes.

[0059] The time series may be based on events or changes occurring at the selected nodes or edges. In some cases, the events or changes may include topology changes. Alternatively, or in addition, the changes may include changes in properties or attributes (e.g., weights, directionality) of the edges or nodes. The events or changes may include selecting a node, not selecting a node, selecting an edge, and not selecting an edge. The time series for the selected nodes or edges may comprise precise times of additions or removals for the selected nodes or edges in the network. The time series for the selected nodes or edges may comprise precise times of additions, removals, and corrections for the selected nodes or edges in the network. The time series may be obtained at systematic or non-systematic time intervals. A systematic time interval may be at least every 0.1 microsecond (μs), 1 μs, 10 μs, 100 μs, 1 millisecond (ms), 10 ms, 100 ms, 1 second (s), 2 s, 3 s, 10 s, 30 s, 60 s, 2 minutes (m), 3 m, 4 m, 5 m, 10 m, or more. In some embodiments, a systematic time interval may be at most every 10 m, 5 m, 4 m, 3 m, 2 m, 1 m, 30 s, 10 s, 3 s, 2 s, 1 s, 100 ms, 10 ms, 1 ms, 100 μs, 10 μs, 1 μs, 1 μs, or less. For non-systematic time intervals, a time series may be first acquired at a first time over a first time period and then at a second time over a second time period. For example, a time series may first be acquired every 1 s over a first time period of 1 minute, then every 10 s over a second time period of 10 hours.

[0060] Time series may be stored in storage devices, including high-throughput distributed key-value data stores. Distributed key / value stores may provide reliability and scalability with the ability to store large data sets and operate reliably. Key / value stores may also be optimized with strict control over the tradeoff between availability, consistency, and cost-effectiveness. Data persistence processes may be designed to take advantage of flexible computing nodes and scale out if additional processing is required to match the arrival rate of messages on the distributed queue. Storage devices may include a wide variety of database types. For example, a distributed key-value data store may be ideal for handling time series and other unstructured data. Key-value data stores may be designed to handle large amounts of data across many commodity servers and may provide high availability without any single point of failure. Relational data stores may be used to store and query enterprise types with complex entity relationships. Multidimensional data stores may be used to store and access aggregates, including aggregated data that is from multiple different data sources or data stores.

[0061] The state of the system at a historical time instance may be obtained by using a search algorithm that iterates over a number of nodes and searches through the time series. The number of nodes may not be all the nodes that have ever existed in the dynamic network. In other cases, the number of nodes may be all the nodes that have ever existed in the dynamic network.

[0062] The state of the system at a historical time instance may be obtained by using a search algorithm that iterates over the edges and searches through the time series. The number of edges may not be all edges that ever existed in the dynamic network. In other cases, the number of edges may be all edges that ever existed in the dynamic network.

[0063] A search algorithm may be any algorithm that solves a search problem to retrieve information stored in a data structure or computed within a search space of a problem domain. Examples of search algorithms may include, but are not limited to, linked lists, array data structures, or search trees. An appropriate search algorithm may depend on prior knowledge about the data structure and data being searched. Searching may encompass algorithms that query a data structure, such as an SQL SELECT command.

[0064] The search algorithms may comprise a linear search algorithm, a binary search algorithm, a jump search algorithm, an interpolation search algorithm, an exponential search algorithm, a sublist search algorithm, a comparison search algorithm, and a digital search algorithm. A linear search algorithm may check all records for those associated with a target key in a linear fashion. A binary search algorithm may iteratively target the center of the search structure, dividing the search space in half. A comparison search algorithm may refine the linear search by successively eliminating records based on key comparisons until the target record is found. A comparison search algorithm may be applied on a data structure with a defined order. A digital search algorithm may work based on the nature of the digits in a data structure that uses numeric keys.

[0065] The search algorithm may comprise an iterative graph search algorithm configured to check only the status of selected nodes or edges as necessary. The graph search algorithm may define an order to search through the nodes of the graph. The graph search algorithm may be, for example, a connected component search, such as a depth-first search or a breadth-first search. For example, the graph search algorithm may start at a source node and continue searching until a target node is found, then the frontier may comprise nodes that have not yet been searched, and at each iteration, a node may be removed from the frontier and its neighbors may be added to the frontier. The necessity criteria may be set by the user. For example, if an analysis requires information about a small subset of nodes at a given time, the FHDN data structure may be queried directly to assess the results of this analysis without touching any unnecessary nodes. The unnecessary nodes may be nodes that are not relevant to the query. The unnecessary nodes may comprise at least about 4%, 5%, 6%, 7%, 8%, 9%, 10%, 15%, 20%, 30%, 40%, 50%, 60%, 70%, 80%, 90%, or more of all nodes in the FHDN. In other cases, the unnecessary nodes may comprise at most about 90%, 80%, 70%, 60%, 50%, 40%, 30%, 20%, 15%, 10%, 9%, 8%, or less of all nodes in the FHDN.

[0066] The query may comprise an information request for a subset of nodes at a given time. The query may comprise an information request for a subset of edges at a given time. The query may comprise an information request for a subset of nodes and edges at a given time. The query may comprise an information request for a subset of nodes at multiple given times. The query may comprise an information request for a subset of edges at multiple given times. The query may comprise an information request for a subset of nodes and edges at multiple given times.

[0067] The search algorithm may be configured to directly query only a subset of the nodes without querying other unnecessary nodes. This can allow for faster response times and more targeted / focused queries.In some cases, the subset of nodes / edges or nodes / edges selected to be queried to recreate the graph may be nodes / edges with frequent event changes. For example, nodes or edges with a number of changes above a certain threshold may be queried. In another embodiment, nodes or edges with a higher number of changes are queried before nodes or edges with a lower number of changes. The search algorithm may be configured to indirectly query only the subset of nodes without querying other unnecessary nodes. The search algorithm may be configured to directly query only the subset of nodes without querying other unnecessary edges. The search algorithm may be configured to indirectly query only the subset of nodes without querying other unnecessary edges. The search algorithm may be configured to directly query only the subset of nodes without querying other unnecessary nodes and edges. The search algorithm may be configured to indirectly query only the subset of nodes without querying other unnecessary nodes and edges. The unnecessary nodes and edges may be nodes and edges that are not relevant to the query. The unnecessary nodes may comprise at least about 4%, 5%, 6%, 7%, 8%, 9%, 10%, 15%, 20%, 30%, 40%, 50%, 60%, 70%, 80%, 90%, or more of all nodes in the FHDN. In other cases, the unnecessary nodes may comprise at most about 90%, 80%, 70%, 60%, 50%, 40%, 30%, 20%, 15%, 10%, 9%, 8%, or less of all nodes in the FHDN. The unnecessary edges may comprise at least about 4%, 5%, 6%, 7%, 8%, 9%, 10%, 15%, 20%, 30%, 40%, 50%, 60%, 70%, 80%, 90%, or more of all edges in the FHDN. In other cases, the unnecessary edges may comprise at most about 90%, 80%, 70%, 60%, 50%, 40%, 30%, 20%, 15%, 10%, 9%, 8%, or less of all edges in the FHDN.

[0068] The method may further include utilizing blocking techniques and caching one or more connected graphical regions of the FHDN in memory for any given time. The memory may be volatile RAM or non-volatile memory. Volatile RAM may be implemented as dynamic RAM (DRAM), which requires power constantly to refresh or maintain data in the memory. Non-volatile memory may be a magnetic hard drive, a magnetic optical drive, an optical drive (e.g., DVD RAM), or other type of memory system that maintains data even after power is removed from the system. Non-volatile memory may also be random access memory. Non-volatile memory may be a local device that is directly coupled to the remaining components in the data processing system. Non-volatile memory that is remote from the system, such as a network storage device that is coupled to any of the computer systems described herein through a network interface, such as a modem or Ethernet interface, may also be used.

[0069] The blocking techniques may comprise standard blocking, token blocking, or attribute clustering blocking. The blocking techniques may help avoid memory bandwidth bottlenecks in some applications. The blocking techniques may exploit the inherent data reuse available in an application by ensuring that data remains in the cache across multiple uses. The blocking techniques can be implemented on 1D, 2D, or 3D spatial data structures. Some iterative applications may also benefit from blocking across multiple iterations to further mitigate bandwidth bottlenecks. The blocking techniques may comprise a combination of loop splitting and exchange. Cache blocking can be a technique to rearrange data accesses, bring a subset (block) of data into the cache, operate on this block, and avoid the need to repeatedly fetch data from the main memory.

[0070] Caching one or more connected graphical regions in memory may allow searches to be performed more quickly compared to conventional network graphing techniques. A connected graphical region may refer to a connected region of a graph that does not contain any unreachable vertices / nodes. For example, a connected region of a graph may be loaded into a cache and remain across multiple uses. Caching one or more connected graphical regions in memory may allow searches to be performed 5 to 65 times or more faster compared to conventional network graphing techniques.

[0071] Use of FHDN may enable memory / storage savings of several orders of magnitude compared to traditional network graphing techniques. Storage requirements can be reduced by at least 3 orders of magnitude compared to traditional network graphing techniques. Storage requirements can be reduced by 1-10, 2-9, 3-8, 4-7, 5-6 orders of magnitude compared to traditional network graphing techniques. Storage requirements can be reduced by at least 3, 4, 5, 6, 7, 8, 9, 10, or more orders of magnitude compared to traditional network graphing techniques. In some cases, storage requirements can be reduced by at least 10, 9, 8, 7, 6, 5, 4, or fewer orders of magnitude compared to traditional network graphing techniques. Power Distribution System

[0072] The system may comprise a power distribution system. The power distribution system may comprise different arrangements. The arrangements may comprise a radial system, an extended radial system, a radial system with primary selectivity, a primary and secondary simple radial system, a primary loop system, a secondary selective system, a primary selective system, a power saving transformer system, a secondary spot network, and a combined system.

[0073] The power distribution system may comprise a plurality of distribution feeders. The plurality of distribution feeders may be interconnected through a plurality of connections. The distribution feeders may comprise a plurality of nodes. The nodes may comprise electrical consuming devices and an electrical grid. The distribution feeders may comprise a plurality of edges. The edges may comprise electrical lines connecting the nodes.

[0074] The state of the distribution system may comprise a graphical state of a plurality of distribution feeders at a historical time instance.The state of the distribution system may comprise a graphical state of a plurality of connections connecting the distribution feeders at a historical time instance.

[0075] The state of the distribution system may comprise a graphical state of a subset of the distribution feeders at the historical time instance. The graphical state may comprise all distribution feeders requested by the query at the historical time instance. All distribution feeders at the historical time instance may be a subset of the distribution system. The subset of distribution feeders may comprise at least about 4%, 5%, 6%, 7%, 8%, 9%, 10%, 15%, 20%, 30%, 40%, 50%, 60%, 70%, 80%, 90%, or more of the distribution feeders of the distribution system. In other cases, the subset of distribution feeders may comprise at most about 90%, 80%, 70%, 60%, 50%, 40%, 30%, 20%, 15%, 10%, 9%, 8%, or less of the distribution feeders of the distribution system.

[0076] The FHDN may allow queries about historical time instances to be answered without requiring a full network instantiation of the electrical distribution system at the historical time instance, which may be the creation of a real instance or a specific realization of an abstract concept or template, such as a class of data objects or a computer process.

[0077] The plurality of nodes and edges and time series may be associated with a plurality of distribution feeders and connected nodes and branches within each feeder. The plurality of nodes and edges may comprise (1) all nodes and edges that previously existed in the distribution feeder at any given time, and (2) all nodes and edges currently existing in the distribution feeder. In other embodiments, the plurality of nodes and edges comprises (1) all nodes and edges that previously existed in the distribution feeder at any given time, (2) all nodes and edges currently existing in the distribution feeder, and (3) all nodes and edges that will exist in the distribution feeder.

[0078] The time series may comprise precise times of additions or removals for selected nodes or edges in the distribution feeder. The time series may comprise precise times of additions, removals, or corrections for selected nodes or edges in the distribution feeder. The time series may be acquired over systematic or non-systematic time intervals. For non-systematic time intervals, the time series may be acquired first at a first time for a first time period, and then at a second time for a second time period. For example, the time series may be acquired first every s for a first time period of 1 minute, and then every 10 s for a second time period of 10 hours. The addition or removal of the selected edge may correspond to the opening or closing of a breaker switch in the distribution system, the breaker switch being associated with the selected edge. The correction of the selected edge may represent a change in electrical consumption of the selected edge.

[0079] The query may comprise a query of the precise electrical configuration of one or more selected distribution feeders at any given time.

[0080] A graph search algorithm may be utilized to query the state of one or more selected distribution feeders at any given time by searching only the nodes and edges contained within the one or more selected distribution feeders. A search algorithm may be any algorithm that solves a search problem to retrieve information stored in a data structure or computed within a search space of a problem domain. Examples of search algorithms include, but are not limited to, linked lists, array data structures, or search trees. Search algorithms may also comprise linear search algorithms, binary search algorithms, jump search algorithms, interpolation search algorithms, exponential search algorithms, sublist search algorithms, comparison search algorithms, and digital search algorithms.

[0081] The graph search algorithm may not be configured to query nodes and edges contained within other, non-selected distribution feeders. The search algorithm may be configured to directly query only a subset of nodes without querying other unnecessary nodes. The search algorithm may be configured to indirectly query only a subset of nodes without querying other unnecessary nodes. The search algorithm may be configured to directly query only a subset of nodes without querying other unnecessary edges. The search algorithm may be configured to indirectly query only a subset of nodes without querying other unnecessary edges. The search algorithm may be configured to directly query only a subset of nodes without querying other unnecessary nodes and edges. The search algorithm may be configured to indirectly query only a subset of nodes without querying other unnecessary nodes and edges. The unnecessary nodes and edges may be nodes and edges that are not relevant to the query.

[0082] The FHDN may allow queries on any portion of the network at a historical time instance to be answered while using only about 10MB to 100MB of storage, compared to 2.1TB using traditional graphing techniques. The amount of memory required to store the FHDN may be at most 40MB, 30MB, 25MB, 20MB, 19MB, 18MB, 17MB, 16MB, 15MB, 14MB, 13.4MB, 13MB, 12MB, 11MB, 10MB, 9MB, 8MB, 7MB, 6MB, 5MB, 4MB, 3MB, 2MB, 1MB, or less. In some cases, the amount of memory required to store the FHDN may be much more, depending on the size, complexity, and age of the system the FHDN represents. Material list

[0083] The system may include a bill of materials for any manufacturing enterprise. A bill of materials (BOM) may include a list of raw materials, subassemblies, intermediate assemblies, partial components, parts, and the quantities of each required to manufacture a final product. A BOM may be used for communication between manufacturing partners or may be limited to a single manufacturing plant.

[0084] A BOM can define products as they are designed (engineering bill of materials), as they are ordered (sales bill of materials), as they are built (manufacturing bill of materials), or as they are maintained (service bill of materials). Different types of BOMs depend on business demand and their intended use. A BOM may also comprise a formula table, recipe, or ingredient list. In electronics, a BOM may represent a list of components used on a printed wiring board or printed circuit board.

[0085] The system may comprise a supply chain distribution network. The supply chain distribution network may comprise multiple players (e.g., buyers or sellers). The multiple players may be interconnected through multiple connections. The connections may represent purchases, sales, or purchases and sales.

[0086] The state of the supply chain distribution network may comprise the graphical states of a number of players at historical time instances.The state of the supply chain distribution network may comprise the graphical states of a number of connections connecting the players at historical time instances.

[0087] The state of the supply chain distribution network may comprise a graphical state of a subset of the players at a historical time instance. The graphical state may comprise all players active in the supply chain distribution network at a historical time instance. All players at a historical time instance may be a subset of the system. The subset of players may comprise at least about 4%, 5%, 6%, 7%, 8%, 9%, 10%, 15%, 20%, 30%, 40%, 50%, 60%, 70%, 80%, 90%, or more of the players in the supply chain distribution network. In other cases, the subset of players may comprise at most about 90%, 80%, 70%, 60%, 50%, 40%, 30%, 20%, 15%, 10%, 9%, 8%, or less of the players in the supply chain distribution network.

[0088] The FHDN may allow queries regarding historical time instances to be answered without requiring a full network instantiation of the supply chain distribution network at the historical time instance. In a supply chain distribution network, the FHDN may comprise multiple players (represented by multiple nodes), multiple connections (represented by multiple edges) connecting the players, and a time series associated with each of the multiple players and connections. The FHDN of a supply chain distribution system may comprise all players and all connections that have ever existed in the supply chain distribution system.

[0089] The plurality of nodes and edges and time series may be associated with the plurality of players. The plurality of nodes and edges may comprise (1) all nodes and edges that previously existed in the supply chain distribution system at any given time, and (2) all nodes and edges that currently exist in the supply chain distribution system. In other embodiments, the plurality of nodes and edges comprises (1) all nodes and edges that previously existed in the supply chain distribution system at any given time, (2) all nodes and edges that currently exist in the supply chain distribution system, and (3) all nodes and edges that will exist in the supply chain distribution system.

[0090] The time series may comprise precise times of additions or removals for selected nodes or edges in a supply chain distribution system. The time series may comprise precise times of additions, removals, or corrections for selected nodes or edges in a supply chain distribution system. In a supply chain distribution system, an addition may represent a player being open to buy from or sell to other players, a removal may represent a player not being open to buy from or sell to other players, and a correction may represent a player changing its position in buying from or selling to other players. The time series may be acquired over systematic or non-systematic time intervals. For non-systematic time intervals, the time series may be acquired first at a first time over a first time period, and then at a second time over a second time period. For example, the time series may be acquired first every s over a first time period of 1 minute, and then every 10 s over a second time period of 10 hours.

[0091] A graph search algorithm may be utilized to query the state of the supply chain distribution network at a given time by searching only the nodes and edges that are active in the supply chain distribution network. The graph search algorithm may define an order to search through the nodes of the graph. The graph search algorithm may be a connected component search, such as a depth-first search or a breadth-first search. For example, the graph search algorithm may start at a source node and continue searching until a target node is found, and then the frontier may comprise nodes that have not yet been searched, and at each iteration, a node may be removed from the frontier and its neighbors may be added to the frontier. The necessity criteria may be set by the user. For example, if an analysis requires information about a small subset of nodes at a given time, the FHDN data structure may be directly queried to assess the results of this analysis without touching any unnecessary nodes. The search algorithm may be any algorithm that solves a search problem to retrieve information that is stored in a data structure or computed within a search space of a problem domain. Exemplary search algorithms are described elsewhere herein. The graph traversal algorithm may define an order for traversing through the nodes of the graph. The graph traversal algorithm may be a depth-first search algorithm, a breadth-first search algorithm, Dijkstra's algorithm, or the like.

[0092] The graph search algorithm may not be configured to query non-selected nodes and edges contained within the supply chain distribution network. The search algorithm may be configured to directly query only a subset of the nodes and / or edges without querying other unnecessary nodes and / or edges. The search algorithm may be configured to indirectly query only a subset of the nodes and / or edges without querying other unnecessary nodes and / or edges. The unnecessary nodes or edges may comprise at least about 4%, 5%, 6%, 7%, 8%, 9%, 10%, 15%, 20%, 30%, 40%, 50%, 60%, 70%, 80%, 90%, or more of all nodes or edges in the FHDN, respectively. In other cases, the unnecessary nodes or edges may comprise at most about 90%, 80%, 70%, 60%, 50%, 40%, 30%, 20%, 15%, 10%, 9%, 8%, or less of all nodes or edges in the FHDN, respectively.

[0093] The FHDN may allow queries on any portion of the supply chain distribution network at a historical time instance to be answered while requiring only small amounts of storage. The amount of memory required to store the FHDN may be at most 40MB, 30MB, 25MB, 20MB, 19MB, 18MB, 17MB, 16MB, 15MB, 14MB, 13.4MB, 13MB, 12MB, 11MB, 10MB, 9MB, 8MB, 7MB, 6MB, 5MB, 4MB, 3MB, 2MB, 1MB, or less. In some cases, the amount of memory required to store the FHDN may be much more depending on the size, complexity, and age of the system that the FHDN represents. Social Network

[0094] The system may include a social network of multiple users. The system may include multiple social networks. The multiple social networks may be interconnected through multiple connections. A given social network of the multiple social networks may include multiple users (represented by nodes) and multiple connections (represented by edges).

[0095] The system described herein can be used to query the state of a social network at a particular point in history. Such state can be used, for example, to track demographic changes in the population of people on the social network. Such state can also be of interest to users of the social network so that they can see how their social circle is growing over time. The state of the system may comprise the graphical state of a plurality of social networks at a historical time instance. The state of the system may comprise the graphical state of a plurality of connections connecting the social networks at a historical time instance. The number of social networks at the historical time may be at least 1, 10, 50, 100, 200, 300, 400, 500, 1,000, 10,000, or more. The number of social networks at the historical time may be at most 10,000, 1,000, 500, 400, 300, 200, 100, 50, 10, or less. The number of connections connecting social networks at a historical time instance may be at least 1, 10, 50, 100, 200, 300, 400, 500, 1,000, 10,000, or more. The number of connections connecting social networks at a historical time instance may be at most 10,000, 1,000, 500, 400, 300, 200, 100, 50, 10, or less.

[0096] The state of the system may comprise a graphical state of a subset of social networks at a historical time instance. The graphical state may comprise all social networks active at a historical time instance. All social networks at a historical time instance may be a subset of the system. The subset of social networks may comprise at least about 4%, 5%, 6%, 7%, 8%, 9%, 10%, 15%, 20%, 30%, 40%, 50%, 60%, 70%, 80%, 90%, or more of all social networks of the system. In other cases, the subset of social networks may comprise at most about 90%, 80%, 70%, 60%, 50%, 40%, 30%, 20%, 15%, 10%, 9%, 8%, or less of all social networks of the system.

[0097] The FHDN may allow queries about historical time instances to be answered without requiring a full network instantiation of the system at the historical time instance. In the system, the FHDN may comprise a number of users (represented by a number of nodes), a number of connections (represented by a number of edges) connecting the users, and a time series associated with each of the users and connections. A connection may represent following or adding a friend. The FHDN of a social network may comprise all users and all connections that have ever existed in the system.

[0098] The plurality of nodes and edges and time series may be associated with the plurality of social networks and the connected nodes and branches within each social network. The plurality of nodes and edges may comprise (1) all nodes and edges that previously existed in the social network at any given time, and (2) all nodes and edges that currently exist in the social network. In other embodiments, the plurality of nodes and edges may comprise (1) all nodes and edges that previously existed in the social network at any given time, (2) all nodes and edges that currently exist in the social network, and (3) all nodes and edges that will exist in the social network.

[0099] The time series may comprise precise times of additions or removals for selected nodes or edges in the social network. The time series may comprise precise times of additions, removals, or corrections for selected nodes or edges in the social network. In a social network, an addition may represent a user adding another user as a friend or following another user, a removal may represent a user blocking or removing another user from friends, and a correction may represent a user changing his / her position relative to another user. For systematic time intervals, the time series may be first acquired at a first time for a first time period, and then acquired at a second time for a second time period. For example, the time series may be first acquired every 1 s for a first time period of 1 minute, and then acquired every 10 s for a second time period of 10 hours.

[0100] A graph search algorithm may be utilized to query the state of a social network at any given time by searching only the nodes and edges contained in the social network of interest. A search algorithm may be any algorithm that solves a search problem to retrieve information stored in a data structure or computed within a search space of a problem domain. Exemplary search algorithms are described elsewhere herein.

[0101] The graph search algorithm may be configured to query only the status of nodes and edges contained in the selected social network as needed. The graph search algorithm may not be configured to query nodes and edges contained in other non-selected social networks. The search algorithm may be configured to directly query only a subset of the nodes and / or edges without querying other unnecessary nodes and / or edges. In other embodiments, the search algorithm may be configured to indirectly query only a subset of the nodes and / or edges without querying other unnecessary nodes and / or edges. The unnecessary nodes or edges may comprise at least about 4%, 5%, 6%, 7%, 8%, 9%, 10%, 15%, 20%, 30%, 40%, 50%, 60%, 70%, 80%, 90%, or more of all nodes and edges in the FHDN, respectively. In other cases, the unnecessary nodes or edges may comprise at most about 90%, 80%, 70%, 60%, 50%, 40%, 30%, 20%, 15%, 10%, 9%, 8%, or less of all nodes and edges in the FHDN, respectively. The amount of memory required to store the FHDN may be at most 40MB, 30MB, 25MB, 20MB, 19MB, 18MB, 17MB, 16MB, 15MB, 14MB, 13.4MB, 13MB, 12MB, 11MB, 10MB, 9MB, 8MB, 7MB, 6MB, 5MB, 4MB, 3MB, 2MB, 1MB, or less. In some cases, the amount of memory required to store the FHDN may be much more depending on the size, complexity, and age of the system the FHDN represents. Other embodiments

[0102] In another aspect, a system for determining a historical state of a dynamic network may include a data aggregation component and a network graphing component.

[0103] The data aggregation component may be configured to continuously obtain data associated with the system from multiple different data sources. The data sources are described elsewhere herein. The data aggregation component may perform data aggregation. The data aggregation may comprise graph aggregation. In graph aggregation, temporal variations in topology and parameter values ​​can be represented using aggregates as edge / node attributes in a graph used to represent the spatial network. Edges and nodes can disappear from the network over time, and new nodes and edges can be added. The time-aggregated graph can track these changes through time series attached to each node and edge indicating its presence at various times.

[0104] The network graphing component may be configured to use the data to construct a Full Historical Dynamic Network (FHDN) of the system and, in response to queries of the FHDN for historical time instances, provide a state of the system for historical time instances. The FHDN may comprise (1) a plurality of nodes, which may change dynamically, (2) a plurality of edges connecting the nodes, which may change dynamically, and (3) a time series associated with each of the plurality of nodes and edges. The FHDN is described elsewhere herein.

[0105] The system may further comprise a display component. The display component may comprise a speaker or a display screen. The speaker and / or the display screen may be operatively coupled with the electronic device. The speaker and / or the display screen may be integrated with the electronic device. The electronic device may be a small alert device. The electronic device may be a portable electronic device. The electronic device may be a mobile phone, a PC, a tablet, a printer, a home electronic device, and a home appliance. The electronic device may be a wearable device, including, but not limited to, Fitbit, Apple watch, Samsung health, Misfit, Xiaomi Mi band, and Microsoft band. The display screen may be a liquid crystal display, as in a tablet computer. The display screen may be accompanied by one or more speakers and may be configured to provide visual and audible instructions to the user. The speaker may comprise a smart speaker. The smart speaker may comprise Alexa, Google Home, Google Assistant, Clova, Microsoft Cortana, AliGenie, Ambient, Apple HomeKit, Apple Siri, and Apple Pod.

[0106] In another aspect, a non-transitory computer-readable medium may store instructions that, when executed by one or more servers, cause the one or more servers to perform a method including continuously obtaining data associated with the system from a plurality of different data sources, using the data to construct a Historical Full Dynamic Network (FHDN) of the system, and providing a state of the system with respect to historical time instances in response to a query of the FHDN with respect to the historical time instances.

[0107] The data may be stored in a database. The database may be stored in a computer readable format. A computer processor may be configured to access the data stored in the computer readable memory. A computer system may be used to analyze the data and obtain the results. The results may be stored remotely or internally on a non-transitory computer readable medium and communicated to a user of the system or FHDN. The non-transitory computer readable medium may be operatively coupled with a component for transmitting the results. The component for transmitting may include wired and wireless components. Examples of wired communication components may include a Universal Serial Bus (USB) connection, a coaxial cable connection, an Ethernet cable such as a Cat5 or Cat6 cable, a fiber optic cable, or a telephone line. Examples of wireless communication components may include a Wi-Fi receiver, a component for accessing a mobile data standard such as a 3G or 4G LTE data signal, or a Bluetooth receiver. All these data in the non-transitory computer readable medium may be collected and archived to build a data warehouse.

[0108] An FHDN may comprise (1) a number of nodes, which may change dynamically, (2) a number of edges connecting the nodes, which may change dynamically, and (3) a time series associated with each of the number of nodes and edges. FHDNs are described elsewhere herein.

[0109] The systems and methods described herein can be implemented, for example, using various embodiments of the platform described in U.S. Patent Application Publication No. 2018 / 0191867 (entitled “Systems, Methods, and Devices for an Enterprise AI and Internet-of-Things Platform”), which is incorporated by reference in its entirety.

[0110] Although preferred embodiments of the present invention have been shown and described herein, it will be apparent to those skilled in the art that such embodiments are provided by way of example only. The present invention is not intended to be limited by the specific examples provided herein. Although the present invention has been described with reference to the above specification, the description and illustration of the embodiments herein are not meant to be construed in a limiting sense. Numerous variations, changes, and substitutions will now occur to those skilled in the art without departing from the present invention. Furthermore, it should be understood that all aspects of the present invention are not limited to the specific depictions, configurations, or relative proportions set forth herein, which depend upon a variety of conditions and variables. It should be understood that various alternatives to the embodiments of the present invention described herein may be employed in practicing the present invention. It is therefore contemplated that the present invention also covers any such alternatives, modifications, variations, or equivalents. The following claims define the scope of the present invention, and it is intended that methods and structures within the scope of these claims and their equivalents be covered thereby.

Claims

1. A method comprising: one or more processors extracting information from a Full Historical Dynamic Network (FHDN) based on one or more parameters, the FHDN including a representation of a dynamic system over a period of time, the representation including a plurality of elements of the dynamic system over the period of time and connections between pairs of elements of the plurality of elements over the period of time, the FHDN including time series data associated with the connections and each of the plurality of elements, the time series data including data indicative of changes in state of the plurality of nodes over the period of time and changes in state of the connections over the period of time; determining, by the one or more processors, one or more operational states of the dynamic network at one or more historical time instances based on the information extracted from the FHDN, the one or more historical time instances being within the time period; determining, by the one or more processors, a dynamic behavior of the dynamic network based on the one or more operating conditions of the dynamic network; The method includes:

2. The method of claim 1, wherein the dynamic network is a power grid and the dynamic behavior includes changes to the flow of electricity through assets of the power grid.

3. The method of claim 1, wherein the dynamic network is a communications network and the dynamic behavior includes changes to the flow of information through assets of the communications network.

4. The method of claim 1, wherein the dynamic network is a traffic network and the dynamic behavior includes changes to traffic patterns of the traffic network.

5. The method of claim 4, wherein the FHDN associates weights with connections, the weights representing attributes associated with the elements of the transportation network.

6. The method of claim 5, wherein the attributes include travel time, distance, or both.

7. The method of claim 4, further comprising: the one or more processors determining an optimal route through the transportation network based on the FHDN.

8. The method of claim 1, wherein the dynamic network is a supply chain network and the dynamic behavior includes changes to the movement of items through the supply chain network.

9. The method of claim 1, further comprising: the one or more processors generating a prediction based on analysis of the FHDN.

10. The method of claim 9, wherein the prediction is a failure of at least one element of the dynamic network.

11. A system comprising: Memory, one or more processors communicatively coupled to the memory; wherein the one or more processors: extracting information from a Full Historical Dynamic Network (FHDN) based on one or more parameters, the FHDN including a representation of a dynamic system over a period of time, the representation including a plurality of elements of the dynamic system over the period of time and connections between pairs of elements of the plurality of elements over the period of time, the FHDN including time series data associated with the connections and each of the plurality of elements, the time series data including data indicative of changes in state of the plurality of nodes over the period of time and changes in state of the connections over the period of time; determining one or more operational states of the dynamic network at one or more historical time instances based on the information extracted from the FHDN, the one or more historical time instances being within the time period; determining a dynamic behavior of the dynamic network based on the one or more operating conditions of the dynamic network; A system configured to:

12. The system of claim 11, wherein the dynamic network is a power grid and the dynamic behavior includes changes to the flow of electricity through assets of the power grid.

13. The system of claim 11, wherein the dynamic network is a communications network and the dynamic behavior includes changes to the flow of information through assets of the communications network.

14. The system of claim 11, wherein the dynamic network is a transportation network, the dynamic behavior includes changes to traffic patterns of the transportation network, and the FHDN associates weights with connections, the weights representing attributes associated with the elements of the transportation network.

15. The system of claim 14, wherein the attributes include travel time, distance, or both.

16. The system of claim 14, wherein the one or more processors are configured to determine an optimal route through the transportation network based on the FHDN.

17. The system of claim 11, wherein the dynamic network is a supply chain network and the dynamic behavior includes changes to the movement of items through the supply chain network.

18. The system of claim 11, wherein the one or more processors are configured to generate a prediction based on analysis of the FHDN.

19. The system of claim 18, wherein the prediction is a failure of at least one element of the dynamic network.

20. A non-transitory computer-readable storage medium storing instructions that, when executed by one or more processors, extracting information from a Full Historical Dynamic Network (FHDN) based on one or more parameters, the FHDN including a representation of a dynamic system over a period of time, the representation including a plurality of elements of the dynamic system over the period of time and connections between pairs of elements of the plurality of elements over the period of time, the FHDN including time series data associated with the connections and each of the plurality of elements, the time series data including data indicative of changes in state of the plurality of nodes over the period of time and changes in state of the connections over the period of time; determining one or more operational states of the dynamic network at one or more historical time instances based on the information extracted from the FHDN, the one or more historical time instances being within the time period; determining a dynamic behavior of the dynamic network based on the one or more operating conditions of the dynamic network; 23. A non-transitory computer-readable storage medium that causes the one or more processors to perform operations including:

Citation Information

Patent Citations

  • Network operating systems for managing and securing networks

    JP2010541426A

  • Network management device, network management method and program

    JP2015184704A

  • Smoothed dynamic modeling of user traveling preferences in public transportation system

    JP2017162450A

  • System for Networking and Analyzing Geospatial Data, Human Infrastructure, and Natural Elements

    US20160315801A1

  • Method for operating a network having multiple node devices, and network

    US20180191195A1