System and Method for Total Historical Dynamic Network Analysis

The FHDN system addresses the challenge of capturing dynamic network histories by constructing networks with changing nodes and edges, enabling efficient storage and precise querying at any time, thus overcoming the limitations of static memory engines in existing technologies.

JP7854482B2Active Publication Date: 2026-05-01C3 AI INC
View PDF 5 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
C3 AI INC
Filing Date
2024-09-30
Publication Date
2026-05-01

AI Technical Summary

Technical Problem

Existing network analysis techniques fail to capture the precise historical state of dynamic networks, such as power grids and social networks, due to their static memory engines, which cannot query the graph at arbitrary points in time with the required second-by-second precision for understanding complex events like cascading failures.

Method used

A method and system for constructing a Full Historical Dynamic Network (FHDN) that includes dynamically changing nodes and edges with associated time series, allowing queries at any historical time instance without requiring periodic snapshots, using iterative graph search algorithms and memory caching techniques.

Benefits of technology

Enables efficient storage and querying of network states at any historical time, reducing storage requirements by several orders of magnitude and allowing quick, precise queries without instantiating the entire network, facilitating analyses in complex systems like power distribution and social networks.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007854482000001
    Figure 0007854482000001
  • Figure 0007854482000002
    Figure 0007854482000002
  • Figure 0007854482000003
    Figure 0007854482000003
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 Application) This application claims the benefit of priority of U.S. Provisional Patent Application No. 62 / 754,786, filed Nov. 2, 2018, which is hereby incorporated by reference in its entirety.

Background Art

[0002] Network science is the study of large-scale and complex networks. Such networks can include computer networks, cyber-physical systems, telecommunications 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 the connections between elements or actors can be represented by links (or edges).

[0003] Networks can be visualized using graphs. Several industries and companies are developing applications of network and graph processing approaches designed for static graphical analysis. For example, Google Maps can plan complex routes across a current snapshot of a country's road network, and Facebook can represent its social network as a large graph, developing the GraphQL language for querying such graphs. These graphs are not "static" in the conventional sense, as nodes and edges can be added and removed over time, and the characteristics of nodes or edges can change. However, these graphs do not remember the entire history of dynamic processes. For example, Google Maps may not be able to visualize the precise state of traffic at a specific time (e.g., 7:45 PM PT on April 23, 2013) and in a given area, and Facebook may not be able to visualize the state of its social network graph at an arbitrary point in time, for example, a year ago. These networks are dynamic, but the memory engine is static in that it only shows 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. [Overview of the project] [Means for solving the problem]

[0004] Current techniques for determining the historical state of a network may involve taking periodic snapshots of the network graph and then analyzing the sequence of these snapshots to understand the historical dynamic behavior. However, this may not be sufficient for different network domains. For example, in Internet of Things (IoT) applications such as energy distribution systems, the flow of electricity may be determined by the precise physical connectivity of the network, and understanding complex events such as cascading failures may require second-by-second precision knowledge of the configuration of switches and connectivity within 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, as its edges and nodes are constantly being added, removed, or changing state as the network evolves. For example, in a power grid, physical assets (power lines, transformers, etc.) are added and removed over time, and switches are opened and closed; each of these changes fundamentally alters the resulting physical fluidity of the network. For example, in a transportation network, roads are opened and closed, and traffic patterns on a given road change rapidly over time. To effectively infer 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 respect, a computer implementation method for determining the historical state of a dynamic network includes the steps of: successively acquiring data associated with a 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 that can change dynamically; (2) a plurality of edges connecting the nodes, each edge being a plurality of dynamically changing edges; and (3) time series associated with each of the plurality of nodes and edges; and providing the state of the system with respect to a historical time instance in response to a query of the FHDN regarding the historical time instance. The time series may show changes in the state of the plurality of nodes and plurality of edges over time. The FHDN may be constructed without requiring periodic capture and storage of snapshots of the system at different points in time.

[0007] In some embodiments, the state of the system comprises a graphical state of the entire network in an as-operated state in a historical time instance. In some embodiments, the state of the system comprises a graphical state of a subset of the network in a historical time instance. The graphical state of the network or a subset of the network may be a strict graphical state, a substantially strict 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 points in time. In some embodiments, the historical dynamic behavior of the FHDN is determined without analyzing a sequence of snapshots of the network captured at different points in time. In some embodiments, the FHDN allows queries on a historical time instance to be answered without requiring full network instantiation in that historical time instance.

[0008] In some embodiments, the nodes and edges comprise (1) all nodes and edges that previously existed in the network at any given time, and (2) all nodes and edges that currently exist in the network. In some embodiments, the time series relating to a selected node or edge comprises precise timelines of additions or removals relating to the selected node or edge in the network. In some embodiments, the time series is based on events or changes occurring at the selected node or edge.

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

[0010] In some embodiments, the method further includes the step of 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 may be 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 conventional network graphing techniques.

[0011] In some embodiments, the use of FHDN enables memory / storage savings of several orders of magnitude compared to conventional network graphing techniques. In some embodiments, storage requirements can be reduced by at least about one to three orders of magnitude compared to conventional 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 a power distribution system. In some embodiments, the power distribution system comprises a plurality of power distribution feeders. In some embodiments, the state of the power distribution system comprises a graphical state of the plurality of power distribution feeders in a historical time instance. In some embodiments, the state of the power distribution system comprises a graphical state of a subset of power distribution feeders in a historical time instance. In some embodiments, FHDN enables queries concerning a historical time instance to be answered without requiring the full network instantiation of the power distribution system in that 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, a time series relating to a selected node or edge includes precise timing of additions or removals relating to a selected node or edge in the network. In some embodiments, the addition or removal of a selected edge corresponds to the opening or closing of a breaker switch in the distribution system, the breaker switch is associated with the selected edge.

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

[0015] In some embodiments, the graph search algorithm is configured to query only the status of nodes and edges contained within selected distribution feeders. In some embodiments, the graph search algorithm is not configured to query nodes and edges contained within other unselected distribution feeders. In some embodiments, the network comprises 280,000 grid nodes, 320,000 edges, and 1,000,000 open / closed time-series events logged over a 6-year cycle. In the above embodiments, FHDN enables queries in any part of the network in historical time instances to be answered while requiring only 13.4 MB of storage compared to 2.1 TB using conventional graphing techniques. In some embodiments, the system comprises a materials list for any manufacturing company. In some embodiments, the system comprises a supply chain distribution network. In some embodiments, the system comprises a social network consisting of multiple users.

[0016] In another respect, the system for determining the historical state of a dynamic network comprises a data aggregation component for successively acquiring data associated with the system from multiple different data sources, and a network graphing component which uses the data to construct the full historical dynamic network (FHDN) of the system, the FHDN comprising (1) a plurality of nodes that can change dynamically, (2) a plurality of edges connecting the nodes, the edges of which can change dynamically, and (3) a time series associated with each of the plurality of nodes and edges, and is configured to provide the state of the system regarding the historical time instance in response to queries of the FHDN regarding the historical time instance.

[0017] In another aspect, non-transient computer-readable media, when executed by one or more servers, stores instructions causing one or more servers to perform a method comprising: the steps of: successively acquiring data associated with a system from multiple different data sources; using the data to construct a full historical dynamic network (FHDN) of the system, wherein the FHDN comprises (1) a plurality of nodes that can change dynamically; (2) a plurality of edges connecting the nodes, each edge being a plurality of edges that can change dynamically; and (3) a time series associated with each of the plurality of nodes and edges; and providing the state of the system with respect to a historical time instance in response to a query of the FHDN regarding said historical time instance.

[0018] Additional aspects and advantages of this disclosure will be readily apparent to those skilled in the art from the following detailed description, which shows and describes only illustrative embodiments of this disclosure. As will be understood, other different embodiments are possible, some of their details of which can be modified in various obvious ways without departing from this disclosure. Therefore, the drawings and description are intended to be illustrative and not restrictive in nature. (Integrated by reference)

[0019] All publications, patents, and patent applications referenced herein are incorporated herein by reference to the same extent as each individual publication, patent, or patent application is shown to be incorporated by specific and individual reference. To the extent that any publications and patents or patent applications incorporated by reference conflict with any disclosure contained herein, this specification is intended to take precedence and / or precede any such conflicting material. The present invention provides, for example, the following items: (Item 1) A computer implementation method for determining the historical state of a system, wherein the method is Obtaining data about the system from multiple different data sources, Using the aforementioned data, construct a full historical dynamic network (FHDN) of the system, wherein the FHDN comprises: (1) a plurality of nodes capable of changing dynamically; (2) a plurality of edges connecting the nodes, wherein the plurality of edges are capable of changing dynamically; and (3) a time series associated with each of the plurality of nodes and the plurality of edges, wherein the time series shows the changes in the state of the plurality of nodes and the plurality of edges over time. In response to a query of the FHDN regarding a historical time instance, the system provides the state of the historical time instance. Methods that include... (Item 2) The method according to item 1, wherein the state of the system comprises the exact graphical state of the system in the operated state in the historical time instance. (Item 3) The method according to item 1, wherein the state of the system comprises a strict graphical state relating to a subset of the system in the historical time instance. (Item 4) The method according to item 1, wherein the historical dynamic behavior of the FHDN is determined without analyzing a sequence of snapshots of the network captured at different points in time. (Item 5) The method according to item 1, wherein the FHDN enables queries relating to the historical time instance to be answered without requiring all network instantiations in the historical time instance. (Item 6) The method according to item 1, wherein the plurality of nodes and edges comprises (1) all nodes and edges that were started in a given time instance and previously existed in the network, and (2) all nodes and edges that are currently in the network. (Item 7) The method according to item 1, wherein the time series regarding the selected node or edge includes the time of addition or removal of the selected node or edge in the network. (Item 8) The method according to item 1, wherein the time series is based on an event or change occurring at the selected node or edge. (Item 9) The method according to item 1, wherein the state of the system in the historical time instance is obtained by using a search algorithm that iterates over the plurality of nodes and searches through the time series. (Item 10) The method according to item 9, wherein the search algorithm comprises an iterative graph search algorithm configured to check only the status of the selected node or edge as needed. (Item 11) The method according to item 9, wherein the query comprises a request for information about 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) The method according to item 1, further comprising using a blocking technique to cache the entire connected graphical region of the FHDN in memory for an instance at any given point in time. (Item 13) The method according to item 12, wherein the connected graphical region of the FHDN does not contain any unreachable nodes. (Item 14) The method according to item 13, wherein the blocking technique comprises standard blocking, token blocking, or attribute clustering blocking. (Item 15) The method according to item 13, wherein caching the entire connected graphical region in memory enables the search to be executed more quickly compared to conventional network graphing techniques. (Item 16) The method described in item 1, which uses FHDN, enables memory / storage savings of several orders of magnitude compared to conventional network graphing techniques. (Item 17) The method according to item 16, wherein the storage requirements can be reduced by at least three orders of magnitude compared to conventional network graphing techniques. (Item 18) The system is the method according to item 1, comprising a power distribution system. (Item 19) The power distribution system comprising a plurality of power distribution feeders, according to the method of item 18. (Item 20) The method according to item 19, wherein the state of the power distribution system comprises the exact graphical state of the plurality of power distribution feeders in the historical time instance. (Item 21) The method according to item 19, wherein the state of the power distribution system comprises the exact graphical state of a subset of the power distribution feeders in the historical time instance. (Item 22) The method of item 18, wherein the FHDN enables the query relating to the historical time instance to be answered without requiring the full network instantiation of the power distribution system in the historical time instance. (Item 23) The method according to item 19, wherein (1) the plurality of nodes and edges and (2) the time series are associated with the plurality of power distribution feeders and the connected nodes and branches within each feeder. (Item 24) The method according to item 23, wherein the time series relating to the selected node or edge comprises the time of adding or removing the selected node or edge in the network. (Item 25) The method according to item 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, and the breaker switch is associated with the selected edge. (Item 26) The method according to item 23, wherein the query comprises a query for the electrical configuration of one or more selected distribution feeders in any given time instance. (Item 27) The method according to item 26, wherein a graph search algorithm is used to query the exact state of the one or more selected power distribution feeders in any given time instance by searching only for the nodes and edges contained within the one or more selected power distribution feeders. (Item 28) The method according to item 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) The method according to item 28, wherein the graph search algorithm is not configured to query the nodes and edges contained within other unselected distribution feeders. (Item 30) The method according to item 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, each column of the plurality of columns representing one of the plurality of edges, and entries in the rows and columns of the two-dimensional matrix indicating whether the edge represented by the column is connected to the node represented by the row. (Item 31) The aforementioned entries are in chronological order, as described in item 30. (Item 32) The FHDN is stored in the graph database, according to the method described in item 1. (Item 33) The graph database comprises multiple pointers between the multiple nodes, each pointer representing one of the multiple edges, according to the method of item 32. (Item 34) The method according to item 33, wherein the plurality of pointers include bidirectional pointers. (Item 35) The method according to item 33, wherein the plurality of pointers include one-way pointers. (Item 36) The method according to item 1, wherein the plurality of nodes and the plurality of edges have tags or properties. (Item 37) The method according to item 1, wherein the plurality of edges are weighted to indicate the strength of the connection or relationship between the nodes. (Item 38) The method according to item 1, wherein the system comprises a materials list relating to any manufacturing company. (Item 39) The system described above is the method described in item 1, comprising a supply chain distribution network. (Item 40) The system is the method described in item 1, comprising a social network consisting of multiple users. (Item 41) The method according to item 1, wherein the system is a molecule comprising a plurality of atoms and a plurality of bonds, the plurality of nodes represent the plurality of atoms, and the plurality of edges represent the plurality of bonds. (Item 42) The method according to item 1, wherein the system is an oil and gas processing pipeline comprising drilling assets, refining assets, and pipeline assets, the plurality of nodes represent the drilling assets and the pipeline assets, and the plurality of edges represent the pipeline assets. (Item 43) The method according to item 1, wherein the system is a biological neural network comprising neurons and their connections. (Item 44) The system described above is a road network, as described in item 1. (Item 45) The method according to item 1, wherein the FHDN is constructed without requiring periodic capture and storage of snapshots of the system at different points in time. (Item 46) The method according to item 1, wherein constructing the FHDN of the system includes generating data objects representing the plurality of nodes, the plurality of edges, and the time series. (Item 47) A system for determining the historical state of a system, wherein the system is A data aggregation component for sequentially acquiring data about the system from multiple different data sources, A network graphing component, Using the aforementioned data, construct the full historical dynamic network (FHDN) of the system, The FHDN comprises (1) a plurality of dynamically changeable nodes, (2) a plurality of edges connecting the nodes, wherein the plurality of edges are dynamically changeable, and (3) a time series associated with each of the plurality of nodes and the plurality of edges, wherein the time series shows the changes in the state of the plurality of nodes and the plurality of edges over time, and the FHDN is constructed without requiring the periodic capture and storage of snapshots of the system at different points in time. In response to the FHDN query regarding the historical time instance, the historical time instance To provide the state of the system regarding stance and A network graphing component configured to perform the following: A system equipped with these features. (Item 48) A non-transient computer-readable medium, the non-transient computer-readable medium storing instructions, the instructions, when executed by one or more servers, cause the one or more servers to perform a method, the method is Obtaining information about the system from multiple different data sources, Using the aforementioned data, construct a full historical dynamic network (FHDN) of the system, wherein the FHDN comprises (1) a plurality of dynamically changeable nodes, (2) a plurality of edges connecting the nodes, wherein the plurality of edges are dynamically changeable, and (3) a time series associated with each of the plurality of nodes and the plurality of edges, wherein the time series shows the changes in the state of the plurality of nodes and the plurality of edges over time, and the FHDN is constructed without requiring the periodic capture and storage of snapshots of the system at different points in time. In response to a query of the FHDN regarding a historical time instance, the system provides the state of the historical time instance. Non-transient computer-readable media, including [specific examples of such media]. [Brief explanation of the drawing]

[0020] Novel features of the present invention are specifically described in the appended claims. A deeper understanding of the features and advantages of the present invention will be obtained by referring to the following detailed description and accompanying drawings (also referred to herein as "Figures") which describe illustrative embodiments in which the principles of the present invention are utilized.

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

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

[0023] [Figure 3] Figure 3 shows an example of multiple snapshots taken at different times. [Modes for carrying out the invention]

[0024] Various embodiments of the present invention are shown and described herein, but it will be apparent to those skilled in the art that such embodiments are provided only as examples. Numerous modifications, changes, and substitutions can be conceived by those skilled in the art without departing from the present invention. It should be understood that various alternatives to the embodiments of the present invention described herein may be adopted.

[0025] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as those generally understood by those skilled in the art in the claimed subject matter. It should be understood that the above general description and the following detailed description are illustrative and descriptive only, and do not limit any claimed subject matter. In this application, the use of singular forms includes plural forms unless otherwise specifically stated.

[0026] In this description, any percentage range, ratio range, or integer range is understood to include any integer within the enumerated range, and, where appropriate, its fraction (e.g., one-tenth and one-hundredth of an integer), unless otherwise indicated. The terms “a” and “an,” as used herein, should be understood to mean “one or more” of the enumerated components, unless otherwise indicated or indicated by the context. The use of substitutes (e.g., “or”) should be understood to mean either one, both, or any combination thereof of the substitutes. The terms “including” and “equipped with” are used synonymously, as used herein.

[0027] The terms “about” or “approximately” can mean within an acceptable margin of error for a particular value, as determined by those skilled in the art, which will in part depend on the method by which the value is measured or determined, e.g., the limits of the measuring system. For example, “about” can mean ±10% according to convention in the art. Alternatively, “about” can mean a range of ±20%, ±10%, ±5%, or ±1% of a given value. Where a particular value is described in this application and claims, unless otherwise stated, the term “about” should be assumed to mean within an acceptable margin of error for that particular value. Also, where a range and / or subrange of a value is provided, the range and / or subrange may include the endpoints of the range and / or subrange. Introduction

[0028] This specification provides a new paradigm for storing and querying the entire historical dynamic network (FHDN). The FHDN allows users to query the state of the network at any given moment in its history. Using the FHDN, "on-demand" snapshots of the graph can be reconstructed, and the entire network at a given point in time can be created without explicitly storing the snapshot in a database. The FHDN allows users to query a graph at a given time without instantiating the entire graph at that point in time. For example, a common query in a power distribution system is to query the precise electrical configuration of a distribution feeder at a given point in time. While the entire network may have thousands of distribution feeders, the FHDN allows users to query the state of a particular distribution feeder at any given time by using a graph search algorithm to explore only the nodes and edges within that feeder.

[0029] FHDN may operate by creating a graph containing all nodes and edges that have ever existed in the network at any given point in time. Each edge and node may include a time series showing the time of changes (e.g., additions or removals) related to that node or edge in the network. Changes may include topological changes such as the addition or removal of edges or nodes. In some cases, changes may also include changes in the attributes or properties (e.g., weights) of the edge or node. For example, in an energy distribution system, edges may be added or removed multiple times in response to the opening or closing of a breaker switch. To reconstruct the graph at a given point in time, a user can iterate through all nodes and explore the time series (e.g., using binary search for nodes and edges with numerous events) to create a graph corresponding to the network at that point in time. Any analysis requiring a search across the graph, such as finding connection components, can be performed using an iterative graph search algorithm that checks only the status of nodes or branches as needed. If the analysis requests 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 the analysis without processing any unnecessary nodes. Since most FHDNs are small enough to be stored in memory, blocking techniques are employed to cache the entire connected region of the graph in memory at any given time, allowing the user to request only a portion of the graph to be loaded from memory, enabling these searches to be performed quickly and on an ad-hoc basis. Computer implementation method

[0030] In one respect, a computer implementation method for determining the historical state of a dynamic network may include the steps of successively acquiring data associated with the system from multiple different data sources, using the data to construct a full historical dynamic network (FHDN) of the system, and providing the state of the system regarding historical time instances in response to queries of the FHDN regarding historical time instances.

[0031] A dynamic network may be a network that changes over time. With respect to a dynamic network, the network topology may change over time. For example, nodes and / or edges may be formed and removed over time. A dynamic network may include, for example, a local area network, a mobile ad-hoc radio network, a communications network, a social network, an energy distribution network, the web, and a transportation network. A dynamic network may be driven by an adversarial model, a probabilistic model, or a game-theoretic model.

[0032] Data sources may include data from sensors or smart devices such as home appliances, smart meters, wearables, monitoring systems, data stores, customer systems, billing systems, financial systems, crowdsourced data, weather data, social networks, or any other sensors, enterprise systems, or data stores. Embodiments of smart meters or sensors may include meters or sensors located at customer locations, or meters or sensors located between the customer and the occurrence or source location. For example, customer meters, grid sensors, or any other sensors on an electric grid may provide measurement data or other information to grid operators. Sensors may also include, but are not limited to, geophones, hydrophones, race sensors, microphones, seismometers, sonar detectors, anemometers, AFR sensors, blind spot monitors, defect 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, daily detectors, electroscopes, and magnetic anomaly detectors. The system may also include MEMS magnetic field sensors, metal detectors, wireless compasses, voltage detectors, photometers, air pollution sensors, cloud height meters, gas detectors, humistors, leaf sensors, rain gauges, rain sensors, snow gauges, soil moisture sensors, water gauges, tide gauges, mass flow sensors, water meters, cloud chambers, neuron detectors, wind speed indicators, depth gauges, magnetic compasses, swivel gauges, 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, potentially enabling further business insights. Data sources may include, without limitation, sensors or databases related to other industries and systems.

[0033] The data source may include a large set of sensors, smart devices, or consumer electronics relating to any type of industry. The data source may include systems, nodes, or devices within a computing network, or other systems used by entities, corporations, customers, clients, or other entities. In one embodiment, the data source may include a database of customer or corporate information. The data source may include data stored in an unstructured database or format, such as a Hadoop Distributed File System (HDFS). The data source may include data stored by customer systems, such as a customer information system (CIS), customer relationship management (CRM) system, or call center system. The data source may include data stored or managed by enterprise systems, such as a billing system, financial system, supply chain management (SCM) system, asset management system, and / or workforce management system. The data source may include data stored or managed by operational systems such as distributed resource management systems (DRMS), document management systems (DMS), content management systems (CMS), energy management systems (EMS), geographic information systems (GIS), globalization management systems (GMS), and / or supervisory control and data acquisition (SCADA) systems. The data source may also include data about device events, such as device failures, restarts, power outages, tampering, and equivalents. The data source may also include social media data, such as data from Facebook®, LinkedIn®, Twitter®, or other social networks or social network databases. The data source may also include other external sources, such as data from weather services or websites and / or data from online application programming interfaces (APIs), such as those provided by Google®. The data source may include external databases.

[0034] A Full History Dynamic Network (FHDN) may contain the entire history of the dynamic network. For example, an FHDN may contain the nodes, edges, and relationships between nodes and edges of the dynamic network at any point in the dynamic network's history. For instance, if the dynamic network was created in 2010, the FHDN may contain all edges, all nodes, and time series that have existed in the dynamic network since 2010. In addition, the FHDN may also contain information about the changes in all edges and all nodes in the dynamic network over time. The FHDN may be configured to store and query information about the dynamic network. The FHDN may be configured to query the state of the system at any point in the dynamic network's history.

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

[0036] A given node in a group of nodes may be a redistribution point or a communication endpoint. If the network is a physical network, a node may be an active electronic device attached to the network. In this scenario, a node may be capable of creating, receiving, or transmitting information over a communication channel. A physical network node may be a data communication device (DCE) such as a modem, hub, bridge, or switch, or a data terminal device (DTE) such as a digital telephone receiver, printer, or host computer. If the network is a local area network (LAN) or wide area network (WAN), every LAN or WAN node, which is at least a data link layer device, may typically have one network address for each network interface controller it possesses. Embodiments 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, a physical network node may be a host computer identified by an IP address.

[0037] In a fixed-line telephone network, a node may be a public or private telephone exchange, a telecommunications equipment, or a computer providing an intelligent network service. In cellular communications, an embodiment of a node may include a base station controller, a home location register, a gateway GPRS support node (GGSN), and a database of switching points such as a serving GPRS support node (SGSN). 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 specific geographic area served by a common fiber optic receiver. If the network is a distributed system, a node may be a client, server, or peer.

[0038] A given edge in a set of edges may be one of the connections between two nodes (or vertices) in the network. Edges can be directed, meaning they point from one node to another. In this case, two nodes connected by a directed edge can have a unidirectional relationship. A unidirectional relationship may be one in which one node sends information to the other but receives no information from the other node. Edges can also be undirected, in which case they are bidirectional. In this case, two nodes connected by a directed edge can have a bidirectional relationship. A bidirectional relationship may be one in which one node sends information to the other and 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 series of data points in chronological order. A time series may be a sequence of points that are continuously and equally spaced over time. A time series may comprise a sequence of discrete-time data. A time series may indicate when a node or edge changes, for example, 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 the time-varying properties of a node or edge. In the case of a power distribution network, nodes may be, for example, power plants, transmission substations, distribution feeders, transformers, circuit breakers, and consumers. Edges may be transmission lines and other wires connecting such nodes. A time series may indicate, for example, when a power plant is operational or inoperable, or when a circuit breaker is open or closed. In addition, a time series may indicate, for example, the power output of a power plant over time. In the case of a social network, nodes may be companies and individuals with profiles on the social network. Edges may be relationships between those companies and people (e.g., friends, followers, etc.). Time series may indicate when relationships on social networks begin or end. In addition, time series may show, for example, how the properties of companies or people within 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, nodes may be supplier factories, assembly plants, local distribution centers, regional distribution centers, and customer locations. Nodes may also be roads, rail lines, sea routes, and flight paths that connect the nodes within the supply chain network. Time series may show, for example, whether a factory is operating at a particular time, and whether a road or rail line is open at a particular time.

[0040] The time series may represent dynamically changing nodes and edges within the FHDN. The changes may be systematic or unsystematic. If the changes are systematic, the time series may be acquired at systematic time intervals. If the changes are unsystematic, the time series may be acquired at unsystematic time intervals. For example, the time series may first be acquired every 1 second over a 1-minute time cycle, and then every 10 seconds over a 10-hour time cycle. In some cases, the system may monitor changes in nodes and edges continuously or periodically, but time series entries may only be stored in memory when actual changes in nodes and edges occur. This can reduce the amount of memory required to store the FHDN. Queries to the FHDN may involve requests for information from the FHDN. Queries may include a step of requesting the state of the dynamic network at historical time points. Queries can be made by selecting parameters from a menu, where the database system presents a list of parameters from which the user can select. Queries can also be made using example queries, where the system presents a blank record and allows the user to specify the fields and values ​​that define the query. Fields or values ​​may directly specify historical time, or they may indirectly specify historical time. For example, a field or value may specify a change occurring at a particular node. Queries can also be made using a query language, where the user makes requests for information in the form of standardized queries that must be written in a special query language.

[0041] Figure 1 shows an example of a graph of an FHDN. In Figure 1, the FHDN 100 comprises multiple nodes 102 that can change dynamically, multiple edges 104 that connect the nodes and can change dynamically, and time series associated with each of the multiple nodes 106 and edge 108. The FHDN may include all the nodes and edges that have previously existed in the dynamic network. The time series 106 of one node may be T1=[A, I, A, A, A,…], which represents that the change of the node over time in a specific time interval is "active, inactive, active, active, active,…". The time series 108 of one edge may be T2=[A, I, I, A, A,…], which represents that the change of the edge over time in a specific time interval is "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 several nodes 202 (shaded) that are activated at time t, and several 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 this system may comprise a graphical state of the entire network in an as-operated state, within a historical time instance. The historical time instance may be any time in the history of the dynamic network as defined by the user. For example, the historical time instance may be a point in time in the history of the dynamic network (e.g., 10:00 AM on August 12, 2000), a time period in the history of the dynamic network (e.g., 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 nodes. The graph may be an ordered pair comprising a set of nodes along with a set of edges. The nodes may be a set, along with the occurrence relationships 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 such as communications, data organization, computer devices, and computation flows. In one embodiment, the link structure of a website can be represented by a directed graph, where nodes represent web pages and directed edges represent links from one page to another. Another embodiment is in chemistry, where graphs may create a natural model of molecules, where nodes represent atoms and edges represent 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, where nodes represent different areas of the brain and edges represent connections between those areas. Graphs may also be used to represent microscale channels in porous media, where nodes represent pores and edges represent smaller channels connecting the pores. In biology, nodes can represent regions where a species exists (or inhabits), and edges can 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 Full Highway Network (FHDN) of a travel network (e.g., roads, waterways, flight paths, etc.). Nodes may represent different destinations within the travel network (e.g., cities), and edges may represent different routes between such destinations. Edges may be weighted by distance or travel time. Time series within the FHDN may indicate whether a particular route is open at a given time (e.g., whether a particular road is accessible or whether a particular flight is available). An 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 Full High-Definition Network (FHDN) of a 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 a fully functional brain neuron (FHDN) of the human brain. Nodes in the FHDN may represent neurons in the brain, and edges may represent connections between neurons. Time series may indicate whether particular neurons are being adversely affected by disease progression. Creating an FHDN of a patient's brain can help physicians predict and prevent disease progression in other patients.

[0047] The systems and methods described herein can also be used to create a Full HDN of 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). Nodes in the FHDN may represent drilling and refining assets, and edges may represent pipeline assets. Time series may indicate whether a certain asset is operational at a given time, and they may also indicate the capacity or output of those assets over time.

[0048] Graph structures can be extended by assigning weights to each edge of the graph. Weighted graphs, or graphs with weights, may be used to represent structures where each pair of connections has several numerical values. For example, if the graph represents a road network, the weights could represent the length of each road. There may be several weights associated with each edge, including distance (as in the above embodiment), travel time, or monetary cost. Graph structures can also be extended by assigning time series to each edge and node of the graph. Graphs with time series can be used to represent structures where each pair of connections has several values ​​that change over time. For example, if the graph represents a road network, the time series could represent traffic on each road over time. The weights may, alternatively or in addition, 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 graphs may depend on both the graph structure and the algorithms used to manipulate the graph. The data structures may be 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 can consume large amounts of memory. Different list and matrix structures may include adjacency lists, adjacency matrices, and occurrence matrices. With respect to adjacency lists, nodes may be stored as records or objects, and all vertices may store a list of adjacent vertices. This data structure may allow for the storage of additional data on nodes. With respect to adjacency matrices, two-dimensional matrices may be used, where rows represent source nodes and columns represent destination nodes, and data on edges and nodes may be stored externally. Regarding the occurrence matrix, a two-dimensional Boolean matrix may be used, where rows represent nodes, columns represent edges, and entries indicate whether a vertex in a given row is associated with an edge in a given column. The entries may also be a time series indicating whether a vertex in a given row is associated with an edge in a given column in any given time instance.

[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. The graph database may be a database that uses a graph structure for queries with nodes, edges, and properties to represent and store data. In one embodiment, all elements contain direct pointers to their neighboring elements, and no index lookups are required. A key concept of this system may be a graph (or edge or relation) that directly relates to data items in the store. Relations may allow data in the store to be directly linked together and, in many cases, read in a single operation. Pointers may be unidirectional or bidirectional.

[0051] Graph databases can enable 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 the relational engine and may have a mechanism for "storing" graph data within tables, or a mechanism for using key-value stores or document-oriented databases for storage, making them essentially NoSQL structures. Some graph databases based on non-relational storage engines may also add the concept of tags or properties, which are essentially relationships that have pointers to other documents. Retrieving data from a graph database may require a query language. Some graph databases may be accessed through application programming interfaces (APIs).

[0052] A graph database may employ a graph structure comprising nodes, edges, and properties. The graph structure may be a Full-Human Data Network (FHDN), as described elsewhere in this Spec. For example, a time series showing the time of change of a node or edge may be recorded along with the node or edge. Nodes may represent entities such as people, businesses, accounts, or any other items to be tracked. Edges may be lines connecting nodes to other nodes, and they may represent relationships between them. Edges may represent abstract concepts not directly implemented in this system. Properties may be metadata or data about a node. For example, in a social network where people are nodes, properties may include demographic or personal information about people (e.g., age, gender, employer, school, location, etc.). The methods disclosed herein may include an external graph database. The external graph database may be 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 this system may include a graphical state relating to a subset of the network in a historical time instance. The graphical state may include all nodes and edges requested by queries in a user-defined historical time instance of the dynamic network. All nodes and edges requested by queries in a user-defined historical time instance may be a subset of the network. All nodes and edges requested by queries in a user-defined historical time instance may be the entire network. The network subset may include a subset of nodes, a subset of edges, and / or a time series subset of the entire network. The network subset may include 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, a 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. A 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, a 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. A subset of the network may comprise at least approximately 4%, 5%, 6%, 7%, 8%, 9%, 10%, 15%, 20%, 30%, 40%, 50%, 60%, 70%, 80%, 90%, or more of the time series of the entire network. In other cases, a subset of the network may comprise at most approximately 90%, 80%, 70%, 60%, 50%, 40%, 30%, 20%, 15%, 10%, 9%, 8%, or less of the time series of the entire network.

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

[0055] A snapshot may represent the state of the system at a specific point in time. Figure 3 shows an example of multiple snapshots of a dynamic network at different points in time. Figure 3 shows a time series of snapshots of the dynamic network from time t=1 to t=6. Dotted edges indicate the absence of any relationships, while solid edges indicate relationships. For example, (1, 2) has no relationship at t=1, and (2, 4) has no relationship at t=6.

[0056] The historical dynamic behavior of an FHDN may be determined without analyzing a sequence of network snapshots captured at different points in time. The historical dynamic behavior may include changes in the FHDN over user-defined historical time instances. The historical dynamic behavior may also include changes in the FHDN over user-defined time periods. To determine the historical dynamic behavior of an FHDN without analyzing a sequence of network snapshots captured at different points in time, time series may be used in conjunction with information about nodes and edges within the dynamic network that has been acquired. In this scenario, no duplication of information about nodes and edges across snapshots is required.

[0057] FHDN can enable queries about historical time instances to be answered without requiring full network instantiation in the historical time instance. Instantiation may be the creation of a physical instance or a specific realization of an abstract concept or template, such as a class of objects or a computer process. To answer queries about historical time instances without requiring full network instantiation in the historical time instance, time series may be retrieved and used in conjunction with information about nodes and edges in the dynamic network. In this scenario, only time series, nodes, and edges relevant to the query may be explored and retrieved, and time series, nodes, and edges not relevant to the query do not need to 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 may be inferred from the nodes and edges adjacent to that individual node. Inferring the state of a node may be desirable when data about that node is missing, for example, due to a malfunctioning sensor or other connectivity problem.

[0058] The plurality of nodes and edges may comprise (1) all nodes and edges that previously existed in the network at a given time after data collection about the network has started, and (2) all nodes and edges that are currently in the network. In other embodiments, the plurality of nodes and edges may comprise (1) all nodes and edges that previously existed 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 would be in the network in the future. The total number of nodes may be at least 1, 10, 50, 100, 200, 300, 400, 500, 1,000, 10,000, 100,000, 1,000,000, 10,000,000, 1,000,000,000, or more. The total number of 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 less. The number of edges may be comparable 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 selected nodes or edges. In some cases, the events or changes may include topological changes. Alternatively, or in addition, the changes may include changes in edge or node properties or attributes (e.g., weighting, directionality). 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 selected nodes or edges may include precise timestamps of additions or removals of selected nodes or edges in the network. The time series for selected nodes or edges may include precise timestamps of additions, removals, and corrections of selected nodes or edges in the network. The time series may be acquired at systematic or unsystematic time intervals. Systematic time intervals may be at least every 0.1 microseconds (μ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, systematic time intervals 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. With respect to non-systematic time intervals, the time series may first be acquired in a first time over a first time period, and then in a second time over a second time period. For example, the time series may first be acquired every 1 second over a first time period of 1 minute, and then every 10 seconds 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 by having the ability to store large datasets and operate with high reliability. Key / value stores may also be optimized with strict controls over the trade-offs between availability, consistency, and cost-effectiveness. The data persistence process may be designed to leverage flexible computer nodes and scale out when additional processing is required to match the arrival rate of messages on a 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 containing aggregated data that originates from multiple different data sources or data stores.

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

[0062] The state of the system in a historical time instance may be obtained by using a search algorithm that iterates across multiple edges and explores them throughout the time series. The number of multiple edges may not be all the edges that have ever existed in the dynamic network. In other cases, the number of multiple edges may be all the edges that have ever existed in the dynamic network.

[0063] The search algorithm may be any algorithm that solves a search problem to retrieve information stored in a data structure or computed within the search space of the problem domain. Examples of search algorithms, though not limited to them, may include linked lists, array data structures, or search trees. A suitable search algorithm may depend on prior knowledge of the data structure and data being searched. The search may also include algorithms that query the data structure, such as SQL SELECT commands.

[0064] Search algorithms can include 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. A linear search algorithm can check all records related to a target key in a linear manner. A binary search algorithm can divide the search space in half by iteratively targeting the center of the search structure. A comparison search algorithm can improve upon linear search by successively eliminating records based on key comparisons until a target record is found. Comparison search algorithms can be applied to data structures with defined orders. Digital search algorithms can operate based on the properties of digits in data structures that use 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 needed. The graph search algorithm may define the order in which to search through the nodes of the graph. The graph search algorithm may be a connection 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 the frontier may then consist of nodes that have not yet been searched, and with each iteration, a node may be removed from the frontier and its adjacencies added to the frontier. The necessity criteria can be set by the user. For example, if the analysis requests information about a small subset of nodes at a given point in time, the FHDN data structure can be directly queried to assess the results of the analysis without touching any unnecessary nodes. Unnecessary nodes may be nodes that are not relevant to the query. Unnecessary nodes may comprise at least approximately 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, unnecessary nodes may comprise at most approximately 90%, 80%, 70%, 60%, 50%, 40%, 30%, 20%, 15%, 10%, 9%, 8%, or less of all nodes in the FHDN.

[0066] A query may include an information request about a subset of nodes at a given time. A query may include an information request about a subset of edges at a given time. A query may include an information request about a subset of nodes and edges at a given time. A query may include an information request about a subset of nodes at multiple given time points. A query may include an information request about a subset of edges at multiple given time points. A query may include an information request about a subset of nodes and edges at multiple given time points.

[0067] The search algorithm may be configured to directly query only a subset of nodes, without querying other unnecessary nodes. This can enable faster response times and more targeted / focused queries.In some cases, the nodes / edges selected to be queried to reconstruct a subset of nodes / edges or graph may be nodes / edges with frequent event changes. For example, nodes or edges with a number of changes exceeding a certain threshold may be queried. In another embodiment, nodes or edges with a greater number of changes are queried before nodes or edges with a smaller number of changes. 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. Unnecessary nodes and edges may be nodes and edges that are not relevant to the query. Unnecessary nodes may comprise at least approximately 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, unnecessary nodes may comprise at most approximately 90%, 80%, 70%, 60%, 50%, 40%, 30%, 20%, 15%, 10%, 9%, 8%, or less of all nodes in the FHDN. Unnecessary edges may comprise at least approximately 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, 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 a step of using blocking techniques to cache one or more connected graphical regions of the FHDN in memory with respect to any given time. The memory may be volatile RAM or non-volatile memory. Volatile RAM may be implemented as dynamic RAM (DRAM), which constantly requests power to refresh or maintain data in memory. Non-volatile memory may be a magnetic hard drive, magneto-optical drive, optical drive (e.g., DVD RAM), or other type of memory system that retains data even after power has been removed from the system. Non-volatile memory may also be random-access memory. Non-volatile memory may be a local device directly coupled to the rest of the components in the data processing system. Non-volatile memory located remotely from the system, such as a network storage device 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] Blocking techniques may include standard blocking, token blocking, or attribute clustering blocking. Blocking techniques can help avoid memory bandwidth bottlenecks in several applications. Blocking techniques may leverage unique data reuse available in an application by ensuring that data remains in the cache across multiple uses. Blocking techniques can be implemented for 1D, 2D, or 3D spatial data structures. Some iterative applications can further benefit from blocking across multiple iterations to further mitigate bandwidth bottlenecks. Blocking techniques may include a combination of loop partitioning and swapping. Cache blocking can be a technique for rearranging data access, ingesting a subset (block) of data into the cache, acting on the block, and avoiding the need to repeatedly fetch data from primary memory.

[0070] Caching one or more connected graphical regions in memory can enable traversals to run faster compared to traditional network graphing techniques. A connected graphical region can 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 retained across multiple uses. Caching one or more connected graphical regions in memory can enable traversals to run 5 to 65 times faster or more compared to traditional network graphing techniques.

[0071] The use of FHDN can enable memory / storage savings of several orders of magnitude compared to conventional network graphing techniques. Storage requirements can be reduced by at least three orders of magnitude compared to conventional network graphing techniques. Storage requirements can be reduced by 1-10, 2-9, 3-8, 4-7, or 5-6 orders of magnitude compared to conventional 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 conventional network graphing techniques. In some cases, storage requirements can be reduced by at least 10, 9, 8, 7, 6, 5, 4, or less orders of magnitude compared to conventional network graphing techniques. Power distribution system

[0072] This system may include a power distribution system. The power distribution system may include different arrays. The arrays may include 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 composite system.

[0073] A power distribution system may comprise multiple power distribution feeders. Multiple power distribution feeders may be interconnected through multiple connections. A power distribution feeder may comprise multiple nodes. A node may comprise an electricity consuming device and an electrical grid. A power distribution feeder may comprise multiple edges. An edge may comprise wires connecting the nodes.

[0074] The state of the power distribution system may include the graphical states of multiple power distribution feeders in a historical time instance. The state of the power distribution system may also include the graphical states of multiple connections that connect the power distribution feeders in a historical time instance.

[0075] The state of the distribution system may include a graphical state of a subset of distribution feeders in a historical time instance. The graphical state may include all distribution feeders requested by queries in a historical time instance. All distribution feeders in a historical time instance may be a subset of the distribution system. The subset of distribution feeders may include 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 include 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] FHDN may enable queries regarding historical time instances to be answered without requiring the full network instantiation of the power distribution system in the historical time instance. Instantiation may involve the creation of actual instances or the specific realization of an abstraction or template, such as a class of data objects or a computer process.

[0077] Multiple nodes and edges and time series may be associated with multiple distribution feeders and connected nodes and branches within each feeder. Multiple 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 that currently exist in the distribution feeder. In other embodiments, multiple nodes and edges comprise (1) all nodes and edges that previously existed in the distribution feeder at any given time, (2) all nodes and edges that currently exist in the distribution feeder, and (3) all nodes and edges that would exist in the distribution feeder.

[0078] The time series may include precise timings of additions or removals of selected nodes or edges in the distribution feeder. The time series may include precise timings of additions, removals, or corrections of selected nodes or edges in the distribution feeder. The time series may be acquired over a systematic or unsystematic time interval. With respect to an unsystematic time interval, 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 at 1s over a first time period of 1 minute, and then at 10s over a second time period of 10 hours. The addition or removal of selected edges may correspond to the opening or closing of breaker switches in the distribution system, and the breaker switches are associated with the selected edges. The correction of selected edges may represent changes in the power consumption of the selected edges.

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

[0080] A graph search algorithm may be used to query the state of one or more selected distribution feeders at any given time by searching only for nodes and edges contained within one or more selected distribution feeders. The search algorithm may be any algorithm that solves a search problem to retrieve information stored in a data structure or computed in the search space of the problem domain. Embodiments of a search algorithm include, but are not limited to, linked lists, array data structures, or search trees. A search algorithm may also include 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 does not have to be configured to query nodes and edges contained within other unselected 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. Unnecessary nodes and edges may be nodes and edges that are not relevant to the query.

[0082] FHDN can enable queries in any part of the network in a historical time instance to be answered using only about 10MB to 100MB of storage, compared to 2.1TB using conventional graphing techniques. The amount of memory required to store an 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 an FHDN may be much more, depending on the size, complexity, and age of the system represented by the FHDN. Material list

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

[0084] A Bill of Materials (BOM) can define products as they are designed (engineering design materials), ordered (sales materials), built (manufacturing materials), or maintained (service materials). Different types of BOMs depend on business needs and their intended use. A BOM may also include a formulation list, recipe, or raw material list. In electronics, a BOM may represent a list of components used on a printed circuit board or printed wiring board.

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

[0086] The state of the supply chain distribution network may include the graphical states of multiple players in a historical time instance. The state of the supply chain distribution network may also include the graphical states of multiple connections that connect the players in a historical time instance.

[0087] The state of the supply chain distribution network may include a graphical state of a subset of players in a historical time instance. The graphical state may include all players that are active in the supply chain distribution network in a historical time instance. All players in a historical time instance may be a subset of this system. The subset of players may include 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 include 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] A Full-Time Distribution Network (FHDN) can enable queries about historical time instances to be answered without requiring the entire network instantiation of the supply chain distribution network in 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 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 previously existed within the supply chain distribution system.

[0089] Multiple nodes and edges and time series may be associated with multiple players. Multiple 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, multiple nodes and edges may comprise (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 include precise timings of additions or removals relating to selected nodes or edges within the supply chain distribution system. The time series may include precise timings of additions, removals, or corrections relating to selected nodes or edges within the supply chain distribution system. In the supply chain distribution system, an addition may represent a player being open to purchase from or sell to another player, a removal may represent a player not being open to purchase from or sell to another player, and a correction may represent a player changing its position when purchasing from or selling to another player. The time series may be acquired over systematic or unsystematic time intervals. With respect to unsystematic time intervals, the time series may first be acquired 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 first be acquired every 1 second over a first time period of 1 minute, and then every 10 seconds over a second time period of 10 hours.

[0091] A graph search algorithm may be used to query the state of a supply chain distribution network at a given time by searching only for active nodes and edges within the supply chain distribution network. The graph search algorithm may define the order in which it searches through the nodes of the graph. The graph search algorithm may be a connection 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 the frontier may then consist of nodes that have not yet been searched, and with each iteration, a node may be removed from the frontier and its adjacencies added to the frontier. The necessity criterion can be set by the user. For example, if the analysis requests information about a small subset of nodes at a given time, the FHDN data structure can be queried directly to assess the results of the analysis without touching any unnecessary nodes. The search algorithm may be any algorithm that solves a search problem to retrieve information stored in a data structure or computed in the search space of the problem domain. Exemplary search algorithms are described elsewhere in this specification. A graph search algorithm may define the order in which to search through the nodes of the graph. The graph search algorithm may be a depth-first search algorithm, a breadth-first search algorithm, Dijkstra's algorithm, or an equivalent.

[0092] The graph search algorithm does not have to be configured to query unselected nodes and edges contained within the supply chain distribution network. The search algorithm may be configured to directly query only a subset of 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 nodes and / or edges without querying other unnecessary nodes and / or edges. 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. In other cases, 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.

[0093] FHDN can enable queries in any part of a supply chain distribution network in a historical time instance to be answered while requiring only a small amount of storage. The amount of memory required to store an 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 an FHDN may be much more, depending on the size, complexity, and age of the system that the FHDN represents. social network

[0094] This system may include a social network consisting of multiple users. This system may include multiple social networks. Multiple social networks may be interconnected through multiple connections. A given social network among 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 specific point in time in history. Such a state can be used, for example, to track demographic changes in the population of people on the social network. Such a state may also be of interest to the users of the social network, and thus such users can see how their social circle is growing over time. The state of the system may comprise a graphical state of multiple social networks in a historical time instance. The state of the system may comprise a graphical state of multiple connections connecting the social networks in a historical time instance. The number of social networks in 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 in 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 in 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 in 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 this system may include a graphical state of a subset of social networks in a historical time instance. The graphical state may include all social networks that are active in a historical time instance. All social networks in a historical time instance may be a subset of this system. The subset of social networks may comprise at least approximately 4%, 5%, 6%, 7%, 8%, 9%, 10%, 15%, 20%, 30%, 40%, 50%, 60%, 70%, 80%, 90%, or more of the total social networks of this system. In other cases, the subset of social networks may comprise at most approximately 90%, 80%, 70%, 60%, 50%, 40%, 30%, 20%, 15%, 10%, 9%, 8%, or less of the total social networks of this system.

[0097] FHDN may enable queries regarding historical time instances to be answered without requiring the entire network instantiation of the system in the historical time instance. In this system, FHDN may comprise multiple users (represented by multiple nodes), multiple connections (represented by multiple edges) connecting the users, and time series associated with each of the multiple users and connections. Connections may represent following or adding friends. A social network FHDN may comprise all users and all connections that have ever existed in the system.

[0098] Multiple nodes and edges and time series may be associated with multiple social networks and connected nodes and branches within each social network. Multiple 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, multiple 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] A time series may include precise timings of additions or removals of selected nodes or edges within a 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 another user or removing them from their friends list; and a correction may represent a user changing their stance toward another user. With respect to systematic time intervals, a time series may first be captured at a first time interval over a first time period, and then at a second time interval over a second time period. For example, a time series may first be captured at 1s every 1 second over a first time period of 1 minute, and then at 10s every 10 seconds over a second time period of 10 hours.

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

[0101] The graph search algorithm may be configured to query only the status of nodes and edges contained within selected social networks as needed. The graph search algorithm may not be configured to query nodes and edges contained within other unselected social networks. The search algorithm may be configured to directly query only a subset of 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 nodes and / or edges without querying other unnecessary nodes and / or edges. 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. In other cases, 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. 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 greater, depending on the size, complexity, and age of the system represented by the FHDN. Other Embodiments

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

[0103] A data aggregation component may be configured to sequentially acquire data associated with the system from multiple different data sources. These data sources are described elsewhere in this specification. The data aggregation component may perform data aggregation. Data aggregation may include 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 during a given time period, and new nodes and edges can be added. A time-aggregated graph can track these changes through time series attached to each node and edge, showing their 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 to provide the state of the system regarding historical time instances in response to queries of the FHDN regarding historical time instances. The FHDN may comprise (1) a plurality of nodes that can change dynamically, (2) a plurality of edges connecting the nodes, each edge being capable of changing dynamically, and (3) time series associated with each of the plurality of nodes and edges. The FHDN is described elsewhere in this specification.

[0105] The system may further include a display component. The display component may include a speaker or a display screen. The speaker and / or display screen may be operationally coupled with an electronic device. The speaker and / or display screen may be integrated with an 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, PC, tablet, printer, home electronics, and consumer electronics. The electronic device may be a wearable device, including, but is not limited to, Fitbit, Apple Watch, Samsung Health, Misfit, Xiaomi Mi Band, and Microsoft Band. The display screen may be an LCD display, as with a tablet computer. The display screen may be accompanied by one or more speakers and may be configured to provide visual and auditory commands to the user. The speaker may be a smart speaker. The smart speaker may include Alexa, Google Home, Google Assistant, Clova, Microsoft Cortana, AliGenie, Ambient, Apple HomeKit, Apple Siri, and Apple Pod.

[0106] In another aspect, a non-transient computer-readable medium may store instructions that, when executed by one or more servers, cause one or more servers to perform a method including the steps of: successively acquiring data associated with a system from multiple different data sources; using the data to construct a full historical dynamic network (FHDN) of the system; and providing the state of the system regarding historical time instances in response to queries of the FHDN regarding historical time instances.

[0107] The data may be stored in a database. The database may store the data in a computer-readable format. A computer processor may be configured to access the data stored in computer-readable memory. A computer system may be used to analyze the data and obtain results. The results may be stored remotely or internally on a non-transient computer-readable medium and communicated to a user of this system or FHDN. The non-transient computer-readable medium may be operationally coupled with a component for transmitting the results. The transmission component may include wired and wireless components. Embodiments of wired communication components may include Universal Serial Bus (USB) connections, coaxial cable connections, Ethernet® cables such as Cat5 or Cat6 cables, fiber optic cables, or telephone lines. Embodiments of wireless communication components may include Wi-Fi receivers, components for accessing mobile data standards such as 3G or 4G LTE data signals, or Bluetooth® receivers. All of this data in the non-transient computer-readable medium may be collected and archived to build a data warehouse.

[0108] A FHDN may comprise (1) a plurality of nodes that can change dynamically, (2) a plurality of edges connecting the nodes, the edges of which can change dynamically, and (3) a time series associated with each of the plurality of nodes and edges. FHDNs are described elsewhere in this specification.

[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 (titled "Systems, Methods, and Devices for an Enterprise AI and Internet-of-Things Platform") (which is incorporated herein in whole by reference).

[0110] Preferred embodiments of the present invention are shown and described herein, but it will be apparent to those skilled in the art that such embodiments are provided only as examples. The present invention is not intended to be limited by the specific examples provided herein. The present invention is described with reference to the foregoing specification, but the description and illustration of embodiments herein are not meant to be constrained. Numerous variations, modifications, and substitutions will be recalled herein by 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 descriptions, configurations, or relative proportions described herein, depending on various conditions and variables. It should be understood that various alternatives to the embodiments of the present invention described herein may be adopted when practicing the present invention. Thus, it is also assumed that the present invention will cover any such alternatives, modifications, variations, or equivalents. The following claims define the scope of the present invention, and methods and structures within the scope of these claims and their equivalents are intended to be covered thereby.

Claims

1. It is a method, One or more processors extract information from a full historical dynamic network (FHDN) based on one or more parameters, wherein the FHDN includes a representation of a dynamic system over a period of time, the representation includes 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 includes time-series data associated with each of the connections and the plurality of elements, the time-series data includes data showing changes in the state of the plurality of elements over the period of time and changes in the state of the connections over the period of time, The one or more processors determine one or more operating states of the FHDN in one or more historical time instances based on the information extracted from the FHDN, wherein the one or more historical time instances are within the specified period. The one or more processors determine the dynamic behavior of the FHDN based on the one or more operating states of the FHDN, The one or more processors generate predictions based on the analysis of the FHDN. A method that includes this.

2. The method according to claim 1, wherein the FHDN is a power grid, and the dynamic behavior includes a change in the flow of electricity through the assets of the power grid.

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

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

5. The method according to claim 4, wherein the FHDN associates weights with connections, and the weights represent attributes associated with the elements of the traffic network.

6. The method according to claim 5, wherein the attribute includes travel time, distance, or both.

7. The method according to claim 4, further comprising the one or more processors determining an optimal route through the traffic network based on the FHDN.

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

9. The method according to claim 1, wherein the prediction is a failure of at least one element of the FHDN.

10. It is a system, Memory and One or more processors connected to the memory in a communicative manner The system includes, and the one or more processors are Extracting information from a full historical dynamic network (FHDN) based on one or more parameters, wherein the FHDN includes a representation of a dynamic system over a period of time, the representation includes a plurality of elements of the dynamic system over the period, and connections between pairs of elements of the plurality of elements over the period, the FHDN includes time-series data associated with each of the connections and the plurality of elements, the time-series data includes data showing changes in the state of the plurality of elements over the period and changes in the state of the connections over the period, Based on the information extracted from the FHDN, one or more operating states of the FHDN are determined in one or more historical time instances, wherein the one or more historical time instances are within the specified period. The dynamic behavior of the FHDN is determined based on one or more operating states of the FHDN. A system configured to perform the following, wherein one or more processors are configured to generate predictions based on the analysis of the FHDN.

11. The system according to claim 10, wherein the FHDN is a power grid, and the dynamic behavior includes changes in the flow of electricity through the assets of the power grid.

12. The system according to claim 10, wherein the FHDN is a communication network, and the dynamic behavior includes changes in the flow of information through the assets of the communication network.

13. The system according to claim 10, wherein the FHDN is a traffic network, the dynamic behavior includes changes in the traffic pattern of the traffic network, the FHDN associates weights with connections, and the weights represent attributes associated with the elements of the traffic network.

14. The system according to claim 13, wherein the attribute includes travel time, distance, or both.

15. The system according to claim 13, wherein one or more processors are configured to determine the optimal route through the traffic network based on the FHDN.

16. The system according to claim 10, wherein the FHDN is a supply chain network, and the dynamic behavior includes changes in the movement of goods through the supply chain network.

17. The system according to claim 10, wherein the prediction is a failure of at least one element of the FHDN.

18. A non-transient computer-readable storage medium that stores instructions, wherein the instructions are executed by one or more processors. Extracting information from a full historical dynamic network (FHDN) based on one or more parameters, wherein the FHDN includes a representation of a dynamic system over a period of time, the representation includes a plurality of elements of the dynamic system over the period, and connections between pairs of elements of the plurality of elements over the period, the FHDN includes time-series data associated with each of the connections and the plurality of elements, the time-series data includes data showing changes in the state of the plurality of elements over the period and changes in the state of the connections over the period, Based on the information extracted from the FHDN, one or more operating states of the FHDN are determined in one or more historical time instances, wherein the one or more historical time instances are within the specified period. The dynamic behavior of the FHDN is determined based on one or more operating states of the FHDN, Based on the analysis of the FHDN, a prediction is generated. A non-transient computer-readable storage medium that causes one or more processors to perform an operation including the above.

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