The present disclosure generally relates to systems, methods, and apparatuses for creating and utilizing a graph-based structure for managing digital twins. The techniques described herein may be applied, for example, to analyze relationships existing between real world, physical devices in various operational environments.
A digital twin (DT) is a digital version of a machine. Once created, the DT can be used to represent the machine in a digital representation of a real world system. The DT is created such that it is identical in form and behavior of the corresponding machine. Additionally, the DT may mirror the status of the machine within a greater system. For example, sensors may be placed on the machine to capture real-time (or near real-time) data from the physical object to relay it back to a remote DT. The DT can then make any changes necessary to maintain its correspondence to the physical twin.
Conventional DT implementations are designed with a focus on object-level behaviors. A current focus of DT technology is to create a digital counterpart of an object that can be used to identify opportunities to increase an object's efficiency. For example, it has been demonstrated that a wind turbine's DT can be used to provide up to 20% more energy capacity than a wind turbine without a DT. This is achieved through the collection, visualization, and analysis of data from the wind turbine, and the use of predictive analytics to assist the operational strategy planning. This is an object-level spatial DT because it only captures the object during operation (a single phase does not capture the temporal aspects).
Other conventional systems employ a broader view, with an object-level spatio-temporal DT. This DT captures the object's characteristics from design, engineering, production, operation, service, maintenance, and end of life. To capture the spatio-temporal aspects, some systems use a monolithic representation approach that an object's digital representation aggregates all facets and data required from different lifecycle stages. This approach, referred to as the mechatronic object, is not efficient because the resulting object quickly gets bloated by the aggregation of all necessary data. Moreover, this DT does not capture the interaction flows between different DTs or the business flows that objects are subject to in the real world.
Embodiments of the present invention address and overcome one or more of the above shortcomings and drawbacks, by providing methods, systems, and apparatuses related to a graph-based structure for managing digital twins (DTs). This graph-based structure is referred to herein as a “digital twin graph” or “DTG.” The DTG technology described herein may be used, for example, to provide manufacturers with a detailed view of relationships between various real world physical devices and other entities (e.g. humans). Using the DTG paradigm, designers, manufacturers, and maintenance providers can interact with each other for better quality products and more effective maintenance results.
According to some embodiments, a system for managing a plurality of digital twins using a graph-based structure, the system includes one or more databases storing a DTG comprising a plurality of sub-graphs. Each sub-graph comprises a plurality of nodes associated with a distinct physical object. For example, in some embodiments, each node in the graph corresponds to a digital twin unit associated with the distinct physical object. The system further includes one or more sensor interfaces that are configured to receive data corresponding to one or more remote physical objects. Additionally, the system includes a computing system which is configured to modify the sub-graphs and edge connections between the sub-graphs based on the data received via the one or more sensor interfaces.
For example, assume that the DTG comprises a first sub-graph corresponding to a first physical object and a second-graph corresponding to a second physical object connected by an edge indicating that the first physical object is using the second physical object. The first and second physical objects may be, for example, a human and vehicle, respectively. If the computing system determines that the first physical object is no longer using the second physical object, the corresponding edge may be deleted from the DTG. Instead of (or in addition to), graph edges indicating present use, the edges may indicate past use of a second physical object by a first physical object. Based on this indication of past use, a time period corresponding to future use of the second physical object by the first physical object may be predicted. Moreover, updates (e.g., software upgrades) to the second physical object can be scheduled outside of the predicted time period. In some embodiments, the time period is predicted using simulation models which simulate behavior of the first physical object and the second physical object. In these embodiments, the computing system may include a simulation platform configured to execute each respective simulation model using simulation engines executing in parallel across a plurality of processors. In one embodiment, the sensor interfaces comprises a web service interface configured to facilitate communication with the remote physical objects. The system may also include a mobile device interface configured to facilitate (i) monitoring of the remote physical objects to determine the data corresponding to the remote physical objects and (ii) transferring of the data corresponding to the remote physical objects via the web service interface.
According to another aspect of the present invention, a computer-implemented method for using a graph-based structure to manage digital twins corresponding to physical objects includes a computing system generating a DTG comprising sub-graphs. Each sub-graph includes nodes associated with a distinct physical object. The computing system receives usage data indicating usage of one or more remote physical objects, for example, by monitoring activities of the remote physical objects. Then, the computing system modifies the sub-graphs and edge connections between the sub-graphs based on the usage data.
The aforementioned method may further include deletion of edges based on non-usage of particular objects. For example, in one embodiment, the DTG comprises a first sub-graph corresponding to a first physical object and a second-graph corresponding to a second physical object. The two sub-graphs are connected by an edge indicating that the first physical object is using the second physical object. The method may then further include determining that the first physical object is no longer using the second physical object and deleting the edge from the DTG.
The DTG in aforementioned method may additionally be used for prediction purposes. For example, in one embodiment, the DTG comprises a first sub-graph corresponding to a first physical object and a second-graph corresponding to a second physical object connected by an edge indicating that the first physical object has previously used the second physical object. The method may then further include predicting a time period corresponding to future use of the second physical object by the first physical object based on one or more digital twin unit included in the DTG. Additionally, the method may include scheduling, and possibly delivering, an update to the second physical object outside of the predicted time period corresponding to future use of the second physical object.
According to other embodiments of the present invention, a computer-implemented method for managing digital twins includes determining a relationship between a first physical object and a second physical object and identifying a first sub-graph corresponding to the first physical object in a DTG. This first sub-graph comprises first digital twin units associated with the first physical object. The method further includes identifying a second sub-graph corresponding to the second physical object in the DTG. The second sub-graph comprises second digital twin units associated with the second physical object. Based on the determined relationship, an edge in the DTG is created, updated, or deleted.
Additional features and advantages of the invention will be made apparent from the following detailed description of illustrative embodiments that proceeds with reference to the accompanying drawings.
The foregoing and other aspects of the present invention are best understood from the following detailed description when read in connection with the accompanying drawings. For the purpose of illustrating the invention, there is shown in the drawings embodiments that are presently preferred, it being understood, however, that the invention is not limited to the specific instrumentalities disclosed. Included in the drawings are the following Figures:
The following disclosure describes the present invention according to several embodiments directed at methods, systems, and apparatuses related to a graph representation of digital twin entities. Rather than relying in a monolithic data structure, the techniques described herein focus on the relationships between DTs. As described in further detail below, in various embodiments described herein, each object's DT is represented by sub-graphs (i.e., collections of nodes) embedded in the DTG. Each node is referred to as a Digital Twin Unit (DTU). The DTG described herein is readily queryable; information retrieval is done efficiently using graph search and content filtering. The DTG is also traceable because every single update to the graph may be tracked and, thus, any past state can be recreated. Moreover the DTG is extensible, supporting as many types of nodes, their content, and their relationships as necessary.
The DTG is dynamic in the sense that the graph can continuously morph with the creation and elimination of nodes and edges. This morphing is the result of updates by data, queries, simulation, models, new providers, new consumers, and dynamic relationships between them. Even though the DTG may comprise a large graph with billions of nodes and edges, existing databases (e.g., GraphX, Linked Data) and algorithms (e.g., Pregel, MapReduce) running in cloud platforms will help to efficiently search and update the DTG. Alternatively, a specialized database that uses graph structures for semantic queries (i.e., a “graph database”) may be used in some embodiments. The DTG representation is also suitable for a smooth integration with novel mathematical engines based on graph-theoretic and categorical approaches. Thus, in some embodiments, the DTG is also self-learning in the sense that algorithms may be used to analyze the morphing of the graph to identify emergent patterns and behaviors.
To bootstrap the DTG, a mixed-driven approach may be used that incorporates scenario information, engineering knowledge, and general knowledge. Each scenario defines the most useful abstractions and interfaces. These scenarios are used to populate the DTG. Engineering knowledge is then incorporated including, for example, engineering principles (books, manuals, patents), models, time series data, system telemetry, and command and control “at work” information. The data source engineering knowledge is processed by one or more extractors to extract relevant information for the DTG. Similarly existing general knowledge bases, ontonlogies, and tools are processed to extract data and incorporate it into the DTG via new DTUs or edge connections.
The DTG has the ability to constantly change. The morphing of the DTG over time can be visualized with the “DTG Snapshots” shown in
In the example of
At the DTG Layer 515, a DT Repository (DTR) 515A hosts and manages numerous DTs. Each DT is associated with one and only one machine. The DT is comparable to the observer, in the sense any updates in the associated physical machine are recorded in the corresponding DT as well. In the example of
In the example of
The DTG Layer 515 also includes two application program interfaces (API) for interfacing with the DT Repository 515A. A Mobile Device Client API 515B provides an interface for communicating with mobile devices such as computers, smart phones, and tablet devices. In some embodiments, the Mobile Device Client API 515B provides a web-based interface such that mobile devices can communicate with the DTR 515A using a web service. In other embodiments, the Mobile Device Client API 515B may provide a more specialized interface that offers features specific to a type of mobile device. The Smart Sensor Client API 515C provides an interface for sensors co-located with the physical entities in the DTG being monitored (e.g., on, in, or near the machines). As with the Mobile Device Client API 515B, the Smart Sensor Client API 515C may be implemented using a generic interface (e.g., a simple web-based messaging system) or a more specialized interface may be customized to meet the monitoring demands of the DTR. For example, the Smart Sensor Client API 515C may be implemented to support a messaging protocol such as the User Datagram Protocol (UDP), Transmission Control Protocol (TCP), or HTTP.
Parallel portions of a big data platform and/or big simulation platform (see
The processing required for each kernel is performed by grid of thread blocks (described in greater detail below). Using concurrent kernel execution, streams, and synchronization with lightweight events, the architecture 600 of
The device 610 includes one or more thread blocks 630 which represent the computation unit of the device 610. The term thread block refers to a group of threads that can cooperate via shared memory and synchronize their execution to coordinate memory accesses. For example, in
Continuing with reference to
Each thread can have one or more levels of memory access. For example, in the architecture 600 of
The embodiments of the present disclosure may be implemented with any combination of hardware and software. For example, aside from parallel processing architecture presented in
While various aspects and embodiments have been disclosed herein, other aspects and embodiments will be apparent to those skilled in the art. The various aspects and embodiments disclosed herein are for purposes of illustration and are not intended to be limiting, with the true scope and spirit being indicated by the following claims.
An executable application, as used herein, comprises code or machine readable instructions for conditioning the processor to implement predetermined functions, such as those of an operating system, a context data acquisition system or other information processing system, for example, in response to user command or input. An executable procedure is a segment of code or machine readable instruction, sub-routine, or other distinct section of code or portion of an executable application for performing one or more particular processes. These processes may include receiving input data and/or parameters, performing operations on received input data and/or performing functions in response to received input parameters, and providing resulting output data and/or parameters.
A graphical user interface (GUI), as used herein, comprises one or more display images, generated by a display processor and enabling user interaction with a processor or other device and associated data acquisition and processing functions. The GUI also includes an executable procedure or executable application. The executable procedure or executable application conditions the display processor to generate signals representing the GUI display images. These signals are supplied to a display device which displays the image for viewing by the user. The processor, under control of an executable procedure or executable application, manipulates the GUI display images in response to signals received from the input devices. In this way, the user may interact with the display image using the input devices, enabling user interaction with the processor or other device.
The functions and process steps herein may be performed automatically or wholly or partially in response to user command. An activity (including a step) performed automatically is performed in response to one or more executable instructions or device operation without user direct initiation of the activity.
The system and processes of the figures are not exclusive. Other systems, processes and menus may be derived in accordance with the principles of the invention to accomplish the same objectives. Although this invention has been described with reference to particular embodiments, it is to be understood that the embodiments and variations shown and described herein are for illustration purposes only. Modifications to the current design may be implemented by those skilled in the art, without departing from the scope of the invention. As described herein, the various systems, subsystems, agents, managers and processes can be implemented using hardware components, software components, and/or combinations thereof. No claim element herein is to be construed under the provisions of 35 U.S.C. 112, sixth paragraph, unless the element is expressly recited using the phrase “means for.”
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/US2017/013647 | 1/16/2017 | WO | 00 |