Data analytics can be used in multiple contexts. An example context can include predictive maintenance of devices. For example, data associated with a device can be analyzed to predict when and/or what type of maintenance may be needed to maintain acceptable operation of the device. Data analytics, however, can be resource intensive (e.g., in terms of technical resources such as processors, memory, bandwidth), and can require a relatively high skill level (e.g., data science and domain expert with engineering background) for review and action based on analytical results. These constraints can inhibit a broader use of data analytics.
Implementations of the present disclosure include computer-implemented methods for data analytics. In some implementations, actions include providing a first insight provider as one or more computer-executable programs, the first insight provider including a first logic component and a first configuration component, the first logic component including a first domain-specific model, the first configuration component including one or more parameter values for processing data using the first domain-specific model, receiving a first set of assets comprising data indicative of one or more assets, retrieving asset data associated with at least one asset of the first set of assets, the asset data including operational technology (OT) data and information technology (IT) data, the OT data being provided from one or more networked devices, the IT data being provided from one or more enterprise systems, and processing the OT data and the IT data using the first domain-specific model of the first logic component to provide a first result set, the first result set including one or more of a second set of assets and enriched data. Other implementations of this aspect include corresponding systems, apparatus, and computer programs, configured to perform the actions of the methods, encoded on computer storage devices.
These and other implementations can each optionally include one or more of the following features: actions further include providing the first result set as input to a second insight provider, the second insight provider providing a second result set at least partially based on the first result set; the first insight provider and the second insight provider are included in an insight provider pipeline; the first insight provider executes in a data enrichment mode, and the first result set includes the enriched data; the first insight provider executes in a filter mode, and the first result set includes the second set of assets; the data indicative of one or more assets at least partially includes identifiers respectively assigned to the one or more assets, and retrieving asset data includes querying one or more data stores based on the identifiers; and the first insight provider further includes a visualization component, the visualization component providing one or more graphical representations for display in a graphical user interface (GUI) that is specific to the first insight provider, the one or more graphical representations being at least partially based on the first result set.
The present disclosure also provides a computer-readable storage medium coupled to one or more processors and having instructions stored thereon which, when executed by the one or more processors, cause the one or more processors to perform operations in accordance with implementations of the methods provided herein.
The present disclosure further provides a system for implementing the methods provided herein. The system includes one or more processors, and a computer-readable storage medium coupled to the one or more processors having instructions stored thereon which, when executed by the one or more processors, cause the one or more processors to perform operations in accordance with implementations of the methods provided herein.
It is appreciated that methods in accordance with the present disclosure can include any combination of the aspects and features described herein. That is, methods in accordance with the present disclosure are not limited to the combinations of aspects and features specifically described herein, but also include any combination of the aspects and features provided.
The details of one or more implementations of the present disclosure are set forth in the accompanying drawings and the description below. Other features and advantages of the present disclosure will be apparent from the description and drawings, and from the claims.
Like reference symbols in the various drawings indicate like elements.
Implementations of the present disclosure are generally directed to data analytics systems. More particularly, implementations of the present disclosure provide computer-implemented insight providers that each provide a specific, self-contained analysis for a particular domain. In some examples, each insight provider operates in one of a filter mode, and a data enrichment mode. In some examples, a plurality of insight providers can be linked to provide an insight provider pipeline, such that an output of an insight provider is provide as input to another insight provider. Implementations can include actions of providing an insight provider including a logic component and a configuration component, the logic component including a domain-specific model, the configuration component including one or more parameter values for processing data using the domain-specific model, receiving a set of assets including data indicative of one or more assets, retrieving asset data associated with at least one asset of the first set of assets, the asset data including OT data and IT data, the OT data being provided from one or more networked devices, the IT data being provided from one or more enterprise systems, and processing the OT data and the IT data using the domain-specific model of the logic component to provide a result set, the result set including one or more of a second set of assets and enriched data.
Implementations of the present disclosure further provide a data analytics system leveraging a plurality of insight providers, and providing a portal having a plurality of graphical user interfaces (GUIs), which are driven based on one or more insight providers. In some implementations, and as described in further detail herein, a user provides input to one or more GUIs, which input is processed by respective insight providers to orchestrate the insight providers in data analytics. In some examples, the user is able to interact with the insight providers through the GUIs to drill-down into data analytics information related to assets, and/or perform tasks associated with assets.
Implementations of the present disclosure are described in further detail herein with reference to an example context of data analytics for predictive maintenance. In some examples, data is processed using one or more insight providers of the present disclosure to provide maintenance data on one or more devices, and/or to perform tasks associated with assets (e.g., issuing maintenance tickets). It is contemplated, however, that implementations of the present disclosure can be applied in an appropriate context.
In some examples, the client devices 102, 104 can communicate with the server system 108 over the network 106. In some examples, the client devices 102, 104 can include any appropriate type of computing device such as a desktop computer, a laptop computer, a handheld computer, a tablet computer, a personal digital assistant (PDA), a cellular telephone, a network appliance, a camera, a smart phone, an enhanced general packet radio service (EGPRS) mobile phone, a media player, a navigation device, an email device, a game console, or an appropriate combination of any two or more of these devices or other data processing devices. In some implementations, the network 106 can include a large computer network, such as a local area network (LAN), a wide area network (WAN), the Internet, a cellular network, a telephone network (e.g., PSTN) or an appropriate combination thereof connecting any number of communication devices, mobile computing devices, fixed computing devices and server systems.
In some implementations, the server system 108 includes at least one server and at least one data store. In the example of
In some implementations, one or more data stores of the server system 108 store one or more databases. In some examples, a database can be provided as an in-memory database. In some examples, an in-memory database is a database management system that uses main memory for data storage. In some examples, main memory includes random access memory (RAM) that communicates with one or more processors (e.g., central processing units (CPUs)), over a memory bus. An-memory database can be contrasted with database management systems that employ a disk storage mechanism. In some examples, in-memory databases are faster than disk storage databases, because internal optimization algorithms can be simpler and execute fewer CPU instructions (e.g., require reduced CPU consumption). In some examples, accessing data in an in-memory database eliminates seek time when querying the data, which provides faster and more predictable performance than disk-storage databases. An example in-memory database system includes SAP HANA provided by SAP SE of Walldorf, Germany.
In accordance with the example context, the assets 110 can include entities, for which predictive maintenance is to be conducted. Example assets can include, without limitation, cars, trucks, trains, planes, boats, ships, buildings, factories, or components thereof (e.g., engine, motor, compressor, HVAC unit, etc.). In general, an asset can include any appropriate entity, for which data can be provided, and data analytics can be performed. In some examples, data associated with each asset 110 is provided to the server system 108 over the network 106, which data is processed by the data analytics system, as described in further detail herein.
In some implementations, data includes information technology (IT) data, and operational technology (OT) data. In some examples, IT data includes data provided from one or more enterprise systems. For example, an enterprise system can include an inventory of assets managed by a respective enterprise, the inventory recording assets by respective identifiers (unique identifiers), and other relevant information (e.g., description, part number, location). In some examples, IT data is stored in a data store (e.g., of the server system 108), and can be retrieved based on identifiers associated with assets. For example, a database can be queried based on an asset identifier, and IT data associated with the respective asset can be provided in response to the query.
In some examples, OT data includes data provided from one or more sensors. Example sensors can include sensors integrated into an asset (e.g., environmental (pressure, temperature) sensors, speed (RPM) sensors, fluid (oil, coolant) level sensors. Example sensors can include sensors that are independent of an asset, but that monitor data associated with the asset (e.g., video cameras, environmental (pressure, temperature) sensors, motion sensors). For example, sensors can be included in a networked device that is proximate to an asset, and that provides data relevant to the asset. In some examples, OT data is stored in a data store (e.g., of the server system 108), and can be retrieved based on identifiers associated with assets, and/or identifiers assigned to sensors associated with assets. For example, a video camera monitors a particular asset and includes an identifier. An identifier of the video camera can be correlated to an identifier of the asset, and recorded in the enterprise system. Data provided by the video camera (e.g., video, images) can be stored in a database based on the identifier of the video camera and/or the identifier of the asset. The data can be queried based on the asset identifier and/or the video camera identifier, and OT data associated with the respective asset can be provided in response to the query.
As introduced above, and described in further detail herein, implementations of the present disclosure provide a data analytics system including a plurality of insight providers. In some examples, the data analytics system is provided as one or more computer-executable programs executed by one or more computing devices. For example, the data analytics system can be hosted by one or more server systems (e.g., the server system 108 of
In some implementations, the logic component 202 includes computer-programmed logic that processes data based on the input assets (e.g., a set of assets including one or more assets), and additional data to apply a unique data analysis (i.e., unique to the particular insight provider among a plurality of insight providers), and to provide an analysis result. In some examples, the logic component 202 implements operationalized analysis, which can include, for example, one or more machine-learning models, and/or a set of expert rules derived from expert knowledge for a respective domain. For example, the logic component 202 can include a data model, through which data is processed to provide the analysis result. In some examples, each data model is domain-specific (e.g., the domain is predictive maintenance), and is specific to the respective insight provider. Accordingly, and as described in detail herein, insight providers can process data through respective data models to provide respective analysis results, which can be aggregated to provide an analysis result for a data analytics system as a whole.
In some implementations, the configuration component 204 provides one or more settings that control the logic and visualization of the particular insight provider 200. Example settings can include, without limitation, a time period for aggregating sensor data for display (e.g., 2 days, 3 weeks, etc.), attributes and their respective language-specific labels for display, configuration of color coding for assets, and a uniform resource locator (URL) of the backend system for creating a work activity. In some examples, a user interface (UI) enables a value for each setting to be provided. For example, an administrator can configure the insight provider 200 by providing values for settings through the UI.
In accordance with implementations of the present disclosure, the input assets define a set of assets (e.g., assets 110 of
In some implementations, the insight provider 200 provides evidence data based on processing input assets, and additional data using the logic. In some examples, evidence data can include, without limitation, individual data points (e.g., a specific instance of a derived signal), a specific work activity, composite data of a plurality of data points (e.g., snapshot of a map showing the critical assets overlaid on the map). In general, evidence packages are able to collect objects of different types (structured data, images, video, etc.).
In accordance with implementations of the present disclosure, and as described in further detail herein, each insight provider 200 can operate in a filter mode, or a data enrichment mode. In some examples, in the filter mode, the insight provider 200 serves as a filter for downstream insight providers 200 to remove data that may be less relevant to an asset exploration (discussed in further detail herein). In some examples, in the filter mode, multiple insight providers can be chained together to provide a so-called insight provider pipeline. In some examples, the data enrichment mode, the insight provider 200 enriches existing data by generating additional data (e.g., one or more scores). In some examples, for each input asset, one or more additional attributes can be generated by the insight provider 200 in the data enrichment mode. Example additional attributes can include, without limitation, aggregate values (e.g., key figures, health scores, etc.). In some examples, data enrichment can be performed as part of a batch process. In some examples, data enrichment can be performed on-demand (e.g., during an exploration, described in further detail herein).
To provide further context, a data analytics system, such as SAP Predictive Maintenance and Service provided by SAP SE of Walldorf, Germany, targets domain experts and enterprise users who are in charge of monitoring the health of assets and planning maintenance activities. In some examples, through interaction with GUIs, users have the ability to view assets in a map, view a hierarchy of assets, view key performance indicators (KPIs), receive alerts (e.g., triggered by preconfigured rules), and view sensor data (e.g., in multi-dimensional, time-series chart). In the context of predictive maintenance, health scores for assets are computed using machine learning (e.g., programmed into the logic component of an insight providers). In some examples, a health score indicates the health status of a respective asset (e.g., the health score indicates the remaining useful life of the asset, the probability of failure of the asset, or anomaly scores). In some examples, the data analytics system operationalizes analytics and machine learning for consumption by domain experts and enterprise users.
In some implementations, the data analytics system is based on data management and data processing, and insight providers. In some examples, data management and data processing include data fusion based on concepts of the Lambda architecture, a generic, scalable, and fault-tolerant data processing architecture for big data. In some examples, the insight providers enable the operationalization of analytics for consumption by domain experts. In some implementations, the insight providers can be described as micro-services that provide respective portions of analytical functionality, which are plugged into applications. Accordingly, applications are composed of modular micro-services (insight providers), and can be enhanced or extended with additional analytical capabilities (e.g., by adding insight providers to the data analytics system).
In some implementations, an insight provider offers a specific analysis, whose result (insight) makes sense in the application domain. Example insights can include, without limitation, abnormal exhaust temperature of an engine on a specific airplane, a high frequency of low-oil-level alerts in a fleet of vehicles, a geo-fenced area of oil pipelines that show a high degradation in remaining useful life. In some implementations, an insight provider implements operationalized analytics created by data analysts and/or data scientists, and validated by domain experts and enterprise users. The logic of the insight provider (e.g., coded into the respective logic component) may contain derived signal calculations, key value calculations, statistical models, and/or predictive models.
In general, the data analytics system includes a data connectivity layer, and a stream processing layer. In some examples, the data connectivity layer is responsible for transferring data collected through various protocols, from assets, or device associated with assets, to a central data repository (e.g., database). In some examples, data is provided by multiple networked devices, such as so-called Internet-of-Things (IoT) devices. In some examples, the data connectivity layer provides underlying network connectivity, device management capabilities (e.g., pushing configurations to devices), and monitoring of devices. In some examples, the stream processing layer handles computations on the incoming data stream. Computations can range from relatively simple computations (e.g., detecting sensor value threshold violations) to relatively complex computations (e.g., applying predictive models to streaming data 4 determining the probability of a component resulting in a warranty claim as the component goes through an assembly line).
In some examples, management of enterprise data (e.g., IT data), and telematics and sensor data (e.g., OT data) includes a data ingestion process. In some examples, the data ingestion process includes parsing of raw data, and converting the raw data into a processable format. In some examples, IT data is replicated from an enterprise system. Example enterprise systems can include, without limitation, SAP Enterprise Resource Planning (ERP), and SAP Customer Relationship Management (CRM), both provided by SAP SE of Walldorf, Germany. In some examples, one or more fusion views provide transformations such as pivot transforms, enrichment (including joining data that might be computationally expensive to be done later), syntactic cleansing (does not require an understanding of the meaning of data, and semantic cleansing.
In some examples, sensor metadata management relates to the metadata of measurements and events (e.g., the type of measurement, textual description, unit of measure, time frequency for continuous measurements, domain values for the discrete measurements, software configuration version, severity of events, time interval for event measurements). In some examples, sensor metadata management enables the combination of machine data (e.g., from IoT devices) with enterprise data (e.g., from enterprise systems) in the data fusion layer.
In accordance with implementations of the present disclosure, each GUI is associated with an underlying insight provider. In some examples, the insight providers underlying the GUIs of
With particular reference to
In accordance with implementations of the present disclosure, the asset explorer GUI 400, and the map GUI 402 provide data from respective insight providers, in combination with IT data and/or OT data. For example, an insight provider underlying the asset explorer GUI 400 can receive data associated with respective assets (e.g., environmental data, performance data from IoT devices), and can determine a health status, and a probability of failure for each asset. In the depicted example, the health status is communicated by a color value (e.g., red, orange, green), and the probability of failure is provided by a numeric value. The asset explorer GUI 400 also displays IT data and/or OT data received from an enterprise system. In the depicted example, the asset view 412 displays the health status and probability of failure in hand with respective asset names, descriptions, and external identifiers provided from an enterprise system (e.g., an ERP system). In the depicted example, the map GUI 402 depicts the health status (e.g., color of pin icon) and location of the respective assets of the asset view 412.
With reference to
With particular reference to
With particular reference to
In some implementations, the user can select particular assets for further analysis using the map GUI 402. In the depicted example, the user can draw a geometric shape 430 defining a boundary. In some examples, if a pin icon is within the geometric shape 430, the asset corresponding to the pin icon is selected. In response to user selection of at least one particular asset (e.g., by fencing in pin icons using the geometric shape within the map GUI 402), the application icon 422 is displayed. In response to user selection of the application icon 422, the user-selected assets are applied to the insight providers underlying the GUIs.
With reference to
Although a 3D chart GUI 406 is depicted in the examples described herein, it is contemplated that any chart GUI can be provided (e.g., 2D chart GUI).
In the depicted example, the work activities GUI 408 provides a graphical representation of a plurality of tasks being performed with respect to assets. In the depicted example, the graphical representation includes a table providing rows, each associated with a respective task, and columns, each providing information associated with the tasks.
An insight provider is provided (502). For example, an insight provider is provided as one or more computer-executable programs executed using one or more computing devices (e.g., the server system 108 of
Asset data is retrieved (506). For example, the server system 108 retrieves asset data associated with at least one asset of the set of assets. In some examples, and as described in detail herein, the asset data includes OT data, and IT data, the OT data being provided from one or more networked devices, the IT data being provided from one or more enterprise systems. A result set is provided (508). For example, and as described herein, the OT data and the IT data are processed using the domain-specific model of the logic component to provide the result set. In some examples, the result set includes one or more of another set of assets and enriched data.
A plurality of insight providers is provided (602). For example, each insight provider of the plurality of insight providers is provided as one or more computer-executable programs executed using one or more computing devices (e.g., the server system 108 of
Asset data is retrieved (606). For example, the server system 108 retrieves asset data associated with at least one asset of the set of assets. In some examples, and as described in detail herein, the asset data includes OT data, and IT data, the OT data being provided from one or more networked devices, the IT data being provided from one or more enterprise systems. A result set is provided (608). For example, and as described herein, the OT data and the IT data are processed using respective domain-specific models of the logic components of the insight providers to provide the result set. In some examples, the result set includes one or more of another set of assets and enriched data.
Graphical representations are transmitted for display (610). For example, the server system 108 transmits instructions for display of graphical representation in a display of the client device 102, 104. In some examples, and as described herein, the graphical representations are displayed in a plurality of GUI that are respectively specific to an insight provider of the plurality of insight providers. In some examples, each the one or more graphical representations is at least partially based on one or more of the result set and the other result set. In some examples, the graphical representations are provided from visualization components of the respective insight providers.
Implementations of the present disclosure provide one or more of the following example advantages. In general, the insight providers surface insights derived from underlying combination of IT data and OT data in an easy and consumable manner. In some examples, chaining of the insight providers enables domain users to monitor assets for health and maintenance issues (e.g., by filtering and chaining insight providers in any order). In contrast, traditional data analytics systems require IT personnel to implement data cubes, or data marts for domain users to slice and dice (manipulate) the data. The insight provider approach of the present disclosure guides users to more time- and resource-efficiently find the set of assets of interest in following up with subsequent processes (e.g., monitoring for maintenance, detecting emerging issues in a fleet of assets, etc.)
Referring now to
The memory 720 stores information within the system 700. In one implementation, the memory 720 is a computer-readable medium. In one implementation, the memory 720 is a volatile memory unit. In another implementation, the memory 720 is a non-volatile memory unit. The storage device 730 is capable of providing mass storage for the system 700. In one implementation, the storage device 730 is a computer-readable medium. In various different implementations, the storage device 730 may be a floppy disk device, a hard disk device, an optical disk device, or a tape device. The input/output device 740 provides input/output operations for the system 700. In one implementation, the input/output device 740 includes a keyboard and/or pointing device. In another implementation, the input/output device 740 includes a display unit for displaying graphical user interfaces.
The features described can be implemented in digital electronic circuitry, or in computer hardware, firmware, software, or in combinations of them. The apparatus can be implemented in a computer program product tangibly embodied in an information carrier (e.g., in a machine-readable storage device, for execution by a programmable processor), and method steps can be performed by a programmable processor executing a program of instructions to perform functions of the described implementations by operating on input data and generating output. The described features can be implemented advantageously in one or more computer programs that are executable on a programmable system including at least one programmable processor coupled to receive data and instructions from, and to transmit data and instructions to, a data storage system, at least one input device, and at least one output device. A computer program is a set of instructions that can be used, directly or indirectly, in a computer to perform a certain activity or bring about a certain result. A computer program can be written in any form of programming language, including compiled or interpreted languages, and it can be deployed in any form, including as a stand-alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment.
Suitable processors for the execution of a program of instructions include, by way of example, both general and special purpose microprocessors, and the sole processor or one of multiple processors of any kind of computer. Generally, a processor will receive instructions and data from a read-only memory or a random access memory or both. Elements of a computer can include a processor for executing instructions and one or more memories for storing instructions and data. Generally, a computer can also include, or be operatively coupled to communicate with, one or more mass storage devices for storing data files; such devices include magnetic disks, such as internal hard disks and removable disks; magneto-optical disks; and optical disks. Storage devices suitable for tangibly embodying computer program instructions and data include all forms of non-volatile memory, including by way of example semiconductor memory devices, such as EPROM, EEPROM, and flash memory devices; magnetic disks such as internal hard disks and removable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks. The processor and the memory can be supplemented by, or incorporated in, ASICs (application-specific integrated circuits).
To provide for interaction with a user, the features can be implemented on a computer having a display device such as a CRT (cathode ray tube) or LCD (liquid crystal display) monitor for displaying information to the user and a keyboard and a pointing device such as a mouse or a trackball by which the user can provide input to the computer.
The features can be implemented in a computer system that includes a back-end component, such as a data server, or that includes a middleware component, such as an application server or an Internet server, or that includes a front-end component, such as a client computer having a graphical user interface or an Internet browser, or any combination of them. The components of the system can be connected by any form or medium of digital data communication such as a communication network. Examples of communication networks include, for example, a LAN, a WAN, and the computers and networks forming the Internet.
The computer system can include clients and servers. A client and server are generally remote from each other and typically interact through a network, such as the described one. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other.
In addition, the logic flows depicted in the figures do not require the particular order shown, or sequential order, to achieve desirable results. In addition, other steps may be provided, or steps may be eliminated, from the described flows, and other components may be added to, or removed from, the described systems. Accordingly, other implementations are within the scope of the following claims.
A number of implementations of the present disclosure have been described. Nevertheless, it will be understood that various modifications may be made without departing from the spirit and scope of the present disclosure. Accordingly, other implementations are within the scope of the following claims.