Predix Machine Overview

What is Predix Machine?

Predix Machine is a software platform, which includes a set of technologies, tools, and services that enable the development, deployment, and management of applications, or solutions on embedded hardware that is connected to physical machines.

The platform provides Machine-to-Cloud, (M2C) Machine-to-Machine (M2M), and Machine-to-Mobile or –Human (M2H) application connectivity. Predix Machine is capable of running on UNIX-like operating systems, such as Linux or MacOSX. Predix Machine is a Java application with configurable options and customizations. It can also be used in a Docker environment (as shown in the figure below), which allows you to develop entire applications that can be managed by the cloud in any language you want.

Another significant design driver is maintaining the platform while consuming minimal memory and resources. With Java support, Predix Machine can successfully run on devices down to single-board computers like the Raspberry Pi B or BeagleBone Black.

Predix Machine is in close contact with generic assets, providing the capability to exchange data with cloud-based services like big data analytics and asset management. The outcomes of the algorithms from big data analytics and the decision rules from asset management can then be sent back to the machines, optimizing and maximizing performance.

A Predix Machine high-level functional architecture, in a Docker environment, is shown in the following figure.


Table 1. Predix Machine Services
Cloud ServicesEdge Services
ServiceDescriptionServiceDescription
Predix Cloud Identity ManagementThe Predix Cloud Identity Management Service allows you to enroll a Predix Machine device using certificate enrollment or as an OAuth2 client and provides token management after device enrollment.Core ServicesIncludes services that support logging and provide security and certificate management.
WebSocket RiverProvides connectivity between a Predix Machine-enabled device and the Predix Time Series service in the cloud.Application ServicesIncludes services that support user management and the Git repository.
Event Hub RiverEnables data transfer from Predix Machine-enabled edge devices to the Predix cloud using HTTP.Machine Gateway Includes services that support the machine gateway, which uses industrial protocols like OPC-UA, Modbus, and MQTT and their corresponding adapters.
HTTP DataPredix Machine collects data from various sensors and devices and forwards the collected data to the Predix cloud through the Event Hub River service.Cloud GatewayIncludes services that provide APIs to build client-side HTTP-compliant applications, allow communication of different network protocols with tunneling, and establish proxy settings.
Command FrameworkEnables you to send commands to applications that are running on a device.Mobile GatewayIncludes the WebSocket Server service, which enables applications to host a WebSocket server endpoint.

Predix Edge

Predix is an edge-to-cloud solution, where the edge is the physical location that allows computing closer to the source of data. Edge computing enables analytics and insights to occur closer to the deployed machines, which are the source of the data.



EdgeManager

Predix Edge Manager is an interface that is part of Predix cloud, rather than the edge, but provides a single-pane-of-glass view of edge devices and provides insights into device condition and network health. You can manage edge devices and administer apps and configuration files at both a device and fleet level.

See About Predix Edge Manager for more information.

How Does Predix Machine Fit into the Predix Platform?

Predix Machine is part of the wider Predix platform. Predix Machine is the runtime environment for Predix Edge, which enables you to securely connect assets to the cloud.

Predix Machine is in close contact with assets and provides the ability to securely exchange data with cloud-based services like big data analytics and asset management.

The outcomes of the algorithms from big data analytics and the decision rules from asset management can then be sent back to the machines, optimizing and maximizing performance for the customer’s benefit.

A representation of the Predix platform is shown in the following figure:


Why Should I use Predix Machine?

Predix Machine is intended to do the following:
  • Connect new and legacy assets to the Industrial Internet
  • Create edge devices that act as Predix Gateways between assets and the Industrial Internet.
  • Develop and deploy applications for the businesses and operators of Predix-enabled assets and gateways.
     A sample architecture in which a device acts as a Predix Gateway is shown in the following picture.
Figure: Sample Architecture of a Predix Machine Gateway Use Case

This sample architecture depicts a use case in which two different groups of elements (sensors and devices) are exchanging data with an edge device that is using different protocols. In this sample, Data Distribution Service (DDS) is associated with the sensors and OLE for Process Control Unified Architecture (OPC UA) is associated with the devices. Predix Machine runs on an edge device; because the OPC UA Client and a DDS endpoint are both provided as services, the device itself can work as a data aggregator for devices and sensors. Moreover, Predix Machine provides the HTTP connector that allows the edge device to connect to the cloud and act as a gateway. The connection, which can be secured through TLS, also can be used to allow device management from the cloud. Predix Machine can provide a WebSocket connection to allow inter-process communication (IPC) with a standalone executable application that is running outside of the Java stack, for example for legacy reasons.