WO2018141435A1 - Method and apparatus for allocating device resources - Google Patents

Method and apparatus for allocating device resources Download PDF

Info

Publication number
WO2018141435A1
WO2018141435A1 PCT/EP2017/080724 EP2017080724W WO2018141435A1 WO 2018141435 A1 WO2018141435 A1 WO 2018141435A1 EP 2017080724 W EP2017080724 W EP 2017080724W WO 2018141435 A1 WO2018141435 A1 WO 2018141435A1
Authority
WO
WIPO (PCT)
Prior art keywords
tasks
distributed system
resources
task
devices
Prior art date
Application number
PCT/EP2017/080724
Other languages
German (de)
French (fr)
Inventor
Josep Soler Garrido
Original Assignee
Siemens Aktiengesellschaft
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Siemens Aktiengesellschaft filed Critical Siemens Aktiengesellschaft
Publication of WO2018141435A1 publication Critical patent/WO2018141435A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system

Definitions

  • the invention relates to a method and apparatus for allocating resources from distributed system devices to tasks executed by distributed system devices.
  • Distributed systems can include a variety of devices that have different resources and communicate with one another.
  • the resources of the distributed system include, for example, processor resources, memory resources or data transfer resources.
  • the various devices of the distributed system are thus limited in their local resources and are exposed to a dynamic workload.
  • the various devices or nodes of the system can locally execute tasks of a work process or workflow to use their local resources.
  • local sensor data can be processed which receive the various devices of the distributed system from associated data sources or sensors from local data streams.
  • the distributed system devices can perform various tasks, such as diagnostics, maintenance, monitoring, or other data processing tasks.
  • Workflows or working processes of the distributed Sys tems ⁇ comprise a plurality of tasks that are performed on different devices using multiple data streams.
  • the results of the various individual tasks can be combined or chained to extract results to identify different patterns or certain situations within the distributed system know ⁇ to it.
  • a control unit of the distributed system can initiate or carry out measures.
  • executing a work process or workflow advertising the assigned various tasks of the workflow data processing ⁇ resources of the distributed system.
  • the allocation of resources takes place dynamically in many applications. It is therefore an object of the present invention to provide a method and apparatus for allocating resources of wireless devices within a distributed system to tasks wel ⁇ che of devices of the distributed system are performed to establish, in which the allocation of resources is optimized.
  • the inventive method allows the allocation of the system resources of the distributed system in a robust and simple manner.
  • the other tasks that are related to the tasks that can be executed by the respective device are contained in at least one common workflow, which comprises a set of z associated tasks.
  • each unit of the distributed system performs the Loka ⁇ le optimization, when a resource allocation to each device is changed, or change the available locally on the device resources, or when the device an update at least one embodiment quality metric from a receives another device of the distributed system.
  • the predetermined optimization function has a global function of the entire distributed system.
  • the resources of a distributed system device include processor resources, memory resources and / or data transmission resources of the device.
  • the execution quality metrics indicate a quality with which a task is executed by the device.
  • the execution quality metrics have a sensitivity, an accuracy and / or an error rate.
  • a task that can be executed by a device can be executed in different operating modes of the device, which each claim a different set of resources of the device.
  • a set of permissible operating modes of a device is provided for each task.
  • the selection of resources of a device for executing a task by switching to another permissible operating mode of the respective device takes place.
  • the invention further provides, according to another aspect, a resource allocation device having the features specified in claim 13. Possible embodiments of the resource allocation according to the invention are specified in the subclaims.
  • the resource allocation device has a storage unit for storing the local execution quality metrics and the external resource allocation
  • the resource assigning apparatus further includes a storage unit for storage of all of brass by the device within a workflow from ⁇ executable tasks, ie which set of tasks T can perform the device locally.
  • the device stores which sets of tasks within the system are related to any task of the set of tasks and which other devices are capable of executing them.
  • the invention further provides, according to a further aspect, a distributed system having the features specified in claim 16.
  • the invention provides a distributed system with a plurality of devices, each of which has resources for processing tasks and each containing a Monashami ⁇ sungsvortechnische according to one aspect of the invention.
  • the resource allocation devices of the distributed system devices exchange
  • the devices of the distributed system field devices have each including a processor as ⁇ calculation unit, the data derived in particular from sensors, sensor data, in a workflow, the one or more Tasks includes, processes and transmits the processed data to a control unit of the distributed system.
  • FIG. 1 is a block diagram illustrating a possible exemplary embodiment of a device having a resource allocation device according to the invention
  • FIG. 2 is a flow chart illustrating an embodiment of a method of allocating device resources of a distributed system according to the invention
  • Fig. 3 is another block diagram illustrating a
  • FIG. 5 is a table of an exemplary list of event detection task operation modes that may be performed by a device
  • FIG. 6 is a graph for logically illustrating an exemplary implementation of various workflows on different distributed system devices; a functional diagram for representing an average workflow overhead as a function of a resource variance according to a simulation; a further functional diagram for representing an average workflow overhead as a function of a resource variance according to another simulation; a distribution of values of an expense or
  • a distributed system 1 comprises a plurality of devices 2-0, 2-1, 2-2 capable of communicating with each other.
  • the various devices 2-i may communicate with each other via a wireless or wired interface.
  • the devices 2-i are connected to a common bus of the system 1 in order to be able to exchange data or messages with one another.
  • the bus may be a serial or parallel data bus.
  • the devices are 2-i field devices that have data via a field device bus, in particular
  • Execution quality metrics can exchange with each other.
  • the various devices 2-i can also transmit processed data to an optionally existing common unit 3 of the distributed system 1.
  • the unit 3 may include one or more workflows and working process abar w ⁇ BEITEN.
  • no unit 3 is present and the system consists of devices 2, in particular of field devices.
  • the number of devices 2 and the number of layers may vary.
  • a first layer of devices 2 may be connected to sensors.
  • a second layer of devices 2 may serve as a data concentrator and unprocessed data from field devices. Rates 2 received.
  • Further units for example in a cloud, can collect and process data in a third layer.
  • each device 2-i can be connected to one or more data sources 4-i which supply data for data processing.
  • the device 2-0 of the distributed system 1 is connected to N different data sources 4-1, 4-2 ... 4-m in the illustrated example.
  • the data sources 4-i may include sensors that provide sensor data in different data streams DS to the device 2-0. Other data sources, such as memory units or the like, are also possible.
  • the data sources can also be formed by other devices 2.
  • a device 2 may send raw data or processed data from its sensors to other devices 2 for further data processing. These data streams can be transmitted via a network interface.
  • Each device 2-i has a ⁇ be restricted amount of locally available resources for data processing.
  • the device 2-0 has N different device resources 5-i.
  • This device resources are 5-i, for example, processor resources, memory resources and data transmission resources of the equipment 2.
  • the various devices 2-i of the, allocated system 1 each have a resource allocation ⁇ device 6 for allocating resources 5-i of the device to task t on, which are executed by devices of the distributed system 1 ⁇ .
  • a predetermined optimization function is provided, the external local execution quality metrics q d, the device of the self-executable tasks 2- i t, and
  • Execution quality metrics q d 'depend on other tasks t' which may be related to the tasks t executable by the respective device 2-i and executable by other devices of the distributed system 1.
  • the other tasks, which together ⁇ men conference with the locally executable by the respective unit 2-i tasks are preferably contained in a common workflow w, comprising a set of associated tasks.
  • each Distributed system device 1 also has relation data for each task executable by the device, which is a relationship between a local execution quality metric q d with which a task can be executed by the respective device and resources 5-i of the device. which are assigned to the respective task.
  • Execution quality metrics may depend on the resources of the device itself and, where appropriate, resources of the sensors or other device extensions that the device controls.
  • each resource allocating device 6 of a device 2-i within the distributed system 1 preferably comprises a receiving unit 6A, a calculating unit 6B and a transmitting unit 6C.
  • the Emp ⁇ capturing unit 6A and 6C, the transmitting unit can be integrated in a transmitter 6 de-receiving unit of the resource allocation device.
  • the receiving unit 6A of the resource allocating device 6 is adapted to receive execution quality metrics q d of tasks t from other devices 2 of the distributed system 1 executed by the other devices 2.
  • the device 2-0 communicates with two further devices 2-1, 2-2 of the distributed system 1 for exchanging execution quality metrics.
  • the receiving unit 6A of the device 2-0 receives a first execution quality metric q d i 'from the device 2-1 with respect to tasks executed by the device 2-1. Furthermore, the receiving unit 6A of the device 2-0 receives execution quality metrics q d 2 'from tasks of the further device 2-2 of the distributed system 1, which are executed by this other device 2-2.
  • the calculation unit 6B of the resource allocation device 6 is adapted to a local function from an upstream LF give ⁇ nen to be optimized optimization function (F) derive.
  • the local function LF preferably depends on the local Execution quality metrics q d, 2-i executable tasks of the equipment used.
  • the optimization function F is a global function of the entire distributed system 1.
  • the optimization function F can have a cost function to be minimized.
  • the computing unit 6B of the resource allocation device 6 is further adapted to perform a local optimization based on the derived local function LF and the relationship data present in the respective device 2-i.
  • the local optimization is carried out on the basis of submitte ⁇ th local function LF and stored relationship data of the respective device 2-i in consideration of the available resources 5 of the respective unit 2-i for selection of resources of the particular device which the affected task to the execution be assigned to.
  • the resource allocating device 6 further includes the sending unit 6C that is suitable for updating
  • the transmitting unit 6C of the device 2-0 transmits updated execution quality metrics q d o of each task t performed by the device 2- 0 by the device 2-0 using the resources 5 assigned to this task t 2-0, to the other two devices 2-1, 2-2 of the distributed system 1, wherein each of the two remaining devices 2-1, 2-2 are provided for the execution of another task, which may be related to one of the tasks executed by the device 2-0 or may belong to the same workflow w.
  • the resource allocating device 6 preferably has a storage unit for storing the local
  • Resource allocation device 6 preferably also has a further storage unit for storing all tasks t that can be executed by device 2-i within a workflow or workflow w. Further, the apparatus 2 stores are provided which sets or groups of tasks within the system with ir ⁇ vicinity of a task of the set of tasks in relationship, and what other devices of the system 1 are in a position they exit out the various resource allocation devices 6 of the various devices 2- i of the distributed system 1 exchange execution quality metrics among each other to increase the efficiency of resource usage within the distributed system 1.
  • the various devices 2-i of the distributed system 1 have field devices, each of which contains a processor as the calculation unit 6B, which processes data in a workflow w, which includes one or more tasks t, and then processes the processed data to the control unit 3 of the distributed system 1 transmits.
  • the processor and the calculation unit 6B of the unit 2-i for example, processed Sensorda ⁇ th derived from sensors 4-i, which are connected to the device in question 2-i, or derived from other system devices.
  • FIG. 2 shows a simple flow chart for illustrating an embodiment of the method according to the invention for allocating resources from devices 2-i of a distributed system.
  • tems 1 to tasks t which are executed by devices 2 of the distributed system 1, according to another aspect of the invention.
  • Each device 2-i of the distributed system 1 can execute the main steps shown schematically in FIG.
  • a first step Sl the relevant device 2-i receives from other devices of the system 1
  • Execution quality metrics q d 'of tasks executed by the other devices 2 of the system 1. It can be sufficient if a single execution quality metric of another device has changed.
  • a local function which depends on the local execution quality metrics q d of the tasks t that can be executed by the respective device 2-i, is first determined by a predetermined optimization function F to be optimized on the basis of the external execution quality metrics q d ' derived the respective device 2-i from the other devices of the system 1 derived.
  • the to be optimized is first determined by a predetermined optimization function F to be optimized on the basis of the external execution quality metrics q d ' derived the respective device 2-i from the other devices of the system 1 derived.
  • Function F is in a possible embodiment a global function of the entire distributed system 1, in particular a global cost function of the distributed system 1.
  • a further step S3 it is a local optimization ⁇ step on the basis of the derived at step S2 local function and on the basis of relationship data of the respective device 2-i, taking into account the available resources of the respective device 2-i for the selection of resources of the respective device 2-i, which are assigned to the relevant task for their execution.
  • the device has two for each of the unit 2 executable task from relationship ⁇ data.
  • the stored relationship data gives a relationship between a local execution quality metric q d , with which a task can be executed by the relevant device 2, and the resources 5 of the device 2, which are assigned to the respective task for this purpose.
  • the relationship data can be stored in a memory unit of the device 2.
  • Execution quality metrics q d each task performed by the respective device 2-i executed by the respective device 2-i using the resources 5 of the device 2 assigned to this task to all other devices 2 of the system 1 which are used to execute a other task are provided.
  • the other task may be related to one of the tasks executed by the respective device 2-i or belong to a same workflow w.
  • Each device 2 of the distributed system 1 may, in one possible embodiment, perform the local optimization in step S3 as soon as a resource allocation at the respective device 2-i is changed and / or a resource availability in the device 2-i changes.
  • the exchange of execution quality metrics may be continuous in one possible embodiment. Alternatively, the replacement of the
  • steps S1, S4 are triggered when a particular event occurs.
  • Execution quality metrics indicate a quality with which a task by the particular device 2-i of the system is guided out ⁇ . 1
  • the exchanged execution quality metrics have a sensitivity, an accuracy and / or an error rate with which a task is executed by the device 2.
  • An executable by a device 2 of the system 1 task which is executable in different operating modes m of the device 2, each claiming a different set of resources 5 of the device 2 and / or resources of device extensions, in particular of sensors or data sources.
  • a set of permissible operating modes of the relevant device 2-i is provided for each task. The selection of resources 5 of a device 2-i to perform a task in one possible embodiment by switching to another permissible operating mode of the device in question 2. In the event that the local resources of a device 2 are changed, the
  • Fig. 3 shows another schematic diagram for Erläute ⁇ tion of the operation of a distributed system 1, which comprises multiple devices 2-i, the tasks of a workflow w can perform ⁇ .
  • an iterative distributed allocation of resources takes place by means of a distributed resource management.
  • the individual distributed resources ⁇ management by the different devices 2 of the distributed system 1 has the advantage that a local optimization can be done by the different devices 2 of the distributed system. 1 This local optimization based on a derived local function LF can be performed particularly quickly as soon as the resource allocation situation within the distributed system 1 changes.
  • Each device 2-i of the distributed system 1 has information indicating the topology of the workflows or workflows w. Depending ⁇ the unit 2-i has information or data which is ⁇ ben which tasks are executable by the device concerned. 2
  • the device 2 has for each workflow w on Informa ⁇ tion data which group or set of devices which perform tasks 2, which belongs to the relevant workflow w.
  • each device 2 has information data of a function F associated with these workflows w.
  • the function F is a function of the local
  • Each node or device 2 of the distributed system 1 stores data of execution quality metrics which the device 2 has received from other peer devices 2 of the system 1.
  • the unit 2 in question performs a local optimization on the basis of the derived Loka ⁇ len function by LF, wherein values of the
  • Execution quality metrics are fixed by the other devices 2 of the distributed system 1 or kept constant.
  • an operating mode m can be selected for each task of the device 2. Further, by using the vorlie ⁇ constricting mapping a set or group of data source can configurations of data sources 4-i and values of
  • Execution quality metrics are read from a lookup table.
  • the output of the local optimization step is the optimal resource assigned to each task that can be executed locally as well as related qualities or quality metrics.
  • the relationship or mapping between the two is known and used by the device. However, the relationship can be expressed in different ways. For example, a list of operating modes (quality resources) may be provided. Alternatively, the quality of a task or its execution quality metric may be defined as a function of the resources used for it.
  • the device 2-i can configure associated data sources 4-i (dashed line in FIG. 1) to obtain data corresponding to the individual tasks of the operating mode.
  • the device 2 transmits its updated
  • the resource allocation method according to the invention provides a faster iterative update of data source configurations in response to changes in device resources, enabling or disabling workflows, changing workflow priorities, device errors, or data source failures.
  • Execution quality metrics used for its own local optimization may for example be effected by by adding time stamps or sequence numbers to the updated execution quality metrics, which are exchanged between different nodes or devices 2 of the distributed system 1 and preferably additionally defines a predefi ⁇ ned priority between the various devices 2 which all devices 2 of the distributed system 1 is known. For example, if a first node 2A broadcasts an execution quality metric update with the N + 1 sequence, but receives another update from another higher priority peer device 2B that specifies the sequence metadata, that the quality metric sequence N of device 2A has been used, then the node or device 2A can, based on its known priorities, immediately broadcast a new update N + 2 based on the last execution quality metrics of the device 2B. The node or device 2B of the distributed system 1 ignores the update N + 1 of device 2A because it is not based on the last execution quality metrics of the device 2B.
  • the resource allocating device 6 of the device 2 may perform various optimization procedures.
  • the device 2 leads to Timing by the installation of the system 1 or dauerhaf ⁇ th changes an initial or initial optimization.
  • an individual resource management or an individual resource allocation can take place without feedback from the other devices 2 of the distributed system 1.
  • the iterative distributed resource allocation or resource allocation can then be carried out with the aid of the method according to the invention.
  • Fig. 4 shows a schematic representation for a game stick at ⁇ workflow w, which can be carried out by the inventive distributed system 1.
  • the workflow w is used to detect or detect a system event S based on the combination of six independent events or events S 1 to S 6 via logic operations. Each event can be signaled by an associated task t1 to t6, which are executed on a device 2.
  • a singletechnischsproofsmet- rik is selected for the particular workflow W or selected.
  • the execution quality metric in the illustrated example is the sensitivity s c for detecting a complex event c.
  • This embodiment quality metric s c (up S6 Sl) for the various individual events by the individual sensitivities (El to E6) expressed ⁇ the.
  • Devices 2 in particular field devices, are limited in terms of their CPU resources. The sensitivity with which event detection can be achieved depends on the analytical model and sensor configuration. Each configuration requires a corresponding set of device ⁇ resources of the unit 2.
  • the table shown in FIG. 5 shows an example of how different five operating modes m for each task defined who can ⁇ . The table belongs to a task t that runs on a particular device 2. The same task t, if executable on different devices of system 1, has a different table for each of these devices. For example ⁇ the task requires more resources of the device in question to achieve the given quality.
  • Each operation mode ⁇ m may for example be defined for executing the task by a differing ⁇ Chen algorithm.
  • FIG. 6 shows a deployment in which three workflows w, as shown in FIG. 4, can be deployed or deployed.
  • the three workflows w as shown in FIG. 4, can be deployed or deployed.
  • the example shown the
  • a resource allocation mechanism serves to allocate resources 5 to tasks on each device 2.
  • a set or a group of different workflows w may be provided, which each comprise a set or a group of associated tasks, as well as a topology which indicates how the tasks are linked to one another.
  • a set of operating modes zuläs ⁇ sigen m can be provided which contain the necessary configuration for the data source 4 and the associated necessary device resources.
  • An operating mode m represents a particular way in which a task t is to be solved, with an associated set of resources and qualities achieved.
  • An operating mode m may be defined by a particular configuration at data sources 4 or by other parameters, such as a particular algorithm for solving the task.
  • an optionally multidimensional execution quality metric may be indicated as a function of the resources used.
  • a cost function may be specified as a function of the execution quality metrics.
  • For each device 2 of the system 1 comprises a set of verheg ⁇ cash resources for executing the task t. This set of available resources may change over time, depending on the current workload of the device 2. The workload of the device 2 is measurable in one possible embodiment.
  • the method according to the invention can be based on a distributed optimization algorithm.
  • Each device 2 of the distributed system 1 can individually decide which proportion or percentage of its available resources 5 it assigns to the various individual tasks.
  • Each device 2 is capable of exchanging information with other devices of the system 1 to iteratively achieve a global optimum for the entire distributed system 1.
  • the devices 2 inform their peer devices 2 of the quality with which they perform their own tasks t. This information is used by each device 2 in the next local optimization step to allocate resources to locally executed tasks. In this way a high probability is achieved friendliness to achieve a global optimum, while at the same time keeps the complexity and quantity of the information exchanged ⁇ or data minimal.
  • Each device 2 for example each field device, lists a set of tasks based on its locally available sensor data and other required data based on its limited resources, for example, the device 2 through a network of other distributed system devices 1 receives.
  • Each device 2-i of the system 1 can, for example, execute T d tasks.
  • Each unit 2-i may play control a set of S d local data sources or sensors at ⁇ , to generate data for data processing.
  • a set of R device resource classes (for example, CPU, memory, or network bandwidth ...) is the second device of all devices distributed system 1, which perform tasks t, together.
  • the amount of each of these different resources for the data processing tasks may vary for each device 2.
  • the amount of the resource type r available on a device d may be indicated as R d , r .
  • r di ir is the amount of resource r assigned to a task j on a device d.
  • resource r must meet the following condition for each type of resource r follows that each device of the system 1 d at each time point: r d, j, r ⁇ Rd.r Vd, r: d E ⁇ 1 ... D], E ⁇ r 1 ... R ⁇
  • the results of all tasks that are performed on all devices 2 of the Sys tems ⁇ 1 can be combined in w workflows that are able to extract results in terms of the distributed system.
  • Different tasks t can be combined to a workflow w on a higher layer or layer. This combination does not necessarily have to be done at the device level.
  • the data sources or sensors 4 can support different configurations with different attributes, for example with a certain sampling rate or with a certain accuracy or precision.
  • the various devices 2-i of the system 1 are capable of configuring the data sources 4 and controlling their attributes. Typically, an execution quality metric is assigned to an analytic task.
  • the execution quality metric includes, for example, sensitivity, specificity, or accuracy.
  • the quality of execution of a task t depends on the data model or algorithm used and on the configuration of the data sources 4, for example on a sampling rate of the data sources 4.
  • Tasks that process data with a higher level of execution ⁇ quality generally require more device resources 5. Therefore, it is possible to define the quality of a task or the execution quality as a function of applied comparable to them resources r.
  • the quality q as a function of resources r can of course be continuous. In most cases the quality is discretized.
  • a finite set of operating modes m di as follows: m d, j e i m d, j, l- m d , j, Mdj ⁇ ⁇
  • An execution quality metric for a workflow w as a function of the qualities of the associated associated tasks. This can be formulated as a cost function, for example, with higher values indicating a ge ⁇ ringere quality.
  • a workflow Wi with a set of related tasks ti the effort and depend on the Kos ⁇ ten belonging to the workflow w, from the
  • FIGS. 7, 8 show simulation results in a functional diagram. In this case, a simulation or an Implemen ⁇ tion is shown, as shown in FIG. 6. There, three different workflows or workflows wi, W2, W3 are shown, each workflow w based on the logical combination of six tasks t, as shown in Fig. 4. These tasks are distributed over nine different devices 2, each performing two tasks t. The various tasks have five different operating modes
  • the total amount of CPU resources of each device 2 can be modeled as an independent random variable with a Gaussian distribution ⁇ ( ⁇ , ⁇ 2 ).
  • the variance ⁇ 2 ranges from [0 to 2] depending on the respective simulation point.
  • Fig. 7 shows the average cost (average
  • False negative rate FNR for different methods.
  • the false negative rate FNR approaches zero, as expected, because the devices 2 have more device resources than are required to perform all tasks in the higher mode of operation.
  • the performance or performance of the individual Resource management decreases faster because there kei ⁇ nen way or no way to adjust the allocation of resources and resource allocation to the global tasks to the lack of resources in some devices with 2 resources to other equipment 2 of the system 1 are available to compensate.
  • FIG. 8 shows a diagram for illustrating a further simulation.
  • FIG. 8 shows an average workload as a function of a resource variance.
  • the variance ⁇ 2 ranges from [0 to 2] depending on the simulation point.
  • FIG. 7 shows an average value of the cost function.
  • the distribution of the cost values for covering different methods ⁇ NEN is also relevant. This is illustrated in the diagram of FIG. 9 for the second simulation.
  • Fig. 9 shows the distribution of the values of the cost function for different methods used in the second simulation.
  • FIG. 9 shows the results of the resource allocation method according to the invention.
  • FIG. 9 III shows the results of an optimal resource allocation.
  • FIG. 9 shows the results for an individual resource management.
  • the inventive method has a low complexity. Therefore, it is able to respond very quickly to variations or changes in resource conditions and system conditions.
  • the method according to the invention does not require a central coordination unit.
  • the method according to the invention scales well with the size of the distributed system 1.
  • the inventiveness proper procedure provides a nearly optimal allocation of resources and resource allocation within the distributed system 1, that is an almost optimal utilization of standing for Availability checked ⁇ supply resources of the distributed system 1 for the execution of workflows w.
  • the inventive method is suited in particular for a distributed system 1 with several ⁇ ren distributed devices 2, in particular field devices.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

The invention relates to a method for allocating resources of devices (2) of a distributed system (1), wherein each device (2) of the distributed system (1) allocates the locally available resources (5) of said device to tasks in accordance with external execution quality metrics, which the device (2) receives from other devices (2) of the distributed system (1).

Description

Verfahren und Vorrichtung zum Zuweisen von Geräteressourcen Method and device for assigning device resources
Die Erfindung betrifft ein Verfahren und eine Vorrichtung zum Zuweisen von Ressourcen von Geräten eines verteilten Systems zu Tasks, die von Geräten des verteilten Systems ausgeführt werden . The invention relates to a method and apparatus for allocating resources from distributed system devices to tasks executed by distributed system devices.
Verteilte Systeme können eine Vielzahl von Geräten umfassen, die über verschiedene Ressourcen verfügen und miteinander kommunizieren. Die Ressourcen des verteilten Systems umfassen beispielsweise Prozessorressourcen, Speicherressourcen oder Datenübertragungsressourcen. Die verschiedenen Geräte des verteilten Systems sind somit hinsichtlich ihrer lokalen Ressourcen limitiert und sind einer dynamischen Arbeitsbelastung ausgesetzt. Die verschiedenen Geräte oder Knoten des Systems können lokal Tasks eines Arbeitsprozesses bzw. Workflows zur Verwendung ihrer lokalen Ressourcen ausführen. Dabei können beispielsweise lokal Sensordaten verarbeitet werden, welche die verschiedenen Geräte des verteilten Systems von zugehöri- gen Datenquellen bzw. Sensoren von lokalen Datenströmen erhalten. Mithilfe der empfangenen Sensordaten können die Geräte des verteilten Systems verschiedene Aufgaben bzw. Tasks ausführen, beispielsweise Diagnosefunktionen, Wartungsmaßnahmen, Überwachungsvorgänge oder sonstige Datenverarbeitungs- prozesse. Workflows bzw. Arbeitsprozesse des verteilten Sys¬ tems umfassen mehrere Tasks, die auf verschiedenen Geräten unter Verwendung multipler Datenströme ausgeführt werden. Die Ergebnisse der verschiedenen individuellen Tasks können miteinander kombiniert bzw. verkettet werden, um Ergebnisse zu extrahieren, verschiedene Muster zu identifizieren oder bestimmte Situationen innerhalb des verteilten Systems zu er¬ kennen. Davon abhängig kann beispielsweise eine Steuereinheit des verteilten Systems Maßnahmen auslösen bzw. durchführen. Bei der Ausführung eines Arbeitsprozesses bzw. Workflows wer- den den verschiedenen Tasks des Workflows Datenverarbeitungs¬ ressourcen des verteilten Systems zugewiesen. Die Zuweisung der Ressourcen erfolgt dabei in vielen Anwendungsfällen dynamisch. Es ist daher eine Aufgabe der vorliegenden Erfindung, ein Verfahren und eine Vorrichtung zum Zuweisen von Ressourcen von Geräten innerhalb eines verteilten Systems zu Tasks, wel¬ che von Geräten des verteilten Systems ausgeführt werden, zu schaffen, bei der die Zuweisung der Ressourcen optimiert wird . Distributed systems can include a variety of devices that have different resources and communicate with one another. The resources of the distributed system include, for example, processor resources, memory resources or data transfer resources. The various devices of the distributed system are thus limited in their local resources and are exposed to a dynamic workload. The various devices or nodes of the system can locally execute tasks of a work process or workflow to use their local resources. In this case, for example, local sensor data can be processed which receive the various devices of the distributed system from associated data sources or sensors from local data streams. Using the received sensor data, the distributed system devices can perform various tasks, such as diagnostics, maintenance, monitoring, or other data processing tasks. Workflows or working processes of the distributed Sys tems ¬ comprise a plurality of tasks that are performed on different devices using multiple data streams. The results of the various individual tasks can be combined or chained to extract results to identify different patterns or certain situations within the distributed system know ¬ to it. Dependent on this, for example, a control unit of the distributed system can initiate or carry out measures. When executing a work process or workflow advertising the assigned various tasks of the workflow data processing ¬ resources of the distributed system. The allocation of resources takes place dynamically in many applications. It is therefore an object of the present invention to provide a method and apparatus for allocating resources of wireless devices within a distributed system to tasks wel ¬ che of devices of the distributed system are performed to establish, in which the allocation of resources is optimized.
Diese Aufgabe wird erfindung gemäß durch ein Verfahren zum Zuweisen von Ressourcen von eräten erfüllt, welches die Merkmale des Patentanspruchs 1 aufweist. This object is fulfilled according to the invention by a method for allocating resources of devices, which has the features of patent claim 1.
Das erfindungsgemäße Verfahren erlaubt die Zuweisung bzw. Allokation der Systemressourcen des verteilten Systems in robuster und einfacher Weise. The inventive method allows the allocation of the system resources of the distributed system in a robust and simple manner.
Mögliche Ausführungsformen des erfindungsgemäßen Verfahrens sind in den Unteransprüchen angegeben. Possible embodiments of the method according to the invention are specified in the subclaims.
Bei einer möglichen Ausführungsform des erfindungsgemäßen Verfahrens sind die anderen Tasks, die mit den durch das je weilige Gerät ausführbaren Tasks zusammenhängen, in mindestens einem gemeinsamen Workflow enthalten, der einen Satz z gehöriger Tasks umfasst. In one possible embodiment of the method according to the invention, the other tasks that are related to the tasks that can be executed by the respective device are contained in at least one common workflow, which comprises a set of z associated tasks.
Bei einer möglichen Ausführungsform des erfindungsgemäßen Verfahrens führt jedes Gerät des verteilten Systems die loka¬ le Optimierung aus, sobald eine Ressourcenzuweisung an dem jeweiligen Gerät verändert wird oder sich die lokal an dem Gerät verfügbaren Ressourcen ändern oder sobald das Gerät ein Update mindestens einer Ausführungsqualitätsmetrik von einem anderen Gerät des verteilten Systems erhält. In one possible embodiment of the method according to the invention each unit of the distributed system performs the Loka ¬ le optimization, when a resource allocation to each device is changed, or change the available locally on the device resources, or when the device an update at least one embodiment quality metric from a receives another device of the distributed system.
Bei einer weiteren möglichen Ausführungsform des erfindungsgemäßen Verfahrens weist die vorgegebene Optimierungsfunktion eine globale Funktion des gesamten verteilten Systems auf. Bei einer weiteren möglichen Ausführungsform des erfindungsgemäßen Verfahrens weisen die Ressourcen eines Gerätes des verteilten Systems Prozessorressourcen, Speicherressourcen und/oder Datenübertragungsressourcen des Gerätes auf. In a further possible embodiment of the method according to the invention, the predetermined optimization function has a global function of the entire distributed system. In a further possible embodiment of the method according to the invention, the resources of a distributed system device include processor resources, memory resources and / or data transmission resources of the device.
Bei einer weiteren möglichen Ausführungsform des erfindungsgemäßen Verfahrens geben die Ausführungsqualitätsmetriken eine Qualität an, mit der eine Task durch das Gerät ausgeführt wird . In another possible embodiment of the method according to the invention, the execution quality metrics indicate a quality with which a task is executed by the device.
Bei einer weiteren möglichen Ausführungsform des erfindungsgemäßen Verfahrens weisen die Ausführungsqualitätsmetriken eine Sensitivität , eine Genauigkeit und/oder eine Fehlerrate auf . In another possible embodiment of the method according to the invention, the execution quality metrics have a sensitivity, an accuracy and / or an error rate.
Bei einer weiteren möglichen Ausführungsform des erfindungsgemäßen Verfahrens ist eine durch ein Gerät ausführbare Task in unterschiedlichen Betriebsmodi des Gerätes ausführbar, die jeweils einen anderen Satz von Ressourcen des Gerätes bean- spruchen. In another possible embodiment of the method according to the invention, a task that can be executed by a device can be executed in different operating modes of the device, which each claim a different set of resources of the device.
Bei einer weiteren möglichen Ausführungsform des erfindungsgemäßen Verfahrens wird für jede Task ein Satz von zulässigen Betriebsmodi eines Gerätes bereitgestellt. In a further possible embodiment of the method according to the invention, a set of permissible operating modes of a device is provided for each task.
Bei einer weiteren möglichen Ausführungsform des erfindungsgemäßen Verfahrens erfolgt die Selektion von Ressourcen eines Gerätes zur Ausführung einer Task durch Umschalten in einen anderen zulässigen Betriebsmodus des jeweiligen Gerätes. In a further possible embodiment of the method according to the invention, the selection of resources of a device for executing a task by switching to another permissible operating mode of the respective device takes place.
Die Erfindung schafft ferner gemäß einem weiteren Aspekt eine Ressourcenzuweisungsvorrichtung mit den in Patentanspruch 13 angegebenen Merkmalen. Mögliche Ausführungsformen der erfindungsgemäßen Ressourcenzuweisung sind in den Unteransprüchen angegeben. Bei einer möglichen Ausführungsform der erfindungsgemäßen Ressourcenzuweisungsvorrichtung weist die Ressourcenzuweisungsvorrichtung eine Speichereinheit zum Speichern der lokalen Ausführungsqualitätsmetriken und der externen The invention further provides, according to another aspect, a resource allocation device having the features specified in claim 13. Possible embodiments of the resource allocation according to the invention are specified in the subclaims. In one possible embodiment of the resource allocation device according to the invention, the resource allocation device has a storage unit for storing the local execution quality metrics and the external resource allocation
Ausführungsqualitätsmetriken auf. Execution quality metrics.
Bei einer weiteren möglichen Ausführungsform der erfindungsgemäßen Ressourcenzuweisungsvorrichtung weist die Ressourcenzuweisungsvorrichtung eine weitere Speichereinheit zum Spei- ehern aller durch das Gerät innerhalb eines Workflows aus¬ führbaren Tasks, d.h. welchen Satz von Tasks T das Gerät lokal ausführen kann. In a further possible embodiment of the resource allocation apparatus according to the invention, the resource assigning apparatus further includes a storage unit for storage of all of brass by the device within a workflow from ¬ executable tasks, ie which set of tasks T can perform the device locally.
Ferner speichert das Gerät welche Sätze bzw. Gruppen von Tasks innerhalb des Systems mit irgendeiner Task des Satzes von Tasks in Beziehung stehen und welche anderen Geräte in der Lage sind diese auszuführen. Further, the device stores which sets of tasks within the system are related to any task of the set of tasks and which other devices are capable of executing them.
Die Erfindung schafft ferner gemäß einem weiteren Aspekt ein verteiltes System mit den in Patentanspruch 16 angegebenen Merkmalen . The invention further provides, according to a further aspect, a distributed system having the features specified in claim 16.
Die Erfindung schafft demnach ein verteiltes System mit einer Vielzahl von Geräten, die jeweils Ressourcen zur Verarbeitung von Tasks aufweisen und die jeweils eine Ressourcenzuwei¬ sungsvorrichtung gemäß einem Aspekt der Erfindung enthalten. Accordingly, the invention provides a distributed system with a plurality of devices, each of which has resources for processing tasks and each containing a Ressourcenzuwei ¬ sungsvorrichtung according to one aspect of the invention.
Bei einer möglichen Ausführungsform des erfindungsgemäßen verteilten Systems tauschen die Ressourcenzuweisungsvorrich- tungen der Geräte des verteilten Systems In one possible embodiment of the distributed system according to the invention, the resource allocation devices of the distributed system devices exchange
Ausführungsqualitätsmetriken zur Effizienzsteigerung einer Ressourcennutzung innerhalb des verteilten Systems aus.  Execution quality metrics to increase the efficiency of resource utilization within the distributed system.
Bei einer möglichen Ausführungsform des erfindungsgemäßen verteilten Systems weisen die Geräte des verteilten Systems Feldgeräte auf, die jeweils einen Prozessor als Berechnungs¬ einheit enthalten, der Daten, insbesondere von Sensoren stammende Sensordaten, in einem Workflow, der eine oder mehrere Tasks umfasst, verarbeitet und der die verarbeiteten Daten an eine Steuerungseinheit des verteilten Systems überträgt. In a possible embodiment of the distributed system according to the invention, the devices of the distributed system field devices have each including a processor as ¬ calculation unit, the data derived in particular from sensors, sensor data, in a workflow, the one or more Tasks includes, processes and transmits the processed data to a control unit of the distributed system.
Im Weiteren werden mögliche Ausführungsformen des erfindungs- gemäßen Verfahrens und der erfindungsgemäßen Vorrichtung zum Zuweisen von Geräteressourcen des verteilten Systems zu Tasks unter Bezugnahme auf die beigefügten Figuren näher erläutert. In the following, possible embodiments of the inventive method and the device according to the invention for assigning device resources of the distributed system to tasks will be explained in more detail with reference to the attached figures.
Es zeigen: Show it:
Fig. 1 ein Blockdiagramm zur Darstellung einer möglichen exemplarischen Ausführungsform eines Gerätes mit einer erfindungsgemäßen Ressourcenzuweisungsvorrichtung; 1 is a block diagram illustrating a possible exemplary embodiment of a device having a resource allocation device according to the invention;
Fig. 2 ein Ablaufdiagramm zur Darstellung eines Ausführungsbeispiels eines erfindungsgemäßen Verfahrens zum Zuweisen von Geräteressourcen eines verteilten Systems ; FIG. 2 is a flow chart illustrating an embodiment of a method of allocating device resources of a distributed system according to the invention; FIG.
Fig. 3 ein weiteres Blockdiagramm zur Darstellung eines Fig. 3 is another block diagram illustrating a
Ausführungsbeispiels eines verteilten Systems mit Geräten, deren Ressourcen mittels einer erfindungsgemäßen Vorrichtung zugewiesen werden;  Embodiment of a distributed system with devices whose resources are assigned by means of a device according to the invention;
Fig. 4 ein Beispiel für einen Arbeitsprozess bzw. 4 shows an example of a work process or
Workflow, welcher mehrere Tasks enthält, denen Ge¬ räteressourcen mithilfe des erfindungsgemäßen Verfahrens und der erfindungsgemäßen Vorrichtung zuge- wiesen werden können; Workflow, which contains several tasks, which Ge ¬ räteressourcen can be assigned using the inventive method and the apparatus according to the invention;
Fig. 5 eine Tabelle mit einer beispielhaften Liste von Betriebsmodi für eine EreignisdetektionsTask, die durch ein Gerät ausgeführt werden kann; 5 is a table of an exemplary list of event detection task operation modes that may be performed by a device;
Fig. 6 ein Graph zur logischen Darstellung einer exemplarischen Implementierung von verschiedenen Workflows auf verschiedenen Geräten eines verteilten Systems; ein Funktionsdiagramm zur Darstellung eines durchschnittlichen Arbeitsflussaufwandes als Funktion einer Ressourcenvarianz gemäß einer Simulation; ein weiteres Funktionsdiagramm zur Darstellung eines durchschnittlichen Arbeitsflussaufwandes als Funktion einer Ressourcenvarianz gemäß einer weiteren Simulation; eine Verteilung von Werten einer Aufwands- bzw. 6 is a graph for logically illustrating an exemplary implementation of various workflows on different distributed system devices; a functional diagram for representing an average workflow overhead as a function of a resource variance according to a simulation; a further functional diagram for representing an average workflow overhead as a function of a resource variance according to another simulation; a distribution of values of an expense or
Kostenfunktion für verschiedene in einer Simulation verwendete Methoden. Wie man aus Fig. 1 erkennen kann, weist ein verteiltes System 1 gemäß einem Aspekt der vorliegenden Erfindung mehrere Geräte 2-0, 2-1, 2-2 auf, die miteinander kommunizieren können. Beispielsweise können die verschiedenen Geräte 2-i miteinander über eine drahtlose oder drahtgebundene Schnittstelle kommunizieren. Beispielsweise sind die Geräte 2-i an einem gemeinsamen Bus des Systems 1 angeschlossen, um Daten bzw. Nachrichten miteinander austauschen zu können. Bei dem Bus kann es sich um einen seriellen oder parallelen Datenbus handeln. Beispielsweise sind die Geräte 2-i Feldgeräte, die über einen Feldgerätebus Daten, insbesondere  Cost function for different methods used in a simulation. As can be seen from Fig. 1, a distributed system 1 according to one aspect of the present invention comprises a plurality of devices 2-0, 2-1, 2-2 capable of communicating with each other. For example, the various devices 2-i may communicate with each other via a wireless or wired interface. For example, the devices 2-i are connected to a common bus of the system 1 in order to be able to exchange data or messages with one another. The bus may be a serial or parallel data bus. For example, the devices are 2-i field devices that have data via a field device bus, in particular
Ausführungsqualitätsmetriken, miteinander austauschen können. Bei dem in Fig. 1 dargestellten Ausführungsbeispiel des verteilten Systems 1 können die verschiedenen Geräte 2-i ferner verarbeitete Daten an eine optional vorhandene gemeinsame Einheit 3 des verteilten Systems 1 übertragen. Die Einheit 3 kann einen oder mehrere Workflows bzw. Arbeitsprozess w abar¬ beiten. In einer bevorzugten Ausführungsform des verteilten Systems ist keine Einheit 3 vorhanden und das System besteht aus Geräten 2, insbesondere aus Feldgeräten. Die Anzahl der Geräte 2 und die Anzahl der Schichten kann variieren. Eine erste Schicht von Geräten 2 kann mit Sensoren verbunden sein. Eine zweite Schicht von Geräten 2 kann beispielsweise als Datenkonzentrator dienen und unverarbeitete Daten von Feldge- raten 2 empfangen. Weitere Einheiten, beispielweise in einer Cloud, können in einer dritter Schicht Daten sammeln und weiterverarbeiten. Jeder dieser Arbeitsprozesse bzw. Workflows w umfasst eine oder mehrere Tasks t. Bei dem in Fig. 1 darge- stellten Ausführungsbeispiel kann jedes Gerät 2-i an eine oder mehrere Datenquellen 4-i angeschlossen sein, die Daten zur Datenverarbeitung liefern. Beispielsweise ist das Gerät 2-0 des verteilten Systems 1 in dem dargestellten Beispiel an N verschiedene Datenquellen 4-1, 4-2 ... 4-m angeschlossen. Die Datenquellen 4-i können Sensoren umfassen, welche Sensordaten in verschiedenen Datenströmen DS zu dem Gerät 2-0 liefern. Andere Datenquellen, beispielsweise Speichereinheiten oder dergleichen, sind ebenfalls möglich. Die Datenquellen können auch durch andere Geräte 2 gebildet werden. Beispielweise kann ein Gerät 2 Rohdaten oder verarbeitete Daten von seinen Sensoren zu anderen Geräten 2 zur weiteren Datenverarbeitung senden. Diese Datenströme können über ein Netzwerkinterface übertragen werden. Jedes Gerät 2-i verfügt über eine be¬ schränkte Menge an lokal verfügbaren Ressourcen zur Datenver- arbeitung. Bei dem in Fig. 1 dargestellten Beispiel verfügt das Gerät 2-0 über N verschiedene Geräteressourcen 5-i. Diese Geräteressourcen 5-i sind beispielsweise Prozessorressourcen, Speicherressourcen oder Datenübertragungsressourcen des betreffenden Gerätes 2. Die verschiedenen Geräte 2-i des ver- teilten Systems 1 weisen jeweils eine Ressourcenzuweisungs¬ vorrichtung 6 zur Zuweisung von Ressourcen 5-i des Gerätes zu Tasks t auf, die von Geräten des verteilten Systems 1 ausge¬ führt werden. Für jedes Gerät 2-i des verteilten Systems 1 ist eine vorgegebene Optimierungsfunktion vorgesehen, die von lokalen Ausführungsqualitätsmetriken qd, der von dem Gerät 2- i selbst ausführbaren Tasks t, und von externen Execution quality metrics, can exchange with each other. In the embodiment of the distributed system 1 shown in FIG. 1, the various devices 2-i can also transmit processed data to an optionally existing common unit 3 of the distributed system 1. The unit 3 may include one or more workflows and working process abar w ¬ BEITEN. In a preferred embodiment of the distributed system no unit 3 is present and the system consists of devices 2, in particular of field devices. The number of devices 2 and the number of layers may vary. A first layer of devices 2 may be connected to sensors. For example, a second layer of devices 2 may serve as a data concentrator and unprocessed data from field devices. Rates 2 received. Further units, for example in a cloud, can collect and process data in a third layer. Each of these work processes or workflows w comprises one or more tasks t. In the exemplary embodiment illustrated in FIG. 1, each device 2-i can be connected to one or more data sources 4-i which supply data for data processing. For example, the device 2-0 of the distributed system 1 is connected to N different data sources 4-1, 4-2 ... 4-m in the illustrated example. The data sources 4-i may include sensors that provide sensor data in different data streams DS to the device 2-0. Other data sources, such as memory units or the like, are also possible. The data sources can also be formed by other devices 2. For example, a device 2 may send raw data or processed data from its sensors to other devices 2 for further data processing. These data streams can be transmitted via a network interface. Each device 2-i has a ¬ be restricted amount of locally available resources for data processing. In the example shown in FIG. 1, the device 2-0 has N different device resources 5-i. This device resources are 5-i, for example, processor resources, memory resources and data transmission resources of the equipment 2. The various devices 2-i of the, allocated system 1 each have a resource allocation ¬ device 6 for allocating resources 5-i of the device to task t on, which are executed by devices of the distributed system 1 ¬ . For each unit 2-i of the distributed system 1 is a predetermined optimization function is provided, the external local execution quality metrics q d, the device of the self-executable tasks 2- i t, and
Ausführungsqualitätsmetriken qd' von anderen Tasks t' abhängt, die mit den von dem jeweiligen Gerät 2-i ausführbaren Tasks t zusammenhängen können und durch andere Geräte des verteilten Systems 1 ausführbar sind. Die anderen Tasks, die mit den durch das jeweilige Gerät 2-i lokal ausführbaren Tasks zusam¬ menhängen, sind vorzugsweise in einem gemeinsamen Workflow w enthalten, der einen Satz zugehöriger Tasks umfasst. Jedes Gerät des verteilten Systems 1 verfügt zudem für jede durch das Gerät ausführbare Task über Beziehungsdaten, welche eine Beziehung zwischen einer lokalen Ausführungsqualitätsmetrik qd, mit welcher eine Task durch das jeweilige Gerät ausge- führt werden kann, und den Ressourcen 5-i des Gerätes, welche der jeweiligen Task zugewiesen sind, angeben. Die Execution quality metrics q d 'depend on other tasks t', which may be related to the tasks t executable by the respective device 2-i and executable by other devices of the distributed system 1. The other tasks, which together ¬ menhängen with the locally executable by the respective unit 2-i tasks are preferably contained in a common workflow w, comprising a set of associated tasks. each Distributed system device 1 also has relation data for each task executable by the device, which is a relationship between a local execution quality metric q d with which a task can be executed by the respective device and resources 5-i of the device. which are assigned to the respective task. The
Ausführungsqualitätsmetriken können von den Ressourcen des Geräts selbst und gegebenenfalls von Ressourcen der Sensoren oder sonstiger Geräteerweiterungen, die das Gerät steuert, abhängen. Execution quality metrics may depend on the resources of the device itself and, where appropriate, resources of the sensors or other device extensions that the device controls.
Wie in Fig. 1 schematisch dargestellt, weist jede Ressourcenzuweisungsvorrichtung 6 eines Gerätes 2-i innerhalb des verteilten Systems 1 vorzugsweise eine Empfangseinheit 6A, eine Berechnungseinheit 6B und eine Sendeeinheit 6C auf. Die Emp¬ fangseinheit 6A und die Sendeeinheit 6C können in einer Sen- de-Empfangseinheit der Ressourcenzuweisungsvorrichtung 6 integriert sind. Die Empfangseinheit 6A der Ressourcenzuweisungsvorrichtung 6 ist geeignet, Ausführungsqualitätsmetriken qd von Tasks t von anderen Geräten 2 des verteilten Systems 1 zu empfangen, die von den anderen Geräten 2 ausgeführt werden. Bei dem in Fig. 1 dargestellten Ausführungsbeispiel kommuniziert das Gerät 2- 0 mit zwei weiteren Geräten 2-1, 2-2 des verteilten Systems 1 zum Austausch von Ausführungsqualitätsmetriken . In dem dargestellten Beispiel erhält die Empfangseinheit 6A des Gerätes 2-0 eine erste Ausführungsqualitätsmetrik qdi' von dem Gerät 2-1 hinsichtlich Tasks, die von dem Gerät 2-1 ausgeführt wer- den. Weiterhin erhält die Empfangseinheit 6A des Gerätes 2-0 Ausführungsqualitätsmetriken qd2' von Tasks des weiteren Gerätes 2-2 des verteilten Systems 1, die von diesem anderen Gerät 2-2 ausgeführt werden. Die Berechnungseinheit 6B der Ressourcenzuweisungsvorrichtung 6 ist geeignet, eine lokale Funktion LF von einer vorgegebe¬ nen zu optimierenden Optimierungsfunktion (F) abzuleiten. Die lokale Funktion LF hängt dabei vorzugsweise von den lokalen Ausführungsqualitätsmetriken qd, der von dem jeweiligen Gerät 2-i ausführbaren Tasks ab. Die Ableitung der lokalen Funktion LF, welche von den lokalen Ausführungsqualitätsmetriken qd abhängt, von der vorgegebenen Optimierungsfunktion F erfolgt auf Basis der externen Ausführungsqualitätsmetriken qd', welche die Empfangseinheit 6A des jeweiligen Gerätes 2-i von den übrigen Geräten des Systems 1 empfangen hat. Bei einer möglichen Ausführungsform des erfindungsgemäßen verteilten Systems 1 ist die Optimierungsfunktion F eine globale Funktion des gesamten verteilten Systems 1. Die Optimierungsfunktion F kann eine zu minimierende Kostenfunktion aufweisen. As schematically illustrated in FIG. 1, each resource allocating device 6 of a device 2-i within the distributed system 1 preferably comprises a receiving unit 6A, a calculating unit 6B and a transmitting unit 6C. The Emp ¬ capturing unit 6A and 6C, the transmitting unit can be integrated in a transmitter 6 de-receiving unit of the resource allocation device. The receiving unit 6A of the resource allocating device 6 is adapted to receive execution quality metrics q d of tasks t from other devices 2 of the distributed system 1 executed by the other devices 2. In the embodiment illustrated in FIG. 1, the device 2-0 communicates with two further devices 2-1, 2-2 of the distributed system 1 for exchanging execution quality metrics. In the illustrated example, the receiving unit 6A of the device 2-0 receives a first execution quality metric q d i 'from the device 2-1 with respect to tasks executed by the device 2-1. Furthermore, the receiving unit 6A of the device 2-0 receives execution quality metrics q d 2 'from tasks of the further device 2-2 of the distributed system 1, which are executed by this other device 2-2. The calculation unit 6B of the resource allocation device 6 is adapted to a local function from an upstream LF give ¬ nen to be optimized optimization function (F) derive. The local function LF preferably depends on the local Execution quality metrics q d, 2-i executable tasks of the equipment used. The derivation of the local function LF, which depends on the local execution quality metrics q d , from the given optimization function F is performed on the basis of the external execution quality metrics q d ', which the receiving unit 6A of the respective device 2-i has received from the other devices of the system 1 , In one possible embodiment of the distributed system 1 according to the invention, the optimization function F is a global function of the entire distributed system 1. The optimization function F can have a cost function to be minimized.
Die Berechnungseinheit 6B der Ressourcenzuweisungsvorrichtung 6 ist ferner geeignet, eine lokale Optimierung auf Grundlage der abgeleiteten lokalen Funktion LF und der in dem jeweiligen Gerät 2-i vorhandenen Beziehungsdaten durchzuführen. Die lokale Optimierung erfolgt dabei auf Grundlage der abgeleite¬ ten lokalen Funktion LF und gespeicherten Beziehungsdaten des jeweiligen Gerätes 2-i unter Berücksichtigung der verfügbaren Ressourcen 5 des jeweiligen Gerätes 2-i zur Selektion von Ressourcen des jeweiligen Gerätes, welche der betreffenden Task zu ihrer Ausführung zugewiesen werden. The computing unit 6B of the resource allocation device 6 is further adapted to perform a local optimization based on the derived local function LF and the relationship data present in the respective device 2-i. The local optimization is carried out on the basis of abgeleite ¬ th local function LF and stored relationship data of the respective device 2-i in consideration of the available resources 5 of the respective unit 2-i for selection of resources of the particular device which the affected task to the execution be assigned to.
Die Ressourcenzuweisungsvorrichtung 6 enthält ferner die Sen- deeinheit 6C, die geeignet ist, aktualisierte The resource allocating device 6 further includes the sending unit 6C that is suitable for updating
Ausführungsqualitätsmetriken qd jeder durch das jeweilige Gerät 2-i ausgeführten Task, welche durch das Gerät 2-i unter Verwendung der dieser Task zugewiesenen Ressourcen des Gerätes 2-i ausgeführt wird, an jegliches anderes Gerät des ver- teilten Systems 1 zu übertragen, das zur Ausführung einer anderen Task vorgesehen ist, die beispielsweise mit einer der durch das jeweilige Gerät 2-i ausgeführten Task zusammenhängt. Bei dem in Fig. 1 dargestellten Ausführungsbeispiel überträgt die Sendeeinheit 6C des Gerätes 2-0 aktualisierte Ausführungsqualitätsmetriken qdo von jeder durch das Gerät 2- 0 ausgeführten Task t, die durch das Gerät 2-0 unter Verwendung der dieser Task t zugewiesenen Ressourcen 5 des Gerätes 2-0 ausgeführt wird, an die beiden anderen Geräte 2-1, 2-2 des verteilten Systems 1, wobei jedes der beiden übrigen Geräte 2-1, 2-2 zur Ausführung einer anderen Task vorgesehen sind, die mit einer der durch das Gerät 2-0 ausgeführten Tasks zusammenhängen bzw. zu dem gleichen Workflow w gehören können. Execution quality metrics q d each task performed by the respective device 2-i, which is performed by the device 2-i using the resources of the device 2-i assigned to this task, to any other device of the distributed system 1, the is provided for performing another task, for example, related to one of the executed by the respective device 2-i task. In the embodiment shown in Fig. 1, the transmitting unit 6C of the device 2-0 transmits updated execution quality metrics q d o of each task t performed by the device 2- 0 by the device 2-0 using the resources 5 assigned to this task t 2-0, to the other two devices 2-1, 2-2 of the distributed system 1, wherein each of the two remaining devices 2-1, 2-2 are provided for the execution of another task, which may be related to one of the tasks executed by the device 2-0 or may belong to the same workflow w.
Die Ressourcenzuweisungsvorrichtung 6 besitzt vorzugsweise eine Speichereinheit zum Speichern der lokalen The resource allocating device 6 preferably has a storage unit for storing the local
Ausführungsqualitätsmetriken qd sowie der erhaltenen bzw. Execution quality metrics q d and the received or
empfangenen externen Ausführungsqualitätsmetriken qd'. Diereceived external execution quality metrics q d '. The
Ressourcenzuweisungsvorrichtung 6 besitzt ferner vorzugsweise eine weitere Speichereinheit zum Speichern aller durch das Gerät 2-i innerhalb eines Workflows bzw. eines Arbeitsflusses w ausführbaren Tasks t. Ferner speichert das Gerät 2 welche Sätze bzw. Gruppen von Tasks innerhalb des Systems mit ir¬ gendeiner Task des Satzes von Tasks in Beziehung stehen und welche anderen Geräte des Systems 1 in der Lage sind diese aus zuführen Die verschiedenen Ressourcenzuweisungsvorrichtungen 6 der verschiedenen Geräte 2-i des verteilten Systems 1 tauschen untereinander Ausführungsqualitätsmetriken zur Effizienzsteigerung einer Ressourcennutzung innerhalb des verteilten Systems 1 aus. Die verschiedenen Geräte 2-i des verteilten Sys- tems 1 weisen bei einer möglichen Ausführungsform Feldgeräte auf, die jeweils einen Prozessor als Berechnungseinheit 6B enthalten, welcher Daten in einem Workflow w, der eine oder mehrere Tasks t umfasst, verarbeitet und anschließend die verarbeiteten Daten an die Steuerungseinheit 3 des verteilten Systems 1 überträgt. Der Prozessor bzw. die Berechnungseinheit 6B des Gerätes 2-i verarbeitet beispielsweise Sensorda¬ ten, die von Sensoren 4-i stammen, welche an dem betreffenden Gerät 2-i angeschlossen sind, oder die von anderen Geräten des Systems 1 stammen. Resource allocation device 6 preferably also has a further storage unit for storing all tasks t that can be executed by device 2-i within a workflow or workflow w. Further, the apparatus 2 stores are provided which sets or groups of tasks within the system with ir ¬ vicinity of a task of the set of tasks in relationship, and what other devices of the system 1 are in a position they exit out the various resource allocation devices 6 of the various devices 2- i of the distributed system 1 exchange execution quality metrics among each other to increase the efficiency of resource usage within the distributed system 1. In one possible embodiment, the various devices 2-i of the distributed system 1 have field devices, each of which contains a processor as the calculation unit 6B, which processes data in a workflow w, which includes one or more tasks t, and then processes the processed data to the control unit 3 of the distributed system 1 transmits. The processor and the calculation unit 6B of the unit 2-i, for example, processed Sensorda ¬ th derived from sensors 4-i, which are connected to the device in question 2-i, or derived from other system devices. 1
Fig. 2 zeigt ein einfaches Ablaufdiagramm zur Darstellung eines Ausführungsbeispiels des erfindungsgemäßen Verfahrens zum Zuweisen von Ressourcen von Geräten 2-i eines verteilten Sys- tems 1 zu Tasks t, die von Geräten 2 des verteilten Systems 1 ausgeführt werden, gemäß einem weiteren Aspekt der Erfindung. Jedes Gerät 2-i des verteilten Systems 1 kann die in Fig. 2 schematisch dargestellten Hauptschritte ausführen. 2 shows a simple flow chart for illustrating an embodiment of the method according to the invention for allocating resources from devices 2-i of a distributed system. tems 1 to tasks t, which are executed by devices 2 of the distributed system 1, according to another aspect of the invention. Each device 2-i of the distributed system 1 can execute the main steps shown schematically in FIG.
In einem ersten Schritt Sl empfängt das betreffende Gerät 2-i von anderen Geräten des Systems 1 In a first step Sl, the relevant device 2-i receives from other devices of the system 1
Ausführungsqualitätsmetriken qd' von Tasks, die von den anderen Geräten 2 des Systems 1 ausgeführt werden. Es kann aus- reichend sein, wenn sich eine einzige Ausführungsqualitäts- metrik eines anderen Gerätes verändert hat. Die Execution quality metrics q d 'of tasks executed by the other devices 2 of the system 1. It can be sufficient if a single execution quality metric of another device has changed. The
Ausführungsqualitätsmetriken mit der andere Geräte des Systems 1 Tasks ausführen werden in allgemeinen durch das Gerät 2-i nicht zum gleichen Zeitpunkt empfangen. Execution Quality Metrics with Other Devices of System 1 Performing tasks generally are not received by device 2-i at the same time.
Sie können asynchron empfangen werden, d.h. jedes Mal wenn ein individuelles Gerät seine Allokation von Ressourcen ändert, teilt es dies den anderen Geräten mit. They can be received asynchronously, i. Each time an individual device alters its allocation of resources, it tells the other devices.
In einem weiteren Schritt S2 wird zunächst eine lokale Funk- tion, die von den lokalen Ausführungsqualitätsmetriken qd der von dem jeweiligen Gerät 2-i ausführbaren Tasks t abhängt, von einer vorgegebenen zu optimierenden Optimierungsfunktion F auf Basis der externen Ausführungsqualitätsmetriken qd', welche das jeweilige Gerät 2-i von den anderen Geräten des Systems 1 empfangen hat, abgeleitet. Die zu optimierendeIn a further step S2, a local function, which depends on the local execution quality metrics q d of the tasks t that can be executed by the respective device 2-i, is first determined by a predetermined optimization function F to be optimized on the basis of the external execution quality metrics q d ' derived the respective device 2-i from the other devices of the system 1 derived. The to be optimized
Funktion F ist bei einer möglichen Ausführungsform eine globale Funktion des gesamten verteilten Systems 1, insbesondere eine globale Kostenfunktion des verteilten Systems 1. In einem weiteren Schritt S3 wird ein lokaler Optimierungs¬ schritt auf Grundlage der im Schritt S2 abgeleiteten lokalen Funktion und auf Grundlage von Beziehungsdaten des jeweiligen Gerätes 2-i unter Berücksichtigung der verfügbaren Ressourcen des jeweiligen Gerätes 2-i zur Selektion von Ressourcen des jeweiligen Gerätes 2-i, welche der betreffenden Task zu ihrer Ausführung zugewiesen werden, ausgeführt. Das Gerät 2 verfügt für jede durch das Gerät 2 ausführbare Task über Beziehungs¬ daten. Die gespeicherten Beziehungsdaten geben eine Beziehung zwischen einer lokalen Ausführungsqualitätsmetrik qd, mit welcher eine Task durch das betreffende Gerät 2 ausgeführt werden kann, und den Ressourcen 5 des Gerätes 2, welche der jeweiligen Task dafür zugewiesen sind, an. Die Beziehungsda- ten können in einer Speichereinheit des Gerätes 2 abgelegt sein . Function F is in a possible embodiment a global function of the entire distributed system 1, in particular a global cost function of the distributed system 1. In a further step S3, it is a local optimization ¬ step on the basis of the derived at step S2 local function and on the basis of relationship data of the respective device 2-i, taking into account the available resources of the respective device 2-i for the selection of resources of the respective device 2-i, which are assigned to the relevant task for their execution. The device has two for each of the unit 2 executable task from relationship ¬ data. The stored relationship data gives a relationship between a local execution quality metric q d , with which a task can be executed by the relevant device 2, and the resources 5 of the device 2, which are assigned to the respective task for this purpose. The relationship data can be stored in a memory unit of the device 2.
In einem weiteren Schritt S4 werden die aktualisierten In a further step S4, the updated
Ausführungsqualitätsmetriken qd jeder durch das betreffende Gerät 2-i ausgeführten Task, welche durch das jeweilige Gerät 2-i unter Verwendung der dieser Task zugewiesenen Ressourcen 5 des Gerätes 2 ausgeführt wird, an alle anderen Geräte 2 des Systems 1 übertragen, die zur Ausführung einer anderen Task vorgesehen sind. Die andere Task kann mit einer der durch das jeweilige Gerät 2-i ausgeführten Task zusammenhängen bzw. zu einem gleichen Workflow w gehören. Jedes Gerät 2 des verteilten Systems 1 kann bei einer möglichen Ausführungsform die lokale Optimierung im Schritt S3 ausführen, sobald eine Ressourcenzuweisung an dem jeweiligen Gerät 2-i verändert wird und/oder sich eine Ressourcenverfügbarkeit in dem Gerät 2-i verändert. Der Austausch der Ausführungsqualitätsmetriken kann bei einer möglichen Ausführungsform kontinuierlich erfolgen. Alternativ kann der Austausch der Execution quality metrics q d each task performed by the respective device 2-i executed by the respective device 2-i using the resources 5 of the device 2 assigned to this task to all other devices 2 of the system 1 which are used to execute a other task are provided. The other task may be related to one of the tasks executed by the respective device 2-i or belong to a same workflow w. Each device 2 of the distributed system 1 may, in one possible embodiment, perform the local optimization in step S3 as soon as a resource allocation at the respective device 2-i is changed and / or a resource availability in the device 2-i changes. The exchange of execution quality metrics may be continuous in one possible embodiment. Alternatively, the replacement of the
Ausführungsqualitätsmetriken in den Schritten Sl, S4 bei Vor- liegen eines bestimmten Ereignisses ausgelöst werden. Die un¬ ter den Geräten 2-i ausgetauschten Execution quality metrics in steps S1, S4 are triggered when a particular event occurs. The un ¬ ter the devices 2-i exchanged
Ausführungsqualitätsmetriken geben eine Qualität an, mit der eine Task durch das betreffende Gerät 2-i des Systems 1 aus¬ geführt wird. Bei einer möglichen Ausführungsform weisen die ausgetauschten Ausführungsqualitätsmetriken eine Sensitivi- tät, eine Genauigkeit und/oder eine Fehlerrate auf, mit der eine Task durch das Gerät 2 ausgeführt wird. Execution quality metrics indicate a quality with which a task by the particular device 2-i of the system is guided out ¬. 1 In one possible embodiment, the exchanged execution quality metrics have a sensitivity, an accuracy and / or an error rate with which a task is executed by the device 2.
Eine durch ein Gerät 2 des Systems 1 ausführbare Task, welche in unterschiedlichen Betriebsmodi m des Gerätes 2 ausführbar ist, beansprucht jeweils einen anderen Satz von Ressourcen 5 des Gerätes 2 und/oder von Ressourcen von Geräterweiterungen, insbesondere von Sensoren bzw. Datenquellen. Bei einer mögli- chen Ausführungsform wird für jede Task ein Satz von zulässigen Betriebsmodi des betreffenden Gerätes 2-i bereitgestellt. Die Selektion von Ressourcen 5 eines Gerätes 2-i zur Ausführung einer Task erfolgt bei einer möglichen Ausführungsform durch Umschalten in einen anderen zulässigen Betriebsmodus des betreffenden Gerätes 2. Für den Fall, dass die lokalen Ressourcen eines Gerätes 2 geändert werden, können die An executable by a device 2 of the system 1 task, which is executable in different operating modes m of the device 2, each claiming a different set of resources 5 of the device 2 and / or resources of device extensions, in particular of sensors or data sources. In a possible In this embodiment, a set of permissible operating modes of the relevant device 2-i is provided for each task. The selection of resources 5 of a device 2-i to perform a task in one possible embodiment by switching to another permissible operating mode of the device in question 2. In the event that the local resources of a device 2 are changed, the
Schritte Sl, S2 des in Fig. 2 dargestellten Verfahrens ent¬ fallen . Steps Sl, S2 of the method shown in FIG. 2 ent ¬ fall.
Fig. 3 zeigt ein weiteres schematisches Diagramm zur Erläute¬ rung der Funktionsweise eines verteilten Systems 1, welches mehrere Geräte 2-i umfasst, die Tasks eines Workflows w aus¬ führen können. Fig. 3 shows another schematic diagram for Erläute ¬ tion of the operation of a distributed system 1, which comprises multiple devices 2-i, the tasks of a workflow w can perform ¬.
Bei dem erfindungsgemäßen Verfahren erfolgt eine iterative verteilte Zuteilung von Ressourcen mithilfe eines verteilten Ressourcenmanagements. Das individuelle verteilte Ressourcen¬ management durch die verschiedenen Geräte 2 des verteilten Systems 1 bietet den Vorteil, dass eine lokale Optimisierung durch die verschiedenen Geräte 2 des verteilten Systems 1 erfolgen kann. Diese lokale Optimierung auf Grundlage einer abgeleiteten lokalen Funktion LF kann besonders schnell durchgeführt werden, sobald sich die Ressourcenzuteilungssituation innerhalb des verteilten Systems 1 verändert. Jedes Gerät 2-i des verteilten Systems 1 verfügt über Informationen, welche die Topologie der Arbeitsflüsse bzw. Workflows w angibt. Je¬ des Gerät 2-i besitzt Informationen bzw. Daten, welche ange¬ ben, welche Tasks durch das betreffende Gerät 2 ausführbar sind. Das Gerät 2 verfügt für jeden Workflow w über Informa¬ tionsdaten, welche Gruppe bzw. welcher Satz von Geräten 2 Tasks ausführt, die zu dem betreffenden Workflow w gehört. Darüber hinaus verfügt jedes Gerät 2 über Informationsdaten einer Funktion F, die zu diesen Workflows w gehören. Die Funktion F ist eine Funktion der lokalen In the method according to the invention, an iterative distributed allocation of resources takes place by means of a distributed resource management. The individual distributed resources ¬ management by the different devices 2 of the distributed system 1 has the advantage that a local optimization can be done by the different devices 2 of the distributed system. 1 This local optimization based on a derived local function LF can be performed particularly quickly as soon as the resource allocation situation within the distributed system 1 changes. Each device 2-i of the distributed system 1 has information indicating the topology of the workflows or workflows w. Depending ¬ the unit 2-i has information or data which is ¬ ben which tasks are executable by the device concerned. 2 The device 2 has for each workflow w on Informa ¬ tion data which group or set of devices which perform tasks 2, which belongs to the relevant workflow w. In addition, each device 2 has information data of a function F associated with these workflows w. The function F is a function of the local
Ausführungsqualitätsmetriken und der externen  Execution quality metrics and the external
Ausführungsqualitätsmetriken, welche von Tasks stammen, die auf anderen Geräten 2 des verteilten Systems 1 laufen bzw. durch diese ausgeführt werden. Execution quality metrics derived from tasks that run on or run through other devices 2 of the distributed system 1.
Jeder Knoten bzw. jedes Gerät 2 des verteilten Systems 1 speichert Daten von Ausführungsqualitätsmetriken, welche das Gerät 2 von anderen Peer-Geräten 2 des Systems 1 erhalten hat . Each node or device 2 of the distributed system 1 stores data of execution quality metrics which the device 2 has received from other peer devices 2 of the system 1.
Sobald eine Ressourcenallokation bzw. Ressourcenzuweisung bei einem bestimmten Gerät 2 geändert wird oder sich die Ressourcenverfügbarkeit lokal ändert, führt das betreffende Gerät 2 eine lokale Optimierung auf Grundlage der abgeleiteten loka¬ len Funktion LF durch, wobei Werte der Once a resource allocation and resource allocation is changed at a certain device 2 or the resource availability changes locally, the unit 2 in question performs a local optimization on the basis of the derived Loka ¬ len function by LF, wherein values of the
Ausführungsqualitätsmetriken von den übrigen Geräten 2 des verteilten Systems 1 fixiert bzw. konstant gehalten werden.  Execution quality metrics are fixed by the other devices 2 of the distributed system 1 or kept constant.
Auf diese Weise kann ein Betriebsmodus m für jede Task des Gerätes 2 selektiert werden. Ferner kann mithilfe des vorlie¬ genden Mappings ein Satz bzw. eine Gruppe von Datenquellen- konfigurationen von Datenquellen 4-i und Werten von In this way, an operating mode m can be selected for each task of the device 2. Further, by using the vorlie ¬ constricting mapping a set or group of data source can configurations of data sources 4-i and values of
Ausführungsqualitätsmetriken aus einer Lookup-Tabelle ausgelesen werden. Der Output bzw. das Resultat des lokalen Optimierungsschrittes sind die optimalen Ressourcen, die jeder Task, welche lokal ausgeführt werden kann, zugewiesen werden sowie zugehörige Qualitäten bzw. Qualitätsmetriken. Die Beziehung bzw. das Mapping zwischen beiden ist bekannt und wird durch das Gerät benutzt. Die Beziehung kann jedoch in unterschiedlicher Weise ausgedrückt werden. Beispielsweise kann eine Liste von Betriebsmodi (Qualität-Ressourcen) vorgesehen sein. Alternativ kann die Qualität eines Task bzw. deren Aus- führungsqualitätsmetrik als eine Funktion der für sie verwendeten Ressourcen definiert sein. Das Gerät 2-i kann zugehörige Datenquellen 4-i konfigurieren (gestrichelte Linie in Fig. 1) , um Daten entsprechend den einzelnen Tasks des Betriebsmo- dus zu beziehen. Das Gerät 2 überträgt seine upgedateten Execution quality metrics are read from a lookup table. The output of the local optimization step is the optimal resource assigned to each task that can be executed locally as well as related qualities or quality metrics. The relationship or mapping between the two is known and used by the device. However, the relationship can be expressed in different ways. For example, a list of operating modes (quality resources) may be provided. Alternatively, the quality of a task or its execution quality metric may be defined as a function of the resources used for it. The device 2-i can configure associated data sources 4-i (dashed line in FIG. 1) to obtain data corresponding to the individual tasks of the operating mode. The device 2 transmits its updated
Ausführungsqualitätsmetriken zu den übrigen Peer-Geräten 2, damit diese ebenfalls eine lokale Optimierung durchführen können. Das erfindungsgemäße Ressourcenzuweisungsverfahren bietet ein schnelleres iteratives Update der Datenquellenkon¬ figurationen in Reaktion auf Veränderungen von Geräteressourcen, Aktivierung bzw. Deaktivierung von Workflows, Änderungen von Workflow-Prioritäten, Gerätefehlern oder Datenquellenaus- fällen. Execution quality metrics to the other peer devices 2, so that they can also perform a local optimization. The resource allocation method according to the invention provides a faster iterative update of data source configurations in response to changes in device resources, enabling or disabling workflows, changing workflow priorities, device errors, or data source failures.
Um Konvergenz zu erreichen, wird sichergestellt, dass für den Fall, dass verschiedene Knoten bzw. Geräte 2 Updates zur sel¬ ben Zeit vornehmen, in sequenzieller Weise vorgegangen wird. Falls beispielsweise zwei verschiedene Geräte 2A und 2B ein Update ausführen, wird sichergestellt, dass zunächst eines der beiden Geräte das Update ausführt und anschließend die ermittelten Ausführungsqualitätsmetriken zu dem anderen Gerät überträgt, welches die empfangenen upgedateten To achieve convergence that will be taken in the event that different nodes or devices perform two updates to sel ¬ ben time in a sequential manner ensures. For example, if two different devices 2A and 2B perform an update, it is ensured that one of the two devices first performs the update and then transmits the determined execution quality metrics to the other device that updated the received one
Ausführungsqualitätsmetriken für seine eigene lokale Optimierung benutzt. Dies kann beispielsweise dadurch erfolgen, indem man Zeitstempel oder Sequenznummern zu den upgedateten Ausführungsqualitätsmetriken hinzufügt, welche zwischen verschiedenen Knoten bzw. Geräten 2 des verteilten Systems 1 ausgetauscht werden und vorzugsweise zusätzlich eine vordefi¬ nierte Priorität zwischen den verschiedenen Geräten 2 festlegt, welche allen Geräten 2 des verteilten Systems 1 bekannt ist. Falls ein erster Knoten bzw. Gerät 2A beispielsweise ein Ausführungsqualitätsmetrik-Update mit der Sequenz N+l broad- casted bzw. überträgt, jedoch ein anderes Update von einem anderen Peer-Gerät 2B mit höherer Priorität empfängt, bei dem die Sequenz-Metadaten angeben, dass die Qualitätsmetrik- Sequenz N von Gerät 2A benutzt wurde, dann kann der Knoten bzw. das Gerät 2A basierend auf den ihm bekannten Prioritäten sofort ein neues Update N+2 broadcasten bzw. übertragen, das auf den letzten Ausführungsqualitätsmetriken des Gerätes 2B beruht. Der Knoten bzw. das Gerät 2B des verteilten Systems 1 ignoriert das Update N+l von Gerät 2A, da es nicht auf den letzten Ausführungsqualitätsmetriken des Gerätes 2B beruht. Execution quality metrics used for its own local optimization. This may for example be effected by by adding time stamps or sequence numbers to the updated execution quality metrics, which are exchanged between different nodes or devices 2 of the distributed system 1 and preferably additionally defines a predefi ¬ ned priority between the various devices 2 which all devices 2 of the distributed system 1 is known. For example, if a first node 2A broadcasts an execution quality metric update with the N + 1 sequence, but receives another update from another higher priority peer device 2B that specifies the sequence metadata, that the quality metric sequence N of device 2A has been used, then the node or device 2A can, based on its known priorities, immediately broadcast a new update N + 2 based on the last execution quality metrics of the device 2B. The node or device 2B of the distributed system 1 ignores the update N + 1 of device 2A because it is not based on the last execution quality metrics of the device 2B.
Bei einer möglichen Ausführungsform kann die Ressourcenzuweisungsvorrichtung 6 des Gerätes 2 verschiedenen Optimierungsverfahren ausführen. Beispielsweise führt das Gerät 2 zum Zeitpunkt der Installation des Systems 1 oder nach dauerhaf¬ ten Änderungen eine anfängliche bzw. initiale Optimierung durch. In einer anderen Situation, beispielsweise bei sehr kurzfristigen Ressourcenänderungen, kann bei einer möglichen Ausführungsform ein individuelles Ressourcenmanagement bzw. eine individuelle Ressourcenallokation ohne Feedback der anderen Geräte 2 des verteilten Systems 1 erfolgen. Für eine längere Änderung der Ressourcenänderung kann dann die iterative verteilte Ressourcenallokation bzw. Ressourcenzuweisung mithilfe des erfindungsgemäßen Verfahrens ausgeführt werden. In one possible embodiment, the resource allocating device 6 of the device 2 may perform various optimization procedures. For example, the device 2 leads to Timing by the installation of the system 1 or dauerhaf ¬ th changes an initial or initial optimization. In another situation, for example in the case of very short-term resource changes, in one possible embodiment, an individual resource management or an individual resource allocation can take place without feedback from the other devices 2 of the distributed system 1. For a longer change in the resource change, the iterative distributed resource allocation or resource allocation can then be carried out with the aid of the method according to the invention.
Fig. 4 zeigt eine schematische Darstellung für einen bei¬ spielhaften Workflow w, welcher durch das erfindungsgemäße verteilte System 1 ausgeführt werden kann. In dem dargestell- ten Beispiel von Fig. 4 dient der Workflow w zur Erfassung bzw. Detektion eines Systemereignisses S, basierend auf der Kombination von sechs unabhängigen Ereignissen bzw. Events Sl bis S6 über logische Verknüpfungen. Jedes Ereignis kann durch eine zugehörige Task tl bis t6, welche auf einem Gerät 2 aus- geführt werden, signalisiert werden. Bei dem in Fig. 4 darge¬ stellten Beispiel wird eine einzelne Ausführungsqualitätsmet- rik für den betreffenden Workflow w ausgewählt bzw. selektiert. Die Ausführungsqualitätsmetrik ist in dem dargestellten Beispiel die Sensitivität sc zur Erfassung eines komple- xen Ereignisses c. Diese Ausführungsqualitätsmetrik sc kann durch die individuellen Sensitivitäten (Sl bis S6) für die verschiedenen Einzelereignisse (el bis e6) ausgedrückt wer¬ den. In dem dargestellten Beispiel kann die kombinierte Er- eignissensitivität sc wie folgt ausgedrückt werden: sc = (1 - (1 - Sl)(l - s2)) x (1 - (1 - s3)(l - s4)) x (1 - (1 - s5)(l - s6)) Fig. 4 shows a schematic representation for a game stick at ¬ workflow w, which can be carried out by the inventive distributed system 1. In the illustrated example of FIG. 4, the workflow w is used to detect or detect a system event S based on the combination of six independent events or events S 1 to S 6 via logic operations. Each event can be signaled by an associated task t1 to t6, which are executed on a device 2. In the 4 Darge ¬ presented in Fig., A single Ausführungsqualitätsmet- rik is selected for the particular workflow W or selected. The execution quality metric in the illustrated example is the sensitivity s c for detecting a complex event c. This embodiment quality metric s c (up S6 Sl) for the various individual events by the individual sensitivities (El to E6) expressed ¬ the. In the illustrated example, the combined event sensitivity s c can be expressed as follows: s c = (1 - (1- Sl ) (1-s 2 )) x (1 - (1-s 3 ) (1-s 4 )) x (1 - (1 - s 5 ) (l - s 6 ))
Eine Kostenfunktion für den Workflow w kann beispielsweise als Falschnegativrate FNR definiert werden: C = 1 - sc. Geräte 2, insbesondere Feldgeräte, sind hinsichtlich ihrer CPU-Ressourcen limitiert. Die Sensitivität, mit der die Er- eignisdetektion erreicht werden kann, hängt von dem verwende- ten analytischen Datenmodell und der Sensorkonfiguration ab. Jede Konfiguration verlangt eine zugehörige Menge von Geräte¬ ressourcen des Gerätes 2. Die in Fig. 5 dargestellte Tabelle zeigt ein Beispiel, wie verschiedene fünf Betriebsmodi m für jede Task definiert wer¬ den können. Die Tabelle gehört zu einer Task t, die auf einem bestimmten Gerät 2 ausgeführt wird. Die gleiche Task t hat, sofern sie auf verschiedenen Geräten des Systems 1 ausführbar ist, für jedes dieser Geräte eine andere Tabelle. Beispiels¬ weise benötigt die Task mehr Ressourcen des betreffenden Gerätes, um die gegebene Qualität zu erzielen. Jeder Betriebs¬ modus m kann beispielsweise auch durch einen unterschiedli¬ chen Algorithmus zur Ausführung der Task definiert sein. For example, a cost function for the workflow w can be defined as a false negative rate FNR: C = 1 -s c . Devices 2, in particular field devices, are limited in terms of their CPU resources. The sensitivity with which event detection can be achieved depends on the analytical model and sensor configuration. Each configuration requires a corresponding set of device ¬ resources of the unit 2. The table shown in FIG. 5 shows an example of how different five operating modes m for each task defined who can ¬. The table belongs to a task t that runs on a particular device 2. The same task t, if executable on different devices of system 1, has a different table for each of these devices. For example ¬ the task requires more resources of the device in question to achieve the given quality. Each operation mode ¬ m may for example be defined for executing the task by a differing ¬ Chen algorithm.
Fig. 6 zeigt ein Deployment, bei dem drei Workflows w, wie sie in Fig. 4 dargestellt sind, deployed bzw. ausgebracht werden können. In dem dargestellten Beispiel werden die FIG. 6 shows a deployment in which three workflows w, as shown in FIG. 4, can be deployed or deployed. In the example shown, the
Workflows w auf neun verschiedene Feldgeräte 2 deployed bzw. verteilt, die jeweils zwei Tasks t ausführen. Bei diesem Bei¬ spielfall ist es die Aufgabe des Ressourcenallokators bzw. der Ressourcenzuweisungsvorrichtung 6, die begrenzten CPU- Ressourcen jedes Gerätes 2 zu allen Tasks derart zuzuweisen, dass eine Kostenfunktion für jeden Workflow w minimiert wird. Dies wird vorzugsweise dynamisch ausgeführt, weil die verfüg¬ baren Geräteressourcen der Geräte 2 sich ändern oder weil neue zusätzliche Tasks t implementiert werden können. Weiter¬ hin müssen die Ressourcen der Geräte 2 dynamisch zugewiesen werden, falls neue Datenmodelle verfügbar werden oder sich die Workflow-Prioritäten ändern. Jeder Workflow w umfasst mehrere Tasks t, die zu dem Workflow w gehören. Komplexe Workflows w können weiter zu noch komplexeren Workflows w zu- sammengefasst werden. Fig. 6 ist eine logische Darstellung und zeigt keine physikalischen Objekte bzw. Geräte. Workflows w deployed to nine different field devices 2, each performing two tasks t. In this case ¬ play case, it is the task of the Ressourcenallokators or the resource assigning apparatus 6 to allocate the limited CPU resources of each device 2 about all tasks in such a way that a cost function for each workflow w is minimized. This is preferably performed dynamically, because the availa- ¬ cash device resources of the devices 2 change or because new additional tasks can be implemented t. Next ¬ out the resources of the devices 2 to be dynamically allocated, if new data models are available or change the workflow priorities. Each workflow w includes several tasks t that belong to the workflow w. Complex workflows w can be further grouped into even more complex workflows w. Fig. 6 is a logical diagram showing no physical objects.
Ein Ressourcenallokationsmechanismus dient dazu, Ressourcen 5 zu Tasks auf jedem Gerät 2 zuzuweisen. Bei dem verteilten System 1 kann ein Satz bzw. eine Gruppe von verschiedenen Workflows w vorgesehen sein, die jeweils einen Satz bzw. eine Gruppe von zugehörigen Tasks umfassen, sowie eine Topologie, welche angibt, wie die Tasks miteinan- der verknüpft sind. Für jede Task t kann ein Satz von zuläs¬ sigen Betriebsmodi m vorgesehen sein, die die erforderliche Konfiguration für die Datenquellen 4 und die erforderlichen zugehörigen Geräteressourcen beinhalten. rd,j,m = {rd,j,l>rd,j,2 — rd,j,R}m>m e {1—^d,j] A resource allocation mechanism serves to allocate resources 5 to tasks on each device 2. In the distributed system 1, a set or a group of different workflows w may be provided, which each comprise a set or a group of associated tasks, as well as a topology which indicates how the tasks are linked to one another. For each task t a set of operating modes zuläs ¬ sigen m can be provided which contain the necessary configuration for the data source 4 and the associated necessary device resources. r d, j, m = { r d, j, l> r d, j, 2 - r d, j, R} m> me {1- d, j]
Ein Betriebsmodus m stellt eine bestimmte Weise dar, wie eine Task t zu lösen ist, mit einem zugehörigen Satz an Ressourcen und erzielten Qualitäten. Ein Betriebsmodus m kann durch eine bestimmte Konfiguration an Datenquellen 4 oder durch sonstige Parameter, beispielsweise einen besonderen Algorithmus zur Lösung der Task, definiert sein. An operating mode m represents a particular way in which a task t is to be solved, with an associated set of resources and qualities achieved. An operating mode m may be defined by a particular configuration at data sources 4 or by other parameters, such as a particular algorithm for solving the task.
Für jede Task t kann eine gegebenenfalls multidimensionale Ausführungsqualitätsmetrik als eine Funktion der verwendeten Ressourcen angegeben sein. For each task t, an optionally multidimensional execution quality metric may be indicated as a function of the resources used.
Für jeden Workflow w kann eine Kostenfunktion als Funktion der Ausführungsqualitätsmetriken angegeben sein. Für jedes Gerät 2 des Systems 1 besteht ein Satz von verfüg¬ baren Ressourcen zur Ausführung der Tasks t. Dieser Satz von verfügbaren Ressourcen kann sich über die Zeit verändern, abhängig von der momentanen Arbeitsbelastung des Gerätes 2. Die Arbeitsbelastung des Gerätes 2 ist bei einer möglichen Aus- führungsform messbar. For each workflow w, a cost function may be specified as a function of the execution quality metrics. For each device 2 of the system 1 comprises a set of verfüg ¬ cash resources for executing the task t. This set of available resources may change over time, depending on the current workload of the device 2. The workload of the device 2 is measurable in one possible embodiment.
Mithilfe des erfindungsgemäßen Verfahrens ist es möglich, denjenigen Betriebsmodus m für jede einzelne Task t, welche auf dem jeweiligen Gerät 2 ausgeführt wird, derart zu bestim- men, dass die Summe des Aufwandes, welcher mit dem betreffen¬ den Workflow w verbunden ist, minimiert wird. Ein Beispiel für eine Optimierungsfunktion F lautet:
Figure imgf000020_0001
ohne die verfügbaren Ressourcen R zu überschreiten:
Figure imgf000020_0002
Use of the method according to the invention it is possible to those operation mode m for each individual task that is running on the respective device 2 t, in such a way to determine men that the sum of the effort, which relate to the actual ¬ workflow w connected minimized, becomes. An example of an optimization function F is:
Figure imgf000020_0001
without exceeding the available resources R:
Figure imgf000020_0002
Das erfindungsgemäße Verfahren kann auf einem verteilten Optimierungsalgorithmus basieren. Jedes Gerät 2 des verteilten Systems 1 kann für sich individuell entscheiden, welchen An- teil bzw. welchen Prozentsatz von seinen verfügbaren Ressourcen 5 es den verschiedenen einzelnen Tasks zuweist. Jedes Gerät 2 ist in der Lage, Informationen mit anderen Geräten des Systems 1 auszutauschen, um iterativ ein globales Optimum für das gesamte verteilte System 1 zu erzielen. Die Geräte 2 in- formieren dabei ihre Peer-Geräte 2 über die Qualität, mit der sie ihre eigenen Tasks t ausführen. Diese Information wird durch jedes Gerät 2 in dem nächsten lokalen Optimierungsschritt zur Zuweisung von Ressourcen zu lokal ausgeführten Tasks verwendet. Auf diese Weise wird eine hohe Wahrschein- lichkeit erzielt, ein globales Optimum zu erreichen, während man gleichzeitig die Komplexität und die Menge der ausge¬ tauschten Informationen bzw. Daten minimal hält. The method according to the invention can be based on a distributed optimization algorithm. Each device 2 of the distributed system 1 can individually decide which proportion or percentage of its available resources 5 it assigns to the various individual tasks. Each device 2 is capable of exchanging information with other devices of the system 1 to iteratively achieve a global optimum for the entire distributed system 1. The devices 2 inform their peer devices 2 of the quality with which they perform their own tasks t. This information is used by each device 2 in the next local optimization step to allocate resources to locally executed tasks. In this way a high probability is achieved friendliness to achieve a global optimum, while at the same time keeps the complexity and quantity of the information exchanged ¬ or data minimal.
Jedes Gerät 2, beispielsweise jedes Feldgerät, führt auf Ba- sis seiner limitierten Ressourcen eine Gruppe bzw. einen Satz von Tasks basierend auf seinen lokal verfügbaren Sensordaten und sonstigen erforderlichen Daten auf, die das Gerät 2 beispielsweise über ein Netzwerk von anderen Geräten des verteilten Systems 1 erhält. Jedes Gerät 2-i des Systems 1 kann beispielsweise Td Tasks ausführen. Jedes Gerät 2-i kann bei¬ spielsweise einen Satz von Sd lokalen Datenquellen bzw. Sensoren steuern, um Daten zur Datenverarbeitung zu generieren. Ein Satz von R Geräteressourcenklassen (beispielsweise CPU, Speicher oder Netzwerkbandbreite ...) ist allen Geräten 2 des verteilten Systems 1, welche Tasks t ausführen, gemeinsam. Die Menge von jeder dieser verschiedenen Ressourcen für die DatenverarbeitungsTasks kann bei jedem Gerät 2 variieren. Die Menge bzw. der Umfang des Ressourcentyps r, welcher auf einem Gerät d verfügbar ist, kann als Rd,r angegeben werden. Dies kann auf die verschiedenen DatenverarbeitungsTasks verteilt werden. Somit ist rdi ir die Menge der Ressource r, die einer Task j auf einem Gerät d zugewiesen wird. Hieraus folgt, dass jedes Gerät d des Systems 1 zu jedem Zeitpunkt die folgende Bedingung für jeden Ressourcentyp r erfüllen muss: rd,j,r < Rd.r Vd, r: d E {1 ... D], r E {1 ... R} Each device 2, for example each field device, lists a set of tasks based on its locally available sensor data and other required data based on its limited resources, for example, the device 2 through a network of other distributed system devices 1 receives. Each device 2-i of the system 1 can, for example, execute T d tasks. Each unit 2-i may play control a set of S d local data sources or sensors at ¬, to generate data for data processing. A set of R device resource classes (for example, CPU, memory, or network bandwidth ...) is the second device of all devices distributed system 1, which perform tasks t, together. The amount of each of these different resources for the data processing tasks may vary for each device 2. The amount of the resource type r available on a device d may be indicated as R d , r . This can be distributed to the various data processing tasks. Thus, r di ir is the amount of resource r assigned to a task j on a device d. Thereof must meet the following condition for each type of resource r follows that each device of the system 1 d at each time point: r d, j, r <Rd.r Vd, r: d E {1 ... D], E {r 1 ... R}
Die Ergebnisse aller Tasks, die auf allen Geräten 2 des Sys¬ tems 1 ausgeführt werden, können in w Workflows kombiniert werden, die in der Lage sind, Ergebnisse hinsichtlich des verteilten Systems 1 zu extrahieren. Verschiedene Tasks t können zu einem Workflow w auf einer höheren Schicht bzw. Layer kombiniert werden. Diese Kombination muss nicht notwendigerweise auf Geräteebene erfolgen. Bei einer möglichen Aus- führungsform kann auch beispielsweise eine Kommunikation zwischen Geräten 2 zur Organisation der Workflows w erfolgen. Die Datenquellen bzw. Sensoren 4 können verschiedene Konfigurationen mit unterschiedlichen Attributen unterstützen, beispielsweise mit einer bestimmten Abtastrate oder mit einer bestimmten Genauigkeit bzw. Präzision. Die verschiedenen Geräte 2-i des Systems 1 sind in der Lage, die Datenquellen 4 zu konfigurieren und deren Attribute zu steuern. Typischerweise wird eine Ausführungsqualitätsmetrik einer analytischen Task zugewiesen. Die Ausführungsqualitätsmetrik umfasst bei- spielsweise eine Sensitivität , eine Spezifizität oder eine Genauigkeit bzw. Präzision. Die Ausführungsqualität einer Task t hängt von dem verwendeten Datenmodell bzw. Algorithmus ab sowie von der Konfiguration der Datenquellen 4, beispielsweise von einer Abtastrate der Datenquellen 4. Tasks, welche Daten mit einem höheren Level an Ausführungs¬ qualität verarbeiten, erfordern in der Regel mehr Geräteressourcen 5. Daher ist es möglich, die Qualität einer Task bzw. deren Ausführungsqualität als eine Funktion der für sie ver- wendeten Ressourcen r zu definieren. Für jede Task j, die auf einem Gerät d ausgeführt wird, kann deren Qualität q wie folgt definiert werden: dj = <Ιά,] (Τά,],1> γά,],2>— rd,j,R) - Die Qualität q als Funktion von Ressourcen r kann naturgemäß kontinuierlich sein. In den meisten Fällen wird die Qualität diskretisiert . Für eine vorgegebene Task j, die auf einem Ge¬ rät d (td ) abläuft, ist es möglich, einen finiten Satz von Betriebsmodi mdi wie folgt zu definieren: md,j e imd,j,l— md,j,Mdj} · The results of all tasks that are performed on all devices 2 of the Sys tems ¬ 1 can be combined in w workflows that are able to extract results in terms of the distributed system. 1 Different tasks t can be combined to a workflow w on a higher layer or layer. This combination does not necessarily have to be done at the device level. In one possible embodiment, it is also possible, for example, to communicate between devices 2 for the organization of the workflows w. The data sources or sensors 4 can support different configurations with different attributes, for example with a certain sampling rate or with a certain accuracy or precision. The various devices 2-i of the system 1 are capable of configuring the data sources 4 and controlling their attributes. Typically, an execution quality metric is assigned to an analytic task. The execution quality metric includes, for example, sensitivity, specificity, or accuracy. The quality of execution of a task t depends on the data model or algorithm used and on the configuration of the data sources 4, for example on a sampling rate of the data sources 4. Tasks that process data with a higher level of execution ¬ quality, generally require more device resources 5. Therefore, it is possible to define the quality of a task or the execution quality as a function of applied comparable to them resources r. For each task j, which is executed on a device, i.e., the quality q may be defined as follows: dj = <Ιά,] (Τά,], 1> γ ά,] 2> - r d, j, R) - The quality q as a function of resources r can of course be continuous. In most cases the quality is discretized. For a given task j, which runs on a device d (t d ), it is possible to define a finite set of operating modes m di as follows: m d, j e i m d, j, l- m d , j, Mdj} ·
Jeder Betriebsmodus nd m hat einen zugehörigen Satz von erforderlichen Ressourcen r. rd,j,m = {rd,j,l> rd,j,2— rd,j,R m und daher die zugehörige Qualität q d,j,m ~ d i'd .m)- Eine Ausführungsqualitätsmetrik kann für einen Workflow w als eine Funktion der Qualitäten der assoziierten zugehörigen Tasks definiert werden. Dies kann beispielsweise als eine Kostenfunktion formuliert werden, wobei höhere Werte eine ge¬ ringere Qualität angeben. Bei einem Workflow Wi mit einem Satz von zugehörigen Tasks ti hängt der Aufwand bzw. die Kos¬ ten, welche zu dem Workflow w gehören, von den Each operating mode n dm has an associated set of required resources r. r d, j, m = { r d, j, l> r d, j, 2- r d, j, R m and therefore the associated quality qd, j, m ~ di ' d .m) - An execution quality metric for a workflow w as a function of the qualities of the associated associated tasks. This can be formulated as a cost function, for example, with higher values indicating a ge ¬ ringere quality. A workflow Wi with a set of related tasks ti the effort and depend on the Kos ¬ ten belonging to the workflow w, from the
Ausführungsqualitätsmetriken der zugehörigen Tasks CLC^), x £ TL und somit von dem Betriebsmodus m jeder einzelnen Task t ab, welche ihrerseits eine Funktion der Geräteressourcen r sind, die durch das Gerät 2 verwendet werden. Die Figuren 7, 8 zeigen in einem Funktionsdiagramm Simulationsergebnisse. Dabei wird eine Simulation oder eine Implemen¬ tierung dargestellt, wie sie in der Fig. 6 dargestellt ist. Dort sind drei verschiedene Workflows bzw. Arbeitsflüsse wi , W2, W3 dargestellt, wobei jeder Workflow w auf der logischen Kombination von sechs Tasks t beruht, wie sie in Fig. 4 dargestellt sind. Diese Tasks sind über neun verschiedene Geräte 2 verteilt, die jeweils zwei Tasks t ausführen. Die verschie- denen Tasks haben fünf verschiedene Betriebsmodi m mit Execution quality metrics of the associated tasks C L C ^), x £ T L and thus of the operating mode m of each individual task t, which in turn are a function of the device resources r used by the device 2. FIGS. 7, 8 show simulation results in a functional diagram. In this case, a simulation or an Implemen ¬ tion is shown, as shown in FIG. 6. There, three different workflows or workflows wi, W2, W3 are shown, each workflow w based on the logical combination of six tasks t, as shown in Fig. 4. These tasks are distributed over nine different devices 2, each performing two tasks t. The various tasks have five different operating modes
Ausführungsqualitätsmetriken und einer Ressourcennutzung wie sie in der Tabelle gemäß Fig. 5 dargestellt sind.  Execution quality metrics and resource usage as shown in the table of FIG. 5.
Die Gesamtmenge der CPU-Ressourcen eines jedes Gerätes 2 kann als eine unabhängige Zufallsvariable mit einer Gauß- Verteilung Ν(μ, σ2) modelliert werden. The total amount of CPU resources of each device 2 can be modeled as an independent random variable with a Gaussian distribution Ν (μ, σ 2 ).
Beide Simulationen führen eine Optimierung mit unterschiedlichen Methoden durch, wobei ein Zufallswert für die zur Verfü- gung stehenden Ressourcen verwendet wird sowie ein Zufalls¬ satz von Verbindungen zwischen den Tasks und den Workflows. Both simulations lead optimization using different methods through which a random value for the supply to Verfü- existing resources will be used and a random ¬ set of connections between the tasks and workflows.
In der in Fig. 7 dargestellten ersten Simulation beträgt der Mittelwert μ der verfügbaren Ressourcen bei den Geräten 2 μ = 2,2. Dies bedeutet, dass die Geräte 2 im Durchschnitt über Ressourcen bei Ausführung beider analytischen Tasks t in dem höheren Betriebsmodus verfügen plus eine 10 %-Marge. Die Varianz σ2 reicht von [0 bis 2] abhängig von dem jeweiligen Simulationspunkt . In the first simulation shown in FIG. 7, the average value μ of available resources in the devices is 2 μ = 2.2. This means that, on average, the devices 2 have resources running both analytical tasks t in the higher operating mode plus a 10% margin. The variance σ 2 ranges from [0 to 2] depending on the respective simulation point.
Fig. 7 zeigt die Durchschnittskosten (durchschnittliche Fig. 7 shows the average cost (average
Falschnegativrate FNR) für verschiedene Methoden. Im Falle einer niedrigen Ressourcenvarianz nähert sich die Falschnegativrate FNR, wie erwartet, dem Nullwert an, da die Geräte 2 über mehr Geräteressourcen verfügen als zur Durchführung aller Tasks in dem höheren Betriebsmodus erforderlich sind. Für eine größere Ressourcenvarianz kann beobachtet werden, dass die Performance bzw. die Leistungsfähigkeit des individuellen Ressourcenmanagements (Kurve I) schneller abnimmt, da es kei¬ nen Weg bzw. keine Möglichkeit gibt, die Ressourcenallokation bzw. Ressourcenzuweisung global an die Tasks anzupassen, um den Mangel an Ressourcen bei einigen Geräten 2 mit Ressour- cen, die an anderen Geräten 2 des Systems 1 verfügbar sind, zu kompensieren. Der verteilte Algorithmus, welcher das er¬ findungsgemäße Ressourcenzuweisungsverfahren implementiert, nähert sich gemäß Kurve II bereits nach zwei Iterations¬ schritten der Leistungsfähigkeit eines optimalen konventio- nellen Suchalgorithmus (Kurve III) stark an, jedoch mit einem viel geringeren Komplexitätslevel. Die Kurve I zeigt zum Ver¬ gleich die FNR für ein individuelles Ressourcenmanagement. False negative rate FNR) for different methods. In the case of a low resource variance, the false negative rate FNR approaches zero, as expected, because the devices 2 have more device resources than are required to perform all tasks in the higher mode of operation. For a larger resource variance, it can be observed that the performance or performance of the individual Resource management (curve I) decreases faster because there kei ¬ nen way or no way to adjust the allocation of resources and resource allocation to the global tasks to the lack of resources in some devices with 2 resources to other equipment 2 of the system 1 are available to compensate. The distributed algorithm which implements the invention it ¬ proper resource allocation method, however, approaches according to curve II after two iterations ¬ exceeded the performance of an optimal conven- tional search algorithm (curve III) sharply, with a much lower complexity level. The curve I shows the Ver ¬ equal to the FNR for an individual resource management.
Fig. 8 zeigt ein Diagramm zur Darstellung einer weiteren Si- mulation. In Fig. 8 wird ein durchschnittlicher Arbeitsaufwand als Funktion einer Ressourcenvarianz dargestellt. Bei dieser Simulation beträgt der Durchschnitt der verfügbaren Ressourcen der Geräte μ = 1,6. Dies bedeutet, dass die Geräte 2 im Durchschnitt weniger Ressourcen als erforderlich haben, um beide analytischen Tasks in dem höheren Betriebsmodus aus¬ zuführen. Die Varianz σ2 reicht von [0 zu 2] abhängig von dem Simulationspunkt . 8 shows a diagram for illustrating a further simulation. FIG. 8 shows an average workload as a function of a resource variance. In this simulation, the average of the available resources of the devices is μ = 1.6. This means that the devices 2 on average have fewer resources than necessary to perform both analytical tasks in the higher operating mode ¬ . The variance σ 2 ranges from [0 to 2] depending on the simulation point.
Die Durchschnittsergebnisse sind, wie erwartet, in diesem Fall geringer aufgrund der verminderten Ressourcenwerte. Die Differenzen bzw. Unterschiede zwischen dem individuellen Ressourcenmanagement (Kurve I) und einem optimalen Ressourcenma¬ nagement (Kurve III) sind ebenfalls größer, da sich der po¬ tentielle Nutzen der Optimierung erhöht. The average results are, as expected, lower in this case due to the reduced resource values. The differences or differences between the individual resource management (curve I) and an optimum Ressourcenma ¬ management (curve III) are also greater because the po ¬ tentielle benefit of optimization increased.
Die Figuren 7, 8 zeigen einen Durchschnittswert der Kostenfunktion. Die Verteilung der Kostenwerte für die verschiede¬ nen Methoden ist auch relevant. Dies wird in dem Diagramm gemäß Fig. 9 für die zweite Simulation dargestellt. Fig. 9 zeigt die Verteilung der Werte der Kostenfunktion für verschiedene Methoden, die in der zweiten Simulation verwendet werden. Wie man aus der Fig. 9 erkennen kann, wird die Performance der Datenanalyse mit dem erfindungsgemäßen Verfahren (in Fig. 9 II rechts) besser vorhersehbar. Die Ergebnisse des erfindungsgemäßen Ressourcenzuweisungsverfahrens (Fig. 9 II) nähern sich den Ergebnissen einer optimalen Ressourcenalloka- tion (Fig. 9 III) an. Fig. 9 I zeigt zum Vergleich die Ergeb- nisse bei einem individuellen Ressourcenmanagement. Figures 7, 8 show an average value of the cost function. The distribution of the cost values for covering different methods ¬ NEN is also relevant. This is illustrated in the diagram of FIG. 9 for the second simulation. Fig. 9 shows the distribution of the values of the cost function for different methods used in the second simulation. As can be seen from FIG. 9, the performance of the data analysis with the method according to the invention (in Fig. 9 II right) better predictable. The results of the resource allocation method according to the invention (FIG. 9 II) approximate the results of an optimal resource allocation (FIG. 9 III). For comparison, FIG. 9 shows the results for an individual resource management.
Die wesentlichen Vorteile des erfindungsgemäßen Verfahrens im Vergleich zu herkömmlichen Allokationsverfahren sind wie folgt . The main advantages of the method according to the invention compared to conventional allocation methods are as follows.
Mit dem erfindungsgemäßen Verfahren ist es möglich, eine globale Optimierung zu erreichen, indem man einfachere lokale Optimierungen ausführt, um direkt die Qualität von Workflows w, insbesondere Datenverarbeitungs-Workflows , zu verbessern. Das erfindungsgemäße Verfahren hat eine geringe Komplexität. Daher ist es in der Lage, sehr schnell auf Variationen bzw. Veränderungen der Ressourcenbedingungen und Systembedingungen zu reagieren. Das erfindungsgemäße Verfahren erfordert keine zentrale Koordinierungseinheit. Das erfindungsgemäße Verfah- ren skaliert darüber hinaus gut mit der Größe des verteilten Systems 1. Bei dem erfindungsgemäßen Verfahren ist es zudem nicht erforderlich, interne Geräteinformationen, wie beispielsweise die in einem Gerät 2 verfügbaren Ressourcen, an andere Geräte 2 des Systems 1 zu übertragen. Das erfindungs- gemäße Verfahren bietet eine nahezu optimale Ressourcenallo- kation bzw. Ressourcenzuweisung innerhalb des verteilten Systems 1, d.h. eine nahezu optimale Ausnutzung der zur Verfü¬ gung stehenden Ressourcen des verteilten Systems 1 zur Ausführung von Workflows w. Das erfindungsgemäße Verfahren eig- net sich insbesondere für ein verteiltes System 1 mit mehre¬ ren verteilten Geräten 2, insbesondere Feldgeräten. With the method according to the invention, it is possible to achieve global optimization by performing simpler local optimizations to directly improve the quality of workflows w, especially data processing workflows. The inventive method has a low complexity. Therefore, it is able to respond very quickly to variations or changes in resource conditions and system conditions. The method according to the invention does not require a central coordination unit. Moreover, the method according to the invention scales well with the size of the distributed system 1. In the method according to the invention, it is also not necessary to transmit internal device information, such as the resources available in a device 2, to other devices 2 of the system 1. The inventiveness proper procedure provides a nearly optimal allocation of resources and resource allocation within the distributed system 1, that is an almost optimal utilization of standing for Availability checked ¬ supply resources of the distributed system 1 for the execution of workflows w. The inventive method is suited in particular for a distributed system 1 with several ¬ ren distributed devices 2, in particular field devices.

Claims

Patentansprüche claims
1. Verfahren zum Zuweisen von Ressourcen von Geräten (2) eines verteilten Systems (1), 1. A method for allocating resources of devices (2) of a distributed system (1),
wobei jedes Gerät (2) des verteilten Systems (1) seine lokal verfügbaren Ressourcen (5) Tasks in Abhängigkeit von externen Ausführungsqualitätsmetriken zuweist, die das Gerät (2) von anderen Geräten (2) des verteilten Systems (1) empfängt. wherein each distributed system device (2) allocates its locally available resources (5) to tasks in response to external execution quality metrics received by the device (2) from other distributed system devices (2).
2. Verfahren nach Anspruch 1, 2. The method according to claim 1,
wobei jedes Gerät (2) des verteilten Systems (1) eine vorge¬ gebene Optimierungsfunktion (F) aufweist, die von lokalen Ausführungsqualitätsmetriken, mit denen jede Task einer Gruppe von Tasks, die von dem jeweiligen Gerät (2) ausführbar sind, ausgeführt werden, und von externen wherein each device (2) comprises the distributed system (1) a pre-¬ passed optimization function (F) that are performed by local execution quality metrics with each task of a group of tasks of the respective device (2) are executable, and from external
Ausführungsqualitätsmetriken, die zu einer Gruppe von Tasks gehören, die durch andere Geräte (2) des verteilten Systems (1) ausführbar sind, abhängt.  Execution quality metrics associated with a set of tasks executable by other devices (2) of the distributed system (1) are dependent.
3. Verfahren nach Anspruch 1 oder 2, 3. The method according to claim 1 or 2,
wobei jedes Gerät (2) des verteilten Systems (1) für jede Task der Gruppe von Tasks, die durch dieses Gerät (2) aus¬ führbar sind, Beziehungsdaten aufweist, die eine Beziehung zwischen einer lokalen Ausführungsqualitätsmetrik, mit wel- eher die Task durch das jeweilige Gerät (2) ausgeführt wer¬ den kann, und den Ressourcen (5) des Gerätes (2), welche der jeweiligen Task zugewiesen sind, angeben. wherein each device (2) of the distributed system (1) for each task of the group of tasks that are through this device (2) ¬ be moved from having relationship data obtained by a relationship between a local execution quality metric with WEL rather the task the respective device (2) is carried out who can ¬, and the resources (5) of the device (2) which are assigned to the respective task, specify.
4. Verfahren nach einem der vorangehenden Ansprüche 1 bis 3, wobei jedes Gerät (2) des verteilten Systems (1) die folgen¬ den Schritte (S) ausführt: 4. The method according to any one of the preceding claims 1 to 3, wherein each device (2) of the distributed system (1) performs the following ¬ steps (S):
(a) Empfangen (Sl) von anderen Geräten (2') des verteilten Systems (1) einer Gruppe von externen (a) receiving (Sl) from other devices (2 ') of the distributed system (1) of a group of external ones
Ausführungsqualitätsmetriken, die mit Tasks, die zu der Gruppe von Tasks gehören, die durch andere Geräte (2')des verteilten Systems (1) ausführbar sind, aus¬ geführt werden; (b) Ableiten (S2) einer lokalen Funktion (LF) , die von den lokalen Ausführungsqualitätsmetriken abhängt, mit der jede Task der Gruppe von Tasks, die von dem je¬ weiligen Gerät (2) ausführbar sind, ausgeführt wird, von einer vorgegebenen Optimierungsfunktion (F) auf Basis der externen Ausführungsqualitätsmetriken, mit der Tasks, die zu der Gruppe von Tasks gehört, die durch andere Geräte (2') des verteilten Systems (1) ausführbar sind, ausgeführt werden; Execution quality metrics, carried out with tasks that belong to the group of tasks that can be executed by other devices (2 ') of the distributed system (1) ¬; (b) deriving (S2) of a local function (LF), which depends on the local execution quality metrics with each task of the group of tasks that are executable by the per ¬ weiligen device (2) is executed from a predetermined optimization function (F) based on the external execution quality metrics with which tasks belonging to the group of tasks executable by other devices (2 ') of the distributed system (1) are executed;
(c) Durchführen (S3) eines lokalen Optimierungsschrittes auf Grundlage der abgeleiteten lokalen Funktion (LF) , der Beziehungsdaten des jeweiligen Gerätes (2) und unter Berücksichtigung der verfügbaren Ressourcen (5) des jeweiligen Gerätes (2) zur Selektion von Ressourcen (5) des jeweiligen Gerätes (2), die den Tasks der Gruppe von Tasks, welche durch das jeweilige Gerät (2) ausführbar sind, zugewiesen werden; und (c) performing (S3) a local optimization step on the basis of the derived local function (LF), the relationship data of the respective device (2) and taking into account the available resources (5) of the respective device (2) for the selection of resources (5) the respective device (2) assigned to the tasks of the group of tasks executable by the respective device (2); and
(d) Übertragen (S4) jeder resultierenden Ausführungsqua- litätsmetrik, mit der jede Task der Gruppe von Tasks, die durch das jeweilige Gerät (2) ausgeführt wird, nach einer aktualisierten Ressourcenzuweisung zu jedem anderen Gerät (2'), welches eine vorgegebene Op¬ timierungsfunktion (F) einschließlich der besagten Ausführungsqualitätsmetriken aufweist . (d) transmitting (S4) each resultant execution quality metric by which each task of the group of tasks executed by the respective device (2), after an updated resource allocation, to each other device (2 ') having a predetermined Op ¬ has trimming function (F) including said execution quality metrics.
5. Verfahren nach Anspruch 4, 5. The method according to claim 4,
wobei die anderen Tasks mit den durch das jeweilige Gerät (2) ausführbaren Tasks zusammenhängen und in mindestens einem gemeinsamen Workflow enthalten sind, der einen Satz zugehöriger Tasks umfasst. the other tasks being related to the tasks executable by the respective device (2) and included in at least one shared workflow comprising a set of related tasks.
6. Verfahren nach Anspruch 4 oder 5, 6. The method according to claim 4 or 5,
wobei jedes Gerät (2) des verteilten Systems (1) den lokalen Optimierungsschritt ausführt, sobald eine Ressourcenzuweisung an dem jeweiligen Gerät (2) verändert wird oder die lokal in dem Gerät (2) verfügbaren Ressourcen sich ändern oder sobald das Gerät (2) ein Update mindestens einer Ausführungsquali- tätsmetrik von einem anderen Gerät (2λ) des verteilten Systems (1) erhält. wherein each device (2) of the distributed system (1) performs the local optimization step as soon as resource allocation at the respective device (2) is changed or locally in resources available to the device (2) or as soon as the device (2) receives an update of at least one execution quality metric from another device (2 λ ) of the distributed system (1).
7. Verfahren nach einem der vorangehenden Ansprüche 1 bis 6, wobei die vorgegebene Optimierungsfunktion (F) eine globale Funktion des gesamten verteilten Systems (1) aufweist. 7. The method according to any one of the preceding claims 1 to 6, wherein the predetermined optimization function (F) has a global function of the entire distributed system (1).
8. Verfahren nach einem der vorangehenden Ansprüche 1 bis 7, wobei die Ressourcen (5) eines Gerätes (2) des verteilten Systems (1) Prozessorressourcen, Speicherressourcen und/oder Datenübertragungsressourcen aufweisen . 8. The method according to any one of the preceding claims 1 to 7, wherein the resources (5) of a device (2) of the distributed system (1) processor resources, memory resources and / or data transmission resources.
9. Verfahren nach einem der vorangehenden Ansprüche 1 bis 8, wobei die Ausführungsqualitätsmetriken eine Qualität angeben, mit der eine Task durch das Gerät (2) ausgeführt wird, wobei die Ausführungsqualitätsmetriken eine Sensitivität , ei¬ ne Genauigkeit und/oder eine Fehlerrate aufweisen. 9. The method according to any one of the preceding claims 1 to 8, wherein the execution quality metrics indicate a quality with which a task is performed by the device (2), wherein the execution quality metrics have a sensitivity, egg ¬ ne accuracy and / or an error rate.
10. Verfahren nach einem der vorangehenden Ansprüche 1 bis 9, wobei eine durch ein Gerät (2) ausführbare Task in unter¬ schiedlichen Betriebsmodi des Gerätes (2) ausführbar ist, wo¬ bei die Betriebsmodi jeweils einen anderen Satz von Ressour- cen (5) des Gerätes (2) beanspruchen. 10. The method according to any one of the preceding claims 1 to 9, wherein an executable by a device (2) task in different ¬ operating modes of the device (2) is executable, where ¬ in the operating modes each have a different set of resources (5 ) of the device (2).
11. Verfahren nach Anspruch 10, 11. The method according to claim 10,
wobei für jede Task ein Satz von zulässigen Betriebsmodi eines Gerätes (2) bereitgestellt wird. wherein for each task a set of permissible modes of operation of a device (2) is provided.
12. Verfahren nach Anspruch 11, 12. The method according to claim 11,
wobei die Selektion von Ressourcen (5) eines Gerätes (2) zur Ausführung einer Task durch Umschalten in einen anderen zulässigen Betriebsmodus des Gerätes (2) erfolgt. wherein the selection of resources (5) of a device (2) for executing a task by switching to another permissible operating mode of the device (2).
13. Ressourcenzuweisungsvorrichtung (6) zur Zuweisung von Ressourcen (5) eines Gerätes (2) innerhalb eines verteilten Systems ( 1 ) , wobei die Ressourcenzuweisungsvorrichtung (6) lokal verfügbare Ressourcen (5) des Gerätes (2) Tasks in Abhängigkeit von externen Ausführungsqualitätsmetriken zuweist, die das Gerät (2) von anderen Geräten (2') des verteilten Systems (1) emp- fängt . 13. A resource allocation device (6) for allocating resources (5) of a device (2) within a distributed system (1), wherein the resource allocating device (6) allocates locally available resources (5) of the device (2) to tasks in response to external execution quality metrics that the device (2) receives from other devices (2 ') of the distributed system (1).
14. Ressourcenzuweisungsvorrichtung nach Anspruch 13, 14. Resource allocation device according to claim 13,
wobei jedes Gerät (2) des verteilten Systems (1) eine vorge¬ gebene Optimierungsfunktion (F) aufweist, die von lokalen Ausführungsqualitätsmetriken, mit denen jede Task einer Gruppe von Tasks, die von dem jeweiligen Gerät (2) ausführbar sind, ausgeführt werden, und von externen wherein each device (2) comprises the distributed system (1) a pre-¬ passed optimization function (F) that are performed by local execution quality metrics with each task of a group of tasks of the respective device (2) are executable, and from external
Ausführungsqualitätsmetriken, die zu einer Gruppe von Tasks gehören, die durch andere Geräte (2') des verteilten Systems (1) ausführbar sind, abhängt,  Execution quality metrics belonging to a group of tasks executable by other devices (2 ') of the distributed system (1),
wobei jedes Gerät (2) des verteilten Systems (1) für jede Task der Gruppe von Tasks, die durch dieses Gerät (2) aus¬ führbar sind, Beziehungsdaten aufweist, die eine Beziehung zwischen einer lokalen Ausführungsqualitätsmetrik, mit wel- eher die Task durch das jeweilige Gerät (2) ausgeführt werden kann, und den Ressourcen (5) des Gerätes (2) welche der je¬ weiligen Task zugewiesen sind, angeben, wherein each device (2) of the distributed system (1) for each task of the group of tasks that are through this device (2) ¬ be moved from having relationship data obtained by a relationship between a local execution quality metric with WEL rather the task the respective device (2) can be performed, and the resources (5) of the device (2) which of the depending ¬ weiligen task are assigned to specify
wobei die Ressourcenzuweisungsvorrichtung (6) des Gerätes (2) aufweist : wherein the resource allocation device (6) of the device (2) comprises:
(a) eine Empfangseinheit (6A), die geeignet ist, von an¬ deren Geräten (2') des verteilten Systems (1) eine Gruppe von externen Ausführungsqualitätsmetriken zu empfangen, mit welchen Tasks, die zu der Gruppe von Tasks gehören, welche durch andere Geräte (2')des verteilten Systems (1) ausführbar sind, ausgeführt werden; (a) a receiving unit (6A), which is capable of at ¬ thereof units (2 ') of the distributed system (1) to receive a group of external execution quality metrics with which tasks belong to the group of tasks which by other devices (2 ') of the distributed system (1) are executable;
(b) eine Berechnungseinheit (6B), die geeignet ist, eine lokale Funktion (LF) , die von den lokalen (b) a calculation unit (6B) capable of having a local function (LF) derived from the local
Ausführungsqualitätsmetriken abhängt, mit der jede Task der Gruppe von Tasks, die von dem jeweiligen Gerät (2) ausführbar sind, ausgeführt wird, von der vorgegebenen Optimierungsfunktion (F) auf Basis der externen Ausführungsqualitätsmetriken abzuleiten, mit der Tasks, die zu der Gruppe von Tasks gehört, die durch andere Geräte (2') des verteilten Systems (1) ausführbar sind, ausgeführt werden, Depends on performance quality metrics that each task of the group of tasks executable by the respective device (2) is executing derive predetermined optimization function (F) on the basis of the external execution quality metrics with which tasks belonging to the group of tasks executable by other devices (2 ') of the distributed system (1) are executed,
wobei die Berechnungseinheit (6B) ferner geeignet ist, einen lokalen Optimierungsschritt auf Grundlage der abgeleiteten lokalen Funktion (LF) und der Beziehungsdaten des jeweiligen Gerätes (2) unter Berücksichtigung der verfügbaren Ressourcen (5) des jeweiligen Gerätes (2) zur Selektion von Ressourcen (5) des jeweiligen Gerätes (2) durchzuführen, die den Tasks der Gruppe von Tasks, welche durch das jeweili¬ ge Gerät (2) ausführbar sind, zugewiesen werden; und wherein the calculation unit (6B) is further adapted to a local optimization step based on the derived local function (LF) and the relationship data of the respective device (2) taking into account the available resources (5) of the respective resource selection device (2) perform 5) of the respective device (2) which are assigned to the tasks of the group of tasks which are executable by the jeweili ¬ ge device (2); and
(c) eine Sendeeinheit (6C), die geeignet ist, jede resul¬ tierende Ausführungsqualitätsmetrik, mit der jede Task der Gruppe von Tasks, die durch das jeweilige Gerät (2) ausgeführt wird, nach einer aktualisierten Ressourcenzuweisung zu jedem anderen Gerät (2') zu übertragen, das eine vorgegebene Optimierungsfunktion (F) einschließlich der besagten Ausführungsqualitätsmetrik aufweist. (c) a transmitting unit (6C), which is suitable for each resul ¬ animal end exemplary quality metric, with each task of the group of tasks by the respective device (2) is carried out for an updated resource allocation to any other device (2 ' ) having a predetermined optimization function (F) including said execution quality metric.
15. Ressourcenzuweisungsvorrichtung (6) nach einem der Ansprüche 13 oder 14, 15. Resource allocation device (6) according to one of claims 13 or 14,
wobei die Ressourcenzuweisungsvorrichtung (6) wherein the resource allocating device (6)
eine Speichereinheit zum Speichern der lokalen a storage unit for storing the local
Ausführungsqualitätsmetriken und der externen Execution quality metrics and the external
Ausführungsqualitätsmetriken und eine weitere Speichereinheit zum Speichern aller durch das Gerät (2) innerhalb eines  Execution quality metrics and another storage unit for storing all by the device (2) within one
Workflows ausführbaren Tasks aufweist. Workflows executable tasks.
16. Verteiltes System (1) mit einer Vielzahl von Geräten (2), die jeweils Ressourcen (5) zur Verarbeitung von Tasks aufweisen und die jeweils eine Ressourcenzuweisungsvorrichtung (6) nach einem der vorangehenden Ansprüche 13 bis 15 aufweisen. 16. Distributed system (1) comprising a plurality of devices (2), each having resources (5) for processing tasks and each having a resource allocation device (6) according to any one of the preceding claims 13 to 15.
PCT/EP2017/080724 2017-01-31 2017-11-28 Method and apparatus for allocating device resources WO2018141435A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102017201510.1 2017-01-31
DE102017201510 2017-01-31

Publications (1)

Publication Number Publication Date
WO2018141435A1 true WO2018141435A1 (en) 2018-08-09

Family

ID=60765597

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2017/080724 WO2018141435A1 (en) 2017-01-31 2017-11-28 Method and apparatus for allocating device resources

Country Status (1)

Country Link
WO (1) WO2018141435A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102019129969A1 (en) * 2019-11-06 2021-05-06 Endress+Hauser SE+Co. KG System for resource management in an automation technology system

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080304516A1 (en) * 2007-06-06 2008-12-11 Hanhua Feng Distributed Joint Admission Control And Dynamic Resource Allocation In Stream Processing Networks
US20100238884A1 (en) * 2009-03-19 2010-09-23 Qualcomm Incorporated Adaptive association and joint association and resource partitioning in a wireless communication network
US20110087783A1 (en) * 2009-10-09 2011-04-14 Siddhartha Annapureddy Allocating resources of a node in a server farm
WO2016054162A1 (en) * 2014-10-03 2016-04-07 Microsoft Technology Licensing, Llc Job scheduling using expected server performance information

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080304516A1 (en) * 2007-06-06 2008-12-11 Hanhua Feng Distributed Joint Admission Control And Dynamic Resource Allocation In Stream Processing Networks
US20100238884A1 (en) * 2009-03-19 2010-09-23 Qualcomm Incorporated Adaptive association and joint association and resource partitioning in a wireless communication network
US20110087783A1 (en) * 2009-10-09 2011-04-14 Siddhartha Annapureddy Allocating resources of a node in a server farm
WO2016054162A1 (en) * 2014-10-03 2016-04-07 Microsoft Technology Licensing, Llc Job scheduling using expected server performance information

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102019129969A1 (en) * 2019-11-06 2021-05-06 Endress+Hauser SE+Co. KG System for resource management in an automation technology system

Similar Documents

Publication Publication Date Title
DE102018209149B4 (en) Machine learning device, control and machine learning program
DE102006020150B4 (en) System and method for test probe management
DE112012002285B4 (en) System and method for supplementing sensor information
DE102012221059A1 (en) Method and system of customizable network transmission optimization in large parallel computing systems
DE10314148A1 (en) Distributed control method and apparatus
DE102005030663A1 (en) System and method for operating load balancing elements for multi-instance applications
WO2013171122A2 (en) Functionally expandable vehicle control device and method for supplementing the functionality of a vehicle control device
DE102017215875B4 (en) Apparatus and method for controlling a message communication load
DE112010005955T5 (en) Control system reconfigurable during operation, and method therefor
DE112021003747T5 (en) DETECTING ANOMALIES IN A NETWORK TOPOLOGY
DE102022107838A1 (en) SYSTEM AND PROCEDURE FOR ADMINISTRATION OF A DIGITAL TWIN
DE112021004174T5 (en) FEDERATED LEARNING FOR ANOMALY DETECTION
DE102019206923B3 (en) Method for running an application on a distributed system architecture
DE102006046717A1 (en) Dynamically migrating channels
DE112012006248B4 (en) Data processing device and program
EP1634176A2 (en) Cluster arrangement
WO2018141435A1 (en) Method and apparatus for allocating device resources
DE102021109775A1 (en) ADAPTIVE TIME WINDOW-BASED DEDUPLICATION OF LOG MESSAGES
DE102017216815A1 (en) Attack Detection Device, Attack Detection Method and Attack Detection Program
EP3951529A1 (en) Monitoring device and method for detection of abnormalities
DE112016005840T9 (en) WIRELESS COMMUNICATION DEVICE, WIRELESS COMMUNICATION PROCESS AND WIRELESS COMMUNICATION PROGRAM
DE10332203A1 (en) Distributed Bayes network based expert system e.g. for vehicle diagnosis and functional restoring, has junction tree divided in two parts and has two arithmetic and logic units, divided under each other and in communication connection
DE112013006756T5 (en) Communication, control device and program
DE102012222885A1 (en) Method for assigning timestamps to received data packets
DE102012214500B4 (en) State-based planning, protection and management of resources of a data network structure

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 17817678

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 17817678

Country of ref document: EP

Kind code of ref document: A1