Method for executing applications on a distributed system architecture

By using cycle time and tolerance time in a distributed system architecture to dynamically allocate applications, the problem of fixedness and inflexibility of application allocation methods in the prior art is solved, the user experience and computing performance are improved, and it is suitable for various applications. , especially when local resources are limited.

CN111930494BActive Publication Date: 2025-01-10VOLKSWAGEN AG
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202010401676.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2019-05-13
Filing Date
2020-05-13
Publication Date
2025-01-10
Estimated Expiration
2040-05-13

AI Technical Summary

Technical Problem

The allocation method of prior art applications on mobile devices is fixed and inflexible, resulting in a loss of user comfort in mobile applications, making it difficult to automatically switch between local or remote resources, affecting processing performance and reaction time.

Method used

By using cycle time and tolerance time as handover criteria in a distributed system architecture, applications are dynamically allocated to local or remote application servers, adjusting tolerance time according to application type and requirements to optimize the computing environment.

Benefits of technology

It realizes flexible and adaptive allocation of applications, improves user experience and computing performance, and is suitable for various types of applications, especially when local computing resources are limited.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN111930494B_ABST
    Figure CN111930494B_ABST
Patent Text Reader

Abstract

A method for executing an application on a distributed system architecture, the distributed system architecture having: an application client, in particular a mobile one, receiving input data and providing output data based on the processed input data; at least one remote application server and a local application server at the application client, receiving input data from the application client, processing the input data and sending the processed input data back to the application client; and an application manager that distributes the application to the local application server or the remote application server. To this end, the invention provides that the method has the following steps: determining a first cycle time for receiving and processing input data on the local application server; determining a second cycle time for receiving and processing input data on the remote application server; determining a tolerance time for receiving and processing input data of the application; comparing the first and second cycle times with the tolerance time; and distributing the application to the local application server or the remote application server based on the comparison.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The invention relates to a method for executing an application on a distributed system architecture according to the preamble of the independent method claim and to a corresponding distributed system architecture according to the preamble of the independent system claim. Background Art

[0002] With the prevalence of mobile communications and cloud computing, it is no longer necessary for the processing of data for applications to take place on the mobile device itself or in a vehicle or other user device. Due to the higher computing power, it can be advantageous to use remote resources, such as cloud resources and / or edge cloud resources, for the processing of data, even if communication with remote resources requires time and energy. The user must decide whether to use local computing on the mobile device itself, for example in a vehicle, or whether to perform the computing on a mobile edge server near the mobile device or in a cloud computing center further away from the mobile device. This decision should be made as automatically as possible so as not to affect user comfort. In addition, in the case of mobile devices, handovers between adjacent edge servers must be performed as automatically as possible during the movement of the mobile device.

[0003] In general, including networks into cloud environments is known from the following literature: Xiao Qin et al.: “Communication-Aware Load Balancing for Parallel Applications on Clusters” in IEEE Transactions on Computers, Vol. 59, January 2010, pp. 42 – 52.

[0004] Currently, applications are assigned to either a local application server or a remote application server according to their prioritization, as shown in the publication EP 3 425 873 A1. Applications are classified as time-critical or general. According to the prioritization, these applications receive a fixed assignment to a local or remote application server. However, such an assignment is fixed and inflexible, which may lead to a loss of convenience in mobile applications. Summary of the invention

[0005] The object of the present invention is therefore to provide an improved method for executing an application on a distributed system architecture. In particular, the object of the present invention is to provide a method for executing an application on a distributed system architecture, which method enables a flexible, adaptable and comfortable allocation of the application to the available resources within the distributed system architecture. Furthermore, the object of the present invention is to provide a corresponding distributed system architecture.

[0006] The object according to the invention is achieved by a method for executing an application on a distributed system architecture having the features of an independent method claim, in particular the features in the characterizing part. In addition, the object according to the invention is achieved by a corresponding distributed system architecture having the features of an independent system claim, in particular the features in the characterizing part. Preferred developments of the invention are mentioned in the dependent claims. The features disclosed in relation to the individual inventive aspects can be combined with one another in the following manner: the disclosures of these inventive aspects of the invention always refer to one another or can refer to one another.

[0007] The present invention provides a method for executing an application on a distributed system architecture, wherein the distributed system architecture has:

[0008] - an application client, in particular a mobile one, for receiving input data (for example sensor data) and providing output data (for example actuator settings) based on the processed input data (for example in a user device, for example in a mobile device, mobile phone, smartphone, laptop, vehicle control device, navigation unit, infotainment system, etc.);

[0009] - at least one remote application server (a cloud server and one or more edge cloud servers) and a local application server at the application client (a local computing unit) for receiving input data from the application client, processing the input data for the application client, and sending the processed input data back to the application client; and

[0010] - an application manager (local control device) for distributing the application (or at least one computing task for processing input data for the application) to a local application server or to at least one remote application server.

[0011] To this end, it is provided according to the present invention that the method comprises the following steps:

[0012] - determining a first cycle time for receiving and processing the input data on the local application server (and, if necessary, sending the processed input data back to the application client);

[0013] - determining a second cycle time for receiving and processing input data on at least one remote application server (and, if necessary, sending the processed input data back to the application client);

[0014] - determining, in particular, the maximum permissible tolerance time for receiving and processing input data for the application (and, if necessary, sending the processed input data back to the application client);

[0015] - comparing the first cycle time and the second cycle time with a tolerance time;

[0016] - Allocating the application to a local application server or at least one remote application server based on the comparison.

[0017] The present invention recognizes here that all applications are different. Depending on the type of processing or calculation required, these applications have different speeds and different (allowable and / or tolerable) reaction times. The present invention is advantageously applicable to all following areas, in which the locally available computing resources are limited. Some of these applications include automobiles, drones, cognitive applications, etc. The results of processing on a remote application server, such as on a central cloud server and / or on one or more edge cloud servers, are in principle better than local computing, because the hardware resources on the remote application server are better, where local computing resources are mostly limited.

[0018] The idea of ​​the invention is that it is possible for all types of applications to use a tolerance time for receiving and processing input data or in other words a delay threshold or cycle time (so-called round trip time, RTT) as a handover criterion in order to select the most efficient computing environment for a specific application. The tolerance time or cycle time or round trip time is the duration from when a local device (i.e., application client) sends a request including sensor raw data (i.e., input data) to an available (local or remote) application server until the calculated result is received from the application server. The tolerance time or cycle time therefore includes the waiting time (so-called delay) and the calculation time on the available application server. Within the scope of the invention, it is not necessary to take into account the throughput within the network in detail in order to be able to make a handover decision, because this information is already mapped (abbilden) in the tolerance time. The tolerance time or cycle time is a simple single parameter that the developer can adjust when developing the application. It is possible within the scope of the invention to adjust the tolerance time or cycle time as a static or adaptive threshold value, which is discussed in detail below. Within the scope of the invention, the dynamics of the application can be measured once before the start of the application's runtime and / or during the runtime, and the tolerance time can then be adaptively changed. Within the scope of the invention, slow changes in the application can lead to high threshold values, while fast changes in the application can lead to lower threshold values. Within the scope of the invention, the user experience and / or quality standards defined by the application can further be taken into account when determining the tolerance time.

[0019] The distributed system architecture within the scope of the present invention is based on three pillars:

[0020] - An application client acts as a front end within the scope of the invention. The application client reads out input data (eg sensor information) and provides output data (eg actuator output).

[0021] In this context, the application client can be regarded as a human-machine interface, a so-called HMI. The application client has a locally available computing device (local application server) on which the application can run.

[0022] A (local or remote) application server is a computing module which processes input data (eg of sensors) and outputs the processed input data, for example in the form of output data (eg controlled values ​​for associated actuators).

[0023] The application server can be arranged locally at the location where the application client is located. It can also be moved to an edge cloud server or a larger computing center in the cloud. Within the scope of the present invention, the application server can have at least one local application server and multiple remote application servers. The multiple remote application servers can in turn include multiple (also transformed) edge cloud servers or at least one central cloud server.

[0024] The application manager is a unit that decides where to process input data based on the rules according to the invention or based on the method according to the invention.

[0025] In addition, the present invention can provide, in the case of a method for executing an application on a distributed system architecture, that if the first cycle time is below the tolerance time, the application is assigned to a local application server. Advantageously, if the first cycle time does not exceed the tolerance time, the application can be successfully executed directly on the local application server.

[0026] Furthermore, the invention can provide, in the case of a method for executing an application on a distributed system architecture, that the application is assigned to the at least one remote application server if the second cycle time is below a tolerance time. In this case, the application can be assigned to the at least one remote application server if the processing time and the required waiting time on the at least one remote application server within the scope of the second cycle time do not exceed the tolerance time.

[0027] Furthermore, the present invention can provide, in the case of a method for executing an application on a distributed system architecture, that if both the first cycle time and the second cycle time are below a tolerance time, then, according to at least one condition, the application is assigned to the local application server or to the at least one remote application server. With the aid of this condition, the assignment can be performed if the two or more application servers are able to provide processed input data within the tolerance time.

[0028] Furthermore, it is conceivable that the at least one condition may include at least one of the following information, such as user preferences, experience data and / or application performance. For example, it is conceivable that a remote (edge) cloud solution may be preferred if the two or more application servers are able to provide processed input data within a tolerance time.

[0029] It is also possible within the scope of the invention to include a static threshold value for the tolerance time. The tolerance time can thus be determined once and / or with little effort, for example by an application developer.

[0030] Furthermore, the invention may provide that the static threshold is determined as an average of the first cycle time and the second cycle time for a plurality of requests for processing input data. Thus, a trustworthy threshold for determining the tolerance time can be calculated from a plurality of requests.

[0031] Furthermore, it is conceivable within the scope of the invention to determine the static threshold value by measuring the distributed system architecture. Thus, a trustworthy threshold value for determining the tolerance time for the corresponding distributed system architecture can also be calculated if the measurement is only performed once.

[0032] Furthermore, it is conceivable within the scope of the present invention to take into account the dynamics of the output data when determining the static threshold value. In this case, the dynamics of the output data can be considered (only) within the tolerance time in order to take into account the averaging of the function of the output data.

[0033] Furthermore, it is conceivable to determine the static threshold value once for the application. In this way, the computational effort for determining the tolerance time can be kept low.

[0034] It is also possible within the scope of the invention to make the tolerance time comprise an adaptive, in particular time-dependent threshold value. In this way, it is possible to automatically update the tolerance time as a function of current events, wherein the events may include changes in the output data and the speed of the changes in the output data.

[0035] Furthermore, the present invention provides that the dynamics of the output data are taken into account when determining the threshold value of the adaptability. Thus, the speed of the change of the output data may be taken into account. Thus, the present invention may take into account the following situations: slow changes in the application may result in a high threshold value; and fast changes in the application may result in a lower threshold value.

[0036] Furthermore, it is also conceivable within the scope of the present invention that the threshold value of the adaptability is dynamically adapted when the application is executed. Thus, the threshold value of the adaptability can be regularly updated over time.

[0037] Furthermore, the invention can provide, in the context of a method for executing an application on a distributed system architecture, that when assigning the application to the local application server or the at least one remote application server, an adaptive threshold value within the scope of a tolerance time is preferably taken into account if the application is a dynamic application and / or if the output data changes more rapidly than a certain threshold value. With the aid of this threshold value, simple rules can be defined as to when this adaptive threshold value is preferred or from when the rate of change of the output data is high enough to make it worthwhile to calculate this adaptive threshold value.

[0038] Furthermore, the invention can provide, in the case of a method for executing an application on a distributed system architecture, that a static threshold value within the scope of a tolerance time is preferably taken into account when assigning the application to the local application server or the at least one remote application server if the application is a static application or a substantially slowly changing application and / or if the output data changes more slowly than a certain threshold value. Thus, in the case of applications that are more likely to change slowly, the computing capacity for determining the tolerance time can be reduced.

[0039] Furthermore, the present invention provides a distributed system architecture, which has: an application client, in particular a mobile one, for receiving input data and providing output data based on the processed input data; at least one remote application server and a local application server at the application client for receiving input data from the application client, processing the input data for the application client and sending the processed input data back to the application client; and an application manager for assigning an application to a local application server or to at least one remote application server. To this end, it is provided according to the present invention that the application manager is implemented for:

[0040] - determining a first cycle time for receiving and processing input data on a local application server;

[0041] - determining a second cycle time for receiving and processing input data on at least one remote application server;

[0042] - Determine the tolerance time for receiving and processing input data for the application;

[0043] - comparing the first cycle time and the second cycle time with a tolerance time;

[0044] - allocating the application to a local application server or to at least one remote application server based on the comparison.

[0045] The same advantages as have been described above in the context of the method according to the invention are achieved by means of the distributed system architecture according to the invention. Reference is hereby made in its entirety to these features.

[0046] Advantageously, the application manager can be specifically designed to completely or partially execute the method which can be performed as described above.

[0047] It is conceivable within the scope of the present invention to provide the application client in a user device, in a mobile device, in a smartphone, in a laptop and / or in a vehicle. BRIEF DESCRIPTION OF THE DRAWINGS

[0048] Further measures to improve the invention are further illustrated below using the description of preferred embodiments of the invention with reference to the drawings. The features mentioned in the claims and in the description can be important to the invention individually or in any combination. It should be noted that the figures are merely descriptive and should not be considered as limiting the invention in any way. Among them:

[0049] Figure 1 A schematic diagram showing a distributed system architecture within the scope of the present invention;

[0050] Figure 2 showing a graph comparing the first cycle time and the second cycle time with a tolerance time;

[0051] Figure 3 showing the correlation between the average speed of change of the output data and the tolerance time;

[0052] Figure 4 showing the rate of change of the output data with respect to time; and

[0053] Figure 5 Shows the application performance in relation to the cycle time.

[0054] In the following figures, the same reference numerals are also used for identical technical features from different exemplary embodiments. DETAILED DESCRIPTION

[0055] Figure 1An exemplary distributed system architecture 100 within the scope of the present invention is shown. The distributed system architecture 100 has the following three elements:

[0056] - an application client 10, in particular a mobile one, for receiving input data (for example sensor data) and for providing output data f(t) (for example actuator settings) based on the processed input data (for example in a user device 101, for example in a mobile device, a mobile phone, a smartphone, a laptop, a vehicle control device, a navigation unit, an infotainment system, etc.);

[0057] - at least one remote application server 22 (a cloud server and one or more edge cloud servers) and a local application server 21 (a local computing unit) at the application client 10 for receiving input data from the application client 10, for processing the input data for the application client 10, and for sending the processed input data back to the application client 10; and

[0058] - An application manager 30 (local control device) for distributing the application APP to a local application server 21 or at least one remote application server 22 .

[0059] The present invention provides a method for Figure 1 A method for executing an application APP on a distributed system architecture 100, the method comprising the following steps:

[0060] - determining a first cycle time RTT1 for receiving and processing input data on the local application server 21;

[0061] - determining a second cycle time RTT2 for receiving and processing input data on at least one remote application server 22;

[0062] - Determine, in particular, the maximum permissible tolerance time for receiving and processing input data for an application APP ;

[0063] - The first cycle time RTT1 and the second cycle time RTT2 are compared with the tolerance time Compare;

[0064] - For the application APP, the application APP (or at least one computing task for processing input data) is allocated to a local application server 21 or at least one remote application server 22 according to the comparison.

[0065] In particular, application manager 30 is designed to carry out the method according to the invention.

[0066] The local application server 21 may be located at the application client 10 , in particular, within the user device 101 .

[0067] It can also be moved to an edge cloud server or to a larger computing center in the cloud. Figure 1 Communications between an application client and a manager and an application server are shown, where the application server may be implemented locally or in the cloud.

[0068] The edge infrastructure 102 may have at least one remote application server 22, which includes a central cloud server and one or more edge cloud servers.

[0069] like Figure 1 As shown, the input data sent from the application client 10 to the local application server 21 and at least one remote application server 22 are serially numbered as raw data with index i. The index is sent together with the real input data on the corresponding application server 21, 22 and is also added to the response of the corresponding application server 21, 22. This mechanism ensures that the application client 10 can compare the response times of different application servers 21, 22 for the same input. , .

[0070] The application client 10 can measure and compare the local application server 21 (ti+ ) and remote application servers 22 (ti+ )’s cycle time RTT1, RTT2.

[0071] Each application has a certain deadline, namely the tolerance time according to the invention. , which specifies when the processing of input data on the corresponding application server 21, 22 must be completed at the latest in order to make the application server 21, 22 suitable for executing computing tasks for the application APP.

[0072] exist Figure 2 In the local response time or (edge) cloud response time The index number i in the calculation task is used to calculate the cycle time RTT1, RTT2 and tolerance time These cycle times RTT1 , RTT2 include communication delays and computing times on the respective application servers 21 , 22 .

[0073] If these two response times , All below tolerance time , the application manager 30 can freely select the two runtime environments or the two application servers 21 , 22 .

[0074] In addition, at least one condition may be set based on which one of the application servers or the other of the application servers 21, 22 is preferred. For example, when the first cycle time RTT1 and the second cycle time RTT2 are lower than the tolerance time When the at least one condition is used, the at least one condition may specify that the at least one remote application server 22 (cloud server or edge cloud server) is used. In addition, it is conceivable that the at least one condition may include at least one of the following information, such as user preferences, experience data and / or application performance .

[0075] For example, according to Figure 1 At least one condition in the case of can provide that: when the second cycle time RTT2 (or remote reaction time) is not longer than the first cycle time RTT1 (or local reaction time), then the at least one remote application server 22 is preferred. , then local calculation on the local application server 21 is in principle the only meaningful option. If the two cycle times RTT1 and RTT2 are longer than the tolerance time, remote computing is possible only on the at least one remote application server 22. If it is longer, it will not be able to undertake the computing tasks for application APP in real time.

[0076] The idea according to the invention is to use a tolerance time And the tolerance time is compared with the cycle time RTT1, RTT2. On this basis, a decision is made on the use of the corresponding application server 21, 22.

[0077] Within the scope of the invention, the tolerance time can be Includes static thresholds. Used to calculate tolerance time The methodology for static thresholding is described below.

[0078] If a distributed system architecture 100 for measurement is available to the developer, wherein the distributed system architecture includes a local application server 21 and an edge infrastructure 102, the first method for calculating a static threshold value can then be implemented. In this method, the application APP is executed twice on the distributed system architecture 100 for a defined sequence (Folge) of input data after the application has been developed. In the first process (Lauf), the application calculation is performed completely on the user device 101 and the edge infrastructure 102 is not used. In the second process, the application calculation is performed in the edge infrastructure 102 and the computing resources of the user device 101 are not used. The same sequence of input data is used in both rounds (Durchgang). The cycle times RTT1, RTT2 of the input data are averaged for multiple requests for these two runs. This value is then defined as the tolerance time The static threshold of . The equation is shown as follows:

[0079]

[0080] N is here the number of requests which have been sent to the application servers 21 , 22 in the described sequence.

[0081] The method described above is a reliable approach for determining static thresholds, since the method is based on actual cycle times RTT1 , RTT2 recorded by the distributed system architecture 100 .

[0082] However, when a developer does not have access to the distributed system architecture 100, other approaches may be preferred.

[0083] The second method can be based on the dynamics of the underlying application APP. Without restrictions on applicability, one or more key parameters of the application APP are described as a function f(t) of the time of mapping the output data f(t). The faster the function f(t) changes, the shorter the tolerable cycle times RTT1, RTT2. The application developer can specify a maximum tolerable deviation as a threshold value for the function f(t). , the deviation determines the tolerance time tolerable value. The static threshold of can then be calculated as shown in the following equation:

[0084]

[0085] k is a constant and specifies the maximum permissible deviation of the application APP in comparison with a baseline provided by the developer. The application APP calculates a function f(t) whose dynamics can be determined by its own derivatives. To estimate. is the average value of the rate of change of the application function f(t). The baseline is the output sequence that the application APP should provide in an ideal situation for the provided input report sequence (Eingabemeldesequenz) (without network delays, computational delays, etc.). The second method is simpler for the developer because the developer does not need to have access to the edge infrastructure 102 for parameter values.

[0086] In addition, the present invention may provide that: the tolerance time Adaptive, in particular time-dependent, threshold values ​​may be included.

[0087] For some applications, the maximum allowable tolerance time Can be static. In many cases, the maximum permissible tolerance time is not static and varies as a function of time t. In these cases, the tolerance time An automatic or adaptive adaptation of can be advantageous. If the application APP is described as a function f(t) of time t, the dynamics of this function is therefore described by its own derivative If the function f(t) changes slowly (that is, the first-order derivative Almost zero), then the slow response of the corresponding application server 21, 22 is also sufficient to follow the function f(t) within a certain error limit. The application developer can define the tolerable deviation of the function f(t) in this case. , which must not be exceeded when the corresponding application server 21, 22 introduces a cycle time delay. The maximum permissible change in the function f(t) is and the corresponding maximum permissible tolerance time as reaction time The ratio between them is given by the following equation:

[0088]

[0089] For this see Figure 3 .

[0090] also, Figure 4 Shows: The length between the request and the response The derivative within the interval What is the average value of . In practice, the average value f'mean of the rate of change of the application function f(t) can be fitted by measurements in a longer interval and adapted using a sliding average scheme. The adaptive threshold of the tolerance time Δtmax(t) can be calculated as:

[0091] .

[0092] Within the scope of the present invention, the minimum change rate determines the maximum permissible reaction time (see Figure 3 ).Should The value of is limited to the following maximum value, which is based on the average The minimum permissible value for Figure 4 ). A practical example for an application APP or a function f(t) in the sense of the invention can be the tracking of vehicle objects in a driver assistance system, wherein the function is not only a scalar function but also a vector function. For the tracking, a maximum value for the tolerable distance between the tracked object and the vehicle is specified. This deviation is then converted into a maximum tolerable cycle time in order to keep the error within permissible limits.

[0093] The overall quality metric for application power is application performance , for example how well the object in the previous example can be tracked. The application performance can be established by taking the actual cycle times RTT1, RTT2 (in Figure 5 In the example, it is represented as ) are mapped to quality values ​​between 0% and 100%, as in Figure 5 The power quality for a window of N+1 measurements from time t(nN) until the current time tn can be calculated as the average value over all individual measurements:

[0094]

[0095] In summary, the present invention provides multiple advantages:

[0096] - Set the tolerance time for the cycle times RTT1 and RTT2 The use of this tolerance time as a single parameter for deciding which application server 21 , 22 to use significantly simplifies the life of the developer, who only has to adjust a single parameter.

[0097] - According to the static scheme, the cycle times RTT1, RTT2 and tolerance time The static threshold is compared to make a decision between the application servers 21 and 22, while in the adaptive scheme the cycle times RTT1 and RTT2 are compared to the tolerance time The dynamic threshold is compared with the dynamic threshold to make a decision between application servers 21 and 22.

[0098] - If an appropriate (richtig) value for the maximum tolerable deviation is chosen as the threshold , then the adaptive approach is more effective than the static approach. These deviations are reduced, while the load of the edge infrastructure 102 is increased in the case of the adaptation.

[0099] - if If the value of is less than the minimum threshold, the static solution is better than the adaptive solution in terms of deviation and full utilization of edge infrastructure 102. Therefore, the choice of the adaptive solution should be application-specific and depends on the application deviation permitted by the developer. .

[0100] The above description of the drawings describes the invention only within the scope of examples. It is obvious that the individual features of these embodiments can be freely combined with one another as long as it is technically meaningful, without departing from the scope of the invention.

[0101] Reference numerals list

[0102] 100 Distributed System Architecture

[0103] 101 User Equipment

[0104] 102 Edge Infrastructure

[0105] 10 Application Client

[0106] 21 Local application server

[0107] 22 Remote Application Server

[0108] 30 Application Manager

[0109] APP Application

[0110] RTT1 First cycle time

[0111] RTT2 Second cycle time

[0112] i Index, counter

[0113] t time

[0114] ti Request time

[0115] Response time

[0116] Response time

[0117] Tolerance time

[0118] Time Difference

[0119] f(t) is the function used to output the data

[0120] The speed at which the output data changes

[0121] Maximum speed

[0122] Average speed

[0123] Application Performance

[0124] Cycle time.

Claims

1. A method for executing an application APP on a distributed system, the distributed system having: An application client (10) for receiving input data and providing output data f(t) based on processed input data; at least one remote application server (22) and a local application server (21) at the application client (10) for receiving input data from the application client (10), processing the input data for the application client (10), and sending the processed input data back to the application client (10); as well as an application manager (30) for distributing the application APP to the local application server (21) or the at least one remote application server (22), It is characterized in that The method comprises the following steps: Determining a first cycle time RTT1 for receiving and processing input data on the local application server (21); determining a second cycle time RTT2 for receiving and processing input data on the at least one remote application server (22); determining a tolerance time Δtmax for receiving and processing input data for the application APP, wherein the tolerance time Δtmax comprises a static threshold and an adaptive threshold, wherein the static threshold represents a tolerance time that can be determined once, and the adaptive threshold represents a tolerance time to be automatically updated according to current events, wherein the events include changes in the output data and a speed of change of the output data; comparing the first cycle time RTT1 and the second cycle time RTT2 with the tolerance time Δtmax; The application APP is distributed to the local application server (21) or the at least one remote application server (22) according to the comparison, wherein one or more key parameters of the application APP are described as: a function of the time t of the mapped output data f(t), wherein the dynamics of the function is determined by its own derivative To represent, where: If the application APP is a dynamic application and / or if the output data f(t) changes faster than a certain threshold value Δfmax, an adaptive threshold value within the scope of the tolerance time Δtmax is taken into account when assigning the application APP to the local application server (21) or to the at least one remote application server (22), and wherein a static threshold within the scope of the tolerance time Δtmax is taken into account when assigning the application APP to the local application server (21) or to the at least one remote application server (22) if the application APP is a static application or a substantially slowly changing application and / or if the output data f(t) changes more slowly than a certain threshold value Δfmax; The cycle time is determined as the duration from sending a request including input data to an available application server until receiving a calculated result from the available application server.

2. The method according to claim 1, characterized in that If the first cycle time RTT1 is lower than the tolerance time Δtmax, the application APP is allocated to the local application server (21); or if the second cycle time RTT2 is lower than the tolerance time Δtmax, the application APP is allocated to the at least one remote application server (22).

3. The method according to claim 1 or 2, characterized in that: If both the first cycle time RTT1 and the second cycle time RTT2 are lower than the tolerance time Δtmax, the application APP is allocated to the local application server (21) or the at least one remote application server (22) according to at least one condition.

4. The method according to claim 3, characterized in that The at least one condition includes at least one of the following information: user preference, experience data and / or application performance.

5. The method according to claim 1, characterized in that determining the static threshold as an average of the first cycle time RTT1 and the second cycle time RTT2 for a plurality of requests for processing input data; And / or determining the static threshold by measuring the distributed system.

6. The method according to claim 1 or 5, characterized in that: The dynamics of the output data f(t) are taken into account when determining the static threshold; and / or the static threshold is determined once for the application APP.

7. The method according to claim 1, characterized in that The adaptive threshold is a time-related threshold.

8. The method according to claim 7, characterized in that The dynamics of the output data f(t) are taken into account when determining the threshold value of the adaptability; and / or the threshold value of the adaptability is dynamically adapted when executing the application APP.

9. The method according to claim 1, characterized in that: The application client (10) is a mobile application client (10).

10. A distributed system, comprising: An application client (10) for receiving input data and providing output data f(t) movement based on processed said input data; at least one remote application server (22) and a local application server (21) at the application client (10) for receiving input data from the application client (10), processing the input data for the application client (10), and sending the processed input data back to the application client (10); as well as an application manager (30) for distributing an application APP to the local application server (21) or the at least one remote application server (22), It is characterized in that The application manager (30) is implemented to: Determining a first cycle time RTT1 for receiving and processing input data on the local application server (21); determining a second cycle time RTT2 for receiving and processing input data on the at least one remote application server (22); determining a tolerance time Δtmax for receiving and processing input data for the application APP, wherein the tolerance time Δtmax comprises a static threshold and an adaptive threshold, wherein the static threshold represents a tolerance time that can be determined once, and the adaptive threshold represents a tolerance time to be automatically updated according to current events, wherein the events include changes in the output data and a speed of change of the output data; comparing the first cycle time RTT1 and the second cycle time RTT2 with the tolerance time Δtmax; The application APP is allocated to the local application server (21) or the at least one remote application server (22) according to the comparison, wherein one or more key parameters of the application APP are described as: a function of the time of the mapped output data f(t), wherein the dynamics of the function is determined by its derivative to represent, wherein if the application APP is a dynamic application and / or if the output data f(t) changes faster than a certain threshold value Δfmax, an adaptive threshold value within the scope of the tolerance time Δtmax is taken into account when assigning the application APP to the local application server (21) or to the at least one remote application server (22), and wherein a static threshold within the scope of the tolerance time Δtmax is taken into account when assigning the application APP to the local application server (21) or to the at least one remote application server (22) if the application APP is a static application or a substantially slowly changing application and / or if the output data f(t) changes more slowly than a certain threshold value Δfmax; The cycle time is determined as the duration from sending a request including input data to an available application server until receiving a calculated result from the available application server.

11. The distributed system according to claim 10, characterized in that: The application manager (30) is designed to carry out a method according to one of the preceding claims 1 to 9.

12. The distributed system according to claim 10 or 11, characterized in that: The application client (10) is arranged in a user device (101), a mobile device, a smart phone, a laptop and / or a vehicle.

13. The distributed system according to claim 10 or 11, characterized in that: The application client (10) is a mobile application client.

Citation Information

Patent Citations

  • Method and system for processing data in an internet of things (IOT) environment

    EP3425873A1

  • Products for mobile application environment

    CN101039331A