Patent ID: 12231501

DETAILED DESCRIPTION OF THE EXEMPLARY EMBODIMENTS

The arrangement shown inFIG.1comprises a server device110for providing services or control and monitoring applications of an industrial automation system, where the server includes a processor and memory. The services or control and monitoring applications of the industrial automation system are exemplary time-critical services. The services or control and monitoring applications can be provided, for example, based on Open Platform Communications Unified Architecture (OPC UA). The services or control and monitoring applications thus comprise interface definitions that can be used for permanent access to the services or control and monitoring applications.

The arrangement shown inFIG.1further comprises a terminal device10that is assigned to at least one user who, in the present exemplary embodiment, transmits service access requests11for the use of the services via a communication network20to an automation system or subnetwork100comprising the server device110, and accordingly receives responses12or measured values and status messages from the server device. The communication network20can be designed, for example, as a time-sensitive network, in particular in accordance with Institute of Electrical and Electronics Engineers (IEEE) standard 802.10, IEEE standard 802.1AB, IEEE standard 802.1AS, IEEE standard 802.1BA or IEEE standard 802.1CB.

In the present exemplary embodiment, the server device110implements functions of control devices of an industrial automation system, such as programmable logic controllers, or functions of field devices, such as sensors or actuators, via a container-virtualized server component113. In the present exemplary embodiment, the server device110serves to exchange control and measurement parameters with machines or devices200controlled by the server device110. The server device110is provided, in particular, for determining suitable control parameters from captured measurement parameters.

In the present exemplary embodiment, the terminal device10is an operating and monitoring station and serves to visualize process data or measurement and control parameters which are processed or captured by the server device110or other automation devices. In particular, the terminal device10is used to display values of a control circuit and to modify control parameters or control programs.

A server component113, which comprises at least one application instance and is formed by a flow control component which is loadable into a flow control environment112and is executable there, is assigned in each case to the services. In the present exemplary embodiment, a flow control component is loaded in each case for each application instance into the flow control environment112and is executed there. The flow control environment112is provided via the server device110and is installed there as an application on a host operating system111of the server device110.

In the present exemplary embodiment, the flow control components are or comprise software containers which, isolated in each case from other software containers, container groups or pods, each execute within the flow control environment112on the host operating system111of the server device110. The software containers use a kernel of the host operating system111of the server device110, in each case jointly with other software containers running/executing on the respective server device110. The flow control environment112is, in particular, a container engine via which virtual resources are created, deleted or linked. The virtual resources can comprise software containers, virtual communication networks and connections assigned thereto.

An isolation of the flow control components or an isolation of selected operating system means from one another can be implemented, in particular, via control groups and namespacing. Process groups can be defined via control groups to restrict available resources for selected groups. Individual processes or control groups can be isolated or concealed from other processes or control groups via namespaces. Memory mappers for software containers can be retrieved, for example, from a storage and provisioning system to which a multiplicity of users have read or write access.

A dedicated virtual communication network114is made available to each server component114via the flow control environment112for the provision of time-critical services. In particular, the virtual communication networks114can each comprise virtual Ethernet point-to-point connections or can each be formed by a virtual bridge within the flow control environment112.

A reverse proxy101of a host system or subnetwork100comprising the server device110and the flow control environment112forwards the service access requests11for the use of the services outside the host system or subnetwork100according to predefined forwarding rules121to the respective server component113via the virtual the communication network114of said server component113. The virtual communication networks114are each used to forward the service access requests11for all application instances of the respective server component113.

A configuration unit102for the reverse proxy101determines globally valid access information131in each case for addressing information that is valid within the host system or subnetwork100and that is assigned to the server components113or their virtual communication networks114, and transmits forwarding rules121mapping the access information113to the reverse proxy101. The addressing information valid within the host system or subnetwork100comprises, for example, communication network addresses, port numbers, host names or complete domain names. The globally valid access information131is made available by a directory service component103for the use of the services outside the host system or subnetwork100.

The globally valid access information131preferably comprises addressing information and access authorizations, where the access authorizations are made available only following successful authentication of a user or device. Authorizations for selected users or devices to access selected services are advantageously also mapped by the forwarding rules121.

In addition, the configuration unit102determines whether an assigned virtual communication network114is already provided for a flow control component which is to be loaded into the flow control environment112and is to be executed there. In order to determine this, the configuration unit102accesses flow control information122stored in a database120for the server component114or the flow control components assigned to it.

If an assigned virtual communication network114is present, then the configuration unit102instructs the flow control environment112, via flow control information122derived from the database120, to use this virtual communication network114to connect the flow control component to the reverse proxy102. Conversely, if an assigned virtual communication network114is absent, then the configuration unit102instructs the flow control environment112to set up a virtual communication network114within the flow control environment112for the server component113formed by the flow control component, and to use this virtual communication network114to connect the flow control component to the reverse proxy102.

Furthermore, the configuration unit102evaluates event messages123from the flow control environment112to determine whether virtual communication networks114are to be set up or deleted within the flow control environment112. The configuration unit connects a virtual communication network that is to be newly set up to the reverse proxy101by means of a first command C1directed at the flow control environment112.

Conversely, the configuration unit102terminates a connection between a virtual communication network114to be deleted and the reverse proxy101by means of a second command C2directed at the flow control environment112. In addition, once the connection between the virtual communication network114to be deleted and the reverse proxy101has been terminated, the configuration unit102enables a removal of the respective server component113from the flow control environment112by means of a third command C3directed at the flow control environment112.

FIG.2is a flowchart of the method for providing time critical services via a flow control environment in accordance with the invention. The method comprises assigning to each service a server component113that comprises at least one application instance and is formed by a flow control component that is loadable into the flow control environment112, as indicated in step210. In accordance with the method, the flow control component is executable within the flow control environment112.

Next, availability of a dedicated virtual communication network114is provided to each server component via the flow control environment, as indicated in step220.

Next, a reverse proxy101of a subnetwork100comprising the flow control environment forwards service access requests11for utilization of the services outside the subnetwork in accordance with predefined forwarding rules121to the respective server component via the virtual communication network of said server component, as indicated in step230.

Next, virtual communication networks are each used for all application instances of the respective server component to forward the service access requests11, as indicated in step240.

Next, a configuration unit102for the reverse proxy101determined globally valid access information131in each case for addressing information that is valid within the subnetwork100and that is assigned to at least one of the server components113and their virtual communication networks114, and the configuration unit102for the reverse proxy101transmits, forwarding rules121mapping the access information to the reverse proxy, as indicated in step250.

Next, the configuration unit102evaluates event messages123from the flow control environment112to determine whether virtual communication networks114are to be set up or deleted within the flow control environment, as indicated in step260.

Next, the configuration unit102connects a virtual communication network that is to be newly set up to the reverse proxy101via a first control command C1directed at the flow control environment, as indicated in step270.

Next, the configuration unit terminates, a connection between a virtual communication network to be deleted and the reverse proxy via a second control command C2directed at the flow control environment, as indicated in step280.

Next, the configuration unit102enables a removal of the respective component113from the flow control environment via a third control command C3directed at the flow control environment upon termination of the connection between the virtual communication network114to be deleted and the reverse proxy101, as indicated in step290.

Thus, while there have been shown, described and pointed out fundamental novel features of the invention as applied to a preferred embodiment thereof, it will be understood that various omissions and substitutions and changes in the form and details of the methods described and the devices illustrated, and in their operation, may be made by those skilled in the art without departing from the spirit of the invention. For example, it is expressly intended that all combinations of those elements and/or method steps which perform substantially the same function in substantially the same way to achieve the same results are within the scope of the invention. Moreover, it should be recognized that structures and/or elements and/or method steps shown and/or described in connection with any disclosed form or embodiment of the invention may be incorporated in any other disclosed or described or suggested form or embodiment as a general matter of design choice. It is the intention, therefore, to be limited only as indicated by the scope of the claims appended hereto.