A communication system for data transmission between a variety of data generation units (1, 1', 1") and a variety of data evaluation units (4, 4', 4") physically separated therefrom within a shortest distance of more than 30 meters, which data generation units (1, 1', 1") is configured to generate data, which communication system is configured to transmit data generated by the data generation units (1, 1', 1") via a non-proprietary network, and which data evaluation units (4, 4', 4') are configured to evaluate data transmitted by the communication system; wherein the communication system comprises the further characteristics, that the communication system comprises a hardware abstraction layer; said hardware abstraction layer being configured to represent a data evaluation unit (4, 4', 4") as a resource; wherein the resource comprises a property "data transmission type", which property "data transmission type" is "Streaming" or "Bulk Upload" or "Streaming, Bulk Upload"; the communication system being configured to read the property "data transmission type"; the communication system being configured to transmit the data generated to the data evaluation unit (4, 4', 4") in accordance with the read characteristic "data transmission type"; wherein the communication system comprises at least one client unit (2.1, 2.1', 2.1"), which client unit (2.1, 2.1', 2.1") is arranged in the same subnetwork behind a router to least one data generation unit (1, 1', 1"); the communication system comprises at least one cluster unit (2.4, 2.4', 2.4"), which cluster unit (2.4, 2.4', 2.4") is arranged in the same subnetwork behind a router to at least one data evaluation unit (4, 4', 4"); in that the client unit (2.1, 2.1', 2.1") and the cluster unit (2.4, 2.4', 2.4") being configured to communicate with each other by messaging; in that the hardware abstraction layer being configured to represent each data generation unit (1, 1', 1") as a resource; the hardware abstraction layer being configured to represent each data evaluation unit (4, 4', 4") as a resource; each resource having an address which address biuniquely designates a name of the resource; a client protocol is installed in the client unit (2.1, 2.1', 2.1"); the client protocol being configured to read the address of the resource of a data generation unit (1, 1', 1") to biuniquely identify a data generation unit (1, 1', 1") by a name; a cluster protocol is installed in the cluster unit (2.4, 2.4', 2.4"); the cluster protocol being configured to read the address of the resource of a data evaluation unit (4, 4', 4") to biuniquely identify a data evaluation unit (4, 4', 4") by a name; in that messaging is synchronous communication including requests of a data generation unit (1, 1', 1") or a data evaluation unit (4, 4', 4") and responses of a data generation unit (1, 1', 1") or a data evaluation unit (4, 4', 4"); and in that during messaging the client unit (2.1, 2.1', 2.1") and the cluster unit (2.4, 2.4', 2.4") being configured to maintain a communication channel (2.2, 2.2', 2.2") between the requesting data generation unit (1, 1', 1") or data generation unit (1, 1', 1") and the requested data generation unit (1, 1', 1") or data evaluation unit (4, 4', 4").