Computer module and computer-implemented method for data transmission

WO2025186118A8PCT designated stage Publication Date: 2025-10-02CONGATEC GMBH
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
PCT/EP2025/055455
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-03-08
Filing Date
2025-02-28
Publication Date
2025-10-02

AI Technical Summary

Technical Problem

The integration of external devices into IT structures is problematic due to security risks, as it allows attackers to gain unwanted access and also enables the device to access sensitive data within the IT structure.

Method used

A computer module with a hypervisor that creates multiple virtual machines, where each virtual machine has exclusive memory areas and a data transfer program to extract and process data securely, preventing direct data access and communication between virtual machines and external devices.

Benefits of technology

This approach ensures high data security by preventing direct data access and communication, maintaining secure data exchange while allowing controlled data transfer and device control.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure EP2025055455_02102025_PF_FP_ABST
    Figure EP2025055455_02102025_PF_FP_ABST
Patent Text Reader

Abstract

The invention relates to a computer module (1) and to a computer-implemented method for securely transmitting data from an external device (G) by means of a data transfer program (4) which is installed on a virtual machine (VM1) of the computer module (1).
Need to check novelty before this filing date? Find Prior Art

Description

[0001] Computer module and computer-implemented method for data transmission

[0002] The invention relates to a computer module and a computer-implemented method for data transmission using a computer module.

[0003] Computer modules, also known as CoMs (COM: Computer-on-Module), are well known. Such computer modules are used in embedded computing applications, for example, in industrial systems, etc. They comprise a circuit board on which at least one processor unit, a RAM, and possibly a graphics processor, as well as a mass storage device, can be located. The computer module can be connected to a carrier board via an electrical connector, which provides external interfaces.

[0004] Such computer modules are increasingly used in so-called IoT environments (Internet of Things), i.e., for example, to connect an external device, in particular a machine, a sensor, or similar, to an IT structure in order to process data from the device or to control the device.

[0005] The problem here is that the integration of the external device into the IT structure is often problematic for IT security, since on the one hand it allows an attacker to gain unwanted access to the device from outside, but on the other hand without further measures the device can also access data in the IT structure, which is often undesirable.

[0006] Based on this, it is the object of the invention to provide a computer module that enables a secure and flexible integration of the external device into an IT structure with the aim of exchanging data with the external device.

[0007] The object is achieved by a computer module having the features of independent patent claim 1. A computer-implemented method for data transfer is the subject of independent patent claim 10. Preferred embodiments are the subject of the dependent claims.

[0008] According to a first aspect, the invention relates to a computer module. The computer module comprises a circuit board with at least one processor unit and a main memory. A hypervisor is installed on the computer module. The hypervisor provides at least two virtual machines. This means, in particular, that the hypervisor defines a virtual environment with multiple virtual machines based on the physically available hardware, which then serve as the basis for installing operating systems, regardless of the hardware actually present. The hypervisor is, in particular, designed to at least partially separate the available hardware resources used by the virtual machines from one another, thus protecting the resources of one virtual machine from the resources of the other virtual machine.In particular, the hypervisor can reserve a memory area for each virtual machine that can be used exclusively by that machine. The hypervisor can also reserve a shared memory area that can be shared by multiple virtual machines.

[0009] A first virtual machine can be coupled to at least one external device to receive device data provided by this external device. The first virtual machine is preferably not connected to an external data network, for example, the Internet.

[0010] The first virtual machine has a data transfer program that is configurable to receive device data according to a first data format. The data transfer program can, for example, receive several different data formats and be adapted through configuration to the data format provided by the external device. The term "data format" also refers, in particular, to a data protocol.

[0011] The data transfer program of the first virtual machine is configurable to extract device payload data from the received device data and store it in a memory area assigned to the first virtual machine. In other words, device payload data is extracted from the received device data and this device payload data is stored. This process is effected in the data transfer program using a first connection configuration that specifies which device payload data should be extracted and stored from the received device data.

[0012] The data transfer program of the first virtual machine is configurable to provide output data to the second virtual machine. The output data preferably has a configurable output data format. According to a first variant, the first virtual machine provides output data according to a second data format based on the stored device payload data, which includes device payload data of the external device. The output data is transferred from the first virtual machine to the second virtual machine via a virtual network, in particular a secure virtual network. According to another alternative, the first virtual machine transfers device payload data stored in the main memory area assigned to the first virtual machine to a storage unit accessible to the first and second virtual machines, and stores the data there.The second virtual machine can be configured to read and evaluate and / or further process the device payload data from the storage unit.

[0013] The technical advantage of the computer module is that, through the interaction of the hypervisor's functionality and the data transfer program, data transfer between the external device and the second virtual machine is realized solely via the first virtual machine. The device payload is extracted from the received device data, stored, and output without directly passing the device data itself. This achieves a high level of data security, as direct data access from the second virtual machine to the external device and vice versa is prevented, and the unpacking of the device data down to a level where the device payload is present prevents the unwanted passing of other data.

[0014] According to one embodiment, the data transfer program of the first virtual machine is designed not to allow direct data transmission of device payload data present in the first data format to an output interface. Rather, the device payload data is extracted from the first data format, stored in a working memory area assigned to the first virtual machine, and, after the device payload data is read out again from this working memory area, provided as output data in a predetermined output data configuration. This process is also referred to as data projection. This extraction of device payload data, storage, and provision of output data from the device payload data also occurs when the first data format provided by the external device corresponds to the second data format that the output data is intended to have.

[0015] According to one embodiment, the storage unit is an external storage unit that can be coupled to the computer module via a data connection, for example an external mass storage device, etc. Alternatively, the storage unit is a memory area that can be used jointly by the first and second virtual machines and is provided via the hypervisor.

[0016] According to one embodiment, a memory sub-area of ​​the memory area assigned to the first virtual machine is reserved exclusively for the data transfer program, and only the data transfer program has access to this memory sub-area. This can further increase the security of the data transfer, since no other processes processed by the first virtual machine can modify the cached device payload data.

[0017] According to one embodiment, the data transfer program is configurable to effect a transfer of control data from the second virtual machine via the first virtual machine to the external device, specifically such that the second virtual machine transfers first control data to the first virtual machine via a virtual network. The data transfer program is configurable to unpack the control information contained in the first control data and to store the unpacked control information in a memory area assigned to the first virtual machine.

[0018] The stored control information is then read from the memory area assigned to the first virtual machine and incorporated into second control data, which has a data format readable by the external device. Finally, the second control data is transferred to the external device. This allows the second virtual machine to control the external device with reduced security risks, since no control information is transferred directly from the second virtual machine to the external device.

[0019] According to an alternative embodiment, the data transfer program is configurable to effect a transfer of control data from the second virtual machine via the first virtual machine to the external device. This occurs in such a way that the second virtual machine stores control information contained in the first control data in a storage unit accessible by both the first virtual machine and the second virtual machine. The data transfer program is also configurable to read the control information from the storage unit and store the read control information in a working memory area assigned to the first virtual machine.The data transfer program can also be configured to subsequently read the stored control information from the memory area assigned to the first virtual machine, integrate it into second control data that has a data format readable by the external device, and transfer the second control data to the external device. This, in turn, enables control of the external device by the second virtual machine with reduced security risks, since no control information is transferred directly from the second virtual machine to the external device.

[0020] According to one embodiment, the storage unit is an external storage unit that can be coupled to the computer module via a data connection. Alternatively, the storage unit is a memory area that can be used jointly by the first and second virtual machines.

[0021] According to one embodiment, the hypervisor is a bare-metal hypervisor, also known as a Type 1 hypervisor. The use of a bare-metal hypervisor has the technical advantage that, unlike a Type 2 hypervisor, it does not rely on the cooperation of a host operating system to gain control over the hardware. In addition to improving performance, this is also beneficial for the security of the overall system, as compromise of the system via the host operating system is impossible.

[0022] According to one embodiment, the hypervisor is configurable to trigger the second virtual machine, when the data transfer program stores device payload data in a storage unit accessible by the first and second virtual machines, specifically device payload data to be provided to the second virtual machine as output data according to an output data configuration, in order to effect an event-based reading of the device payload data stored in the storage unit by the second virtual machine. This enables an event-based query of the device payload data by the second virtual machine without a cyclic query, specifically whenever the data transfer program of the first virtual machine has written device payload data to the storage unit.

[0023] According to a further aspect, a computer-implemented method for data transfer using a computer module is disclosed. The computer module comprises a circuit board with at least one processor unit and a RAM, with a hypervisor installed on the computer module. The hypervisor provides at least two virtual machines. The method comprises the following steps:

[0024] - receiving device data according to a first data format provided by an external device by a first virtual machine coupled to the external device and on which a data transfer program is provided;

[0025] - Extracting device payload data from the received device data by the data transfer program;

[0026] - Saving the unpacked device payload in a memory area assigned to the first virtual machine;

[0027] - Providing output data in a predetermined output data configuration by the data transfer program of the first virtual machine, such that:

[0028] • the first virtual machine provides output data according to a second data format based on the stored device payload data, which includes device payload data of the external device, and that the output data is transmitted from the first virtual machine to the second virtual machine via a virtual network; or • the first virtual machine transmits device payload data stored in the memory area assigned to the first virtual machine to a storage unit accessible to the first and second virtual machines and stores it there, and that the second virtual machine reads the device payload data from the storage unit;

[0029] - Evaluation and / or further processing of the device payload data by the second virtual machine.

[0030] The technical advantage of the method is that the interaction of the functionality of the hypervisor and the data transfer program achieves a high level of data security, since direct data access from the second virtual machine to the external device and vice versa is avoided and the unpacking of the device data down to a level where the device payload data is present prevents the unwanted transmission of other data.

[0031] According to one embodiment of the method, the data transfer program of the first virtual machine does not directly forward the device data present in the first data format to an output interface. Instead, the device payload data is extracted from the first data format, stored, and provided as output data in a predefined output data configuration after the device payload data is read again from the storage unit. This further increases the security of the data transfer method.

[0032] According to one embodiment of the method, a memory sub-area of ​​the memory area assigned to the first virtual machine is reserved exclusively for the data transfer program, and only the data transfer program has access to this memory sub-area. This further increases the security of the data transfer, since no other processes processed by the first virtual machine can modify the cached device payload data.

[0033] According to one embodiment of the method, the data transfer program transmits control data from the second virtual machine to the external device via the first virtual machine. This occurs in such a way that the second virtual machine transmits first control data to the first virtual machine via a virtual network. The data transfer program performs the following steps:

[0034] - it extracts the control information contained in the first control data and stores the extracted control information in a memory area allocated to the first virtual machine;

[0035] - it reads the stored control information from the memory area assigned to the first virtual machine and integrates it into second control data having a data format readable by the external device; and

[0036] - it transmits the second control data to the external device.

[0037] This allows the external device to be controlled while maintaining a high security standard.

[0038] According to an alternative embodiment of the method, the data transfer program transmits control data from the second virtual machine via the first virtual machine to the external device, such that the second virtual machine stores control information contained in the first control data in a storage unit accessible by both the first virtual machine and the second virtual machine. The data transfer program is configured to:

[0039] - read the control information from the storage unit and store the read control information in a memory area assigned to the first virtual machine;

[0040] - read the stored control information from the memory area assigned to the first virtual machine and integrate it into second control data having a data format readable by the external device;

[0041] - to transmit the second control data to the external device.

[0042] This in turn enables control of the external device while maintaining a high security standard.

[0043] According to one embodiment of the method, when the data transfer program stores device payload data in a storage unit accessible from the first and second virtual machines, specifically device payload data to be provided to the second virtual machine as output data, the hypervisor triggers the second virtual machine to initiate an event-based readout of the device payload data stored in the storage unit by the second virtual machine. This eliminates the need for regular memory queries; instead, the hypervisor informs the second virtual machine on an event-based basis to read the device payload data.

[0044] A "computer module" in the context of the present invention refers to a computer board that can be connected to a carrier board via a standardized electrical connector. In addition to at least one processor and a RAM, the computer board can also have a graphics processor and / or a mass storage device. Such a computer module is known, among other things, by the abbreviation CoM, where CoM stands for Computer-on-Module.

[0045] Further developments, advantages, and possible applications of the invention will become apparent from the following description of exemplary embodiments and from the figures. All described and / or illustrated features, individually or in any combination, are fundamentally part of the invention, regardless of their summary in the claims or their reference back to them. The content of the claims is also incorporated into the description.

[0046] The invention is explained in more detail below with reference to several exemplary embodiments. They show:

[0047] Fig. 1 shows, by way of example and in a roughly schematic manner, a block diagram of a computer module with a hypervisor and two virtual machines in a first embodiment;

[0048] Fig. 2 shows, by way of example and in a roughly schematic manner, a block diagram of a computer module with a hypervisor and two virtual machines in a second embodiment;

[0049] Fig. 3 shows, by way of example and in a rough schematic manner, a block diagram of a computer module with a hypervisor and three virtual machines;

[0050] Fig. 4 shows an example of a flowchart illustrating the steps of the data transfer method. Figure 1 shows an example and a rough schematic of a computer module 1.

[0051] The computer module 1 is coupled to an external device G in order to receive device data therefrom. The device G can be, for example, a machine, a sensor, or another data-generating unit. The computer module 1 comprises at least a processor unit 2 and a main memory 3.

[0052] A hypervisor is installed on computer module 1, enabling the simultaneous operation of multiple guest systems on computer module 1. The hypervisor allows the definition of a virtual environment on the available hardware resources, which serves as the basis for the installation of an operating system and other applications.

[0053] In the exemplary embodiment according to Fig. 1, two virtual machines VM1, VM2 are formed on the computer module 1, to which hardware resources are allocated via the hypervisor. The processor unit 2 can, in particular, have multiple processor cores, wherein different processor cores can be assigned to the virtual machines VM1, VM2. It is understood that more than two virtual machines can also be implemented on the computer module 1 via the hypervisor.

[0054] The main memory 3 can be segmented via the hypervisor, with the virtual machine VM1 being assigned a first area 3.1 of the main memory 3 and the virtual machine VM2 being assigned a second area 3.2 of the main memory 3. These main memory areas 3.1, 3.2 can each be used solely by the respective virtual machines VM1, VM2, i.e. read and write access is only possible by the respective virtual machine to which the main memory area 3.1, 3.2 is assigned. In addition, a common main memory area 3.3 is formed in the main memory 3, to which several virtual machines VM1, VM2 can have read and / or write access (also referred to as “shared memory”).

[0055] The computer module 1 is configurable to effect secure data exchange between the external device G and applications running on the second virtual machine VM2 via the first virtual machine VM1. To ensure this secure data exchange, a data transfer program 4 is provided on the first virtual machine VM1. A memory sub-area in area 3.1 of the memory, i.e., the memory reserved exclusively for the first virtual machine VM1, is assigned to the data transfer program 4. Thus, only the data transfer program 4 can use this memory sub-area, i.e., have read and write access to it.

[0056] The data transfer program 4 is configured to receive device data from the external device G, which is provided according to a first data format. The first data format can be, for example, an analog or digital signal, an OPC UA protocol, a REST protocol, an MQTT protocol, a PLC protocol, a ModBus protocol, an IOLink protocol, or similar.

[0057] The data transfer program 4 is also designed to extract the device payload data (e.g., measured values, machine information, etc.) contained in the received device data. This means, in particular, that the data transfer program 4 unpacks the device payload data, regardless of the data format provided by the external device G, so that it is available in a common data format. After the device payload data has been extracted by the data transfer program 4, this device payload data is stored in the area 3.1 of the main memory assigned to the first virtual machine VM1, in particular a main memory sub-area 3.1.1 provided exclusively for the data transfer program 4. It should be noted that the second virtual machine VM2 has no access to the area 3.1 of the main memory, in particular to the main memory sub-area 3.1.1 provided exclusively for the data transfer program 4.

[0058] The data transfer program 4 is also configurable to provide output data containing device payload data previously stored in area 3.1 of the RAM at an output interface of the first virtual machine VM1. The data transfer program 4 can provide the device payload data in a freely configurable desired output data format, for example, embedded in a second data format, such as an OPC UA protocol or an MQTT protocol. Alternatively, the data transfer program 4 can initiate the storage of the device payload data in a storage unit, a database, or a cloud platform.

[0059] Configurable data transfers can be implemented via the data transfer program 4, specifically such that device data provided by the external device G is processed using a first connection configuration to extract the device payload and store it in the memory sub-area provided exclusively for the data transfer program 4. Using a second connection configuration, output data can be generated from the stored device payload, which is output by the first virtual machine VM1. In order to provide the output data to the second virtual machine VM2, the output data, in the exemplary embodiment according to Figure 1, is stored in a storage unit to which both the first virtual machine VM1 and the second virtual machine VM2 have access. This meansThe data transfer program 4 is configured to read the device payload data initially stored in the working memory sub-area 3.1.1 provided exclusively for the data transfer program 4 and to transfer it to the storage unit in order to store the device payload data there. In the illustrated embodiment, the storage unit is a working memory area 3.3 that can be used jointly by both virtual machines VM1, VM2. Alternatively, the storage unit can also be a storage unit independent of the working memory 3, for example, the mass storage of the computer module 1, or an external storage unit connected to the computer module 1 (database, storage, etc.).

[0060] The second virtual machine VM2 can access the storage unit, in particular the memory area 3.3 which can be used jointly by both virtual machines VM1 and VM2, and thus receive the device payload data.

[0061] The hypervisor and the data transfer program 4 installed on the first virtual machine VM1 ensure that a direct transfer of the device data from the external device G to an application running on the second virtual machine VM2 is not possible, even if this application could directly process the data format provided by the external device G. The data transfer program 4 always performs data projection, i.e., the device payload is extracted from the first data format using a first connection configuration, the device payload is temporarily stored in the main memory sub-area 3.1.1 provided exclusively for the data transfer program 4, and the device payload is output using a second connection configuration. The first virtual machine VM1 and the data transfer program 4 therefore form a security barrier that ensures security against external attacks.

[0062] Fig. 2 shows a second embodiment of the computer module 1. Only the differences between this computer module 1 and the embodiment shown in Fig. 1 are described below. Otherwise, the previous explanations also apply to the embodiment shown in Fig. 2.

[0063] The essential difference between the embodiment according to Fig. 2 and the embodiment according to Fig. 1 is that the data exchange between the virtual machines VM1, VM2 does not take place via storage of the device user data in a storage unit to which both virtual machines VM1, VM2 can access, but that the data exchange takes place via a network connection.

[0064] The first virtual machine VM1 and the second virtual machine VM2 are linked via a virtual network VN, in particular via a secure virtual network VN, so that a direct data connection exists between the virtual machines VM1 and VM2. Data communication can take place between the virtual machines VM1 and VM2 via this data connection, without the data having to be temporarily stored in a storage unit to which both virtual machines VM1 and VM2 have access.

[0065] To ensure this secure data exchange between the external device G and the virtual machine VM2, a data transfer program 4 is provided on the first virtual machine VM1. Data transfer program 4 is assigned a memory sub-area 3.1.1 in area 3.1 of the memory, i.e., the memory reserved exclusively for the first virtual machine VM1. Thus, only data transfer program 4 can use this memory sub-area 3.1.1, i.e., have read and write access to it.

[0066] The data transfer program 4, in turn, is configured to receive device data from the external device G, which is provided according to a first data format. The data transfer program 4 is also configurable to extract the device payload data contained in the received device data and, after extraction, to store this device payload data in the area 3.1 of the main memory assigned to the first virtual machine VM1, in particular the main memory sub-area 3.1.1 provided exclusively for the data transfer program 4.

[0067] Based on this stored device payload data, the data transfer program 4 can generate output data in a second data format, and this output data can be provided to an output interface of the first virtual machine VM1. The second data format can be the same as or different from the first data format used by the device data provided by the external device G.

[0068] The output data provided by the first virtual machine VM1 by means of the data transfer program 4 can be freely configured to be provided in a desired output data format, namely integrated into a second data format, for example an OPC UA protocol, an MQTT protocol, or similar. This data format can be selected in particular depending on the data format that can be directly processed by the second virtual machine VM2.

[0069] This output data is then transmitted from the first virtual machine (VM1) to the second virtual machine (VM2) via the virtual network (VN), so that the second virtual machine (VM2) can receive the output data directly, i.e., without actively accessing a storage unit. This enables fast and secure data exchange between the virtual machines (VM1 and VM2).

[0070] The data exchange between the virtual machines VM1, VM2 can be bidirectional, in particular in such a way that information, in particular control information, is transmitted from the second virtual machine VM2 via the first virtual machine VM1 to the external device G.

[0071] According to the embodiment of Fig. 1, the control information can be passed on via intermediate storage of the control information in a memory unit that can be accessed by the first and second virtual machines VM1, VM2, in particular a common working memory area 3.3.

[0072] The second virtual machine VM2 stores the control information in the storage unit accessible by the first and second virtual machines VM1, VM2, in particular a common memory area 3.3.

[0073] The data transfer program 4 is configurable to read the control information from the memory unit, in particular the common working memory area 3.3, and to store it in the area 3.1 of the working memory assigned to the first virtual machine VM1, in particular a working memory sub-area 3.1.1 provided exclusively for the data transfer program 4.

[0074] The stored control information is then read from area 3.1 of the main memory and incorporated into control data in a data format readable by the external device G. After the control data is generated, the control data is transmitted to the external device G by the data transfer program 4.

[0075] According to the exemplary embodiment of Fig. 2, the transfer of control information from the second virtual machine VM2 to the external device G can be carried out by transmitting first control data, which are provided by the second virtual machine VM2 and contain the control information, to the first virtual machine VM1 via the virtual network VN. The first control data can be in a first data format.

[0076] The data transfer program 4 is configured to receive the control data provided in the first data format and to extract the control information contained therein. This extracted control information is then stored in the area 3.1 of the working memory assigned to the first virtual machine VM1, in particular in a working memory sub-area 3.1.1 provided exclusively for the data transfer program 4.

[0077] The stored control information is then read from area 3.1 of the main memory and incorporated into control data in a data format readable by the external device G. After the control data is generated, the control data is transmitted to the external device G by the data transfer program 4.

[0078] This allows secure data communication from the second virtual machine VM2 to the external device G via the computer module 1, without the virtual machine VM2 directly sending control data to the external device G.

[0079] The hypervisor is preferably a so-called bare-metal hypervisor. This allows for influencing the operating systems of the virtual machines VM1 and VM2, in particular in such a way that the operating systems of the first virtual machine VM1 can be triggered when state changes occur in the second virtual machine VM2, or vice versa.

[0080] The data transfer program 4 is preferably configurable to execute functions or to check or analyze them based on the device payload or the control information stored in the area 3.1 of the main memory assigned to the first virtual machine VM1, in particular a main memory sub-area 3.1.1 provided exclusively for the data transfer program 4. For example, arithmetic operations can be performed, threshold values ​​can be checked, and, depending on the check, the forwarding of the device payload or the control information can be enabled or blocked. This makes it possible to further increase security, specifically in such a way that if the device payload or the control information falls below or exceeds a threshold, the data forwarding is blocked, thus preventing faulty data transmissions or incorrect control of the external device.In addition, the data transfer program 4 can be configured to enable visualization of the device payload data or control information. In particular, the data transfer program 4 can provide a web server that enables web-based data visualization.

[0081] Fig. 3 shows a third embodiment of the computer module 1. Only the differences between this computer module 1 and the embodiments of Figs. 1 and 2 are described below. Otherwise, the previous explanations also apply to the embodiment according to Fig. 3.

[0082] The essential difference of the computer module 1 according to Fig. 3 is that the hypervisor provides at least three virtual machines VM1, VM1a, VM2, of which the first and third virtual machines VM1, VM1a each have a data transfer program 4. In the exemplary embodiment shown, the first virtual machine VM1 is connected to an external device G. The device G is, for example, a machine whose machine data is to be processed. The third virtual machine VM1a can, for example, be connected to different external devices than the first virtual machine VM1, in particular to a data storage device, a cloud, or another IT system, as indicated in Fig. 3.

[0083] The second virtual machine VM2 corresponds to the second virtual machine VM2 in the previous embodiments according to Figures 1 and 2, in that a guest operating system and application-specific applications are installed there, which are separated from the first and third virtual machines VM1, VM1a via the hypervisor. Using this second virtual machine VM2, for example, customer-specific evaluations of the device data can be performed, which are provided by the first virtual machine VM1 to the second virtual machine VM2 via the data transfer program 4.

[0084] The third virtual machine VM1 a, like the first virtual machine VM1, has a guest operating system and a working memory area 3.4 assigned to the third virtual machine VM1 a, which is reserved exclusively for the third virtual machine VM1 a. In addition, a data transfer program 4 is installed on the third virtual machine VM1 a. The data transfer program 4 has the same functionality as described in connection with the data transfer program 4 installed on the first virtual machine VM1 in the exemplary embodiments of Figures 1 and 2. In particular, an exclusive working memory sub-area 3.4.1 is reserved for the data transfer program 4 of the third virtual machine VM1 a in the working memory area 3.4 reserved for the third virtual machine VM1 a, which can be used exclusively by the data transfer program 4.

[0085] The data transfer programs 4 of the first and third virtual machines VM1 and VM1 a can exchange information between the working memory sub-areas 3.1.1 , 3.4.1 , which are kept for the data transfer programs 4 in the working memory areas 3.1 , 3.4 reserved for the respective virtual machine VM1 and VM1 a.

[0086] As shown in Fig. 3 with the double arrow, information can be transferred from the working memory sub-area 3.1.1 reserved exclusively for the data transfer program 4 in the first working memory area 3.1 to the working memory sub-area 3.4.1 reserved exclusively for the data transfer program 4 in the third working memory area 3.4, or vice versa. This can be done via the shared working memory area 3.3, as described in connection with the exemplary embodiment in Fig. 1. Alternatively, the data exchange can also take place via a virtual network, as described in connection with the exemplary embodiment in Fig. 2.

[0087] Fig. 4 shows a block diagram illustrating the steps of the method for data transfer using a computer module 1. The computer module 1 comprises a circuit board with at least one processor unit and a RAM. A hypervisor is installed on the computer module, with the hypervisor providing at least two virtual machines. The method comprises the following steps:

[0088] First, device data provided by an external device according to a first data format is received by a first virtual machine coupled to the external device. A data transfer program is provided on the first virtual machine (S10).

[0089] The data transfer program of the first virtual machine extracts device payload data from the received device data (S11).

[0090] The unpacked device payload is stored in a memory area allocated to the first virtual machine (S12).

[0091] Finally, output data in a predetermined output data configuration is provided by the data transfer program of the first virtual machine (S13). In a first alternative, this is achieved by the first virtual machine providing output data according to a second data format based on the stored device payload data, which includes device payload data of the external device, and by transmitting the output data from the first virtual machine to the second virtual machine via a virtual network.

[0092] According to a second alternative, the first virtual machine transfers device payload data stored in the memory area assigned to the first virtual machine to a storage unit accessible by the first and second virtual machines and stores the data there. The second virtual machine then reads the device payload data from the storage unit.

[0093] Finally, the second virtual machine evaluates the device payload data and / or processes it further (S14).

[0094] The invention has been described above using exemplary embodiments. It is understood that numerous changes and modifications are possible without departing from the scope of protection defined by the patent claims.

[0095] List of reference symbols

[0096] 1 computer module

[0097] 2 processor unit

[0098] 3 RAM

[0099] 3.1 Memory area

[0100] 3.1.1 Memory sub-area

[0101] 3.2 Memory area

[0102] 3.3 shared memory area

[0103] 3.4 Memory area

[0104] 3.4.1 Memory sub-area

[0105] 4 Data transfer program

[0106] G device

[0107] VM1 first virtual machine

[0108] VM1a third virtual machine

[0109] VM2 second virtual machine

[0110] VN virtual network

Claims

Patent claims 1) Computer module comprising a circuit board with at least one processor unit (2) and a working memory (3), wherein a hypervisor (4) is installed on the computer module (1), wherein the hypervisor (4) provides at least two virtual machines (VM1, VM1a, VM2), wherein a first virtual machine (VM1) is coupleable to at least one external device (G) in order to receive device data provided by this external device (G), wherein the first virtual machine (VM1) has a data transfer program (4) which is configurable to receive device data according to a first data format, wherein the data transfer program (4) of the first virtual machine (VM1) is configurable to extract device user data from the received device data and to store it in a working memory area (3) assigned to the first virtual machine (VM1).1 ), wherein the data transfer program (4) of the first virtual machine (VM1 ) is configurable to provide output data in a predetermined output data configuration, in such a way that:. - the first virtual machine (VM1) provides output data according to a second data format based on the stored device payload data, which includes the device payload data of the external device (G), and that the output data is transmitted from the first virtual machine (VM1) to the second virtual machine (VM2) via a virtual network (VN); or - transferring device user data stored in the memory area (3.1) assigned to the first virtual machine (VM1) from the first virtual machine (VM1) to a storage unit accessible by the first and second virtual machines (VM1, VM2) and storing it there stored and that the second virtual machine (VM2) is configurable to read the device payload data from the storage unit; wherein the second virtual machine (VM2) is configurable to evaluate and / or further process the device payload data. 2) Computer module according to claim 1, characterized in that the data transfer program (4) of the first virtual machine (VM1) is designed not to allow direct data transmission of device user data which are present in the first data format to an output interface, but that the device user data is extracted from the first data format, stored in a working memory area (3.1) assigned to the first virtual machine (VM1) and, after the device user data has been read out again from this working memory area (3.1), is provided as output data in a predetermined output data configuration. 3) Computer module according to claim 1 or 2, characterized in that the memory unit is an external memory unit which can be coupled to the computer module (1) via a data connection or that the memory unit is a working memory area (3.3) which can be used jointly by the first and second virtual machine (VM1, VM2). 4) Computer module according to one of the preceding claims, characterized in that a working memory sub-area (3.1.1) of the working memory area (3.1) which is assigned to the first virtual machine (VM1) is reserved exclusively for the data transfer program (4) and only the data transfer program (4) has access to this working memory sub-area (3.1.1). 5) Computer module according to one of the preceding claims, characterized in that the data transfer program (4) is configurable to effect a transmission of control data from the second virtual machine (VM2) via the first virtual machine (VM1) to the external device (G), in such a way that the second virtual machine (VM2) transmits first control data via a virtual network (VN) to the first virtual machine (VM1), that the data transfer program (4) is configurable to: - to extract the control information contained in the first control data and to store the unpacked control information in a working memory area (3.1) assigned to the first virtual machine (VM1); - to read the stored control information from the working memory area (3.1) assigned to the first virtual machine (VM1) and to integrate it into second control data which has a data format readable by the external device (G); and - to transmit the second control data to the external device (G). 6) Computer module according to one of claims 1 to 4, characterized in that the data transfer program (4) is configurable to effect a transmission of control data from the second virtual machine (VM2) via the first virtual machine (VM1) to the external device (G), in such a way that the second virtual machine (VM2) stores control information contained in first control data in a storage unit which is accessible both from the first virtual machine (VM1) and from the second virtual machine (VM2), and that the data transfer program (4) is configurable to: - to read the control information from the memory unit and to store the read control information in a working memory area (3.1) assigned to the first virtual machine (VM1); - to read the stored control information from the working memory area (3.1) assigned to the first virtual machine (VM1) and to integrate it into second control data which has a data format readable by the external device (G); and - to transmit the second control data to the external device (G). 7) Computer module according to claim 6, characterized in that the memory unit is an external memory unit which can be coupled to the computer module (1) via a data connection or that the memory unit is a working memory area (3.3) which can be used jointly by the first and second virtual machine (VM1, VM2). 8) Computer module according to one of the preceding claims, characterized in that the hypervisor (4) is a bare-metal hypervisor. 9) Computer module according to one of the preceding claims, characterized in that the hypervisor (4) is configurable to trigger the second virtual machine (VM2) when storing device user data by the data transfer program (4) in a storage unit accessible by the first and second virtual machines (VM1, VM2), namely device user data that are to be provided to the second virtual machine (VM2) as output data according to an output data configuration, in order to perform an event-based reading of the data stored in the storage unit stored device payload data by the second virtual machine (VM2). 10) Computer-implemented method for data transfer by means of a computer module (1) comprising a circuit board with at least one processor unit (2) and a main memory (3), wherein a hypervisor (4) is installed on the computer module (1), wherein the hypervisor (4) provides at least two virtual machines (VM1, VM1a, VM2), the method comprising the following steps: - receiving device data according to a first data format, which are provided by an external device (G), by a first virtual machine (VM1) which is coupled to the external device (G) and on which a data transfer program (4) is provided (S10); - Extracting device payload data from the received device data by the data transfer program (4) (S11); - storing the unpacked device payload data in a memory area (3.1) assigned to the first virtual machine (VM1) (S12); - Providing output data in a predetermined output data configuration by the data transfer program (4) of the first virtual machine (VM1) (S13), in such a way that: • output data is provided by the first virtual machine (VM1) based on the stored device payload data according to a second data format, which includes the device payload data of the external device (G), and that the output data is transmitted from the first virtual machine (VM1) to the second virtual machine (VM2) via a virtual network (VN); or • from the first virtual machine (VM1 ) device payload data stored in the first virtual machine (VM1 ) assigned memory area (3.1) are transferred to a storage unit accessible by the first and second virtual machines (VM1, VM2) and stored there, and that the second virtual machine (VM2) reads the device payload data from the storage unit; - Evaluation and / or further processing of the device payload data by the second virtual machine (VM2) (S14). 11) Method according to claim 10, characterized in that the data transfer program (4) of the first virtual machine (VM1) does not directly pass the device data, which are present in the first data format, to an output interface, but that the device user data is extracted from the first data format, stored and, after a renewed reading of the device user data from the storage unit, is provided as output data in a predetermined output data configuration. 12) Method according to claim 10 or 11, characterized in that a working memory sub-area (3.1) of the working memory area (3.1) which is assigned to the first virtual machine (VM1) is reserved exclusively for the data transfer program (4) and only the data transfer program (4) has access to this working memory sub-area (3.1.1). 13) Method according to one of claims 10 to 12, characterized in that the data transfer program (4) transmits control data from the second virtual machine (VM2) via the first virtual machine (VM1) to the external device (G), in such a way that the second virtual machine (VM2) transmits first control data via a virtual network (VN) to the first virtual machine (VM1) and that the data transfer program (4): - unpacks the control information contained in the first control data and stores the unpacked control information in a working memory area (3.1) assigned to the first virtual machine (VM1); - reads the stored control information from the working memory area (3) assigned to the first virtual machine (VM1) and integrates it into second control data which has a data format readable by the external device (G); and - transmits the second control data to the external device (G). 14) Method according to one of claims 10 to 12, characterized in that the data transfer program (4) transmits control data from the second virtual machine (VM2) via the first virtual machine (VM1) to the external device (G), in such a way that the second virtual machine (VM2) stores control information contained in first control data in a storage unit which is accessible both from the first virtual machine (VM1) and from the second virtual machine (VM2), and that the data transfer program (4): - reads the control information from the memory unit and stores the read control information in a working memory area (3.1) assigned to the first virtual machine (VM1); - reads the stored control information from the working memory area (3.1) assigned to the first virtual machine (VM1) and integrates it into second control data which has a data format readable by the external device (G); - to transmit the second control data to the external device (G). 15) Method according to one of claims 10 to 14, characterized in that the hypervisor (4) when storing device user data by the data transfer program (4) in a storage unit which is accessible from the first and second virtual machine (VM1, VM2), namely device user data which are to be provided to the second virtual machine (VM2) as output data according to an output data configuration, triggers the second virtual machine (VM2) in order to effect an event-based reading of the device user data stored in the storage unit by the second virtual machine (VM2).